2008-04-01 [17:00:00.0000] the copy source past into tool case will not work even if we don't simplify MathML at all [17:00:01.0000] Hixie: I think you underestimate the disconnect between MathML and what ordinary authors are capable of [17:01:00.0000] annevk: mozilla already supports exporting a mathml tree extracted from the dom [17:01:01.0000] annevk: i agree that in general the tools will need html parsers to do that though, at which point the only disconnect is the serialiser [17:01:02.0000] jgraham: if they can learn latex, they can learn mathml [17:02:00.0000] jgraham: it's just more verbose, not more complicated [17:02:01.0000] Hixie: If they know LaTeX and MathML is harder why would they bother? [17:02:02.0000] i do not think that the number of latex authors outweighs the number of mathml authors over the next 30 years. [17:02:03.0000] Hixie: what way did you want me to help with indexing? [17:03:00.0000] gsnedders: nothing yet :-) [17:03:01.0000] Hixie: s/did/will/ [17:03:02.0000] :) [17:03:03.0000] I could be wrong but I find that hard to believe [17:03:04.0000] gsnedders: but eventually, if your tool can handle it, it'd be cool to have it autogenerate tables of elements, attributes, and that kind of thing [17:03:05.0000] Hixie: Yeah, that would be :) [17:04:00.0000] I can't imagine any of the academics I know learning MathML if they can use LaTeX instead [17:04:01.0000] that depends on whether or not we do the right thing with MathML :p [17:04:02.0000] Even if the result ends up as MathML they will use LateX->MathML [17:04:03.0000] jgraham: that's fine [17:04:04.0000] jgraham: I couldn't move to anything from LaTeX, maths languages are too complex and not really worth learning another [17:05:00.0000] jgraham: but i believe if we put mathml into html, that going forwards we will see many people grow up on mathml [17:05:01.0000] Hixie: That's a tools will ave us argument :) [17:05:02.0000] s/ave/save/ [17:06:00.0000] jgraham: we're not putting actual latex into text/html, so if these authors aren't willing to do anything but latex, they will either use tools or won't use html (either of which are fine) [17:07:00.0000] Hixie: But it prevents people from starting to use it seriously [17:07:01.0000] (if they won't use html) [17:07:02.0000] So everyone will always have to learn LaTeX to be published [17:08:00.0000] jgraham: i've lost track of the antecedent of "it" and "they" [17:08:01.0000] they are wrong, it is right. [17:09:00.0000] jgraham: if your primary use case is making people go from a latex workflow to a text/html workflow, and you have the constraint that people won't learn anything but latex, there is only one solution, and that's to allow latex in text/html. agreed? [17:10:00.0000] (impressive. the only conflict between mathml and html in terms of tag names is . not bad for hundreds of tag names.) [17:11:00.0000] Hixie: My primary use case is getting mathematics on the web to be usable. I believe this requires that people who currently use LaTeX can easilly transition either their skills or their content to the web, which I think implies either judicious use of tools or a LaTeX-like syntax [17:11:01.0000] (but not necessarily exactly LaTeX) [17:12:00.0000] i don't understand why you believe that latex authors who are not willing to learn non-latex syntax form the primary relevant group of authors [17:13:00.0000] it seems like there is an unstated assumption in your argument [17:14:00.0000] any plans to specify .pathname, .host, .hostname, .port, etc. on elements? [17:14:01.0000] Because I presume that the primary group of authors are similar to the people who currently publish mathematics, who by-and-large use LaTeX [17:14:02.0000] h3h, yes, they'll implement the Location interface in due course [17:14:03.0000] h3h: yeah, i just haven't hooked it up yet [17:14:04.0000] neat [17:14:05.0000] they won't implement Location [17:14:06.0000] My experience with these people is that they are not very interested in learning new tools for old tasks [17:14:07.0000] oh [17:14:08.0000] there are some un-fun inconsistencies between browsers [17:14:09.0000] the attributes have been factored out [17:15:00.0000] same idea though [17:15:01.0000] jgraham: i agree. but i don't understand why you think that population is the main one. [17:15:02.0000] oh right [17:15:03.0000] jgraham: in particular, i would have assumed that the many people who are yet to learn any syntax significantly outnumber the latex authors of today. [17:17:00.0000] Hixie: I think those people will still have to learn LaTeX (to use in paper-based or PDF-based publications) and will not want to learn a second sntax that is significantly more complex [17:17:01.0000] s/sntax/syntax/ [17:17:02.0000] jgraham: so why would they bother with html at all? [17:17:03.0000] jgraham: put it this way. why do we need latex syntax for maths but not paragraphs? [17:18:00.0000] and i really don't think that the majority of people writing maths on the web will be those publishing papers [17:18:01.0000] i'd expect those publishing papers to be a minority [17:18:02.0000] Hixie: Because HTML syntax or paragraphs isn't too bad. MathML syntax is orders of magnitude worse than LaTeX (which is already pretty annoying) [17:19:00.0000] Hixie: It is true that sub-degree level mathematics is a rather different case [17:20:00.0000] but expecting simpler maths to be published using a more complex syntax is not an obviously great idea [17:21:00.0000] /me -> bed [17:21:01.0000] goodnight [17:21:02.0000] jgraham: the long and short of it is that to address your use case we basically have to come up with a way to have the syntax of mathml in html be latex-compatible, which means significantly complex parsing rules, incomplete support for mathml, highly unintuitive styling and scripting behaviour, either freaky serialisation rules or no round-tripping behaviour, an inconsistent language, and trading in verbosity for complexity [17:21:03.0000] nn [17:21:04.0000] which i'm not sure really is a good trade [17:24:00.0000] /me wonders what that proof thing is called where you write a logical statement at the bottom then put a line above it and write the statements needed to prove the first one, and recurse upwards until you end up with axioms at the top [17:24:01.0000] /me then wonders if MathML can do that [17:25:00.0000] ah, yes, "URI decomposition attributes " [17:26:00.0000] Philip`: isn't that called a "proof"? [17:26:01.0000] (except that one might imagine starting from the axioms when writing your proof instead) [17:26:02.0000] it's a specific type of proof [17:27:00.0000] It's a specific presentation for proofs, in particular [17:27:01.0000] well, whether you logically started from the bottom and wrote upwards or vice versa is not relevant when presenting the result [17:28:00.0000] so I guess it is only the lines between in particular that may be special [17:28:01.0000] hsivonen: i think there's a bug in your mathml schema [17:30:00.0000] hm, the dtd allows it too [17:30:01.0000] that makes no sense [17:30:02.0000] Oh, it's kind of like http://en.wikipedia.org/wiki/Rule_of_inference [17:30:03.0000] is surely invalid [17:30:04.0000] with 'premises (horizontal line) conclusion', and '(horizontal line) axiom' [17:31:00.0000] and it sounds like system that doesn't have any particularly compelling name [17:31:01.0000] s/system that/that system/ [17:32:00.0000] wtf [17:32:01.0000] the mathml dtd explicitly doesn't check certain things [17:32:02.0000] that makes no sense to me [17:33:00.0000] Like what? [17:33:01.0000] [17:34:00.0000] heh. [17:34:01.0000] /me ought to go sleep [17:34:02.0000] /me is meant to be hill-walking tomorrow [17:35:00.0000] (despite having CFS) [17:35:01.0000] wtf is: [17:35:02.0000] ((%onePresExpression;|%none.qname;),(%onePresExpression;|%none.qname;))*, [17:35:04.0000] (%mprescripts.qname;, [17:35:05.0000] ((%onePresExpression;|%none.qname;),(%onePresExpression;|%none.qname;))*)? [17:35:06.0000] )"> [17:35:07.0000] christ [17:35:08.0000] some people [17:35:09.0000] SGML-- [17:35:10.0000] XML-- [17:35:11.0000] would it kill them to write this without eighteen levels of redirection [17:36:00.0000] Yes, it wouldn. [17:36:01.0000] *would [17:36:02.0000] what's the comma in sgml anyway [17:36:03.0000] isn't in just "and"? [17:36:04.0000] /me wonders if you get much exponential growth when expanding out all the entities [17:36:05.0000] oh, i get it [17:37:00.0000] duh [17:37:01.0000] Hixie: followed [17:37:02.0000] i forgot that the base had to be there [17:37:03.0000] Looks like they could've benefitted from + instead of just * :) [17:38:00.0000] no, * is right [17:38:01.0000] Yeah, but x+ would be a lot easier on the eyes than xx*. Probably isn't part of the syntax, though. [17:39:00.0000] it isn't xx* [17:39:01.0000] It's not? [17:39:02.0000] it's "a (x x)* [b (x x)*]" [17:39:03.0000] Ah, I must've misread the parentheses [17:40:00.0000] I suppose that's another vote for the unreadability of it (or my level of sleepiness) [17:41:00.0000] ooo. April 1st now! [17:41:01.0000] ok i think i have summarised the presentational mathml syntax [17:41:02.0000] it's not tooooo bad [17:41:03.0000] Disclaimer: Anything I say today i probably bullshit. [17:41:04.0000] gsnedders: bullshit [17:41:05.0000] Dashiva: Don't fuck around with me, I'm a huge strong guy. [17:42:00.0000] 42 y/o policemen from Alabama. [17:42:01.0000] I'm looking forward to the whatwg blog post [17:42:02.0000] Hope this years' will be as good as the previous one [17:42:03.0000] *year's [17:42:04.0000] /me gets dragged in to looking at suicide girls from a bug report. [17:42:05.0000] Ergh. [17:42:06.0000] (says the emo guy) [17:44:00.0000] http://junkyard.damowmow.com/308 [17:46:00.0000] /me has to run off on call [17:48:00.0000] quick test case for the properties: http://xkr.us/bugs/link-properties-test.html [17:49:00.0000] as it's written Firefox (2.0.x) is the only browser to pass [17:50:00.0000] What other browsers did you test? [17:50:01.0000] heh. IE doesn't even print results. [17:50:02.0000] Opera 9.2.x, IE 7, Safari 3.1 [17:51:00.0000] though I just assume those expected values are correct [17:51:01.0000] in absence of a spec [17:52:00.0000] There's also the issue of the read/write-ability of the properties [17:52:01.0000] you can extend the test :) [17:52:02.0000] I did a test on these properties a while back, and the results were all over the place [17:52:03.0000] So I figured nobody uses them [17:53:00.0000] I did last week [17:53:01.0000] and had to come up with a normalization routine [17:53:02.0000] var path = '/' + el.pathname.replace(/^\/?([^\?]+).*/, "$1"); [17:53:03.0000] I pondered using a strange URL for the testcase and copying that URL onto a link, so you could compare the location properties and link properties both in one [17:54:00.0000] yeah, it's worth testing them on the location object itself too [17:54:01.0000] h3h: http://dashiva.net/test/anchorprop.html [17:54:02.0000] but separate [17:54:03.0000] naet [17:54:04.0000] er neat [17:55:00.0000] Christmas in Opera :) [17:55:01.0000] Ayup [17:55:02.0000] It's odd that both opera and safari have switched host and hostname [17:56:00.0000] yeah, unsettling [17:56:01.0000] IE is almost all green... [17:56:02.0000] IE is all green, except that I decided the "correct" path had a / first [17:56:03.0000] So it gets two red for that [17:56:04.0000] yeah [17:57:00.0000] Safari treats the properties as readonly, opera allows writing but doesn't change href, IE and FF are fully readwrite [17:58:00.0000] you have all sorts of fun tests in here [17:58:01.0000] And I can't tell you what half of them are supposed to test [18:01:00.0000] hm, here's one problem with implying , etc, open tags [18:01:01.0000] 1 + 2 vs 1 + 2 [18:01:02.0000] in the second one, we want the + to close the [18:01:03.0000] but how do we know if the was implied or not? [18:02:00.0000] that would be very different from past implication behaviour [18:02:01.0000] maybe we should only allow end tags to be omitted [18:02:02.0000] Is 1+2 meaningful? [18:03:00.0000] probably not, but 1.2 is [18:04:00.0000] You're respecifying MathML now? [18:04:01.0000] Yeah, that's the problem with determining what's a decimal sign and what's an operator [18:05:00.0000] mpt: we're looking into embedding mathml into text/html [18:08:00.0000] hey, we can omit end tags pretty well [18:11:00.0000] Without requiring reparsing? [18:11:01.0000] http://wiki.whatwg.org/wiki/Equations_in_HTML [18:17:00.0000] http://www.neowin.net/news/main/08/03/31/microsoft-to-snub-standards-compliant-mode-in-ie8 :) [18:18:00.0000] /me turns off his news filters for the next 36 hours [18:18:01.0000] heh [18:19:00.0000] Hixie, it seems slightly dodgy that you're putting multiple elements on a line in the new syntax but not the old syntax [18:20:00.0000] tomg: wait, does that mean switching the default back, or removing IE8 standards mode entirely? [18:20:01.0000] uh [18:20:02.0000] *that* would be exciting [18:20:03.0000] oh [18:20:04.0000] /me realizes this post is probably meant for tomorrow [18:20:05.0000] it's rather lame that there's 03/31 in that article [18:21:00.0000] roc: i'm writing them out the way i would write them out if i were writing using those syntaxeus [18:21:01.0000] it is tomorrow here, though [18:21:02.0000] i think. [18:22:00.0000] I hate hate HATE this stupid day [18:22:01.0000] roc: (reload) [18:22:02.0000] it'll be over soon. [18:23:00.0000] or less soon if it hasn't begun for you yet. [18:23:01.0000] it has [18:24:00.0000] but it's not over until California goes away [18:25:00.0000] It won't be over for several days more, while people keep pointing you at fake news articles accidentally [18:26:00.0000] it should be illegal [18:26:01.0000] what should? [18:26:02.0000] lying? [18:26:03.0000] misleading people? [18:26:04.0000] I think there are laws against making it illegal [18:26:05.0000] pissing me off [18:26:06.0000] heh [18:27:00.0000] At least it's a potentially-useful reminder that not everything you read on the internet is true, regardless of what day it is [18:28:00.0000] oh btw, if anyone is going to do a whatwg one, what i said last year still holds [18:28:01.0000] you have to have a real blog post to post on the 2nd [18:28:02.0000] We could solve it like this: http://www.theonion.com/content/node/29601 [18:45:00.0000] http://damowmow.com/temp/mml is a list of all mathml2 elements, i think [19:57:00.0000] well [19:57:01.0000] svg is sure going to be more of a pain [19:57:02.0000] it has camelCase tag names [19:57:03.0000] and 6 tag name conflicts [19:58:00.0000] i guess we can make automatically end up in the right namespace [19:58:01.0000] based on the parent element [19:58:02.0000] is more of an issue though [19:58:03.0000] oh wait, that's to define a font [19:59:00.0000] maybe we can just throw all of that out in the text/html variant [19:59:01.0000] " while 1' and the browser shouldn't ever run out of memory [15:31:00.0000] haha, i just worked out why the src="KDE%20Light%20desktop.png" screenshot is the one i used as the example of a screenshot in the spec [15:31:01.0000] it's the example screenshot used on the wikipedia page for "Screenshot" which is the first google hit for the word "Screenshot" [15:39:00.0000] http://blogs.msdn.com/ie/archive/2008/04/10/html-and-dom-standards-compliance-in-ie8-beta-1.aspx [15:40:00.0000] Hixie, http://www.whatwg.org/issues/data.html seems broken (besides the bug on using clientX/Y rather than pageX/Y [15:41:00.0000] there's blank line in the raw data [15:41:01.0000] yeah [15:41:02.0000] /me notices that the blog post uses the same "content attribute" and "DOM attribute" terminology as HTML5 [15:42:00.0000] oops [15:44:00.0000] wow. all-time low since the start of the graph [15:46:00.0000] Philip`: You couldn't keep the computer running for ever [15:55:00.0000] jgraham: I'm not sure why that's relevant - you can't count integers forever but that doesn't mean there isn't an infinitely long list of them [16:00:00.0000] Philip`: However you can't _have_ an infinitely long list of integers, you can only conceive of one. [16:01:00.0000] jgraham: I can't _have_ a single integer either - it's only ever a concept :-) [16:01:01.0000] Right so not very relevant to webpages which you can have :) [16:02:00.0000] "1..oo" is an infinitely long list of integers [16:04:00.0000] Web pages are hugely abstracted from physical reality (e.g. silicon and electrons) so they're about the same situation as integers [16:04:01.0000] you can have a representation of an integer [16:05:00.0000] I can have a representation of an infinite list of integers too, so there's still no difference [16:06:00.0000] ok i must not bid you all farewell [16:06:01.0000] for i am about to be roasted on a spit by the accessibility crowd [16:07:00.0000] er, must now [16:07:01.0000] /me looks at web-apps-tracker [16:09:00.0000] (i closed the alt text issue, issue-31) [16:09:01.0000] /me is surprised to discover he argued for optional alt in 2005 [16:10:00.0000] surprised in a good way or a bad way? :-) [16:11:00.0000] In a good way :) [16:11:01.0000] :-) [16:12:00.0000] I had just totally forgotten that thread whereas usually when I read old emails I wrote I at-least remember writing them [16:13:00.0000] "I'm not sure what else we can do short of just making it non-conforming to create bulk-upload image hosting sites or write documents that contain inkblot tests." - you could say something like "The alt attribute is required. If there is no suitable alternative text, then the alt attribute should be set to some other text that gives an indication of the image's purpose, such as its name (e.g. 'Rorschach test #19')." [16:13:01.0000] alt="Photo" ? [16:13:02.0000] that's less useful than no alt at all [16:13:03.0000] at least with no alt the UA can know to do something clever if it can [16:14:00.0000] like, in future, analyse the image or provide a physical representation of it [16:14:01.0000] in some sort of braille fashion [16:14:02.0000] but yeah, i guess you could [16:15:00.0000] It's less useful in a small number of cases, and it has the cost of preventing validators from saying missing alt is an error (hence fewer authors will use alt, because a reasonable number of authors do use validators and write error-free pages) [16:15:01.0000] If the UA is capable of doing something clever, it should always do that clever thing, not only in the cases where alt is missing [16:15:02.0000] having a useless alt present doesn't prevent UAs from doing something clever [16:15:03.0000] they could theoretically detect the uselessness [16:15:04.0000] true [16:16:00.0000] Detecting the usefulness of alt text doesn't seem any harder than analysing the image to create a textual representation of it [16:16:01.0000] personally i think that encouraging people to give useless alt text for a small set of images will make them think it's ok to give useless alt text for others [16:16:02.0000] but i agree that one could (and indeed many do) argue otherwise [16:17:00.0000] Then don't encourage them to ever give useless alt text, and instead let them decide themselves to give useless alt text because they can't do anything better [16:18:00.0000] I think the biggest problem is tools, not people [16:19:00.0000] in the case of end-user created content, it is unreasonable to force the tool to have mandatory UI for entering alt [16:19:01.0000] in practice the tools then have no options but either missing or useless alt [16:24:00.0000] Philip`: one concern with the alt you suggest is that it would probably end up being redundant with other text in the same part of hte document, which is very annoying to AT users [16:24:01.0000] bbiab [16:26:00.0000] Have AT users said that it's "very annoying"? I'd guess they have enough problems that a little bit of repetition would hardly matter, compared to e.g. which would be very annoying if it made the link invisible; but I don't know how these things affect people in practice [16:33:00.0000] (...or compared to e.g. which is more relevant since that would happen more if people aren't told to add alt) 2008-04-11 [17:17:00.0000] Philip`: repetition was one of the most annoying things i ran into when trying to use ATs [17:28:00.0000] Hixie, context.lineTo in the Issues Graph page throws NOT_SUPPORTED_ERR in Opera and in Firefox it seems to make the page really slow... [17:29:00.0000] ? [17:29:01.0000] why? [17:29:02.0000] probably infinite value or something [17:29:03.0000] it's "context.lineTo(lines[i].date, lines[i].count);" [17:31:00.0000] also, if you're looking at it, replace clientX/Y with pageX/Y [17:32:00.0000] why would that be infinite [17:33:00.0000] not sure, but the page is not usable in a Firefox nightly nor in an Opera nightly and previously it was in both... [17:33:01.0000] you tried reloading since i removed the blank line in the csv file? [17:34:00.0000] yes [17:35:00.0000] (would be so nice if i could just make a video of my screen and share it with the world instantly to demonstrate how it runs) [17:35:01.0000] wfm in firefox [17:35:02.0000] It works for me in an Opera 9.5 [17:36:00.0000] works better than safari instead, because safari has some weird painting/color issue with putImageData [17:36:01.0000] annevk: Put a heavy weight on your printscreen key [17:36:02.0000] maybe I should get a newer Opera build... [17:37:00.0000] /me suggests that putImageData isn't necessarily great for performance, particularly in Firefox [17:37:01.0000] i wasn't targetting real browsers [17:37:02.0000] i was targetting the spec [17:38:00.0000] That's a silly way to write web pages :-p [17:38:01.0000] it's the only way i know how :-P [17:38:02.0000] why? that way you don't have to test and only have to write it instead of write refresh write etc. [17:38:03.0000] Clearly you are out of touch with real web developers [17:39:00.0000] I imagine it'd be better to have two canvases, with the static graph in the background one and the UI in the foreground one [17:40:00.0000] Philip`: right now, whatever is in the page now is what is best, since it works and requires 0 work to get working :-) [17:40:01.0000] ok, works fine in Opera nightlies [17:41:00.0000] Also it would be nice to have text labels on the graph - I'd suggest using mozDrawText, since someone hasn't added a standard way of doing text :-) [17:42:00.0000] yeah there's a comment to that effect in the source [17:42:01.0000] "XXX" [17:42:02.0000] where do people find the time to have these w3c telecons, sheesh [17:43:00.0000] it's midnight :) [17:43:01.0000] Sadly no browser has yet implemented a feature which can execute the intent of comments :-( [17:44:00.0000] it's not that hard to attend a lot of telecons if you have no other significant work to do [17:45:00.0000] annevk: i mean doing all the minutes, making sure the regrets are done, waiting for people to make the call, etc [17:46:00.0000] hey does anyone know which part of DOM Bindings defines the argument conversions? [17:46:01.0000] e.g. if I pass a Number to a method expecting unsigned long [17:46:02.0000] what happens? [17:47:00.0000] hmm, so Number does not accept strings indeed, "50%" throws in Firefox and is silently ignored in Opera [17:47:01.0000] /me has found more time in which to kill about six hundred imaginary people from a military helicopter and to raise nine million dollars than it would take for a telecon, so time is not really a problem (but motivation is :-) ) [17:47:02.0000] playing games relaxes [17:47:03.0000] telecons don't :-P [17:47:04.0000] relaxing is a productive use of time [17:47:05.0000] as it increases the productivity of future time [17:48:00.0000] That would only work if I actually did something productive after relaxing, instead of either relaxing more or going to bed [17:48:01.0000] future time can come after sleep [17:49:00.0000] But then I just play games the next day too :-p [17:50:00.0000] and find time to tell us about it :) [17:50:01.0000] /me wholeheartedly supports having less telcons and more relaxation... was on telcons for more than 3 hours yesterday [17:50:02.0000] /me hasn't played games in a while, apart from a failed attempt at a game of Risk today (the one that doesn't involve a computer screen) [17:50:03.0000] /me is pedantic: s/less/fewer/ [17:51:00.0000] Philip`: :-P [17:52:00.0000] in my case, I find the time for calls by mostly not having any choice :) [17:52:01.0000] /me remembers the slogan from the 60s, What if they had a war and nobody came? [17:53:00.0000] That would never happen - the journalists and TV reporters would always turn up [17:54:00.0000] heh [17:54:01.0000] well, they've gotta have /something/ to report on [17:54:02.0000] /me considers forging a doctor's not about ear-problems-can't-use-telephone and bringing it to the W3C school nurse [17:55:00.0000] nurse: MikeSmith, this note is written in crayon [17:55:01.0000] MikeSmith: that's odd... must have been all that my doctor had around at the time [17:56:00.0000] /me wonders why Konqueror can't open plain-text files itself [17:56:01.0000] How do people with hearing disabilities attend W3C telcons? [17:56:02.0000] probably the same way i do [17:56:03.0000] That sounds quite non-accessible if they have no choice [17:57:00.0000] it's not that accessible even if you do [17:58:00.0000] Hello [17:59:00.0000] Hello [18:00:00.0000] Does Opera 9's implementation of "Section 6.2 (Server-sent DOM events)" differ from the current version of the specification? [18:01:00.0000] Opera 9.2, or 9.5? [18:01:01.0000] /me doesn't know the answer anyway [18:03:00.0000] Philip`, 9.5, I suppose [18:03:01.0000] yes [18:04:00.0000] it does [18:04:01.0000] Substantially? [18:04:02.0000] yes, we support a different mime type and format [18:04:03.0000] i don't think we'll change that before release [18:05:00.0000] heycam: what happens if i call a method with too few arguments? 4.2.4. Operations sets up "arity" to handle this, but step 7 says to call the method with the given arguments without looking at arity. [18:07:00.0000] heycam: also, is there some way to declare a method without making it visible to JS? (in particular, i may want a [Stringifies] method that isn't itself visible, since the method becomes toString. Same with the [NameGetter, [NameSetter], and [Delete] operations i mentioned the other day -- i may want them to not be themselves visible.) [18:07:01.0000] let me know if i should send mail about any of these [18:19:00.0000] wow, the w3c continues to have extreme optimism in release planning [18:19:01.0000] http://www.w3.org/2007/12/WebApps-Charter-2007 [18:20:00.0000] I am a pretty flower [18:26:00.0000] 16 specs to be delivered in under two years, nice [18:27:00.0000] That's the power of parallelism [18:32:00.0000] takkaria, one of those specs could have your name on it [18:33:00.0000] Is the editor allowed to rename the spec after themselves? [18:33:01.0000] if it's a good editor, hell yeah [18:33:02.0000] I'm all for that [18:33:03.0000] Scientists get things named after them all the time, and spec editors don't deserve any less [18:33:04.0000] "Andrew Sidwell's Geolocation API", nice [18:34:00.0000] you can add adjectives if you want also [18:34:01.0000] "Andrew Sidwell's Bitchin' Geolocation API" [18:34:02.0000] I'd have Fantabuloso I think [18:35:00.0000] I would love to help these things but I have my own open-source game to do read forums+newsgroups for, and over summer I'll be writing an html5 parser in C [18:36:00.0000] takkaria, yeah, if you do write that html5 parser in C that would be a great thing [18:36:01.0000] /me needs to get back to implementing parsing, so he can have the first C HTML5 parser before everyone else and their pet tigers come along with ones [18:36:02.0000] well, co-writing, really, as not to mislabel myself as the only person who's working on it [18:36:03.0000] competition good [18:37:00.0000] co-writing not always good [18:37:01.0000] Cow-righting is always good, though [18:37:02.0000] is that the opposite of cow-tipping? [18:38:00.0000] Yes - you find a cow that is sleeping lying down, and then push it upright before it has woken up and noticed [18:39:00.0000] They get very confused when you do that [18:39:01.0000] I could imagine [18:43:00.0000] btw, if anybody has comments on that WebApps draft charter that you feel compelled to have on record, the place to post them is public-new-work⊙wo [18:43:01.0000] http://lists.w3.org/Archives/Public/public-new-work/2008Apr/0003.html [18:44:00.0000] not that we want to encourage every jomoke off the street to stroll in and comment on charters [18:45:00.0000] but I think people here are not just jomokes off the street [18:45:01.0000] jomokes sitting in from on computers at home or at work, yeah [18:45:02.0000] but that's a different type of jomoke [19:09:00.0000] /me sees change in internal renaming of some Webkit stuff to more closely align with HTML5 wording [19:09:01.0000] http://trac.webkit.org/projects/webkit/changeset/31793 [19:10:00.0000] [[ [19:10:01.0000] The name "OriginStorage" never felt right to a few of us. The HTML5 spec refers to our [19:10:02.0000] concept of "OriginStorage" as a "storage area", which makes more sense here. [19:10:03.0000] This patch is basically: [19:10:04.0000] s/OriginStorage/StorageArea/ [19:10:05.0000] ]] [19:12:00.0000] annevk, Is there a page that details the exact specification for Opera's version of SSE, or a page that describes the differences between opera and the spec? [01:35:00.0000] [ot] does anyone know if it's possible to change the colour palette that os x's terminal uses? [01:35:01.0000] the dark blue on black (from coloured ls output) is horrible to read [01:50:00.0000] Hixie: <img src="fluffy.jpg" alt="Fluffy, my cat, tends to keep itself busy."> -- can one understand from the image that the cat's name is Fluffy? [01:53:00.0000] zcorpan_: wouldn't that depend on what fluffy.jpg actually contains? [01:54:00.0000] virtuelv: yes [01:54:01.0000] But I digress -- as an example, I would probably drop the name myself [01:56:00.0000] Is it possible to both mourn and celebrate the death of the rev attribute? [01:57:00.0000] why mourn? [01:57:01.0000] and why celebrate? :P [01:57:02.0000] celebrate because it was never used [01:57:03.0000] mourn because there are situations where confirming relationships between two links is useful [01:58:00.0000] s/links/resources/ [02:00:00.0000] and I'm celebrating since 'rel' is actually getting useful too [03:21:00.0000] heyadayo, older version of the HTML5 draft, might even be the one on w3.org/TR/html5/ [03:47:00.0000] Hixie, can you make that excessively long entity table in the spec be presented in multiple columns? [03:50:00.0000] that's in the style sheet [03:51:00.0000] though it might only work in WebKit (or maybe not, haven't tested) [03:57:00.0000] From the spec: "Specifications intended for user agents must not define these [data-*] attributes to have any meaningful values. " - I wonder if that will stop the microformats community defining future microformats based on those attributes [04:00:00.0000] there's an open issue on that [04:03:00.0000] yeah, I just saw that [04:09:00.0000] I used three-column CSS for printing even the previous shorter entity table [04:12:00.0000] why does the IETF specify Base16 and Base32? [04:17:00.0000] hisivonen, just read your e-mails CC'ed to HTMLWG about ARIA in HTML5 integration [04:18:00.0000] I'm glad there's someone as level-headed as you saying what needs to be said about making ARIA viable [04:19:00.0000] BenMillard: I'm glad you agree that it needs to be said [05:03:00.0000] hsivonen: i'm glad you're doing this, too, fwiw [05:03:01.0000] hsivonen: i have little time for aria stuff atm and you're better at expressing yourself than i am [05:08:00.0000] zcorpan_: thanks [05:09:00.0000] I got an offlist reply with a pointer to the xml:id spec (re: my e-mail on www-math)... [05:16:00.0000] zcorpan_, how did those telecons go? [05:17:00.0000] (you mentioned needing to attend 3 over MSN with me some time ago) [05:20:00.0000] BenMillard: i attended to 2 of them [05:22:00.0000] one was with aaronlev and several people from microsoft discussing http://developer.mozilla.org/en/docs/ARIA_User_Agent_Implementors_Guide (which i haven't had time to properly review yet) [05:25:00.0000] annevk, this is one of the ideas a friend of mine came up with for the html5.org logo. He's going to come up with some other, perhaps better ideas though. [05:25:01.0000] http://macos.dk/HTML5-logo.png http://macos.dk/HTML5-logo-BW.png [05:25:02.0000] I meant wiki.html5.org [05:28:00.0000] hmm. so when a data uri uses base64, spaces and other random stuff isn't allowed, even though line breaks are allowed in email. Right? [05:30:00.0000] hsivonen: as far as I can see it is undefined [05:31:00.0000] zcorpan_, thanks. I'm off for lunch, bye all. [05:32:00.0000] (also to avoid my PC getting killed by the thunderstorm here) [05:32:01.0000] gsnedders: the base64 rfc says prohibited unless allowed [05:32:02.0000] hsivonen: but the data URI scheme one doesn't seem to normatively cite it [05:33:00.0000] yay specs! [05:33:01.0000] also, the base64 rfc defines a different base64url encoding [05:33:02.0000] but data uris don't use that one [05:35:00.0000] standards suck. [05:48:00.0000] Lachy, I think we need a logo that indicates it's about authoring in some way... maybe something with HTML syntax... [05:52:00.0000] /me doesn't think logos need to present any information, they just need to look nice and be recognisable [05:58:00.0000] looks like the alt thing is going to be a rathole again... [05:58:01.0000] the reason why I care is that it is effectively about changing the way the product I develop works [05:59:00.0000] and I think the change would be bad for the relationship between the product I develop and its users [05:59:01.0000] and its users' users [06:00:00.0000] yeah [06:12:00.0000] data URIs should always be URIs, not IRIs, right? [06:13:00.0000] so it would be wrong to have non-ASCII in a data URI and expect it to get UTF-8-URIfied before data URI decoding, right? [06:13:01.0000] annevk, yeah, that's what I suggested to him [06:16:00.0000] looks like implementations indeed URIfy IRIs first... [06:18:00.0000] good times. there's even one more layer of juggling between characters and bytes in data uris [06:20:00.0000] if I start responding to the alt thread now, I never get any software written [06:21:00.0000] /me keeps writing data URI support [06:21:01.0000] there's no rush in the alt thread, that'll be an open issue until 2020 :) [06:21:02.0000] or inf time [06:34:00.0000] Hixie: I think this is invalid http://www.hixie.ch/tests/adhoc/data/002.html (linebreak in URI) Is there something I'm missing? [06:39:00.0000] cool http://www.hixie.ch/tests/adhoc/data/006.html exposes an internal bug in V.nu [06:39:01.0000] As far as Steven Faulkner's most recent message, about how AT software is supposed to reliably determine the difference between a purely decorative image and critical content [06:40:00.0000] maybe one possible answer is that AT software needs to be made a lot smarter [06:41:00.0000] to be able to programatically make some kind of determination [06:42:00.0000] MikeSmith: running a DCT / Fourier Transform on the image and checking for spikes should be a fairly implementable way of telling if an image is photo-like or iconic [06:42:01.0000] yeah, I can think of quite a lot of other ways also [06:43:00.0000] their is plenty of existing work been done in that area for all kinds of use cases [06:43:01.0000] s/their/there/ [06:43:02.0000] The main flaw in his argument is that you'll have that problem no matter what. [06:44:00.0000] there was a mildly interesting poster at the ASSETS conference last year which was about using some kind of statistical pattern recognition to guess the content of images and generate vaguely sane alt text from it [06:46:00.0000] hmm, I see that Steven does also say, "Given that these two images could be the same..." but used for different purposes in the same content. [06:46:01.0000] same exact image, used in one part for decorative purpose, in another part as "critical content" [06:46:02.0000] that seems like a bit of stretch [06:47:00.0000] would wonder if there are in fact in actual examples of an image used in such a way [06:47:01.0000] but I guess he intends that part to deflect the argument about doing pattern recognition or such on the image [06:48:00.0000] well, requiring tools to do alt="" when there's no available alternative content won't help that case, either [06:49:00.0000] nope [06:50:00.0000] and the answer anyways is that the AT software could do some analysis of the placement of the images in the content, their relationship to surrounding content [06:50:01.0000] I guess [06:51:00.0000] this somewhat reminds me of the guidelines for authoring content intended for viewing on mobile devices [06:52:00.0000] guidelines that suggest that authors do all kinds of extra work to make their content usable in that context [06:52:01.0000] when the better solution is to just make the mobile browsers smarter [06:53:00.0000] tbh, I can't foresee that any amount of MUST in the spec will actually compel authors to do anything [06:53:01.0000] jmb, they know that, actually [06:54:00.0000] ok [06:58:00.0000] I think a big part of this is just a desire to keep the rule as simple and easy to evaluate as possible [06:59:00.0000] so it can be put into a checkbox [07:00:00.0000] one of the problems with the alt text thread seems to be that no-one has clearly defined what they would be best for assistive technology to output in the various cases of missing alt text, and so the proposed solutions can't really evaluated [07:02:00.0000] Lachy, seems like what could possibly be best for that AT software to output is the results of it doing some kind of image analysis like what jmb and hsivonen [07:03:00.0000] so if that image analysis determines it's decorative content, it outputs nothing [07:03:01.0000] e.g. it's been stated that we should distinguish between decorative images, and non-decorative images without alt text [07:03:02.0000] but no-one has clearly stated how the user should be informed of that distinction [07:06:00.0000] outputting nothing for decorative images is ok. But what to output for non-decorative images without alt text is entirely unclear, and so any suggestion to do anything other than just omit the alt attribute isn't based on the desire to acheive a specific result [07:07:00.0000] just a desire to use validation as a feeble attempt force authors to think about putting alt text in [07:08:00.0000] it's tricky, as any image categoriser is likely to generate false positives, which may be harmful. then again, outputting something may be better than outputting nothing at all. it's at this point that I'd be wanting to conduct a user study :) [07:08:01.0000] jmb, indeed. But what exactly is that "something"? [07:08:02.0000] Why is it a feeble attempt? alt is used far more than all the other optional accessibility features [07:09:00.0000] Lachy: let me see if I can dig out the reference for that poster I saw. it may give some indication as to what's being done atm (admittedly in research labs rather than the real world ;) [07:09:01.0000] Philip`, alt has been required in HTML4 for years, but that in itself has only been mildly successful in encouraging average authors to use alt text. [07:11:00.0000] Lachy: It's used on about 50% of images, and at least once on about 80% of pages, which sounds pretty successful [07:12:00.0000] Lachy: see http://pubs.iupr.org/DATA/2007-IUPR-25Jul_1615.pdf [07:12:01.0000] Those stats don't tell you anything about how often it gets used for anything useful/accurate, or unuseful/inaccurate [07:15:00.0000] jmb, the only problem with that is that they're suggesting to solve it on the wrong side, imo [07:15:01.0000] annevk: sure [07:15:02.0000] annevk: I'd agree with that [07:15:03.0000] jmb, better to solve it with 5 vendors than billions of Web sites [07:16:00.0000] mm [07:17:00.0000] looks pretty cool btw [07:18:00.0000] why did the photo that looks like soccer players got tagged with "horses"? :-) [07:19:00.0000] Lachy: false positive :) [07:19:01.0000] (it quite annoys me that everyone else is supposed to jump because Freedom Scientific doesn't fix their software) [07:21:00.0000] jmb, does the analysis take the surrounding content into account when determining appropriate tags? e.g. If the surrounding content of that soccer image was talking about a soccer game, would that reduce the change of it being inccorectly labelled as "horses"? [07:21:01.0000] Lachy: I've no idea, tbh [07:22:00.0000] Lachy: it's not my field, so I didn't talk too much to the authors [07:22:01.0000] it's also interesting that it tags in english only, when the pictures show some foreign language text around the images [07:23:00.0000] thinking about it more, those images illustrated are the ones I'd expect to not have alt text [07:23:01.0000] they're just illustrating the text [07:23:02.0000] (as in, I'd expect [07:23:03.0000] ) [07:23:04.0000] hsivonen, agree completely about Freedom Scientific [07:25:00.0000] seems like kind of a "conspicuously always absent from the party" case [07:25:01.0000] were they to actually show up and participate in discussions in public forums, I guess they realize that all manner of hell would likely rain down upon them [07:26:00.0000] so better to stay away [07:30:00.0000] I don't think they'd get hell raining down upon them any more than the IE team does. [07:30:01.0000] although, the IE team has had its fair share of abuse [07:43:00.0000] Hixie, from the spec: "A single image can have different appropriate alt text depending on the content." - Should that say "...depending on the context."? [08:04:00.0000] /me starts work on RSS5 [08:06:00.0000] gsnedders: bad idea. rathole warning! [08:06:01.0000] hsivonen: It's probably worth defining how to parse, though. [08:07:00.0000] As either RSS 2.0 is vague or useless in the real world. [08:49:00.0000] gsnedders: in practice, copying what the universal feed parser does will work [08:50:00.0000] takkaria: that's possible to break. it's computationally impossible to parse RSS all the time per the author's intent (unless it becomes computationally possible to read the author's brain) [08:51:00.0000] yes, but in practice, the UFP works for pretty much everything :) [08:51:01.0000] that's true :) [08:52:00.0000] and it has a massive testsuite, too [08:52:01.0000] takkaria: I'm not going to get into efi [08:52:02.0000] *defining… [08:52:03.0000] … how to parse malformed XML [08:53:00.0000] and the test suite is basically the same tests twice, just with one lot with a broken closing tag for the root element :P [09:00:00.0000] hmmm… It appears that XML conformance isn't a requirement for XHTML5 [09:07:00.0000] /me needs a design pattern for not losing the original exception when a 'finally' block throws a new one [09:07:01.0000] creating a MultiException seems ugly [10:24:00.0000] Lachy: the entities table is already multicolumn, if there's some more incantations i can give, let me know [10:27:00.0000] hsivonen: data/002 is absolutely non-conforming, yes, but a combination of (future?) html5 error handling rules and uri error handling rules (possibly as yet unspecified and relying on legacy convention) requires that behaviour [10:28:00.0000] MikeSmith: there are examples of images used in different ways with radically different alt text in the spec already [10:41:00.0000] Is there a page that lists/links to all of the previous versions of the html5 spec? [10:43:00.0000] how do you mean, previous version? [10:49:00.0000] I'm trying to find a specification of Opera's SSE and see how it differs from the latest html5 SSE specification [12:11:00.0000] heyadayo: http://html5.org/tools/web-apps-tracker lists all the changes between versions, and http://svn.whatwg.org/webapps/ provides a way to access any version [12:13:00.0000] Philip`, much appreciated [12:14:00.0000] (Those links are all listed in the top of the spec) [12:17:00.0000] Philip`, to tell you the truth, I previously visited the web-apps-tracker, but was having trouble listing revisions before 1329, or searching for something specific, like "SSE" [12:17:01.0000] Oh, maybe it doesn't provide any way of seeing older messages... [12:19:00.0000] r1237 seems to have been the most recent significant changes [12:21:00.0000] heyadayo: http://philip.html5.org/misc/whatwg-svn-log.txt lists all the past revisions [12:23:00.0000] Philip`, thanks [12:25:00.0000] annevk, I'm browsing previous versions of the spec, but I'm having some difficulty finding docs related to opera's current SSE implementation. Whenever you get a chance, could you point me in the right direction? [12:31:00.0000] heyadayo: The most reliable information will come from just testing it and seeing what happens, since the documentation of the actual implementation isn't necessarily great (if it even exists) [12:32:00.0000] we've got a working version of the opera SSE format in the orbited webserver, but we have an annoying decision to make [12:33:00.0000] that is, we are implementing an SSE client for firefox and safari by doing raw parsing on an XHR object, and we were trying to decide if we should implement the html5 version of the spec, or the opera version [12:33:01.0000] because ideally the server wouldn't only need to encode server sent events in a single manner [12:33:02.0000] s/wouldn't/would [12:35:00.0000] I would assume Opera will change to match the HTML5 spec in the future (maybe in whatever comes after 9.5), and if any other browser implements it then they'll implement what the spec says, so it seems more useful in the long term to follow the spec [12:36:00.0000] (and to use the XHR emulation of SSE for Opera too) [12:36:01.0000] yeah, thats what i was thinking, but i don't think its possible in opera to use XHR emulation because it doesn't give you partial access to the responseText [12:37:00.0000] There aren't enough Opera users for it to seem particularly worthwhile to write and maintain code for it that will never be useful in other browsers, if there is a single cross-browser alternative that could be used instead [12:37:01.0000] I'm not quite sure what you mean by "partial access" [12:38:00.0000] i mean, if the response hasn't yet finished, you can still get the text from the partially completed response in safari or firefox, but as far as I can tell, you can't do that in opera [12:40:00.0000] Ah, right [12:40:01.0000] Sounds like a bug in Opera if that's the case [12:41:00.0000] bug or no, i was hoping to wrangle a way of using the same wire protocol for server->browser events in all browsers [12:42:00.0000] maybe for the time being i should just implement the standard for the other browsers, and have a special case for opera [12:43:00.0000] Hmm, it looks like Opera might be updating responseText but just not doing the readystatechange event as data is received [12:44:00.0000] (and so polling with setInterval could make it work) [12:44:01.0000] i did a cursory test the other day, and i thought that it was waiting to trigger the readystate changes until after the response was complete, but also blocking access to responseText [12:44:02.0000] yeah, exactly [12:45:00.0000] we have to do polling with setInterval in IE on a hidden iframe (inside of an ActiveXObject('htmlfile') to get it working (without loading bars) in IE5+ [12:45:01.0000] it wouldn't be the end of the word to use local polling in opera as well [12:45:02.0000] s/word/world [14:04:00.0000] http://www.w3.org/2002/09/wbs/38482/XDRorNot/results is funny [14:04:01.0000] it won't let me see that [14:04:02.0000] "Not allowed" :-( [14:14:00.0000] why are these people so anti-accessibility [14:14:01.0000] sheesh [14:14:02.0000] which people? [14:15:00.0000] those who want page-critical images for which no alt text has been provided to be indistinguishable from text [14:16:00.0000] Hixie, I didn't realise -moz-column-* had a bug that prevented it working for tables, so I assumed you hadn't used it. It seems that only Safari renders the multicolumn entity table :-( [14:16:01.0000] Lachy: :-( [14:19:00.0000] The only way I can think of to address the issue now would be to manually split the table into 3 and use other css techniques to get the appearance of 3 cols. But that's an ugly hack I don't really like [14:19:01.0000] why 3? [14:20:00.0000] cause that's the number of columns Safari gives me at my normal browser window width. [14:20:01.0000] you have a small screen [14:20:02.0000] like I said, it's an ugly hack [14:20:03.0000] no, I just don't maximise browser windows [14:20:04.0000] ah [14:20:05.0000] i have two screens [14:20:06.0000] I have a 1920x1280 screen [14:21:00.0000] how i configure my ion tabs varies, but often one of my 24" displays just has a single fullscreen browser [14:21:01.0000] maybe I could find some greasemonkey script solution [14:21:02.0000] with my terminals on the other screen [14:21:03.0000] of course other times i look at the spec on my ipod [14:21:04.0000] so... [14:22:00.0000] yeah, I know. You showed me a screenshot of it once [14:22:01.0000] Don't use a table, just write a list of "'AElig;' = U+000C6; 'AElig' = U+000C6; ..." and let the browser's text-wrapping do its stuff [15:03:00.0000] so... [15:03:01.0000] [15:03:02.0000] do we have a good solution for this train wreck? [15:04:00.0000] Use cars instead while the tracks are blocked? [15:12:00.0000] hey Hixie [15:14:00.0000] hi [15:14:01.0000] about the "If the resource being loaded was not loaded from an application cache, but it was loaded using HTTP GET or equivalent" part of the cache selection algorithm [15:15:00.0000] , step 2 [15:16:00.0000] should the update process be invoked after the implicit resource has been fetched? [15:18:00.0000] i can't see any reason to require that that be a synchronous set of steps, no [15:18:01.0000] i would say it is ok to run all those steps in parallel [15:18:02.0000] but the spec does sort of imply it should be synchronous, so if you want it changed please to drop me a mail reminding me :-) [15:21:00.0000] Hixie: although it would make more sense to do the update process after it's been fetched [15:21:01.0000] Hixie: ...I think :) [15:22:00.0000] well, as noted the other day, the update process will be fixed to mention that any pending "fetchings", for lack of a better word, have to complete before any "cached" events fire [15:22:01.0000] although in the case of step 2 the cache will already be up to date, right? [15:28:00.0000] step 2 invokes the updating process [15:28:01.0000] i don't understand what ou mean [15:28:02.0000] oh! [15:28:03.0000] i see what you're saying [15:28:04.0000] hm [15:28:05.0000] well [15:28:06.0000] there's no way to tell the difference, is there? [15:29:00.0000] i mean, between whether it's sync or async [15:30:00.0000] I don't think so - you just need to try to avoid fetching the resource twice [15:37:00.0000] andersca: right [15:37:01.0000] andersca: in which case, it doesn't matter what the spec says really [15:50:00.0000] gsnedders: Isn't that what most people do already (avoid using )? [15:50:01.0000] jgraham: peh. [15:53:00.0000] hixie, stopping from generating punctuation seems the most useful thing to do whilst being consistent with other HTML elements. authors are used to punctuating the content themselves (full stops at the end of

for example) [15:55:00.0000] Hey, if only we had a element and a element people could just write its and its and they would always get the apostrophe right! [15:56:00.0000] requiring punctuation seems fine by me [15:56:01.0000] should it be before or after ? [15:56:02.0000] (seriously, is there a good argument for making generate punctuation?) [15:57:00.0000] Hixie: I would say inside but I doubt authors will get it right much either way [15:57:01.0000] hixie, I'd say allow both. would it make a difference? [15:57:02.0000] (where much is "a significant enough percentage of the time that you could base a UA feature on it") [15:58:00.0000] well the one feature that would make sense is a set of pseudos in css to select the punctuation and replace it and/or hide it [15:58:01.0000] Hixie, punctation should be inside [15:58:02.0000] i'm thinking punctuation outside, personally [15:58:03.0000] why inside? [15:58:04.0000] I recall once seeing an author suggest putting quotes outside the q, and using CSS to stop q from rendering its own quotes, all because the HTML4 spec says not to put quotes at the beginning/end of the q content. So they put it outside the content. [15:58:05.0000] Hixie, compatible with ::before [15:58:06.0000] i mean, they're not part of the quote... [15:58:07.0000] (fwiw....very convulted) [15:58:08.0000] annevk: ? [15:59:00.0000] billmason: hehe [15:59:01.0000] oh, I wait, I'll guess I stay out of this debate [15:59:02.0000] I'm using all over the place so I rather not have it change... [16:00:00.0000] hixie, strictly speaking the quote marks aren't part of the quoted text. unless you are quoting the use of punctuation from a different document or something [16:00:01.0000] annevk: hah [16:00:02.0000] BenMillard: right, that's why i figured outside [16:00:03.0000] Hixie: Just because it seems more natural to package up the whole bit of text that is the quotation inside a rather than having the quotation marks clinging on to the outside like drowning swimmers [16:01:00.0000] jgraham, exactly. authors might view as meaning "a quotation" with punctuation and everything rather than "a strict wrapper for quoted text" [16:02:00.0000] also, languages vary in where their punctuation goes with quotes [16:02:01.0000] (fwiw I think the quoting something with quotation marks case is distinguised by using two typographically different sets of quotation marks) [16:03:00.0000] BenMillard: Is that a problem [16:03:01.0000] ? [16:03:02.0000] I'd rather not have it change, for the same reason as annevk fwiw [16:03:03.0000] i guess the only time this would matter is if you're trying to move the quote [16:03:04.0000] e.g. float it [16:03:05.0000] and in this case, you really want the quotes to go with it [16:03:06.0000] so inside makes sense [16:04:00.0000] hixie, also affects what gets italicised/bolded if you do that [16:04:01.0000] true, true [16:04:02.0000] and you'd typically want the quotes italicised/bolded [16:04:03.0000] gsnedders, annevk: the quote marks wouldn't be _required_ [16:04:04.0000] if I'm using curly quotes I'd tend to avoid italicising them; they are already curly [16:05:00.0000] gsnedders, annevk: just not inserted by UAs automatically [16:05:01.0000] Hixie: so myself and annevk have to use before/after selectors to keep compat. with our content? [16:05:02.0000] BenMillard: Arguably a font issue? [16:05:03.0000] /me doesn't really know [16:06:00.0000] jgraham: arguably the font system shouldn't italicise certain codepoints, such as curly quotes [16:06:01.0000] jgraham: (when not using a given italic typeface and making its own up) [16:07:00.0000] how authors currently do inline runs of quoted text are something I hope to study [16:07:01.0000] /me uses the q element, but he doesn't quote much [16:07:02.0000] gsnedders, annevk: yeah [16:07:03.0000] gsnedders, annevk: assuming you like quotation marks [16:08:00.0000] Hixie: quotation marks _rule_. [16:08:01.0000] wow, cssom-view caused browser incompatibilities [16:08:02.0000] what nonsense [16:08:03.0000] gsnedders: Not quotation marks "rule", then? ;) [16:08:04.0000] jgraham: nope. [16:09:00.0000] /me should probably sleep, but he's waiting for molly to finish doing what she's currently working on to talk to her :P [16:09:01.0000] (I assume you saw the do not use quotation marks for emphasis picture) [16:09:02.0000] no [16:10:00.0000] I'm blind :P [16:10:01.0000] i have a couple questions about the section 6 TCPConnection object. First off, is there any provision for sending the tcp data through an http proxy (Such as sending a HTTP CONNECT to the proxy before the "HELLO") ? [16:10:02.0000] jgraham: link? [16:11:00.0000] gsnedders, hixie, jgraham: http://www.mozilla.org/projects/rt-messaging/chatzilla/user-guide.html - curly opening speechmark faked with 2 grave accents with straight speechmark after the quoted text: ``ChatZilla!'' [16:11:01.0000] http://64.233.183.104/search?q=cache:fu5l-quqTlEJ:www.photobasement.com/please-do-not-use-quotation-marks-for-emphasis/+do+not+use+quotation+marks+for+emphasis&hl=en&ct=clnk&cd=2 [16:11:02.0000] BenMillard: LaTeX comes up again. [16:11:03.0000] yay for google keeping the web going when the actual servers are dead [16:12:00.0000] heyadayo: no [16:12:01.0000] heyadayo: (at least not at the moment; if you think that's a feature we should add, please do mail the list with details) [16:13:00.0000] three cheers for Google! [16:13:01.0000] Hixie, okay, i will send an email. Also, whats the intended value of the "Hello" and "Welcome" exchange? [16:14:00.0000] heyadayo: to prevent, e.g., someone connecting to an SMTP server [16:14:01.0000] heyadayo: or a Telnet server [16:14:02.0000] heyadayo: or any server that isn't expecting Web pages to randomly connect to it [16:14:03.0000] heyadayo, http://www.w3.org/TR/2008/WD-html5-20080122/#parsing1 is the format Opera implements, though as Philip` said there may be bugs [16:15:00.0000] Hixie, why is enforcing the distinction between a web client and a regular client imporant? [16:15:01.0000] annevk, thank you [16:15:02.0000] gsnedders, another quotes example: http://www.stuffandnonsense.co.uk/malarkey/more/microformats_the_fine_art_of_markup/ uses straight apostrophes in content like ' but has curly quotes generated by How to use help in a footer link [16:16:00.0000] heyadayo: to prevent, e.g., people putting scripts in random web pages that find a local SMTP server and start sending spam [16:16:01.0000] heyadayo: or that communicate to a random HTTP server behind a firewall by "proxying" through the browser of someone browsing the web [16:18:00.0000] Hixie, ah, right [16:18:01.0000] gsnedders, http://inspire.server101.com/ben/2008/03/public-transport-dystopia.html has unpunctuated quoted text using which includes the terminal . before the [16:19:00.0000] BenMillard: i.e., just italicising the quote? [16:19:01.0000] BenMillard: (punctuation is language specific with regards to quote, en-us and en-gb are different, fwiw) [16:19:02.0000] annevk, so it looks like opera's original foray into SSE has been much expanded in the 9.5 version? [16:20:00.0000] gsnedders, I mentioned that earlier to support allowing both positions for punctuation...didn't realise en-AU followed en-US rather than en-GB though [16:22:00.0000] How does en-US quoting work? [16:22:01.0000] /me never noticed a difference [16:23:00.0000] "This is an en-us quote." [16:23:01.0000] "This is an en-gb quote". [16:23:02.0000] jgraham, you just used the word "quoting." This was a demo of en-US quoting [16:23:03.0000] jgraham, you just used the word "quoting". This was a demo of en-GB quoting [16:24:00.0000] wow it's odd that I didn't notice that. It seems kinda illogical :) [16:24:01.0000] And then you get into odd things like when she asked, "What if?". [16:24:02.0000] I have no idea what that is in en-us [16:24:03.0000] en-US drops the outer . [16:24:04.0000] I've seen British style guides allow that for those types of case [16:25:00.0000] en-gb-x-sneddy includes it, FWIW [16:25:01.0000] hendry, we still don't support custom event classes and such... [16:25:02.0000] heyadayo, ^^ [16:25:03.0000] I've always been taught that punctuation goes inside the quotes (even if it's not a part of the quoted text), but I've always ignored that rule since it's stupid and wrong [16:25:04.0000] /me keeps the quotation verbatim inside the quotes [16:26:00.0000] your quoting it, you don't change it! [16:26:01.0000] since it only makes sense to put the literal quoted text inside the quotation marks [16:26:02.0000] If I change it at all, it is with square brackets after what I'm changing [16:26:03.0000] Philip` and gsnedders, I think the differences of style around this are historical so it makes sense to allow both. :) [16:26:04.0000] "He [Bob] asked me what to do.". [16:26:05.0000] BenMillard: certainly :) [16:26:06.0000] /me heads off to sleep [16:26:07.0000] http://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Quotation_marks [16:27:00.0000] says it's npt gb/us [16:27:01.0000] not* [16:27:02.0000] /me shrugs [16:27:03.0000] /me falls alssep [16:29:00.0000] Punctuating non-inline LaTeX equations is what always causes me problems [16:29:01.0000] I get that wrong. Every. Single. Fucking. Time. [16:30:00.0000] "Clearly $$1+1=2$$." is stupid because the . would be dangling on the next line, but "Clearly $$1+1=2.$$" is stupid because it looks like the . is part of the equation when it isn't [16:31:00.0000] You would have thought I would learn after the first few, but my brain is incapable of dealing with the idea that the , just has to be put inside the equation despite having nothing to do with the equation. [16:31:01.0000] I also always get whitespace around equations wrong [16:32:00.0000] annevk, so do you think opera will scale back its implementation in the future and drop the additional features of the old spec? [16:34:00.0000] From my experience of the one time when I've had to submit a paper, overfull hboxes are the most irritating problem, particularly because you can only fix them after you've finished all the text, which means it is very near the deadline and so you are tired and fed up and under pressure and it's no fun trying to fix everything [16:34:01.0000] heyadayo, I'm not sure if we'd immediately drop support for the old format (they can be supported together) [16:36:00.0000] annevk, so i suppose you'd differentiate by the two different headers (application/x-dom-event-stream (old) vs. text/event-stream (new)) [16:36:01.0000] jgraham, perhaps the nationality of the difference is a myth. either way, the difference exists [16:37:00.0000] BenMillard: I don't dispute that it exists :) [16:37:01.0000] jgraham, ah, ok then [16:38:00.0000] heyadayo, yes, going forward we might do that, for now we only support application/x-dom-event-stream [16:38:01.0000] jgraham, interestingly a later section says "the quotation marks should not be in boldface" which means they consider styling of quotes to determine their position (as I suspected any author would) [16:38:02.0000] annevk, ok [16:38:03.0000] annevk, i think for now we're going to implement the new SSE standard with xhr streaming for opera [16:38:04.0000] wfm :) [16:38:05.0000] Philip`: That's never been a problem I've had. Often LaTeX will complain about overfull hboxes (often with badness 10,000) but I don't recall seeing an actual problem that could be ascribed to them. [16:38:06.0000] http://intertwingly.net/blog/2008/04/11/SVG-and-MathML-Annexes-to-HTML5 [16:39:00.0000] jgraham: Hmm, have you written two-column documents? [16:40:00.0000] Two columns plus large margins plus indented bold text plus slightly long words tends to run out of space and look very ugly :-( [16:40:01.0000] Philip`: Yeah, but maybe it depends on the style file? [16:40:02.0000] holy crap, sam's now said two cautiously positive things about the math+svg stuff [16:40:03.0000] /me tries to avoid doing anything complex in LaTeX [16:40:04.0000] i overshot my goals! [16:40:05.0000] excellent [16:40:06.0000] Hixie: you must be doing something right, then :) [16:41:00.0000] Because whilst LaTeX is nice for maths it is really really hard to lay out a page in [16:41:01.0000] jgraham: I just leave it to it, tbh. then again, I've written sufficiently few documents where the layout has to be exact that it's never been a problem for me [16:42:00.0000] jmb: There's a wonderful quote on our office whiteboard "Doing a poster in LaTeX is like trying to do a poster in C" [16:42:01.0000] jgraham: I approve :) [16:43:00.0000] there's something ironic about the fact that " and ' fall into Po and not Pi or Pf or somesuch [16:43:01.0000] jgraham: I should thank you for your mailing list post(s) about alt. they're far more coherent than I could hope to be [16:43:02.0000] (!) [16:44:00.0000] dude [16:44:01.0000] awesome [16:44:02.0000] unicode has a separate way of categorising things as Quotation_Mark [16:44:03.0000] sweet! [16:44:04.0000] hixie, quotes again: http://www.w3.org/QA/2008/01/open_data_you_and_me.html has one space inside of each speechmark, with terminal punctuation on the inside attached to the final word. no markup around this at any point [16:45:00.0000] yeah if there's no markup then it's no big deal [16:45:01.0000] i don't think we should require quotations to be marked up [16:45:02.0000] just like we don't require it of titles of work, etc [16:46:00.0000] interestingly, the speechmarks are « and » but these are in content inheriting lang="en" [16:47:00.0000] so after about 3 pages it looks like authors care more about how their punctuation looks than how it is marked up [16:47:01.0000] that's almost certainly the case, yes [16:48:00.0000] kind of a no-brainer, really :P [16:48:01.0000] :-) [16:48:02.0000] I'm off to bed, bye all. [16:48:03.0000] nn [16:49:00.0000] hey [16:49:01.0000] interesting [16:49:02.0000] maybe i should be talking about White_Space not Sz [16:49:03.0000] Zs even 2008-04-12 [17:08:00.0000] awesomeness, thanks Øistein Unicode people are looking into defining what I want [17:09:00.0000] thanks to* [17:09:01.0000] that is, indeed, cool [17:09:02.0000] yeah, mark is one of my colleagues here at google [17:10:00.0000] he's good people [17:10:01.0000] heh [17:10:02.0000] small world et all [17:12:00.0000] did the htmlwg ever reply to http://lists.w3.org/Archives/Public/www-html/2004Aug/0011.html ? [17:12:01.0000] /me looks at xhtml2 to see what solution they came up with for quotes [17:12:02.0000] they have [17:13:00.0000] that doesn't have quotes [17:13:01.0000] actually looks like they went back to having [17:13:02.0000] /me looks up its definition [17:13:03.0000] interesting [17:13:04.0000] ...but the definition still has all the problems bjoern listed [17:13:05.0000] lovely [17:14:00.0000] ok so that's a waste of time... [17:15:00.0000] btw, your suggestion about using some advanced form of generated content sounds like over engineering to me as is not that much used anyway [17:28:00.0000] wow, is used more than and and [17:28:01.0000] not as often as , , and , but... [17:29:00.0000] From 8K pages I saw 2 q, 8 dfn, 3 del, 2 ins [17:29:01.0000] which isn't really enough to detect a significant difference [17:30:00.0000] you see four times more pages that use than and you don't think it's enough to detect a difference? [17:30:01.0000] I see six more pages that use the dfn than q, and I don't think that's significant :-) [17:30:02.0000] oh i guess root-8k is ~90 [17:30:03.0000] that rather depends on how well your sample set maps to the global set :) [17:31:00.0000] In 130K pages, I see 59 q and 158 dfn [17:31:01.0000] which is a significant difference [17:31:02.0000] well back in 2007 i saw, out of ~3bn files, about 4.1 million , and about 3.9 million , and about 3.3 million . [17:32:00.0000] I see 807 blink [17:32:01.0000] wow so you see an order of magnitude difference where i see basically nothing [17:32:02.0000] not sure what that tells us [17:32:03.0000] but it tells us something! [17:34:00.0000] dmoz.org likes pages that use blink? :) [17:35:00.0000] I have no idea if blink has the same huge cultural differences as marquee [17:36:00.0000] (30% of .cn sites in dmoz.org use marquee, vs 3% of all sites) [17:56:00.0000] /me finds it ironic that an email reply on unicore⊙uo causes "Øistein" to display as "�istein" [19:11:00.0000] Hixie, what is the real benefit of using if quotation marks have to be provided manually? [21:01:00.0000] Lachy: let's you do things like pullquotes [01:58:00.0000] an unbelievable number of people apparently read through that entire 3000 line e-mail [03:02:00.0000] Hixie, the nested quote example misses an end tag [03:07:00.0000] thanks fixed [07:30:00.0000] jgraham: was it you who had implemented the outliner? [09:10:00.0000] /me wonders if gsnedders reads the logs [09:16:00.0000] gsnedders: Yes [09:17:00.0000] jgraham: can I coerce my way into getting the code? [09:18:00.0000] I have no idea. But there's no need because you can simply download it from t' internet [09:20:00.0000] jgraham: from where? [09:20:01.0000] /me is just checking it is actually on the internet [09:22:00.0000] Hmm. Maybe it isn't on the internet yet. [09:22:01.0000] /me goes to fix that [09:22:02.0000] then can I coerce my way to it? :P [09:55:00.0000] gsnedders: Since I'm being so slow doing this properly: http://james.html5.org/temp/outline/ [09:56:00.0000] (the code is kinda sucky btw) [09:56:01.0000] jgraham: the .py gives me 500 [09:57:00.0000] Can't you do Save to Disk? [09:57:01.0000] jgraham: that'll just save the 500 result [09:58:00.0000] Hmm. That would make sense I suppose [09:58:01.0000] :) [10:00:00.0000] /me can just wait for it to be done properly, FWIW, jgraham [10:43:00.0000] gsnedders: Not done properly (I got distracted) but you should be able to download it now [10:44:00.0000] yay! I can has get it! [14:31:00.0000] ok, i've dealt with all the feedback from 2004... [14:32:00.0000] Hixie: when do you think 2005 will be done? [14:32:01.0000] no idea [14:36:00.0000] /me changes his system clock back four years and sends an email [14:40:00.0000] /me wonders whether he should post anything to the alt thread [14:40:01.0000] /me has so far resisted [14:40:02.0000] Depends on whether you have something to say that hasn't been said before in the three million prior threads :-) [14:41:00.0000] @alt is evil! Kill it! [14:42:00.0000] Get rid of and add to solve the accessibility use case [14:43:00.0000] where is the content of the element [14:44:00.0000] Philip`: I don't know if I'm saying anything new or not anymore. Or whether it doesn't matter because no one remembers what anyone else has said anyway [14:44:01.0000] /me leaves the email half written instead [14:51:00.0000] jgraham: sorry to bother you again, but wthat's the lxml status? :) [14:53:00.0000] bzed: lxml should work now. There are four tests in the liberal xml parser that fail on my system and which need to be sorted out but everything else seems to be OK [14:54:00.0000] /me needs to send an email about that as well [14:54:01.0000] cool [14:55:00.0000] are there any plans for a new (beta...alpha... whatever) release? if somehow possible I'd like to get a proper, well working release into debian [14:56:00.0000] (FWIW, I should be able to do some work on html5lib if needed end of May after all my exams (apart from Computing) are over) [14:57:00.0000] (Computing doesn't count. I'll get the highest band of A anyway :P) [14:57:01.0000] [15:00:00.0000] bzed: Yeah, we'll do a release sometime after the last few tests pass [15:01:00.0000] /me grumbles about code.google.com being slow [15:01:01.0000] any idea when that will be? [15:01:02.0000] bzed: "When it's ready" :-p (seriously, it should be very soon) [15:02:00.0000] I'm not sure when the release managers will go on with the freeze of lenny [15:02:01.0000] as soonb as it's frozen, it would be hard to get a big patch/new version in, so tha tshould happen before [15:03:00.0000] bzed: I can make a release branch for you now if it will help [15:04:00.0000] Then you could just pull small fixes [15:05:00.0000] jgraham: not necessary now, but I'll ping you if that would be needed [15:06:00.0000] jgraham: some of the release managers are working at the same company then I do, so I usually know if things will happen [15:07:00.0000] bzed: OK. I will get the ball rolling on the release a bit this evening [15:08:00.0000] jgraham: thanks a lot [15:12:00.0000] np [15:13:00.0000] anyone here play brawl? [15:14:00.0000] if you mean http://en.wikipedia.org/wiki/Super_Smash_Bros._Brawl not available yet... [15:14:01.0000] i've played with people in norway [15:14:02.0000] how is it not available yet? [15:16:00.0000] hmm, maybe I missed something [15:29:00.0000] Gah, you're just baiting the Wii-less ;) [15:30:00.0000] Hixie: it is out [15:31:00.0000] oh [15:31:01.0000] nm [15:33:00.0000] yeah, i'm trying to find peopel to play with me :-) [15:33:01.0000] ah [15:33:02.0000] i've been meaning to pick it up [16:27:00.0000] I haven't seen any new, significant arguments presented in the alt attribute thread. Resonding to it would likely only result in repeating what I have already said. 2008-04-13 [05:47:00.0000] Hixie: Come on, we need a sarcasm element! [06:07:00.0000] hsivonen, I think many people are going to be confused by the way you explained the issue in this mail http://lists.w3.org/Archives/Public/public-html/2008Apr/0322.html [06:08:00.0000] Lachy: which part is confusing? [06:08:01.0000] although I agree with what you said, I had to keep going back to check which group was which since you only referred to them by number [06:09:00.0000] Lachy: good point. [06:10:00.0000] Lachy: my intent was to make it less personal by referring to the html4all folks less by name [06:12:00.0000] also, at first, I didn't quite get your analogy of pushing pixels and strings around, until I realised that by pixels, you meant images, and by strings, you meant "strings of alt text" (rather than physical pieces of strings for tying things together) [07:10:00.0000] hsivonen, I read your reply and understand and agree with every you wrote. But I think Lachy is right that you can anticipate some people are going to be confused by it. [07:13:00.0000] hsivonen: I thought the email wasn't especially confusing FWIW. Though I don't really buy the notion that "The simplest definition for such [07:13:01.0000] signaling is the omission of the alt attribute." or the general premise that alternative text must be ideal or that sites like Flickr are better off with no alt than a less than full alternative. [07:13:02.0000] MikeSmith: I guess at this point I'll just have to respond to confusion when it arises on the list [07:13:03.0000] webben: what signaling would be simpler? [07:14:00.0000] hsivonen, yeah [07:15:00.0000] webben: I'm not shooting for ideal alt text [07:15:01.0000] hsivonen: The @noalt idea is simpler in the sense that it differentiates between "Oops, I forgot an alt." and "I am creating a CMS and I believe forcing UAs to make up alternative text is more effective than making some up for them." [07:15:02.0000] webben: you have a backwards definition for "simple" [07:15:03.0000] I do have to say that there are some people involved in the discussion who are already seem deeply confused or self delusional, so little hope there regardless. [07:16:00.0000] hsivonen: Or rather, omitting alt simply isn't a signal of what you say it is. [07:16:01.0000] There are some who I personally wish nobody would take the time to respond to. [07:16:02.0000] and HTML5 can't really redefine it as a signal of that. [07:18:00.0000] webben: do ATs need to differentiate between alt unavailable because intermediate programmer forgot and alt unavailable because the user didn't provide it? [07:18:01.0000] webben: omitting alt signals that alternative text is not available [07:19:00.0000] I don't think that's quite the same as "the CMS signal to the UA that it doesn't have alternative text". ... it's just not providing alternative text. [07:21:00.0000] webben: well, yeah, but the fact the AT needs to deal with is that it didn't get alternative text [07:22:00.0000] hsivonen: That's true (I suspect). But there are parts of your argument where you're talking about the problems of writing a validator. The information is useful to a validator (and people trying to validate output). [07:22:01.0000] webben: yeah, noalt is effectively a validator pragma. I'm not ready to agree that it is a useful one on the whole. [07:23:00.0000] that is, if I'm writing one of these CMSes, I can signal accurately that the omission of alt text reflects that I don't have any user-provided alt text and I think the UA's effort will be better than mine. [07:23:01.0000] hsivonen: Do you mean not a useful one beyond validators? [07:24:00.0000] Or that it's not useful to validators? [07:24:01.0000] webben: not useful to validators [07:24:02.0000] Ah. [07:24:03.0000] hsivonen: Whatever the reasoning is for that, it doesn't seem to be expressed in that email. [07:25:00.0000] webben: it isn't [07:25:01.0000] webben: the reasoning is that authors shouldn't have to pollute their documents with validation pragmas [07:25:02.0000] Why not? [07:25:03.0000] webben: so whenever the validator is annoying enough that you want a pragma to make it shut up, that's a bug [07:26:00.0000] webben: so far I've been dealing with those situations by making them one-time warnings [07:26:01.0000] That's seems massively non-obvious to me as a developer of stuff that I want to validate. [07:26:02.0000] such things are very useful in non-HTML contexts like Perl and JS. [07:26:03.0000] webben: perhaps, but that's between you and the validator.nu bugzilla. It's not a spec issue. [07:27:00.0000] hsivonen: But your email was largely about the problems of writing a validator. [07:28:00.0000] webben: feel free to follow up that you want the spec to provide syntax for a warning suppression pragma for this particular case [07:28:01.0000] I still think that a pragma is less "simple" than not having one, but that's not very important [07:29:00.0000] aside: adding data uri support turns out to be much more work than I thought [07:30:00.0000] That wouldn't be massively useful to me, as I don't really buy the idea that the UA's effort at faking alternative text will be better than mine. [07:32:00.0000] webben: that depends on what data and algorithms you have and what algorithms the UA has [07:32:01.0000] (and as soon as miraculous image recognition technology comes along, if I'm maintaining a huge photo database, I can replace my generated alternative text with better generated alternative text) [07:32:02.0000] webben: there are more HTML generators than UAs, so the algorithm should reside in the UA [07:33:00.0000] (or AT, rather) [07:33:01.0000] hsivonen: I think people placing the image online always have a little (even a very little) more information. [07:33:02.0000] And I suspect the technology would hit the HTML layer first, because the desktop software layer is slow moving. [07:34:00.0000] webben: I don't see how generic hosting services have materially more info than UAs [07:35:00.0000] hsivonen: Well, for starters, if I'm trying to get an image from a generic hosting service, I want to know that the element in focus is the image I actually want [07:35:01.0000] webben: you mean JAWS is slow-moving? ;-) [07:35:02.0000] rather than a UI element or a thumbnail or whatever [07:35:03.0000] so at the very least, it's helpful for such services to clearly designate the image element as such. [07:35:04.0000] webben: it is a thumbnail if it is small and is a link [07:36:00.0000] not necessarily [07:36:01.0000] it might be a small original and link to a text description [07:36:02.0000] as far as the UA is concerned [07:36:03.0000] but the service developer knows better [07:38:00.0000] well, the probability of design pattern violation is rather low [07:38:01.0000] so assuming the design pattern is likely to yield successful usability in general [07:40:00.0000] Then you're depending on probabilities (and on design patterns not changing, or even that UA developers are going to be able to grok all those design patterns) [07:40:01.0000] the service developer doesn't need to depend on probabilities [07:40:02.0000] Flickr presents images with different sizes without links: http://www.flickr.com/photos/defekto/2220931919/sizes/sq/in/set-369739/ [07:41:00.0000] (It's clear which size it is in Flickr's case from other information on the page, and that there are other sizes, and there's a text link for the download : I'm not sure that the same will hold for other services.) [07:42:00.0000] right, it's clear from context. it isn't clear then that disambiguation would be worthwhile [07:43:00.0000] webben: no one is telling service providers not to include alt when doing so would be useful, btw [07:44:00.0000] Sure. There does seem to be plenty of disagreement about when it's useful however. [07:44:01.0000] so if alt='thumbnail' yield better usability in that case, go for it [07:44:02.0000] The most interesting argument (to my mind) being Hixie's argument about future AI. [07:45:00.0000] I'm not sure we should design HTML around "future AI"; also, if we can count on future AI to determine the meaning of images, it should really be able to work out whether that meaning is additional to @alt. [07:47:00.0000] I completely agree with claims that e.g. alt="" is bad; I'm less persuaded that "35969607 JPEG" is better for end users than (say) "Uploaded Photo (full-size)". [07:47:01.0000] I'd prefer to see alt as full equivalent to be an ideal towards which one strives than a requirement for including an alt at all. [07:47:02.0000] webben: a more realistic assumption is getting image analysis that can guess whether an image is a photo of the face of a person, a landscape, a drawing, etc. than getting AI that gives a high-quality descriptino [07:49:00.0000] Yeah, even then, users could query their AT for more information. [07:49:01.0000] just like now, you can press Control Option H to query for TITLE with VO. [07:50:00.0000] I'm not sure I'd want my software's guesses at what images are to be confused with what developers thought was appropriate alternative text. [07:50:01.0000] webben: where can I find proper docs for VO, btw? I still haven't figured out a command for "read onwards from here until I say stop" [07:51:00.0000] webben: that can be solved by VO chrome voice vs. content voice [07:51:01.0000] hsivonen: Proper docs: best docs are the on-board help. There's a PDF on Apple's VO site, but for some incomprehensible reason they haven't updated it for Leopard. [07:52:00.0000] hsivonen: Re the command you want, yeah, there are users who want that; in fact, I've been meaning to file a bug for that, just needed a copy of Leopard (which I know have) [07:52:01.0000] *now have [07:53:00.0000] hsivonen: for more information than Apple gives, try http://www.lioncourt.com/ and http://www.macvisionaries.com/mailman/listinfo/discuss_macvisionaries.com and http://www.freelists.org/archives/macvoiceover [07:53:01.0000] thanks [07:53:02.0000] hsivonen: The way I guess I'd see it working would be "Uploaded photo (full-size)" being transformed into "Uploaded photo (full-size): looks like a car" [08:00:00.0000] hsivonen, anyway, I know I've said this before, but the most apt analogy that comes to mind for me in this case is to religious dogma [08:01:00.0000] "alt should always be required" has become an unquestioned tenet accepted just on the basis of faith [08:01:01.0000] yeah [08:02:00.0000] but along with that, responses from some in the discussion show that they know that [08:02:01.0000] yet they still defend it [08:03:00.0000] like priests or ministers who are actually atheists or at least skeptics [08:04:00.0000] Hixie: ping [08:05:00.0000] keeping the religion alive because they believe they people they're preaching to are otherwise too weak or stupid to make informed decisions on their own, and so need some kind of rigid, simple set of rules to guide their moral decisions [08:08:00.0000] Bible5! [08:15:00.0000] MikeSmith: Assuming that everyone is not stupid and that everyone can understand complex rules just as well as simple rules seems hopelessly idealistic [08:32:00.0000] I see no reason to distinguish between an author unintentionally omitting alt and a CMS user not caring enough to provide it. From the end user's (and assistive technology) point of view, they are the same [08:33:00.0000] The only time it seems to make sense to distinguish between the 2 cases is for quality assurance purposes, and an author can achive that without an expicit noalt indicator [10:17:00.0000] Once we've got AT vendors to make their software guess appropriate alt= text for images, maybe we can get browser vendors to guess appropriate text for pages [10:18:00.0000] Then you won't need to actually load any pages, the browser's AI will just derive their content from the URL and the link text [10:24:00.0000] Isn't that how George Bush became nr1 for "asshole" or so? [10:31:00.0000] mpt: More likely, we could try to get software to convert pages from one form (say, German) into another with equivalent content in a different form (say, English) [10:31:01.0000] 2003 called, they want their Google back :-) [10:34:00.0000] I guess it's not that impossible, then :-) [11:00:00.0000] /me discovers the sdapref= attribute [11:05:00.0000] mpt, what's sdapref? [11:05:01.0000] Looks like it was in a draft of HTML 2.0, then withdrawn [11:06:00.0000] "SDA attributes are designed to transform HTML (and other SGML-based documents) to the ICADD DTD - which is used in creating accessible documents for users with visual disabilities (rendering in Braille, large print, speech synthesis, etc.) The attribute value specifies content to be added BEFORE the original element content (in this case the string 'Input: ') when the SDA document is rendered." [11:08:00.0000] http://ksi.cpsc.ucalgary.ca/archives/HTML-WG/html-wg-95q1.messages/0805.html suggests they have been removed in favor of automation... [11:09:00.0000] Someone should found a Museum of Obsolete Markup [11:09:01.0000] for sdapref= and and

and <spacer> [11:10:00.0000] <mpt> ("Back in my day, we used the lowsrc= attribute, and we *liked* it!") [11:12:00.0000] <tommorris> <font>? [11:14:00.0000] <Philip`> It's not a particularly commonly used attribute [11:14:01.0000] <Philip`> (I see it zero times in 130K documents) [11:15:00.0000] <tommorris> @style wasn't very common once. thankfully, nobody removed it before it's time. [11:19:00.0000] <gsnedders> tommorris: lowsrc has had just as long to prove itself, yet still nobody uses it [11:20:00.0000] <tommorris> gsnedders: I wasn't actually talking about @lowsrc - more the design principle of Unpave Unused Roads [11:20:01.0000] <tommorris> lack of head/@profile is my only complaint about HTML 5. ;) [11:21:00.0000] <Philip`> lowsrc is used loads [11:21:01.0000] <Philip`> like, on about 0.5% of pages [11:21:02.0000] <gsnedders> Philip`: what attribute do you see zero times, then? [11:21:03.0000] <mpt> gsnedders, lowsrc= was used quite a bit in the mid-'90s, but since the introduction of progress Jpeg and interlaced PNG, there's no point [11:21:04.0000] <mpt> (along with general improvement in connection speeds) [11:22:00.0000] <Philip`> gsnedders: Oops, I meant sdapref, but I failed to notice the conversation had moved on about before my grep finished [11:22:01.0000] <Philip`> s/about/a bit/ [11:22:02.0000] <gsnedders> Philip`: :P [11:22:03.0000] <tommorris> is your dataset available? [11:22:04.0000] <Philip`> tommorris: Yes - it's the web :-) [11:23:00.0000] <tommorris> grep "foo" http://*.* [11:23:01.0000] <Philip`> (in particular a random subset of the biased subset of the web listed on dmoz.org) [11:31:00.0000] <webben> Thinking about it, a more useful signifier than noalt is an indication that the alt should not be considered in any sense a full equivalent. [11:32:00.0000] <webben> That would seem to meet the no-alt-provided-by-user use-case. [11:32:01.0000] <webben> while still providing better fallback for current tech. [12:16:00.0000] <tommorris> If we've got any W3C people who maintain the Validator, there's a typo here: "The sequence <FOO /> can be interpreted in at least two different ways, depending on the DOCTYPE of the document. For HMTL 4.01 Strict, the '/' terminates the tag <FOO (with an implied '>'). However, since many browsers don't interpret it this way, even in the presence of an HMTL 4.01 Strict DOCTYPE, it is best to avoid it completely in pure HTML documents and [12:17:00.0000] <tommorris> That's on the string that comes up as advice for "NET-enabling start-tag requires SHORTTAG YES" [12:18:00.0000] <tommorris> s/HMTL/HTML [12:18:01.0000] <Lachy> tommorris, mail www-validator [12:19:00.0000] <tommorris> will do [12:37:00.0000] <tommorris> the validator team know about the typo - http://lists.w3.org/Archives/Public/www-validator/2008Feb/0012.html [12:59:00.0000] <Philip`> http://canvex.lazyilluminati.com/survey/2007-07-17/analyse.cgi/attr/atl - hmm, not very popular [13:02:00.0000] <hsivonen> Philip`: QA is working! [13:03:00.0000] <Philip`> By the way, why does http://www.book-courier.com.ua/ have GIF data at the bottom? [13:04:00.0000] <Philip`> If HTML5 supports inline SVG images, I suppose it should support inline GIF and PNG and JPEG images too, since people are already using them [13:04:01.0000] <Philip`> Oh, it didn't have the GIF stuff after I reloaded [13:06:00.0000] <Philip`> Seems to do it randomly, a couple of times out of ten [13:14:00.0000] <hsivonen> I got the first political correctness email about "primary function" [13:21:00.0000] <annevk> Hmm? [13:23:00.0000] <hsivonen> annevk: as I understand it, my statement about publishing pixels from a camera being the primary function of a photo publishing workflow was taken as a statement of some people being less primary than others [13:33:00.0000] <Philip`> Followup to claims that Googlebot follows links used in XHR code: It seems to be dumb and follows the apparent links in (at least) code like "foo.whatnot('/bar/baz')" [13:34:00.0000] <Philip`> (I'm not sure where its limits of detection are, since it followed all of the links in the code I initially tested) [13:35:00.0000] <Philip`> It also follows at least <a href="javascript:window.location='/foo/bar'"> links, though I'm not sure where its limits there are either [13:41:00.0000] <annevk> hsivonen, :( [13:44:00.0000] <Philip`> (Yahoo and WebAlta don't follow any of those script links at all; everyone else is rubbish and hasn't crawled my test page yet) 2008-04-14 [18:14:00.0000] <Philip`> Hmm, Nvu appears to emit <comment> elements [18:14:01.0000] <Philip`> (See e.g. http://nehafruits.com/Index.html ) [18:15:00.0000] <Hixie> good times [02:17:00.0000] <hsivonen> I think I'm going to implement alt *warnings* with adaptive messages depending on a guess based on width and height. [02:17:01.0000] <hsivonen> Does anyone have a reason why this is a bad idea? [02:18:00.0000] <Dashiva> It will incur the wrath of the semanticists? [02:18:01.0000] <MikeSmith> hsivonen, not sure that you mean by adaptive messages depending on a guess on width and height [02:19:00.0000] <hsivonen> MikeSmith: warning about every badge-size altless image but whining once per page about photo-sized altless images [02:19:01.0000] <hsivonen> you'd still get at least one warning per page with at least one altless image [02:19:02.0000] <hsivonen> but you wouldn't get a warning for each probable photo [02:21:00.0000] <hsivonen> since warning don't affect the overall outcome, it is OK for warnings to be based on guesses [02:21:01.0000] <MikeSmith> yeah, that sounds reasonable [02:24:00.0000] <MikeSmith> hsivonen, I'm wondering if you're considering having an option in the UI to turn on or tune the warning level for alt [02:24:01.0000] <MikeSmith> to me, that's something that would potentially raise author awareness of alt more than making it always-required [02:24:02.0000] <hsivonen> MikeSmith: I'm considering it, but I want to avoid UI options when they can be avoided [02:25:00.0000] <MikeSmith> Yeah, I can understand that [02:25:01.0000] <hsivonen> good point [02:25:02.0000] <MikeSmith> slippery slope [02:26:00.0000] <annevk> I'd always give a single warning I think [02:45:00.0000] <jgraham_> I wonder if there's a decent way to collect useful data about the way @alt is used. I'm thinking maybe a browser extension that takes you to a random page, displays the page with images and CSS off and then displays each image and asks various questions about the corresponding alt text [02:45:01.0000] <jgraham_> like whether it is useful. Maybe also what type of image [02:46:00.0000] <hsivonen> Hixie: btw, I think WCAG 2.0 is rather reasonable about the inkblot case and the HTML5 example takes "alternative" too literally [02:46:01.0000] <jgraham_> Then collect that data together with automatically extracted data (what are the image's dimensions?) on a central server [03:04:00.0000] <annevk> http://webbstandard.se/2008/04/allt-utom-mojligen-diskbanken.html [03:05:00.0000] <annevk> given the quotes from the Borg I assume it's not a positive remark? :) [03:11:00.0000] <hsivonen> annevk: it's basically complaining about lack of versioning and modularization and building a monolithic kitchen sink language instead [03:12:00.0000] <webben> jgraham: I believe a rudimentary study of that sort was already done by Manu Sporny on the microformats list. [03:16:00.0000] <webben> jgraham: http://microformats.org/discuss/mail/microformats-new/2007-July/000629.html [03:17:00.0000] <webben> jgraham: It may be it failed to consider whether the alt text was appropriate in context however. [03:20:00.0000] <webben> I did raise that point in subsequent discussion; can't now remember how that was clarified [03:22:00.0000] <jgraham_> webben: Interesting, but it does look (on first glance) like their method was totally broken [03:22:01.0000] <jgraham_> because, as you note, they seem to be assuming @alt is supposed to be a description for the image [03:23:00.0000] <jgraham_> rather than an in-context replacement [03:24:00.0000] <jgraham_> and I can't see a reply to the post where you raise this flaw [03:26:00.0000] <webben> neither can I; I think discussion of the study was in several threads however; Tantek does raise it. [03:26:01.0000] <webben> http://microformats.org/discuss/mail/microformats-new/2007-July/000635.html [03:27:00.0000] <webben> http://microformats.org/discuss/mail/microformats-new/2007-July/000628.html [03:27:01.0000] <webben> (me) [03:28:00.0000] <webben> I seem to have raised the point in preceding discussion. [03:28:01.0000] <jgraham_> Yeah, this all confirms that it should be done again, presenting the _whole_ page to the user (minus the images, or maybe just minus the current image) and letting them assess the alt text one image at a time [03:29:00.0000] <jgraham_> /me has to go now [03:29:01.0000] <webben> laters [03:30:00.0000] <Philip`> Why not just show all the images and use a img:before{content:attr(alt);background:magenta} then count how many of the alts make sense in context and correspond to their image? [03:31:00.0000] <annevk> :before / :after and replaced elements is sort of a complex thingie [03:32:00.0000] <Philip`> Or write a script to create adjacent text nodes with the alt text, or whatever [03:33:00.0000] <jgraham_> Philip`: That might work for display but it would be nice to collect other information like the type of the image (photo/icon/advert/etc.), the context (is is in a link?) and a qualitative assessment of the goodness of the alt text so just counting seems inadequate [03:34:00.0000] <jgraham_> /me really is going now [04:55:00.0000] <Philip`> /me saw a nice cat carrying a cute little mouse in its mouth, presumably to take it home and have a cup of tea and some biscuits together, but sadly it dropped the mouse when approached and the mouse ran away :-( [04:55:01.0000] <Philip`> (Alternative interpretation: cats are vicious carnivores) [05:09:00.0000] <MikeSmith> Philip`, another alternative interpretation: It was a smart but lazy mouse who tricked the cat into giving him a free ride for a few blocks [05:10:00.0000] <jruderman_> lol [05:13:00.0000] <Lachy> hmm, it seems IE8 may have intentionally violated the selectors api spec :-( [05:14:00.0000] <Lachy> they apparently ignore selctors with the :link pseudo-class, so .querySelector(":link") won't match anything [05:15:00.0000] <Lachy> at least according to their white paper about it. http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=ie8whitepapers&ReleaseId=574 [05:15:01.0000] <Lachy> I'm currently trying to get it installed on my work machine to test it [05:33:00.0000] <Lachy> anyone know why IE8 doesn't work with the live dom viewer? [05:40:00.0000] <zcorpan> Lachy: enumerating the attributes doesn't work for some reason [05:41:00.0000] <zcorpan> Lachy: there's /ie8.html though [05:45:00.0000] <jruderman_> Lachy: i think IE does the right thing there [05:46:00.0000] <webben> Philip`: There are plenty of existing tools that can show alt text beside images, if that's all you want. [05:46:01.0000] <webben> most of the webdev and accessibility toolbars can do that I think [06:06:00.0000] <hsivonen> /me needs some kind of Base64 padding for dummies guide [06:09:00.0000] <Philip`> Lachy: Because they unimplemented Node.attributes [06:12:00.0000] <Philip`> Lachy: http://software.hixie.ch/utilities/js/live-dom-viewer/ie8.html works instead [06:13:00.0000] <Philip`> Oh [06:13:01.0000] <Philip`> zcorpan already said that :-( [06:13:02.0000] <Philip`> (http://blogs.msdn.com/ie/archive/2008/04/10/html-and-dom-standards-compliance-in-ie8-beta-1.aspx - "Known issues we are planning to address in Beta 2: ... <element>.attributes.length fails. The IE8 NamedNodeMap object is in the middle of an overhaul.<element>.attributes.length fails. The IE8 NamedNodeMap object is in the middle of an overhaul.") [06:14:00.0000] <Philip`> s/(.+)\1/$1/ [06:15:00.0000] <Lachy> thanks [06:20:00.0000] <Lachy> crap, IE's selectors api implementation is really bad. [06:20:01.0000] <Philip`> In what ways? [06:21:00.0000] <Philip`> /me hopes there is a test suite that they can fail [06:21:01.0000] <Lachy> these don't work properly: querySelector(":link"), querySelector(""), .querySelector(null); [06:21:02.0000] <Lachy> although, that last one isn't really defined well in the spec [06:22:00.0000] <Lachy> I started working on the test suite today, figuring out exactly what needs to be tested and how to test it [06:23:00.0000] <Philip`> Maybe they didn't want to bother changing their CSS implementation so that :visited could be matched by :link in certain cases (like when used via the Selectors API), so they just banned both of those selectors since it was easier [06:23:01.0000] <Philip`> I'm not sure why else they wouldn't just make :link match all links [06:25:00.0000] <Philip`> /me suggests writing the test suite with YAML and Python :-) [06:25:01.0000] <Lachy> I don't know YAML [06:27:00.0000] <Philip`> It's trivial to learn :-) [06:27:01.0000] <Philip`> You write "key: value" for a hash/dict/whatever data structure, and "- stuff" for an array item, and you indent things appropriately, and that's often all you need [06:29:00.0000] <Philip`> Or you could be really boring and write the test cases in something ugly and verbose like HTML or XML [06:30:00.0000] <Lachy> well, each test needs to have a script that uses querySelector*() and associated markup. How could that be written using YAML? [06:32:00.0000] <Philip`> I did stuff like http://philip.html5.org/tests/canvas/suite/tests2d.yaml giving various data (name, spec points being tested, etc) and the JS code to run and (optionally) Python code to generate the image of the expected output [06:33:00.0000] <Philip`> and then a Python script generates the expected output image and converts the @assert lines into proper JS code and creates the HTML files for each test [06:34:00.0000] <Philip`> mostly so that I can minimise the amount of boilerplate code in the files that I have to edit [06:36:00.0000] <Lachy> nice. [06:36:01.0000] <Lachy> Can I get a copy of your python script? [06:36:02.0000] <Philip`> http://philip.html5.org/tests/canvas/suite/gentest.py [06:36:03.0000] <Philip`> It's all totally ad hoc and hacked together for this specific purpose, so it might not be very useful [06:37:00.0000] <Lachy> at least it's a starting point for me though [06:37:01.0000] <Philip`> (http://philip.html5.org/tests/canvas/suite/source.tar.bz2 has all the files) [06:38:00.0000] <Philip`> (and only a few bugs that make it not actually work) [06:43:00.0000] <Philip`> http://www.w3.org/Style/CSS/Test/guidelines.html#format just has too much stuff to copy-and-paste into each file [06:43:01.0000] <Philip`> and also I much prefer having a single file to edit, rather than six hundred [07:11:00.0000] <hsivonen> Lachy: data URI support in V.nu deployed [07:12:00.0000] <Philip`> /me finds it annoying that typing something into the Address box then pressing 'enter' does not submit the form [07:12:01.0000] <Philip`> ...in Opera 9.2 in particular [07:13:00.0000] <Philip`> Hooray for WF2 [07:13:01.0000] <Philip`> Opera says "data:text/html,hello world is not a legal URI" and refuses to submit the form [07:13:02.0000] <Philip`> /me switches to a browser which has fewer features and therefore works much better [07:14:00.0000] <Philip`> hsivonen: http://validator.nu/?doc=data%3Atext%2Fhtml%2Chello+world has an IO Error [07:15:00.0000] <hsivonen> Philip`: that for QA :-) [07:15:01.0000] <hsivonen> s/that/thanks/ [07:16:00.0000] <Lachy> Philip`, are you sure spaces are allowed in a URI like that? Shouldn't they be encoded as %20? [07:16:01.0000] <hsivonen> (of course, I only tested with ;charset=utf-8) [07:17:00.0000] <Philip`> Lachy: I'm not sure but I don't care since it works anyway [07:20:00.0000] <Lachy> Philip`, the problem is with validator.nu, since the markup contains pattern="(?:https?://.+)?" [07:20:01.0000] <Philip`> Oh, right, I assumed it was just doing type=url or something [07:20:02.0000] <Lachy> has support for data URIs been added to the validator yet? [07:21:00.0000] <Philip`> Lachy: "14:16 < hsivonen> Lachy: data URI support in V.nu deployed" indicates yes [07:21:01.0000] <hsivonen> Philip`: fixed. [07:21:02.0000] <Lachy> hsivonen, fix the pattern attribute [07:21:03.0000] <Lachy> good [07:22:00.0000] <hsivonen> Lachy: thanks. I was testing in Firefox and Safari... [07:23:00.0000] <Philip`> WF2 doesn't pass the write-new-code-and-only-test-in-legacy-browsers test [07:23:01.0000] <Lachy> that illustrates the problem with using features that aren't supported by the tools you're using, since you fail to encounter any problems in tools that do support them [07:23:02.0000] <Philip`> Input validation needs a "I don't care, submit this form anyway" feature [07:24:00.0000] <Philip`> hsivonen: (The title="Absolute IRI (http or https only) of the document to be checked." should be updated too) [07:24:01.0000] <Lachy> Philip`, that would be difficult to implement for cases where scripts capture the form validation events for custom processing [07:28:00.0000] <Philip`> Hixie: See above - WF2 is rubbish because browsers that support it work worse than browsers that don't [07:30:00.0000] <Lachy> Philip`, it's not a major problem yet, because there are very few early adopters of WF2. [07:30:01.0000] <Philip`> Lachy: It will become a more major problem in the future, if nothing is done to solve it [07:31:00.0000] <Lachy> the solution is to get more browsers to implement, and not encourage people to use it until they are testing in browsers that do support it [07:31:01.0000] <Philip`> If e.g. Firefox implemented it, I imagine it would become far more widely used, and then people would copy-and-paste WF2-using code into their own pages and only test in IE and publish it and everyone will be unhappy [07:32:00.0000] <Philip`> The only solution is to get *all* (major) browsers to implement it, and to get all users to upgrade to the new versions [07:32:01.0000] <Lachy> no, every browser needs to begin supporting it simultaneously, and all users and developers need to upgrade at the same time [07:32:02.0000] <Philip`> since people will do crazy things regardless of what encouragement you try to give [07:32:03.0000] <Philip`> so people are a lost cause, and we can only affect browsers [07:34:00.0000] <Lachy> browsers are a lost cause too, so we can only affect the spec :-) [07:36:00.0000] <Philip`> (I was surprised by how many web pages use chrome:// URIs, because they've somehow copied code generated by Firefox extensions into their own pages) [07:36:01.0000] <hsivonen> Lachy: fixed [07:37:00.0000] <hsivonen> Lachy: not that Opera blocks Philip`'s test for a different reason now [07:37:01.0000] <hsivonen> (space in IRI) [07:40:00.0000] <Philip`> hsivonen: http://validator.nu/?doc=data%3ATEXT%2FHTML%2Chello%2520world fails [07:40:01.0000] <Philip`> and HTTP says "The type, subtype, and parameter names are not case sensitive. For example, TEXT, Text, and TeXt are all equivalent." [07:41:00.0000] <Philip`> (Er, at least an old version does; a new version just says "The type, subtype, and parameter attribute names are case- insensitive") [07:46:00.0000] <hsivonen> Philip`: hmm. that fails over HTTP, too, I presume... [07:46:01.0000] <hsivonen> thanks [07:47:00.0000] <Philip`> hsivonen: http://validator.nu/?doc=http://www.eastwestpr.com - yes [08:21:00.0000] <Lachy> Philip`, I'm trying to set up the appropriate systems for using YAML, but I just need to clarify exactly what I need to do... [08:22:00.0000] <Lachy> To install PySyck, do I have to install Syck separately? If so, I only found a source code tarball for it. Is compiling and installing from the source the only way to install it on Mac? [08:24:00.0000] <Lachy> do I need PyCairo? It was listed in your README file, but it seems to be a graphics library and I don't intend to create graphics [08:24:01.0000] <Philip`> I expect PySyck includes all the code it needs, rather than relying on an external library, but I don't really know [08:24:02.0000] <Philip`> and I know nothing about installing stuff on Macs except that it's a pain [08:25:00.0000] <Lachy> do you run everything on Windows? [08:25:01.0000] <Philip`> It's probably easier to use the more normal yaml module, rather than syck - I only wanted syck because I have a few hundred kilobytes of YAML and I'm lazy and don't want to wait seconds for the parser [08:25:02.0000] <Philip`> No, I run it on Linux [08:26:00.0000] <Philip`> PyCairo is only for generating graphics, which seems irrelevant for your needs [08:26:01.0000] <Lachy> The linux and mac setup should be quite similar [08:26:02.0000] <Philip`> (Compiling stuff on Windows is a pain too :-) ) [08:27:00.0000] <Philip`> The Linux setup is "emerge syck", which I don't think works on Macs [08:27:01.0000] <Philip`> (or I guess "apt-get install syck" or whatever, on other Linuxes) [08:28:00.0000] <Lachy> I got the yaml and html5lib stuff installed. They were easy. [08:29:00.0000] <Lachy> I'm pretty sure apt-get doesn't work on mac [08:29:01.0000] <Philip`> That's because Macs are rubbish :-) [08:31:00.0000] <Lachy> no, Macs are great. All linux distros I know of have exceptionally bad usability [08:32:00.0000] <Philip`> But Linux lets you say "apt-get install syck", which is far more usable than compiling and installing a source code tarball on OS X :-p [08:33:00.0000] <Lachy> the only reason I'm hesitant about running the commands that the readme file tells me to run is because I'm not sure what to do if something goes wrong with it [08:34:00.0000] <Philip`> There shouldn't be any need for syck, so it'd be fine to ignore it if it's not trivial to install [08:43:00.0000] <Lachy> ok, now I just need to learn how to write sufficient python for my needs, and lookup the documentation for the yaml and html5lib apis [08:47:00.0000] <Philip`> The yaml API is basically "data = yaml.load(open('stuff.yaml').read())", which returns a standard Python data structure with arrays and dicts [08:47:01.0000] <Philip`> or maybe it's "data = yaml.load(open('stuff.yaml'))" [08:48:00.0000] <Lachy> ok, that sounds easy [08:48:01.0000] <Philip`> html5lib is harder :-) [08:48:02.0000] <Lachy> I've used html5lib once before. [08:48:03.0000] <Philip`> but I'm not sure what you'll need it for [08:48:04.0000] <Lachy> it shouldn't be too hard to pick up if I need it [08:49:00.0000] <Lachy> I'm not sure either, but it was easy to install and useful to have [08:49:01.0000] <Philip`> I only use it for converting the HTML5 spec into XHTML so that gentest.py can quickly load it again and annotate it with test data [08:49:02.0000] <Lachy> I guess I should figure out exactly how to structure my YAML file [08:50:00.0000] <Philip`> I never figured out anything like that, I just added stuff that I found I needed in whatever way seemed easiest [08:50:01.0000] <Philip`> It's not a big software engineering project, so planning isn't that critical :-) [08:51:00.0000] <Philip`> (Hmm, gentest.py shouldn't actually import html5lib at all...) [08:52:00.0000] <Lachy> I know, but it's my first time using YAML ever, and I'd rather not just go for an ad hoc solution when I really have no clue what I'm doing [08:52:01.0000] <Philip`> (Oh, it doesn't, at least in my latest version) [08:53:00.0000] <Philip`> By the way, this YAML+Python method might be crazy and it'd be more sensible to just use XML or something [09:03:00.0000] <Lachy> what's so crazy about the YAML+Python method? [09:14:00.0000] <Lachy> JohnResig, yt? [09:14:01.0000] <JohnResig> Lachy: yep [09:14:02.0000] <Lachy> did you get my response about the selectors api test suite? [09:15:00.0000] <JohnResig> yeah, I was pulling together some links for you [09:15:01.0000] <Lachy> ok. I'm just wondering about which builds of Mozillla implement selectors api? [09:15:02.0000] <Lachy> if any [09:15:03.0000] <JohnResig> Lachy: we don't - here's the bug https://bugzilla.mozilla.org/show_bug.cgi?id=416317 [09:16:00.0000] <Lachy> ok, thanks [09:17:00.0000] <JohnResig> Lachy: I was going to point you at this: http://disruptive-innovations.com/zoo/css3tests/selectorTest.html#target [09:18:00.0000] <Lachy> ok. Put that, and anything else, in an email. [09:18:01.0000] <JohnResig> k [09:19:00.0000] <Lachy> I have to go to Norwegian lessons very soon, I'll be back later [09:19:01.0000] <JohnResig> k [09:20:00.0000] <Lachy> btw, those tests give a reasonable overview, but it doesn't seem particularly well constructed for determining exactly which tests are failing [09:21:00.0000] <Lachy> it seems more like an acid test [09:21:01.0000] <Lachy> though not as pretty [09:21:02.0000] <JohnResig> Lachy: just mouse over any test - the title describes it - although, using JavaScript, it'd be easy enough to dump that to a log [09:22:00.0000] <Lachy> oh, ok [09:22:01.0000] <Lachy> anyway, gotta go. cya [10:48:00.0000] <Philip`> /me finds a peculiarly translated blog post saying "The WS-Policy 1.5 - Framework writing crapper be accessed here.", which does not induce comfortable images [12:27:00.0000] <BenMillard> hsivonen_, you e-mailed public-html with this: "HTML 5 seeks to make layout tables non-conforming, which I think it is an exercise in futility." I've been thinking about defining what a layout table is in terms of which elements and attributes it does and does not use, so they could be told apart from data tables automatically [12:27:01.0000] <BenMillard> hsivonen_, something like "If a table contains <th>, scope or headers it is a data table. Otherwise it is a layout table." [12:28:00.0000] <BenMillard> layout tables which match the description for layout tables would be conforming; layouts tables which include <th>, scope or headers would not be conforming [12:32:00.0000] <webben> BenMillard: Looking for accessibility markup as a hint is nice in theory (it's the approach WCAG 1.0 was geared towards); I'm not sure it works that well in practice. [12:32:01.0000] <webben> (That is, I'm not sure how consistently data tables use any of that markup.) [12:33:00.0000] <webben> FWIW I think JAWS used to assume that outer tables were layout tables and inner tables were data tables. [12:33:01.0000] <webben> (when all it had was td anyhow) [12:34:00.0000] <webben> Given IE8's support for CSS table display properties, I'm not clear what the authoring advantages of layout tables would be anymore. [12:35:00.0000] <BenMillard> support legacy content and authoring convenience spring to mind [12:36:00.0000] <webben> so long as HTML5 defines how UAs treat layout tables, do you reckon people care about the conformance of legacy content? [12:37:00.0000] <BenMillard> I meant making legacy content work with ATs by having one interoperable method of detecting layout tables [12:37:01.0000] <webben> But that's not a conformance issue for authors; that's a conformance issue for UAs. [12:37:02.0000] <webben> Is that what we're talking about? [12:38:00.0000] <webben> If so, I hadn't realized HTML5 was insisting UAs treat table as data; that indeed wouldn't be very wise. [12:39:00.0000] <webben> If *not, I mean [12:39:01.0000] <BenMillard> http://sitesurgeon.co.uk/tables/ - 45% of the data tables I found don't use <th>; 35% use <td> for all their headers without scope or headers. telling authors their layout tables or data tables are broken seems useful for a checker [12:40:00.0000] <webben> Yes. [12:40:01.0000] <BenMillard> so there would be requirements for authors to follow the definitions and UAs to detect which tables fit which definition [12:41:00.0000] <webben> I'm not sure I can see authors combing over old table layouts to turn them into conforming layout tables. [12:41:01.0000] <BenMillard> "Outer tables can never be data tables." could be part of the definition [12:41:02.0000] <webben> I'd have thought it would be more useful to have a validator mode for checking all non-conforming markup is in a state that should "work". [12:42:00.0000] <webben> *more precise [12:42:01.0000] <BenMillard> the definition of layout tables would be informed by research into how they are currently authored; I'm just giving basic ideas for now :) [12:42:02.0000] <webben> then the few authors interested in converting old table layouts into working table layouts could use the tool like that [12:43:00.0000] <webben> likewise it could check over <applet> and any other things HTML5 considers beneath itself ;) [12:43:01.0000] <BenMillard> for authors, the idea would be to make working tables of either type conforming; broken tables of either type non-conforming [12:44:00.0000] <webben> BenMillard: I think one thing you need to factor into this is that the JAWS thing was practical because it worked for a general case; but you can switch between interpreting a given table as layout or data. [12:45:00.0000] <webben> That may be a more important facility for dealing with tables then the algorithm for guessing layout vs data. [12:46:00.0000] <BenMillard> that switch could be retained but the heuristics improved in HTML5 [12:46:01.0000] <BenMillard> so you wouldn't need to use the switch so much [12:47:00.0000] <webben> Well, yes, but making users use a switch isn't ideal; and making layout tables non-conforming supports their conversion to something that doesn't require a switch. [12:48:00.0000] <BenMillard> webben, these are useful points :) [12:49:00.0000] <BenMillard> but as you said, "few authors interested in converting old table layouts" mean big changes aren't going to happen in the legacy [12:50:00.0000] <BenMillard> if the layout table description is good enough, you won't need to use the switch because the detection will be right most or all of the time [12:50:01.0000] <webben> indeed. which is why I don't think authorial conformance requirements should be designed around people tweaking legacy markup. [12:50:02.0000] <webben> if. yes. [12:50:03.0000] <webben> guess you (or someone) needs to go give their best shot at an algorithm [12:51:00.0000] <BenMillard> yeah, I'm working on sponsorship to cover work like this [12:51:01.0000] <webben> but that still seems more about how UAs handle existing content than author conformance requirements [12:51:02.0000] <webben> (e.g. if you wanted to make it really easy for authors to indicate tables are for layout one could just have a layout attribute on table.) [12:51:03.0000] <webben> rather than requiring them to root through their th's [12:51:04.0000] <BenMillard> the idea is only a tiny number of layout tables would need changes [12:52:00.0000] <BenMillard> it will take research to figure out if legacy layout tables follow patterns consistently enough for this to be feasible :P [12:52:01.0000] <webben> I should imagine layout-table-forms vs. spreadsheet-table-forms would be a particularly painful area to try and spec out. [12:55:00.0000] <BenMillard> that's something I've been discussing on Accessify Forum recently (as Cerbera): http://www.accessifyforum.com/viewtopic.php?t=9791 [12:56:00.0000] <BenMillard> the UA part is at the end, summarised here: http://projectcerbera.com/blog/2008/04#day14 [12:58:00.0000] <BenMillard> would be cool if we can find a sane way for these things to Just Work natively [12:59:00.0000] <webben> yes. [13:08:00.0000] <BenMillard> zcorpan_, hi [13:09:00.0000] <zcorpan_> BenMillard: hi [13:10:00.0000] <BenMillard> zcorpan_, we've been talking about data tables, layout tables and tabular forms: http://krijnhoetmer.nl/irc-logs/whatwg/20080414#l-346 [13:10:01.0000] <zcorpan_> BenMillard: thanks, reading [13:15:00.0000] <zcorpan_> BenMillard: many layout tables use <th> [13:16:00.0000] <zcorpan_> BenMillard: and there are legitimate data tables with no <th> [13:19:00.0000] <BenMillard> zcorpan_, I'm not sure how many is many. <th> seems rare any place I've looked... [13:20:00.0000] <BenMillard> zcorpan_, a table with no headers is using layout to indicate relationships rather than labelling...so I'm not sure if that's a "legitimate" data table. [13:20:01.0000] <BenMillard> I don't have a concrete proposal for this, it's just an idea for now :) [13:22:00.0000] <zcorpan_> i don't have data about how many data tables use <th>, but i've seen several and <th> is a pretty common element in hixie's billion-document-study from 2005 [13:23:00.0000] <BenMillard> this headerless data table http://sports.espn.go.com/nhl/news/story?page=statistics/glossary should probably use <th> in the 1st column [13:23:01.0000] <zcorpan_> i don't consider a family tree <table> a layout table [13:24:00.0000] <Philip`> (I saw <th> on about 4% of pages) [13:24:01.0000] <zcorpan_> Philip`: and <td>? [13:24:02.0000] <Philip`> (and <table> on 74%) [13:24:03.0000] <zcorpan_> (ok) [13:24:04.0000] <Philip`> (and <td> on 0.2% fewer than <table>) [13:27:00.0000] <zcorpan_> Philip`: do you have a list of pages that use <th>? [13:27:01.0000] <Philip`> (and <tbody> on 0.2% in total) [13:27:02.0000] <Philip`> zcorpan_: http://canvex.lazyilluminati.com/survey/2007-07-17/analyse.cgi/pages/tag/th [13:30:00.0000] <BenMillard> zcorpan_, just viewed some family trees and see what you mean [13:30:01.0000] <zcorpan_> Philip`: thanks [13:35:00.0000] <BenMillard> zcorpan_, <ul> seems a better choice for the ancestor/sibling/descendant relationships in family trees, although I haven't check how that would look [13:36:00.0000] <zcorpan_> BenMillard: maybe, but it would make styling extremely non-trivial as to make it unrealistic [13:37:00.0000] <zcorpan_> in print, they are in a grid [13:37:01.0000] <Philip`> The strict tree model breaks down if your family has had some 'interesting' relationships [13:37:02.0000] <BenMillard> lol :D [13:37:03.0000] <zcorpan_> Philip`: that too, but that also makes it hard to do with <table> :P [13:38:00.0000] <BenMillard> display: table-* enjoying greater support might help? [13:39:00.0000] <zcorpan_> so the 5 first pages i've looked at with <th>, none of them had data tables [13:40:00.0000] <zcorpan_> BenMillard: can you make a demo page where nested <ul> displays like a proper grid with css? [13:40:01.0000] <Philip`> (My data is almost a year old so be careful that the pages haven't changed to be totally different nowadays) [13:40:02.0000] <BenMillard> zcorpan_, I'd like to do that and work on this properly but can't afford the time yet [13:41:00.0000] <BenMillard> just wanted to mention it here to get the cogs turning in other peoples' heads [13:41:01.0000] <zcorpan_> BenMillard: i've looked at making nested <ul>s show like a grid before but couldn't figure out a sane way to do it [13:42:00.0000] <zcorpan_> Philip`: i checked the source to confirm that they had <th [13:42:01.0000] <zcorpan_> (the first didn't) [13:42:02.0000] <zcorpan_> (so skipped it) [13:43:00.0000] <zcorpan_> the wikipedia page wasn't really a layout table, i guess, but it wasn't a data table either (it should have used <h3/><ul/> instead) [13:44:00.0000] <BenMillard> zcorpan_, if you can't do it then it must be impossible :) [13:44:01.0000] <zcorpan_> lol [13:44:02.0000] <zcorpan_> well it was quite a while ago [13:45:00.0000] <zcorpan_> perhaps i gave up too quickly and thought that <table> was the right way to do it [13:45:01.0000] <zcorpan_> (and i still think it is) [13:48:00.0000] <BenMillard> I remember your nested FIFA table was correctly laid out while my single <table> with several <tbody> was not [13:51:00.0000] <zcorpan_> (http://simon.html5.org/sandbox/html/fifa ) [13:54:00.0000] <BenMillard> the team names should be <th>? [13:55:00.0000] <BenMillard> (mine was http://sitesurgeon.co.uk/!dev/fifa2006/ben-millard.html) [14:14:00.0000] <zcorpan_> Hixie: should insertHTML use the html parser in xml documents too? [14:27:00.0000] <Hixie> zcorpan_: if you can find me a UA that uses an XML parser, I'm happy to switch it [14:27:01.0000] <Hixie> zcorpan_: my investigation suggested it was HTML all the way [14:28:00.0000] <zcorpan_> Hixie: last time i checked, opera always uses the html parser while firefox and webkit inserthtml only works in text/html [14:29:00.0000] <Hixie> k [14:29:01.0000] <Hixie> html it is then [14:30:00.0000] <zcorpan_> but it seems weird to have all the checks in the dom everywhere (like, say, setting dataset.foo) if inserthtml can insert anything in an xml document anyway [14:31:00.0000] <Hixie> zcorpan_: i put checks in dataset.foo? [14:32:00.0000] <zcorpan_> Hixie: "If setAttribute() would have raised an exception when setting an attribute with the name name, then this must raise the same exception." [14:32:01.0000] <Hixie> ah, ok, that's just setAttribute() then [14:32:02.0000] <Hixie> right, i basically set that up to be equivalent to setAttribute(), for ease of implementation [14:32:03.0000] <zcorpan_> that makes sense [15:25:00.0000] <annevk> hmm, CSS gradients [15:27:00.0000] <roc> I'm not all that enthusiastic about reinventing all of SVG in CSS [15:27:01.0000] <annevk> It does make sense though to have them in CSS... [15:28:00.0000] <roc> it makes some sense to have it all in CSS [15:28:01.0000] <Philip`> Lachy_: It's crazy because it's unconventional, particularly in the W3C world of XML, and also YAML is way too complex to be considered sane, and also writing single-purpose custom scripts seems an odd way to do a common task like publishing test suites [15:28:02.0000] <Philip`> (but I think it works well anyway, at least for me) [15:29:00.0000] <annevk> roc, true [15:29:01.0000] <roc> it's sort of like how the SVG people wanted to reinvent HTML+CSS text layout in SVG [15:29:02.0000] <Lachy_> Philip`, ok. I'm open to other suggestions, if anyone has any [15:29:03.0000] <annevk> I think they're still persuing the SVG application thingie... [15:29:04.0000] <jgraham_> Hmm, whilst I don't claim to fully understand all the issues, it seems like some of the people on public-appformats are just sending repeated emails saying the same thing, ignoring the counter points that have been made [15:30:00.0000] <annevk> jgraham_, JonF? [15:30:01.0000] <jgraham_> annevk: :) [15:30:02.0000] <roc> obviously reinventing it all makes no sense. but copying just one more feature that you really want is so attractive... [15:31:00.0000] <roc> the rest follows by inductino [15:31:01.0000] <annevk> Maybe we should make it so that where SVG gradients become like <font> tags :) [15:31:02.0000] <annevk> s/where// [15:31:03.0000] <jgraham_> Lachy_: JSON is more widely spoken than YAML but might have a nicer syntax or something [15:31:04.0000] <jgraham_> er s/but/but YAML/ [15:31:05.0000] <annevk> Things you can do through CSS or markup [15:32:00.0000] <annevk> (But SVG gradients are likely far more complex and the CSS stuff is probably a subset.) [15:32:01.0000] <Philip`> JSON syntax is nasty - you'd need to escape all the quotes in your strings, which is pain when you're trying to put JS code in there [15:32:02.0000] <roc> annevk: it may be a subset *for now* [15:32:03.0000] <roc> but I have no confidence that line will be held [15:32:04.0000] <jgraham_> Philip`: Yeah, I can't say I particularly like JSON [15:32:05.0000] <Philip`> SVGT1.2 gradients didn't look very complex when I last looked [15:33:00.0000] <Philip`> though they're probably so limited you'd actually want the SVG1.1 features instead, so I guess that gets more complex again [15:33:01.0000] <Philip`> (like I think SVGT1.2 radial gradients can only have the focus point in the centre) [15:34:00.0000] <annevk> roc, in that case, <font> :) [15:35:00.0000] <annevk> every time I see KML I think it says KLM [15:36:00.0000] <roc> CSS animation and transitions make some sense because SMIL is horrible, and CSS transforms make some sense because wrapping SVG around elements destroys layout, but it seems to me that SVG paint servers could be integrated with CSS without much pain [15:36:01.0000] <Philip`> KLM = Royal Dutch Airlines? [15:37:00.0000] <annevk> Koninklijke Luchtvaart Maatschappij [15:37:01.0000] <annevk> (but yes, that's the English translation) [15:37:02.0000] <Philip`> /me has never heard of them, so he never makes that mistake when reading KML :-) [15:39:00.0000] <Hixie> certainly imho anything that css does with gradients should basically re-use the svg paint server system [15:39:01.0000] <shepazu> I don't think that allowing a proper subset of SVG gradients to be expressed in CSS is bad at all [15:39:02.0000] <Hixie> though it might involve new syntax to do so (much like how svg in text/html is new syntax but creates the same dom in the backend) [15:39:03.0000] <shepazu> I think there's room for both "paint servers" [15:40:00.0000] <roc> that leads to disaster [15:41:00.0000] <roc> well, "here is some CSS syntax for SVG" isn't so bad. "Here is some CSS that is supposed to be equivalent to some SVG, but we specify it ourselves anyway" is really bad [15:42:00.0000] <Philip`> It'd be like <canvas> [15:42:01.0000] <roc> my impression was that Webkit's implementation of CSS gradients does not use their SVG code, although I could be mistaken, which disturbs me [15:43:00.0000] <annevk> I hope it doesn't call into Mac OS platform APIs... [15:43:01.0000] <Philip`> annevk: What else would it do? [15:44:00.0000] <annevk> (I'm also in the camp that would like CSS syntax to map to an SVG paint server.) [15:45:00.0000] <Philip`> If I understand correctly (based on approximately no knowledge), WebKit has (or is aiming for?) an internal gradient-painting API, which can be used by SVG/CSS/canvas, which has lots of platform-specific implementations (CG, Cairo, etc) [15:45:01.0000] <roc> *that*'s not a problem [15:46:00.0000] <roc> we have one too, called cairo [15:46:01.0000] <Philip`> so at some level it uses the platform APIs, rather than reimplementing all the drawing code itself [15:48:00.0000] <alp> there's no re-implementing of anything except gradient stop parsing, http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/platform/graphics/Gradient.cpp <- the cross-platform part [15:49:00.0000] <alp> http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/platform/graphics/cairo/GradientCairo.cpp <- the cairo backend for it (needs a tiny bit more work) [15:57:00.0000] <roc> that code doesn't seem to handle the SVG spread modes [15:59:00.0000] <othermaciej> the intent is to use the same core code, if you want the details of how it is at the moment you'd have to ask hyatt [15:59:01.0000] <alp> roc: might be an idea to propose sharing the SVG gradient implementation, or better, providing a patch [16:02:00.0000] <roc> yeah, that would be fun :-) [16:03:00.0000] <roc> but seriously, platform/graphics/Gradient.cpp and svg/graphics/cairo/SVGPaintServerGradientCairo.cpp are clearly duplicating code, so I'm not sure what your comment "there's no reimplementation of anything" is supposed to mean [16:04:00.0000] <othermaciej> roc: hyatt says css gradients share the back end with canvas but not with svg [16:05:00.0000] <alp> roc: Philip` was asking if webkit was re-implementing rasterisation code or using platform APIs. it is the latter [16:07:00.0000] <roc> ok [16:07:01.0000] <dhyatt> roc: othermaciej said you had questions about the gradient stuff [16:07:02.0000] <roc> hello! [16:08:00.0000] <roc> I'm afraid of a gradual import of all of SVG paint servers into CSS and would rather see a general reuse of SVG paint servers [16:08:01.0000] <roc> possibly with some CSS syntax [16:09:00.0000] <dhyatt> how would you link to svg though [16:09:01.0000] <roc> but since you're not reusing your SVG code that way, divergence seems inevitable, which worries me [16:09:02.0000] <dhyatt> i plan to unify all of our gradient code [16:09:03.0000] <dhyatt> canvas and the new css feature use the same back end gradient* object [16:09:04.0000] <dhyatt> i'm going to try to unify svg with it [16:10:00.0000] <roc> good [16:10:01.0000] <andersca_> the grand unification theory [16:11:00.0000] <dhyatt> canvas is sharing with this [16:12:00.0000] <roc> I haven't got a concrete proposal, I'm afraid, but you could allow "fill: url(foo.svg#elem)" on arbitrary elements, perhaps [16:12:01.0000] <Philip`> /me guesses specs will need to be careful to give consistent definitions, if the implementations are going to be shared [16:12:02.0000] <roc> that's the problem [16:12:03.0000] <roc> the only safe thing to do is to incorporate by reference [16:12:04.0000] <Philip`> (Opera complained about the canvas gradient spec being nasty, and it'd be better to follow SVG more closely) [16:14:00.0000] <roc> or we could deal with CSS syntax for gradients, even, as long as the spec says "this is equivalent to the SVG: ..." [16:14:01.0000] <dhyatt> i have no real opinion about which gradient definition to follow [16:14:02.0000] <roc> apart from ensuring common behaviour, it's also important to get common evolution [16:14:03.0000] <dhyatt> i think pointing to an svg gradient from css is ok but kind of defeats the point [16:15:00.0000] <dhyatt> which is to not have to load another file to render a gradient :) [16:15:01.0000] <roc> why? [16:15:02.0000] <roc> data: ! [16:15:03.0000] <roc> or HTML5 <svg> [16:15:04.0000] <dhyatt> that would be super clunky compared to just having a native gradient syntax in css though [16:16:00.0000] <roc> or something new [16:16:01.0000] <annevk> C4X [16:16:02.0000] <roc> well like I said, native gradient syntax in CSS isn't so bad [16:17:00.0000] <dhyatt> i think it's fine to be able to point to an svg gradient [16:17:01.0000] <dhyatt> i just don't think anyone would use it if you could just use straight css :) [16:17:02.0000] <dhyatt> unless it had functionality you couldn't get from the css version [16:18:00.0000] <roc> external SVG references would let you do any paint server, including future SVG extensions [16:19:00.0000] <roc> my main concern is that if the spec says more than "this CSS is equivalent to this SVG" then inevitably the specs will diverge [16:19:01.0000] <roc> either by mistake, or via extensions in one spec or the other [16:20:00.0000] <roc> same bad feeling as when SVG 1.2 started dragging in HTML+CSS text layout, one feature at a time [16:21:00.0000] <dhyatt> i don't really view gradients as the sole province of svg though [16:22:00.0000] <dhyatt> gradients were in use as background images on web sites before svg existed [16:22:01.0000] <roc> it's not about a turf war or who was there first, it's about sharing code, specs and brainprint [16:22:02.0000] <shepazu> I agree with dhyatt here [16:22:03.0000] <shepazu> but I also agree with roc [16:22:04.0000] <othermaciej> just because SVG includes gradients doesn't mean gradients are a "vector graphics" feature [16:22:05.0000] <shepazu> :) [16:22:06.0000] <dhyatt> yeah, i'm not disagreeing with the idea of saying the gradients behave the same as svg [16:23:00.0000] <dhyatt> or that the code should be shared internally [16:23:01.0000] <dhyatt> that all sounds good to me [16:23:02.0000] <shepazu> making it a consistent model for developers is what I would aim for [16:23:03.0000] <dhyatt> but for example, for os x, we might add custom extensions to make all the coreimage generators work [16:24:00.0000] <shepazu> that is, page authors... but to a lesser extent, browser developers as well [16:24:01.0000] <dhyatt> they don't necessarily have svg equivalents [16:24:02.0000] <dhyatt> (nor would this be proposed as a spec or anything) [16:24:03.0000] <roc> fine, but I'm sure you can figure that out [16:25:00.0000] <othermaciej> what other generators does CoreImage have? [16:27:00.0000] <dhyatt> lenticular halos, starbursts, checkerboards, ummm [16:27:01.0000] <Philip`> Ooh, can I cover my web page in lens flares? [16:27:02.0000] <dhyatt> stripes, star shine [16:27:03.0000] <dhyatt> i think that's all of them [16:27:04.0000] <othermaciej> lens flares would be more of a filter effect than a generator [16:27:05.0000] <dhyatt> can do gaussian gradients too [16:31:00.0000] <dhyatt> i would need to do research to understand what is different about svg gradients vs. canvas gradients [16:31:01.0000] <dhyatt> Philip said opera disliked something about canvas gradients [16:33:00.0000] <Philip`> dhyatt: http://lists.w3.org/Archives/Public/public-html/2007Oct/0336.html [16:33:01.0000] <dhyatt> anyway, not interested in starting some kind of svg turf war :) [16:34:00.0000] <Philip`> http://lists.w3.org/Archives/Public/public-html/2007Oct/0350.html says some things about canvas vs SVG definitions [16:35:00.0000] <Philip`> (Only WebKit almost implements canvas radial gradients according to the spec) [16:35:01.0000] <Philip`> (and that's mostly because the spec was written to match WebKit, since the other implementations were too buggy) [16:36:00.0000] <dhyatt> i see. [16:36:01.0000] <dhyatt> so my radial gradient syntax is "canvas-biased" [16:36:02.0000] <roc> "uh oh" [16:37:00.0000] <dhyatt> or more accurately "cg-biased" [16:37:01.0000] <dhyatt> since canvas itself is cg-biased [16:38:00.0000] <Philip`> CG varies a bit at radial gradients between OS X 10.4 and 10.5, which makes it more fun [16:39:00.0000] <dhyatt> i don't really understand the difference rendering-wise [16:39:01.0000] <Philip`> (I suppose that's only in edge cases, but I'm pointlessly interested in edge cases) [16:40:00.0000] <dhyatt> how would you translate the svg way into cg [16:40:01.0000] <othermaciej> dhyatt: I really want gradients for text, but I guess the best way to do that is to allow some general sense of fill rules for text in CSS [16:40:02.0000] <dhyatt> i guess i could just look at our code heh [16:40:03.0000] <dhyatt> othermaciej: yeah, background-clip: text does it, but that's kind of a hack [16:40:04.0000] <dhyatt> othermaciej: fantasai suggested possibly a text-fill [16:41:00.0000] <dhyatt> we already have text-fill-color [16:41:01.0000] <dhyatt> that could become part of a larger shorthand [16:41:02.0000] <othermaciej> yeah, I mean, what if I want to do gradient text on a different gradient background? [16:41:03.0000] <othermaciej> for my Super Swingin' '70s blog [16:41:04.0000] <dhyatt> well because of multiple backgrounds you ca nactually do that [16:41:05.0000] <dhyatt> evne using the background-clip: text hack [16:41:06.0000] <othermaciej> background-clip: text only clips the frontmost background? [16:41:07.0000] <dhyatt> but i don't like the hack since it puts the text rendering at the background level [16:41:08.0000] <dhyatt> so selection looks funny [16:41:09.0000] <dhyatt> and text dragging doesn't draw right [16:42:00.0000] <dhyatt> othermaciej: no you can clip any background in the stack [16:42:01.0000] <dhyatt> so you can create some intriguing effects :) [16:42:02.0000] <othermaciej> oh, background-clip can apply to any background? [16:42:03.0000] <othermaciej> I see [16:42:04.0000] <dhyatt> since one in the middle can clip to text and then a higher background can even overlay it with transparency [16:45:00.0000] <dhyatt> ok dinner [16:46:00.0000] <mcarter> hello [16:47:00.0000] <Philip`> mcarter: Hello [16:48:00.0000] <Philip`> /me sees http://benjamin.smedbergs.us/blog/2008-04-14/hgweb-viewer-canvas-version/ on SVG vs canvas 2008-04-15 [17:05:00.0000] <jacobolus> Hixie: so does webkit's continual adding of new stuff make you annoyed that you'll have to keep adding new specs, or glad that browsers are innovating again? :p [17:06:00.0000] <roc> great, once again our bacon is saved by an undocumented WK* API. [17:06:01.0000] <Hixie> so long as they keep adding css stuff, it becomes the problem of the css wg, not ours :-) [17:06:02.0000] <jacobolus> Hixie: by the way, I very much like the changes to the Server-Sent Events spec. I'm not sure when that was changed (sometime in the last 2-3 months?) but the changes make it much cleaner and more useful. [17:07:00.0000] <Hixie> yeah it wasn't too long ago [17:07:01.0000] <Hixie> glad you like 'em [17:08:00.0000] <jacobolus> Hixie: my friend (and maybe I'll help him out w/ this) plans to implement a javascript shim to handle SSE streams from Firefox/Safari/Opera using xhr [17:08:01.0000] <Hixie> nice [17:08:02.0000] <jacobolus> and from IE using iframes inside htmlfile activex objects [17:08:03.0000] <jacobolus> but that won't be quite perfect [17:08:04.0000] <jacobolus> because IE requires 256 bytes of padding before incremental rendering [17:09:00.0000] <jacobolus> (as will safari under Tiger :/) [17:09:01.0000] <Hixie> :-/ [17:10:00.0000] <jacobolus> but anyway, if/when that is done, it should be rather easier to handle the server end [17:11:00.0000] <Philip`> Could you transparently add 256-byte comments into the output stream? [17:12:00.0000] <jacobolus> Philip`: yes [17:12:01.0000] <jacobolus> Philip`: but you have to do it from the server side [17:12:02.0000] <Philip`> /me is reminded of the X-Pad and X-Pad-For-Netscrape-Bug HTTP headers [17:12:03.0000] <jacobolus> which means that the browser end won't be a perfect implementation of the spec [17:12:04.0000] <Philip`> Ah [17:12:05.0000] <jruderman> is that because of sniffing for feeds and other non-HTML content? [17:12:06.0000] <jacobolus> so server makers would still have to implement spec+ [17:13:00.0000] <Hixie> growing pains [17:13:01.0000] <Hixie> it happens [17:13:02.0000] <Philip`> It doesn't necessarily happen - you just have to stop growing [17:13:03.0000] <jacobolus> jruderman: in the Webkit/<10.4 case, it's because of the OS network I/O routines used [17:13:04.0000] <jacobolus> which they fixed in 10.5 [17:14:00.0000] <jruderman> ok [17:14:01.0000] <jacobolus> in the IE case, I'm not sure [17:14:02.0000] <jacobolus> I think it's because using iframes for Comet is basically an unanticipated hack :p [17:17:00.0000] <jacobolus> Hixie: is it true that the latest Opera went and implemented the complete few-months-ago version of SSE? [17:18:00.0000] <KevinMarks> "will HTML5 help fix the back button problem?" [17:18:01.0000] <Hixie> jacobolus: they implemented it long ago [17:18:02.0000] <Hixie> jacobolus: before the spec changed [17:18:03.0000] <jacobolus> Hixie: no, that was a very *incomplete* implementation [17:18:04.0000] <Hixie> jacobolus: oh [17:18:05.0000] <Hixie> jacobolus: i don't know of any other work [17:18:06.0000] <Hixie> jacobolus: it's possible [17:18:07.0000] <Hixie> jacobolus: in either case the two can live side-by-side, as they have different MIME types [17:18:08.0000] <jacobolus> someone was telling me they had implemented much more of the spec (but still before it changed) [18:42:00.0000] <mcarter> Hixie, out of curiosity, what was the driving force behind the SSE changes? Is there a mailing list thread about it? [18:43:00.0000] <Philip`> mcarter: http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-February/014027.html hopefully covers the relevant points [18:43:01.0000] <Hixie> yeah that's the main summary [18:44:00.0000] <mcarter> Philip`, thanks [18:44:01.0000] <Hixie> http://www.google.com/search?q=%22received+was+when+it+reconnects,+so+as+to+allow+seamless+continuation%22&hl=en&client=firefox-a&rls=org.mozilla:en-US:official&hs=m4t&filter=0 has that message in other archives [18:45:00.0000] <Hixie> in case you can find one that actually links to the e-mails listed in the "References" headers [18:46:00.0000] <Philip`> Hixie: The References header points at http://lists.w3.org/Archives/Public/public-webapi/2008Feb/0137.html http://lists.w3.org/Archives/Public/public-webapi/2008Feb/0138.html http://lists.w3.org/Archives/Public/public-webapi/2008Feb/0165.html [18:46:01.0000] <Philip`> which are about something totally different [18:47:00.0000] <Hixie> exclusively, or amongst other things? [18:47:01.0000] <Philip`> Exclusively [18:47:02.0000] <Hixie> i believe those e-mails were part of those that i had looked at when creating that e-mail, but i don't know why it would only list those [18:47:03.0000] <Hixie> you sure that the original e-mail didn't include anything else? [18:47:04.0000] <Philip`> Message-ID: <Pine.LNX.4.62.0802212051290.6407⊙hdc> [18:47:05.0000] <Philip`> References: <0b2b01c8730f$d41b1ef0$4200a8c0@kris> <op.t6r4mdhm64w2qv⊙aooc> <E23F5599-9BDB-4723-A3AC-D9B80B1BBD45⊙do> [18:47:06.0000] <Philip`> Content-Language: en-GB-hixie [18:47:07.0000] <Hixie> huh [18:47:08.0000] <Hixie> weird [18:48:00.0000] <Hixie> how many references does my mathml/svg mail have? [18:48:01.0000] <Hixie> that one should have 620 [18:48:02.0000] <Hixie> maybe pine is truncating the list [18:48:03.0000] <Hixie> when it sends it out [18:48:04.0000] <Hixie> that would suck [18:48:05.0000] <Dashiva> 620... references... [18:48:06.0000] <Philip`> 1 [18:49:00.0000] <Philip`> Message-ID: <Pine.LNX.4.62.0804060112390.18949⊙hdc> [18:49:01.0000] <Philip`> References: <op.t8402scsidj3kv⊙hb> [18:49:02.0000] <Philip`> Content-Language: en-GB-hixie [18:49:03.0000] <Hixie> crap [18:49:04.0000] <Hixie> silly mail client [18:49:05.0000] <Philip`> (assuming Gmail doesn't do anything stupid on received mail) [18:49:06.0000] <Hixie> oh gmail almost certainly does something stupid [18:49:07.0000] <Hixie> in its display, at least [18:49:08.0000] <Hixie> but pine might well also do something stupid [18:50:00.0000] <Philip`> This is the raw "Show original" display [18:50:01.0000] <Philip`> http://lists.w3.org/Archives/Public/public-html/2008Apr/0205.html only lists the one "In reply to" too [18:50:02.0000] <jacobolus> that's unfortunate :/ [18:50:03.0000] <Hixie> well bummer [18:51:00.0000] <Hixie> well, the w3c archives only list the In Reply To lines for things in the same month archive [18:51:01.0000] <Hixie> so that might not mean much in general, though in this case it should be including far more [18:51:02.0000] <Hixie> i guess pine is trimming my in-reply-to or references: headers [18:51:03.0000] <Hixie> that sucks [18:51:04.0000] <Dashiva> What mail was it you wanted to check? [18:52:00.0000] <Dashiva> "Supporting MathML and SVG in text/html, and related topics" <-- that? [18:52:01.0000] <Hixie> yeah [18:53:00.0000] <Dashiva> Only one references here too. [18:54:00.0000] <Dashiva> How would you make it reference all those mails anyhow? Is there a "reply to many mails at once" thing? [18:54:01.0000] <Hixie> yes [18:55:00.0000] <Philip`> You should write all your SMTP messages by hand, to make sure it does what you expect [18:55:01.0000] <Hixie> i don't care enough :-) [18:57:00.0000] <Dashiva> Make the mail client represent your inbox as a graph, then draw lines from the mails you want to reference [18:57:01.0000] <Hixie> the ui part is solved, in pine [18:57:02.0000] <Hixie> i just wish it actually did the right thing [18:58:00.0000] <Dashiva> So it lists all the references at the top of the screen, not just an invisible list based on your initial reply selection? [19:02:00.0000] <Hixie> the ui should be non-existent for this [19:03:00.0000] <Hixie> i can select messages to reply to [19:03:01.0000] <Hixie> it should automatically refer to all of these elements [19:05:00.0000] <Hixie> ok i dunno wtf just happened but the last few checkins are a mess [19:07:00.0000] <Hixie> entities just updated too, btw [19:50:00.0000] <Hixie> i wonder what i should work on next [19:52:00.0000] <Philip`> Find a section of the spec that is being implemented, and then rewrite it to be totally different [19:53:00.0000] <Hixie> sweet, we broke the 3000 e-mail point [19:54:00.0000] <Hixie> only 2961 e-mails on the pile now [19:54:01.0000] <Hixie> the number has gone down 900 e-mails since oct 3 last year [19:55:00.0000] <Hixie> that's one e-mail every 5 or so hours [19:56:00.0000] <Hixie> about 4.5 e-mails a day average over 6 months [19:57:00.0000] <Hixie> 658 days to go if there are more months like january where i do no html5 work [19:57:01.0000] <Philip`> "ack r12n for the last checkin" - s/r12n/r12a/ :-p [19:57:02.0000] <Philip`> Oh [19:58:00.0000] <Hixie> yeah i tried to correct it but half the checkin was already in [19:58:01.0000] <Philip`> /me reads the more recent commit message [19:58:02.0000] <Philip`> I thought SVN did atomic transactions so it wouldn't do half a checkin [19:59:00.0000] <Hixie> guess not [21:12:00.0000] <crschmidt> So, I'm using the client side storage stuff in Safari. and I'm wondering how to do 'give this insert the next available monotonically increasing ID' [21:12:01.0000] <crschmidt> be it via sequences, auto_increment, or something else. [21:12:02.0000] <crschmidt> I googled a bit and didn't find anything useful: Am I missing something obvious? [21:13:00.0000] <crschmidt> (I realize this is probably implementation specific, but I don't even know where to start.) [21:23:00.0000] <jwalden> it would be; <editorialize>it's unconscionable, but the SQL stuff in the HTML5 drafts doesn't specify a subset of SQL which must be supported, which is absolutely horrible given how much HTML5 has concerned itself with implementation compatibility elsewhere</editorialize>; people in #webkit would know, not sure whether they mind fielding such questions or not, tho [21:31:00.0000] <othermaciej> read the MySQL docs [21:32:00.0000] <crschmidt> jwalden: Sure it does! It says 'the subset of SQL which must be supported will be defined in the future' [21:32:01.0000] <crschmidt> :) [21:32:02.0000] <crschmidt> othermaciej: thanks [21:32:03.0000] <jwalden> copout [21:32:04.0000] <roc> MySQL? I would have though SQLite [21:32:05.0000] <othermaciej> oh yeah [21:32:06.0000] <othermaciej> SQLite [21:32:07.0000] <jwalden> and not useful since it's already implemented and shipping in a browser (I think?) [21:33:00.0000] <othermaciej> see, even I can't keep it straight [21:33:01.0000] <jwalden> not sure whether 3.1 got it or not [21:33:02.0000] <crschmidt> jwalden: it did [21:33:03.0000] <crschmidt> that's what I'm testing with :) [21:33:04.0000] <jwalden> that's what I /thought/ but I wasn't willing to say so without certainty [21:33:05.0000] <crschmidt> /me nods [21:33:06.0000] <crschmidt> Oh, so it is sqlite: well, I was trying the write database syntax, but apparently something about it just doesn't like me [21:33:07.0000] <crschmidt> oh well [22:52:00.0000] <crschmidt> /me wonders if he would be better advised to implement Gears support explicitly in his code or beg someone to make gears match up slightly more closely with the whatwg spec [23:10:00.0000] <crschmidt> Oh well, Google Gears support added now [23:14:00.0000] <bradee-oh> crschmidt: while you're doing the GG support for now... *also* beg someone to make gears better match up with the spec ;) [23:15:00.0000] <crschmidt> /me doesn't even have anyone to beg [23:31:00.0000] <Hixie> jwalden: i really do want to specify the sql language to be supported, but we need implementation experience before we can do that [23:32:00.0000] <Hixie> jwalden: speccing in a vacuum results in crappy specs :-) [23:32:01.0000] <jwalden> do you really want to know how far down the SQL syntax rabbit hole goes? [23:34:00.0000] <jwalden> because, given the implementation experience of real SQL engines, I'm extremely skeptical compatibility is actually possible without it being designed in from the start [23:34:01.0000] <jwalden> and also, the wealth of SQL engines out there doesn't make it "in a vacuum" in my book [23:34:02.0000] <jwalden> granted, not breathable air, but not top-of-Everest either [23:34:03.0000] <jwalden> or rather not comfortably-breathable air [23:35:00.0000] <crschmidt> http://crschmidt.net/mapping/localdb/ [23:35:01.0000] <crschmidt> Uses Google Gears or HTML5 Client storage [23:35:02.0000] <crschmidt> to store the things you draw with the tools in the upper right [23:35:03.0000] <crschmidt> (point, polygon, and modify tools) [23:35:04.0000] <crschmidt> Drawings are saved every time you edit [23:36:00.0000] <crschmidt> er, line, poly, and modify [23:43:00.0000] <MikeSmith> crschmidt, nice [23:43:01.0000] <MikeSmith> just tried it in Webkit [23:46:00.0000] <crschmidt> MikeSmith: Cool. [23:47:00.0000] <MikeSmith> crschmidt, I see you're involved with GIS applications. [23:48:00.0000] <crschmidt> MikeSmith: Not that I'm aware of. [23:49:00.0000] <MikeSmith> ? http://crschmidt.net/ says "GIS and Web Hacker" [23:50:00.0000] <crschmidt> MikeSmith: Sorry, it's a joke that works with people who know me better :) [23:50:01.0000] <crschmidt> I tend to be on the 'lunatic fringe' of gis [23:50:02.0000] <crschmidt> living in the 'vulgar geography' world -- which a lot of people are loathe to refer to as GIS [23:53:00.0000] <crschmidt> I had not realized that this was #whatwg when you said that [23:54:00.0000] <MikeSmith> crschmidt, lunatic fringe sounds to me like a nice place to be [23:54:01.0000] <MikeSmith> and vulgar geography sounds pretty intriguing [23:55:00.0000] <MikeSmith> /me writes that one down [23:55:01.0000] <crschmidt> I enjoy living on the lunatic fringe, yes [23:56:00.0000] <crschmidt> If you're vaguely interested in geography and abuse of browsers to the end of exploring it, the 'choropleth' examples linked from http://crschmidt.net/mapping/ are good [23:56:01.0000] <crschmidt> two in SVG, one in Canvas [23:57:00.0000] <Hixie> jwalden: in practice so far everyone has used SQLite, so it may be easier to get interop than one may expect [23:57:01.0000] <Hixie> jwalden: i honestly don't think the sql rabbit hole is gonna be any less deep than the html one, anyway [23:58:00.0000] <crschmidt> /me wonders who everyone is... [23:58:01.0000] <crschmidt> Is there another implementation than Webkit that I should be checking this with? [23:58:02.0000] <jwalden> and we really want to cover two holes the size of HTML? [23:59:00.0000] <jwalden> and limiting to "the stuff sqlite supports" for determining what's interoperable does not a standard make [23:59:01.0000] <Hixie> crschmidt: gears also has an implementation [23:59:02.0000] <Hixie> crschmidt: and my understanding is that gecko may have one too? i forget [23:59:03.0000] <crschmidt> Hixie: Okay, wasn't sure if that was the other one you were counting. [00:00:00.0000] <MikeSmith> /me takes a look at crschmidt examples [00:00:01.0000] <Hixie> jwalden: it would be detailed [00:00:02.0000] <crschmidt> FF3b5 doesn't have an openDatabase (or whatever) property [00:00:03.0000] <Hixie> jwalden: we have to define this either way [00:00:04.0000] <crschmidt> so if it's around, it's not in the FF3 branch so far as I can tell [00:00:05.0000] <Hixie> i would be very surprised if this kind of thing was put into ff3 [00:00:06.0000] <jwalden> no, it's not in 3 or even implemented as a patch [00:01:00.0000] <Hixie> oh right, i'm thinking of postMessage [00:01:01.0000] <crschmidt> /me couldn't find anything that indicated any support in FF or Opera [00:02:00.0000] <MikeSmith> crschmidt, yeah, no support yet in FF or Opera [00:02:01.0000] <MikeSmith> as far as your examples, they're great but I was expecting something more vulgar [00:02:02.0000] <MikeSmith> please inject some vulgarity into them [00:03:00.0000] <crschmidt> MikeSmith: 'vulgar geography' means 'gis that people who do GIS would swear at' [00:03:01.0000] <crschmidt> Nothing is particularly vulgar about it in and of itself [00:06:00.0000] <jwalden> Hixie: I disagree, at least as part of HTML5; defining an interoperable SQL syntax is going to be at least a hundred or so pages, well worth being put in its own spec, and well worth not being in HTML5 now as it distracts from the goal of specifying HTML as it exists, with small to medium-sized additions as needed [00:06:01.0000] <jwalden> but you already knew that [00:06:02.0000] <jwalden> and we're probably going to get nowhere on this [00:07:00.0000] <Hixie> jwalden: i agree that it should be in tits own spec [00:08:00.0000] <Hixie> jwalden: but if i'm the one who ends up speccing it, i basically have to put it in html5, as the overhead of editing another spec is extremely high [00:08:01.0000] <Hixie> i wish we had more editors available [00:08:02.0000] <Hixie> there's so much that needs to be taken out of html5 [00:08:03.0000] <Hixie> setTimeout, for instance [00:09:00.0000] <Hixie> (i disagree that they distract, though, the platform is a single platform regardless of how many documents define it) [00:14:00.0000] <MikeSmith> Hixie, editorial, r1439 [00:15:00.0000] <MikeSmith> [[+ being used as a glossary. Note the user of <code><a [00:15:01.0000] <MikeSmith> + href="#dfn">dfn</a></code> to indicate the word being defined.</p> [00:15:02.0000] <MikeSmith> ]] [00:15:03.0000] <MikeSmith> should be "note the usage of" ? instead of "user" [00:15:04.0000] <Hixie> oops [00:15:05.0000] <Hixie> s/user/use/ [00:15:06.0000] <Hixie> will fix thanks [00:16:00.0000] <Hixie> where's gsnedders [03:20:00.0000] <hsivonen_> does <img aria-describedby='...'> do useful things in current implementations? [03:25:00.0000] <hsivonen_> is what the spec now says about <base> the whole story? [03:26:00.0000] <hsivonen_> so are subsequent <base> elements ignored as far as later URI resolution goes? [03:26:01.0000] <hsivonen_> so a Note says... [03:27:00.0000] <annevk> "User agents must use the value of the href attribute of the first base element that is both a child of the head element and has an href attribute, if there is such an element, as the document entity's base URI for the purposes of section 5.1.1 of RFC 3986 ("Establishing a Base URI": "Base URI Embedded in Content")." [03:28:00.0000] <hsivonen_> and then there's the xml:base stuff [03:28:01.0000] <annevk> yes [03:28:02.0000] <hsivonen_> so if <html> has xml:base, I have to reresolve the base URI stack upon seeing <base> [03:29:00.0000] <annevk> that depends on whether the one on <html> is relative or not [03:29:01.0000] <hsivonen_> well it can be, so... [03:40:00.0000] <hsivonen_> /me isn't a big fan of xml:base [03:41:00.0000] <annevk> most people are no fan [03:41:01.0000] <annevk> why do you care though? [03:43:00.0000] <hsivonen_> annevk: If I add features that involve resolving <img src> [03:43:01.0000] <Lachy_> hsivonen_, as of IE7, only the first <base> element is used http://blogs.msdn.com/ie/archive/2005/08/29/457667.aspx [03:46:00.0000] <annevk> hsivonen_, ah true, xml:base and <base> can now be used together [04:02:00.0000] <hsivonen_> what should happen if the base uri is a data uri? [04:02:01.0000] <hsivonen_> when resolving a relative uri that is [04:04:00.0000] <annevk> http://www.ietf.org/rfc/rfc3986 should tell in theory [04:04:01.0000] <Philip`> Hopefully the same as clicking the link in data:text/html,<a href=foo.html>foo</a> [04:04:02.0000] <Philip`> (but that varies between browsers quite significantly) [04:05:00.0000] <hsivonen_> for added fun, base64 can produce '/' in the data uri [04:05:01.0000] <hsivonen_> (as can not using base64, of course) [04:06:00.0000] <Lachy_> oh no, the b/i debate is starting up again :-( [04:07:00.0000] <Lachy_> and Tina has come back [04:17:00.0000] <othermaciej> I thought she was gone for good! [04:18:00.0000] <hsivonen_> the thread was CCed to www-html [05:04:00.0000] <hsivonen_> is there other inherited data I am not thinking in addition to base URI and language? [05:13:00.0000] <hsivonen_> Hixie: any plans of supporting <meta http-equiv=content-language> as going in between HTTP and root lang? [05:13:01.0000] <hsivonen_> Hixie: what about meta content-location vs. base? [05:16:00.0000] <annevk> content-language might make sense [05:16:01.0000] <annevk> content-location is not supported currently [05:16:02.0000] <hsivonen_> annevk: ok. [05:16:03.0000] <hsivonen_> I'll implement content-language while at it, then [05:18:00.0000] <annevk> oh, the issue tracker is below 3000, even when private e-mails are included [05:18:01.0000] <Philip`> (http://www.cl.cam.ac.uk/~pjt47/misc/attributes.html 'meta http-equiv' suggests that <meta http-equiv=content-language> is pretty popular) [05:19:00.0000] <Philip`> (Also it suggests that <meta lang> is quite popular...) [05:19:01.0000] <hsivonen_> base uri tracking is the hard part [05:20:00.0000] <hsivonen_> lang tracking comes almost for free on top of that [05:22:00.0000] <Philip`> (<meta name="author"lang="fr"en"content=betty savastano"> - ouch) [05:23:00.0000] <Philip`> (http://www.floorball-linkpage.com/index.php - are you meant to be able to use keywords and lang like that?) [05:24:00.0000] <annevk> I've seen that advocated in tutorials when I started learning HTML. [05:25:00.0000] <annevk> Given that HTML does not do two languages at the same typically it's probably not "ok" altough it seems kind of logical... [06:41:00.0000] <zcorpan> BenMillard, hsivonen_: fyi, there's #wai-aria on irc.w3.org:6665 for public aria chat [06:48:00.0000] <mpt> /me wishes <input type="reset image"> was possible without scripting [06:49:00.0000] <hsivonen> mpt: what do you need reset for? isn't reset almost always a usability bug? [06:50:00.0000] <Lachy> woah, the SVG working group is requesting that we remove SVG from text/html [06:52:00.0000] <hsivonen> Lachy: sigh. the message misses the point in ways that have already been explained [06:54:00.0000] <mpt> hsivonen, it used to be, but not so much with XmlHttp I think [06:54:01.0000] <Lachy> it's not clear to me from his message, which syntactic features they don't approve of. [06:55:00.0000] <zcorpan> is my inbox slow or is this somewhere where i'm not subscribed? [06:55:01.0000] <Lachy> zcorpan, it's on public-html [06:55:02.0000] <Lachy> http://www.w3.org/mid/A13D0B44629697468E9C6AE200CFD39A3943CF3BF4⊙mmc [06:56:00.0000] <mpt> hsivonen, if you use Facebook, imagine that the "cancel" link when changing your status was an image. [07:00:00.0000] <zcorpan> mpt: <input type=reset style=content:url(cancel.png)> [07:02:00.0000] <hsivonen> mpt: I don't use Facebook, but why do you expect type=reset instead of type=button with XHR? [07:03:00.0000] <myakura> doesn't <button type=reset><img ...></button> work? [07:05:00.0000] <mpt> myakura, it does, if limiting the button styling to the CSS that the browser allows (sometimes limited, sometimes none) is appropriate [07:06:00.0000] <myakura> hmm [07:08:00.0000] <mpt> hsivonen, the wrongness of type="reset" was that it reset your entire form, and then left you on the same page. With XHR leaving you on the same page is a goal, not a problem, and here I'm just wanting to cancel the modification of a single text field, or menu, where you might not remember what the initial value was. [07:09:00.0000] <mpt> type="button" works, but it requires scripting, when all I want to do is reset this single-field form. [07:12:00.0000] <annevk> i'm not sure if reset-image is the solution though, fixing browsers to allowing styling might be better [07:15:00.0000] <mpt> Perhaps. [07:20:00.0000] <myakura> /me wonders that defining handling rules for text/html means changing the syntax [07:22:00.0000] <myakura> re the mail which svg wg sent [07:22:01.0000] <hsivonen> myakura: some byte streams would be valid SVG-in-text/html but not SVG-in-XML [07:23:00.0000] <Philip`> Some other byte streams would be invalid SVG-in-text/html but would still work in text/html but not in XML [07:26:00.0000] <myakura> hmm [07:29:00.0000] <zcorpan> some other byte streams would be valid SVG-in-XML but wouldn't work in text/html [07:29:01.0000] <zcorpan> (like usage of dtd internal subset or prefixes) [07:32:00.0000] <hsivonen> <span lang='en'><span lang='***'>Is this English or undefined?</span></span>? [07:34:00.0000] <Philip`> hsivonen: Passing that text through my standard language detection heuristics gives a strong confidence in it being English [07:35:00.0000] <zcorpan> hsivonen: "To determine the language of a node, user agents must look at the nearest ancestor element (including the element itself if the node is an element) that has an xml:lang attribute set or is an HTML element and has a lang attribute set. That attribute specifies the language of the node." [07:35:01.0000] <zcorpan> hsivonen: so the language is *** [07:36:00.0000] <annevk> yeah, per current definitions it's *** [07:40:00.0000] <hsivonen> thanks. time to send email, I guess [07:42:00.0000] <Lachy> should the spec specify that if the value of the lang attribute isn't a valid language code, it is ignored and the language is inherited from its parent? [07:46:00.0000] <hsivonen> Lachy: or that if it isn't a valid language code, it means the same as lang='' [07:46:01.0000] <Lachy> /me checks what lang='' is defined to mean... [07:47:00.0000] <Lachy> ah, it means "Setting the attribute to the empty string indicates that the primary language is unknown." [09:31:00.0000] <annevk> http://www.w3.org/QA/2008/04/proposed_activity_for_video_on.html ... [09:34:00.0000] <hsivonen> still missing the most important expected outcome of the workshop :-( [09:38:00.0000] <Philip`> Is the expected outcome that they won't find a suitable codec, because the video world is evil and full of patents? [09:39:00.0000] <hsivonen> heh [09:39:01.0000] <hsivonen> I meant finding a codec [09:40:00.0000] <annevk> The proposed WGs seem boring and it's really unfortunate they don't say anything about the codec issues... [10:09:00.0000] <mpt> Is the Sun thing years too late? [10:09:01.0000] <hsivonen> mpt: the Sun thing? [10:10:00.0000] <mpt> http://www.pcworld.com/businesscenter/article/144494/sun_tackles_video_codec.html [10:10:01.0000] <Philip`> It's been here for five billion years already, so I wouldn't call it late [10:10:02.0000] <mpt> har har [10:10:03.0000] <hsivonen> interesting [10:11:00.0000] <gsnedders> They are a big enough company for submarines, at least [10:12:00.0000] <mpt> ("Since the beginning of time, submarines have yearned to destroy the Sun!") [10:12:01.0000] <Philip`> Might be interesting to see what they've done five years from now [10:13:00.0000] <mpt> Ah, they are intending it specifically with HTML's problem in mind [10:13:01.0000] <mpt> http://blogs.sun.com/openmediacommons/entry/oms_video_a_project_of [10:13:02.0000] <Philip`> (I guess it'll take a while to develop it, and they'll write all their software in Java, so it'll take a while longer for someone sensible to write a decent C implementation, and then maybe it'd be useful) [10:14:00.0000] <Philip`> Their mentions of H.261 sound kind of worrying, given how rubbish H.261 is [10:16:00.0000] <mpt> OMS Video isn't actually mentioned on <http://www.openmediacommons.org/projects.html> (yet?) though [10:16:01.0000] <hsivonen> Philip`: h.264 comes from the 'rubbish' lineage, too [10:18:00.0000] <Philip`> hsivonen: H.264 has had another ~15 years of evolution, which should be around a 1000 times increase in computer power and a huge amount more experience [10:19:00.0000] <hsivonen> worse, it means that some of the useful evolutionary paths are patented [10:19:01.0000] <Philip`> I imagine many of the non-useful paths are patented too [10:20:00.0000] <mpt> (For the benefit of archive readers: I'm all in favor of free codecs. If Sun can make one successful, go Sun.) [10:21:00.0000] <Philip`> It looks kind of like they're taking the SQLite approach and avoiding any techniques that haven't been published long enough ago for patents to have expired [10:22:00.0000] <Philip`> (I'm in favour of anything that anybody does that's successful :-) ) [10:22:01.0000] <gsnedders> Vorbis did that, and is still competitive. I'm wondering whether that's doable with video, thoguh [10:22:02.0000] <gsnedders> The longer the video issue goes on, the more I doubt it is a realistic aim [10:22:03.0000] <gsnedders> (though, FWIW, I'd love to be proved wrong) [10:23:00.0000] <Philip`> gsnedders: I don't think I've ever heard that Vorbis limited themselves to old techniques - they just used unpatented ones, and did patent searches to be more confident they hadn't missed some [10:23:01.0000] <Philip`> (or at least that's what I think they did) [10:23:02.0000] <mpt> gsnedders, because learning more about it makes you more pessimistic, or because the mere passage of time makes it less likely? [10:24:00.0000] <gsnedders> mpt: the more I learn the more pessimistic I become, and I doubt time will do much to help [10:29:00.0000] <annevk> i applaud any initiative that gives us RF video [10:31:00.0000] <hsivonen> I wonder what Sun's lawyer make of Diract [10:31:01.0000] <hsivonen> Dirac [10:49:00.0000] <Lachy> Adobe is also working on a free video codec called CinemaDNG http://blog.wired.com/monkeybites/2008/04/adobe-cinemadng.html [10:49:01.0000] <Lachy> though it appears to be a capture format, rather than a publishing format [10:51:00.0000] <Lachy> I'm not so sure about sun's new codec though. I'm hoping dirac will eventually succeed, though, realistically, h.264 will be around for quite a few years regardless [10:52:00.0000] <Lachy> the ideal situation would be for h.264 to become royalty free [10:52:01.0000] <othermaciej> Adobe's thing seems to be a raw video codec [10:52:02.0000] <othermaciej> We will see if Sun [10:52:03.0000] <Lachy> othermaciej, yes [10:52:04.0000] <othermaciej> 's thing becomes anything more than talk [10:53:00.0000] <othermaciej> I am unimpressed with the "press release first, code later" approach so far though [11:00:00.0000] <Philip`> Lachy: Given how long it seems to have taken for H.264 to take off, I guess any new codec will similarly take a long time before becoming popular [11:01:00.0000] <Philip`> (I think I've only noticed people using H.264 seriously in the past couple of years) [11:04:00.0000] <othermaciej> H.264 has seen significant non-web use for a long time [11:07:00.0000] <Hixie> Lachy: dirac is more of an archival format, not really appropriate for web use [11:07:01.0000] <Hixie> as i understand it [11:09:00.0000] <annevk> "It was presented by the BBC in January 2004 as the basis of a new codec for the transmission of video over the Internet." [11:09:01.0000] <annevk> -- http://en.wikipedia.org/wiki/Dirac_(codec) [11:09:02.0000] <othermaciej> it has not been presented that way lately [11:10:00.0000] <Lachy> I thought it was designed to be comparable with h.264 in compression and quality [11:10:01.0000] <hsivonen> has anyone seen Dirac in action? [11:10:02.0000] <hsivonen> the VC-2 profile dropped inter-frame compression, IIRC [11:12:00.0000] <annevk> Everything on that Wikipedia page sounds like it could be used today... I guess some information is missing. [11:13:00.0000] <Lachy> "the reference implementation can decode around 17 frames per second [in PAL SD] on a 3 GHz PC" - that seems a bit slow [11:14:00.0000] <Philip`> /me tries "emerge dirac" and wonders what it will install [11:14:01.0000] <annevk> /me thanks Hixie for resurfacing such classics as 'it would only be useful for the few who "love semantics"' [11:17:00.0000] <takkaria> Lachy: yeah, they're only just getting round to optimising playback [11:19:00.0000] <Lachy> takkaria, yeah, I know, but still, that's quite slow for only standard definition. I want to be able to play video at 1080p/50 or 60fps [11:20:00.0000] <Lachy> and I want it streamed over the web in real time :-) [11:20:01.0000] <annevk> just make sure you enable your time machine while browsing and you'll be fine [11:20:02.0000] <jmb> I wonder if there's any information for schrodinger's decode performance [11:20:03.0000] <Philip`> And you want to pay $20/month to your ISP for bandwidth? [11:21:00.0000] <Philip`> /me attempts encoding a video with dirac_encoder [11:21:01.0000] <annevk> "On 22nd of February 2008, Schrödinger 1.0.0 was released. This release was able to decode HD720/25p in real-time on a Core Duo laptop." [11:23:00.0000] <Lachy> I wonder how that compares with the requirements for h.264 at 720p/25 [11:24:00.0000] <othermaciej> I have a Core Duo laptop and H.264 capability but I wouldn't know where to find standard test videos of various frame rates [11:24:01.0000] <jmb> annevk: aha. that'll teach me to ask questions before reading the wiki page :) I note that the schroedinger website is utterly silent about its performance [11:24:02.0000] <Philip`> /me fails at encoding a video [11:25:00.0000] <Lachy> I can't figure out Vlad's definition of "web content" http://html4all.org/mailman/archives/list_html4all.org/2008-April/000731.html [11:26:00.0000] <Lachy> even his explanation makes no sense http://html4all.org/mailman/archives/list_html4all.org/2008-April/000733.html [11:27:00.0000] <annevk> Maybe he's looking for some definition that validates his practices... [11:28:00.0000] <Lachy> my definition of "web content" would be any content delivered over the web, no matter how it is used [11:29:00.0000] <hsivonen> I consider Joshue O'Connor's videos Web content even though they only had an Apache-generated directory listing linking to them, IIRC. [11:33:00.0000] <annevk> "Web content is something made with my software, damn't!" [11:33:01.0000] <Hixie> you can put anything on the web [11:34:00.0000] <mpt> I prefer Web discontent [11:34:01.0000] <mpt> It's much more interesting [11:34:02.0000] <Hixie> what makes a format technically appropriate is a few characterstics, including relatively trivial seeking, streamability with synchronised sound and video, good compression characteristics, a data stream that is resistant to dropped packets, etc. [11:35:00.0000] <hsivonen> dropped packet resilience doesn't help on http [11:35:01.0000] <hsivonen> some video formats are over-resient to transport problems [11:35:02.0000] <hsivonen> since the lower abstraction takes care of stuff [11:36:00.0000] <Hixie> the svg working group didn't even cc their own lists on their request [11:37:00.0000] <Hixie> sheesh [11:37:01.0000] <Hixie> /me removes SVG from text/html [11:37:02.0000] <takkaria> noooo [11:38:00.0000] <Hixie> hey if the svg working group wants to shoot itself in the head, i'm not going to stop them [11:38:01.0000] <hsivonen> Hixie: SVG now has other stakeholders in addition to the WG [11:38:02.0000] <Hixie> the longer we delay the sudden expansion phase of svg on the web, the longer i have to go in and actually do a proper job fixing it [11:39:00.0000] <hsivonen> Hixie: just like HTML had other stakeholders during the time when its orinator no longer considered it viable [11:39:01.0000] <Hixie> they'll probably take at least two years to get back to us, at which point i might have more free time to work on svg5 [11:39:02.0000] <Philip`> dirac_decoder takes me 3.6 seconds for 150 frames at 320x240, on a C2D 2.0GHz [11:39:03.0000] <mpt> ding! [11:40:00.0000] <Philip`> (for a 1MB input file) [11:41:00.0000] <hsivonen> the WCAG 2.0 definitions are probably too abstact for normal authors to grok [11:48:00.0000] <Philip`> Hmm, Dirac 0.9.1 at 256Kbps on 320x240x30fps seems kind of roughly comparable quality to MPEG-2 (except blurry instead of blocky), and significantly worse than H.264 [11:49:00.0000] <Philip`> (Theora seems much closer to H.264) [11:50:00.0000] <Philip`> (though all the encoders are really rubbish at getting the requested bitrate, so my comparisons are very unfair) [11:56:00.0000] <gsnedders> Philip`: Dirac, AFAIK, is more or less totally unoptimised to this day [11:57:00.0000] <Philip`> gsnedders: Do you mean runtime performance, or compression quality? (or both?) [11:57:01.0000] <gsnedders> Philip`: both [11:58:00.0000] <gsnedders> Philip`: the point up to the release of 1.0 of the specs was having an codec that _worked_, regardless of performance [11:59:00.0000] <Philip`> gsnedders: It's trivial to make a codec that works - just replace dirac_encoder and dirac_decoder with 'cat' [11:59:01.0000] <gsnedders> Philip`: that doesn't isn't actually a encoder/decoder :P [11:59:02.0000] <Philip`> gsnedders: Then use base64 instead [11:59:03.0000] <gsnedders> Philip`: :P [11:59:04.0000] <Philip`> or if you want to be fancy and insist on compression, use gzip [12:00:00.0000] <hsivonen> if I'm displaying an image and its alt for review, what HTML markup should I use? [12:01:00.0000] <hsivonen> Clearly, I'm having list items [12:01:01.0000] <gsnedders> Is it not a table of images and alternatives? [12:02:00.0000] <hsivonen> gsnedders: it could be [12:02:01.0000] <gsnedders> It seems like tabular data to me. [12:02:02.0000] <hsivonen> I want to put source locations there, too [12:02:03.0000] <Philip`> The list is defining the alt values for the images, so use <dl> [12:02:04.0000] <gsnedders> actually, it's a perfect example of when we have an image that is significant content that cannot have any textual alternative [12:03:00.0000] <hsivonen> Philip`: would I put source location in <dd>, too? [12:03:01.0000] <Philip`> Or just use <br> [12:03:02.0000] <Philip`> hsivonen: I guess that wouldn't quite work sensibly [12:04:00.0000] <hsivonen> I probably want the image on the left and the alt and the location on the right with the alt above the location [12:05:00.0000] <hsivonen> or image on the right and location and alt on the left [12:05:01.0000] <hsivonen> also, the list should have reasonably similar layout for cases with no alt [12:05:02.0000] <Philip`> <img align=left>alt<br>location<br clear=both> [12:09:00.0000] <hsivonen> or <li><p style='display:table-cell'><img></p><div style='display:table-cell'><p>alt</p><p>location</p></div></li> [12:38:00.0000] <annevk> Hixie, the statement about SVG is not gone... http://www.whatwg.org/specs/web-apps/current-work/multipage/section-the-canvas.html#svg [12:40:00.0000] <Hixie> ah, indeed not [12:40:01.0000] <Hixie> i forgot that i decided it would be useful in xhtml anyway [12:41:00.0000] <annevk> /me assumed it was for text/html + DOM [12:43:00.0000] <Hixie> that use case isn't going to happen enough for the spec to suggest UI for it :-) [12:45:00.0000] <annevk> the longer there's no syntax, the more libraries will create exactly that :) [12:51:00.0000] <Hixie> like i said [12:51:01.0000] <Hixie> if they want to shoot themselves in the head... [12:51:02.0000] <Hixie> who am i to stop them [12:51:03.0000] <Hixie> especially when they ask so kindly [12:52:00.0000] <hsivonen> are these photos sufficiently textually accompanied: http://flickr.com/photos/18356286@N00/ ? [12:52:01.0000] <annevk> talking about graphics, http://lists.w3.org/Archives/Public/public-canvas-api/ seems like a big hit :) [12:52:02.0000] <Dashiva> Hixie: I usually avoid helping such people, because I know they'll get my clothes dirty in the process [12:53:00.0000] <Hixie> hsivonen: "it's unfair to expect _me_ to do what i preach" [12:53:01.0000] <Hixie> Dashiva: well you'll notice the changes to the spec were minimal and easily reversible [12:54:00.0000] <Hixie> Dashiva: if necessary, whatwg's version could easily revert :-) [12:55:00.0000] <Lachy> Wouldn't it be more useful for the current SVG proposal to remain in the spec, and for the SVG working group to suggest specific changes as required, instead of pulling it out and starting from scratch? [12:55:01.0000] <Dashiva> Here's hoping for a good resolution [12:56:00.0000] <hsivonen> Lachy: it would. there's collateral damage when SVG WG is allowed to shoot self [12:56:01.0000] <annevk> Having WHATWG conditionals for something as trivial as SVG syntax seems bad... [12:57:00.0000] <Hixie> did jf just say that inaccessible images on an ftp server were ok but inaccessible images on an http server were not? [12:57:01.0000] <Hixie> or am i misunderstanding [12:57:02.0000] <Hixie> Lachy: feel free to suggest it to them [12:57:03.0000] <annevk> He did... [12:57:04.0000] <Hixie> good good [12:58:00.0000] <Lachy> I will [12:58:01.0000] <annevk> My image collections are exactly that... They're just served over HTTP for convenience. [13:01:00.0000] <hsivonen> I still don't have a good design for presentin repeating rows of image, alt, source location triplets :-( [13:01:01.0000] <hsivonen> I want the images line up nicely [13:02:00.0000] <hsivonen> and I want the alt to be near the image even if the window is wide [13:02:01.0000] <hsivonen> Do I really need to put these in a table? [13:02:02.0000] <Hixie> hsivonen: sounds like tabular data to me [13:02:03.0000] <annevk> why not? [13:02:04.0000] <annevk> img | alt | location [13:03:00.0000] <Hixie> hsivonen: what you really want is the page itself, styled, and little text boxes appearing over the images or instead of the images as you hover over them, or some such [13:03:01.0000] <hsivonen> annevk: table rows with an image and most often a single line of text looks ugly and unbalanced [13:03:02.0000] <hsivonen> Hixie: yeah, this will be less contextual [13:03:03.0000] <annevk> that's a CSS issue :) [13:04:00.0000] <Lachy> hsivonen, display each image as a scaled/cropped thumbnail, so they're all the same size. Then, when an image is clicked, use the lightbox effect, or something similar, to display the full size iamge [13:04:01.0000] <Lachy> *image [13:04:02.0000] <hsivonen> Hixie: I'm aiming for a solution that I think has the upsides of checking for alt presence but not the downsides of making it part of the validation function and silencing messages when *some* alt is present [13:05:00.0000] <hsivonen> what's the lightbox effect? [13:05:01.0000] <Hixie> hsivonen: ah [13:05:02.0000] <Lachy> hsivonen, http://www.huddletogether.com/projects/lightbox2/ [13:06:00.0000] <hsivonen> /me sees no effect; tries different browser [13:07:00.0000] <Lachy> that site seems to be broken now [13:07:01.0000] <Lachy> FF reports a script error [13:07:02.0000] <Lachy> this is an earlier version, but it works http://www.huddletogether.com/projects/lightbox/ [13:08:00.0000] <hsivonen> Lachy: that seems annoying [13:09:00.0000] <hsivonen> I wonder if I could zoom the images on :hover (for users who have a hoverable pointing device) and :focus (for users who have no pointing device or a click-only pointing device) [13:11:00.0000] <hsivonen> /me wants a way to say width attribute times * 3 in CSS [13:12:00.0000] <Dashiva> hsivonen: You could also show alt and location on top of each other, with image to the side [13:14:00.0000] <hsivonen> Dashiva: yeah. layout tables ftw! [13:15:00.0000] <Dashiva> Wouldn't need to be a table anymore! Since there's only one internal column border to align to, it can be done with just setting fixed width on the image :) [13:16:00.0000] <hsivonen> Dashiva: with floats? [13:16:01.0000] <hsivonen> Dashiva: or with display:table-cell? [13:16:02.0000] <hsivonen> or something else? [13:16:03.0000] <Dashiva> inline-block? :) [13:17:00.0000] <hsivonen> Dashiva: do you mean putting the non-image stuff in an inline-block? [13:17:01.0000] <Dashiva> Yeah [13:18:00.0000] <hsivonen> what's the support status of inline-block these days? [13:18:01.0000] <Dashiva> There's support in some firefox version, but I don't recall if it's 2 or 3 [13:20:00.0000] <hsivonen> I think I'll make a real data table for now [13:20:01.0000] <Dashiva> rowspan on the image works too [13:26:00.0000] <jgraham_> /me is glad to find that find that John Foliot is just as bewildering to others [13:34:00.0000] <Hixie> i'm so sad that #css isn't publicly archived yet like the csswg resolved it to be [13:34:01.0000] <othermaciej> why, was there something interesting on it? [13:37:00.0000] <Philip`> Hixie: s/encouaraged/encouraged/ in that #svg text, unless it's just going to be deleted forever [13:37:01.0000] <Hixie> fixed [13:39:00.0000] <hsivonen> Hixie: your 'nobody' is not exactly correct. jf is suggesting replacing alt='' with something else [13:52:00.0000] <Dashiva> In the SVG mail it says "We are happy to make rapid progress on allowing SVG in text/html". Is that businessspeak for thinking it's a good idea, or is the SVG group actually working on text/html svg? [13:54:00.0000] <annevk> "maximizing compatibility" "wide range" [13:55:00.0000] <annevk> definitely sounds like marketese [14:05:00.0000] <hsivonen> argh. I forgot to support right-to-left alt [14:12:00.0000] <Hixie> Lachy: i have a request here from someone suggesting the query-by-selectors api should apply to all NodeList objects too [14:22:00.0000] <Lachy> Hixie, send mail about it. [14:23:00.0000] <Lachy> I'm not sure I could get it into this first version of the spec, but it might be an interesting extension for the next revision [14:23:01.0000] <Lachy> especially since we're starting to get implementations already, I'd rather focus on getting interop with the current feature set before piling on more [14:24:00.0000] <annevk> how does it work on NodeList? [14:24:01.0000] <Hixie> Lachy: already done [14:25:00.0000] <Lachy> I assume it would evaluate each node in the list, in the context of the document it's in [14:25:01.0000] <Dashiva> So it's more like using the nodelist as a filter to the query result [14:26:00.0000] <Lachy> e.g. var list = document.getElementsByTagName("p"); var filteredList = list.querySelector("div>p"); [14:26:01.0000] <gsnedders> jgraham_: for my implementation of the outline algorithm, having looked at it quite closely, it seems it'll be easier for me to start from scratch [14:26:02.0000] <Lachy> so filteredList would contain all the p elements from list, which are children of div elements in the document [14:26:03.0000] <Lachy> not sure of the use case though, since document.querySelector("div>p"); would do the same [14:27:00.0000] <Hixie> yeah i dunno what the use case is exactly, though there are other places that return NodeLists [14:27:01.0000] <Hixie> i just want the issue off my plate :0D [14:27:02.0000] <Philip`> Is something wrong with your nose? [14:29:00.0000] <Lachy> woah, you've had that on your plate since 23 Sep 2005. [14:29:01.0000] <Hixie> possibly [14:29:02.0000] <Lachy> I guess it's better late than never [14:29:03.0000] <Hixie> Lachy: heh [14:29:04.0000] <Hixie> Lachy: i've been replying to some of these e-mails dated 2004 [14:30:00.0000] <Lachy> I suppose that would have been sent before the webapi wg was formed, and thus hadn't begun working on selectors api. [14:30:01.0000] <Dashiva> By making querySelector work on nodelists, it would be possible to chain querySelector calls too... [14:31:00.0000] <Lachy> so that's why you wouldn't have forwarded it then [14:31:01.0000] <hsivonen> /me wonders why python os.path.getctime doesn't work on Mac OS X and HFS+ [14:31:02.0000] <Hixie> Lachy: yeah it ended up in the worng bucket [14:31:03.0000] <Lachy> Dashiva, what's the point in chaining queryselector calls? [14:31:04.0000] <hsivonen> it seems to run generic Unix code instead of Mac code [14:31:05.0000] <Lachy> just chain the selctors and make one call [14:31:06.0000] <annevk> the initial Selectors API draft was made in some hotel in Rabat [14:31:07.0000] <Dashiva> Lachy: If you want to select something based on ancestors or preceding siblings, CSS isn't very helpful [14:32:00.0000] <annevk> prolly end of 2006 [14:32:01.0000] <annevk> September 2x 2006 iirc [14:32:02.0000] <Hixie> document.querySelector('a x').querySelector('b x') is equivalent to 'a b x, b a x' which can get much more complex [14:33:00.0000] <Lachy> Dashiva, I assume you meant if you want to select ancestors or preceding siblings, rather than something based on those (since selectors already work the way you said it) [14:33:01.0000] <Dashiva> Yeah, that [14:33:02.0000] <Dashiva> And Hixie seems to have found an even better case :) [14:33:03.0000] <Hixie> it's a bit like having :matches(... #) [14:34:00.0000] <Lachy> oh, right [14:34:01.0000] <Lachy> it's worth thinking about, but definitely need to evaluate the use cases and see how authors actually use these apis [14:36:00.0000] <Hixie> yup [14:38:00.0000] <gsnedders> Oh dear. This really is broken. [14:42:00.0000] <gsnedders> Anyone know of a decently performant NodeIterator in Python? [14:49:00.0000] <gsnedders> /me realises he can more or less just safely use getElementsByTagName("*") for what he needs [14:54:00.0000] <Dashiva> The alt discussion is like an echo of echoes [15:00:00.0000] <jgraham_> gsnedders: np. Is is just that my code is crap, or that it doesn't fit into your grand plan? [15:01:00.0000] <gsnedders> jgraham_: I'd need to more or less rewrite it to fit into the algorithm as a whole [15:01:01.0000] <gsnedders> (i.e., the latteR) [15:01:02.0000] <jgraham_> (also, I may have mentioned, if you want performance in python and you're not using lxml yoyu've already lost :) ) [15:02:00.0000] <gsnedders> With how stuff it going, it's becoming questionable whether I need DOM anymore [15:03:00.0000] <gsnedders> jgraham_: That said, that isn't the bottleneck :) [15:03:01.0000] <jgraham_> gsnedders: what's the bottleneck? [15:04:00.0000] <gsnedders> jgraham_: html5lib tokenising is the biggest [15:04:01.0000] <jgraham_> Oh. Well yeah html5lib sucks :) [15:04:02.0000] <gsnedders> Only real way to make a big change with that is for it to be a Py extension [15:05:00.0000] <jgraham_> /me decides to do some work on html5lib since no one seems interested in the alt text survey thing [15:05:01.0000] <gsnedders> I may just give up on Python and write it in C++ (though with my total lack of knowledge of what's needed to write it that'd be hard) [15:06:00.0000] <gsnedders> But that would be quick. [15:06:01.0000] <jgraham_> gsnedders: Write what in C++? [15:06:02.0000] <gsnedders> jgraham_: spec-gen [15:06:03.0000] <Philip`> jgraham_: The problem with doing an alt text survey is that it would produce data, and so it might conflict with people's opinions [15:06:04.0000] <jgraham_> gsnedders: Wouldn't it make sense to write a html parser in C(++) rather than the whole thing [15:07:00.0000] <Philip`> Writing in C++ seems like probably not a great idea [15:07:01.0000] <Philip`> particularly if you're doing things with strings and data structures [15:07:02.0000] <jgraham_> Philip`: The thought had occurred to me [15:07:03.0000] <gsnedders> jgraham_: peh. Once you've done the HTML parser part the rest is simple enough in any language, really [15:08:00.0000] <gsnedders> (I'd just use WebKit's HTML/DOM stuff, to avoid reinventing the wheel there) [15:08:01.0000] <Philip`> /me was responding mostly to gsnedders [15:09:00.0000] <jgraham_> gsnedders: I imagine it would be significantly easier to write the front end in a non-C based language [15:09:01.0000] <jgraham_> Philip`: I meant about the survey [15:09:02.0000] <Philip`> jgraham_: Oh [15:09:03.0000] <Philip`> jgraham_: That makes sense, then - please ignore my comment :-) [15:09:04.0000] <jgraham_> Although one possibility would be to write the string manipulation bits in javascript and make it run in a browser [15:10:00.0000] <jgraham_> possibly from the command line [15:10:01.0000] <Philip`> gsnedders: You won't say the rest is simple once you're trying to use a std::tr1::hash_map<std::string, std::pair<int, int> > just to do some simple processing that would take no lines of code in Python :-) [15:11:00.0000] <gsnedders> Philip`: :) [15:12:00.0000] <gsnedders> Philip`: all my experience of C based strings has probably been spoiled by OpenStep and Obj-C. :) That probably makes C++ look even worse :) [15:12:01.0000] <Philip`> C++ strings work alright, as long as you don't care too much about Unicode, but it's not very concise at more complex data structures [15:13:00.0000] <gsnedders> From what I've seen, WebKit handles strings quite nicely [15:14:00.0000] <hsivonen> Philip`: how common is it for non-trivial apps to use C++ strings. the C++ code I've seen either uses C-style strings or custom string classes [15:15:00.0000] <jgraham_> How common is it to use C-style strings? C-style strings seem a bit evil even in C... [15:15:01.0000] <Philip`> gsnedders: Probably because they use a custom string class, which is more code you have to import into your own project and work out how to compile [15:15:02.0000] <gsnedders> Philip`: that and C-style strings, but yeah [15:15:03.0000] <jgraham_> /me has very little real experience here [15:16:00.0000] <Philip`> hsivonen: How would you count custom string classes that inherit from C++'s std::string? [15:16:01.0000] <hsivonen> jgraham_: very common, I'd say without quatitative evidence [15:16:02.0000] <gsnedders> Philip`: But if I was using the HTML/DOM from it, I'd need it anyway [15:16:03.0000] <annevk> hmm, I replied to a message about alt and Hixie just replied to the same... [15:16:04.0000] <gsnedders> /me really does need an actual NodeIterator, regardless [15:16:05.0000] <annevk> oh well [15:16:06.0000] <jgraham_> gsnedders: Write your own? [15:16:07.0000] <hsivonen> Philip`: I don't know how I'd count those. [15:16:08.0000] <gsnedders> jgraham_: I'm lazy, and busy :) [15:16:09.0000] <Philip`> /me has a non-trivial (100-200KLOC, I think) C++ program with a custom string class that inherits from std::string [15:17:00.0000] <jgraham_> Or do it in a browser like I said [15:17:01.0000] <jgraham_> or find a way to not need one :) [15:17:02.0000] <hsivonen> Philip`: is the stl really 's' these days? Mozilla C++ bans a lot of stuff including the 'standards' libs [15:17:03.0000] <gsnedders> jgraham_: that can't really be done through the CLI, though [15:18:00.0000] <gsnedders> Mozilla reimplements the wheel, though :) [15:18:01.0000] <jgraham_> gsnedders: I think you can run some browsers in windowless modes [15:18:02.0000] <gsnedders> /me ought to go sleep regardless [15:19:00.0000] <jgraham_> /me isn't exactly sure which [15:19:01.0000] <Philip`> hsivonen: wxWidgets used to implement everything (like strings) itself, largely copying the STL API, but now they've given up on old obscure platforms and have a (currently optional) option to use the STL implementations instead; so they're not confident enough to enable it by default, but they seem to be heading in that direction [15:19:02.0000] <Philip`> gsnedders: All C++ applications reinvent many wheels :-) [15:19:03.0000] <gsnedders> squares ftw! [15:21:00.0000] <Philip`> It's often easier to rewrite code yourself rather than work out how to build and link to an external library, particularly if you want to work on multiple platforms [15:22:00.0000] <Philip`> (at least if it's only a few hundred lines of code) [15:22:01.0000] <gsnedders> /me goes sleep [15:23:00.0000] <gsnedders> The real W3C spec-gen is written in Perl and C, and parses the document about 10 times. It's ridiculous. It's possible to outdo that using even html5lib :P [15:24:00.0000] <jgraham_> /me wonders if gsnedders should see a doctor about his sleep typing [15:24:01.0000] <gsnedders> jgraham_: Hey, I have CFS, what do you expect? :P [15:24:02.0000] <gsnedders> I'm ALWAYS asleep :P [15:24:03.0000] <jgraham_> CFS? [15:25:00.0000] <jgraham_> /me googles [15:25:01.0000] <gsnedders> /me points at http://wwcoco.com/cfids/mollyact1.html [15:25:02.0000] <gsnedders> just 'cause it's by Molly [15:25:03.0000] <gsnedders> (yes, that molly) [15:25:04.0000] <Philip`> Isn't that a filesystem? [15:25:05.0000] <gsnedders> Philip`: with an abbr. like that, I expect so :P [15:25:06.0000] <Philip`> Any acronym that ends with FS is a filesystem [15:25:07.0000] <jgraham_> Philip`: Oddly, that's what I thought of [15:26:00.0000] <Philip`> gsnedders: There's nothing wrong with Perl! [15:26:01.0000] <gsnedders> My brain runs on Confused File System. [15:26:02.0000] <gsnedders> Philip`: I dislike it, but that's not the issue with the spec-gen, and is irrelevant :) [15:26:03.0000] <Philip`> gsnedders: Your opinion on Perl is wrong [15:26:04.0000] <gsnedders> hah. [15:27:00.0000] <Philip`> You do like it, you just haven't realised yet [15:27:01.0000] <gsnedders> Philip`: you remind me of my real friends. [15:27:02.0000] <gsnedders> "You don't have an opinion. I'm right." [15:27:03.0000] <jgraham_> Are they all crazy perl fans too? [15:27:04.0000] <gsnedders> Seeming some of them struggle to use a computer at all, I doubt it [15:28:00.0000] <gsnedders> /me notes while those two are around that he's only going to Cambridge once now this year, most likely, in May [15:30:00.0000] <Philip`> /me wonders when May is [15:30:01.0000] <Philip`> Is that next month? [15:30:02.0000] <gsnedders> Yes. [15:31:00.0000] <Philip`> Ah, good [15:31:01.0000] <gsnedders> Either of you have any suggestions for where to meet up, yet? [15:31:02.0000] <jgraham_> /me wonders if he should parse that as "I will be going to Cambridge at at least once this year including one visit in May" or "I shall be going to Cambridge exactly once this year and it shall probably be in May" [15:31:03.0000] <gsnedders> jgraham_: the commas should make it clear that it is the former [15:31:04.0000] <Philip`> gsnedders: I don't know anything as practical as that, so I have no suggestions [15:32:00.0000] <gsnedders> Philip`: :P [15:32:01.0000] <jgraham_> gsnedders: I don't think the commas help [15:32:02.0000] <gsnedders> Philip`: Am I going to end up choosing? [15:32:03.0000] <jgraham_> gsnedders: I can come up with ideas if you want. [15:32:04.0000] <Philip`> gsnedders: You could probably choose better than I can :-) [15:32:05.0000] <gsnedders> As I said, somewhere centralish suits me. [15:33:00.0000] <gsnedders> If not in the centre, in the direction of the Millpond [15:33:01.0000] <jgraham_> The plan was to involve food, yes? [15:33:02.0000] <gsnedders> Yeah, meet up over supper is probably best for me [15:33:03.0000] <jgraham_> OK. Well we can sort something out based on cuisine preferences nearer the time [15:34:00.0000] <Philip`> Preferably it would be somewhere within sane walking distance of me, since I'm not very good at travelling long distances [15:34:01.0000] <gsnedders> Philip`: for any particular reason? [15:34:02.0000] <annevk> Lachy, "A new version of WordPress is available! Please notify the site administrator." << blog.whatwg.org [15:34:03.0000] <jgraham_> Philip`: You're at Kings, right? Or do you mean the CS department? [15:34:04.0000] <gsnedders> Philip`: Kings is hardly central, I know :) [15:35:00.0000] <gsnedders> Where is CS anyway? [15:35:01.0000] <jgraham_> Madingley Road, opposite Astronomy [15:35:02.0000] <jgraham_> :) [15:35:03.0000] <gsnedders> ah [15:35:04.0000] <Philip`> jgraham_: I'm living about 10-15 minutes south of King's [15:35:05.0000] <gsnedders> the latter part of that makes no sense to me, but the former part does [15:36:00.0000] <gsnedders> which way is the millpond from King's? [15:36:01.0000] <jgraham_> South west [15:36:02.0000] <gsnedders> I don't know where North/South is relative to Cambridge :) [15:36:03.0000] <Philip`> /me has no idea what the Millpond is [15:36:04.0000] <jgraham_> Not very west, mind [15:37:00.0000] <gsnedders> Philip`: by the Fen :) [15:37:01.0000] <gsnedders> </useless_answer> [15:37:02.0000] <gsnedders> Philip`: Where Bella Italia, and the Granta are [15:37:03.0000] <jgraham_> gsnedders: Equally good answers might have been "in the flat bit" [15:37:04.0000] <gsnedders> jgraham_: true :) [15:37:05.0000] <Philip`> Ah, I think I know that bit [15:37:06.0000] <Philip`> since I walk past it every day [15:37:07.0000] <gsnedders> Philip`: Yeah, exactly :) [15:38:00.0000] <Philip`> Depending on the time, I might start at the CL or at King's or at home, but they're all close enough to not make too much difference [15:39:00.0000] <gsnedders> What is there around there? Chinese, Indian, Italian, and several pubs? Or do I recall incorrectly? [15:39:01.0000] <jgraham_> I'll almost certainly be coming from the IoA [15:39:02.0000] <gsnedders> IoA? [15:39:03.0000] <jgraham_> Institute of Astronomy [15:39:04.0000] <gsnedders> I guessed that just after I asked [15:39:05.0000] <gsnedders> and that's opp. CS :) [15:39:06.0000] <Philip`> Depends which side you look at the opposite of [15:40:00.0000] <Philip`> The most directly opposite thing is a field with some horses [15:40:01.0000] <gsnedders> /me checks Madingley Road is what he thought it was [15:40:02.0000] <jgraham_> gsnedders: Yeah, there's that bit. Then nearby there's a little bit with an (inexplicably) popular noodle bar and a couple of other places [15:40:03.0000] <gsnedders> I mean, we can always meet by the millpond and then decide where to go if need be [15:41:00.0000] <jgraham_> Or there's other places in town e.g. japanese [15:41:01.0000] <gsnedders> I'll be offline while I'm in Cambridge likely, as I probably won't take my laptop [15:42:00.0000] <Philip`> ( http://maps.google.com/maps?f=q&hl=en&geocode=&q=computer+laboratory&jsv=107&sll=52.21071,0.091882&sspn=0.006719,0.020771&ie=UTF8&ll=52.211104,0.091882&spn=0.006719,0.020771&t=k&z=16&iwloc=A ) [15:43:00.0000] <gsnedders> yeah, perpendicular to the end of Grange Road (where my late grandmother lived) as I thought [15:44:00.0000] <Philip`> /me sees the map is out of date, since the bit just south of the CL is now a building that looks quite like a very fat truncated submarine instead of a car park [15:45:00.0000] <gsnedders> Philip`: if you go by the millpond, I guess you live near Granchester Street? [15:46:00.0000] <gsnedders> and on that, I really am going to sleep [15:47:00.0000] <Philip`> gsnedders: Yes - down that way and round a bit [15:47:01.0000] <gsnedders> Philip`: nice part :) [15:47:02.0000] <gsnedders> /me really really goes [15:47:03.0000] <Philip`> It's quite a quiet area, which is nice :-) [15:51:00.0000] <hsivonen> does RTL alt test inherit dir from markup or put control characters in the attribute value? [15:51:01.0000] <hsivonen> s/test/text/ [16:00:00.0000] <Philip`> Someone needs to post something to public-html that is new and preferably not about alt again, so that my Gmail thread count reaches 1000 [16:00:01.0000] <Philip`> I hate when it's 999 because it just leaves me anticipating the rollover, and I don't even get any non-negligible satisfaction when it occurs [16:06:00.0000] <annevk> "Although Jeff Walden from MIT was gracious enough to share his thoughts" :) [16:06:01.0000] <hsivonen> why do people keep calling the empty string null alt? [16:06:02.0000] <hsivonen> how annoying [16:07:00.0000] <Lachy> hsivonen, people do a lot more annoying things than that. I wouldn't worry about it. [16:10:00.0000] <Lachy> ... like letting the alt text discussion go round in circles. [16:11:00.0000] <Dashiva> Lachy: I think we're forgetting the case where there's a known alt text that happens to be _none [16:12:00.0000] <Lachy> I still haven't figured out how alt="_notsupplied" (or equivalent) is any better than omitting alt, nor why there is any reason to distinguish those 2 cases, given that neither will benefit the AT any more [16:13:00.0000] <Dashiva> Well, apparently some people aren't convinced about not needing to separate them [16:13:01.0000] <Lachy> The only justification for it seems to be a signal to a validator that the omission was intentional, but a validator couldn't really do anything more with alt="_notsupplied" than it could with an omitted alt [16:13:02.0000] <Dashiva> And if pressed, I'm sure at least a few will say "A magic value makes it easier for the validator to spot where you forgot alt by accident" [16:14:00.0000] <Philip`> Is that not true? [16:14:01.0000] <Lachy> a user can request that the validator indicate machine-checkable criteria like that, even if it's not strictly required for syntactic conformance [16:14:02.0000] <Lachy> Philip`, what? [16:15:00.0000] <Dashiva> Philip`: It's a red herring [16:15:01.0000] <Philip`> "user can request" sounds like it requires more UI, which is not good for the user-friendliness of validators [16:15:02.0000] <hsivonen> Philip`: I think I'm going to deal with this in a way that requires yet another checkbox [16:15:03.0000] <Dashiva> It would make it easier to spot accidental omissions, but a user handwriting a page isn't the problem at hand [16:16:00.0000] <Philip`> Dashiva: A user handwriting a page becomes a problem if missing alt is no longer flagged [16:16:01.0000] <Dashiva> No, he gets a checkbox [16:16:02.0000] <Philip`> He probably forgets to check the checkbox [16:16:03.0000] <Lachy> there might be alternative solutions to adding another checkbox, but a validator's UI isn't really relevant to a discussion about conformance criteria [16:17:00.0000] <Dashiva> Philip`: That's about as relevant as someone who forgets to validate [16:17:01.0000] <Philip`> Lachy: For the vast majority of people, validators are their only interaction with conformance criteria, so validators are critical to the discussion; and the validator's UI is important to the validator [16:18:00.0000] <Philip`> (Well, for the vast majority of the people who have any interaction with conformance criteria at all) [16:18:01.0000] <Lachy> if a user forgets to check the "Indicate missing alt" box, and the user wants to check for missing alt, he can always go back and revalidate [16:19:00.0000] <Lachy> or maybe the validator could show a warning aboug missing alt by default in some way [16:19:01.0000] <Philip`> Lachy: The user forgetting to check the checkbox gives identical results to if they did check it and had no errors, so they would have no reason to notice that they forgot to check it [16:20:00.0000] <Lachy> it depends what the validation report looks like, and if it clearly indicates what was and wasn't checked [16:21:00.0000] <Dashiva> Forgetful users can write a userjs that checks the box automatically :) [16:22:00.0000] <Philip`> /me usually only looks for one bit of information (passed or failed, i.e. green or red) when looking at validation reports [16:22:01.0000] <hsivonen> Philip`: I don't intend to make the checkbox modify the validation function. I intend it to enable an integrated alt review assistant [16:22:02.0000] <Philip`> Dashiva: I think you may be overestimating the abilities of users :-p [16:22:03.0000] <Philip`> /me doesn't even know how to write UserJS himself [16:23:00.0000] <hsivonen> checkboxes on V.nu are bookmarkable [16:23:01.0000] <Dashiva> Even better [16:23:02.0000] <Philip`> Is there a discoverable way of using that? [16:24:00.0000] <hsivonen> Philip`: there used to be, but it made UI strings too long [16:25:00.0000] <Lachy> hsivonen, how are theybookmarkable? [16:25:01.0000] <hsivonen> Lachy: make settings, leave the document address blank and press validate [16:26:00.0000] <Dashiva> hsivonen: Make a "save settings" button that also does that :) [16:26:01.0000] <Lachy> that could use a more intuitive UI [16:26:02.0000] <Lachy> a save settings button should leave a cookie [16:30:00.0000] <jgraham_> Wow, I didn't expect Steve Faulkner to say that [16:31:00.0000] <Dashiva> "Stop pointing out my hypocricy, that's a personal attack" [16:34:00.0000] <annevk> "pathetic personal attack... but can anything more be expected?" [16:34:01.0000] <annevk> hmm, from the people who cite my blog post on alt= at every occasion [16:35:00.0000] <annevk> oh well, it's clearly too late for getting involved in alt bike sheds [16:35:01.0000] <annevk> /me -> bed [16:47:00.0000] <jgraham_> Jacques has the best suggestion so far about @alt http://intertwingly.net/blog/2008/04/15/HTML5-SVG#c1208297906 [16:47:01.0000] <annevk> Searching on the Web for "limpid" I found this example of alt abuse: http://www.limpidmusic.nl/shoot.html [16:52:00.0000] <Hixie> i guess postMessage is the next priority [16:52:01.0000] <Dashiva> jgraham_: I don't think Hixie would hold the spec hostage like that :) [16:54:00.0000] <Dashiva> Odd... I switch back to the browser holding that intertwingly tab, and suddenly there's a huge red warning about comments and ip tracking and stuff. Where did that come from... [16:54:01.0000] <gsnedders> /me holds the spec hostage [16:54:02.0000] <annevk> get in line :p [16:55:00.0000] <Dashiva> The spec does have a frighteningly low bus factor, though [16:55:01.0000] <Hixie> not really, the source is all out there, as is most of the feedback [16:56:00.0000] <Hixie> and my dreamhost account is paying for itself in recurring referral fees [16:56:01.0000] <jgraham_> Do they have buses in California? [16:56:02.0000] <Hixie> so so long as you guys can find another editor, it should be easy to continue [16:56:03.0000] <jgraham_> We should make them all stop, just in case [16:56:04.0000] <Hixie> -_- [16:56:05.0000] <Hixie> i USE the busses! [16:57:00.0000] <jgraham_> Segway? ;) [16:57:01.0000] <Dashiva> Hixie: I'm not worried about the text, I'm worried about who's going to edit it [16:57:02.0000] <Hixie> yeah well [16:57:03.0000] <Philip`> Hixie: So if we can do the hard part, then the rest will be easy? That sounds kind of obvious :-) [16:57:04.0000] <Hixie> that's a problem i'm worried about too [16:57:05.0000] <Hixie> let me know if you find anyone :-) [16:57:06.0000] <Hixie> there's plenty for them to do :-) [16:58:00.0000] <Dashiva> Hixie: So you can jump in front of a bus? No way! [16:58:01.0000] <Hixie> there's plenty for them to do even with me still editing all of html5! 2008-04-16 [17:00:00.0000] <annevk> /me -> bed, take 2 [17:00:01.0000] <jgraham_> It seem remarkably improbably that the world is as spec-editor deficient as it appears to be, which suggests that all the people who would be good at it are doing something else instead [17:00:02.0000] <Dashiva> Like hiding [17:00:03.0000] <Philip`> Maybe they all have proper jobs instead [17:01:00.0000] <jgraham_> It's true that "spec editor" isn't one of the things that ever came up on those careers CDs they had at school [17:02:00.0000] <jgraham_> the ones that always said something like "you should be an industrial chemist or a landscape gardener" [17:03:00.0000] <Philip`> It doesn't seem very good as a career path - it won't be long before we have standards for everything imaginable and then your career would collapse and you'd have to learn some other trade [17:04:00.0000] <roc> yeah right [17:04:01.0000] <Hixie> hah [17:04:02.0000] <jgraham_> Only if we solve hard AI [17:04:03.0000] <Hixie> it's not a particularly great career path, but that certainly isn't why [17:05:00.0000] <roc> I think good QA people make good spec editors [17:05:01.0000] <Dashiva> Philip`: Don't worry, you can always get a job on the OOXML improvements committee [17:05:02.0000] <jgraham_> then the machines can write their own damn standards [17:05:03.0000] <roc> unfortunately I haven't been able to persuade our good QA people to head in that direction [02:08:00.0000] <annevk> the latest message from Steven does indeed state the assumption is that <img> with no alt attribute is more often equivalent than <img alt> than not [02:08:01.0000] <annevk> s/is that/that/ s/equivalent than/equivalent to/ [02:08:02.0000] <jwalden> /me tries not to think too much about the RMSish vibes he gets from Crockford sometimes [02:08:03.0000] <annevk> http://www.google.com/search?q=define:rms ? [02:08:04.0000] <virtuelv> Richard M. Stallman [02:08:05.0000] <jwalden> the feeling that everything he says is to be interpreted as some sort of dogma [02:08:06.0000] <jwalden> the right and holy way [02:08:07.0000] <MikeSmith> /me wonders why mail-archive.com mirror of whatwg archive is often first in Google hits rather than actual whatwg link [02:33:00.0000] <MikeSmith> "Dave Winer and Captain Crunch were also both in the room, and their preferences also were in order JSONRequest, XDR and Access Control." [02:34:00.0000] <hsivonen> lol [03:33:00.0000] <MikeSmith> fyi: [03:33:01.0000] <MikeSmith> http://dev.w3.org/2008/mobile-test/test.html [03:34:00.0000] <MikeSmith> Web Compatibility Test for Mobile Browsers [03:34:01.0000] <MikeSmith> http://www.w3.org/blog/MWITeam/2008/04/16/web_compatibility_test_for_mobile_browse [03:34:02.0000] <MikeSmith> and http://dev.w3.org/2008/mobile-test/doc.html [03:36:00.0000] <annevk> yeah, pretty cool [03:42:00.0000] <MikeSmith> another product of Dominique Hazael-Massieux [03:42:01.0000] <MikeSmith> though I guess others may have contributed [03:42:02.0000] <annevk> yeah, people in that WG [03:42:03.0000] <annevk> and collegues of people in that WG :) [03:42:04.0000] <MikeSmith> ah [03:43:00.0000] <MikeSmith> Kai Hendry comment to me about that: "I think these acid-list tests are far more effective then writing docs of what people should be doing (best practice)." [03:43:01.0000] <MikeSmith> my reply to which was, Amen. [04:10:00.0000] <annevk> given that <img> doesn't read out anything now, but the proposed alternative <img alt noalt> doesn't either I have no idea why the latter is better [04:29:00.0000] <Lachy> some people seem to be providing conflicting information about how current screen readers handle a missing alt attribute. [04:30:00.0000] <Dashiva> Probably just different screen readers (and versions), considering how bad the update cycle is [04:30:01.0000] <Lachy> Previously, we had been told that they attempt to read the file name or use some other available repair text. But Steve now says <img> is treated the same as <img alt=""> http://lists.w3.org/Archives/Public/public-html/2008Apr/0467.html [04:36:00.0000] <hsivonen> Lachy: I gather it depends on the linkness of the image in at least JAWS [04:36:01.0000] <Lachy> ok [05:01:00.0000] <hsivonen> /me notes that even the VoiceOver Utility uses textual alternatives for images in a dogmatic and less usable way [05:02:00.0000] <hsivonen> instead of just saying "General", it says "General, Image, General" reading out both the icon's textual alternative and the textual label [05:03:00.0000] <annevk> http://lists.w3.org/Archives/Public/public-html/2008Apr/0486.html [05:03:01.0000] <annevk> is my reasoning flawed? [05:23:00.0000] <annevk> at least Steven missed the point of my conclusion... [05:23:01.0000] <annevk> good start I guess :) [05:24:00.0000] <Lachy> /me wonders why other people missing your point is a "good start"!? [05:26:00.0000] <annevk> I was being sarcastic [05:34:00.0000] <MikeSmith> annevk, my build of Opera seems to be rendering a part of the mobile test page that is actually commented out [05:34:01.0000] <MikeSmith> the "Proposed additions and changes" part [05:39:00.0000] <MikeSmith> annevk, oops. It appears that my Opera actually has cached an older version of the page [05:39:01.0000] <MikeSmith> and isn't actually loading the remote page [05:40:00.0000] <MikeSmith> /me tries to remember how to force Opera to ignore cache and reload the real page [05:45:00.0000] <annevk> F5? [05:47:00.0000] <MikeSmith> annevk, yep [05:47:01.0000] <MikeSmith> thanks [05:49:00.0000] <annevk> I guess people expect something more complex, like Shift+F5 :) [05:52:00.0000] <Dashiva> I was used to ctrl-F5 from IE. That turned out to be a bad idea in Opera [06:05:00.0000] <zcorpan> jgraham_: fwiw, i'm definitely interested in spending 30 mins classifying images, if that helps [06:10:00.0000] <Philip`> Dashiva: What does ctrl-F5 do? [06:10:01.0000] <Philip`> (For me it just makes KDE switch virtual desktops) [06:14:00.0000] <Philip`> annevk: "You assume a minority case is likely to occur more often and the editor assumes a majority case is likely to occur more often" - I think making any assumptions about the occurrences of certain case when there's no data is incorrect [06:14:01.0000] <Philip`> *cases [06:15:00.0000] <Philip`> so you can't say it's more correct to make one assumption based on no data, than to make a different assumption based on no data [06:15:01.0000] <Philip`> Solution: Get data :-) [06:16:00.0000] <Dashiva> Philip`: Reload -all- tabs [06:17:00.0000] <Philip`> Dashiva: Oh, you use multiple tabs? [06:17:01.0000] <Philip`> /me only visits a single site at a time [06:17:02.0000] <Philip`> It saves all these kinds of problems [06:29:00.0000] <Philip`> annevk: http://annevankesteren.nl/2008/04/html5-svg - s/tempered/tampered/ [06:31:00.0000] <Dashiva> Is mathematics really a plural? [06:32:00.0000] <Philip`> Dashiva: No, since you can't get a mathematic [06:33:00.0000] <Philip`> (I believe it's the same as physics) [06:33:01.0000] <Philip`> annevk: s/Mathematics have/Mathematics has/ :-) [06:34:00.0000] <Philip`> (Wikipedia says "In English [...] the noun mathematics takes singular verb forms." which sounds right to me) [06:37:00.0000] <Philip`> (Just don't ever say "math" because that sounds stupid) [06:38:00.0000] <Dashiva> Math are hard [06:43:00.0000] <annevk> Philip`, I agree with getting data [06:43:01.0000] <annevk> Philip`, fixed, thanks [06:45:00.0000] <annevk> Philip`, though without data there's no reason to assume one case is more common than another :) [06:45:01.0000] <Philip`> annevk: But you seem to be suggesting making decisions in the (perhaps temporary) absence of data, just because those decisions seem kind of sensible, when the only justifiable approach is to not make any decisions until there is data [06:46:00.0000] <Philip`> annevk: There's no reason to assume one case is not more common than another either :-) [06:46:01.0000] <Philip`> so all assumptions are unreasonable [07:44:00.0000] <Philip`> /me tries to compare the cost of writing a simple XML serialiser in OCaml, vs finding an existing serialiser library and working out how to compile it and integrate it into the project's build system and how to use it [07:45:00.0000] <Philip`> (I think the former choice currently looks like it'll win) [08:44:00.0000] <annevk> Philip`, I guess that's fair enough, yeah [09:02:00.0000] <Philip`> Wow, I can generate RELAX NG schemas and they actually work [09:03:00.0000] <Philip`> and given zero experience, then reading a few parts of the tutorial, my first attempt only had one error (I didn't realise it needed <empty/>) [09:03:01.0000] <Philip`> so it doesn't seem too complex, which is nice [09:06:00.0000] <zcorpan> Philip`: generate from what? [09:07:00.0000] <Philip`> zcorpan: Some data structure inside a sort of compiler [09:08:00.0000] <Philip`> (in OCaml) [09:09:00.0000] <zcorpan> what are the schemas for? [09:09:01.0000] <Philip`> (I can't think of any way to describe it in more detail that wouldn't requires pages of background information :-( ) [09:10:00.0000] <zcorpan> /me demands pages of background information [09:10:01.0000] <Philip`> Well, you could start with http://www.sigcomm.org/sigcomm2005/paper-GriSob.pdf :-p [09:11:00.0000] <Philip`> (Warning: I suggest not doing so) [09:12:00.0000] <Philip`> zcorpan: In theory, the compiler could generate some code to parse XML files into a custom in-memory data structure (in C++), and that could be used via the NETCONF protocol (or the custom Cisco XML protocol or whatever) to configure network routers [09:12:01.0000] <Philip`> and so the schema is for those XML files [09:13:00.0000] <Philip`> In practice, I don't think I'll bother generating code to parse XML, since it's more useful to generate code to parse the ugly textual configuration files instead, but the XML thing is useful as a rough proof of concept :-) [09:15:00.0000] <zcorpan> ok :) [09:26:00.0000] <Philip`> /me wonders if there's an RNG-to-RNC converter that gives particularly pretty output [10:17:00.0000] <annevk> krijnh, for linking URIs could you use the regular expression in http://intertwingly.net/code/mombo/post.py [10:17:01.0000] <annevk> search for "naked urls" [10:18:00.0000] <Philip`> That really could do with using r'' strings [11:02:00.0000] <zcorpan_> annevk: isn't it "rapid progress", not "rapid process"? [11:07:00.0000] <annevk> three documented typos so far and counting :) [11:10:00.0000] <fantasai> hixie, can you add a link to the multipage version from whatwg.org/specs/ ? The full spec is huge, and it would be nice to get to the multipage version without having to download the entire thing. [11:11:00.0000] <mcarter> I think the event-source dom element should expose a lastReceivedId attribute which corresponds to the value it will send back to the server in the Last-Received-ID header [11:11:01.0000] <annevk> fantasai, whatwg.org/html5 [11:12:00.0000] <annevk> mcarter, public-html-comments⊙wo or whatwg⊙wo [11:12:01.0000] <annevk> (you need to be subscribed to the latter) [11:12:02.0000] <fantasai> annevk: nice.. but it'd still be nice to have the link for when I haven't got the short version memorized :) [11:12:03.0000] <mcarter> annevk, whats the difference between the two lists besides the subscription requirement for whatwg? [11:14:00.0000] <annevk> mcarter, for providing feedback they're more or less equivalent [11:14:01.0000] <zcorpan_> mcarter: you'll probably get annoying disclaimers in replies on public-html-comments ;) [11:15:00.0000] <gsnedders> /me wonders whether to start using a disclaimer that implicitly makes itself questionable [11:15:01.0000] <gsnedders> (in similar vain to "everything I say today is bullshit" — is that bullshit?) [11:16:00.0000] <zcorpan_> gsnedders: you don't need a disclaimer for that [11:17:00.0000] <gsnedders> zcorpan_: Why? Because it is me? [11:17:01.0000] <annevk> mcarter, oh wait, this is #whatwg, just e-mail whatwg⊙wo :) [11:17:02.0000] <zcorpan_> it's understood that everything gsnedders says is bullshit [11:17:03.0000] <annevk> /me thought this was #html-wg and tried to be politically correct [11:17:04.0000] <gsnedders> zcorpan_: that's what I was guessing :) [11:18:00.0000] <mcarter> annevk, ok, thanks [11:18:01.0000] <gsnedders> zcorpan_: Why do I bother even writing a http-parsing spec? It'll all be bullshit under that theory :) [11:19:00.0000] <annevk> well, if it happens to be correct we might use it :) [11:20:00.0000] <gsnedders> /me still needs to email Yugne [11:20:01.0000] <gsnedders> (I know that's spelt wrong, I can't spell :P) [11:20:02.0000] <gsnedders> But there again, everything I say is bullshit anyway, so why need I say that? :) [11:21:00.0000] <gsnedders> My initial attempt at spelling before changing it was closer. Dangnamit! [11:42:00.0000] <Philip`> /me wishes he could find a way to make RELAX NG accept things with 0..n repetitions where n is finite [11:42:01.0000] <annevk> /me wishes he had some way to figure out whether or not IE made XHTML fail [11:43:00.0000] <annevk> Mostly because I think it was due to XHTML and not IE [11:43:01.0000] <annevk> or XML rather [11:43:02.0000] <Philip`> Maybe it's useful to compare XHTML to other web technologies that aren't supported in IE [11:44:00.0000] <Philip`> (but are in other browsers) [11:45:00.0000] <annevk> <canvas> dumdiedum [11:47:00.0000] <Philip`> annevk: That can be emulated in IE, so it's not as IE-hostile as XHTML is [11:47:01.0000] <Philip`> and anyway <canvas> seems to be used less than XHTML [11:48:00.0000] <zcorpan_> Philip`: how do you measure the usage of each? [11:48:01.0000] <Philip`> <blink> is pretty popular (~0.6% of my pages), and that doesn't work in IE, but it degrades gracefully so it's not comparable to XHTML [11:49:00.0000] <Philip`> zcorpan_: By looking in my dmoz.org pages and then making unjustifiable claims with far too little evidence and hoping nobody notices [11:50:00.0000] <Philip`> (I saw 39 sites with application/xhtml+xml, and only one with canvas) [11:51:00.0000] <zcorpan_> Philip`: i suspect that some pages that use canvas create them with script [11:52:00.0000] <zcorpan_> Philip`: what was the Accept header when getting those pages? [11:53:00.0000] <annevk> I don't think there are that many othe Web technologies with the same properties [11:53:01.0000] <Philip`> zcorpan_: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 (copied from Firefox 3) [11:53:02.0000] <annevk> other* [11:54:00.0000] <Philip`> There's SVG (in <object> or whatever), which doesn't work in default IE and doesn't have great fallback behaviour [11:54:01.0000] <annevk> SVG is done in libraries with a special code path for IE [11:54:02.0000] <Philip`> In some tens of thousands of pages, I don't see the string .svg" at all except on Wikipedia, so I guess not many people are using SVG [11:54:03.0000] <shepazu> lousy fallback behavior, worse in IE7 [11:55:00.0000] <Philip`> (*not using it in a way that involves web pages linking to or including it) [11:55:01.0000] <zcorpan_> Philip`: i would suspect most of those 39 pages are "faked XHTML" in ie by serving ie text/html [11:55:02.0000] <Philip`> /me finds <a href="news:netscape.public.mozilla.svg" ...> but thinks that doesn't count [11:56:00.0000] <annevk> maybe it's not worth making a point about it given the other flaws XHTML has [11:57:00.0000] <Philip`> /me really needs to make his grep thing faster - it takes far too long to read 3GB from disk [11:57:01.0000] <Philip`> (Also, I wish Linux cached more of those files in RAM, since I have plenty) [11:58:00.0000] <Philip`> Hmm, I'd better not count answers.com either since that's just copying Wikipedia [11:59:00.0000] <Philip`> Still can't find anyone else using SVG :-/ [12:00:00.0000] <shepazu> Open Clipart [12:01:00.0000] <Philip`> shepazu: I can find people if I look specifically - I'm just seeing if I can find any in a random set of pages, since that'd give some kind of idea of how widespread it is within that (biased) population [12:01:01.0000] <shepazu> oic [12:02:00.0000] <Philip`> /me updates his thing to look for \.svgz\?" so it would at least find his own SVG-using page (except it's not in the list that's being checked) [12:02:01.0000] <Philip`> Ooh, there's some now [12:04:00.0000] <Philip`> http://www.culturanuova.net/filosofia/kierkegaard.php [12:04:01.0000] <Hixie> Dashiva: help⊙wo was supposed to be that; feel free to subscribe, field questions, and advertise the list :-) [12:04:02.0000] <Philip`> uses http://www.culturanuova.net/img/sacrificio_isacco.svgz which sadly doesn't work - Firefox doesn't try decompressing it, and Opera does but doesn't display it [12:04:03.0000] <Philip`> and its <svg> isn't in a namespace [12:06:00.0000] <Hixie> btw the difference between the various lists is quite simple [12:06:01.0000] <Hixie> i take all the lists into account [12:06:02.0000] <Hixie> but if after reading all the feedback and considering all the options i end up picking a couse that disagrees with you, you are more likely to get a reply if you post to the whatwg list [12:06:03.0000] <Philip`> http://www.zentido.net/ confused me since it has <img ... alt="715px-Obama_08.svg" src="files/page0_sidebar_1.png" .../> [12:07:00.0000] <Hixie> (like, almost guaranteed) [12:07:01.0000] <annevk> Hixie, so you read all public-html e-mail? [12:08:00.0000] <Hixie> (and the only reason you wouldn't get a reply is if you're one of the regulars here and i've spoken to you about the issue at some point anyway, or you've changed your mind since writing the e-mail. Or, the e-mail you wrote is a reply to someone else and it's not clear how I would reply.) [12:08:01.0000] <Hixie> annevk: yes [12:08:02.0000] <annevk> great [12:08:03.0000] <Philip`> http://beat.doebe.li/bibliothek/p00210.html has a link to an .svg, and also the page badly break Opera 9.2 [12:10:00.0000] <Philip`> Oh, it's actually got <object> .svg too, but Firebug is broken and seems to pretend it's not there [12:10:01.0000] <Philip`> (The Opera problem seems like poor SVG rendering performance; 9.5 is much better) [12:11:00.0000] <Hixie> having said that [12:11:01.0000] <Philip`> http://www.amfanatl.org - livesrc? What's that from? [12:11:02.0000] <Hixie> these alt text people sure are testing my ability to read everything [12:11:03.0000] <annevk> Philip`, GoLive maybe [12:12:00.0000] <Philip`> http://tavmjong.free.fr/INKSCAPE/MANUAL/web/svg_tests.php - that's got SVG [12:12:01.0000] <annevk> http://www.google.com/search?q=livesrc [12:12:02.0000] <Philip`> http://www.svgx.org too [12:13:00.0000] <annevk> Sites promoting SVG as technology, how surprising :) [12:13:01.0000] <Philip`> http://stud.ics.p.lodz.pl/~steven/test_php/ uses .svg in <embed> so it only works in IE [12:13:02.0000] <Philip`> So, that's 5 pages which embed SVG graphics, out of about 130,000 minus Wikipedia minus answers.com [12:14:00.0000] <Philip`> so embedding SVG is less popular than serving XHTML to some browsers [12:14:01.0000] <annevk> I found quite a lot of SVG content on the Web which is abandoned and only works with the Adobe plugin [12:18:00.0000] <zcorpan_> Philip`: svg in <embed> should work in opera. although i get a 404 if i try to follow the embed src [12:18:01.0000] <Philip`> zcorpan_: Oh, right, that would kind of stop it working [12:19:00.0000] <zcorpan_> indeed :) [12:21:00.0000] <Philip`> So, excluding pages that don't work and sites that are specifically promoting SVG, that leaves about 0.001% (+/- an order of magnitude or two) of the web which embeds SVG [12:21:01.0000] <Philip`> compared to e.g. 10% that use PNG images [12:22:00.0000] <Philip`> and 70% that use GIF [12:23:00.0000] <Hixie> i couldn't find any svg content when i looked, but i wasn't looking at <img>, <embed>, and <object>, only <a> [12:23:01.0000] <Hixie> found a lot of GIFs though [12:24:00.0000] <Philip`> Hixie: I guess you didn't look enough to see http://beat.doebe.li/bibliothek/p00210.html [12:25:00.0000] <Philip`> (and 61% use JPEG) [12:25:01.0000] <Philip`> (or, more precisely, match /\.jpe?g"/, so it's a bit of an underestimate) [12:25:02.0000] <Philip`> /me needs to multithread his grepper [12:27:00.0000] <Philip`> (and 0.6% use BMP) [12:28:00.0000] <Philip`> (PPM is used as much as SVG is non-erroneously non-promotionally used, i.e. once) [12:28:01.0000] <zcorpan_> so BMP support should be a higher priority than SVG support [12:29:00.0000] <Hixie> Philip`: at the time i was (for various technical reasons i won't go into) unable to get numbers below a certain significance threshold [12:29:01.0000] <Philip`> Oops [12:29:02.0000] <Philip`> There was 0 PPM [12:29:03.0000] <Philip`> /me needs to be careful to not count the "make: ... is up to date" line [12:30:00.0000] <zcorpan_> 0.6% BMP really? sounds like a lot [12:31:00.0000] <Hixie> indeed [12:31:01.0000] <Hixie> /me dumps the entire alt="" debate into this graphics-img-alt folder to read later [12:32:00.0000] <Philip`> Hixie: It's always good to keep something fun to look forward to [12:32:01.0000] <Pavlov> whats the alt debate? [12:33:00.0000] <Philip`> Pavlov: HTML5 currently says to omit alt in a few cases, some people say it should be always required, two hundred emails ensue [12:33:01.0000] <Pavlov> lol [12:34:00.0000] <Philip`> zcorpan_: (?i)<img[^>]*src="[^>]*\.bmp" matches 0.5% of my pages, so it does seem like people are using it quite a bit [12:35:00.0000] <zcorpan_> Philip`: interesting [12:36:00.0000] <Philip`> I suppose I should just count all the file extensions, instead of guessing file extensions and then counting how often they come up... [12:37:00.0000] <zcorpan_> to be sure you need to inspect the first few bytes of each image resource [12:37:01.0000] <zcorpan_> file extension and mime type can be lying! [12:38:00.0000] <zcorpan_> (though i don't know how often images are mislabeled) [12:38:01.0000] <Philip`> zcorpan_: I'm hardly going to download two million image files when I can simply count the filenames and get a good enough approximation :-p [12:38:02.0000] <zcorpan_> Philip`: bah :P [12:38:03.0000] <Philip`> although I can't quite work out how to count the filenames [12:39:00.0000] <Philip`> (given the limitation that I only want to bother writing a single line of code) [12:41:00.0000] <Philip`> Hooray, find and xargs and perl [12:45:00.0000] <Philip`> http://philip.html5.org/data/img-src-extensions.txt [12:45:01.0000] <Philip`> (Total number of occurrences, not number of pages) [12:45:02.0000] <Philip`> (and I skipped the 50K file 'extensions' that only occurred once) [12:46:00.0000] <Philip`> ('extension' means $1 in /<img[^>]*src="[^>]*\.(.*?)"/) [12:46:01.0000] <Philip`> (Oops, I should have used [^>] rather than .) [12:51:00.0000] <Philip`> Anyway, GIF dominates, JPEG dominates less, PNG is kind of respectable, COM shouldn't be there, and BMP is on the edge of fading into the region of who-really-cares [12:56:00.0000] <Hixie> these alt arguments seem to rest on the behaviour on non-conforming pages [12:56:01.0000] <Hixie> but at that point all is lost anyway [12:57:00.0000] <Hixie> since who knows _what_ the alt attribute will say [12:57:01.0000] <Philip`> Non-conforming pages are biased towards being similar to conforming pages, rather than being totally random [12:57:02.0000] <Philip`> *totally randomly distributed across all possible byte streams [12:58:00.0000] <Hixie> sure, but flickr shows that there will be as many alt="harmful value" images as images with no alt, and so treating those cases differently seems wrong if we are worrying about non-conforming pages [13:01:00.0000] <zcorpan_> Philip`: i get 0.07% bmp from that data [13:02:00.0000] <hsivonen> Philip`: re: serializer: did you try Genx [13:02:01.0000] <hsivonen> Philip`: do you consider Trang output pretty? [13:04:00.0000] <hsivonen> Philip`: 0..n is a violation of zero, one, infinity rule! it's a feature [13:04:01.0000] <zcorpan_> Hixie: do you expect ATs to behave differently when it looks at a page it thinks is conforming from a page it thinks is non-conforming? [13:07:00.0000] <hsivonen> Philip`: I tried to argue the zero, one, infinity rule on Wikipedia, but the person exercising ownership over the article didn't buy the argument [13:11:00.0000] <Philip`> zcorpan_: I was counting number of pages the first time [13:11:01.0000] <Philip`> which was 700ish out of 130000ish [13:12:00.0000] <Philip`> hsivonen: When I'm writing an XML file to represent a bounded list, and the bound is not one, I think I'd appreciate the ability to violate that rule :-p [13:13:00.0000] <hsivonen> Philip`: you need to use n time 'foo?' [13:13:01.0000] <Philip`> hsivonen: n might be, say, 2^16 [13:14:00.0000] <hsivonen> Philip`: according to anecdotes, current schema technology doesn't scale to that [13:14:01.0000] <hsivonen> Philip`: if you do that in XSD, expect bad performance [13:14:02.0000] <Philip`> hsivonen: Do you mean checking XML files with 2^16 elements, or writing schemas with 2^16 rules? [13:14:03.0000] <Philip`> If the latter, that's why I don't want to use n time 'foo?' :-) [13:15:00.0000] <hsivonen> Philip`: checking for repetition 0..2^16 elements is bad for grammar-based validation performance [13:15:01.0000] <hsivonen> grammars do zero, one and infinity well [13:16:00.0000] <Philip`> I'm not forcing people to write grammar-based validators [13:16:01.0000] <Philip`> Anyway, I'll just do the repetition-count validation in the C++ code that I'm never going to write, because that'll save me a lot of effort [13:17:00.0000] <Philip`> Oh, actually, I think someone's already written most of that code, so that's alright [13:17:01.0000] <Philip`> /me heads off home [13:19:00.0000] <Hixie> hah [13:19:01.0000] <Hixie> http://www.whatwg.org/issues/data.html [13:19:02.0000] <Hixie> the blip is the alt text discussion [13:19:03.0000] <Hixie> which i just read and dealt with [13:19:04.0000] <Hixie> so it'll go down with the next data point [13:20:00.0000] <hsivonen> that looks small [13:21:00.0000] <annevk> it's about 48 e-mails [13:22:00.0000] <annevk> euh, 38 [13:28:00.0000] <Hixie> for one night's worth of e-mails on one topic, it's a lot [14:27:00.0000] <zcorpan_> annevk: btw, i made you administrator on f.w.o so you can delete users and their posts if they spam [14:30:00.0000] <Philip`> s/you can/I expect you to/ ? :-) [14:30:01.0000] <gsnedders> s/you can/you will/ ? :) [14:31:00.0000] <annevk> /me looks for spam [14:31:01.0000] <Philip`> (Argh, I updated my JDK a while ago and now Eclipse crashes on startup) [14:46:00.0000] <Philip`> /me gives up and uses vim instead [15:02:00.0000] <Philip`> I hope Google doesn't think my pages full of hundreds of kilobytes of URLs are spam [15:08:00.0000] <othermaciej> Hixie: are you around? [15:09:00.0000] <othermaciej> Hixie: the 2007 version of the media queries spec does not appear to define processing for media queries that lack a media type [15:09:01.0000] <othermaciej> (we'll probably fix our implementation anyway to do the likely expected thing of treating it as "all") [15:10:00.0000] <annevk> The CSS WG agreed to http://dev.w3.org/csswg/css3-mediaqueries/ today [15:11:00.0000] <othermaciej> annevk: seems to have the same bug [15:12:00.0000] <othermaciej> "A media query is true if the media type of the media query matches the media type of the device where the user agent is running (as defined in the "Applies to" line), and all expressions in the media query are true. " [15:12:01.0000] <othermaciej> doesn't say what to do when there is no media type [15:12:02.0000] <annevk> 'A media query consists of a media type and one or more expressions involving media features. If the media type is omitted it is assumed to be ‘all’.' [15:12:03.0000] <othermaciej> ah [15:13:00.0000] <othermaciej> looks ok then [15:41:00.0000] <Hixie> othermaciej: in fact, opera does two completely separate layouts, one for the display and one for getComputedStyle and offsetTop et al, the latter of which makes links all match :link [15:42:00.0000] <othermaciej> Hixie: good lord [15:42:01.0000] <Hixie> othermaciej: however, even that doesn't solve the problem; i demonstrated a timing based attack where i could determine which links had been visited based on how long it took to style the document [15:42:02.0000] <othermaciej> Hixie: do they actually keep two full render trees around? [15:42:03.0000] <Hixie> no idea what the implementation is [15:45:00.0000] <Lachy> the only way to truly address the issue is to treat all links as unvisited links in all places that selectors are used, including CSS, Selectors API, XBL, etc. So :visited would never match anything and :link would match all links [15:45:01.0000] <Lachy> other than that, any attempt is really an exercise in futility [15:46:00.0000] <annevk> Hixie, that was some time ago (it failed for my simple background:url(tracker?google) sample already) [15:46:01.0000] <annevk> dropped* [15:46:02.0000] <othermaciej> yeah, removing ways to custom-style visited links would do it, but would remove a useful feature [15:47:00.0000] <annevk> maybe it's like ping="" [15:48:00.0000] <annevk> usability win, potential small privacy loss [15:48:01.0000] <Lachy> othermaciej, agreed. It would only really be useful to address the issue in selectors api, in implementations that don't use selectors for anything else [15:50:00.0000] <annevk> http://intertwingly.net/blog/2008/04/15/HTML5-SVG#c1208379416 [16:00:00.0000] <jgraham_> /me doesn't think looking for alt="" vs alt="some text" vs no alt without any contextual information is very useful at all [16:02:00.0000] <roc> I talked to Doug Schepers, he has this requirement that copying an SVG subtree from an HTML document to a new XML document should produce well-formed SVG [16:02:01.0000] <roc> and another requirement that an HTML document containing only SVG nodes should be conforming if you change its type to XML [16:03:00.0000] <hsivonen> roc: copying on the source text level will be a futile exercise [16:03:01.0000] <roc> that's what he meant, yes [16:03:02.0000] <roc> and I agree it's a strange requirement [16:03:03.0000] <roc> but that's what the argument is about, I think [16:03:04.0000] <roc> whether those requirements make sense [16:04:00.0000] <annevk> i have a feeling it's also about preserving namespaces inside <metadata> and all... [16:04:01.0000] <hsivonen> yeah, that's the issue the SVG WG has. I think the issue is badly misguided. [16:04:02.0000] <hsivonen> annevk: I think that's a more legitimate concern [16:04:03.0000] <roc> I pointed out that the first requirement isn't even satisfied by XHTML [16:04:04.0000] <hsivonen> (misguided above referred to the copy paste thing--not metadata) [16:04:05.0000] <Lachy> "Sorry Maciej, I'm still going to decline to say how, but insist that it is possible. With Software, anything's possible" -- Travis Leithead [16:05:00.0000] <annevk> world peace! [16:05:01.0000] <jgraham_> Faster than light travel! [16:05:02.0000] <roc> halting problem! [16:05:03.0000] <annevk> :) [16:05:04.0000] <Lachy> of course, with software, anything's possible! [16:05:05.0000] <Dashiva> The halting problem is easy, but then you end up with a halting problem solver halting problem [16:06:00.0000] <hsivonen> jgraham_: re: context: I have this image review tool up and running on my dev machine [16:06:01.0000] <hsivonen> jgraham_: and context would really be nice [16:07:00.0000] <jgraham_> hsivonen: The one you plan to deploy on validator.nu? [16:07:01.0000] <jgraham_> That sounds extremely cool [16:07:02.0000] <hsivonen> jgraham_: but I still think this is an order of magnitude better than just requiring alt [16:07:03.0000] <hsivonen> jgraham_: yes [16:08:00.0000] <jgraham_> It would be nice to just collect data from that but unfortunately selecting only sites that the authors validate leads to huge biases :) [16:08:01.0000] <jgraham_> (but I think it will be a great QA tool) [16:09:00.0000] <jgraham_> (and much much better at exerting the right kind of social pressure than just checking alt exists) [16:13:00.0000] <Lachy> should :link match <link> elements too? [16:15:00.0000] <Lachy> HTML5 defines <link> with specific relationships as a hyperlink, and I can't see anything in Selectors to say it shouldn't [16:16:00.0000] <annevk> it thought they should match, yes [16:17:00.0000] <Lachy> I just tested it in WebKit, it didn't match them. [16:18:00.0000] <annevk> I'm not saying every implementation is compliant :) [16:19:00.0000] <Lachy> Mozilla does [16:21:00.0000] <Lachy> and Opera does too. So webkit is buggy [16:21:01.0000] <Philip`> And IE? [16:23:00.0000] <Lachy> haven't tested IE yet [16:23:01.0000] <Hixie> annevk: the background thing can be avoided by just fetching all backgrounds [16:27:00.0000] <Lachy> ah, it seems that IE8 implements :after, but not ::after [16:29:00.0000] <Lachy> I can't get any styles to apply to link elements in IE8 at all [16:30:00.0000] <Lachy> or IE7 [16:30:01.0000] <Philip`> Fortunately nobody uses ::after [16:30:02.0000] <Lachy> I use ::after, since I like the different syntax for pseudo-classes and -elements [16:30:03.0000] <Lachy> although, I don't use it frequently [16:31:00.0000] <Philip`> Nobody except you uses it :-p [16:31:01.0000] <Philip`> Oh, and probably annevk [16:37:00.0000] <hsivonen> I never remember which type of pseudo can be ::, so : is safer. [16:37:01.0000] <Philip`> jgraham_: The [1] you linked to didn't seem to say how common alt="" was - am I just missing something there? [16:38:00.0000] <Lachy> all pseudo elements can use :: as of CSS3 [16:38:01.0000] <Lachy> only a few of them can use :. The new ones introduced in CSS3 need :: [16:39:00.0000] <jgraham_> Philip`: No, I don't think it addresses that specific case. Maybe I should have made that clearer. But I think the criticisms would be the same even if they did look for alt="". [16:39:01.0000] <hsivonen> Lachy: how annoying [16:39:02.0000] <Hixie> the :: vs : distinction should have been there from the beginning [16:40:00.0000] <Philip`> What is the value in having the distinction? [16:40:01.0000] <jgraham_> Philip`: Presumably it is trivial for you to look for empty/whitespace alt vs alt with text [16:51:00.0000] <billmason> Hixie, thanks for the alt issue summary. The email volume and noise was so much, I'd given up knowing what exactly was being disputed in the first place.... [16:59:00.0000] <Lachy> Philip`, IMHO, the advantage is that it helps make a clearer distinction between pseudo-elements and -classes, so authors can better understand the purpose of each [16:59:01.0000] <Hixie> so had everyone else, i think 2008-04-17 [17:08:00.0000] <Philip`> jgraham_: Indeed, that's fairly easy to find [17:09:00.0000] <Philip`> I see 1104K <img>s with missing alt, 531K with alt="", 12K with whitespace alt, 703K with non-whitespace alt [18:20:00.0000] <Hixie> /me laughs at Philip`'s e-mail [18:24:00.0000] <Philip`> /me just hopes nobody complains that the four percentages add up to 101% [18:28:00.0000] <Hixie> my dreamhost imap server is starting to be unbelievably slow [18:28:01.0000] <Hixie> maybe it is time for me to run my own imap server [18:28:02.0000] <Philip`> Maybe you have too many emails [18:29:00.0000] <Hixie> i've been getting rid of e-mails [18:29:01.0000] <Hixie> it has not helped [18:29:02.0000] <Hixie> it has gotten worse [18:29:03.0000] <Philip`> Maybe you have too few emails [18:30:00.0000] <Hixie> that seems unlikely as well [18:37:00.0000] <Dashiva> Maybe the server has started to pity you and seeks to shield you from further noise mail :) [18:37:01.0000] <Lachy> Hixie, since I moved to dreamhost, my IMAP has been incredibly slow too [18:39:00.0000] <Lachy> I assumed it was because of the trouble they were having with the "blingy" cluster that I'm on. It's improved a bit, but still slower than I'd like. [18:39:01.0000] <Hixie> i'm on looney [18:39:02.0000] <Hixie> i'm not affected by blingy [18:39:03.0000] <Hixie> i have sent a support request [18:39:04.0000] <Hixie> it certainly didn't use to be this slow [19:07:00.0000] <Dashiva> "Taking out the alt requirement will remove any pressure on flikr to fix this." -- because four years is such a short time [19:18:00.0000] <Philip`> http://philip.html5.org/data/alt-lengths.svg - the ylabel on that is now quite horribly long, but I can't think of anything conciser or less confusing :-/ [19:19:00.0000] <Hixie> heh [19:20:00.0000] <Philip`> Oh, the label falls off the top of the screen in Firefox - hooray for unpredictable text layout [19:20:01.0000] <Hixie> bit like the title of chapter 11 in the html5 spec [19:21:00.0000] <Dashiva> Philip`: What if you inverted the axes? [19:21:01.0000] <Philip`> Also the SVG fails to render most of its lines in Safari 3.0.something in Wine [19:22:00.0000] <Philip`> Dashiva: Then the curve would point upwards, which would be ugly, so I don't want to do that [19:22:01.0000] <Dashiva> Details :) [19:22:02.0000] <Philip`> and it wouldn't make the label text any shorter [19:22:03.0000] <Philip`> or any less confusing [19:24:00.0000] <Dashiva> Well, make it "Images with alt text at most this length" and explain which images are considered in a sentence below the graph? [19:24:01.0000] <Philip`> Um, I'm not quite sure how to add sentences below the graph [19:24:02.0000] <Philip`> (in Gnuplot) [19:25:00.0000] <Hixie> use html [19:25:01.0000] <Dashiva> Well, it could also be a box inside the plot, since it's mostly whitespace [19:25:02.0000] <Dashiva> And you might want to bring out the old logarithmic y scale, like you did for content-type. It's awfully close to 100% most of the time :) [19:25:03.0000] <Philip`> Hixie: Then I'd need at least two files, because I can't put SVG inline in HTML, and it would become a Big Project instead of just throwing up a file generated by the tool [19:26:00.0000] <Philip`> Dashiva: Putting a box inside the plot sounds even harder :-p [19:26:01.0000] <Philip`> I'd have to read the documentation, which is never easy [19:27:00.0000] <Dashiva> Philip`: How about generating it without the box and adding the box by hand? Just a textbox should be not too hard [19:27:01.0000] <Hixie> xhtml baby [19:27:02.0000] <Philip`> Dashiva: It's meant to be close to 100% all the time, since it's just indicating that pretty much all alt text is below that length, and nobody really cares about the details of precisely how many pages use 128 vs 256 characters of alt text [19:28:00.0000] <Philip`> or at least that's my excuse [19:28:01.0000] <Philip`> Also log scales going up to 100 are ugly, because 100 doesn't have nice roots [19:28:02.0000] <Philip`> (A 0,10,100 scale would be rubbish, and anything else will have fractions) [19:28:03.0000] <Dashiva> You do the inverse, 100 - x [19:29:00.0000] <Philip`> Anyway, I'm too lazy to even rename my file from charsets.gnuplot to alt-length.gnuplot, so I don't entirely feel like bothering with it too much :-p [19:30:00.0000] <Philip`> Dashiva: Adding things by hand is a pain because I'd have to re-add them by hand every time I regenerated the graph [19:31:00.0000] <Philip`> and also I'd have to read the SVG documentation to work out how to do it [19:31:01.0000] <Dashiva> Just google for svg text box, and make a script to sed the code block into the result file [19:31:02.0000] <Dashiva> Yeah, yeah, I know. Not going to happen :) [19:31:03.0000] <Philip`> Dashiva: That sounds suspiciously like hard work ;-) [19:33:00.0000] <Philip`> s/0,10,100/1,10,100/ [19:34:00.0000] <othermaciej> log scales should obviously be marked with powers of 2 [19:34:01.0000] <Philip`> /me hopes everybody's monitor is the same size as his, else the graph won't fit very well [19:34:02.0000] <othermaciej> what kind of loser would want powers of 10? [19:34:03.0000] <othermaciej> maybe a physicist or something [19:35:00.0000] <othermaciej> but we are computer scientists here [19:35:01.0000] <Philip`> othermaciej: When the range is 0..100, it's ugly if the scale doesn't end on 100 [19:35:02.0000] <Philip`> and 2 doesn't divide into 100 much [19:36:00.0000] <othermaciej> 128 is close enough [19:36:01.0000] <othermaciej> gotta quit for a bit, brb [19:36:02.0000] <Philip`> Makes it impossible for people to see that the curve flattens out at very nearly 100%, if the only markings are 64 and 128 [19:37:00.0000] <Philip`> and I can't add a horizontal line at 100% because I'd have to learn more Gnuplot [19:42:00.0000] <Lachy> given all this discussion about how trivial it is to perform history theft using :visited with various techniques, does anyone know if a real site has ever exploited it? [19:47:00.0000] <roc> I don't know of any such case [21:40:00.0000] <Hixie> Lachy: http://damowmow.com/playground/backups/CSS%20Tests/DOM/isVisited.html [00:40:00.0000] <annevk> Hixie, yeah, loading all backgrounds could work, but that's pretty bad on some sites [00:41:00.0000] <Hixie> so is rendering the site twice [00:41:01.0000] <Hixie> but opera did that! [00:43:00.0000] <MikeSmith> I think the rendering-twice thing is also something that Android Webkit does [00:44:00.0000] <MikeSmith> they call it "two-pass layout" [00:44:01.0000] <MikeSmith> I think there may be other browsers on mobile devices that still do that [00:46:00.0000] <annevk> Hixie, yeah, silly [00:46:01.0000] <othermaciej> that's totally different [00:47:00.0000] <othermaciej> Android doesn't build two versions of the layout at once [00:47:01.0000] <othermaciej> they force early layout before loading subresources, to show unstyled partial content as fast as possible [00:47:02.0000] <othermaciej> that's kind of similar to normal incremental layout during loading [00:47:03.0000] <othermaciej> dbaron's set of restrictions is the only thing I heard that is even close to working [00:48:00.0000] <MikeSmith> ah, Ok [00:48:01.0000] <othermaciej> and the background-color aspect seems so crippled as to be useless [00:48:02.0000] <othermaciej> and the color aspect might still be usable for timing attacks [00:48:03.0000] <othermaciej> trying to solve this problem is a pretty quixotic mission [00:48:04.0000] <annevk> om my god, why am i involved in a debate that's discussing fundamentally changing the way text/html works [00:48:05.0000] <othermaciej> also I am sick of Microsoft people saying "we have a way to do this" without saying how [00:49:00.0000] <othermaciej> annevk: well, at least initially, it was reasonable to assume the guy might not know the reasons that is not feasible [00:49:01.0000] <annevk> and of their: "We'll review it by next week!" [00:49:02.0000] <othermaciej> now that he knows, and is still arguing, I am not sure you need to continue [00:49:03.0000] <annevk> yeah, it seems other people took over anyway [00:52:00.0000] <annevk> hmm, SVG WG is starting from scratch again with SVG in text/html [00:53:00.0000] <othermaciej> awesome [00:53:01.0000] <othermaciej> I hope they will be able to bring their expertise in HTML parsing to bear [00:53:02.0000] <heycam> annevk, i want people to lay out their requirements/arguments so that it's clear where people are coming from [00:57:00.0000] <Hixie> i'm looking forward to seeing detailed proposals that fit in our constraints [00:57:01.0000] <Hixie> because frankly, if anyone can come up with something better, that would be awesome [00:58:00.0000] <heycam> Hixie, well i hope so. obviously you know much more about html parsing than anyone on the svg wg, though, and there'll be constraints that we're unaware of. [00:59:00.0000] <Hixie> iirc my reply to the svgwg covered the most salient ones [00:59:01.0000] <heycam> which reply? [00:59:02.0000] <heycam> the massive mail? [01:00:00.0000] <Hixie> http://lists.w3.org/Archives/Public/public-html/2008Apr/0407.html [01:00:01.0000] <Hixie> hm i guess i didn't give examples [01:01:00.0000] <heycam> yeah [01:01:01.0000] <Hixie> the massive mail gave more detail, including a bunch of urls worth studying [01:01:02.0000] <Hixie> my two favourites being: [01:01:03.0000] <Hixie> http://www.cocopahrv.com/map.html [01:01:04.0000] <Hixie> http://www.laroseweb.com/calcs/fans.php [01:02:00.0000] <heycam> that cocopahrv one is awesome, using an <img> inside the <svg> there :) [01:04:00.0000] <heycam> ok, so you would say that the tightest constraint is existing weirdo documents that use svg element names and expect their behaviour not to change [01:04:01.0000] <heycam> ? [01:04:02.0000] <Hixie> my favourite page of all time though is this one: [01:04:03.0000] <Hixie> http://puysl.com/view.htm [01:04:04.0000] <Hixie> that page is the epitomy of fail [01:04:05.0000] <Hixie> heycam: or at least, not to be significantly worse, yeah [01:05:00.0000] <Hixie> heycam: i put up with "shows a new blank space" [01:05:01.0000] <Hixie> heycam: in my proposal [01:05:02.0000] <heycam> given the resources you have in searching existing pages which we don't have, i expect that you'll have to knock back things we suggest with "but this'll break so-and-so page". [01:06:00.0000] <Hixie> yeah [01:06:01.0000] <Hixie> unfortunately doing those searches isn't exactly trivial [01:06:02.0000] <hsivonen> Hixie: your DOM link visitedness checker claims everything is visited in Firefox 3 [01:06:03.0000] <Hixie> hsivonen: oops [01:06:04.0000] <Hixie> hsivonen: well i haven't touched it since what, 2001? [01:06:05.0000] <Hixie> hsivonen: i just found it earlier today [01:06:06.0000] <Hixie> hsivonen: the url should be a giveaway as to its crustiness :-) [01:08:00.0000] <Hixie> i think i should print the source of http://puysl.com/view.htm and frame it [01:08:01.0000] <hsivonen> jf seems to be fixated on enforcement and placing the blame instead of improving accessibility [01:08:02.0000] <othermaciej> hsivonen: why are you so opposed to human rights? [01:08:03.0000] <Hixie> http://albren.blogspot.com/2007/02/l05-traductor.html is pretty awesome too [01:09:00.0000] <othermaciej> heycam: I'm curious if the SVG WG has identified specific problems with the approach that was in the spec [01:09:01.0000] <othermaciej> or if they plan to review it and identify specific problems [01:11:00.0000] <heycam> othermaciej, i do want to review the approach that was in the spec, and i don't know if the other WG members have looked at those parser changes, but i think mostly are reacting to high level summaries of the changes [01:12:00.0000] <heycam> i will make hixie's mega-mail required reading :) [01:13:00.0000] <heycam> i have a feeling that much of it comes down to "i don't want svg to have two syntaxes" vs "having an html-like syntax for svg as well is no problem" [01:13:01.0000] <heycam> (where that first claim is rooted in worries about existing tools) [01:13:02.0000] <heycam> (existing tools supporting on the XML syntax, that is) [01:15:00.0000] <hsivonen> heycam: I think the two syntaxes argument is totally misguided, since putting SVG in a text/html wrapper defeats existing tool ingest anyway [01:15:01.0000] <hsivonen> heycam: if you want to round trip your own stuff by copy and paste, you can [01:15:02.0000] <heycam> hsivonen, your own stuff, yes. the concern seems to be arbitrary svg-in-html content that you want to grab out and edit in inkscape, for example. [01:15:03.0000] <heycam> so not round tripping per se [01:16:00.0000] <hsivonen> heycam: if you want to extract someone else's content by copy and paste, doing it from the source instead of doing it from a reserialization isn't going to work [01:16:01.0000] <Hixie> if we put svg in text/html, and we allow that the pages cited above must continue to work, we are basically forced to conclude that we have to have non-draconian error recovery in the parser for the svg in text/html [01:16:02.0000] <Hixie> at which point, we have a new syntax [01:16:03.0000] <Hixie> i don't see any way around that [01:16:04.0000] <hsivonen> because a single well-formedness error would amount to copy protection [01:16:05.0000] <Hixie> so i don't see how to prevent their from being two syntaxes [01:16:06.0000] <Hixie> but like i said [01:16:07.0000] <heycam> hsivonen, that is obviously true, if the svg-in-html syntax isn't also xml syntax [01:16:08.0000] <Hixie> if the svgwg can come up with some magical way to do that, i'm all ears! [01:17:00.0000] <hsivonen> heycam: it won't be XML out there if text/html is non-Draconian [01:17:01.0000] <hsivonen> heycam: and text/html (even parts of it) cannot become Draconian without Breaking the Web [01:17:02.0000] <hsivonen> and having to Break the Web is a pretty serious deterrent from browser implementations [01:17:03.0000] <Hixie> we _already_ have svg in text/html that isn't parsable as image/svg+xml [01:17:04.0000] <heycam> hsivonen, only if it's defined that way. ok, the "breaking the web" part might stop that, though. [01:18:00.0000] <Hixie> that battle has already been lost, and it hasn't even begun [01:18:01.0000] <heycam> Hixie, but pages rely on that not rendering as svg, right? [01:19:00.0000] <hsivonen> so to me it seems that the SVG WG is either seeking to make its mark (bad) or hasn't come to terms with the Breaking the Web aspect of trying to put Draconian islands in text/html (bad as well) [01:19:01.0000] <Hixie> heycam: well, right now they do, yeah, though those i looked at could deal with them being rendered as 300x150 blank spaces (which is what would happen for most of them in my proposal) [01:19:02.0000] <othermaciej> adding draconian error handling that would break existing pages is indeed kryptonite for implementors [01:19:03.0000] <heycam> the issue would then be: if there's svg in text/html that IS parseable as image/svg+xml, and pages rely on that not rendering, then you have a problem in defining the svg-in-html syntax as xml. [01:19:04.0000] <Hixie> heycam: but anything that doesn't look like true svg isn't going to be svg either [01:19:05.0000] <Hixie> heycam: i don't follow what you just said [01:20:00.0000] <heycam> hsivonen, it could be that the "not breaking the web" requirement isn't properly understood by the wg [01:20:01.0000] <heycam> certainly i don't understand all of the constraints that hixie alluded to earlier, though the general problem i get [01:22:00.0000] <Hixie> well the constraints boil down to the pages i listed not breaking (where i accept some extra spacing, but not, say, an error message, or dropping half the page) [01:22:01.0000] <heycam> Hixie, is that list complete/representative? [01:22:02.0000] <heycam> of the problems that any workable solution would need to avoid? [01:22:03.0000] <Hixie> (oh that and ideally we should use the same mechanism for mathml and svg, and there are text/html pages out there that have raw mathml in them that would look great in the current proposal) [01:23:00.0000] <Hixie> heycam: certainly not complete [01:23:01.0000] <Hixie> heycam: probably representative, though, yeah [01:23:02.0000] <heycam> Hixie, ok. i hope that can reduce the number of iterations then. [01:23:03.0000] <Hixie> heycam: or at least, probably shows the extreme cases that, if dealt with, will mean the proposal is likely sound [01:26:00.0000] <annevk> I'd expect Doug to push for his <container> <fallback /> <svg /> </container> thingie [01:27:00.0000] <Hixie> the fallback idea doesn't work [01:27:01.0000] <heycam> annevk, the issue with that proposal is that it doesn't fall back in current UAs, yes? [01:27:02.0000] <Hixie> and <container> breaks in the copy/paste case [01:27:03.0000] <heycam> Hixie, why? [01:27:04.0000] <Hixie> heycam: two other constraints that are probably relevant: [01:28:00.0000] <heycam> (why can't the copy-and-paster just grab out the <svg> fragment from inside the <container>, that is?) [01:28:01.0000] <Hixie> first one is the one i mentioned earlier, namely that i'd like mathml and svg to use the same model, and there are pages out there that are basically text/html with mathml inline that would work great, so there's a strong motivation to use compatible syntax [01:28:02.0000] <Hixie> the other (and this is the answer to hte copy/paste thing) is more complex [01:29:00.0000] <Hixie> authors have, for some reason i haven't understood but which i have seen a _lot_ on the web, a weird way of working [01:29:01.0000] <Hixie> which consists of, sometimes, copying seemingly random chunks of pages [01:29:02.0000] <Hixie> and pasting them into their own [01:30:00.0000] <hsivonen> heycam: <container> sucks big time when there's a start tag near the top of the page and no end tag [01:30:01.0000] <hsivonen> <container> is also awful language design when we already have a solution without such cruft [01:30:02.0000] <othermaciej> is <container> supposed to be an island of draconian XML parsing? [01:30:03.0000] <Hixie> they will even copy stuff from pages where the stuff does something in one browser (e.g. firefox when that page is sent as xml), and paste them into their page where it does nothing (e.g. they're using IE) [01:30:04.0000] <annevk> othermaciej, I think so, yes [01:31:00.0000] <Hixie> for example, look at http://www.cocopahrv.com/map.html [01:31:01.0000] <othermaciej> well, I suppose if he finds a tagname that is actually for practical purposes unused, that might avoid breaking existing content [01:31:02.0000] <Hixie> or http://www.laroseweb.com/calcs/fans.php [01:31:03.0000] <othermaciej> but introducing draconianness to text/html misses the point of using text/html in the first place [01:32:00.0000] <heycam> othermaciej, so yeah... if the syntax can't be draconian in text/html, then the syntax must be different from xml. and if it's different, then it's impossible to make it always copy-and-pastable to inkscape. [01:32:01.0000] <heycam> so the requirements clash [01:33:00.0000] <Hixie> othermaciej: it doesn't work. even if the tag is unused now, in the time between UA 1 implementing the feature (and leading edge users using it) nad UA 4 implementing the feature (and thus all users having it) there will be millions of crackpot authors who copy and paste content from good authors targetting UA1 and expose that content to UA4 [01:33:01.0000] <Hixie> thus creating a pile of "legacy" content _after_ we define the syntax [01:33:02.0000] <heycam> Hixie, so why doesn't that apply to any solution that's though up? or any new html5 feature? [01:33:03.0000] <Hixie> this has already happened with svg and mathml in text/html, e.g. http://www.cocopahrv.com/map.html and http://www.laroseweb.com/calcs/fans.php [01:34:00.0000] <othermaciej> Hixie: well, I'm not a huge fan of draconianness independent of the Suport Existing Content constraint [01:34:01.0000] <Hixie> heycam: my proposal bails out of the new parse mode when it sees an html tag [01:34:02.0000] <othermaciej> heycam: I guess I don't understand the goal of putting SVG in text/html if draconian parsing is then required [01:34:03.0000] <heycam> othermaciej, ok [01:34:04.0000] <Hixie> heycam: and for the other new features, the features are simple enough that if this becomes a problem we can fix it relatively cheaply [01:34:05.0000] <othermaciej> if you want draconian parsing, you may as well use application/xhtml+xml [01:35:00.0000] <othermaciej> that will work fine in all current UAs that support SVG [01:35:01.0000] <annevk> (If the motivation for text/html in part is because of it's non-draconian nature having draconian handling for <foreignObject> blocks for instance doesn't make sense.) [01:35:02.0000] <othermaciej> and in the UA that doesn't, you won't get the draconian parsing in text/html with any more likelihood than you will get SVG [01:36:00.0000] <heycam> i wonder if there is a subset of authors who like the non-draconianness of html but are happy with svg syntax [01:36:01.0000] <Hixie> i do agree with othermaciej's point about not wanting draconian parsing in text/html on principle [01:36:02.0000] <Hixie> but it effectively doesn't matter given the technical problem with having draconian parsing in text/html [01:36:03.0000] <heycam> Hixie, what's the technical problem? [01:36:04.0000] <othermaciej> authors who would want draconian SVG parsing inside non-draconian HTML? [01:37:00.0000] <heycam> avoiding losing the rest of the page? (for existing content that opens an <svg> and doesn't close it, say?) [01:37:01.0000] <othermaciej> heycam: Hixie is right that crazy authors blindly copy random things [01:37:02.0000] <othermaciej> and test them only in browsers where they have no effect, but keep them anyway [01:37:03.0000] <Hixie> heycam: the one i described to you above from "the other (and" to "using IE)" and then explained to othermaciej again from "it doesn't work" to "this has already happened". [01:38:00.0000] <heycam> so basically because of that (authors randomally copying things), any syntax added to html MUST be non-draconian? [01:38:01.0000] <hsivonen> heycam: yes [01:38:02.0000] <Hixie> pretty much [01:38:03.0000] <Hixie> as far as i can tell [01:38:04.0000] <Hixie> i haven't formally proved that one implies the other, but i can't think of a solution where that's not the case [01:38:05.0000] <othermaciej> I'm not sure that phenomenon is quite as strong as Hixie thinks it is, but he has more knowledge on this subject and better judgment than me on such matters most of the time [01:39:00.0000] <Hixie> well, like i said, there are examples of this already today for both svg and mathml in text/html, and we haven't even shipped the first UA that supports that yet [01:39:01.0000] <Hixie> so [01:39:02.0000] <othermaciej> notwithstanding that, I can't think of anyone who would have a good reason to want draconian SVG in tolerant HTML [01:39:03.0000] <hsivonen> aaargh. William Hammond is suggesting the reparse with another parser approach [01:39:04.0000] <othermaciej> hsivonen: that's an old chestnut :-) [01:39:05.0000] <Hixie> hsivonen: if you reply please take whatwg off the cc list [01:39:06.0000] <hsivonen> we should have so kind of list of old bad ideas [01:40:00.0000] <heycam> othermaciej, i don't know that they would necessarily want the draconian svg, but they may want to avoid creating a second syntax [01:40:01.0000] <hsivonen> s/so/some/ [01:40:02.0000] <Hixie> i'm annoyed at half the thread being cc'ed to the whatwg list and the other half being caught in the moderation queue [01:40:03.0000] <othermaciej> heycam: they can already get the first syntax by using SVG only in XHTML [01:40:04.0000] <heycam> hsivonen, what's the issue with reparsing? that it blocks loading the whole rest of the page? [01:41:00.0000] <othermaciej> If they want to deny other people the ability to use a second syntax, I think the only solution is not to add SVG to HTML, because adding draconian SVG to HTML would defeat the use case of the people who want it pretty strongly [01:41:01.0000] <heycam> othermaciej, right, but they may be arguing against the non-draconian syntax in html to avoid creating a second syntax [01:41:02.0000] <Hixie> heycam: as i said at the start of this conversation, i see no way to include svg in text/html that doesn't forceably imply a new syntax, even in my wildest dreams [01:41:03.0000] <heycam> othermaciej, yeah [01:41:04.0000] <othermaciej> as one of the people who wants SVG in HTML, this makes me sad [01:42:00.0000] <hsivonen> heycam: it causes (potentially) scripts to run differently, you can't back out the side effects of scripts that already ran, it makes a small error cause non-obvious behavior totally elsewhere, it makes the prospective new browser slower than the legacy it is competing with [01:42:01.0000] <othermaciej> especially since the only syntax difference of substance is error handling [01:42:02.0000] <heycam> othermaciej, what makes you sad? the current solution being removed from the spec? or that a second syntax is needed? [01:42:03.0000] <heycam> hsivonen, ok [01:43:00.0000] <othermaciej> no, it makes me sad that some people want to deny me the ability to use a different syntax for SVG [01:43:01.0000] <heycam> othermaciej, ah [01:43:02.0000] <othermaciej> I wonder if the SVG WG has contacted the Efficient XML WG yet [01:43:03.0000] <heycam> :) [01:43:04.0000] <annevk> hmm, list of bad ideas: reparsing, href= on every element, draconian parser in text/html, namespaces in text/html [01:43:05.0000] <othermaciej> since they too have created a different syntax for SVG (a binary one, at that) [01:44:00.0000] <heycam> othermaciej, except nobody on the web uses that binary stuff [01:44:01.0000] <heycam> whereas this svg-in-html syntax would be used on the web [01:44:02.0000] <annevk> To be fair, Efficient XML doesn't constrain SVG [01:44:03.0000] <othermaciej> ah, so only a syntax that people might actually be *used* is a worry [01:44:04.0000] <heycam> othermaciej, i think so (if one's argument is that a second syntax is harmful) [01:45:00.0000] <othermaciej> then let's make the syntax bad enough that no one will want to use or implement it [01:45:01.0000] <annevk> Then again, using namespaces in HTML was already not possible and using <font> seems not necessary for small embedded graphics. (I hope people are not going to embed mebibytes of SVG!) [01:45:02.0000] <othermaciej> /me twitches at the mention of SVG fonts [01:45:03.0000] <heycam> annevk, what was the reason for <font> not working? [01:46:00.0000] <annevk> heycam, <font> is one of the HTML elements that lets you escape from the foreign lands [01:46:01.0000] <annevk> (with a parse error, alas) [01:46:02.0000] <othermaciej> annevk: my impression is that the concern is more about the additional looseness, not the additional constraints [01:46:03.0000] <heycam> so there were pages that used <font> in the html sense inside an <svg>-like fragment? [01:46:04.0000] <othermaciej> (that HTML documents might have inline SVG that you can't copy and paste into an SVG-only tool) [01:46:05.0000] <Hixie> any page using <font> in text/html today is using it in the html sense [01:47:00.0000] <Hixie> by definition [01:47:01.0000] <heycam> Hixie, right [01:47:02.0000] <heycam> because it would act like an html <font> [01:47:03.0000] <heycam> so there were pages that did have a <font> inside an svg fragment? [01:47:04.0000] <heycam> in your studies? [01:47:05.0000] <annevk> Hixie, well, the same could be said about <style> or <script>... [01:47:06.0000] <Hixie> yeah [01:47:07.0000] <Hixie> it was one of the highest occurances [01:47:08.0000] <heycam> annevk, at least style/script aren't too different though [01:47:09.0000] <Hixie> annevk: yeah but i didn't find any of those iirc [01:48:00.0000] <annevk> heycam, true, though I'm not entirely sure whether I like the different parsing model for them when used inside <svg> (or <math> for that matter) [01:48:01.0000] <Hixie> oh actually it looks like i did find some script and style [01:48:02.0000] <Hixie> i just decided to ignore those after looking at a sample of them [01:48:03.0000] <heycam> annevk, difference being CDATA 'n stuff? [01:48:04.0000] <Hixie> and deciding it would work either way [01:48:05.0000] <Hixie> i agree that it's a bit dodgy [01:49:00.0000] <Hixie> but we need impl experience for that one [01:49:01.0000] <Hixie> <font> iirc was very common (relatively speaking) [01:49:02.0000] <annevk> heycam, yes, <svg><script> alert("<foo/>") </scrip></svg> for instance... [01:49:03.0000] <heycam> annevk, ah [01:49:04.0000] <othermaciej> <script src> wouldn't work if treated as an svg script [01:49:05.0000] <Hixie> i should look for just that [01:49:06.0000] <heycam> othermaciej, ah right i forgot about src vs xlink:href [01:50:00.0000] <Hixie> i do find it annoying that svg did things differently to html [01:50:01.0000] <annevk> /me wonders when the SVG finally kills xlink:href [01:50:02.0000] <Hixie> the whole evt vs event thing for example [01:50:03.0000] <Hixie> or reusing tag names [01:50:04.0000] <othermaciej> well, SVG 1.2 semi-quasi fixed evt vs event [01:50:05.0000] <Hixie> the mathml wg did an amazing job of avoiding tag name clashes [01:51:00.0000] <heycam> Hixie, probably the idea that svg was in a different namespace quelled concerns about clashes with html [01:51:01.0000] <Hixie> out of their hundreds of tag names, they had one clash, and that one was with a non-existent tag name most people don't know about (<image>) and they've already offered to fix it [01:51:02.0000] <othermaciej> I think that was done out of ignorance, not willful creation of conflict [01:51:03.0000] <Hixie> othermaciej: sure, but at least one other group went out of its way not to do that [01:51:04.0000] <othermaciej> actually they even thought evt was mandated for some weird imaginary reason [01:51:05.0000] <annevk> Hixie, yes, but <image> is not a problem as it's not on the list of HTML elements... [01:51:06.0000] <heycam> othermaciej, right i'd imagine so. if the design up front was to have svg inline in html, well, things might've been different. [01:51:07.0000] <annevk> Hixie, or was that an oversight? [01:51:08.0000] <othermaciej> SVG WG could have actively tried to align with HTML from earlier on [01:52:00.0000] <othermaciej> I give them some credit for being more open to doing so now [01:52:01.0000] <heycam> i don't think any new svg element names have been minted since the new html wg has been around [01:52:02.0000] <Hixie> annevk: actually i have no idea if it's a problem, my parser does the image->img thing so i have no data on it :-/ [01:53:00.0000] <Hixie> yeah the htmlwg has been the one creating clashes [01:53:01.0000] <Hixie> with <video>, e.g. [01:53:02.0000] <Hixie> go me [01:53:03.0000] <heycam> :) [01:54:00.0000] <othermaciej> you could rename them hvideo and haudio [01:54:01.0000] <Hixie> i could... [01:54:02.0000] <othermaciej> I would hate you if you did [01:54:03.0000] <othermaciej> but you could do it [01:54:04.0000] <Hixie> not gonna :-) [01:56:00.0000] <heycam> <font> is non-conforming, yes? [01:57:00.0000] <annevk> it is currently [01:58:00.0000] <hsivonen> huh? <font> became non-conforming? [01:59:00.0000] <hsivonen> http://www.whatwg.org/specs/web-apps/current-work/#the-font [01:59:01.0000] <annevk> "Conformance checkers must consider this element to be non-conforming if it is used on a page lacking the WYSIWYG signature." [02:01:00.0000] <othermaciej> it's conformance status is not super relevant to the SVG-in-HTML issue [02:01:01.0000] <heycam> othermaciej, no [02:02:00.0000] <heycam> i just wanted to say something like "despite it being non-conforming, blah blah" [02:04:00.0000] <hsivonen> Hixie: can I assume that if you spec meta content-language, it will only apply if in "the head element"? [02:04:01.0000] <Hixie> how do you mean? [02:05:00.0000] <Hixie> heycam: <font>'s conforming status is up in the air, much like style=""'s [02:05:01.0000] <Hixie> heycam: i might just keep <font> around as a hook for style="" as separate from <span> [02:05:02.0000] <hsivonen> Hixie: presumably meta content-language would insert a language tag between HTTP and the root element lang in the language inheritance chain [02:05:03.0000] <heycam> /me likes style="", and doesn't think it's any worse than introducing a new CSS class just to handle that element's styling [02:05:04.0000] <hsivonen> Hixie: like base inserts the base URI between HTTP and the root element xml:base [02:06:00.0000] <Hixie> hsivonen: presumably, yes [02:06:01.0000] <hsivonen> Hixie: thanks [02:06:02.0000] <Hixie> hsivonen: though the content-language header takes multiple languages and has semantics that aren't really the same as lang="" and xml:lang="". [02:06:03.0000] <Hixie> hsivonen: so it's unclear what it should really do [02:06:04.0000] <hsivonen> ouch [02:07:00.0000] <Hixie> heycam: it's not especially worse. that's still bad. :-) [02:07:01.0000] <hsivonen> when it does have a single value, it seems to be used as an attempt to declare the main language of the document, though [02:07:02.0000] <Hixie> that does appear to be the practice, yes [02:07:03.0000] <hsivonen> IIRC, FrontPage stores the spell checker language there [02:07:04.0000] <Hixie> which is mostly (though not entirely) compatible with its defined meaning [02:08:00.0000] <hsivonen> the FrontPage behavior is good in the sense that the metadata has a visible effect [02:09:00.0000] <heycam> /me goes to have some dinner, is convinced that there's no solution to the svg-in-html issue that handles everyone's (conflicting) requirements [02:10:00.0000] <Hixie> did someone just blog about acid3 [02:10:01.0000] <Hixie> heycam: join the club :-) [02:13:00.0000] <heycam> Hixie's spidey-sense^Wgoogle-sense just tingled... [02:14:00.0000] <heycam> /me really /aways... [02:17:00.0000] <Hixie> oh i just asked that because my server's status page just swamped with acid3-related requests and my server's usage spiked painfully [02:17:01.0000] <othermaciej> I just saw a blog post that may indicate time travel [02:17:02.0000] <othermaciej> because apparently Apple just release Safari 1.1.1 [02:23:00.0000] <hsivonen> Hixie: you need to host your site in an elastic cloud :-) [02:24:00.0000] <Hixie> seems china just discovered acid3 [02:25:00.0000] <Hixie> oh i see [02:25:01.0000] <Hixie> the wasp thinks webkit and opera pass acid3 [02:25:02.0000] <annevk> it penetrated the big firewall? :) [02:25:03.0000] <Hixie> sigh [02:28:00.0000] <annevk> seems plenty of people pointed that out already [02:30:00.0000] <annevk> Damn't, i want my edit attribute! [02:32:00.0000] <hsivonen> /me hopes annevk was being sarcastic about XSD describing semantics [02:32:01.0000] <Hixie> who knows [02:32:02.0000] <Hixie> he was young back then [02:32:03.0000] <Hixie> :-D [02:33:00.0000] <Hixie> speaking of sarcasm, the forms task force sure is making a lot of progress [02:35:00.0000] <Hixie> i wish all of these folders could be dealt with as easily as ins/del [02:37:00.0000] <sydbarrett74> hi could someone tell me what channel is for libxml discussions? [02:39:00.0000] <hsivonen> Hixie: I presume the first content-language will count [02:39:01.0000] <Hixie> no idea [02:39:02.0000] <hsivonen> Hixie: but will the absence of the content attribute make the tag count as a failed attempt? [02:39:03.0000] <Hixie> no idea either [02:40:00.0000] <Hixie> however, your suggestions gain a lot of likelihood of turning into reality if you're the first one to suggest them on the list :-) [02:40:01.0000] <Hixie> ok bed time now [02:40:02.0000] <Hixie> nn [02:40:03.0000] <hsivonen> nn [02:46:00.0000] <hsivonen> Philip`: can I get http-equiv values out of http://canvex.lazyilluminati.com/survey/2007-07-17/analyse.cgi/attr/http-equiv somehow? [02:47:00.0000] <Philip`> hsivonen: No [02:47:01.0000] <Philip`> hsivonen: though I can get the values easily from my ~130K pages [02:48:00.0000] <annevk> hsivonen, I have this book on XML Schema... so, not sure [02:52:00.0000] <hsivonen> Philip`: I was mainly looking for data about how common content-language is [02:52:01.0000] <hsivonen> that is, should the WG believe it is worth caring about [02:53:00.0000] <hsivonen> how does SVG text deal with RTL? [02:54:00.0000] <hsivonen> hmm. I see a direction attribute... [02:54:01.0000] <hsivonen> /me is really annoyed that the svg spec is split into many HTML files [02:56:00.0000] <hsivonen> hmm. SVG seems to treat direction as style rather that a datum tightly coupled with the text content [03:00:00.0000] <Philip`> hsivonen: Oh, it seems I've already done http://philip.html5.org/data/meta-http-equiv.txt [03:01:00.0000] <Philip`> which is hopefully good enough for this [03:01:01.0000] <hsivonen> Philip`: thanks [03:45:00.0000] <hsivonen> somehow I'm skeptical about RDF improving the online safety of children [03:51:00.0000] <Lachy> hsivonen, who claimed it would? [03:52:00.0000] <annevk> hsivonen, hmm, Firefox 3 does observe content-language for :lang() matching iirc... [03:56:00.0000] <hsivonen> Lachy: no one as far as I can tell. but it matters depending on whether POWDER is meant to improve safety for children or whether it is meant as a placebo to keep the FCC at bay [03:58:00.0000] <Philip`> A lot of people use <meta name=language> - is that meant to do anything? [04:01:00.0000] <Philip`> ("A lot" = half as many as use <meta http-equiv=content-language>) [04:03:00.0000] <Philip`> hsivonen: http://philip.html5.org/data/meta-http-equiv-content-language-values.txt might be relevant to something [04:06:00.0000] <hsivonen> Philip`: thanks [04:08:00.0000] <hsivonen> fr, be, ca, lu, ch [04:09:00.0000] <hsivonen> I used to joke that I was learning Belgian at school... [04:12:00.0000] <Lachy> Philip`, a lot of people use meta elements to provide useless meta data that does nothing in practice. [04:13:00.0000] <hsivonen> so HTML has dir=rtl and SVG has direction=rtl [04:13:01.0000] <hsivonen> does MathML have something equivalent? [04:14:00.0000] <Lachy> hsivonen, I wouldn't expect it too, since, AIUI, maths is supposed to be universal. So all cultures would write maths in the same way. [04:15:00.0000] <hsivonen> including mtext? [04:15:01.0000] <Lachy> I don't know [04:15:02.0000] <Lachy> I'm not an expert on mathml [04:15:03.0000] <hsivonen> though I suppose the directionality belongs on the enclosing XHTML paragraph [04:18:00.0000] <hsivonen> <foreignObject direction=rtl><p>Is this RTL?</p></foreignObject>? [04:18:01.0000] <hsivonen> (my guess is yes) [04:18:02.0000] <Philip`> Equations often have words in them (like long names of variables), and it doesn't seem impossible that people would write some in their native language, and would mix them with others written in English [04:18:03.0000] <hsivonen> Philip`: math text has commas and periods, though. [04:19:00.0000] <Philip`> (though I'd be surprised if LaTeX was any good at Hebrew or Arabic, so I don't know what people do in practice) [04:50:00.0000] <hsivonen> nice Mail.app crashing email on www-validator [04:52:00.0000] <othermaciej> yeah I noticed that [04:52:01.0000] <othermaciej> that'll be fun [04:57:00.0000] <hsivonen> soo, since CSS keywords are case-insensitive, is SVG direction attribute value case-insensitive? [06:29:00.0000] <annevk> Mathematics is not universal for at least number notation and all, I recently learned [06:29:01.0000] <annevk> (For some reason I thought that was standardized somehow internationally) [06:30:00.0000] <Philip`> http://www.google.com/gwt/n?u=http://philip.html5.org/misc/chars.html - even Google can't produce well-formed XML [06:30:01.0000] <Philip`> annevk: Even if it was standardised, it wouldn't be universal unless everyone actually followed the standard [06:30:02.0000] <annevk> hsivonen, http://www.w3.org/TR/MathML2/chapter3.html#presm.bidi [06:33:00.0000] <Lachy> annevk, I'm aware there are different number systems, but don't mathemeticians, physicists and other academics all use the same system now? [06:37:00.0000] <annevk> I don't know [06:38:00.0000] <annevk> hsivonen, reading further, "Right-to-left layout of mathematical formulas may be addressed in a future version of MathML." [06:39:00.0000] <Philip`> http://www.google.com/gwt/n?u=http%3A%2F%2Fcanvex.lazyilluminati.com%2Flatest_nocache - hmm, the ]> indicates that the XHTML-outputting Google proxy doesn't actually parse application/xhtml+xml pages as XML [06:39:01.0000] <annevk> hsivonen, though for the textual elements Unicode rules are followed [06:40:00.0000] <annevk> hsivonen, also, "The major additions in MathML 3 are support for bidirectional layout, ..." [06:41:00.0000] <Philip`> (Also http://www.google.com/gwt/n?u=%0c http://www.google.com/gwt/n?u=%ef%bf%bf ) [06:42:00.0000] <annevk> hsivonen, MathML 3 has a dir attribute compatible with HTML though it only applies to <math> and textual elements [06:42:01.0000] <annevk> hsivonen, http://www.w3.org/TR/MathML3/chapter3.html#presm.bidi [08:21:00.0000] <annevk> hmm, this ECMAScript "strict mode" seems kind of scary; are strict modes really useful in a language like ECMAScript or are they just introducing a flaw? [08:21:01.0000] <annevk> http://wiki.ecmascript.org/doku.php?id=meetings:minutes_apr_15_2008 [08:23:00.0000] <Philip`> Firefox has a "strict" JS mode that just (I think) causes warnings in some cases, like uses of undeclared global variables [08:23:01.0000] <Philip`> but it sounds like they're suggesting something different [09:12:00.0000] <annevk> Can anyone tell me if http://video.google.com/videoplay?docid=6204903272262158881 maps to "The Lost Levels" in some way? [09:12:01.0000] <annevk> Because that'd be crappy as I can't get that game on my Wii for some silly unspecified reason [09:12:02.0000] <hsivonen> annevk: thanks for the MathML pointer [09:43:00.0000] <zcorpan> /me ponders about role='dialog' and <dialog> [09:43:01.0000] <zcorpan> surely that's going to be confusing [09:44:00.0000] <hsivonen> I'd like to have pointers to Hebrew or Arabic pages with alt text that has punctuation [09:45:00.0000] <hsivonen> /me checks wikipedia [09:47:00.0000] <Philip`> hsivonen: http://www.lira.co.il http://www.biogal.co.il http://www.ntt.co.il/ http://www.madas.co.il http://www.volt.co.il http://www.taburit.co.il [09:47:01.0000] <hsivonen> Philip`: thanks [09:48:00.0000] <hsivonen> I tried obvious Israeli newspapers first, but the HTML was too terrible [09:48:01.0000] <Philip`> /me wonders what domain names have Arabic text [09:49:00.0000] <hsivonen> .sa, IIRC [09:49:01.0000] <Philip`> There's only one .sa page in my list [09:50:00.0000] <Philip`> http://www.fayoum.gov.eg/ sort of has punctuation [09:52:00.0000] <Philip`> http://www.sheikhmohammed.ae/ sort of has too [09:53:00.0000] <Philip`> I think dmoz.org is quite biased against Arabic :-( [09:54:00.0000] <hsivonen> I find an alarming proportion of iconic images not having width and height attributes [09:54:01.0000] <hsivonen> seems like a bad idea for incremental rendering [09:55:00.0000] <krijnh> annevk: thanks, will check it out [09:57:00.0000] <zcorpan> hsivonen: it appears that most authors don't care about good incremental rendering, or at least not enough to bother making it better [09:58:00.0000] <Philip`> The cost of adding width and height attributes to all images, and maintaining them for the rest of eternity, is too high [11:12:00.0000] <Dashiva> I wonder if there are people actively trying to make validation impractical so as to make it less used... that would be some conspiracy [11:14:00.0000] <Philip`> If half the people who currently validate give up because the validator complains too much, and the other half make their pages slightly better (e.g. by adding summary attributes) to please the validator, is that necessarily bad? [11:16:00.0000] <Dashiva> No, but it's unrealistic [11:17:00.0000] <Dashiva> The validation-based quality of sites is a slope, so there would be many sites who just manage to validate now who no longer bother, whereas the "very validating" sites would probably already have made the changes [11:42:00.0000] <takkaria> does no-one else find mail addressed to "IE8 Core AJAX SWAT Team" amusing? [11:45:00.0000] <andersca> Hixie? [11:45:01.0000] <annevk> /me feels sorry for Boris [11:45:02.0000] <annevk> /me is planning to address XHR comments after the LC deadline [11:47:00.0000] <Hixie> andersca: yo [11:49:00.0000] <Philip`> takkaria: I hope they have cool outfits [11:57:00.0000] <andersca> Hixie: hey [11:57:01.0000] <andersca> Hixie: so I think an exception should be raised when you call ApplicationCache.add with an invalid URL [11:58:00.0000] <Hixie> makes sense [11:58:01.0000] <Hixie> does the spec cover that case? [12:00:00.0000] <annevk> (Brawl is not available in The Netherlands, fwiw. Maybe Kam and all imported it? Seems weird for Norway to have it first...) [12:00:01.0000] <annevk> /me does own Mario Kart now [12:01:00.0000] <andersca> Hixie: no [12:01:01.0000] <Hixie> andersca: then yeah, raise an exception and mail the list, that should be a no-brained to fix [12:01:02.0000] <Hixie> no brainer even [12:01:03.0000] <Hixie> annevk: seems likely [12:01:04.0000] <annevk> please raise a SYNTAX_ERR [12:02:00.0000] <Hixie> annevk: there's an import games store in oslo [12:02:01.0000] <annevk> (that'd be compatible with XMLHttpRequest, anyway) [12:02:02.0000] <annevk> Hixie, ah right [12:03:00.0000] <andersca> annevk: yeah, that's what I"m doing [12:09:00.0000] <annevk> I wonder what "invalid" means though for URIs... User agents apply quite a bit of preprocessing on things that take URIs... [12:09:01.0000] <annevk> Guess we'll cover that eventually in URL5 [12:10:00.0000] <andersca> lol [12:12:00.0000] <gsnedders> How realistic are LEIRIs? [12:12:01.0000] <Dashiva> annevk: What about uri and iri? [12:13:00.0000] <annevk> Yeah, maybe it's better to adopt URI as term and encourage URL for whenever a technology needs to use the term (such as type="url" and url() in CSS)... [12:14:00.0000] <annevk> Dashiva, IRIs are covered by preprocessing as I understand it. They're simply syntactic sugar. [12:21:00.0000] <hsivonen> Philip`: Mediawiki should maintain the dimensions automatically on the Hebrew Wikipedia front page! [13:35:00.0000] <Philip`> http://webkit.org/blog/176/css-canvas-drawing/ [13:51:00.0000] <virtuelv> Hixie: re your mail to public webapi [13:52:00.0000] <virtuelv> has anyone made the author aware that mousewheel mostly works these days? [13:53:00.0000] <virtuelv> nevermind, gotta learn to read all of top-posted mails [13:55:00.0000] <Hixie> it might work [13:55:01.0000] <Hixie> it's not really specced yet [13:55:02.0000] <virtuelv> but with regard to the wheelDelta, that really needs to be standardized [13:55:03.0000] <Hixie> there's some work in that area, but i'm not sure if it's backwards compatible with legacy [13:55:04.0000] <Hixie> is it just me or did http://lists.w3.org/Archives/Public/public-html/2008Apr/0565.html miss the point utterly [13:55:05.0000] <virtuelv> my research so far suggests that the sane path to go is to normalize the wheel delta to +-1 [13:59:00.0000] <annevk> Hixie, I had the same feeling [14:00:00.0000] <hsivonen> Hixie: it's not just you [14:02:00.0000] <hober> yup, pretty much [14:03:00.0000] <gsnedders> +1 [14:03:01.0000] <Philip`> I'll disagree, just to make the discussion more balanced [14:05:00.0000] <gsnedders> Philip`: Good reasoning. [14:05:01.0000] <Hixie> ok good [14:39:00.0000] <annevk> Hixie, Opera at least expands unknown entities to "&" + entityname + ";" [14:39:01.0000] <annevk> Hixie, data:text/xml,<!DOCTYPE test PUBLIC "test" ""><test>&test;</test> [14:41:00.0000] <Hixie> the part of hte spec i changed is just talking about EntityReference nodes [14:42:00.0000] <Hixie> if the DOM doesn't end up with entity references nodes, then it doesn't apply [14:43:00.0000] <annevk> ah ok [14:43:01.0000] <Hixie> (at least that's my intent) [14:43:02.0000] <annevk> we make it a Text node during parsing it seems [14:43:03.0000] <Hixie> parsing unknown entities into text nodes that say &foo; seems a bit dubious from an xml compliance point of view [14:43:04.0000] <annevk> I don't think we support EntityReference nodes [14:43:05.0000] <Hixie> yeah no-one does [14:43:06.0000] <Hixie> it should be dropped in Web DOM 4 [14:44:00.0000] <annevk> The XML specification doesn't really cover that case really well I think... [14:44:01.0000] <Hixie> conveniently that's not my problem :-D [14:45:00.0000] <annevk> My XML5 alpha impl currently agrees with Opera as it seems reasonable fallback [14:47:00.0000] <Hixie> did dan and ben just suggest leaving the definitions of html elements to another working group [14:47:01.0000] <jgraham__> Yes. [14:48:00.0000] <hober> ayup [14:48:01.0000] <hober> the mind boggles [14:49:00.0000] <gsnedders> /me sighs: <http://twitter.com/mollydotcom/statuses/791366032> [14:49:01.0000] <jgraham__> If we can get the SVG folks to define our parsing model, the a11y people to define all our elements then we just need to foist anything DOM-related off onto web-api and Hixie's out of a job [14:49:02.0000] <hober> yeah, sweet [14:49:03.0000] <hober> we can wrap up and go home [14:50:00.0000] <Hixie> that would be nice [14:50:01.0000] <Hixie> i could get back to css3 lists [14:50:02.0000] <annevk> Dan would say we could focus on tests ;) [14:50:03.0000] <Hixie> ok does anyone have any suggestion as to where i should define document.fgColor [14:50:04.0000] <gsnedders> But if the SVG folks are defining the parsing model, isn't that their job? [14:50:05.0000] <Hixie> should i put it in the Document IDL? [14:50:06.0000] <Hixie> or should i put it in some other section somewhere [14:51:00.0000] <gsnedders> Document IDL seems right. [14:52:00.0000] <Hixie> seems bad to be defining APIs we want everyone to ignore right there at the top of the spec though [14:52:01.0000] <annevk> Hixie, it depends on who the IDL is intended for... I thought they were for implementors but you argued otherwise... [14:53:00.0000] <Hixie> well i mean the idl and the definitions [14:53:01.0000] <Hixie> the whole kaboodle [14:56:00.0000] <annevk> some thoughts: each affected IDL/section gets a UA-only subsection || each affected IDL gets a "// UA-only" part with pointers to the rendering section || IDLs are duplicated in the "rendering" section [14:56:01.0000] <annevk> the first is useful for user agents but might not be good for authors [14:57:00.0000] <annevk> the second affects authors less and the last has some amount of duplication / complexity for UAs [14:59:00.0000] <Hixie> well we're going to have a way to say that one idl should be merged into another anyway [14:59:01.0000] <annevk> unless you pick option 1 or 2 [14:59:02.0000] <annevk> in which case they're already merged [15:00:00.0000] <Hixie> no i mean webidl is going to have a keyword or something that says "this idl should be merged into that one" [15:00:01.0000] <Hixie> so we can handle Command and the setTimeout idl [15:01:00.0000] <annevk> oops, sorry [15:01:01.0000] <annevk> i guess i prefer the last option as it makes it very clear they're not part of the language, at all [15:02:00.0000] <Hixie> that's what i'm doing [15:02:01.0000] <Hixie> just renamed "rendering" to "rendering and user agent behaviour" or some such [15:03:00.0000] <annevk> be careful with that, people might request you split everything up :) [15:06:00.0000] <Hixie> the great thing about the way the whatwg is set up [15:07:00.0000] <Hixie> is that saying "no" is an option [15:09:00.0000] <annevk> interesting, fgColor and bgColor simply reflect an attribute value [15:09:01.0000] <hsivonen> http://lists.w3.org/Archives/Public/www-archive/2008Apr/0056.html [15:11:00.0000] <Hixie> hsivonen: what about it? [15:11:01.0000] <hsivonen> from my point of view, the longest paragraph is true alone but seems to be written about the wrong person [15:13:00.0000] <Hixie> i'd like to point out how right i was in that quoted irc snippet, btw [15:14:00.0000] <hsivonen> indeed [15:14:01.0000] <annevk> it's unfortunate though that they see it as intentionally starting a flame war [15:16:00.0000] <hober> Given their inability to understand Hixie's intentions, is it any wonder they want to remove conformance requirements that hinge on the author's intent? [15:20:00.0000] <Hixie> personally i think if http://lists.w3.org/Archives/Public/public-html/2008Apr/0538.html represents the opinion of all the anti-missing-alt crowd, the discussion is doomed [15:20:01.0000] <Hixie> but it's not clear to me if that's just jf's opinion or if the others agree [15:20:02.0000] <othermaciej> I find the appeal to authority distasteful [15:20:03.0000] <othermaciej> notwithstanding the merits of the argument [15:21:00.0000] <hsivonen> I don't like appeal to authority, either [15:22:00.0000] <gsnedders> I mean, when it comes to accessibility, there are few I actually listen to. All the "experts" don't really know what it is like to use the AT day after day. For that reason, T.V. Ramen is one of the few I actually listen to on things like this. [15:22:01.0000] <annevk> Hixie, "user agent" and "user-agent" are both used [15:23:00.0000] <gsnedders> /me heads off before he's flamed to death for saying that [15:23:01.0000] <billmason> Someone's already probably blogging it. [15:24:00.0000] <Hixie> annevk: yes, "user agent" should be used when it is used as a known and "user-agent" when it is used as an adjective (roughly speaking) [15:24:01.0000] <annevk> s/known/noun/ ? [15:24:02.0000] <Hixie> er [15:24:03.0000] <Hixie> yes [15:24:04.0000] <Hixie> wtf is "known" doing there [15:24:05.0000] <Hixie> i didn't type that i swear [15:25:00.0000] <annevk> heh [15:27:00.0000] <annevk> Hixie, linkColor tries to point to link which obviously fails [15:29:00.0000] <annevk> " [15:29:01.0000] <annevk> If a reflecting DOM attribute is a DOMString but doesn't fall into any of the above categories, then the getting and setting must be done in a transparent, case-preserving manner." doesn't really cover what happens when the attribute is not there (or the element on which the attribute is supposedly specified) [15:32:00.0000] <Hixie> not sure what you mean about link [15:33:00.0000] <annevk> the IDL says linkColor but the attribute definition says link [15:33:01.0000] <Hixie> oh [15:33:02.0000] <Hixie> oops [15:34:00.0000] <Hixie> fixed [15:34:01.0000] <annevk> Hixie, maybe the part after XXX should be in <span> [15:34:02.0000] <annevk> XXX=<span>HTMLDocument</span> [15:37:00.0000] <hsivonen> oops. what made me think that people don't declare dimensions was a bug in my code... [15:46:00.0000] <hsivonen> Philip`: thanks for the Hebrew and Arabic pointers. I think I have RTL covered now. Those pages had some pretty bad markup. [15:47:00.0000] <Philip`> hsivonen: Pages with bad markup? It's shocking :-( [15:49:00.0000] <annevk> Hixie, elementFromPoint is http://dev.w3.org/csswg/cssom-view/#documentview-elementfrompoint [15:49:01.0000] <Hixie> oh awesome [15:50:00.0000] <annevk> though hit testing is not :) [15:50:01.0000] <Hixie> hm? [15:50:02.0000] <othermaciej> annevk: would you consider also adding a rangeFromPoint (gives collapsed range) or nodeAndOffsetFromPoint (maybe returns a two-element array or something) [15:50:03.0000] <annevk> elementFromPoint depends on hit testing, which I left undefined for now [15:51:00.0000] <Hixie> oh i see [15:51:01.0000] <othermaciej> annevk: we've had requests for hit testing for individual character offsets from a point [15:51:02.0000] <othermaciej> annevk: and I'd rather not just invent an API [15:51:03.0000] <othermaciej> (we have elementFromPoint already) [15:51:04.0000] <annevk> i like rangeFromPoint [15:51:05.0000] <othermaciej> Mozilla provides this info on events [15:51:06.0000] <othermaciej> but an API for it seems more useful and cleaner to me [15:52:00.0000] <roc> yeah [15:52:01.0000] <roc> elementFromPoint should really have taken floats [15:52:02.0000] <roc> oh well [15:52:03.0000] <Hixie> annevk: i have a big open issue on event transparency [15:52:04.0000] <Hixie> roc: the whole platform screws that up [15:52:05.0000] <othermaciej> is there a reason elementFromPoint can't take floats? [15:52:06.0000] <Hixie> roc: we use integers for coordinates throughout [15:52:07.0000] <othermaciej> implementations that don't do float layout could just round [15:52:08.0000] <roc> not in getBoundingClientRect [15:52:09.0000] <Hixie> roc: e.g. you can't even get a float out of the event that gives you the mouse coords [15:53:00.0000] <roc> othermaciej: maybe, if IE doesn't barf if you pass it floats [15:53:01.0000] <Hixie> annevk: which will also depend on hit testing [15:53:02.0000] <Hixie> annevk: in a ridiculously complicated way [15:53:03.0000] <annevk> Hixie, i've seen that IE stuff [15:53:04.0000] <annevk> and it kind of makes sense for authors, but it's indeed something I rather not specified as part of that draft :) [15:54:00.0000] <roc> I like rangeFromPoint too [15:54:01.0000] <annevk> /me checks if IE7 allows floats [15:54:02.0000] <roc> although it's a little counterintuitive [15:54:03.0000] <roc> maybe it should give you the character cell that contains the float [15:55:00.0000] <roc> so a range from (node, index) to (node, index+1) if you're over a character [15:55:01.0000] <roc> or even (index+n) if you're over a cluster [15:56:00.0000] <annevk> seems we can change elementFromPoint to take floats [15:56:01.0000] <roc> we provide character offset information in events? News to me [15:57:00.0000] <roc> /me wonders if he can get that change into Gecko at this stage [15:58:00.0000] <Hixie> hm? [15:58:01.0000] <roc> hm what? [15:59:00.0000] <annevk> would rangeFromPoint always return the empty range? also if there's some selection at the specified location? [15:59:01.0000] <Hixie> who provides character offset information in events? [16:00:00.0000] <annevk> Gecko per othermaciej [16:00:01.0000] <Hixie> oh, i see [16:00:02.0000] <Hixie> huh [16:00:03.0000] <Hixie> didn't know that [16:00:04.0000] <roc> I think Maciej said we do. I don't think so, although I could be wrong [16:00:05.0000] <Hixie> annevk: i like roc's idea of returning the smallest range that contains the pixel (typically one character) [16:02:00.0000] <annevk> and the empty string when there's no character present I suppose? [16:03:00.0000] <roc> hmm? [16:03:01.0000] <roc> what do you mean "no character present"? [16:03:02.0000] <roc> I think we always return the document element at least [16:04:00.0000] <annevk> yeah, but that's not a range :) [16:04:01.0000] <roc> but you can return a range containing the document element [16:04:02.0000] <annevk> /me was still discussing rangeFromPoint [16:04:03.0000] <annevk> I see [16:06:00.0000] <Hixie> or maybe it would be more useful to return a range that represents where you'd put the caret if you were an editor [16:06:01.0000] <Hixie> i'm not sure what the use cases are [16:07:00.0000] <Hixie> bbl [16:08:00.0000] <othermaciej> roc: someone from Google told me so, but I could be wrong [16:08:01.0000] <roc> when you're doing drag selection, for example, you sometimes want to put the caret after the character (cluster) under the mouse, sometimes before [16:08:02.0000] <roc> so providing the range actually is best, because you can choose which end to put the caret at [16:08:03.0000] <othermaciej> googling for mozilla event.rangeParent finds some hits [16:08:04.0000] <roc> although it gets messy with RTL [16:09:00.0000] <othermaciej> (I forget what the corresponding offset property was named) [16:09:01.0000] <roc> othermaciej: ah! [16:09:02.0000] <roc> rangeOffset [16:09:03.0000] <roc> thanks [16:10:00.0000] <roc> I guess you can figure out the actual directionality of things using range.getClientRects [16:11:00.0000] <annevk> IE has TextRange.moveToPoint() [16:11:01.0000] <othermaciej> I think it would be nice not to depend on TextRange [16:11:02.0000] <othermaciej> since implementing TextRange may actually be a compatibility hazard [16:11:03.0000] <annevk> well, we could have Range.moveToPoint() [16:11:04.0000] <othermaciej> because editing libraries feature-test for it [16:12:00.0000] <othermaciej> I think rangeFromPoint is a better API design [16:12:01.0000] <annevk> does make sense given elementFromPoint [16:13:00.0000] <annevk> (though both are IE inventions :) ) [16:14:00.0000] <othermaciej> in a way it would make more sense for hit testing to be on the Window rather than Document (since it is the view object) but the DOM isn't really that good about model-view separation and adding global functions sucks [16:15:00.0000] <othermaciej> but certainly it makes more sense to say you are hit testing against a document than for hit testing to be a feature of ranges that happens to work against the implied document associated with the range [16:15:01.0000] <annevk> the DOM actually might be, but all the proprietary stuff isn't (and is more convenient now and then, consider getComputedStyle versus currentStyle) [16:16:00.0000] <annevk> ok, the question that remains is how to define it properly [16:16:01.0000] <roc> the model-view separation blew up some time ago [16:17:00.0000] <roc> consider, oh, getBoundingClientRect [16:17:01.0000] <roc> and its evil ancestors [16:18:00.0000] <othermaciej> rangeFromPoint could give a collapsed range when you aren't in text, and a one-char range if you are [16:18:01.0000] <othermaciej> (not sure which of these categories applies to clicking in, say, the margin of a paragraph left of a line) [16:18:02.0000] <annevk> selecting the element seems fine too (as far as I'm concerned) [16:18:03.0000] <othermaciej> or you could just give a collapsed range for nearest char boundary [16:19:00.0000] <othermaciej> selecting the whole element? even if it has text contents? [16:19:01.0000] <roc> hmm [16:19:02.0000] <othermaciej> that defeats the use case for this API [16:19:03.0000] <othermaciej> which is hit testing down to a char offset [16:19:04.0000] <annevk> well, what's selected depends on the target node [16:19:05.0000] <roc> that's a good point [16:20:00.0000] <roc> I'm not sure how to spec what you want though [16:20:01.0000] <othermaciej> people want to use this for things like processing a click on non-editable text, getting the position where the caret would have gone had the text been editable, and then replacing the text with a contentEditable area or textarea or designMode iframe [16:20:02.0000] <othermaciej> and then place the caret in the right spot in the new thing [16:20:03.0000] <annevk> i guess if the target node is a text node you do magic and otherwise you create a range for the target element... [16:21:00.0000] <roc> also things like "find the word that you clicked on and do something with it" [16:22:00.0000] <othermaciej> nick om_afk [16:22:01.0000] <othermaciej> dammit [16:22:02.0000] <roc> I think Maciej wants the ability to detect a click in the left margin and find the text at the start of the adjacent line [16:25:00.0000] <annevk> that seems kind of tricky [16:25:01.0000] <annevk> that would not just be hit testing, but also involve layout calculations [16:26:00.0000] <bkardell> Hey - I was curious about this: The whatwg faq says "HTML 5 is being developed with compatibility with existing browsers in mind, though (including IE). Support for many features can be simulated using JavaScript. " [16:27:00.0000] <annevk> i guess that's the case Hixie brought up [16:27:01.0000] <bkardell> can someone clarrify that? Is the idea to use like some pseudo xbl implementation? [16:28:00.0000] <annevk> bkardell, not XBL per se, script libraries that implement features in IE, such as IECanvas, count [16:28:01.0000] <bkardell> how would you simulate <canvas> for example in ie? via script? plugin? [16:28:02.0000] <Philip`> bkardell: http://excanvas.sourceforge.net/ [16:28:03.0000] <Philip`> which uses script to produce VML which IE can render [16:28:04.0000] <annevk> (I just said: _script_ libraries :) ) [16:30:00.0000] <bkardell> yeah - so followup question on that... [16:31:00.0000] <bkardell> has anyone considered introducing some way of making those kinds of things any easier? [16:31:01.0000] <Philip`> Making it easier to write script libraries that emulate features in IE? [16:31:02.0000] <hsivonen> I started a new UI text wiki page: http://wiki.whatwg.org/wiki/Validator.nu_alt_advice [16:31:03.0000] <bkardell> especially given history and IE's particular ability to prevent really widespread adoption by just controlling too much marketshare [16:32:00.0000] <hsivonen> it will be hard to write good advice that fits in the UI [16:32:01.0000] <Philip`> I'm not sure how that would work - every case seems to be sufficiently different that it's not worth trying to make a common framework for all the cases [16:32:02.0000] <bkardell> it could really be any vendor though - not limited exclusively to ie [16:33:00.0000] <bkardell> let me give an _extremely_ simple example of what I'm talking about [16:34:00.0000] <annevk> So I'm not going to define rangeFromPoint in a few minutes after all it seems :) There seem to be two ideas so far: 1) nearest char or otherwise element. 2) the place you'd insert the cursor if the document was editable [16:34:01.0000] <annevk> I guess the 2 covers more use cases [16:34:02.0000] <annevk> 2nd* [16:35:00.0000] <bkardell> pretty much every vendor agrees to how events are registered -- except ie [16:35:01.0000] <bkardell> so people have to write it both ways [16:37:00.0000] <bkardell> has there been any discussion or thought on how to remedy that? Other than to say "ie violates the rec" - which appears to not bother them too much [16:37:01.0000] <annevk> they've stated that they'll fix that in due course [16:37:02.0000] <bkardell> lol [16:38:00.0000] <bkardell> (literally I _am_ laughing out loud) [16:38:01.0000] <annevk> anyway, again, there are libraries [16:38:02.0000] <bkardell> even within the realm of following the rec - sometimes there are admittedly different implementations which do more or less follow the spec [16:39:00.0000] <bkardell> again - every script has to make the same accomodations [16:39:01.0000] <bkardell> yes - there are libraries [16:40:00.0000] <bkardell> that's what I'm asking I guess... the idea would be that in the meantime you'll have to pick a good library? [16:41:00.0000] <annevk> basically [16:41:01.0000] <Philip`> You could always pick a bad library instead [16:41:02.0000] <bkardell> nice! [16:42:00.0000] <bkardell> good idea phillip! I picked a bad browser might as well pick a bad library too ;) [16:44:00.0000] <roc> annevk: the IE team stated they'll do DOM2 events? [16:46:00.0000] <annevk> they said as much during some Web API telcon yes, but they didn't give specifics so I guess not for IE8 [16:46:01.0000] <roc> I saw a post from one of their people about DOM2 events so I thought they might be interested [16:46:02.0000] <roc> I guess I'd like to know if it's for IE8 :-) [16:47:00.0000] <roc> supporting both event models would not be fun for them [16:47:01.0000] <Philip`> They can solve that by using the incompatibility switch [16:48:00.0000] <roc> I guess but internally, it's going to suck [16:49:00.0000] <Philip`> It's a web browser, so I'd guess they're used to that [16:49:01.0000] <roc> there's levels of suck :-) 2008-04-18 [17:03:00.0000] <othermaciej> annevk: we already have hit testing ability in the engine to determine "where the caret would go if you clicked here in an editable area" [17:03:01.0000] <othermaciej> annevk: so it's not that tricky [17:03:02.0000] <othermaciej> we have that code because we already need to do that for actual editable areas [17:04:00.0000] <roc> yeah [17:04:01.0000] <roc> maybe we need two methods :-( [17:05:00.0000] <annevk> textRangeFromPoint and rangeFromPoint ? [17:05:01.0000] <annevk> the former does the caret thingie (no idea how to define that in prose yet) and the latter does the char -> element thingie [17:06:00.0000] <othermaciej> /me shrugs [17:06:01.0000] <othermaciej> SVG also has hit testing APIs [17:07:00.0000] <othermaciej> but only on elements that contain text (so hit testing to the element has to be done first as a separate step() [17:08:00.0000] <annevk> grmbl, the SVG spec is so complex and hard to navigate [17:09:00.0000] <shepazu> anne, are you looking for text selection stuff? [17:09:01.0000] <Philip`> /me thinks the HTML5 spec is more complex and harder to navigate [17:10:00.0000] <hsivonen> Philip`: at least the HTML5 spec comes as a single file so seaching on the page works [17:10:01.0000] <shepazu> we need more extensive indexing, which we're working on [17:10:02.0000] <hsivonen> I have to search the SVG 1.1 spec as PDF [17:10:03.0000] <hsivonen> because the multipage HTML version is a pain to work with in a random access manner [17:10:04.0000] <Philip`> http://www.google.com/search?q=site%3Aw3.org+inurl%3Atr%2Fsvg+purple [17:11:00.0000] <othermaciej> annevk: http://www.w3.org/TR/SVG/text.html#DOMInterfaces [17:11:01.0000] <othermaciej> getCharNumAtPosition is what I was thinking of [17:11:02.0000] <othermaciej> though getStartPositionOfChar, getEndPositionOfChar, and getSubStringLength provide the opposite direction [17:12:00.0000] <othermaciej> I think getCharNumAtPosition may not be compatible with DOM range notions of offset though [17:13:00.0000] <Philip`> /me wonders if Opera 9.5 has fixed the thing where search-as-you-type is incredibly slow, because it tries highlighting every occurrence in the 2MB file of the letter "e" when you're trying to start searching for "elephants" or whatever [17:14:00.0000] <annevk> i guess we don't need to worry about those methods... [17:14:01.0000] <othermaciej> yeah, I'm just mentioning them as prior art [17:14:02.0000] <othermaciej> not sure they are the best model to generalize [17:14:03.0000] <weinig> annevk: I am curious as to what your opinion is on what to do when not enough arguments are passed to a method like getRequsetHeader from the XMLHttpRequest Object spec [17:15:00.0000] <Philip`> (Aha, it has, by just making the search/highlighting much faster) [17:15:01.0000] <annevk> weinig, whatever Web IDL says should happen :) [17:15:02.0000] <weinig> annevk: ah, ok [17:16:00.0000] <othermaciej> normal practice is to just threat missing arguments as undefined rather than going out of your way to throw [17:16:01.0000] <annevk> weinig, at some point http://www.w3.org/TR/DOM-Bindings/ will be named "Web IDL" and when that happens I'll update XMLHttpRequest to explicitly point to it I guess so all that will be resolved automatically [17:16:02.0000] <othermaciej> so I'd say do that unless it is spec'd differently for some specific case [17:16:03.0000] <othermaciej> or undefined would be a type error [17:17:00.0000] <othermaciej> or would stringify or numberify as something that raises an error [17:17:01.0000] <annevk> or maybe caretRangeFromPoint() [17:17:02.0000] <annevk> that would make it explicit :) [17:18:00.0000] <annevk> and although arguably the name is not abstract enough as some UIs might not have a caret, it's very clear for authors [17:18:01.0000] <roc> sounds good [17:19:00.0000] <annevk> g'night all, will look into this more tomorrow [17:24:00.0000] <Philip`> Hixie: The "h1-h6" in the spec would look much nicer with an en-dash [17:48:00.0000] <Philip`> /me sees http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sections.html#headings0 saying "&endash;" [17:48:01.0000] <Philip`> but the commit email had &ndash; instead [17:48:02.0000] <Philip`> /me wonders if it's just slow at regenerating [17:50:00.0000] <Philip`> Hixie: http://krijnhoetmer.nl/irc-logs/whatwg/20080418#l-201 [17:52:00.0000] <Hixie> yeah i was reading the archives [17:52:01.0000] <Hixie> there is no way for me to check something in that isn't what the site has [17:52:02.0000] <Hixie> because i check in the same file that apache serves [17:52:03.0000] <Hixie> so try reloading :-) [17:53:00.0000] <Philip`> I've reloaded multiple times, and it still says &endash; [17:53:01.0000] <Philip`> though the single-page version looks right [17:53:02.0000] <Philip`> and much nicer than those ugly hyphens - thanks :-) [17:56:00.0000] <Lachy> It's nice to see Microsoft have agreed to change their selectors api implementation. http://lists.w3.org/Archives/Public/public-webapi/2008Apr/0189.html [17:56:01.0000] <Hixie> oh the multipage version always lags behind [17:57:00.0000] <Hixie> i have another host that generates it [17:58:00.0000] <Philip`> Hixie: Ah, right [18:38:00.0000] <Hixie> woah, my imap server just got way faster [18:41:00.0000] <andersca> nice [18:42:00.0000] <bradee-oh> Hixie: does this mean the frequency at which we can expect your batch email replies increased, as well? [18:43:00.0000] <Hixie> yes, but this is "way faster" compared to yesterday, not compared to last week [18:43:01.0000] <Hixie> these past few days my imap server got stuck in a swamp somewhere and was having trouble getting data out of the mud [18:47:00.0000] <Philip`> Maybe it was scared of the alt discussion [18:56:00.0000] <Philip`> Hixie: The multipage one still says &endash;, so that's quite a lot of lag... [18:57:00.0000] <Hixie> odd [18:57:01.0000] <Hixie> /me runs .update.sh again [19:38:00.0000] <MikeSmith> roc: was just reading your latest blog entry [19:39:00.0000] <MikeSmith> well put [19:40:00.0000] <roc> thanks, but I mostly just cribbed from #whatwg [19:40:01.0000] <roc> :-) [19:41:00.0000] <Hixie> /me blushes at the implication of the target of the link for "few people" [19:47:00.0000] <MikeSmith> fwiw, in the product-development organizations I've been in, I've found that experienced QA people are also grossly undervalued [19:47:01.0000] <MikeSmith> by experienced I mean experienced with a particular product [19:48:00.0000] <MikeSmith> they have whole lot of information in their heads that they've acquired through many instances of testing and troubleshooting that product [19:53:00.0000] <roc> we've got quite a few of those people. Not sure if they're undervalued or not. I hope not [01:27:00.0000] <Hixie> i wish i understood what the real problem was with this alt text issue [01:27:01.0000] <Hixie> i'm clearly missing something [01:42:00.0000] <hsivonen> Hixie: the underlying problem statements aka. use cases would indeed be more useful than a dogmatic syntax conclusion [01:46:00.0000] <Hixie> i tried to go that way with my recent e-mail [01:54:00.0000] <hsivonen> /me looks if the TAG thread needs a reply from me [01:54:01.0000] <annevk> I hope my reply is enough [01:55:00.0000] <annevk> though maybe I should have stayed out of it [01:55:01.0000] <annevk> it's not like they're going to affect anything [01:56:00.0000] <hsivonen> annevk: ah you replied already. thanks [01:57:00.0000] <othermaciej> which list? [01:58:00.0000] <hsivonen> othermaciej: www-tag [02:00:00.0000] <annevk> I can't believe people are suggesting to hurt copy-and-paste authors. Copy-and-paste is the nr1 feature of the Web platform. [02:04:00.0000] <othermaciej> whoever wants to hurt copy-paste authors should talk to the SVG WG [02:05:00.0000] <annevk> It was in that thread, exactly. Though not by someone from the SVG WG :) [02:07:00.0000] <annevk> The alt e-mail flame war is accomplishing exactly nothing it seems :( [02:09:00.0000] <Lachy> annevk, I wouldn't call it nothing, though it's very little. There was some discussion about how to gather data on the use of alt, which would be useful, though no results from that yet. [02:12:00.0000] <hsivonen> it has altered my software development priorities [02:13:00.0000] <hsivonen> although letting it alter the priorities may set a bad precedent if it seems that the way to get me to write software is to make spec discussions too unproductive [02:13:01.0000] <om_sleep> man, TAG people love the colon character [02:13:02.0000] <hsivonen> indeed [02:14:00.0000] <hsivonen> that's another dogma [02:14:01.0000] <othermaciej> like, they don't even care any more if it is even used as a namespace prefix separator [02:14:02.0000] <othermaciej> as long as there's colons [02:16:00.0000] <Lachy> some usability studies performed on sites like wikipedia that evaluated the very redundant use of alt="...", title="..." and image captions in their articles would be useful. [02:16:01.0000] <hsivonen> I guess at some point someone has to make the impolite point that if a TAG member can't get a reasonable code path condition written in 6 hours, how do they expect Joe Blow to get it right [02:17:00.0000] <othermaciej> because the Tools Will Save Us [02:17:01.0000] <othermaciej> and Everyone Will Just Use a Library [02:17:02.0000] <hsivonen> seriously, making a sniffer that has different paths for Firefox and Opera and an untested failure in Safari should be a red flag [02:20:00.0000] <hsivonen> Hixie: when a markup generator makes a linked thumbnail of a photo of unknown meaning, would you put the function of the link in alt? [02:20:01.0000] <hsivonen> alt=thumbnail 30 per page [02:21:00.0000] <hsivonen> 30 times [02:21:01.0000] <hsivonen> with current AT even that would be less bad than letting the crazy file name reading kick in [02:24:00.0000] <Lachy> I think some people are focussing too much on the spec saying "rare subset", rather than considering that the conditions need to be evaulated on an individual site basis. [02:25:00.0000] <Lachy> although I thought the spec said rare as a way to encourage people to avoid the situation if possible, people seem to be interpreting it as a loophole that people will aim for [02:27:00.0000] <othermaciej> "thumbnail" isn't good text for the link [02:27:01.0000] <hsivonen> it isn't [02:27:02.0000] <othermaciej> since the link surrounding a thumbnail doesn't lead to a thumbnail, it leads to the full photo page [02:27:03.0000] <hsivonen> but it's less horrible than reading out a GUID or some other hex name [02:27:04.0000] <hsivonen> right [02:28:00.0000] <othermaciej> I think <a title="photo page"> or something might be right [02:28:01.0000] <othermaciej> maybe even duplicate title or description there [02:28:02.0000] <othermaciej> I dunno [02:28:03.0000] <hsivonen> assuming that title isn't IMG3827.JPG [02:30:00.0000] <othermaciej> fair enough [02:31:00.0000] <hsivonen> I think the default behavior of Flickr Uploadr sucks, btw [02:31:01.0000] <hsivonen> it's a classic example of having a metadata field (title) and trying to fill it with *some* junk when the user is uncooperative [02:32:00.0000] <hsivonen> /me uses his own custom uploader [03:04:00.0000] <Hixie> hsivonen: based on impl experience we had when mozilla experimented with this, imho the src or parts of the src are never good alt text [03:04:01.0000] <Hixie> well, never is strong [03:04:02.0000] <Hixie> not often enough that it should be considered by the ua [03:05:00.0000] <Hixie> the point of thumbnails is to provide a quick overview of what is available [03:06:00.0000] <Hixie> if nothing but the image is known (i.e. no metadata at all) then you might as well just say alt="2" alt="3" etc [03:06:01.0000] <Hixie> as in: <p>Photos: <img src=... alt="1"> ... <img src=... alt="50"></p> [03:06:02.0000] <hsivonen> Hixie: shouldn't that be aria-posinset='2', etc.? [03:06:03.0000] <Hixie> with links, of course [03:06:04.0000] <Hixie> why? [03:07:00.0000] <Hixie> i think the aria thing is a classic example of second system syndrome [03:07:01.0000] <hsivonen> Hixie: to make the user experience consistent with other "items n of M" cases [03:07:02.0000] <Hixie> and people apply solution-looking-for-a-problem attitudes when they learn of it [03:08:00.0000] <hsivonen> Hixie: I wasn't looking for a use of ARIA here [03:09:00.0000] <Hixie> my last two lines weren't really related to your suggestion [03:09:01.0000] <Hixie> just a general observation [03:09:02.0000] <Hixie> but frankly even in this case i don't see much point [03:09:03.0000] <Hixie> it's a bunch of links [03:09:04.0000] <Hixie> people know how to deal with those [03:09:05.0000] <Hixie> what's the problem we're trying to solve? [03:09:06.0000] <hsivonen> in fact, I think this case happens to be one where the posinset/setsize design would actually make sense [03:10:00.0000] <hsivonen> in the more obvious cases, the current ARIA design kinda sucks [03:10:01.0000] <hsivonen> Hixie: the problem we are trying to solve is to convey that we have N links to photos and we don't know what those photos are about [03:11:00.0000] <Philip`> You should draw all the images onto a canvas and then use some JS code to map mouse coordinates onto links [03:11:01.0000] <Philip`> and then you wouldn't have to worry about alt text at all [03:11:02.0000] <hsivonen> if it is a set of N links, presumably it would be good for the UE to be the same as the AT presenting a set of N items in general [03:13:00.0000] <hsivonen> Please try out the new "Image Report" feature of Validator.nu and help me make the UI text suck less [03:13:01.0000] <hsivonen> there's a tension between instructing first-time users and making the UI non-crufty for repeat users [03:15:00.0000] <Hixie> hsivonen: i don't really see why N is especially more relevant in this case than in any other case of a set of links [03:16:00.0000] <Hixie> (and thus why the UA wouldn't automatically do all this clever processing itself) [03:17:00.0000] <hsivonen> Hixie: yeah, it's only relevant on paged flickr thumbnail pages [03:17:01.0000] <hsivonen> where the ARIA stuff would make it possible to spread the N links across several HTML pages [03:17:02.0000] <hsivonen> Hixie: but I agree that in general the assumption that the author should manage posinset/setsize sucks [03:18:00.0000] <hsivonen> see my feedback on public-pfwg-comment [03:18:01.0000] <Hixie> the image report is cool, though wordy. not sure how to reduce that though. [03:20:00.0000] <Hixie> I would have a warning if there's an image without alt="" saying "N images were not declared as decorative and yet had no alternative text specified; please see the _image_report_ to manually check that this is appropriate." or some such [03:28:00.0000] <hsivonen> Hixie: that might make the report more discoverable, yes [03:28:01.0000] <hsivonen> /me is annoyed at Leopard Screen Sharing not doing full screen [03:28:02.0000] <hsivonen> do I have to pay for Pro or something? :-) [03:29:00.0000] <hsivonen> /me wants VNC connections to appear in Spaces so that local and remote spaces look the same [03:32:00.0000] <hsivonen> anyway, if anyone has better UI text, Validator.nu pulls the UI text from the wiki at startup [03:34:00.0000] <annevk> I wonder if the wordy descriptions should go on a separate page with pointers [03:34:01.0000] <annevk> so that for frequent use you don't have to scan all those paragraphs [03:34:02.0000] <hsivonen> that's a possibility [03:36:00.0000] <hsivonen> I should show off the RTL support: http://html5.validator.nu/?doc=http%3A%2F%2Fhe.wikipedia.org%2Fwiki%2F%25D7%25A2%25D7%259E%25D7%2595%25D7%2593_%25D7%25A8%25D7%2590%25D7%25A9%25D7%2599&showimagereport=yes&showsource=yes#l244c238 [03:39:00.0000] <annevk> does the validator check <a> <img alt> </a> cases? [03:40:00.0000] <hsivonen> annevk: no, but it checks for <a> <img> </a> [03:41:00.0000] <hsivonen> annevk: when the alt attribute is present, linkness doesn't seem to need further considerations at least not in VO [03:41:01.0000] <annevk> if the alt attribute is the empty string as in my example it is probably an authoring error [03:42:00.0000] <hsivonen> at least with VO, not a worse authoring error than misapplying alt='' in general [03:43:00.0000] <annevk> i think that <a> <img alt> </a>, <button><img alt></button> (others?) should be non-conforming [03:43:01.0000] <hsivonen> moreover, the code currently doesn't distinguish <a><img alt=''></a> and <a><img alt=''> Redundant text</a> [03:44:00.0000] <annevk> (if there's text it's obviously a different case) [03:45:00.0000] <hsivonen> yeah, but it's also obviously more difficult to check for in SAX, hence, left undistinguished in the first version [03:48:00.0000] <hsivonen> Hixie: I'm not sure I want to add the warning you suggested since it changes the badge hunter effects of the feature [03:52:00.0000] <annevk> i was more thinking about it being a content model restriction [03:52:01.0000] <hsivonen> Ah. [03:53:00.0000] <Lachy> <a><img> text</a> could also be considered non-conforming, since the only logical alt text for it would be alt="" or alt="non-redundant text". Omitting alt in that case would obviously be an error [03:53:01.0000] <hsivonen> I think I'd still use the same code. [03:53:02.0000] <hsivonen> (as amended to distinguish the cases, that is) [03:57:00.0000] <hsivonen> /me wonders how dictionary-based Hebrew text-to-speech needs to be [04:04:00.0000] <zcorpan_> hsivonen: i think the image report is a bit unstructured visually; the sections blend together and it looks like one big blob of text. i think it would help with h3 { font-style:italic } or something [04:06:00.0000] <zcorpan_> and/or more spacing between the sections [04:07:00.0000] <mpt> Lachy, I worked on a page design this week where that markup pattern would have non-empty alt= text [04:08:00.0000] <mpt> Specifically, something like 'Owner: <a href="...+edit"><img alt="[Edit]" src="edit-icon" /> Rowley Birkin</a>' [04:09:00.0000] <Lachy> mpt, yeah, that would be the alt="non-redundant text" case I mentioned. [04:10:00.0000] <mpt> oh, right [04:10:01.0000] <zcorpan_> hsivonen: uh, actually, never mind... for some reason the headings aren't bold for me in opera [04:10:02.0000] <mpt> I was thinking we were still in the phase where <img> == <img alt=""> [04:11:00.0000] <Philip`> hsivonen: It took me quite a while to realise that the top list of images was ones with alt="" [04:11:01.0000] <Philip`> since it's not obvious that the "Omitted from non-graphical presentation" heading is associated with that table, and it's not obvious what that heading means anyway, and I don't want to read all the text [04:12:00.0000] <hsivonen> Philip`: would it help if h3 had a larger margin-top? [04:13:00.0000] <Philip`> (Also the <th>Image</th> should maybe have text-align:right since it looks quite unbalanced when the image directly under the heading is very narrow and right-aligned) [04:13:01.0000] <Lachy> mpt, the spec basically says alt="" means decorative, missing alt means key part of the content (not decorative), without any alt text available from any reliable source [04:13:02.0000] <mpt> ok, good [04:14:00.0000] <Philip`> hsivonen: I imagine that could help with making the heading seem associated with the text+table, rather than just with the text [04:15:00.0000] <hsivonen> Philip`: any suggestion on how to make it look that way? [04:15:01.0000] <Philip`> hsivonen: You already gave a suggestion that seems reasonable to me :-) [04:16:00.0000] <zcorpan_> hsivonen: i had rules in user.css that took away the boldness [04:17:00.0000] <hsivonen> zcorpan_, Philip` : is it better now after reload? [04:18:00.0000] <Philip`> hsivonen: Hmm, I think the <th>Image</th> needs some padding-right or something [04:18:01.0000] <Philip`> but otherwise it does look better [04:18:02.0000] <hsivonen> oh right [04:19:00.0000] <hsivonen> what about now? [04:19:01.0000] <Philip`> hsivonen: That looks more better now [04:20:00.0000] <hsivonen> ok [04:20:01.0000] <Philip`> Is it at all useful to say "From line 90, column 146; to line 90, column 301", instead of "Line 90, column 146"? [04:20:02.0000] <Philip`> I can imagine automatic syntax-highlighting tools caring, but not humans [04:21:00.0000] <Philip`> /me goes for a while [04:21:01.0000] <hsivonen> the location number matter if you want to correlate stuff with a text editor buffer manually [04:22:00.0000] <zcorpan_> hsivonen: yep, looks better now. (i now have body, label { font-weight:normal } in user.css instead of what i had before) [04:22:01.0000] <hsivonen> otherwise, you can check "Show Source" and use the links [04:22:02.0000] <hsivonen> zcorpan_: is that your user.css in general of for validator.nu in particular? [04:24:00.0000] <zcorpan_> hsivonen: for validator.nu in particular. the use of system fonts in your style sheets in combination of my font choise in windows makes everything go bold in opera otherwise [04:24:01.0000] <hsivonen> ok [04:36:00.0000] <zcorpan_> hsivonen: the image report is very useful [04:36:01.0000] <zcorpan_> hsivonen: good work :) [04:43:00.0000] <zcorpan_> hsivonen: i think the headings would require less thinking from the user if they just said "Images with alt=''", "Images without alt", etc [04:44:00.0000] <hsivonen> zcorpan_: thanks. and yeah, changing the headers like that might make sense [04:44:01.0000] <hsivonen> too bad I'll have to change the interfaces to do <code> in heading :-( [04:46:00.0000] <zcorpan_> hsivonen: might also be useful with a TOC at this point, not sure [05:01:00.0000] <Philip`> hsivonen: You can correlate stuff with a text editor buffer manually just with the start location, and press your text editor's "jump to closing angle bracket" key to find the end location [05:04:00.0000] <Philip`> hsivonen: "The img elements of the page (if any) ..." - you could remove the "(if any)", and replace the image report with "There are no img elements on the page." if there aren't any [05:06:00.0000] <Philip`> "Please review that the images in the group match the definition all what kind of images should appear in that group." - s/all/of/, or maybe s/.*/Please review that the images in each group match that group's definition./ which hopefully says the same but more concise [05:12:00.0000] <Philip`> /me wonders what happens if he pastes into IRC <a ... title="ויקיפדיה:הבהרה משפטית">הבהרה משפטית</a> [05:12:01.0000] <Philip`> Hmm, doesn't give the intended effect in my client, but http://krijnhoetmer.nl/irc-logs/whatwg/20080418#l-494 does [05:13:00.0000] <Philip`> Don't Hebrew HTML authors get horribly confused by their markup getting rendered like <a ... title="some text<"some text</a> ? [05:56:00.0000] <Philip`> http://www.google.com/search?q=%221+comments%22 - grammar are hard [06:10:00.0000] <hsivonen> argh. while I'm away writing alt-related software and docs, the thread just keeps growing [06:46:00.0000] <hsivonen> Philip`: fixed UI strings. thanks [07:38:00.0000] <hsivonen> bad the link function in WordPress is sad. it doesn't escape & [07:52:00.0000] <hendry> hsivonen: use http://packages.qa.debian.org/i/ikiwiki.html :) [08:01:00.0000] <hsivonen> hendry: Hixie only installs software that Dreamhost supports [08:07:00.0000] <annevk> hsivonen, wow, long post [08:11:00.0000] <Philip`> hsivonen: s/the market generator/the markup generator/ ? [08:11:01.0000] <hsivonen> oops. I blame speech-to-text [08:11:02.0000] <Philip`> Also s/in// in "pretend that in the case" [08:12:00.0000] <hsivonen> Philip`: thanks [08:15:00.0000] <Philip`> hsivonen: http://validator.nu/?doc=http%3A%2F%2Fwww.coalitionforjustice.net%2F shows 4 messages but http://validator.nu/?doc=http%3A%2F%2Fwww.coalitionforjustice.net%2F&showimagereport=yes only shows 3, which seems odd [08:16:00.0000] <hsivonen> Philip`: indeed. thanks. I'll investigate later. [08:18:00.0000] <Lachy> hsivonen, the tables in the image report need visible borders and it would help if the table headers were left aligned or centred, rather than right aligned. [08:19:00.0000] <Lachy> and make the th's bold or something to distinguish them from td's [08:24:00.0000] <Lachy> hsivonen, it seems to be quite usable, though I think the presentation needs some improvment. [08:24:01.0000] <Lachy> I wonder if it would be possible to have a feature that showed the images with some of their surrounding content to put them in context. [08:32:00.0000] <Lachy> hsivonen, it might be good to either treat alt=" " the same as alt="", or somehow indicate that the value only contains whitespace [08:40:00.0000] <Lachy> hsivonen, I think the description of Images with textual alternative should include something that says automated markup generated should not attempt to generate alternative text unless it has been obtained from a reliable (or at least human) source. [08:49:00.0000] <zcorpan> hsivonen: http://html5.validator.nu/?doc=http%3A%2F%2Fwww.accessify.com%2F&showimagereport=yes&showsource=yes is not very helpful... [08:51:00.0000] <zcorpan> hsivonen: why does it need to reparse in that case? [08:52:00.0000] <Lachy> maybe because the meta charset occured outside the limit of the preparse [08:52:01.0000] <Lachy> in any case, such error messages should probably include some quick way to say force override with this charset anyway [08:53:00.0000] <Lachy> and then have it revalidate [08:54:00.0000] <zcorpan> or the validator should just reparse :P [08:54:01.0000] <Lachy> it would also be useful if there was a quick way to view the image in full size, without having to select view image from the context menu [08:55:00.0000] <Lachy> zcorpan, no, fatal errors are great for forcing the author to fix the error :-) [08:56:00.0000] <zcorpan> Lachy: well perhaps the author was only set out to check the alt text [08:57:00.0000] <Lachy> ah, so you want a way to view image report only without validation [08:58:00.0000] <Lachy> forcing UTF-8 works. http://validator.nu/?doc=http%3A%2F%2Fwww.accessify.com%2F&charset=UTF-8&showimagereport=yes&showsource=yes [08:58:01.0000] <Lachy> it's intersting to see their incorrect use of alt text [08:59:00.0000] <zcorpan> yeah, although skipping over the validation messages is about as much work as unchecking a "validate" checkbox [08:59:01.0000] <Lachy> "accessify.com" image has alt="Accessify home page - latest news" is somewhat wrong. The image says nothing about news. [09:00:00.0000] <Lachy> and the 1x1px transparent gif with alt="site statistics" should have alt="" instead [09:04:00.0000] <zcorpan> http://html5.validator.nu/?doc=http%3A%2F%2Fflickr.com&charset=UTF-8&showimagereport=yes&showsource=yes looks reasonable [09:14:00.0000] <hsivonen> Lachy: why do the tables need borders? [09:15:00.0000] <hsivonen> Lachy: Philip` suggested right-aligning the image th, and I think it makes sense that way [09:15:01.0000] <hsivonen> Lachy: the th *is* bold [09:16:00.0000] <hsivonen> Lachy: context would be useful, yes. However, in a validator, the source location is the surrogate for context [09:16:01.0000] <hsivonen> Lachy: if you really want context, you need a browser extension [09:17:00.0000] <hsivonen> Lachy: I think alt=' ' needs further investigation whether it already is taken to mean something special [09:17:01.0000] <hsivonen> Lachy: the UI text is on a wiki :-) [09:18:00.0000] <annevk> some light colored border and maybe some amount of padding would help though, I think [09:19:00.0000] <annevk> (not necessarily on the side of the table, though) [09:20:00.0000] <Philip`> http://validator.nu/?doc=http%3A%2F%2Fwww.google.com%2F&showimagereport=yes#imagereport [09:20:01.0000] <Philip`> Is that a legitimate use of alt? [09:20:02.0000] <annevk> why not? [09:21:00.0000] <Philip`> The alt text for each image is not an alternative to that image, though the concatenation of alt texts on the page is an alternative to the concatenation of images [09:22:00.0000] <annevk> i suppose it would be weird if a single image failed to load [09:22:01.0000] <billmason> I don't understand why when I'm actually looking at google.com, it's one integrated image, not a concatenation. [09:23:00.0000] <annevk> prolly does browser sniffing [09:23:01.0000] <Philip`> Probably depends on cookies and logins and stuff too [09:23:02.0000] <Philip`> Also it does IP sniffing [09:23:03.0000] <Philip`> (so validator.nu gets google.fi) [09:23:04.0000] <billmason> Ah, that would make sense. [09:23:05.0000] <billmason> /me is sniffed out now [09:24:00.0000] <Philip`> /me can't work out which part of the spec is relevant for alt text for images which themselves just contain text [09:25:00.0000] <annevk> Google tries to save bytes with markup on the one hand, but on the other they could save quite a bit more if they really tried [09:25:01.0000] <Philip`> It's not the first case, since the text isn't more clearly stated when it's in the graphic [09:25:02.0000] <annevk> /me wonders what the deal is [09:25:03.0000] <Philip`> It's not the second since it's not an icon, it's not the third since it's not supplementary to surrounding text, it's not the fourth since it's not purely decorative [09:25:04.0000] <Philip`> It's not the fifth since it's not a critical part of the content [09:26:00.0000] <Philip`> It's not the sixth since it's not being emailed [09:26:01.0000] <Philip`> So the spec doesn't seem to tell me whether the image needs alt or what it should say [09:27:00.0000] <billmason> The second includes discussion of logos, which would seem to have some relevance. [09:27:01.0000] <hsivonen> Lachy: isn't the context menu easy enough for magnifying the image? [09:27:02.0000] <hsivonen> zcorpan: re: only checking alt: validation is the first step. :-p [09:27:03.0000] <Philip`> billmason: None of the three cases for logos applies either [09:28:00.0000] <Philip`> The Google logo isn't representing Google (like if it was a list of lots of search engines, using their logos to make them easily identifiable) - it's just the page heading [09:28:01.0000] <Philip`> It's not being used next to the company's name [09:29:00.0000] <Philip`> and it's not just decorative, since if you removed it then you wouldn't know what site you were on [09:29:01.0000] <billmason> I'm not sure I agree with your first statement. Particualy in light of your third. [09:29:02.0000] <billmason> If it's that critical, then its representative. [09:30:00.0000] <Philip`> I'm not sure I agree with your "If" statement [09:31:00.0000] <billmason> Well, then you will have to explain how it's not decorative, but at the same time doesn't stand for anything to me.... [09:31:01.0000] <annevk> hsivonen, "Fatal Error: Changing encoding at this point would need non-streamable behavior." is an open issue right? [09:31:02.0000] <Philip`> The image is critical to the page, because it's part of the page's text; its purpose is to be heading text, and not to be representing the organisation Google [09:32:00.0000] <billmason> Perhaps we have different definitions of "representing". [09:32:01.0000] <Philip`> It's not "being used to represent the entity ... such as a company, organisation, project, band, software package, country, or some such" [09:33:00.0000] <billmason> I think a marketing person would disagree that a logo doesn't represent the entity. A logo is generally a carefully considered product designed to to just that. Judging by the arguments over logo design I've experienced. [09:34:00.0000] <Philip`> Regardless of that, if they replaced it with black Comic Sans saying "WE HACKED YOUR SERVERS" then it certainly wouldn't be representing any such entity, and then there's still the problem that none of the cases mentioned in the spec seem to cover it [09:36:00.0000] <hsivonen> annevk: fatal error is a major design decision [09:36:01.0000] <hsivonen> annevk: making it more usable regardless is an open issue [09:37:00.0000] <hsivonen> Lachy, annevk: is the problem not having a border between table rows? [09:37:01.0000] <hsivonen> or columns, too [09:38:00.0000] <billmason> Such a change would mean you no longer have a logo. Right now I'm only asserting that the Google graphic is a logo. [09:39:00.0000] <billmason> I would argue that your example fits the current definition of icon: 'WE HACKED YOUR SERVERS' is a short phrase with an alternative graphical representation. [09:39:01.0000] <Philip`> I'd have to agree that the Google logo graphic is a logo [09:41:00.0000] <Philip`> but I think it's not so clear that the logo is "being used to represent the entity" - it's being used to tell people what site they're on and to make it prettier [09:41:01.0000] <Philip`> It does represent the entity, but it's not being used simply for that purpose [09:42:00.0000] <Philip`> billmason: Which of the sub-cases in the 'icon' section would apply? [09:43:00.0000] <billmason> Philip`: would apply to what? The hypothetical 'hacked' graphic? [09:43:01.0000] <Philip`> billmason: Yes [09:44:00.0000] <billmason> Probably "In other cases, the icon has no text next to it describing what it means; the icon is supposed to be self-explanatory. In those cases, an equivalent textual label must be given in the alt attribute." [09:45:00.0000] <billmason> I'm starting to dislike the word 'icon' though. It makes me leap to the assumption that the image will therefore be a little 16x16 image, or the like. [09:45:01.0000] <Philip`> That seems to me like an abuse of the spec's intent - that's supposed to apply to e.g. <img src=magnifying-glass alt=Search> [09:46:00.0000] <billmason> Yes, I agree. This is why I don't like the word icon here. [09:47:00.0000] <Philip`> The whole spec section is far too long to bother reading to work out what you're meant to do in any given case anyway, even if it did actually say clearly what to do in every given case [09:50:00.0000] <billmason> I would rather, I think answer that the 'hacked' image example is point 1 in the spec. It is a 'A phrase or paragraph with an alternative graphical representation', but the following text pulls you away from that by saying the image 'more clearly' represents, when in this example it equally represents. [09:50:01.0000] <billmason> So I'm finding the text a little blurry. [09:50:02.0000] <Philip`> /me agrees [09:51:00.0000] <annevk> hsivonen, fatal error is incompatible with HTML5... [09:51:01.0000] <Dashiva> But what if the vandals didn't change the alt? [09:51:02.0000] <billmason> Then it's nonconforming? :) [09:52:00.0000] <Philip`> Dashiva: I'm assuming these are vandals who care about accessibility [10:00:00.0000] <hsivonen> annevk: actually, HTML5 permits fatal errors [10:04:00.0000] <annevk> hmm true, does your parser allow the other variant too if you don't do the streaming model? [10:05:00.0000] <hsivonen> annevk: yes, the parser supports non-fatal behavior if you accept losing streaming [10:06:00.0000] <Lachy> hsivonen, the th's weren't bold. They are now. I assume the problem was the font-weight: inherit;, which now appears to be removed. [10:06:01.0000] <hsivonen> I'm not sure if keeping V.nu streaming is a bad call, but I'm not ready give up on streaming [10:06:02.0000] <hsivonen> Lachy: are you sure your browser cache is up-to-date? [10:07:00.0000] <Philip`> CSS5 should allow every element to have two parents, and if you set "inherit" then it chooses to inherit from one of the parents at random, with a small chance of inheriting from both mixed together, when the element is first created [10:07:01.0000] <Lachy> it seems to be now up to date now. I wasn't getting the light yellow background on the middle column earlier. Now I am [10:07:02.0000] <hsivonen> Lachy: I'm pretty sure I haven't changed the style sheet in the last hour [10:07:03.0000] <hsivonen> Lachy: you had a *really* old cached copy of the style sheet, then [10:07:04.0000] <Lachy> oh, ok. Maybe mine was cached [10:08:00.0000] <Lachy> had you set and cache related http headers on them, which would have caused it to be cached for me? [10:08:01.0000] <Lachy> like an Expires header [10:10:00.0000] <hsivonen> Lachy: nope: http://web-sniffer.net/?url=http%3A%2F%2Fabout.validator.nu%2Fstyle.css&submit=Submit&http=1.1&gzip=yes&type=GET&uak=0 [10:12:00.0000] <annevk> hsivonen, ah ok, for some reason i assume the parser didn't use streaming [10:12:01.0000] <annevk> maybe because of Schematron [10:12:02.0000] <annevk> assumed* [10:13:00.0000] <annevk> oops [10:13:01.0000] <hsivonen> annevk: Schematron will be gone at some point from HTML5 checking [10:13:02.0000] <hsivonen> annevk: but yeah, Schematron builds a private tree and doesn't stream [10:13:03.0000] <hsivonen> looks really ugly in a perf profiler :-) [10:14:00.0000] <Lachy> hsivonen, re magnifying images, it's not always immediately obvious which images are already shown full size, or which can be enlarged. So going to the context menu to view each image is time consuming [10:14:01.0000] <hsivonen> Lachy: good point [10:14:02.0000] <hsivonen> Lachy: I tried to pick a size that is large enough for an author to recognize photos [10:15:00.0000] <Lachy> would be nice to have some kind of zoom feature for significantly larger images [10:15:01.0000] <hsivonen> it may suck if you aren't the author and you try to figure out a large diagram [10:15:02.0000] <Lachy> but I suppose, for an author familar with the page, it's not so bad [10:16:00.0000] <hsivonen> Lachy: I considered using CSS :hover and :focus but then I cut that feature from the first release, because I couldn't figure out a nice way to tell CSS to zoom from current dimensions by a factor [10:17:00.0000] <Lachy> such a thing would have to be done with javascript [10:17:01.0000] <hsivonen> yeah [10:21:00.0000] <hsivonen> can JS query for the actual file dimensions? [10:21:01.0000] <Lachy> hsivonen, can you turn the Group Messages feature on by default. It's so much better than the ungrouped [10:21:02.0000] <hsivonen> the server size doesn't know the file dimensions and uses width/height from HTML [10:22:00.0000] <hsivonen> Lachy: I can't. Grouping doesn't work during load [10:24:00.0000] <Lachy> I wonder if you could somehow use the canvas APIs to determine the actual size of the image [10:25:00.0000] <Philip`> Lachy: You can't [10:26:00.0000] <Philip`> and when I last tried, it was impossible to find the image size on the client [10:26:01.0000] <Philip`> (because img.width/height always returns the rendered size, or 0 if it's not in the document) [10:26:02.0000] <Lachy> Philip`, ok. [10:26:03.0000] <Philip`> (at least in the compatible intersection of all browsers) [10:27:00.0000] <Philip`> so I ended up calculating sizes on the server instead, and sending <img _width="123" _height="456" style="max-width:100px"> so scripts could grab the real size [10:28:00.0000] <Philip`> (Can't use width="..." because getAttribute('width') in IE is equivalent to .width and returns the rendered size) [10:29:00.0000] <Philip`> (Web development is great fun) [10:31:00.0000] <Philip`> (Also I was putting the max-widthed images in a table, and Opera 9.2 does table layout as if the image was full size, which messes everything up, and I was having so much fun that I just gave up and let Opera have broken layout) [10:31:01.0000] <Lachy> hsivonen, this works: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cscript%3E%0Avar%20img%20%3D%20document.createElement(%22img%22)%3B%0Aimg.src%20%3D%20%22image%22%3B%0Aw(img.height)%3B%0Aw(img.width)%3B%0A%3C%2Fscript%3E [10:33:00.0000] <Lachy> /me has to go home now. Back soon. [10:34:00.0000] <Philip`> /me wonders why that didn't seem to work when he tried this a while ago... [10:44:00.0000] <annevk> (the example Lachy gave above only works for cached images) [10:45:00.0000] <Philip`> (That's easily fixable with onload) [10:58:00.0000] <Lachy> annevk, the example I gave would work for all images shown in the image report, if the function is executed onload, creates an image, and iteratively sets the src to that of each images in the report and retreives the dimensions. [10:59:00.0000] <Philip`> "Iteratively" sounds bad for performance - you want to do them in parallel [11:00:00.0000] <Lachy> ideally, you would catch the onload event for each individual image and retrive the dimensions imediately [11:00:01.0000] <Lachy> that will be possible with XBL, but no so easy now [11:00:02.0000] <Lachy> unless you can do <img ... onload="getDimensions();"> [11:00:03.0000] <Lachy> for each image [11:07:00.0000] <Philip`> <img onload> won't work, since it'll give the rendered size and not the real size [11:07:01.0000] <Philip`> so you have to use createElement('img') or new Image() [11:10:00.0000] <Lachy> Philip`, yes, that's why my above explanation said to create an img, and iteratively set the src to that of each image in the page. [11:11:00.0000] <Philip`> You can just create multiple imgs and set the source of them all, instead of iterating on one img [11:12:00.0000] <Lachy> you still need to create and set each one sequentially, but creating new img elements would be less efficient than reusing the same one. [11:15:00.0000] <Lachy> I assume multiple onload events from several images would be executed sequentially, since it's single-threaded, so reusing the same img for each wouldn't cause a conflict [11:15:01.0000] <Philip`> Network latency is seven zillion times more significant than CPU/memory usage for a handful of DOM objects [11:15:02.0000] <Lachy> yes, but every bit counts [11:15:03.0000] <Philip`> Every bit of network latency counts more; and if you're downloading one image at a time, compared to downloading half a dozen in parallel, that's going to be really slow [11:16:00.0000] <Lachy> but the network latency is irrelevant here, since you can't do anything with the image until it's loaded, and once it is, the script for each takes an insignificant amount of time [11:17:00.0000] <Lachy> the browser can still download multiple images simultaneosly, and use various techniques to speed that up. There's nothing a javascript can do about that [11:18:00.0000] <Philip`> The browser can't download multiple images simultaneously if your script is waiting for the first to call onload before you update img.src and tell it to download the next [11:19:00.0000] <Lachy> I think your misunderstanding how I envision the script working [11:19:01.0000] <Philip`> Possibly :-) [11:20:00.0000] <Philip`> Since you said you're reusing the same img, I assume you mean "var i = new Image(); i.src = '1'; i.onload = function () { process(i); i.src = '2'; i.onload = ... }" (except setting src/onload in the right order and setting up the chain in a loop) [11:21:00.0000] <Lachy> no, you got it wroing :-) [11:21:01.0000] <Philip`> I'll blame your description, then ;-) [11:26:00.0000] <Lachy> I'm putting together an example page to show it working, give me a few minutes [11:29:00.0000] <bkardell> I have a question about <link> in the working draft... [11:30:00.0000] <bkardell> There is a "prefetch" [11:30:01.0000] <bkardell> and you can specify type [11:31:00.0000] <bkardell> could it be used similarly to <script src="xx"> [11:31:01.0000] <bkardell> to load script? [11:32:00.0000] <Philip`> bkardell: Why not just use <script src="..."> instead? [11:33:00.0000] <bkardell> well - the reason isn't important for now [11:33:01.0000] <bkardell> the important part is that I don't understand from the text whether that is a valid case [11:33:02.0000] <bkardell> would it be? [11:35:00.0000] <bkardell> it allows type/media etc [11:35:01.0000] <Philip`> The spec doesn't tell UAs to do anything with <link rel=prefetch>, so (I think) they mustn't do anything that affects the document in any way (and so they can't e.g. run scripts) [11:36:00.0000] <bkardell> but they can attach stylesheets? [11:36:01.0000] <bkardell> which can attach via xbl? [11:36:02.0000] <annevk> through rel=stylesheet [11:36:03.0000] <Philip`> That's rel=stylesheet, not rel=prefetch [11:37:00.0000] <Philip`> (prefetch is just meant to tell the UA to download and cache the data so it can be used in the future with less delay) [11:37:01.0000] <Philip`> /me might be misunderstanding the question, though [11:37:02.0000] <bkardell> sure... it's kind of a complicated question I guess I may be having trouble expressing too [11:38:00.0000] <bkardell> let me try again.. I don't want to get hung up on the 'prefetch' piece [11:38:01.0000] <bkardell> I chose that one in my question because it specifies an "external resource" [11:39:00.0000] <bkardell> so I guess in simplest terms: could <link> not be used to load script? [11:39:01.0000] <Philip`> Like <link rel="script" href="example.js">? [11:39:02.0000] <annevk> <link> cannot atttach scripts like <script> can [11:40:00.0000] <bkardell> it seems syntactically very capable and as to why exactly one would want to - I'm just examining possibilities [11:40:01.0000] <bkardell> yes - precisely... [11:40:02.0000] <Philip`> There's not really anything to stop someone adding a <link rel=script> to HTML in the future, except that it would seem like a bad idea when there's already <script> [11:41:00.0000] <bkardell> does it really seem like a bad idea? [11:41:01.0000] <annevk> yes [11:41:02.0000] <bkardell> lol :) [11:41:03.0000] <annevk> (it's a rejected extension: http://wiki.whatwg.org/wiki/RelExtensions ) [11:41:04.0000] <bkardell> good deal Anne - that's exactly what I was looking for [11:41:05.0000] <bkardell> thanks!! [11:42:00.0000] <Philip`> It doesn't seem like a good idea (e.g. it doesn't allow interesting new features), and the default state for ideas is to be bad because otherwise the world would be flooded with too many things to implement :-) [11:42:01.0000] <annevk> the default state for proposals is bad [11:42:02.0000] <annevk> actually, the default state for proposals is rejection [11:43:00.0000] <bkardell> yeah - I agree with that philosophy the question was not to propose but to understand intent [11:44:00.0000] <Philip`> annevk: That shouldn't be true - the default state for proposals should be to be awaiting consideration [11:44:01.0000] <bkardell> I was trying to figure out essentially if this would be an effort like one to say <embed>, <object> and <applet> are kind of redundant [11:45:00.0000] <bkardell> thanks though anne - that's exactly what I was looking for [11:45:01.0000] <annevk> in general if a new feature does exactly the same as an existing feature it won't be introduced [11:45:02.0000] <annevk> and since rel=script was not supported anywhere there's no reason to add it [11:46:00.0000] <annevk> (as for <embed>, <object>, and <applet>; <applet> is obsoleted in favor of <embed> and <embed> and <object> are quite different) [11:49:00.0000] <annevk> Philip`, i guess the default outcome of said consideration is rejection then :) [11:52:00.0000] <Lachy> Philip`, http://lachy.id.au/dev/2008/image-dimensions.html [11:53:00.0000] <Lachy> hsivonen, feel free to rip off that script for the validator [11:53:01.0000] <Lachy> ... if and when you want to implement the zoom feature [12:00:00.0000] <bkardell> annevk: I must admit that I did not know <embed> and <object> - both still have recommended uses [12:00:01.0000] <bkardell> thought <embed> was out [12:03:00.0000] <bkardell> Don't have a lot of chance to use either so hopefully that doesn't seem too dreadfully stupid a comment [12:05:00.0000] <annevk> np [12:25:00.0000] <Philip`> Oops, I think I contributed to the alt email pile [13:47:00.0000] <Hixie> wow http://www.w3.org/mid/OF51C16334.62B43BA0-ON8625742F.004CBE78-8625742F.0051275D⊙uic [14:24:00.0000] <Philip`> Aha, I'm glad someone gave a specific example in response to my "there are other more legitimate reasons for having several img elements representing a single piece of text", since I couldn't actually think of any [14:50:00.0000] <zcorpan_> http://html5.dk/wordpress/2008/04/16/første-danske-bog-om-html-5/ -- danish book about html5 [15:01:00.0000] <annevk> if I interpret the Danish correctly there's no book yet but you can pre-order it or something? [15:27:00.0000] <Hixie> wtf are document.charset and document.defaultCharset [15:31:00.0000] <othermaciej> crazy XML things [15:31:01.0000] <Hixie> seems they're IE things for text/html [15:31:02.0000] <Hixie> i don't understand what they are supposed to do [15:31:03.0000] <Hixie> on setting in particular [15:31:04.0000] <Hixie> for .charset [15:31:05.0000] <othermaciej> oh [15:32:00.0000] <othermaciej> that's right [15:32:01.0000] <othermaciej> we have those APIs marked as IE extensions and I don't remember what they do [15:32:02.0000] <Hixie> "defaultCharset Property [15:32:03.0000] <Hixie> Gets the default character set from the current regional language settings." [15:32:04.0000] <Hixie> w.t.f. [15:32:05.0000] <othermaciej> Mozilla instead has characterSet [15:33:00.0000] <othermaciej> (which we also copied) [15:33:01.0000] <othermaciej> defaultCharset is read-only in our DOM [15:33:02.0000] <othermaciej> not sure that is the case for IE [15:33:03.0000] <Hixie> yeah i just looked at the patch that webkit uses [15:33:04.0000] <Hixie> to implement this [15:33:05.0000] <Hixie> didn't help much [15:33:06.0000] <Hixie> :-) [15:33:07.0000] <othermaciej> the crazy XML things are inputEncoding and xmlEncoding [15:33:08.0000] <Hixie> (in terms of what setting .charset does) [15:34:00.0000] <othermaciej> for a grand total of 5 attributes on Document relating to the document's character set [15:34:01.0000] <Hixie> first hit for [document.charset msdn] on google seems to be a security vulnerability report [15:34:02.0000] <othermaciej> I think if you set it, it will affect the default charset assumed for linked resources [15:35:00.0000] <othermaciej> and possibly also charset used for form submission and URL escaping [15:35:01.0000] <othermaciej> not sure about the latter two though [15:35:02.0000] <Hixie> charset Property [15:35:03.0000] <Hixie> "Sets or retrieves the character set used to encode the object." [15:36:00.0000] <Hixie> this documentation is worthless [15:36:01.0000] <othermaciej> IE's vaunted docs for their JS APIs are often maddeningly vague [15:49:00.0000] <annevk> hmm, you'd think that nonsense like charset shouldn't end up in the DOM [15:51:00.0000] <Hixie> so i wonder what a document like <script>alert(document.charset)</script><meta http-equiv="content-type" content="text/html;charset=iso-8859-2"><script>alert(document.charset)</script> does [15:52:00.0000] <Hixie> damowmow.com/playground/demos/001.html [15:52:01.0000] <annevk> in Mozilla document.carset is undefined even [15:53:00.0000] <annevk> in Opera it returns the empty string, and if you set it to some string you can retrieve that string later, but I'm not sure what the effect is [15:55:00.0000] <Hixie> it helps if i remove the default encoding [15:55:01.0000] <Hixie> sigh [15:58:00.0000] <annevk> Hixie, maybe these features can be removed given that Firefox 3 gets away with not supporting them? [15:58:01.0000] <Hixie> http://damowmow.com/playground/demos/charset/001.html seems to indicate that IE doesn't change the encoding [15:58:02.0000] <Hixie> etf [15:58:03.0000] <Hixie> annevk: well they support document.characterSet [15:59:00.0000] <annevk> ah, and Opera and Safari support all... [16:04:00.0000] <Hixie> my definition of defaultCharset is awesome [16:31:00.0000] <gsnedders> Hixie: goddamnit. just as I am trying to go to bed I see that comment and _have_ to look. [16:32:00.0000] <gsnedders> Hixie: Awesomness gone mad. [16:38:00.0000] <hsivonen> Hixie: did you test charset setting with IANA-unregistered but otherwise supported names? [16:42:00.0000] <Hixie> no [16:43:00.0000] <Hixie> i'm working on the mythical concept that only iana-registered names are supported, and that all supported names are iana-registered [16:43:01.0000] <Hixie> or at least that they will be by the time the spec is in cr [16:43:02.0000] <gsnedders> Ah, I see the realist Hixie showing through again :P [16:45:00.0000] <Hixie> if nobody does the work of registering them, i'll just set up a wiki page and change the spec to refer to that instead of iana [16:46:00.0000] <Hixie> so... [16:46:01.0000] <Hixie> which fires first [16:46:02.0000] <Hixie> onreadystatechanged, or DOMContentLoaded? [16:47:00.0000] <gsnedders> And also, what's a word that means "laughed at" that starts with a t? [16:47:01.0000] <Philip`> /me wonders if document.defaultCharset should return the same value every time you get it [16:47:02.0000] <othermaciej_> in Safari, we support all variants of IANA names with added or removed hyphens (and maybe some other punctuation) [16:47:03.0000] <Philip`> otherwise a mobile browser than returns "encoding associated with the user's current geographical location" might do odd things if you travel a lot [16:47:04.0000] <takkaria> gsnedders: as in "I laughed at him"? [16:47:05.0000] <othermaciej_> probably that is more than strictly needed for compatibility [16:47:06.0000] <Philip`> s/than/that/ [16:47:07.0000] <gsnedders> takkaria: "I was laughed at endlessly" [16:48:00.0000] <Hixie> teased [16:48:01.0000] <Hixie> and which happens first, onreadystatechanged, or onload? [16:48:02.0000] <Philip`> Tittered? [16:48:03.0000] <Hixie> othermaciej_: yeah i've received similar feedback from opera [16:48:04.0000] <gsnedders> teased is too specific [16:49:00.0000] <Hixie> Philip`: i see no reason why it shouldn't change each time [16:49:01.0000] <gsnedders> othermaciej: so what? all consecutive hyphens become a single hyphen? [16:49:02.0000] <Hixie> Philip`: e.g. if someone is playing with their settings [16:49:03.0000] <Philip`> gsnedders: The dictionary suggests "twitted" but I've never heard that before [16:50:00.0000] <othermaciej> gsnedders: for example, for the official name ISO_8859-1 we will also accept ISO88591 [16:50:01.0000] <Philip`> Hixie: <a href="#refsRFC2046">[RFC2646]</a> - s/0/6/ [16:50:02.0000] <othermaciej> (that's not one of the registered aliases) [16:50:03.0000] <gsnedders> othermaciej: ah, OK [16:51:00.0000] <othermaciej> or conversely, we'll accept latin-1, even though only latin1 is an official alias [16:51:01.0000] <Hixie> Philip`: fixed [16:53:00.0000] <othermaciej> (of course we don't treat any of those as real latin1) [16:53:01.0000] <gsnedders> /me wishes life was simpler than it is [16:53:02.0000] <Philip`> Hixie: There's another half a dozen of the same error elsewhere [16:53:03.0000] <gsnedders> (in terms of things like this) [16:54:00.0000] <Hixie> Philip`: where? [16:54:01.0000] <Hixie> Philip`: all the other 2046s seem right [16:54:02.0000] <Philip`> href="#refsRFC2318">[RFC2138]</a> [16:54:03.0000] <Philip`> href="#refsRFC2046">[RFC2646]</a> [16:54:04.0000] <Philip`> href="#refsRFC3490">[RFC3986]</a> [16:54:05.0000] <Philip`> href="#refsRFC3490">[RFC3987]</a> [16:54:06.0000] <Philip`> href="#refsRFC3490">[RFC3986]</a> [16:54:07.0000] <Philip`> href="#refsRFC3490">[RFC3987]</a> [16:54:08.0000] <Philip`> href="#refsRFC3490">[RFC3986]</a> [16:54:09.0000] <Hixie> othermaciej: iirc opera said they just strip out all -s and _s and various other punctuation before doing comparisons [16:54:10.0000] <Hixie> Philip`: ah ok [16:54:11.0000] <othermaciej> Hixie: that's basically what we do too [16:54:12.0000] <Hixie> Philip`: good times [16:55:00.0000] <Hixie> Philip`: i'll fix those when i do the refs [16:55:01.0000] <othermaciej> Hixie: both from the provided charset and the official charset names being compared to [16:55:02.0000] <Hixie> othermaciej: right 2008-04-19 [17:07:00.0000] <Hixie> hm [17:07:01.0000] <Hixie> webkit sometimes returns readyState as 'loaded' [17:07:02.0000] <Hixie> but I can't get IE to return that [17:07:03.0000] <Hixie> only 'interactive' [17:08:00.0000] <gsnedders> Browsers are odd. [17:08:01.0000] <gsnedders> We should just XML. Draconian error handling will sort everything out. [02:08:00.0000] <annevk> well, <q> is obsolete now: http://googlenewsblog.blogspot.com/2008/04/words-matter.html [03:10:00.0000] <hsivonen> where did the idea the passing the W3C validator increases Google rank come from? [03:12:00.0000] <Lachy> hsivonen, it probably evolved from the idea that valid markup is easier to parse than invalid markup, and thus if google can't read your page properly due to invalid markup, it won't rank it correctly. [03:13:00.0000] <Lachy> of course, it's total nonsense [03:13:01.0000] <Lachy> or maybe it's for the Google Accessible Search http://labs.google.com/accessible/ [03:14:00.0000] <hsivonen> nah. If you care about accessible search, you probably actually care about accessibility instead of just rank in the normal google search [03:14:01.0000] <Lachy> in which case, it would derive from the validity requirement in WCAG 1.0 [03:15:00.0000] <Lachy> yeah, but it's like chinese whispers. People read one thing, misunderstand, tell others another thing, and the idea just evolves into things that are only remotely related to the original [03:16:00.0000] <hsivonen> yeah. some of the SEO "expert" guidance out there is total bullshit [03:18:00.0000] <hsivonen> even if 'lies to children' might be useful is the short term, in the long run, there's the risk that people figure out the lie and then the general credibility of HTML 5 is gone [03:18:01.0000] <Lachy> indeed. The only really good expert advice is to write content that people are interested in, use reasonably appropriate semantic markup and don't try to play tricks [03:32:00.0000] <tommorris> It's a useful lie. [03:33:00.0000] <tommorris> The SEO folks are so gullible that you can just say "valid HTML increases PageRank" and we all benefit by them making their pages valid. ;) [03:47:00.0000] <hsivonen> wouldn't a more direct lie work? like good alt text increases page rank? [03:47:01.0000] <hsivonen> that might even not be a lie. I don't know. [04:07:00.0000] <Mook> help? looking at the <video> specs, and having trouble figuring out if an element is "actively playing" as a content author. [04:08:00.0000] <Mook> http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-January/013605.html says "!video.paused && !video.ended && video.readyState >= HTMLMediaElement.CAN_PLAY" but I can't tell if that covers "playback has not stopped due to errors, and the element has not paused for user interaction. " [04:54:00.0000] <Philip`> It seems hard to tell how many people are using alt for SEO, how many are using it for tooltips, and how many are using it for 'proper' reasons [04:54:01.0000] <Philip`> but if people are actually using alt properly, I suppose it doesn't matter what their reasons are [05:27:00.0000] <hsivonen> Philip`: their reasons don't matter for the end result, but the reasons matter when formulating policies that seek to influence people through reasons [05:29:00.0000] <hsivonen> hmm. isn't the pure way to do what zcorpan_ suggests on list to use a <meter> with XBL2? :-) [05:32:00.0000] <Philip`> Back in the real world, we need solutions that actually work :-p [05:34:00.0000] <Philip`> With XBL2, would AT see the pre-transformed or post-transformed DOM? [05:39:00.0000] <zcorpan_> hsivonen: gloves... :) [05:41:00.0000] <zcorpan_> which blog is splitting up images in the heading to make it wrap? [05:42:00.0000] <zcorpan_> http://vivabit.com/ [05:43:00.0000] <zcorpan_> though it uses css, but the idea is the same [05:44:00.0000] <Philip`> I hope Google doesn't start doing OCR of images, since that'd remove one of the incentives to providing legitimate alt text [05:44:01.0000] <hsivonen> zcorpan_: :-) [05:44:02.0000] <hsivonen> Philip`: the theory is that the non-transformed tree would be conveyed to AT [05:45:00.0000] <Philip`> http://dromaeo.com/ - that uses split images in the heading, to make it resize interestingly [05:46:00.0000] <Philip`> hsivonen: Won't that theory fail the first time someone uses an element the AT doesn't recognise, and transforms it into elements the AT would recognise (like normal HTML elements), so the AT would be much better off using the transformed tree? [05:48:00.0000] <hsivonen> Philip`: yes [05:48:01.0000] <Philip`> Oh, okay [05:50:00.0000] <hsivonen> so for XBL2 to work as advertised, the first browser that implements needs to implement AT access to meter, progress and WF2 *first* [05:51:00.0000] <Philip`> And people have to only use those elements, not make up a <myjstoolkit-fancywidget> and use that instead [05:52:00.0000] <zcorpan_> should we allow <data-foo> elements? [05:53:00.0000] <Lachy> zcorpan_, for what use case? [05:53:01.0000] <zcorpan_> for custom complex structure that's inconvenient to use in an attribute value [05:54:00.0000] <zcorpan_> though i guess it's starting to get ugly at that point [05:54:01.0000] <Lachy> but then that would fill the page with visible, though potentially non-human readable data [05:54:02.0000] <annevk> zcorpan_, I think <div class=...> and <span class=...> are for that [05:54:03.0000] <annevk> Actually, I know they are :) [05:55:00.0000] <zcorpan_> annevk: true [05:58:00.0000] <Philip`> zcorpan_: Why not just put the complex structured data in the data-* attribute, encoded as XML or JSON? [05:58:01.0000] <Lachy> zcorpan_, for data that won't fit well into data-foo="" attributes, authors would be better off putting the data into a data structure (like an array, JSON, etc.) and associating that data with a particular element using id="" or some other reference in a data-* attribute [05:59:00.0000] <Lachy> Philip`, it's difficult to embed XML markup as an attribute value [05:59:01.0000] <zcorpan_> Philip`: escaped xml in an attribute is ugly [05:59:02.0000] <Philip`> <div data-foo='<html xmlns="http://www.w3.org/1999/xhtml"><b>Hello world</b></html>'> [05:59:03.0000] <Philip`> Doesn't look ugly to me [06:00:00.0000] <zcorpan_> Philip`: "&amp;" gives you trouble [06:00:01.0000] <zcorpan_> you also need to parse it yourself if you want to access it [06:00:02.0000] <Lachy> Philip`, it's not well-formed XML, so you would need to escape < and & properly in XHTML [06:50:00.0000] <tommorris> embedded XML inside other XML or HTML attributes is a horrible mess. [06:54:00.0000] <Philip`> What we need is a <![CDATA[...]]> for attribute values [06:58:00.0000] <tommorris> Or better yet to make sure that nobody designs XML or SGML syntaxes that use CDATA attributes [07:07:00.0000] <annevk> or better yet, don't use attributes for this [07:08:00.0000] <tommorris> yep, it's a bad idea. [07:08:01.0000] <Philip`> <xml><html xmlns="http://www.w3.org/1999/xhtml"><b>Hello world</b></html></xml> [07:09:00.0000] <Philip`> Works fine for most web users [07:15:00.0000] <Lachy> Philip`, except that <xml> in IE gives very different results from any other browser. [07:16:00.0000] <Philip`> So does e.g. <canvas> [07:19:00.0000] <Philip`> (There's <xml src="..."></xml> too, which is kind of like synchronous unscripted XMLHttpRequest) [07:20:00.0000] <Philip`> http://msdn.microsoft.com/archive/en-us/dnarxml/html/ICPXML.asp?frame=true - "The <XML> tag is reserved by the W3C for use in HTML." - huh? [07:21:00.0000] <annevk> Philip`, v [07:21:01.0000] <annevk> Philip`, http://www.w3.org/TR/1998/NOTE-xh-19980511#xml-block [07:24:00.0000] <Philip`> http://msdn2.microsoft.com/en-us/library/fb2xe77x(VS.85).aspx - I'm glad nobody uses that [07:30:00.0000] <Philip`> Er, nobody except http://pagesperso-orange.fr/cyril.distinguin/ and http://eskil.meb.gov.tr/ and http://history-pc.narod.ru/ and http://www.maximumhardcoremovies.com/wild_hardcore/index.html [07:30:01.0000] <Philip`> (plus a million times as many pages that I haven't looked at) [07:32:00.0000] <Philip`> annevk: I guess that means HTML5 is a non-conforming specification, since it violates the requirement "the group decided on a vote of 10 for and 1 abstension (none against) to use an element called XML. This must be added to a future version of HTML." [07:34:00.0000] <annevk> future version doesn't mean HTML5, it could be HTML6, or HTML5+n [07:35:00.0000] <Philip`> HTML5 is a future version of HTML, and since <xml> must be added to a future version of HTML, that logically means it must be added to HTML5 [07:43:00.0000] <roc> no [07:44:00.0000] <Philip`> You can't argue against logic! [07:44:01.0000] <roc> that's not logic [07:44:02.0000] <doublec> besides, the topic says to leave your sense of logic at the door... [07:45:00.0000] <roc> go to sleep Chris [07:45:01.0000] <doublec> hmm, the same could be said to you roc :) [07:45:02.0000] <gsnedders> Go to sleep the both of you. [07:46:00.0000] <doublec> hehe [07:46:01.0000] <Philip`> Can I go to sleep too? [07:46:02.0000] <roc> one ... more ... patch [07:46:03.0000] <gsnedders> Philip`: Invalid timezone. [07:46:04.0000] <Philip`> /me gets lunch instead [07:47:00.0000] <gsnedders> Can I have a medal for procrastination? [07:47:01.0000] <gsnedders> I feel like I deserve one. [07:47:02.0000] <Philip`> I could give you one, but it might take me a while to get around to it [07:49:00.0000] <gsnedders> Hah. [07:49:01.0000] <gsnedders> I admit, it's taken me a while to ask for one. [15:51:00.0000] <gsnedders> does anyone know what Prince's default page margins are? [15:53:00.0000] <takkaria> too big [15:54:00.0000] <gsnedders> "By default each page has a 90pt margin on the left and right and a 72pt margin on the top and bottom." — http://www.princexml.com/bb/viewtopic.php?p=226 [16:21:00.0000] <Philip`> Star rating widgets are often interactive, so you can click on the nth star to submit a rating of n [16:21:01.0000] <Philip`> so <progress> won't work there - what's a good alternative? [16:23:00.0000] <annevk> <meter> without initial value? [16:23:01.0000] <annevk> /me wonders if that's possible [16:24:00.0000] <Philip`> Er, I meant <meter> not <progress> [16:24:01.0000] <Philip`> Rating: <a href=vote?1><img src=onstar alt='Current rating: 2 out of 3. Submit your vote: 1' title='Vote 1/3'></a><a href=vote?2><img src=onstar alt=2 title='Vote 2/3'></a><a href=vote?3><img src=offstar alt=3 title='Vote 3/3'></a> [16:24:02.0000] <webben> logically speaking it's a input type="range" [16:24:03.0000] <webben> perhaps [16:25:00.0000] <annevk> yeah and once submitted it's converted into <meter> [16:25:01.0000] <annevk> could work [16:25:02.0000] <annevk> once the CSS/XBL story actually works for form controls [16:25:03.0000] <webben> yep [16:25:04.0000] <webben> if it ever does [16:26:00.0000] <Philip`> /me still doesn't like depending on technologies that don't exist yet [16:27:00.0000] <othermaciej> best current way would probably be to put a click event handler on every star [16:28:00.0000] <othermaciej> (since you probably want to submit the rating in some ajaxy way) [16:28:01.0000] <othermaciej> or you could make them <input type="image"> and have an onsubmit handler on the form do the async submission [16:29:00.0000] <Philip`> If it's done with multiple images, I'm wondering what suitable alt text should be, since it needs to convey the value of each star and the current rating, and there are ~5 separate alt attributes to spread the text across [16:31:00.0000] <webben> it's certainly fiddly [16:32:00.0000] <othermaciej> logically, it's an <input type="range" min="1" max="5"> [16:32:01.0000] <othermaciej> but XBL binding that to look right - good luck [16:33:00.0000] <othermaciej> I guess input type="number" might be more appropriate [16:33:01.0000] <othermaciej> (same min and max) [16:33:02.0000] <othermaciej> anyway [16:33:03.0000] <othermaciej> you could use alt to represent the state and "title" on each star to indicate what clicking it will do [16:33:04.0000] <Philip`> It should be possible to write conforming HTML5 that works in legacy browsers [16:33:05.0000] <Philip`> in which case you can't use new <input> types or XBL [16:33:06.0000] <othermaciej> assuming you use input type="image [16:35:00.0000] <Philip`> othermaciej: The issue (or at least the one I'm pretending to care about) is that you then have multiple images conveying a single piece of information (the current rating), and alt is defined to only be about the information conveyed by a single image [16:35:01.0000] <webben> could also be a fieldset of radio buttons [16:35:02.0000] <othermaciej> <form onsubmit="changeRating(event)"><input type="image" alt="" title="set rating to 1/5"><input type="image" alt="2/5"....> [16:35:03.0000] <othermaciej> where 2/5 is the current rating [16:35:04.0000] <othermaciej> that might not give good results in a screen reader though [16:36:00.0000] <Philip`> You should be able to vote for the current rating too (where 'current rating' is determined by other voters) [16:37:00.0000] <webben> <fieldset><legend>Rating: 2 out of 5</legend><input type="image" alt="Set rating to 1 out of 5"><img alt=""><input type="image" alt="Set rating to 3 out of 5">...</fieldset> [16:37:01.0000] <webben> maybe [16:38:00.0000] <gsnedders> Problem with developing print style sheets in Prince: you forget how bad actual browsers are at all the page CSS (i.e., css3-page, css3-gcpm). [16:41:00.0000] <othermaciej> would using ARIA to pretend the star control is a spinbox work? [16:42:00.0000] <othermaciej> this is really a case where you can easily build the UI you want for non-disabled users, but you want a low-level accessibility API to make things great for the visually or motor impaired [16:43:00.0000] <webben> i'm sure you could do /something/ with ARIA. [16:44:00.0000] <webben> that sounds reasonable. [16:45:00.0000] <webben> "This functionality should be accomplished programmatically through the use of up and down arrows on the keyboard." (http://www.w3.org/TR/wai-aria/#spinbutton) ... would be better if they didn't specify particular keys though! [16:46:00.0000] <Philip`> Seems like there's a danger that for any accessibility-related problem, I could just say that ARIA can probably solve it, so that's okay, and then I don't actually know how to use ARIA and haven't got a clue how to test it even if I did use it, so I'll just leave it until later (i.e. never implement it) [16:46:01.0000] <webben> yep [16:46:02.0000] <Philip`> I can cope with understanding accessibility at the level of "if all images are replaced by their alt text, the page should still be usable", but that's about it [16:48:00.0000] <webben> easiest way to test these things is to ask some real users to test them (e.g. jaws-users mailing list, discuss⊙mc etc.) [16:49:00.0000] <webben> VO/FireVox/Orca/NVDA are also relatively easy to learn, though hard to use the same as someone who needs to use them in anger. [16:49:01.0000] <Philip`> Hmm, I think I consider other people's time too valuable to ask them to review my rubbish web apps :-) [16:49:02.0000] <webben> Opera Voice is another interesting one [16:50:00.0000] <webben> Philip`: It's a mailing list, they can always ignore you :) ... they're often keen to help webdevs in passing though. [16:50:01.0000] <webben> Philip`: Also, if you can generalize the technique at all, then you can publish it and save someone else the testing. [16:51:00.0000] <Philip`> If they ignored me and didn't waste their time, that'd be wasting my time instead, so it'd be better to just not ask :-) [16:51:01.0000] <webben> Only with the advantage of hindsight. [16:52:00.0000] <Philip`> Seems like it would be a useful resource if I was doing anything that actually had users, though [16:52:01.0000] <webben> with this theoretical spinboxy thing, I wonder whether Opera Voice would use the ARIA role or the non-ARIA markup or what [16:53:00.0000] <Philip`> Does Opera Voice understand ARIA? [16:53:01.0000] <Philip`> (Is there a test somewhere to find out?) [16:53:02.0000] <webben> annevk: Do you know whether Opera Voice is using the ARIA stuff being implemented in Kestrel? [16:54:00.0000] <webben> Philip`: Problem is knowing what one's testing. First you'd need to find a nice ARIA test, then check Opera is exposing it to MSAA, the check what OV does. [16:54:01.0000] <webben> and even though it's a bit hard to know [16:54:02.0000] <webben> OV's a bit buggy. [16:54:03.0000] <webben> (e.g. in 9.x, you can't open links in the content area) [16:54:04.0000] <Philip`> /me wishes Opera Voice worked on Linux [16:54:05.0000] <othermaciej> we really want it to be possible for the platform to let you build an accessible rating control [16:54:06.0000] <othermaciej> whatever the mechanism [16:55:00.0000] <webben> another option might be to using aria tristate checkboxes [16:56:00.0000] <webben> for those stars where you click once for a half-start [16:56:01.0000] <webben> *half-star [16:56:02.0000] <gsnedders> /me sings, "Happy birthday to me!" [16:56:03.0000] <webben> happy birthday gsnedders [16:57:00.0000] <Philip`> gsnedders: One more year closer to old age [16:59:00.0000] <webben> Philip`: there's basically no speech recognition for the Linux platform, unfortunately. [16:59:01.0000] <webben> Nobody's even licencing the Nuance engine AFAIK. 2008-04-20 [17:04:00.0000] <Hixie> might be a good idea to consider what the ideal ui for this rating control would be, for the non-visual user [17:05:00.0000] <othermaciej> webben: I don't think tristate is the right model for that [17:05:01.0000] <othermaciej> the mixed state of tristate checkboxes is supposed to be for when they represent state of a group of things that is currently mixed [17:06:00.0000] <Philip`> "Please say your rating of this image. [wait for voice input]" [17:06:01.0000] <Philip`> Uh [17:06:02.0000] <Philip`> s/image/movie/ [17:07:00.0000] <jruderman> does it know how to map "lame" and "awesome" to 1-5? [17:07:01.0000] <Philip`> It could be done like the old text adventure games, where you can define synonyms for all the inputs [17:08:00.0000] <jruderman> "Sorry, 'gay' is not a rating." [17:19:00.0000] <webben> jruderman: well, if aria resolved the widget to a select you could have that [19:15:00.0000] <Hixie> Philip`: voice output doesn't mean voice input [19:17:00.0000] <Philip`> Hixie: It also doesn't mean not voice input, so voice input is still an option for the UI [19:18:00.0000] <Philip`> and I never meant to imply that that was the only option [19:23:00.0000] <Hixie> typically non-video users don't use voice input, at least as far as i've seen, any more than video users [19:31:00.0000] <Mook> hmm, how do I figure out if a <video> is actively playing? specifically, I can't figure out the last two constraints in http://www.whatwg.org/specs/web-apps/current-work/#actively [19:33:00.0000] <Hixie> Mook: looking... [19:33:01.0000] <Mook> thanks :) [19:35:00.0000] <Mook> hmm, I suppose I could keep the error thing using a complicated system of listeners and hope I don't get out of sync (since HTMLMediaElement.error is the _last_ error, regardless if the video is now playing fine) [19:35:01.0000] <Hixie> Mook: what's the use case? [19:35:02.0000] <Hixie> i.e. why do you want to know? [19:36:00.0000] <Mook> Hixie: oh, just wrapping <video> to a different interface as a playback engine for something else [19:36:01.0000] <Mook> so, http://hq.songbirdnest.com:8080/source/xref/components/playlistplayback/public/sbICoreWrapper.idl#57 :) [19:36:02.0000] <Hixie> sure but what part of that interface needs to know if the video is actively playing? [19:36:03.0000] <Hixie> (as opposed to anything else in particular) [19:37:00.0000] <Mook> I think it's being used for some sort of UI thing or something. I don't have to care, that's what IDLs are for :p [19:37:01.0000] <Hixie> oh, you're trying to port one API to another [19:37:02.0000] <Hixie> i usee [19:37:03.0000] <Hixie> see even [19:37:04.0000] <Hixie> i don't think there's any easy to way to determine whether you're playing or not [19:38:00.0000] <Hixie> it's not clear to me what "playing" really means in the API you mention above though [19:38:01.0000] <Mook> even though it's defined as one of the terms to be used in the spec. fun! :) [19:38:02.0000] <Hixie> i.e. if you're playing when you're paused, are you also playing when you're stalled? [19:39:00.0000] <Mook> I believe in this API, yes [19:39:01.0000] <Mook> I think it's playing = !stopped. hmm, I suppose I can try that instead... [19:40:00.0000] <Hixie> yeah it's not clear to me that "playing" in your API is the same as "actively playing" in the HTML5 API [19:41:00.0000] <Hixie> actively playing in the HTML5 API is really just defined so that there's a way for me to say when the playback position should change [19:41:01.0000] <Hixie> you shouldn't really need to ever ask whether it's actively playing or not in theory [19:41:02.0000] <Hixie> you'll get timeupdate events at regular intervals, and other events when other interesting things happen [19:44:00.0000] <Mook> right. so I was just dumb in reading the non-whatwg API, and I really wanted to know currentSrc != "" && !ended && played.length > 0. thanks again :) [19:57:00.0000] <Hixie> Mook: :-) [21:19:00.0000] <h3h> would comments on an <article> belong in an <aside>? [21:21:00.0000] <Hixie> no [21:21:01.0000] <Hixie> <article> [21:21:02.0000] <Hixie> the spec mentions this case iirc [21:21:03.0000] <h3h> ah indeed. I see now [21:21:04.0000] <h3h> interesting [21:24:00.0000] <h3h> has anyone written an article along the lines of "How to mark up a blog in HTML5?" [21:24:01.0000] <h3h> if not, I might [21:25:00.0000] <h3h> s/?"/"?/ [21:27:00.0000] <Hixie> nobody has to my knowledge [21:29:00.0000] <h3h> hmm ok. I'll make an attempt at marking it up, then you guys can critique before I publish anything [21:29:01.0000] <Hixie> :-) [22:46:00.0000] <h3h> my first crack: http://pastie.caboo.se/183701 [22:46:01.0000] <h3h> it validates with Henri's validator, but I'm not convinced it's at all optimal [23:12:00.0000] <myakura> h3h: <span datetime ...> should be marked up with <time datetime ...> [23:12:01.0000] <h3h> ah good call [23:14:00.0000] <myakura> and charset, we now write it as <meta charset="UTF-8"> [23:14:01.0000] <h3h> got it [23:15:00.0000] <h3h> wasn't sure if there was a place for <section> anywhere [23:15:01.0000] <myakura> yeah, that's what i'm been wondering [23:15:02.0000] <myakura> and the same goes to <nav> [23:15:03.0000] <h3h> right. [23:16:00.0000] <myakura> oops s/span datetime/span class=datetime/ [23:17:00.0000] <h3h> yep :) [23:17:01.0000] <h3h> http://pastie.caboo.se/183712 [23:20:00.0000] <myakura> re sectioning, http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sections.html#headings0 might help [23:22:00.0000] <h3h> yeah, that seems to indicate that using <body> as an implicit global section is fine [23:28:00.0000] <h3h> yeah: http://www.whatwg.org/specs/web-apps/current-work/multipage/section-sections.html#distinguishing [23:28:01.0000] <h3h> spells out exactly what I implemented, I think [00:18:00.0000] <hsivonen> it might be prudent to avoid an article about marking up a blog in HTML5 until there are UAs that support the semantics of the new elements [00:19:00.0000] <hsivonen> otherwise a zillion bloggers create a legacy of a bunch of new divs [00:23:00.0000] <othermaciej> which new elements? [00:23:01.0000] <othermaciej> I don't expect to be doing much with, say, "section" other than making it display as a block and maybe giving it a special accessibility role [00:23:02.0000] <othermaciej> it might actually end up with the same role as div though, at least on mac [00:31:00.0000] <hsivonen> othermaciej: section participates in the outline algorithm [00:32:00.0000] <hsivonen> and article should presumably affect the start-of-content marker in Opera Mobile [00:36:00.0000] <othermaciej> I don't really understand what the outline algorithm is supposed to do [00:36:01.0000] <othermaciej> it's spec'd in great detail but there's no requirement for what the UA is supposed to do with it [00:36:02.0000] <othermaciej> I don't think Safari presents a document outline to VoiceOver [00:44:00.0000] <hsivonen> othermaciej: isn't it a bug if it doesn't? [00:45:00.0000] <othermaciej> is it? [00:45:01.0000] <hsivonen> wouldn't you want to be able to browse the outline and navigate directly to headings from the outline? [00:45:02.0000] <othermaciej> I don't know that much about the VoiceOver UI [00:47:00.0000] <othermaciej> I can't figure out how to get it to read me a document [00:49:00.0000] <hsivonen> I think it doesn't have a "read onwards from here until I press a key". [00:49:01.0000] <hsivonen> that's really annoying [00:50:00.0000] <othermaciej> clearly it has some notion of navigation, but I don't know how to move the "voiceover cursor" the docs mention [00:51:00.0000] <hsivonen> othermaciej: if you focus the entire HTML content area and press VO-a, it'll read the whole document [00:51:01.0000] <hsivonen> where VO is ctrl-option [00:51:02.0000] <hsivonen> the cursor moves with VO-arrow keys [00:52:00.0000] <hsivonen> VO-shift-up/down navigates on the third axis [00:52:01.0000] <hsivonen> it appears that Safari+VO doesn't tell the user about tables [00:53:00.0000] <hsivonen> (I'd have non-blind use cases for "read onwards from here until I press a key") [00:55:00.0000] <othermaciej> where are the voiceover key commands documented? [00:55:01.0000] <othermaciej> do you know? [00:55:02.0000] <othermaciej> is it in help somewhere? [00:55:03.0000] <othermaciej> yeah, I don't think we expose tables properly (yet) [00:55:04.0000] <hsivonen> so of them are in a PDF from apple.com [00:55:05.0000] <hsivonen> s/so/some/ [00:55:06.0000] <othermaciej> unfortunately I think the AX API's table model may be based on RTF tables instead of HTML tables [00:56:00.0000] <hsivonen> some are in the voiceover tutorial utility which runs at installation and is available for later download from apple. [00:56:01.0000] <hsivonen> and then there's the help menu in the voiceover utility [00:56:02.0000] <hsivonen> I guess that's meant as the primary reference that comes with the software [00:57:00.0000] <hsivonen> and then webben gave pointers to third-party guides a couple of days ago [00:58:00.0000] <hsivonen> /me has too many browser tabs [00:59:00.0000] <hsivonen> othermaciej: http://krijnhoetmer.nl/irc-logs/whatwg/20080413#l-152 [01:01:00.0000] <hsivonen> Opera exposes tables to VO [01:03:00.0000] <hsivonen> the VO cursor's visual presentation breaks in Opera when in table [01:59:00.0000] <MikeSmith> I'm wondering if it should be considered an authoring conformance or abuse to put into a data-* attribute some content that is intentionally meant to be user visible (that ends up getting rendered in the main text flow of the page) [02:00:00.0000] <othermaciej> things in a data-* attribtue won't end up user visible, will they? [02:01:00.0000] <othermaciej> or do you mean put things in there that get extracted by script and then are made visible? [02:13:00.0000] <annevk> they won't (unless you use script / css / xbl ) [02:16:00.0000] <MikeSmith> othermaciej, anne: I meant the latter (extraction by a script) [02:17:00.0000] <MikeSmith> I can imagine people dropping content into data-* attributes because they want their source to validate but can't find anywhere appropriate to put it [02:17:01.0000] <othermaciej> it's no worse than retrieving content using XHR and dynamically inserting it into the page [02:18:00.0000] <othermaciej> people do use script for validation "workarounds" now [02:18:01.0000] <othermaciej> HTML5 imposes conformance requirements on the DOM tree, not just the markup [02:18:02.0000] <MikeSmith> OK [02:18:03.0000] <othermaciej> I'm not sure if any HTML5 validator will also act as a live DOM validator [02:18:04.0000] <othermaciej> but it would be cool [02:19:00.0000] <annevk> you could have plugins for browsers I suppose [02:20:00.0000] <hsivonen> othermaciej: I think it would be feasible to make a browser plug-in serialize the DOM and send it to a Validator.nu instance [02:20:01.0000] <hsivonen> (assuming that people don't want to build an in-process validator from scratch) [02:20:02.0000] <othermaciej> how does validator.nu get the source of a page in the first place? [02:20:03.0000] <othermaciej> in theory it could use a browser engine on the back end to build a DOM and validate that [02:20:04.0000] <othermaciej> though that would be a little silly [02:21:00.0000] <hsivonen> othermaciej: there are four ways to get the source: 1) get a URI and dereference, 2) textarea, 3) form-based file upload and 4) POST as entity body [02:22:00.0000] <annevk> it would be cooler if validation was live [02:22:01.0000] <hsivonen> #4 could work with XHR [02:22:02.0000] <annevk> so you interact with the page and you get errors logged to your developer tools [02:22:03.0000] <othermaciej> yeah, validation built into dev tools is cool of course [02:22:04.0000] <hsivonen> also, if you put V.nu in the browser process via JNI, you could traverse the DOM in C++ and fire SAX events to Java [02:23:00.0000] <othermaciej> but tying it to browsers means you might get wrong results based on the bugs of your particular browser [02:23:01.0000] <othermaciej> you'd want your browser to at least have HTML5-compatible parsing for starters [02:24:00.0000] <othermaciej> (or at least one good enough to correctly parse conforming HTML5) [02:26:00.0000] <hsivonen> and since the validation step doesn't need more than one thread per document, cutting out JNI and given C++ a GCC ABI should be doable with gcj [02:26:01.0000] <hsivonen> but with XHR, you can sidestep all the JNI and gcj trouble [02:26:02.0000] <hsivonen> s/given/giving/ [02:28:00.0000] <annevk> othermaciej, yeah, browsers would need to be fixed :) [02:28:01.0000] <othermaciej> I think if we integrated validator.nu into WebKit's dev tools it would probably be IPC to a separate process, or integration with the public server [02:28:02.0000] <othermaciej> (and integrating it certainly isn't out of the question) [02:30:00.0000] <annevk> yeah, since it's just a bunch of API calls maybe it isn't too bad [02:30:01.0000] <hsivonen> I been considering an idea of transporting line/col location data in XML comments over the process boundary [02:31:00.0000] <hsivonen> since you'd want to correlate errors with the data you started with somehow [02:32:00.0000] <othermaciej> that is true [02:40:00.0000] <hsivonen> For correlating with DOM nodes, you'd fire one event per node, set line to 1 and give the column a unique node-ID [02:45:00.0000] <othermaciej> you could just give each node a unique start line [02:45:01.0000] <othermaciej> (would have to account for newlines in text nodes or the like though) [02:46:00.0000] <hsivonen> I think a comment-based locator override would be more reliable [02:47:00.0000] <hsivonen> that way you could associate any numbers you want with an event [02:47:01.0000] <hsivonen> the problem with the apporoach I have in mind is that it uses XML to transport a DOM snapshot and XML can't transport all HTML DOMs [02:48:00.0000] <hsivonen> for vtab and ff, it isn't a problem for validation to send spaces instead [02:48:01.0000] <hsivonen> for crazy non-conforming element/attribute names, letting early failure to happen in the browser's serializer would be acceptable [02:49:00.0000] <hsivonen> I haven't yet investigated what happens if one tries to send an HTML DOM with XHR [02:49:01.0000] <hsivonen> it would be convenient if an XHTML serialization came out [02:49:02.0000] <othermaciej> HTML can't represent all HTML DOMs either [02:50:00.0000] <othermaciej> though maybe all those cases are also non-conforming [02:50:01.0000] <annevk> I hope not [02:51:00.0000] <hsivonen> annevk: I think they are since late December [02:51:01.0000] <hsivonen> annevk: except WF2 stuff, but WF2 hasn't been revised since December [02:51:02.0000] <annevk> I think SVG is still allowed DOM-wise for instance by the specification. But you can't serialize it... [02:52:00.0000] <hsivonen> I'm pretending that SVG is still in the spec :-) [02:52:01.0000] <hsivonen> but anyway, I think for IPC, XML would work better than text/html [02:53:00.0000] <othermaciej> would an SVG DOM that wasn't a possible output of the algorithm be conforming DOM-wise? [02:53:01.0000] <hsivonen> having an XML5 parser would fix the remaining issues [02:53:02.0000] <othermaciej> I would hope yes, but I'm not sure if the spec says/said that [02:53:03.0000] <hsivonen> I think it would be conforming. but I haven't look what the spec says [04:21:00.0000] <annevk> what might be useful for the alt= debate is finding sites that validate as HTML 4 or XHTML 1 something and have <img alt> somewhere [04:22:00.0000] <annevk> then do a content study on the values [04:22:01.0000] <annevk> given that 95% is invalid per some measure this may be hard, but maybe the W3C validator should be used as baseline [04:26:00.0000] <Lachy> annevk, do you mean like finding poor quality values like these alt="Wheel Chair Icon: Universal Icon Symbol of Accessibility" or alt="Magnifying Glass: Universal Icon Symbol for Search" http://www.webnauts.net/ [04:27:00.0000] <Lachy> or like these "howlers" http://web.archive.org/web/20060101014208/http://ppewww.ph.gla.ac.uk/~flavell/alt/alt-text.html#howlers [04:32:00.0000] <annevk> yes [04:34:00.0000] <Lachy> though, it is difficult to say whether any given poor quality alt text was supplied to address validity, SEO or just a poor, though honest attempt at addressing accessibility. Though it's clear that all of those reasons do occur [04:35:00.0000] <Lachy> I'm pretty sure that webanauts example was a misguided attempt to address accessibility [04:35:01.0000] <Lachy> but alt="spacer" would clearly be for validity [04:36:00.0000] <Lachy> or perhaps not. I don't know. [04:44:00.0000] <hsivonen> annevk: are you referencing HTML5 in your XTech paper? if you are, which version are you referring to? [04:51:00.0000] <annevk> i probably will, yes [04:52:00.0000] <annevk> i guess the w3c editor's draft and the whatwg multipage or something, dunno really [04:52:01.0000] <annevk> i'm writing my paper at the moment [04:53:00.0000] <annevk> are you giving an update on the validator? [04:55:00.0000] <annevk> the only problem is that nobody is giving an update on HTML5... [04:58:00.0000] <hsivonen> annevk: yes, I'll give an update on the validator [04:59:00.0000] <annevk> maybe i should submit a lightning talk on html5 [04:59:01.0000] <hsivonen> annevk: that would be a good idea [04:59:02.0000] <annevk> 20 slides on 20 new features since last year :D [05:00:00.0000] <hsivonen> hmm. looks like my last year's paper never got to the XTech 2007 site. [05:08:00.0000] <annevk> e-mailed a proposal for a lightning talk [05:15:00.0000] <hsivonen> /me doesn't like reference styles that obscure given names [05:15:01.0000] <hsivonen> is it E. R. Harold or E. Rusty Harold? that is, is Rusty a middle name or a part of the surname? [05:16:00.0000] <hsivonen> /me doesn't know what to do about Norwegian or Danish three-part names, either [05:17:00.0000] <hsivonen> hmm. he sometimes uses "Elliotte Harold", so I'm guessing Rusty is not an essential part of surname [05:19:00.0000] <Philip`> hsivonen: Rather than using text/html or XML for IPC, would it be reasonable to use some kind of serialised-SAX format (or make up one if it doesn't exist yet) to avoid all the limitations of HTML and XML parsers? [05:19:01.0000] <annevk> hsivonen, it could be part of the given name too [05:21:00.0000] <hsivonen> Philip`: well, given that XML parsers exist and an XML5 parser might exist, inventing yet another infoset serialization seems silly [05:25:00.0000] <Philip`> hsivonen: But XML parsers won't work, since they'll turn most pages into a single "fatal error: XML is not well-formed because of this thing here" message when the validator should instead try to identify as many errors as possible [05:26:00.0000] <hsivonen> Philip`: wouldn't XML5 fix that? [05:26:01.0000] <Philip`> XML5 doesn't exist [05:26:02.0000] <annevk> some kind of serialised-SAX format doesn't either [05:27:00.0000] <hsivonen> Philip`: yeah but the options are making XML5 exist or making yet another SAX serialization exist [05:27:01.0000] <annevk> XML5 is arguably more defined than the "some kind of serialised-SAX format [05:27:02.0000] <annevk> " [05:28:00.0000] <Philip`> XML5 is harder to bring into existence than some other totally-new unconstrained format, because it has to work within the limitations of being compatible with XML 1.0 [05:30:00.0000] <Philip`> and it's not that hard to define and parse some format like <element loc="1:1-2:20"><name>html</name><attribute><name>oops<char code="0c"/></name><value>that wasn't XML</value></attribute></element> [05:35:00.0000] <jgraham__> Couldn't you use something like the sdl thing that zcorpan developed? [05:37:00.0000] <Philip`> (http://simon.html5.org/specs/sdf ) [05:40:00.0000] <Philip`> That doesn't really exist either :-) [05:51:00.0000] <hsivonen> Philip`: from a parsing point of view, the easiest format would be a binary format which had an opcode for each event followed by known fields [05:51:01.0000] <hsivonen> Philip`: string would be 32-bit lenth followed by UTF-16BE data [05:59:00.0000] <annevk> It's more likely we see XML5 getting adoption than any of the named alternatives... [05:59:01.0000] <annevk> (Though for testcase purposes SDF is obviously preferable.) [06:00:00.0000] <Philip`> Adoption doesn't matter, since this is private communication between two programs written by the same people [06:01:00.0000] <Philip`> (and since widespread adoption in the future is not helpful when you want an implementation now) [06:09:00.0000] <Philip`> SDF is unsuitable for serialising arbitrary DOMs, since worst-case behaviour is that the minimal SDF representation has size O(n^2) in the size of the DOM [06:09:01.0000] <Philip`> (for a document like <x><x><x><x><x>....</x>...) [06:51:00.0000] <annevk> is Safari already cross-document messaging enabled? [06:51:01.0000] <hsivonen> /me experiences a horribly Feissian moment. Congratulates self about recent backup. [06:56:00.0000] <Philip`> hsivonen: It was, like, beep, beep, beep, beep, beep? [06:57:00.0000] <hsivonen> Philip`: It devoured my paper! [07:03:00.0000] <annevk> is it backed up entirely? [07:05:00.0000] <hsivonen> annevk: I lost about three paragraphs [07:06:00.0000] <hsivonen> I then discovered that my new NeoOffice setup didn't have automatic backups on by default... [07:22:00.0000] <Philip`> Sounds like a regression bug introduced during the move from typewriters to word processors [07:29:00.0000] <annevk> oh fun, Doug Crockford will be at XTech [07:29:01.0000] <annevk> guess i better address JSONRequest in my presentation [07:35:00.0000] <hsivonen> Philip`: I have more than one device producing keystrokes and I held the command key on one while another went crazy and produced a lot of keystrokes including a to select all, something to replace all with and s to save. [07:36:00.0000] <Philip`> Does 'save' clear the undo stack? [07:36:01.0000] <hsivonen> Philip`: no, but I didn't realize it had saved on top of all damage, so when Undo didn't look right, I reverted to saved... [07:37:00.0000] <Philip`> annevk: Safari 3.1.1 has window.postMessage === undefined, so I guess that means it's not present and enabled [07:40:00.0000] <Philip`> Hmm, recursive postMessage makes Opera unhappy [07:40:01.0000] <Philip`> /me kills it once it reaches 1.5GB of RAM [07:40:02.0000] <annevk> thanks [07:45:00.0000] <Philip`> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0D%0A%3Cscript%3E%0D%0Afunction%20f()%20%7B%20window.postMessage('hello')%20%7D%0D%0Awindow.addEventListener('message'%2C%20f%2C%20false)%3B%0D%0Af()%3B%0D%0A%3C%2Fscript%3E [07:45:01.0000] <Philip`> Opera does seem pretty fast at using up all my memory [08:10:00.0000] <gsnedders> Browsers suck. [08:11:00.0000] <Philip`> 90% do, but there are few enough relevant browsers that that's equivalent to 100% [08:13:00.0000] <gsnedders> Philip`: my new print styles on my blog only properly work in Prince. Nothing else. [08:13:01.0000] <gsnedders> Philip`: Opera is the only browser anywhere close. [08:15:00.0000] <Philip`> Just use <link rel=alternate title=Print href=page.pdf> [08:16:00.0000] <Philip`> Also, who ever prints blogs? :-p [08:18:00.0000] <gsnedders> Hey, I have interesting stuff on my blog :P [08:19:00.0000] <Philip`> Being interesting doesn't mean anyone will want to print it [08:30:00.0000] <gsnedders> Philip`: I do… occasionally. [08:31:00.0000] <gsnedders> Philip`: And on grounds that nobody apart from me prints it out ever, I can use a stylesheet only supported fully by Prince :P [08:33:00.0000] <annevk> printing is bad for the trees [08:34:00.0000] <annevk> yet everytime i carefully not print my e-tickets they give me a paper one at the airport anyway... [08:35:00.0000] <gsnedders> annevk: sadly, I can't memorise entire essays that need to be handed in on paper [08:35:01.0000] <annevk> give them a floppy :) [08:36:00.0000] <Philip`> Hand in a small fragment of paper with a URL printed on it, and say it's semantically equivalent to the entire essay [08:36:01.0000] <annevk> gsnedders, congrats btw [08:37:00.0000] <Philip`> /me doesn't actually have a way to read floppy disks [08:37:01.0000] <annevk> cheap usb stick is prolly better these days [08:37:02.0000] <gsnedders> annevk: thx [08:37:03.0000] <gsnedders> Philip`: hah. [08:38:00.0000] <gsnedders> /me blames the SQA's requirements [08:38:01.0000] <annevk> Philip`, I like that idea [08:38:02.0000] <gsnedders> annevk: then what do I do about the exams on paper? [08:39:00.0000] <annevk> gsnedders, you're not the primary person responsible for using that paper [08:39:01.0000] <annevk> so either you try to fight the system or leave it alone I guess :) [08:39:02.0000] <gsnedders> annevk: The same applies for all the other things that needed to be handed in on paper, though :( [08:39:03.0000] <annevk> in those cases it's way more trivial to do something else [08:39:04.0000] <annevk> and see what happens [08:40:00.0000] <Philip`> gsnedders: You could print on vellum instead [08:40:01.0000] <gsnedders> annevk: half those things need to be sent off to the exam board, though, so I wouldn't know until it was to late, really [08:42:00.0000] <gsnedders> /me finds horrid photo of himself on bebo [08:43:00.0000] <annevk> geez, more hasFeature proposals [08:43:01.0000] <gsnedders> what do you expect? :P [08:44:00.0000] <gsnedders> /me wonders whether to go out with new lens on camera [08:44:01.0000] <jgraham> /me suggests gsnedders etches his essays onto vinyl and them records himself reading the essay as the sound track on the vinyl for accessibility purposes [08:45:00.0000] <jgraham> s/track// [08:45:01.0000] <gsnedders> jgraham: awesome. [08:45:02.0000] <jgraham> gsnedders: Which lens [08:45:03.0000] <jgraham> ? [08:45:04.0000] <gsnedders> jgraham: 10–22mm EF-S [08:45:05.0000] <Philip`> hasFeature only has problems because the feature support claims are made by the same people who implemented the feature, so they have a vested interest in claiming it is supported, and the return value is fixed at the same time as the feature is released, which may be before significant bugs are found [08:46:00.0000] <jgraham> gsnedders: Yes. [08:46:01.0000] <gsnedders> jgraham: I spent far too long discussing with cwilso whether to get that or the 70–300mm EF lens [08:46:02.0000] <Philip`> so the solution is a decentralised RDF-based model for specifying which browsers support which features [08:46:03.0000] <jgraham> gsnedders: He was right :) [08:47:00.0000] <gsnedders> jgraham: :) [08:47:01.0000] <gsnedders> jgraham: I know what I'm asking for my 17th birthday now :P [08:49:00.0000] <annevk> Philip`, your logic is getting more sloppy lately [08:49:01.0000] <jgraham> gsnedders: I have a theory that the Canon 70-300mm might not be worthwhile (although it depends what you are doing I guess). At least I hardly ever use my equivalent sigma lens because the range of apertures and lack of IS means that it requires really bright light, besides which it's just not that sharp [08:49:02.0000] <annevk> Philip`, though I suppose you could blame the channel :p [08:50:00.0000] <Philip`> annevk: What's wrong with my logic? :-( [08:50:01.0000] <jgraham> And I think that Canon falls into the same bracket [08:50:02.0000] <jgraham> unless it's not the one I'm thinking of [08:50:03.0000] <annevk> Philip`, your premise seems to be that hasFeature is actually needed [08:50:04.0000] <annevk> which is not necessarily true [08:51:00.0000] <Philip`> annevk: Some way of detecting that a feature is present and usable is actually needed [08:52:00.0000] <jgraham> /me suggests replacing hasFeature with featureHasSignificantBugs which would be defined to always return true [08:53:00.0000] <Philip`> and simply detecting the existence of the API is insufficient when you want to know whether the feature is usable [08:53:01.0000] <annevk> Philip`, also, with RDF you have two problems, so that doesn't help :) [08:53:02.0000] <Philip`> annevk: Two small problems are better than one large problem [08:54:00.0000] <jgraham> Philip`: RDF is a large problem :) [08:54:01.0000] <annevk> /me has difficulty verifying all Philip`'s axioms [08:55:00.0000] <Philip`> annevk: Axioms are by definition unverifiable - if you could verify them using a different set of axioms, then they wouldn't be axioms any more :-p [08:55:01.0000] <annevk> for instance, I typically assume support for a feature is present, when writing HTML, CSS, or JavaScript [08:55:02.0000] <annevk> Philip`, oops, your statements [08:56:00.0000] <annevk> and most often that is perfectly fine [08:56:01.0000] <jgraham> gsnedders: (to finish my thought from before if I were buying a telephoto lens today I would look seriously at the Canon 70-200 f/4 IS which should be sharp and work reasonably in more lighting conditions than the 70-300mm) [08:57:00.0000] <jgraham> Oh, wait the 70-300mm is one of the ones with IS, I was thinking of the 75-300mm [08:57:01.0000] <jgraham> Ignore me [08:57:02.0000] <jgraham> /me stops talking about cameras now [08:58:00.0000] <Philip`> annevk: Sometimes it's not perfectly fine, and you really do want to know whether it's safe (better performing, less buggy, etc) to use a browser's feature rather than emulating that feature with some other mechanism, particularly if you're writing cross-browser libraries [08:59:00.0000] <annevk> in those cases resorting to browser sniffing seems better as that's more reliable [08:59:01.0000] <annevk> and also gives more accurate information about perf etc. because of impl differences, etc. [08:59:02.0000] <Philip`> The problem with browser sniffing is that the sniffing code will be obsolete once a new browser is released [09:00:00.0000] <Philip`> and that problem can be avoided by using a fixed piece of code that never needs updating, and an external source of frequently-updated data that will ensure your code handles all browsers [09:00:01.0000] <annevk> if the new browser has bugs in its feature sniffing code you'll have issues too [09:01:00.0000] <annevk> it's not exactly black-white and since I think you actually agree with me and just love to argue i'll stop now [09:02:00.0000] <Philip`> I might agree but be wrong, so it's useful to consider alternatives :-) [09:04:00.0000] <jgraham> Philip`: It seems like you could collate, and update the data you want yourself and load it via XMLHttpRequest [09:05:00.0000] <jgraham> (You would need a way of determining a unique browser fingerprint that would deal with new versions well) [09:09:00.0000] <Philip`> jgraham: You'd probably also want to share the effort of updating the data between many people, rather than making everyone do the work individually [09:11:00.0000] <Philip`> (...kind of like WURFL, I guess) [10:42:00.0000] <mpt> hasFlavor() [10:42:01.0000] <h3h> you.hasAFlavor()? [10:43:00.0000] <mpt> true [10:44:00.0000] <mpt> if you.hasAFlavor() {return 'nom nom nom'} [10:48:00.0000] <gsnedders> jgraham: yeah, the 70–300mm has been written up _really_ well, as being as good if not better than a lot of L lenses [11:08:00.0000] <jgraham> gsnedders: It is very inconsiderate of Canon to make a crappy 75-300mm and a good 70-300mm and to expect me to remember the difference :) [11:08:01.0000] <gsnedders> jgraham: :) [11:08:02.0000] <gsnedders> Time for me to look at the photos he took in town [11:09:00.0000] <gsnedders> Advantage of living in a touristic town: you can easily try out cameras with photogenic stuff :P [11:10:00.0000] <jgraham> gsnedders: I guess I have no excuse in Cambridge [11:11:00.0000] <gsnedders> jgraham: no excuse at all [11:11:01.0000] <gsnedders> 112 photos [11:12:00.0000] <gsnedders> the sheer size of the field of view never stopped amazing me [11:14:00.0000] <jgraham> /me expects to see some on flickr :) [11:14:01.0000] <takkaria> it is a law that wherever there are geeks, there are cameras [11:15:00.0000] <gsnedders> jgraham: yeah, once I've cut most of them down to a far smaller number [11:15:01.0000] <gsnedders> (i.e., deleting the duplicates) [11:16:00.0000] <jgraham> gsnedders: Good. There was no way I was going to look through 112 photos [11:16:01.0000] <jgraham> :) [11:16:02.0000] <gsnedders> jgraham: There are c. 460 photos by me from Paris on Flickr :P [11:16:03.0000] <gsnedders> (from one week) [11:16:04.0000] <gsnedders> On one day on that week, I took over 1.1k [11:16:05.0000] <gsnedders> Actually, no [11:17:00.0000] <gsnedders> I wasn't anywhere near that high [11:17:01.0000] <gsnedders> Maybe 600 on one day [11:17:02.0000] <gsnedders> But normally around 500 a day [11:18:00.0000] <jgraham> People have different attitudes to their flickr stream. I would never consider putting 400+ photos up in one go; instead I'd probably try (often in vain) to select 4 that I didn't *hate* and put those up... [11:18:01.0000] <gsnedders> Ergh. I've got a shadow of me in one. [11:19:00.0000] <h3h> anyone up for an HTML5 markup usage critique? http://pastie.caboo.se/183712 [11:19:01.0000] <gsnedders> jgraham: I just wait until I've edited all the photos I've taken from a specific event, and labelled them, then upload all but the really bad ones [11:21:00.0000] <takkaria> h3h: you probably want <nav> instead of <ul id="navigation"> [11:21:01.0000] <jgraham> h3h: You're using <header> incorrectly [11:21:02.0000] <jgraham> I think [11:21:03.0000] <gsnedders> /me looks then realises he can't be bothered on his birthday [11:22:00.0000] <h3h> <nav> can't go inside of <header> [11:23:00.0000] <h3h> so unless <header> is wrong, I'm unsure [11:23:01.0000] <jgraham> h3h: Yeah, I think the header should just contain the title and subtitle (which you don't have) [11:23:02.0000] <annevk> h3h, make <nav> and <header> siblings? [11:23:03.0000] <jgraham> So I don't think you need <header> at all [11:23:04.0000] <h3h> just the h1 inside body is implicit header, right? [11:24:00.0000] <jgraham> h3h: It heads the body [11:24:01.0000] <h3h> right, which is the desire [11:24:02.0000] <jgraham> h3h: <div id="comments"> should probably be <section> [11:25:00.0000] <gsnedders> jgraham: 22 photos are good, and one bad one (so 22 get uploaded) [11:25:01.0000] <h3h> got it [11:26:00.0000] <h3h> does <b class="author"> seem reasonable? [11:26:01.0000] <h3h> it feels weird [11:26:02.0000] <h3h> also the <div class="content"> feels weird for the post and the comments [11:26:03.0000] <jgraham> I was going to say <div class="content"> seems unnecessary [11:26:04.0000] <gsnedders> h3h: <div class="content"> -> <section>? [11:27:00.0000] <h3h> then I have <section><article><section> [11:27:01.0000] <h3h> I guess that works [11:27:02.0000] <gsnedders> But I think they are probably useless [11:27:03.0000] <gsnedders> I'd probably just scrap them [11:27:04.0000] <h3h> I just need a container for style hooks [11:27:05.0000] <jgraham> h3h: I think <section><article><section> is OK [11:27:06.0000] <gsnedders> I'd lean towards <section> [11:27:07.0000] <h3h> to separate the data portion (typed text) from the UI portion [11:28:00.0000] <h3h> then I have headerless sections too [11:28:01.0000] <h3h> the spec says sections "typically [have] a header" [11:29:00.0000] <jgraham> The content area could (in principle) have a subheading like "Post" which is actually unneeded because it's implicitly obvious [11:29:01.0000] <h3h> yeah [11:39:00.0000] <h3h> Henri's validator is now failing to parse my datetime strings, though it worked last night and they adhere to the spec [11:41:00.0000] <h3h> http://pastie.caboo.se/183875 [11:41:01.0000] <h3h> now div-free [11:42:00.0000] <h3h> which feels eerily similar to being "table-free" several years ago [11:45:00.0000] <hsivonen> h3h: which dates? [11:45:01.0000] <hsivonen> h3h: if on ins/del, it's possible that Hixie changed a spec very recently [11:46:00.0000] <Dashiva> h3h: I don't see <header> there :) [11:47:00.0000] <hsivonen> h3h: oh, <time> [11:47:01.0000] <hsivonen> the spec before Z is the likely culprit [11:48:00.0000] <hsivonen> weird the spec indeed allows space there [11:50:00.0000] <hsivonen> Hixie: has "in attribute variant" of vaguer moments in time always allowed space characters [11:51:00.0000] <gsnedders> /me realises he can't be bothered to properly tag all his photos [11:51:01.0000] <hsivonen> Hixie: starting vaguer moments in attributes with skipping whitespace and letting that be valid is inconsistent with everything else [11:51:02.0000] <Dashiva> gsnedders: why do you hate accessibility :( [11:52:00.0000] <gsnedders> Dashiva: Because I'm lazy? [11:52:01.0000] <gsnedders> Dashiva: the new print styles for my blog break badly in most browsers :P [11:52:02.0000] <gsnedders> Prince ftw. [11:53:00.0000] <Dashiva> but that's equal-opportuntity breakage ;) [11:53:01.0000] <gsnedders> jgraham: http://flickr.com/photos/gsnedders/2427932055/ — that's the first one up [11:54:00.0000] <takkaria> Dashiva: even if gsnedders hates a11y, then flickr hates it more, so his hate is largely irrelevant [11:55:00.0000] <gsnedders> takkaria: No, I don't hate it. I'm just lazy when it comes to making purely visual content accessible to those who can't see/ [11:55:01.0000] <takkaria> gsnedders: I should have included <irony> tags [11:55:02.0000] <Dashiva> I too, probably [11:55:03.0000] <gsnedders> takkaria: Ah. My adult ones aren't tuned yet. [11:55:04.0000] <hsivonen> h3h: Hixie hasn't changed the spec lately, so I'm pretty sure I have outstanding feedback and I've implemented my opinion optimistically [11:55:05.0000] <gsnedders> takkaria: They've only been in use for just over 15 hours [11:56:00.0000] <takkaria> heh, just turned 18? [11:56:01.0000] <gsnedders> takkaria: 16 [11:56:02.0000] <takkaria> ah, nice. :) happy birthday [11:56:03.0000] <hsivonen> gsnedders: happy birthday [11:56:04.0000] <gsnedders> thx, both. [11:56:05.0000] <gsnedders> /me goes to get supper before heading off the cinema [11:58:00.0000] <hsivonen> h3h: yeah, I have outstanding feedback in Hixie's microsyntaxes-dates folder [12:05:00.0000] <hsivonen> I need to keep better track in my source comments about things that aren't per current spec but are per feedback [12:14:00.0000] <h3h> heh, cool [12:16:00.0000] <h3h> Dashiva: jgraham convinced me to take the <header> out :) [12:20:00.0000] <gsnedders> jgraham: http://www.flickr.com/photos/gsnedders/sets/72157604643134411/ [12:20:01.0000] <gsnedders> (It's now finished uploading) [12:21:00.0000] <Philip`> gsnedders: I think you need to add some starburst lens flare effects to make the photos more exciting [12:21:01.0000] <gsnedders> heh. [12:21:02.0000] <takkaria> gsnedders: do you have a polariser? [12:22:00.0000] <gsnedders> takkaria: no [12:22:01.0000] <jgraham> gsnedders: I think http://www.flickr.com/photos/gsnedders/2428004105/in/set is probably my fav. [12:22:02.0000] <annevk> gsnedders, try moving the horizon line a bit next time [12:22:03.0000] <jgraham> /me needs to get a polariser for his 10-22mm [12:23:00.0000] <gsnedders> jgraham: heh. Done on tip-toes (when I'm already 180cm tall) over wall :) [12:23:01.0000] <gsnedders> annevk: on any photo in particular, or not? [12:23:02.0000] <takkaria> gsnedders: I'd recommend one for photos with plenty of sky [12:24:00.0000] <jgraham> gsnedders: The standard advice is to put the horizon at ~1/3 from the top or bottom of the frame [12:24:01.0000] <jgraham> /me is rubbish at composition and art in general [12:24:02.0000] <gsnedders> /me ignores standard advice normally :P [12:25:00.0000] <jgraham> But photography is at least better than things that require fine motor skills [12:25:01.0000] <jgraham> :) [12:25:02.0000] <gsnedders> jgraham: Well, seeming I have dyspraxia and dysgraphia, that is a good reason for me to do to it :) [12:26:00.0000] <takkaria> gsnedders: I actually really like the first one [12:27:00.0000] <takkaria> though I'd be interested to see a similar photo taken lower down [12:27:01.0000] <gsnedders> takkaria: of the kitchen? [12:27:02.0000] <takkaria> yeah [12:27:03.0000] <takkaria> not sure why. :) [12:27:04.0000] <gsnedders> takkaria: That was just me making sure it all properly worked more than anything else ;) [12:27:05.0000] <gsnedders> That's my eye-level :P [12:28:00.0000] <jgraham> takkaria: It has that kind-of gritty real life quality about it, maybe? [12:28:01.0000] <gsnedders> /me should take photos of some really messy rooms in this house if you want real-life [12:28:02.0000] <gsnedders> actually, that's hard. some of them have so much it'd be hard to photograph. [12:29:00.0000] <gsnedders> /me thinks someone has forgotten that posts on walls show up on the homepage of friends on Facebook [12:29:01.0000] <gsnedders> "I love how geoffrey is in your top friends :) i see you staring at him in maths babes ;) xxx" [12:29:02.0000] <gsnedders> Why do I think I wasn't meant to see that? [12:29:03.0000] <h3h> heh [12:29:04.0000] <takkaria> gsnedders: even better when people write on their own walls by accident and the conversation ends there [12:30:00.0000] <gsnedders> takkaria: heh. [12:30:01.0000] <Philip`> /me wonders what a maths babe is [12:30:02.0000] <gsnedders> :P [12:30:03.0000] <takkaria> jgraham: I think it's because there's someone right in the middle of it all and seems rather set apart from the surrounding clutter [12:30:04.0000] <gsnedders> I probably shouldn't be quoting it in a logged channel, but hey. [12:31:00.0000] <gsnedders> (I actually know damned well the girl in question likes me in that way) [12:31:01.0000] <jgraham> /me suggests it's maybe a farmyard creature with a particular prowess for algebra [12:32:00.0000] <gsnedders> So many girls at my school are odd :) [12:32:01.0000] <gsnedders> Annoyingly, the girl that is to goes around claiming we're a couple. [12:33:00.0000] <jgraham> takkaria: Yeah, that is nice about it. gsnedders: I am jealous of your Aga. [12:33:01.0000] <takkaria> such a terrible thing, I'm sure. :) [12:33:02.0000] <h3h> /me doesn't miss the drama of school [12:33:03.0000] <gsnedders> Agas are fucking awesome. [12:34:00.0000] <gsnedders> Except in the summer. [12:34:01.0000] <gsnedders> Then they are fucking annoying. [12:34:02.0000] <jgraham> /me doesn't foresee ever being able to afford one [12:34:03.0000] <gsnedders> jgraham: Advantage of my parents buying it in the 1980s :) [12:34:04.0000] <gsnedders> (They've lived in this house since '84) [12:35:00.0000] <Philip`> Are the plates in the top left non-circular, or is that some kind of perspective distortion? [12:35:01.0000] <gsnedders> non-circular. [12:36:00.0000] <gsnedders> And covered in dust, actually. [12:36:01.0000] <jgraham> Philip`: There is also perspective distortion, I think [12:37:00.0000] <gsnedders> There is, but it doesn't affect the plates particually, I think [12:38:00.0000] <gsnedders> he left most one is the only one I think that is distorted [12:39:00.0000] <gsnedders> *the [12:39:01.0000] <gsnedders> the rest look reasonable [12:42:00.0000] <gsnedders> /me notes almost all his contacts on Flickr are geeks [12:42:01.0000] <takkaria> hello! :) [12:43:00.0000] <gsnedders> Actually, all of them are. [12:44:00.0000] <takkaria> that's because the set of geeks includes the set of people on flickr, I guess [12:44:01.0000] <gsnedders> I ought to finish writing what MikeSmith described as pornographic :P [12:44:02.0000] <gsnedders> (quoting stuff from it out of context does make it seem like that) [12:45:00.0000] <gsnedders> e.g., "Laying her hand on my right shoulder, she gently swung her body round on to mine, her delicate breasts digging into my chest, as she eagerly looked up at me." [12:45:01.0000] <jgraham> takkaria: Presumably you are http://flickr.com/photos/takkaria/ [12:45:02.0000] <jgraham> ? [12:45:03.0000] <takkaria> yup [12:46:00.0000] <takkaria> as far as I know, I'm the only takkaria on the web, and it's the only alias I use [12:46:01.0000] <jgraham> I thoroughly approve of any photostream that has holga stuff in [12:46:02.0000] <takkaria> :) [12:46:03.0000] <takkaria> I have a roll of 120 I need to process sometime soon [12:47:00.0000] <gsnedders> as far as I can see, I'm the only gsnedders online [12:48:00.0000] <gsnedders> And one of only two "Geoffrey Sneddon"s [12:48:01.0000] <takkaria> jgraham: my favourite Holga pic is http://flickr.com/photos/takkaria/500176177/in/set-72157600003720359/ [12:48:02.0000] <gsnedders> /me comes across http://quotes.burntelectrons.org/2972 looking for me [12:48:03.0000] <takkaria> though I have more I've not uploaded yet [12:49:00.0000] <jgraham> takkaria: I particularly liked that one and http://flickr.com/photos/takkaria/500176615/in/set-72157600003720359/ [12:50:00.0000] <takkaria> I like Holgas, they make uninteresting things interesting [12:50:01.0000] <takkaria> overlapping exposures ftw [12:52:00.0000] <takkaria> jgraham: what lens were you using for http://www.flickr.com/photos/jgraham/2374665153/? [12:53:00.0000] <jgraham> takkaria: Canon EFS-60mm Macro [12:53:01.0000] <takkaria> ah, nice [12:55:00.0000] <annevk> those quotes are funny [12:55:01.0000] <annevk> /me finds http://quotes.burntelectrons.org/2413 [13:26:00.0000] <hsivonen> Philip`: fixed http://validator.nu/?doc=http%3A%2F%2Fwww.coalitionforjustice.net%2F&showimagereport=yes thanks [13:37:00.0000] <Philip`> hsivonen: I can't remember what the problem was, but thanks for fixing it anyway [13:54:00.0000] <hsivonen> annevk: I added the onabort handler you requested. please let me know if it fixes whatever needed fixing [14:06:00.0000] <annevk> hmm, doesn't appear to be it [14:07:00.0000] <annevk> the specific problem is pressing "Esc" once you press validate [14:10:00.0000] <Dashiva> hsivonen: Maybe you could link the full image from the thumbnail. The coalition image is quite hard to make any kind of judgement about, seems most large images would have the same issue unless you know your images by heart [14:11:00.0000] <Hixie> hsivonen: i know you were just talking hypothetically, but if you were to make a binary format with strings, i'd recommend against have an explicit length marker for a field [14:12:00.0000] <Hixie> hsivonen: those are frequently misimplemented and end up being attack vectors [14:13:00.0000] <takkaria> bad string copying also frequently ends up as an attack vector, too, though [14:13:01.0000] <takkaria> I suppose it doesn't so much anymore [14:13:02.0000] <takkaria> (I mean with NULL terminators) [14:14:00.0000] <Hixie> i think i've seen problems with pre-announced buffer lengths more than with buffers that you have to search for the length of [14:14:01.0000] <Hixie> but i could be wrong i guess [14:15:00.0000] <takkaria> I think you're probably right but I thought it was worth saying anyway. :) [14:16:00.0000] <hsivonen> Dashiva: bug filed. I need to do *something* about large images at some point. thanks [14:16:01.0000] <hsivonen> Hixie: yeah, preannounced length could be used to trick the app to allocate insanely large buffers [14:17:00.0000] <hsivonen> annevk: in Opera? [14:17:01.0000] <Hixie> hsivonen: not to mention people getting confused with signed/unsigned and allocating a tiny buffer and reading a big buffer and all kinds of things like that [14:17:02.0000] <hsivonen> annevk: what page is large enough to show the problem? the spec? [14:18:00.0000] <hsivonen> annevk: did you reload to make sure you browser has the latest script, btw? [14:33:00.0000] <annevk> hsivonen, type in a url, hit enter, then hit Esc [14:33:01.0000] <annevk> hsivonen, any page will do as far as I can tell [14:33:02.0000] <annevk> tested in Opera and Firefox [14:41:00.0000] <hsivonen> annevk: yeah, I'm seeing the problem. [14:41:01.0000] <hsivonen> annevk: last lines of http://about.validator.nu/script.js [14:41:02.0000] <hsivonen> annevk: I set window.onabort [14:41:03.0000] <hsivonen> what am I doing wrong? [14:42:00.0000] <annevk> maybe onabort doesn't work the way I thought it did [14:45:00.0000] <hsivonen> is - forbidden in URI fragment, HTML4 ID or CSS ID or class selector? [14:45:01.0000] <annevk> no [14:46:00.0000] <hsivonen> yet, for some weird reason, the # target highligting breaks when - gets involved in ids, classes and selectors [14:48:00.0000] <annevk> if you start with - it might break stuff [14:48:01.0000] <hsivonen> I don't [14:48:02.0000] <hsivonen> still breaks [14:49:00.0000] <hsivonen> in Firefox 3b5, Safari 3.1.1 and Opera 9.5 beta something [14:49:01.0000] <hsivonen> aargh. Hixie's line offset request is more complex than it appears on surface [14:49:02.0000] <Hixie> really? [14:49:03.0000] <Hixie> wow [14:50:00.0000] <hsivonen> I'll deploy the broken state so you can try it out [14:50:01.0000] <Hixie> don't delay real improvements on my account :-) [14:50:02.0000] <Hixie> i figured it was just a matter of offsetting your parser's line count [14:51:00.0000] <hsivonen> Hixie: that would lead to badness, because -1 is magic in SAX [14:51:01.0000] <hsivonen> Hixie: it needs to happen much closer to output [14:51:02.0000] <hsivonen> so that all the internal calculation work without the offset [14:51:03.0000] <Hixie> wow that sucks [14:54:00.0000] <annevk> XMLHttpRequest spec in Korean (I guess): http://beyondweb.egloos.com/4304755 [14:54:01.0000] <hsivonen> Hixie: there's now &lineoffset= [14:54:02.0000] <hsivonen> Hixie: but CSS effects break when the offset is negative [14:55:00.0000] <Hixie> hsivonen: CSS effects? [14:55:01.0000] <Hixie> i'm using the text mode [14:55:02.0000] <hsivonen> Hixie: sure it should work in all modes [14:55:03.0000] <hsivonen> Hixie: consider http://validator.nu/?doc=http%3A%2F%2Fcafe.elharo.com%2Fweb%2Fmokka%2F&showsource=yes&lineoffset=-10#l-9c121 [14:56:00.0000] <hsivonen> and http://validator.nu/?doc=http%3A%2F%2Fcafe.elharo.com%2Fweb%2Fmokka%2F&showsource=yes&lineoffset=10#l11c121 [14:56:01.0000] <hsivonen> the only different is the sign of the offset [14:56:02.0000] <hsivonen> selectors match differently [14:56:03.0000] <hsivonen> sucks [14:57:00.0000] <hsivonen> hmm. or perhaps my regexp is wrong [14:58:00.0000] <hsivonen> that's it! [14:58:01.0000] <gsnedders> /me notes the guy that annevk said is the guy to ask for crazy regular expressions is around [14:58:02.0000] <hsivonen> ok. fixed [15:00:00.0000] <hsivonen> my grammar is getting bad. bed time [15:06:00.0000] <Hixie> is "non-document-error io: HTTP resource not retrievable" a validator.nu error, or a curl error? [15:09:00.0000] <hsivonen> Hixie: validator.nu error [15:09:01.0000] <Hixie> k [15:09:02.0000] <Hixie> i'm sending the wrong url it seems [15:09:03.0000] <Hixie> i don't suppose there's any chance of this being done via a <!--line 0 --> type pragma :-) [15:10:00.0000] <Hixie> i mean, really there are two files [15:10:01.0000] <Hixie> and it would be cool if it would give the right line numbers and file names for errors in each part [15:10:02.0000] <hsivonen> Hixie: not at the moment. I think I might do something like that in the future for IPC [15:10:03.0000] <Hixie> like a preprocessor [15:11:00.0000] <Hixie> k [15:11:01.0000] <Hixie> #file foo, #line 2 [15:11:02.0000] <Hixie> etc [15:11:03.0000] <hsivonen> Hixie: that'll confuse the Show Source thingy [15:11:04.0000] <gsnedders> poor little Show Source thingy [15:11:05.0000] <gsnedders> better give it a hug. [15:12:00.0000] <Hixie> hsivonen: yeah i figure it'd require pretty big changes if you have made assumptions throughout that that info isn't opaque [15:12:01.0000] <hsivonen> Hixie: there are two major assumptions: [15:13:00.0000] <hsivonen> #1: valid line numbers are >= 1 [15:14:00.0000] <hsivonen> #2: the first line of the resource whose source is shown is 1 and the lines progress by LF/CR/CRLF from there [15:14:01.0000] <Hixie> progress monotonically without reducing? [15:15:00.0000] <hsivonen> I comment-based pragmas with positive line number would work if I turned off source extracts and Show Source [15:15:01.0000] <hsivonen> Hixie: yes. The source code manager counts the line numbers on its own and the parser counts them on its own [15:16:00.0000] <Hixie> ah [15:16:01.0000] <hsivonen> but they are assumed to do it the same way [15:16:02.0000] <hsivonen> the source manager is fed raw UTF-16 before the parser gets to decide where the line breaks are [15:17:00.0000] <hsivonen> s/I comment-based/I think comment-based/ [15:18:00.0000] <hsivonen> also, the line number management inside the parsers is *hard* (surprisingly so) [15:18:01.0000] <hsivonen> so if I did pragmas, I'd fake the numbers immediately after the parser [15:22:00.0000] <Hixie> why not just carry two sets of file/line metadata throughout? [15:22:01.0000] <Hixie> one for internal use and one for presentation [15:22:02.0000] <Hixie> or just have a set of mappings which you invoke whenever outputting a line number [15:23:00.0000] <Hixie> that is, whenever you output a ui line number, you pass it through this one conversion function [15:23:01.0000] <hsivonen> (in order to make the source highlight nice and *correct*, the naïve standard SAX line location management doesn't work) [15:24:00.0000] <hsivonen> Hixie: that would be a lot of work for a use case that so far has only one user [15:24:01.0000] <Hixie> :-D [15:24:02.0000] <Hixie> yeah [15:24:03.0000] <Hixie> like i said, don't worry about it [15:24:04.0000] <Hixie> i didn't mean to slow down progress :-) [15:24:05.0000] <Hixie> i'm using hte offset you have now [15:25:00.0000] <hsivonen> and for the IPC case, show source would even make sense, so only location round trip would matter [15:25:01.0000] <hsivonen> s/would/wouldn't/ [15:26:00.0000] <hsivonen> so I think the pragma thing is likely to happen one day but it'll likely be mutually exclusive with source extracts and full show source [15:26:01.0000] <Hixie> makes sense [15:26:02.0000] <Hixie> my own use case doesn't care about the view source and source extracts either [16:26:00.0000] <annevk> Hixie, requiring title= on <abbr> is silly [16:26:01.0000] <Hixie> using <abbr> without title="" is silly [16:27:00.0000] <Hixie> like using <a> without href="" [16:27:01.0000] <annevk> you use <abbr> without title in the e-mail you sent [16:27:02.0000] <annevk> '<a href="#dhd"><abbr>DHD</abbr></a>' [16:27:03.0000] <annevk> <a> without href is allowed [16:27:04.0000] <Hixie> yeah i wrote that before i changed the spec [16:27:05.0000] <Hixie> yes, <a> is a poor analogy [16:28:00.0000] <Hixie> but it's basically only allowed for placeholders [16:28:01.0000] <Hixie> which makes no sense for <abbr> [16:28:02.0000] <annevk> i use <abbr> without title all the time [16:28:03.0000] <Hixie> why? [16:28:04.0000] <annevk> to indicate it's an abbreviation and not a word [16:28:05.0000] <Hixie> for the sake of it? [16:28:06.0000] <Hixie> isn't it obvious? [16:29:00.0000] <Lachy> do screen readers read things differently if they are marked up as <abbr>, even without title=""? [16:29:01.0000] <annevk> most of the time it probably is, though i wonder if it's worth making all that content non-conforming [16:29:02.0000] <Hixie> i'm sure the 6 people using <abbr> will be devastated [16:29:03.0000] <othermaciej> <pronoun>it</pronoun> <verb>seems</verb> <adjective>obvious</adjective> [16:30:00.0000] <Lachy> IIRC, Joe Clark recommends using <abbr> without title for repeated occurrences of an abbreviation. [16:31:00.0000] <roc> I had a paper rejected by the FOOL workshop [16:31:01.0000] <Hixie> i often disagree with joe clark [16:32:00.0000] <Lachy> so do I, but I agreed with him in this case cause it's more convenient [16:32:01.0000] <Hixie> more convenient than not using the element at all?? [16:33:00.0000] <Dashiva> othermaciej: you should be using rdf [16:33:01.0000] <annevk> Hixie, there's no harm in allowing <abbr> without title="" [16:33:02.0000] <Lachy> Hixie, it depends if there are legitimate advantages to using it [16:34:00.0000] <Hixie> the main use case for <abbr> is to provide expansions. by making title="" required, we help authors who use validators catch the occurances where they forgot to provide the expansion. [16:34:01.0000] <Lachy> I'm not saying there are such advantages, but I'm no expert on the UAs that would potentially benefit most from it [16:36:00.0000] <Hixie> as i said in the mail, speech synthesis technology these days is quite capable of determining what's an abbreviation and reading it without annotation, and the times where they are most likely to need <abbr> markup to help them (e.g. all-caps headlines), authors are unlikely to be providing it anyway. [16:37:00.0000] <Lachy> I haven't read the mail yet :-) [16:37:01.0000] <annevk> it's one of the reasons my weblog has the ability for markup in headings [16:38:00.0000] <annevk> though admittedly i don't seem to be using it for <abbr> too much these days [16:39:00.0000] <annevk> I've also stuff like only giving the first <abbr> thingie a title and not later on in the page [16:40:00.0000] <Lachy> I was just expecting you to fix the bugs with the cross-referencing, not remove it entirely [16:40:01.0000] <annevk> there have been recommendations to that effect in the past [16:42:00.0000] <Hixie> Lachy: heh [16:43:00.0000] <Hixie> i think the cross-referencing idea was just me getting a little too happy [16:43:01.0000] <Hixie> <a href=""> handles it fine in practice [16:46:00.0000] <othermaciej> the cross-referencing was overly complex as designed [16:46:01.0000] <othermaciej> it does seem like a cute feature if a simpler version turns out to be useful [16:49:00.0000] <annevk> the main use case would be spec writing [16:51:00.0000] <othermaciej> I do wonder if there are other use cases [16:51:01.0000] <othermaciej> because if something is only good for technical specifications then that's not a very broad use case [16:51:02.0000] <Philip`> I suppose there's a danger of spec writers writing specs that are biased towards helping spec writers [16:53:00.0000] <Dashiva> Would normative be an element or an attribute? [16:53:01.0000] <jgraham> /me is still wishes it was easy to reference numbered figures and tables in html [16:53:02.0000] <Lachy> Hixie, where you wrote this in the email: "It seems like we'd want to allow, e.g., a link to a list of instances of the term." [16:53:03.0000] <Lachy> "I have defined the opposite, though ..." - where exactly in the spec did you define that? It's not clear to me. [16:53:04.0000] <Philip`> I also suppose most specs get processed to generate the final published HTML version, so they can use whatever non-standard features they like in the source format and have the tools implement the conversion [16:55:00.0000] <jgraham> (with the numbers auto-updating as you add more figures and tables of course) [16:55:01.0000] <Philip`> jgraham: That sounds like it'd be a bit of a pain to do incremental rendering prettily, whenever you have forward references [16:55:02.0000] <Hixie> Lachy: what's the context again? i forget [16:55:03.0000] <annevk> jgraham, CSS should solve that, the markup should simply be pointers... [16:55:04.0000] <annevk> (not that it's entirely clear to me how exactly CSS needs to solve it yet) [16:57:00.0000] <Lachy> Hixie, in the mail, the quote from me beginning with "*Definitions with Links*" [16:58:00.0000] <Hixie> /me goes to find the mail [16:58:01.0000] <Hixie> Lachy: oh [16:58:02.0000] <Hixie> Lachy: dfn dection [16:59:00.0000] <Hixie> section even 2008-04-21 [17:01:00.0000] <Lachy> that's what I thought, but I couldn't see anything in the spec that was the opposite of what I had suggested [17:05:00.0000] <Facedown> do you guys normally prefer validator.nu over w3? [17:05:01.0000] <Facedown> or do you use both? [17:06:00.0000] <Philip`> /me normally uses neither, and writes invalid code [17:07:00.0000] <Facedown> s/sarcasm//g [17:08:00.0000] <Philip`> (That is what I really do :-) ) [17:08:01.0000] <jgraham> Philip`: Knowing why it's non trivial to do doesn't make not having it any easier :) [17:08:02.0000] <Lachy> Facedown, if I'm writing HTML5, I use validator.nu. If I'm writing HTML4, I use w3 [17:10:00.0000] <Facedown> is there a disadvantage of validator.nu when in combo with html 4.01 strict? which i use [17:10:01.0000] <Facedown> theres no preset for html 4, but there is a parser [17:12:00.0000] <Lachy> The only issue is that validator.nu is still a work in progress, so it's possible that it won't be 100% accurate yet. Though, these days, it could probably be considered reliable enough [17:12:01.0000] <Philip`> jgraham: You could easily write an HTML preprocessor, and do all the non-trivial stuff before publishing since it'll be trivial when you don't have to worry about browsers doing it [17:13:00.0000] <Philip`> validator.w3.org isn't 100% accurate either, so it's more useful to compare their actual accuracy and not just the boolean of whether they're at 100% [17:13:01.0000] <Lachy> Facedown, hsivonen would be the best person to ask about it [17:13:02.0000] <Philip`> (but I have no idea how you would quantify their accuracy, so that's a bit useless) [17:14:00.0000] <Facedown> I just wish it was illegal for having optional end tags on elements that need end tags in html 4.01 strict [17:14:01.0000] <Facedown> in other words, i would want it to give me an error for missing an end tag since its still 'Strict' [17:14:02.0000] <Lachy> Facedown, what? [17:14:03.0000] <jgraham> Philip`: By coming up with a large testsuite of docs with errors and seeing what fraction of the errors they identify [17:14:04.0000] <Facedown> <p>test [17:14:05.0000] <Lachy> The <p> element doesn't need an end tag in HTML 4.01 though, so what you said didn't make sense [17:15:00.0000] <Facedown> that's what i'm talking about [17:15:01.0000] <Facedown> the spec/rules themselves for html 4 [17:15:02.0000] <Facedown> at least, 4.01 strict [17:15:03.0000] <Lachy> but what advantage is there? [17:15:04.0000] <jgraham> Facedown: That sounds more like a lint or something to enforce a set of style guidelines [17:15:05.0000] <Facedown> it would make sense to make <p>foo legal in 4.01 transitional, and <p>foo illegal in 4.01 strict imo [17:16:00.0000] <Lachy> the rules for implying an end tag are well defined and implemented (at least for <p>) [17:17:00.0000] <Lachy> but you're ignoring the reasons for why it was made optional to begin with: convenience for authors [17:17:01.0000] <Facedown> oh it's just p.. i assumed it was the majority of block level elements [17:17:02.0000] <Lachy> there are several elements with optional tags [17:17:03.0000] <Lachy> thead, tbody, tfoot, p, html, head, body [17:18:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-writing0.html#optional probably mostly matches HTML4 [17:19:00.0000] <Lachy> here's a more convenient reference for HTML4's optional tags http://www.w3.org/TR/html401/index/elements.html [17:19:01.0000] <Facedown> ah ty, Lachy.. i was going through elementby element [17:20:00.0000] <Lachy> LOL [17:20:01.0000] <Facedown> lol. [17:21:00.0000] <Hixie> Lachy: "An a element that links to a dfn element represents an instance of the term defined by the dfn element. [17:21:01.0000] <Facedown> what text editors do you guys use? [17:22:00.0000] <Hixie> " [17:22:01.0000] <Facedown> i've moved from dw8 to vim like 6 months ago, glad i did [17:22:02.0000] <Facedown> can't live without vim now [17:23:00.0000] <Hixie> emacs baby [17:24:00.0000] <Facedown> were you ever at one time a vi user? [17:24:01.0000] <Hixie> no [17:24:02.0000] <Facedown> i haven't tried emacs [17:24:03.0000] <Lachy> I use TextMate now [17:24:04.0000] <Lachy> emacs, vi and vim are for crazy people [17:24:05.0000] <Facedown> heh [17:25:00.0000] <Facedown> lachy - if you had 20 lines of text that you had to make a list items out of , how would you do it? [17:25:01.0000] <Philip`> I mostly use the default KDE text editor KPart which doesn't seem to even have a real name [17:25:02.0000] <Facedown> assuming we were on line 5 [17:25:03.0000] <Facedown> assuming there are <ul> and </ul> at the top and bottom [17:25:04.0000] <Facedown> of these 20 lines of text [17:26:00.0000] <Hixie> esc-ctrl-s ^\(.+\)$ ENTER <li>\1</li> ENTER ! [17:26:01.0000] <Philip`> Facedown: Copy-and-paste, which would take about ten seconds and zero brainpower [17:26:02.0000] <Facedown> the copy is not the same for each of the lines [17:27:00.0000] <Facedown> its unique copy [17:27:01.0000] <Facedown> if you're saying copy the same thing over and over [17:27:02.0000] <Philip`> I mean I'd copy the "<li>" and paste it on each line [17:27:03.0000] <Facedown> ah [17:27:04.0000] <Facedown> 10 seconds? would seem like 15 to me [17:27:05.0000] <Facedown> we're tabbing at least once, right? [17:28:00.0000] <Philip`> Brainpower should be expended on content, not on writing one-off scripts for your text editor :-) [17:28:01.0000] <Facedown> but what if you don't have to think about it [17:28:02.0000] <Facedown> if you're used to it [17:28:03.0000] <Facedown> i'm a beginner in vim so i still have to think about it for now [17:29:00.0000] <Facedown> qaI<li><esc>A</li><esc>j@20 i think is how it would work in vim [17:29:01.0000] <Facedown> i would record myself going to the start of the line, before the very first character and typing <li> then going to the end of the string and typing </li> and repeat that 19 more times [17:29:02.0000] <Facedown> i just dont see how id survive on a normal text editor now [17:29:03.0000] <Facedown> using a mouse you'd have to make sure you point it before the first character for every line and the end [17:30:00.0000] <Philip`> Instead of remembering all the Vim commands, I'd remember that </li> was optional so I could save time by omitting it :-) [17:30:01.0000] <Facedown> hah [17:30:02.0000] <heycam> :.,+19s/.*/<li>&<\/li>/ [17:30:03.0000] <Facedown> oh.. an alternative to recording it? mm [17:30:04.0000] <Philip`> Write "<li>", shift-home, ctrl-c, down-arrow, {ctrl-v, down-arrow, home}+ [17:31:00.0000] <heycam> yeah, run that substitution from the currently line to 19 lines down [17:31:01.0000] <Facedown> Philip` - i used to do it exactly the same way. [17:31:02.0000] <Facedown> EXACTLy that way.. wow [17:31:03.0000] <Facedown> but if you had to include the end tag, it'd be more of a hassle [17:32:00.0000] <Philip`> Then just do exactly the same, with 'end' instead of 'home' [17:32:01.0000] <Facedown> since you have to reach the first character of the line and thats a little harer than if you dont have to worry about the end tag [17:32:02.0000] <Facedown> right but like [17:32:03.0000] <Facedown> going to and fro [17:32:04.0000] <Facedown> unless you do all the beginning tags first [17:32:05.0000] <Facedown> you'd only have one of them to paste [17:32:06.0000] <Facedown> i might have just pasted the <li> and insert the / at the end for end tags [17:33:00.0000] <Facedown> so paste the <li> before and after, and manually insert the '/' when i'm done [17:33:01.0000] <Lachy> Facedown, I select all the lines, and use the option to wrap each line in an open/close tag (which defaults to li) [17:33:02.0000] <Facedown> doh, heh;) [17:33:03.0000] <Philip`> Do all the <li> first, then all the </li>, since it's much easier to repeat short actions lots of times than a longer action fewer times [17:34:00.0000] <Facedown> so <li>shift home ctrl c down arrow ctrl v for the next 19 lines and go to the first <li> and ctrl end, </li> and paste the '</li>' with ctrl end and ctrl v [17:34:01.0000] <Facedown> that's how i would have done it in dreamweaver [17:35:00.0000] <Facedown> down arrow, ctrl end, ctrl v [17:35:01.0000] <Lachy> in Dreamweaver, I switch to WYSIWYG mode, highlight the text, click the UL button, and then move the cursor to the beginning of each new point and press enter [17:36:00.0000] <Philip`> If I was lazy and there were lots of lines, I'd probably do perl -ne'print "<li>$_</li>\n"' and copy/paste the text through that [17:36:01.0000] <Lachy> but TextMate's Cmd+Ctrl+Shift+W is easier [17:36:02.0000] <Philip`> (and then I'd probably do it again with chomp) [17:44:00.0000] <Lachy> Hixie, in what way were people confused about the name <meter>? [17:46:00.0000] <Hixie> people keep thinking it means "number and unit" [17:46:01.0000] <Hixie> they think you can do <meter>5cm</meter> [17:47:00.0000] <Lachy> oh, stupid people. [17:48:00.0000] <Facedown> do pseudo-classes such as :link :visited and :active still have no effect on anything but anchors? (not talking about :hover since i know that can go for any element) [17:48:01.0000] <Lachy> <indicator> wouldn't be too bad, but it's a bit long. [17:49:00.0000] <Lachy> I think the problems with the name <meter> will subside once we get an actual implementation and people see what it does [17:49:01.0000] <Lachy> I mean, it's no where near as confusing as, for example, <address> has been over the years. [17:50:00.0000] <Facedown> oh man.. i'm still confused on address [17:50:01.0000] <Lachy> Facedown, just remember that <address> is not to be used for marking up addresses, and you'll be fine. [17:50:02.0000] <Facedown> that was sarcastic, right? heh.. [17:51:00.0000] <Facedown> i know theres a w3 definition that says it should only be used to markup the address of the author of the page or something [17:51:01.0000] <Lachy> sort of [17:51:02.0000] <Facedown> and if you have like lists of houses you shouldn't mark the addresses up with <address> [17:51:03.0000] <Lachy> yeah, a better name for it would have been <contact> [17:51:04.0000] <Facedown> if its a hotel site and an address for the hotel, im using <address> [17:52:00.0000] <Facedown> to contact the hotel that is [17:55:00.0000] <Philip`> I don't like <indicator> since it's not at all obvious what it's indicating [17:55:01.0000] <Philip`> and also "indicator" makes me think of flashing orange lights on cars [17:55:02.0000] <Lachy> Philip`, no, that's what <blink> is for [17:56:00.0000] <Facedown> haha [17:56:01.0000] <Philip`> Lachy: In that specific case, I think I'd be happier in a car that's made of steel rather than HTML [17:57:00.0000] <Philip`> Web browsers have a habit of crashing every few days [17:58:00.0000] <Lachy> ok. I'm happy with my HTML-mobile. [17:58:01.0000] <Lachy> it drives me around the web quite well [17:59:00.0000] <Lachy> of course, my preferred HTML-mobile is the Lynx. :-) [18:01:00.0000] <Philip`> Why not just use <gauge>, and define <guage> as a synonym? [18:01:01.0000] <Lachy> because gauge is a terrible name [18:01:02.0000] <Philip`> (assuming that's the misspelling that people will make) [18:02:00.0000] <Lachy> Philip`, it will be common, just like people misspell language as langauge [18:03:00.0000] <Philip`> http://canvex.lazyilluminati.com/survey/2007-07-17/analyse.cgi/attr/langauge vs http://canvex.lazyilluminati.com/survey/2007-07-17/analyse.cgi/attr/language - it's not that common an error [18:03:01.0000] <Lachy> hmm. I thought Hixie's stats had shown it was a bit more common [18:04:00.0000] <Lachy> but maybe I remmber incorrectly [18:04:01.0000] <Philip`> Fortunately his stats are unverifiable, so you can just ignore them as being bad science [18:05:00.0000] <Lachy> LOL [18:12:00.0000] <Philip`> /me still really needs to find a way to scale that analyse.cgi to sixteen times as much data, and preferably with more ways of looking at the data (e.g. seeing common attribute values) [18:14:00.0000] <Lachy> Philip`, if I ran your scripts on my computer and send you the results, would that help? [18:15:00.0000] <Hixie> the language thing i found was that there were many many many misspellings of language="" [18:16:00.0000] <Philip`> Lachy: The problem is doing the real-time web interface to the data, since it tends to require some tradeoff of disk space and processing time and cleverness [18:18:00.0000] <Philip`> Ah, http://canvex.lazyilluminati.com/survey/2007-07-17/analyse.cgi/tag/script does have quite a few different errors [18:18:01.0000] <Philip`> (languaje, langage, maybe lang, ...) [18:18:02.0000] <Hixie> yeah people just can't spell that attribute to save their life [18:18:03.0000] <Philip`> Is it worse than any other attribute? [18:19:00.0000] <Hixie> yes [18:19:01.0000] <Hixie> far worse [18:19:02.0000] <Hixie> width and height get a few misspellings [18:19:03.0000] <Hixie> but e.g. type doesn't get many at all [18:19:04.0000] <Hixie> at least iirc [18:19:05.0000] <Hixie> bbiab food [18:57:00.0000] <takkaria> CSS3 columns are pretty useless for real content [18:57:01.0000] <takkaria> orphaned headings are a real no-no [18:59:00.0000] <takkaria> oh, it does have them now [19:01:00.0000] <takkaria> how useful. :) [19:07:00.0000] <takkaria> shame gecko doesn't implement them, though [19:14:00.0000] <jruderman> takkaria: gecko sorta implements parts (-moz-column-count, -moz-column-width [19:14:01.0000] <jruderman> takkaria: i'm not a big fan of the implementation, as roc or dbaron can attest ;) [19:18:00.0000] <Facedown> anyone experienced with inline-block layouts? [19:19:00.0000] <Facedown> if so, how are they compared to floats? of course, on any browser other than gecko based [19:19:01.0000] <jruderman> of course? [19:19:02.0000] <Facedown> since ff2 doesnt support inline-block [19:19:03.0000] <Facedown> not the proprietary property -moz-inline-box or whatever they have [19:19:04.0000] <jruderman> ff3 does [19:19:05.0000] <Facedown> your point? [19:20:00.0000] <Facedown> ff3 hasn't been released and ff2 is the most popular gecko browser [19:20:01.0000] <Facedown> or are you going to tell me to get the beta 5 [19:20:02.0000] <jruderman> beta 5? no, that's old, get a nightly :P [19:20:03.0000] <jruderman> j/k, beta 5 is fine [19:21:00.0000] <Facedown> but really, gecko doesnt support it.. as in, the majority of gecko browsers in use on earth [19:21:01.0000] <Facedown> that's what i meant [19:21:02.0000] <jruderman> ok [19:21:03.0000] <takkaria> jruderman: yeah it seems to work almost well enough, just not quite actually well enough. :) [19:22:00.0000] <jruderman> i don't see how an older version of gecko not supporting inline-block is relevant to answering the question "how are they compared to floats", but i guess i don't really understand the question anyway, since i mostly use CSS to crash things rather than build web pages with pretty layout [19:24:00.0000] <jruderman> inline-block can go anywhere in a line whereas floats can only go at the left or right, correct? [19:33:00.0000] <othermaciej> floats don't really go in a line per se [19:33:01.0000] <othermaciej> I mean [19:34:00.0000] <othermaciej> they intrude into several lines but are really owned by the containing block [19:34:01.0000] <othermaciej> an inline-block is in a specific place on the line [19:35:00.0000] <othermaciej> I don't think there are many places where they are interchangeabe [21:29:00.0000] <MikeSmith> Hixie, does the spec yet define what a "browsing context keyword" is? [21:31:00.0000] <Hixie> yes [21:31:01.0000] <Hixie> or rather [21:31:02.0000] <Hixie> no [21:31:03.0000] <Hixie> because that term is never used [21:32:00.0000] <Hixie> but the term "browsing context name or keyword" is defined [21:36:00.0000] <MikeSmith> Hixie, OK, I see now, "A valid browsing context name or keyword is any string that is either a valid browsing context name or that case-insensitively matches one of: _self, _parent, or _top." [21:36:01.0000] <MikeSmith> so that seems to implicitly define a keyword as "_self, _parent, or _top" [21:36:02.0000] <MikeSmith> is that right? [21:38:00.0000] <Hixie> i guess [21:39:00.0000] <Hixie> the two terms are "browsing context name" and "browsing context name or keyword", i didn't intent there to be a "browsing context keyword" term [21:39:01.0000] <MikeSmith> yeah, I realize that now [21:59:00.0000] <MikeSmith> Hixie, fwiw, it seem like the sentence "The rules for chosing a browsing context given a browsing context name are as follows." should be "The rules for chosing a browsing context given a browsing context name or keyword are as follows." [21:59:01.0000] <Hixie> hm yeah [21:59:02.0000] <Hixie> probably [21:59:03.0000] <Hixie> not a big deal [22:00:00.0000] <Hixie> it reads better the way it's written now [22:00:01.0000] <Hixie> what i really should do is find a word that means "name or keyword" [22:01:00.0000] <MikeSmith> yeah, that would be better [22:01:01.0000] <MikeSmith> "browsing context identifier"? [22:04:00.0000] <Hixie> maybe [22:05:00.0000] <Hixie> mail the list (or ian⊙hc) :-) [00:32:00.0000] <hsivonen> all caps headlines should be CSS [00:32:01.0000] <hsivonen> Hixie: And I don't like making title required, either [00:33:00.0000] <Hixie> all caps headliens should indeed be css, hence why people who have all caps headlines in the source are the least likely to be giving <abbr> elements [00:33:01.0000] <Hixie> what's the use case for <abbr> without title="", and why is it going to be important enough for us to not help authors using <abbr> to give abbreviation expansions? [00:40:00.0000] <hsivonen> Hixie: abbr itself is relatively unimportant compared to other HTML elements, so it shouldn't as for special attention [00:41:00.0000] <Hixie> i love all my children equally [00:41:01.0000] <hsivonen> as for use case, I'd need to research what UAs actually do with it [00:41:02.0000] <hsivonen> annevk seems to believe it is good for something [00:42:00.0000] <hsivonen> by using it [00:42:01.0000] <hsivonen> unless it's just a talisman use [00:43:00.0000] <jwalden> abbr? [00:43:01.0000] <jwalden> I thought some screen readers expanded it [00:44:00.0000] <jwalden> at least the first time they encountered it in a document [00:44:01.0000] <MikeSmith> jwalden, issue is whether abbr without a title attr is useful or now [00:44:02.0000] <MikeSmith> or not [00:44:03.0000] <MikeSmith> as far as screen-reader use, without title, nothing to expand [00:45:00.0000] <jwalden> I also seem to remember seeing at least one tutorial at some point which suggested using title the first time you had the abbr and then only marking up with <abbr></abbr> the remaining times [00:45:01.0000] <hsivonen> MikeSmith: unless the title is picked up from the first instance as suggested in the IRC log [00:45:02.0000] <jwalden> bingo [00:45:03.0000] <hsivonen> which I doubt considering how AT generally suck [00:45:04.0000] <MikeSmith> hsivonen, jwalden - ah, OK, I see [00:46:00.0000] <jwalden> it's convenient for authors, that's for sure [00:46:01.0000] <jwalden> easy for editors to support, too, I think [00:47:00.0000] <jwalden> saves space at the edges [00:47:01.0000] <Hixie> there are lots of people who suggest not giving the title="" [00:47:02.0000] <MikeSmith> yep. also addresses case that mpt mentioned where you don't want to AT app reading the expansion every single time the abbr appears [00:47:03.0000] <Hixie> as far as i can tell, that's just a talisman [00:47:04.0000] <MikeSmith> /me yep'ing what jwalden said earlier [00:51:00.0000] <hsivonen> Hixie: by that logic we should me <cite>, <em> and <var> non-conforming. They are only talisman versions of <i>. [00:51:01.0000] <hsivonen> but probably I shouldn't paint this bikeshed [00:51:02.0000] <hsivonen> since I really don't know about UA support or non-talisman use cases [00:52:00.0000] <hsivonen> s/me/make/ [00:53:00.0000] <Hixie> hsivonen: not all all, those have different styling in different contexts [00:54:00.0000] <hsivonen> Hixie: in that case, there's the use case of styling <abbr>s with small caps without caring about expansion [01:03:00.0000] <Hixie> does that use case happen enough that it outweighs the benefit of helping people using it to show the expansions? [01:05:00.0000] <hsivonen> I don't know [01:06:00.0000] <hsivonen> I guess we'll have to try changing the validator and see if anne et al change their markup to more useful as a result [01:13:00.0000] <mpt> Are you proposing making title= compulsory for <abbr>? [01:14:00.0000] <mpt> /me reads the logs [01:15:00.0000] <Hixie> read your mail :-) [01:15:01.0000] <mpt> ah [01:16:00.0000] <mpt> Your message shows up as blank for me [01:16:01.0000] <Hixie> ? [01:16:02.0000] <Hixie> odd [01:16:03.0000] <mpt> but I can see the message using View Source [01:16:04.0000] <mpt> /me kicks Thunderbird in the goolies [01:16:05.0000] <Hixie> that makes no sense to me [01:21:00.0000] <mpt> Same problem in Evolution [01:21:01.0000] <mpt> The message headers show, but no body [01:23:00.0000] <mpt> Same problem in Claws Mail [01:24:00.0000] <jwalden> which particular message? wfm in Thunderbird if I'm looking at the same one as you [01:25:00.0000] <mpt> <Pine.LNX.4.62.0804200415040.14701⊙hdc> [01:25:01.0000] <mpt> ("Feeedback on <dfn>, <abbr>, and other elements related to cross-references") [01:25:02.0000] <jwalden> shows up for me in... [01:25:03.0000] <jwalden> version 2.0.0.12 (20080213) [01:25:04.0000] <mpt> and the "[whatwg] Feeedback on <dfn>, <abbr>, and other elements related to cross-references" mailing list copy [01:28:00.0000] <mpt> Works in Apple Mail, though [01:28:01.0000] <mpt> Hixie has discovered a way to send e-mail messages that are readable only with proprietary software ;-) [01:28:02.0000] <hsivonen> mpt: oh are you still a closet OS X user? :-) [01:29:00.0000] <Hixie> it's just a text/plain message, no? [01:30:00.0000] <mpt> (though in Apple Mail it has the usual 'This message is in MIME format' and '=20' and '=3D""' poop) [01:30:01.0000] <Hixie> really? [01:31:00.0000] <Hixie> how did it end up in mime format [01:31:01.0000] <mpt> Your starts of threads usually are [01:31:02.0000] <mpt> Your responses usually aren't [01:32:00.0000] <mpt> It purports to be multipart/mixed [01:32:01.0000] <mpt> Do you start threads using different software? [01:32:02.0000] <hsivonen> mpt: does your IMAP server take liberties with the format? [01:33:00.0000] <mpt> Not that I know of [01:33:01.0000] <mpt> ah, I think I've found the problem [01:33:02.0000] <mpt> The message claims multipart/mixed, but then doesn't start with the segment boundary [01:34:00.0000] <mpt> whereas other multipart/mixed messages you send do start with one [01:34:01.0000] <Hixie> all pine [01:35:00.0000] <Hixie> so i guess we've found a pine bug [01:38:00.0000] <mpt> I have thought it strange before that you send a mixture of multipart/mixed and text/plain messages, but I just assumed that you were using your issue tracker software to start the threads or something [01:39:00.0000] <Hixie> i am [01:39:01.0000] <Hixie> but since my issues tracking software is pine [01:39:02.0000] <Hixie> that doesn't mean much [01:39:03.0000] <Hixie> :-) [01:40:00.0000] <Hixie> what do people think of footnotes? [01:40:01.0000] <Hixie> should we add markup for them? [01:40:02.0000] <Hixie> or just use internal links? [01:41:00.0000] <hsivonen> does anyone know of a servlet holder implementation that reads from System.in and writes to System.out? [01:44:00.0000] <mpt> Hixie, how about a special value for target=? [01:44:01.0000] <mpt> Then they can behave just like open-in-another-window links in legacy UAs [01:45:00.0000] <hsivonen> Hixie: I think footnotes suck on continuous media [01:45:01.0000] <mpt> but in UAs that recognize the value, they can open in a Footnote pane at the bottom of the window. [01:45:02.0000] <hsivonen> Hixie: I think the solution should render as margin notes on continuous media (<aside>?) and footnotes on paged media [01:46:00.0000] <Hixie> hmm [01:46:01.0000] <mpt> Hixie, and then authors could choose either internal or external links as convenient for them -- they'd work the same way. [01:47:00.0000] <mpt> (That doesn't solve the problem of how, for example, a speech browser should know when to stop when it starts reading a footnote.) [01:49:00.0000] <virtuelv> Hixie: what markup did you have in mind? [01:49:01.0000] <mpt> (But it does avoid solving the problem for footnotes but not for endnotes, or vice versa.) [01:52:00.0000] <virtuelv> I'm not entirely certain I mean what I'm saying now, but: Aren't footnotes in continuous media a disease? [01:53:00.0000] <virtuelv> Wasn't the the hyperlink invented to avoid having to do hacks like footnotes are? [01:55:00.0000] <mpt> Sure, but, but, but [01:55:01.0000] <mpt> hyperlinks are "heavy" [01:55:02.0000] <mpt> in that they take you out of your context [01:55:03.0000] <mpt> e.g. to a completely different page [01:56:00.0000] <mpt> You can have internal links, but then it's not obvious how to get back to where you were [01:56:01.0000] <mpt> (you can click Back, but many if not most people assume that Back means "the page I was on previously", because that's what it usually does) [01:57:00.0000] <mpt> So people insert special links to go back from a footnote <http://daringfireball.net/2005/07/footnotes> [01:58:00.0000] <hsivonen> in addition to Gruber, Distler uses footnotes in blogging [01:58:01.0000] <mpt> and they do this in ways that might be obvious to sighted humans using graphical browsers, but not in other situations. [01:59:00.0000] <hsivonen> and the footnotes are de facto emphasis, because reading them requires special scrolling effort [01:59:01.0000] <Hixie> i have no opinion at the moment [01:59:02.0000] <Hixie> i'm trying to work out what to do [02:00:00.0000] <mpt> (see also <http://daringfireball.net/2005/08/notes_on_notes>) [02:02:00.0000] <zcorpan> Hixie: <map> really needs name='', though i think you still have more feedback on that on your pile (from me and hsivonen) [02:03:00.0000] <Hixie> yeah [02:03:01.0000] <Hixie> i do [02:03:02.0000] <Lachy> Hixie, re your comment about data templates and wf2 repetition in the target attr mail, I agree with removing Data Templates, cause they're overly complicated and confusing, but WF2's repetition model should stay [02:03:03.0000] <Hixie> it's all going [02:04:00.0000] <Hixie> the repetition model sucks, and there's a bazillion ways of doing things like those, all of which have their own good points [02:04:01.0000] <mpt> An <a ... target="_note"> attribute, plus markup to specify where a footnote starts and ends, would give Prince enough information to print footnotes as footnotes (or even sidenotes!) rather than endnotes. [02:04:02.0000] <Hixie> the templates things is better than repetition blocks, anyway, it was designed to replace them [02:05:00.0000] <Lachy> I know it was designed to replace them, but it sucked cause no-one but you could ever understand it [02:05:01.0000] <annevk> Philip` got some of the details too, iirc [02:05:02.0000] <annevk> But yeah, data templates were complicated [02:07:00.0000] <Lachy> annevk, my theory is that's because Philip` and Hixie are the same person. :-) [02:07:01.0000] <Philip`> ( http://philip.html5.org/demos/datatemplate/experimental/002.html ) [02:08:00.0000] <Hixie> data templates are simple, they just needed explaining [02:08:01.0000] <Hixie> they're basically xul templates done right [02:08:02.0000] <Hixie> mpt: with an element for the endpoint of the footnote? [02:09:00.0000] <Hixie> mpt: as in, <a href="#f1" target="footnote">1</a> ... <footnote id=f1>...</footnote> ? [02:09:01.0000] <mpt> Hixie, it wouldn't need to be <footnote>, it could be <div> or <aside> or whatever suited them [02:10:00.0000] <mpt> but otherwise, yes [02:10:01.0000] <hsivonen> Hixie: huh? why are repetition templates going? [02:10:02.0000] <Hixie> that seems... not especially awesome [02:10:03.0000] <Hixie> hsivonen: because they're just one way of many ways to solve the problem, and not an especially good way at that [02:10:04.0000] <Hixie> hsivonen: better to leave that stuff up to the script authors [02:10:05.0000] <Lachy> I would prefer to combine the good parts of data templates (assuming there are any) with the simplicity of repetition templates [02:11:00.0000] <Lachy> doing such stuff with script is difficult to do efficiently [02:11:01.0000] <Hixie> then we should fix that [02:11:02.0000] <Hixie> and put in the infrastructure to allow all the various ways to do this to be done [02:11:03.0000] <Hixie> i've spoken with people who have so many different ways to solve this problem [02:11:04.0000] <hsivonen> Hixie: are we now expecting thin-client distributed mobile browsers to keep enough DOM around on the server to do scripted repetition? [02:12:00.0000] <Hixie> and their solutions are not worse than the specs' [02:12:01.0000] <hsivonen> does Opera Mini handle that already? [02:12:02.0000] <Hixie> hsivonen: if the client doesn't keep enough of the DOM around for this kind of thing, it's not conforming anyway [02:13:00.0000] <hsivonen> Hixie: so we're abandoning the noscript case? [02:13:01.0000] <othermaciej> do any distributed mobile browsers handle script running after the initial page load? [02:13:02.0000] <hsivonen> othermaciej: yes [02:13:03.0000] <othermaciej> then they'd better keep DOM around [02:13:04.0000] <hsivonen> othermaciej: the Validator.nu field inter-dependencies work in Mini [02:14:00.0000] <Hixie> hsivonen: for interactive things like that? yes, you need scripting for the more complicated parts anyway [02:14:01.0000] <hsivonen> /me wonders what the RAM footprint of the entire Opera Mini server farm is [02:15:00.0000] <hsivonen> Hixie: but yeah, I can see that the repetition model would be too simple for many things and authors would easily get into situations that need scripting anyway [02:15:01.0000] <hsivonen> Hixie: I'd be happy not to have data templates [02:16:00.0000] <annevk> I think the repetition model gives a very easy way for authors to duplicate form fields. Something that's currently quite tricky to script. (Tricky enough for me to just use 5 rows instead when I first encountered the issue.) [02:16:01.0000] <mpt> Hixie, I'm not claiming awesomeness, I'm just thinking of my ideal GUI for footnotes and working backwards :-) There might be other markup for implementing the same thing. [02:16:02.0000] <annevk> Now if data templates are effectively the same (I couldn't figure that out) that might be acceptable too... [02:17:00.0000] <Hixie> annevk: the repetition model isn't easy in real scenarios [02:17:01.0000] <Hixie> annevk: in fact it gets really freaking messy [02:17:02.0000] <Hixie> it was the result of my trying to address xforms' use cases instead of the web's [02:17:03.0000] <othermaciej> I never understood what the use case for the repetition model is [02:17:04.0000] <hsivonen> annevk: I think the repetition model is acceptable in the spec. data templates aren't, because if all people on this channel don't grok it, it's not going to fly [02:17:05.0000] <othermaciej> people have tried to claim it is good for shopping carts, but that does not make sense to me [02:18:00.0000] <Hixie> the data templates would be easy to understand if they were explained [02:18:01.0000] <Hixie> it's just that the spec is basically an english translation of code [02:18:02.0000] <Philip`> hsivonen: http://www.esato.com/archive/t.php/t-162718,1.html seems to have some information about Opera Mini servers [02:18:03.0000] <annevk> hsivonen, it might be that I wouldn't have understood repetition templates without the introduction section, so I'm willing to give data templates a chance [02:18:04.0000] <Hixie> without any exposition [02:18:05.0000] <Hixie> not that i'm arguing in favour of them, they're gonna be chopped out too [02:18:06.0000] <Hixie> we should work out what is needed to make scripting these things easier though [02:18:07.0000] <hsivonen> I still think data templates would be easier by going fully to script [02:19:00.0000] <Hixie> e.g. maybe we need some sort of search-and-replace API for attribute values and text content [02:20:00.0000] <annevk> othermaciej, it's for cases where you need to fill in a set of data n times [02:21:00.0000] <othermaciej> I don't recall having encountered a form like that [02:21:01.0000] <othermaciej> maybe it comes up more in corporate settings? [02:21:02.0000] <Hixie> it's pretty rare [02:21:03.0000] <Hixie> like i said [02:21:04.0000] <Lachy> I build a site a few years ago that used repeating form fields. Unfortunately, the site seems to have been rebuilt quite recently [02:21:05.0000] <Hixie> it was the result of my trying to address xforms' use cases instead of the web's [02:21:06.0000] <othermaciej> does any of you know of a form on a public web site where repetition model can apply? [02:21:07.0000] <hsivonen> Hixie: I think the preferrable way for bridging model and view is putting JS closures into the view onchange handlers so that the closures capture the model references appropriately [02:22:00.0000] <hsivonen> Hixie: if that's non-performant, I'd prefer JS engine improvement over HTML complexity [02:22:01.0000] <annevk> othermaciej, the form I had is gone, besides that I know it would be useful in PHPMyAdmin [02:23:00.0000] <roc> othermaciej: tag fields in the code.google.com bug tracker [02:23:01.0000] <othermaciej> roc: got a specific page example? [02:23:02.0000] <hsivonen> I developed an app with repeating forms three years ago for behind-the-firewall enterprise use [02:24:00.0000] <hsivonen> and it had more than one type of repeating block in one item list, so WF2 repetitions wouldn't have worked [02:24:01.0000] <annevk> othermaciej, http://code.google.com/p/html5lib/issues/entry [02:24:02.0000] <annevk> "Add a row" [02:24:03.0000] <roc> http://code.google.com/p/chronicle-recorder/issues/detail?id=4#makechanges [02:25:00.0000] <Hixie> hsivonen: i have no idea what you're proposing :-) [02:25:01.0000] <othermaciej> I must be slow because I don't see what you guys are referring to on either of those pages [02:25:02.0000] <roc> although I'm not a proponent of declarative repetition, myself [02:25:03.0000] <annevk> othermaciej, maybe you need to be logged in [02:25:04.0000] <othermaciej> I'm logged in with my google account [02:25:05.0000] <othermaciej> but I don't belong to either of those projects [02:25:06.0000] <Hixie> The "Add a row" link at the bottom of anne's page [02:26:00.0000] <hsivonen> Hixie: suppose you have a form field in the view and you want the data in it to be reflected to an XML tree load/saved using XHR [02:26:01.0000] <Hixie> or the "Attach a file" link on roc's [02:26:02.0000] <Hixie> also at the bottom [02:26:03.0000] <hsivonen> Hixie: so when you initialize the binding, you copy the value from the XML tree to the view and install closures as onchange handlers in the view [02:26:04.0000] <Hixie> hsivonen: "in the view"? [02:27:00.0000] <hsivonen> Hixie: so that the right model node gets captured into each onchange closure copy [02:27:01.0000] <hsivonen> Hixie: the form field [02:27:02.0000] <othermaciej> I don't see an "add a row" link on anne's or an "attach a file" link on roc's [02:27:03.0000] <Philip`> othermaciej: Maybe you're using an unsupported browser? [02:27:04.0000] <hsivonen> Hixie: I'm assuming that the data template thing was about binding an HTML view to an XML model [02:28:00.0000] <hsivonen> Hixie: like XUL templates bind a XUL view to an RDF model [02:28:01.0000] <Hixie> hsivonen: i don't really understand all the fancy terms in your description :-) [02:28:02.0000] <roc> othermaciej: try clicking on the link "Add a comment and make changes below" on the LHS [02:28:03.0000] <Hixie> hsivonen: i mean, i understand them in isolation, but strung together like that i don't follow :-) [02:29:00.0000] <othermaciej> ok when I click the "add a comment [02:29:01.0000] <Hixie> hsivonen: what would it look like to the author? [02:29:02.0000] <roc> we have XML and SQL model support now [02:29:03.0000] <roc> no nasty RDF [02:29:04.0000] <othermaciej> "" link I see the attach a file link [02:29:05.0000] <othermaciej> I'll buy that as straight-up repetition [02:29:06.0000] <othermaciej> (though multi-file selection in <input type="file"> might be a better solution for that use case) [02:30:00.0000] <roc> yeah [02:30:01.0000] <roc> we need that [02:30:02.0000] <hsivonen> Hixie: viewfield.value = modelelement.textContent; viewfield.onchange = function () { modelelement.textContent = this.value; } [02:31:00.0000] <zcorpan> hmm i almost replied to an email in the alt thread [02:31:01.0000] <zcorpan> i figure that's not really needed [02:32:00.0000] <Hixie> zcorpan: feel free to reply to the one on the whatwg, that one's actually making some (minor) progress [02:32:01.0000] <Hixie> hsivonen: isn't that possible already then? [02:32:02.0000] <hsivonen> Hixie: yes. that's the point :-) [02:32:03.0000] <annevk> i tried replying to the alt thread a few times, it resulted in n^2 of collateral damage [02:32:04.0000] <annevk> so I guess I learned my lesson :D [02:33:00.0000] <hsivonen> Hixie: the only problem is that browser developers tell me it doesn't have nice memory footprint [02:33:01.0000] <Hixie> hsivonen: "waah" [02:34:00.0000] <Hixie> my ipod has hundreds of megabytes of memory [02:34:01.0000] <hsivonen> Hixie: so I would rather see work go into making the memory situation less of an issue than trying to work around it by adding complexity to HTML [02:34:02.0000] <Hixie> by the time html5 is done... [02:35:00.0000] <zcorpan> Hixie: ok, sent it [02:38:00.0000] <hsivonen> Hixie: well, unless I remember incorrectly, hyatt's argument against JS closures and for data templates was about perf/memory characteristics, so if you can convince him about the future iPod memory... :-) [02:40:00.0000] <Hixie> if we keep either of the current templating things, i'm also adding the ~4 other templating ideas that people have discussed with me that are at least as good and all different [02:40:01.0000] <Hixie> such as daniel's html overlays, and the system google maps uses for business information page generation [02:48:00.0000] <Philip`> Hixie: So HTML5 should add a <media> element for playing video-audio content, because that's at least as good a name as <video>? [02:49:00.0000] <Hixie> it's a matter of functonality, not names [02:50:00.0000] <Philip`> It seems a more general issue that sometimes you have to choose between equally-good options, because making any choice is better than making no choice [02:50:01.0000] <Lachy> /me agrees with hsivonen that "User agents are encouraged to default to being configured to always reuse the current browsing context, or to at least provide that option to the user." should be dropped from the spec. [02:50:02.0000] <Hixie> these aren't equally good options [02:50:03.0000] <Hixie> they're different options that solve different but equally important use cases [02:51:00.0000] <Hixie> Lachy: send feedback to the list please :-) [02:51:01.0000] <Lachy> Hixie, if I sent it to the list, it would just be a "+1" [02:51:02.0000] <Hixie> oh wait, crap, that's what henri was talking about? [02:51:03.0000] <Hixie> i just deleted that message because it looked like it was about alt stuff again and it was just a public-html message [02:52:00.0000] <Lachy> LOL [02:52:01.0000] <Philip`> Adding all the different options would be too complex for implementors and authors, so that's never going to work, and supporting the use cases for one of the options (which probably overlaps partially with those of the other options') seems more useful than supporting none [02:52:02.0000] <Lachy> so you didn't actually read it? [02:52:03.0000] <Philip`> s/'// [02:52:04.0000] <Hixie> i read it, but apparently not in enough detail to determine what it was about [02:53:00.0000] <hsivonen> alt collateral damage... [02:53:01.0000] <Hixie> Philip`: i'm saying we should support all of them, by providing necessary plumbing to enable all of them to be implemented easily from script [02:54:00.0000] <Philip`> Hixie: Okay, that sounds like a good thing to say :-) [02:54:01.0000] <Hixie> Philip`: i'm just not sure what that plumbing is :-) [02:54:02.0000] <Hixie> hsivonen: oh, i see what happened [02:55:00.0000] <Hixie> hsivonen: i read the subject line and everything you wrote [02:55:01.0000] <othermaciej> failing to open a new window/tab for _blank will just encourage authors to use window.open for that purpose [02:55:02.0000] <Hixie> hsivonen: and didn't read what you were quoting [02:55:03.0000] <Hixie> hsivonen: and i agreed with everything you wrote, so i assumed you were replying to the alt text debate [02:55:04.0000] <othermaciej> or target="randomname" which just introduces opportunity for conflicts if there is no need to reuse the window by name [02:55:05.0000] <Hixie> and nothing in the subject line or the body of your text actually requested a change to the spec [02:55:06.0000] <Hixie> so i ignored it :-) [02:56:00.0000] <Hixie> (and since it wasn't sent to whatwg, i didn't file it to get a reply) [02:56:01.0000] <Hixie> Lachy: so please do reply, but in your text say what should change, so i can file it :-D [02:57:00.0000] <Hixie> othermaciej: the way the spec is written, the code that would fail to open a window for _blank would be the same code that would fail to open a window for window.open [02:57:01.0000] <Hixie> othermaciej: and also target=randomname [02:57:02.0000] <Hixie> othermaciej: all of those hook into the same algorithm, and it's that algorithm that says that UAs are encouraged to just reuse the current window [02:58:00.0000] <othermaciej> then I guess the terrifying next-best alternative is in-window DOM popovers [02:58:01.0000] <othermaciej> which I hate much much more than actual separate windows [02:59:00.0000] <Hixie> those are fine, they just make me close the page without any further damage [02:59:01.0000] <jgraham_> The choice of preferring the user v preferring authors for browser defaults is kind of complex to summarise in a single sentence [02:59:02.0000] <jgraham_> and I don't think generally works as "always prefer X" [03:00:00.0000] <othermaciej> it depends on whether the author has a more-evil workaround, and how evil the original feature is [03:01:00.0000] <othermaciej> for example I think Safari's default cookie policy (which effectively prevents most cookie-based cross-site tracking) is good despite being less author-friendly then always accepting and sending all cookies [03:01:01.0000] <jgraham_> and how evil the workaround is [03:01:02.0000] <Philip`> If window.open reused the current window (in a new tab), hopefully it'd be like Opera (at least on Linux) where you still get a thing that looks like a window with the right size, instead of being a full-screen tab and destroying the layout [03:02:00.0000] <jgraham_> Philip`: I have never found that I really missed explicit window sizes [03:06:00.0000] <Lachy> Hixie, I replied to the thread. But I thought hsivonen's email clearly implied that the recommendation should be removed. [03:07:00.0000] <Hixie> yeah see my comments above -- the only part of his mail that mentioend what he was talking about what hte part where he quoted a (poorly wrapped) diff, which i skipped over when reading his mail, since it wasn't from him [03:09:00.0000] <Hixie> and since i sent the e-mail where i mentioned this to whatwg, i assumed that since his mail was to public-html it was about something else :-) [03:09:01.0000] <Hixie> anyway, replied [03:09:02.0000] <Lachy> ok, well I didn't suggest an explicit change. But I explained why making that the default is a bad idea, from which you should be able to determine an appropriate change [03:18:00.0000] <Hixie> yeah [03:18:01.0000] <Hixie> i explained why you were wrong :-) [03:19:00.0000] <Philip`> "it's the only part of the spec that creates a new window." - that just means people will use other specs to create a new window [03:19:01.0000] <Lachy> Hixie, and I'm responding to explain why you're wrong :-) [03:20:00.0000] <annevk> Philip`, it's the only spec that defines windows :) [03:20:01.0000] <Hixie> i think i'm just going to not add new footnote markup [03:20:02.0000] <Philip`> annevk: Other specs can reference it (maybe implicitly), and define some API that actually really opens windows [03:21:00.0000] <Philip`> Presumably Flash is one of those things [03:21:01.0000] <Hixie> i can't really come up with a good way of doing them [03:21:02.0000] <othermaciej> Flash and Java can open windows [03:21:03.0000] <Hixie> Philip`: i would recommend that UAs make these prefs apply to those too [03:22:00.0000] <Philip`> Eventually people will find a plugin that simulates sending Ctrl+N keystrokes to the browser to open a new window [03:22:01.0000] <Hixie> i'm ok with that [03:22:02.0000] <Hixie> since i won't have that plugin running [03:22:03.0000] <othermaciej> opening windows in the current browsing context will probably be extra annoying in the JAaa and Flash cases [03:22:04.0000] <othermaciej> *Java [03:22:05.0000] <Hixie> i have java disabled [03:22:06.0000] <Philip`> Hixie: Then all the links will be broken and you won't be able to browse the web [03:22:07.0000] <Lachy> /me never thought he would be defending the default behaviour of opening popus :-/ [03:22:08.0000] <othermaciej> probably pretty annoying when you click a help link that is meant to open in a help window [03:23:00.0000] <othermaciej> Hixie: it's not a very good argument to say that default UA settings should cater to your customized UA settings [03:23:01.0000] <Hixie> Philip`: like i said earlier, if a page starts screwing around like that, i just close the tab and go elsewhere [03:23:02.0000] <annevk> yeah, you don't want those help popups in the same window [03:23:03.0000] <annevk> that would be a disaster [03:23:04.0000] <othermaciej> I don't think the encouragement is very relevant anyway [03:23:05.0000] <Hixie> Philip`: the problem i have with new windows is that there the annoyance happens before i can close the window and causes extra damage to closing the window [03:23:06.0000] <annevk> the encouragement leads to advocacy in browser bug databases [03:23:07.0000] <othermaciej> it's not even a real conformance requirement [03:23:08.0000] <Philip`> Oh, reusing the current browsing context instead of just the current window? That sounds like it'd never work, because someone would fill in a complex form and click the 'help' popup link and lose all their data and cry and switch browser [03:23:09.0000] <Hixie> othermaciej: if i want a help link in another window, i command-click it [03:24:00.0000] <annevk> Hixie, i don't [03:24:01.0000] <annevk> my parents don't [03:24:02.0000] <annevk> my friends don't [03:24:03.0000] <annevk> etc. [03:24:04.0000] <othermaciej> Hixie: you are using "I" an awful lot in this discussion about what UA settings are appropriate defaults [03:24:05.0000] <Hixie> annevk: hey! [03:24:06.0000] <annevk> well, apart from you :p [03:24:07.0000] <Hixie> othermaciej: yup :-) [03:25:00.0000] <Hixie> Philip`: that's what the "open link in new tab" ui and the back button are for [03:25:01.0000] <othermaciej> defaults should be set to be right for the typical user [03:26:00.0000] <othermaciej> and none of us here is a very good model of the typical user [03:27:00.0000] <othermaciej> though at least using oneself as an example is more honest than the "my grandmother would..." argument [03:27:01.0000] <Hixie> fine fine, changed it to be a recommendation to provider a pref instead of a recommendation for the default [03:31:00.0000] <Lachy> Hixie, thanks. [03:37:00.0000] <Hixie> dbaron: (discussion on the matter can be found above) [03:41:00.0000] <jwalden> othermaciej: another repetition use case is at the bottom of the advanced search page in bugzilla [03:41:01.0000] <jwalden> where you want and/or with <something> <relationship> <textfield> [04:31:00.0000] <Lachy> I just read Microsoft's XDR proposal for the first time. It really doesn't seem to offer any advantages over XHR and AccessControl. I don't get why they proposed it. [04:32:00.0000] <annevk> they believe it's more secure [04:34:00.0000] <Hixie> it's less secure [04:38:00.0000] <Lachy> yeah, I'm looking for the explanations on how it's less secure. [04:38:01.0000] <Philip`> Maybe implementations of XDR would be more secure, since it's simpler and it doesn't have to interact with all the existing complex XHR code and so there's significantly less chance of bugs [04:42:00.0000] <annevk> xhr code is not complex [04:42:01.0000] <annevk> or does not have to be anyway [04:43:00.0000] <Philip`> 'Doesn't have to be complex' != 'Isn't complex' [04:44:00.0000] <Philip`> particularly for people like Microsoft who had to implement it before there was a spec [04:44:01.0000] <annevk> Lachy, xdr encourages a design where people have to share their login code of their gmail account for instance, it encourages content sniffing, [04:44:02.0000] <Philip`> (and hence might have an architecture that is incompatible with what the spec is based on, so small changes in the spec require significant changes in the implementation) [04:44:03.0000] <annevk> Philip`, everyone had to implement it before there was a spec, from public available source code webkit shows it does not have to be complex [04:45:00.0000] <annevk> (is this one of your truth finding games again? :) ) [04:47:00.0000] <Philip`> (I never know the truth, so everything is trying to find it :-) ) [04:47:01.0000] <Philip`> /me tries to find the appropriate bit of WebKit... [04:47:02.0000] <annevk> it's in the xml folder iirc [04:48:00.0000] <annevk> WebCore/xml [04:48:01.0000] <Philip`> http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/xml/XMLHttpRequest.cpp - that looks like it [04:50:00.0000] <Lachy> annevk, I don't see how it encourages such a design, and can't find any mail in the archive that describes anything like that. [04:51:00.0000] <Philip`> I suppose 800 lines of code and ~200 revisions doesn't seem especially complex [04:52:00.0000] <annevk> Lachy, you're not trying very hard then :) [04:52:01.0000] <Philip`> http://mxr.mozilla.org/seamonkey/source/content/base/src/nsXMLHttpRequest.cpp has ~3 times as much code and a similar number of revisions [04:53:00.0000] <annevk> Gecko isn't know for its pretty source code :) [04:53:01.0000] <annevk> known, even [04:53:02.0000] <annevk> I find the Gecko code quite hard to grasp [04:54:00.0000] <Philip`> About the only Gecko code I've looked at in any detail is the canvas implementation, and that's mostly interfacing with Cairo rather than with Mozilla [04:54:01.0000] <Lachy> annevk, I know. I only skimmed the archives. I will have a better look later when I have time [04:54:02.0000] <Philip`> (or at least I can ignore (or copy-and-paste) the Mozilla-interfacing code without understanding it) [04:56:00.0000] <Philip`> s/Mozilla/Gecko/ or whatever [04:56:01.0000] <Philip`> /me isn't very good at keeping all the terms straight [06:13:00.0000] <krijnh> Lachy: okay if I stop logging #xhtml ? ;) [06:13:01.0000] <annevk> could you log #css perhaps? [06:13:02.0000] <krijnh> Here? [06:13:03.0000] <annevk> no, on irc.w3.org:80 [06:14:00.0000] <krijnh> I think so [06:14:01.0000] <annevk> it's resolved to be a public channel, but nobody is logging... [06:14:02.0000] <Hixie> i like the #xhtml logs [06:14:03.0000] <krijnh> Hixie: you do at the moment? :) [06:14:04.0000] <Hixie> though nothing exciting has happened recently [06:15:00.0000] <Hixie> i check them occasionally [06:15:01.0000] <Hixie> nothing has happened of interest in months though [06:15:02.0000] <Hixie> partially because they know it's logged [06:15:03.0000] <krijnh> Hmm [06:18:00.0000] <Hixie> bed time [06:18:01.0000] <Hixie> nn [06:18:02.0000] <krijnh> :w [06:20:00.0000] <annevk> just log it [06:20:01.0000] <annevk> make it less prominent on the logging page maybe because it's far less relevant [06:28:00.0000] <krijnh> Done [06:28:01.0000] <krijnh> http://krijnhoetmer.nl/irc-logs/css/20080421 [06:44:00.0000] <Philip`> The #css log is boring [06:45:00.0000] <Philip`> Someone needs to do some trolling in there [06:46:00.0000] <krijnh> :) [06:47:00.0000] <Lachy> krijnh, I left #xhtml today cause I got tired of oedipus telling me he was away [06:47:01.0000] <krijnh> Lachy: Yeah, I logged that [06:50:00.0000] <Lachy> #webapi might be interesting too, though it's quite low traffic [06:50:01.0000] <annevk> same for #wai-aria [06:50:02.0000] <krijnh> -_- [06:50:03.0000] <annevk> #webapi is not a public channel [06:50:04.0000] <Lachy> really? [06:50:05.0000] <annevk> yes [06:50:06.0000] <annevk> though #webapi on freenode might be, not sure if anyone is still there though [06:51:00.0000] <Lachy> yeah, Hixie, othermaciej, deltab and myself are in there. Nothing is ever discussed in there though [06:52:00.0000] <Philip`> Looks like he was emitting an away message every 16 minutes 40 seconds, which is a slightly peculiar timing [06:52:01.0000] <annevk> it's American for 15 minutes [06:52:02.0000] <Lachy> Philip` that's every 1000 seconds [06:53:00.0000] <Philip`> Ah, that makes it sound less peculiar [06:53:01.0000] <Lachy> or 10 minutes in metric time :-) [06:54:00.0000] <Philip`> If we have to call megabytes "mebibytes" because they're based on binary counting, metric time has to use "deminutes" and "dehours" [06:55:00.0000] <Philip`> otherwise there will be horrible confusion [06:56:00.0000] <annevk> dinutes and dours [06:57:00.0000] <Lachy> it depends what's considered to be the base unit [06:58:00.0000] <Lachy> if the day is the base unit, then we would have milliday, deciday, megaday, etc. [06:59:00.0000] <Philip`> A day is a silly unit [06:59:01.0000] <Philip`> It doesn't correspond exactly to anything physically existent or useful [06:59:02.0000] <Lachy> of course, if star trek is true, we'll all be using star date in the 24th century, so we may aswell switch to that now. [07:00:00.0000] <krijnh> /me thinks about not logging #whatwg anymore either.. [07:00:01.0000] <Philip`> Relativity makes time measurement hard [07:00:02.0000] <krijnh> Silly topics in here [07:00:03.0000] <Philip`> We have a hard enough time coping with timezones and leap seconds [07:01:00.0000] <Philip`> (Uh, maybe "hard ... time" wasn't the most appropriate phrase there) [07:01:01.0000] <Philip`> krijnh: They're important topics relating to the standardisation of all aspects of the future world [07:02:00.0000] <Lachy> we should just abolish leap years and leap seconds, by adjusting the rotation of the earth and the orbit of the sun, so that each day is exactly 10 hours, and each year is exactly 100 days. [07:02:01.0000] <Lachy> but then an hour would be ~2.4 times longer than it is now [07:03:00.0000] <Philip`> If you make the Earth spin at 2.4 times its current speed, wouldn't that mean hours would still be the same length? [07:04:00.0000] <Philip`> As a bonus, geosynchronous orbit wouldn't be so far out [07:05:00.0000] <Lachy> no, I meant to adjust the rotation slightly so that a day is exactly 24 hours (current time scale), and then redefine the hour to be 1/10th of a day [07:05:01.0000] <Philip`> Hmm, insufficiently ambitious [07:07:00.0000] <Lachy> then move the earth's orbit away from the sun about 20,000km (which will help with global warming), then speed make it orbit faster (taking relativity into account) so that each year is 100 days. [07:08:00.0000] <Lachy> since we'll be moving faster, time will move slower, and everyone will live longer :-) [07:08:01.0000] <Philip`> If you move it further away and speed it up, it'll end up with a horribly elliptic orbit [07:10:00.0000] <Philip`> ("speed up" in the sense of "radians per second", not "metres per second") [07:10:01.0000] <Lachy> not if we increase the mass of the sun, which will increase its gravity, and thus make the planet orbit faster [07:11:00.0000] <Philip`> Good point [07:11:01.0000] <Lachy> we've got 7 other planets we can throw into it to do that [07:12:00.0000] <Philip`> They have pretty negligible mass [07:12:01.0000] <Lachy> jupiter is significant [07:12:02.0000] <Philip`> Not compared to the Sun [07:12:03.0000] <Lachy> is it enough to increase the sun's mass by the necessary amount? [07:14:00.0000] <Philip`> Jupiter: 1.8986×10^27 kg [07:14:01.0000] <Philip`> Sun: 1.9891×10^30 kg [07:14:02.0000] <Philip`> 0.1% isn't going to do very much at all [07:16:00.0000] <Lachy> maybe we just wait till Andromeda collides with the Milky Way, and one of those stars will merge with the sun to make it big enough. [07:18:00.0000] <Philip`> Stars don't just merge - the momentum needs to go somewhere [07:18:01.0000] <Lachy> hmm. true [07:19:00.0000] <Philip`> If you make a little man out of plasticine and stand him on a wall, and shoot him with a rifle with a plasticine bullet, they don't merge into a slightly larger man standing on the wall [07:19:01.0000] <Lachy> what about just moving earth to a larger star? [07:20:00.0000] <krijnh> annevk: can't you change the topic in #css ? :) [07:21:00.0000] <mpt> Philip`, that's because the difference between the bullet's force and the gravitational force is big enough. But that's nothing to do with why stars don't merge when galaxies do. [07:22:00.0000] <Lachy> what would really happen if two stars got close enough, is that they would begin to orbit each other forming a binary system, and gradually get closer and closer. [07:22:01.0000] <Philip`> mpt: Sorry, logical arguments are not allowed in here [07:22:02.0000] <Lachy> I'm not sure what effect the gravitational waves would have upon the earth then, it might tear it apart. [07:23:00.0000] <mpt> Philip`, pants. [07:24:00.0000] <Philip`> Lachy: Depends on their initial relative velocities [07:24:01.0000] <Philip`> They usually wouldn't just happily fall into a circular orbit for no reason [07:25:00.0000] <Lachy> and would also depend on their individual mass too [07:25:01.0000] <Philip`> and I have no idea what conditions would be needed for them to orbit at all, instead of just swinging past each other [07:25:02.0000] <Philip`> mpt: Okay, you win that argument :-( [07:29:00.0000] <annevk> krijnh, everyone can as far as I can tell [07:30:00.0000] <annevk> krijnh, though I made the change I guess you were hinting at... [07:53:00.0000] <krijnh> Thanks, wouldn't be nice if I were logging without anybody knowing :) [08:26:00.0000] <hendry> anyone know of a good CJK test suite? testing shiftjis, euc-jp character encodings? [09:12:00.0000] <hendry> /me discovers dns under Standard metadata names [09:12:01.0000] <hendry> I wonder if that will help my browser stop acting stupid when DNS drops or my net connection is a little unstable [10:20:00.0000] <zcorpan_> Hixie: <object> doesn't list name='' as its attributes and name is missing in the idl [10:32:00.0000] <zcorpan_> /me updated html5-elements [11:10:00.0000] <annevk> /me should update html5-diff [11:19:00.0000] <hsivonen_> krijnh: logging #xhtml is useful [11:21:00.0000] <Dashiva> Maybe the bot should filter away messages :) [11:22:00.0000] <hsivonen_> krijnh: and logging #wai-aria on w3.org would be useful, too [11:23:00.0000] <BenMillard> hsivonen_, +1 [11:25:00.0000] <Dashiva> Pretty warlike convo in xhtml: "our position seems to be getting stronger; TBL seemed to lean our way; think we are winning" [11:26:00.0000] <Philip`> I'd like a war in which you could win by having someone lean at you, instead of having to bomb and shoot tens of thousands of people [11:27:00.0000] <Dashiva> Play board games :) [11:27:01.0000] <Philip`> /me dislikes cross-posting public-html and whatwg combined with whatwg's member-only posting and his different email addresses used for each list [11:31:00.0000] <annevk> maybe you should use a single e-mail address :) [11:31:01.0000] <Philip`> That would be too convenient [11:32:00.0000] <Philip`> and I don't want to change any of the ones that I use, for legacy compatibility [11:32:01.0000] <Philip`> (and because I'm lazy) [11:33:00.0000] <Dashiva> I like being able to sort by email address [11:35:00.0000] <annevk> hmm, xtech.org is hit by encoding errors [11:35:01.0000] <annevk> it also uses some weird ass html [11:36:00.0000] <Lachy> I tried filtering by haing different email addresses once. I find it mostly ineffective and useless. Filtering on list-id is better [11:38:00.0000] <Dashiva> Well, it saves you from having to configure the client every time you join a new list [11:38:01.0000] <Dashiva> And it works for non-list mail too :) [11:39:00.0000] <BenMillard> annevk, I noticed lots of <a href="foo" title=""> on there some time ago. But that's really good for accessibility; it uses the title attribute. [11:39:01.0000] <Philip`> In theory, having multiple email addresses lets you work out where spammers are finding your address from [11:40:00.0000] <BenMillard> annevk, having their homepage at http://2008.xtech.org/public/news is weird, though [11:40:01.0000] <Dashiva> Philip`: Yeah. Like I get a lot more spam on my w3c sub than the whatwg one. Odd [11:42:00.0000] <Philip`> I suppose the actual result is that you get all the spam sent to one address, plus all the spam sent to the other address, so you end up with twice as much spam [11:42:01.0000] <Dashiva> Yeah, makes it much easier for the filter to catch it [11:42:02.0000] <Lachy> Before I disabled it, I use to get spam sent to email addresses like [message-id]@lachy.id.au, where they got that from the w3 archives [11:44:00.0000] <Lachy> Dashiva, how does using mutliple email addresses save you from having to configure the client for every new list? Don't you get a new email address for each list? [11:44:01.0000] <Lachy> or do you use each email for a group of lists? [11:45:00.0000] <annevk> BenMillard, setting title to the empty string is good for access? [11:45:01.0000] <annevk> /me isn't sure he got the point [11:45:02.0000] <Dashiva> Lachy: Groups [11:45:03.0000] <Dashiva> Like I have one for all the whatwg lists and non-list whatwg correspondence [11:45:04.0000] <BenMillard> annevk, :D [11:47:00.0000] <Lachy> ok. I use procmail to filter all my mail into appropriate folders on the server side now, typically based on list-id, and most other things go into the inbox [11:48:00.0000] <BenMillard> annevk, it was a joke: the authors or their authoring tool probably think generting title on every <a href> is a good thing, even though it is nearly always the empty string on that site [11:48:01.0000] <annevk> ah :) [11:48:02.0000] <annevk> I mostly use the title attribute if the contents of the <a> element are not clear enough or quite different from the title of the page I'm pointing at [11:48:03.0000] <annevk> of course, given that the Web can always change it's not guaranteed to be accurate :) [11:49:00.0000] <Dashiva> /me used <abbr @title> today [11:49:01.0000] <BenMillard> annevk, it's surprising how many sites I've built where the client has added title="foo" where the link text already said "foo" [11:50:00.0000] <Philip`> Dashiva: Did you use it for writing human/machine-readable dates? [11:50:01.0000] <annevk> that seems kind of pointless :) [11:50:02.0000] <Dashiva> Philip`: No, for the ACM ICPC [11:50:03.0000] <BenMillard> annevk, my suspicion is there's some bullshit SEO crooks making a living from coning clients who don't know better into paying for it [11:50:04.0000] <Philip`> Dashiva: Ah, sounds like you're in the minority then [11:50:05.0000] <BenMillard> making websites is pretty sad at times [11:50:06.0000] <BenMillard> s/coning/conning [11:50:07.0000] <annevk> nah, making web sites is cool [11:51:00.0000] <Philip`> Making people visit your web site is the sad part [11:51:01.0000] <Philip`> particularly when it's someone else's site, and it's really boring, but they want lots of visitors anyway [11:51:02.0000] <BenMillard> you need to hire an SEO crook! [11:51:03.0000] <Dashiva> Philip`: That sounds like a potential analogy for too many current events [11:53:00.0000] <Philip`> /me fails to understand the reference :-( [11:53:01.0000] <Dashiva> Maybe I should have included an alternate non-subtle representation of the reference [11:55:00.0000] <Philip`> Ah [11:55:01.0000] <Philip`> /me goes home [11:59:00.0000] <Philip`> (but not before noting that http://www.w3.org/Consortium/sup is still an amusing example of SEO) [12:00:00.0000] <annevk> '<meta name="ROBOTS" content="INDEX, NOFOLLOW" />' [12:07:00.0000] <annevk> To keep the WHATWG blog active and useful should we try to post an update of what's going on every two weeks or every week or so? [12:08:00.0000] <annevk> I'm willing to put some effort behind doing that, though I'm pretty sure my writings will be biased. I guess I'm asking the rest of you to be editor for corrections, etc. Either by comments or modifications to the post directly... [12:10:00.0000] <BenMillard> that blog is a soapbox so, bias seems fine to me [12:10:01.0000] <annevk> I'm assuming lots of people will take it as authorative for one reason or another so keeping it as accurate and objective as possible would be good :) [12:11:00.0000] <BenMillard> a summary of what's gone on every 2 weeks sounds great, though [12:12:00.0000] <BenMillard> CSSWG's blog have little messages with resolutions and stuff quite regularly these days [12:46:00.0000] <Philip`> We should get two very differently biased people, and they can write summaries of alternate weeks, so the biases cancel out [12:48:00.0000] <hsivonen> http://krijnhoetmer.nl/irc-logs/xhtml/20080416#l-156 [13:21:00.0000] <webben> BenMillard: Have you considered setting up a paypal donate button or something else that would make it easy to send you money, btw? [13:25:00.0000] <BenMillard> webben, considered it but sustainable funding can't be a few people sending a dollar each week [13:25:01.0000] <BenMillard> which, for a niche subject like this, is probably all that would retrieve [13:25:02.0000] <BenMillard> electronic banking (such as BACS) is convenient once you exchange details [13:26:00.0000] <BenMillard> why do you ask? feel like giving me £1,000? :) [13:31:00.0000] <webben> BenMillard: I wish. Just thinking about Clark's patronage drive for a similar niche thing. [13:31:01.0000] <webben> (not quite as niche, admittedly) [13:31:02.0000] <webben> BenMillard: It might also help if you gave some indication of how much you think would pay for what? [13:32:00.0000] <webben> how much more will accessible with TABLE be if we were to give you £100? Or £500? Or £1,000? Or £10,000? [13:33:00.0000] <webben> granted it's hard to know [13:44:00.0000] <gsnedders> Error: obsolete example. BAR no longer exist as an F1 team :P [13:45:00.0000] <hsivonen> /me tries to stay out of the abbr thread; writes software instead [13:46:00.0000] <BenMillard> webben, people I've spoken to about sponsorship generally seem unwilling to talk money in public [13:46:01.0000] <BenMillard> webben, but I'm fine with doing so [13:46:02.0000] <BenMillard> webben, I'm pricing the research at £10 as it's just about livable (although drastically less than I can earn making websites) [13:46:03.0000] <BenMillard> £10 per hour, I mean [13:48:00.0000] <BenMillard> measuring the cost-effectiveness in terms of how many times a user no longer experiences a problem with a table when they would have previously is beyond me [13:48:01.0000] <webben> yeah, I was being a bit flippant [13:48:02.0000] <BenMillard> I think it's a valid question, though :) [13:48:03.0000] <webben> you might try estimating how long you think a given task might take [13:48:04.0000] <webben> in days/weeks [13:48:05.0000] <webben> and costing that way [13:49:00.0000] <BenMillard> Collections of Interesting Data Tables was about 100 hours (somewhere in that order of magnitude) [13:50:00.0000] <BenMillard> that was spread over several months as it wasn't sponsored [13:50:01.0000] <BenMillard> changes to the spec came several months after that [13:51:00.0000] <BenMillard> (they aren't my work, though) [13:51:01.0000] <webben> I wonder if there's a tenured academic who might be interested in some of these tasks. [13:51:02.0000] <webben> they might find it more affordable [13:51:03.0000] <BenMillard> I think having an actual professional content author who is involved with accessibility and standards work brings a lot of benefits...namely realism [13:52:00.0000] <BenMillard> but the more research the merrier [13:52:01.0000] <BenMillard> Philip`'s statistics are fabulous...someone needs to give him a big pile of cash [13:54:00.0000] <gsnedders> /me has been using Philip` to get HTTP headers, seeming he's been making plenty of requests :P [13:58:00.0000] <BenMillard> I've spammed WAI IG about funding and to raise awareness about the work http://lists.w3.org/Archives/Public/w3c-wai-ig/2008AprJun/0021.html [13:58:01.0000] <BenMillard> MikeSmith suggested I send something their way; Shawn Henry pointed me to exactly where [13:59:00.0000] <BenMillard> off for dinner now, then hibernation. bye all! [14:09:00.0000] <Philip`> I approve of the idea of giving me a big pile of cash [14:10:00.0000] <Philip`> /me transfers £1000 from his bank account to himself [14:12:00.0000] <Philip`> Actually, that's a bad idea since I need that money to pay for accommodation... [14:19:00.0000] <gsnedders> annevk: ping (molly wants to know if you're around) [14:19:01.0000] <annevk> i am [14:20:00.0000] <gsnedders> /me passes message on [14:20:01.0000] <gsnedders> everything thing I say is bullshit, and I'm just a messenger boy :P [14:22:00.0000] <annevk> hi Molly_ [14:22:01.0000] <Molly_> hey anne! [14:22:02.0000] <Philip`> gsnedders: You should get a job as an offline message service for MSN, so someone can give you a message to pass onto their friend once they come online [14:22:03.0000] <annevk> so i guess you saw my twitter :) [14:22:04.0000] <Molly_> Anne: It was your Twitter ping that inspired my visit [14:23:00.0000] <annevk> hehe [14:23:01.0000] <Molly_> Annevk: Yes [14:23:02.0000] <gsnedders> hah. [14:23:03.0000] <Philip`> (Or does MSN do that yet? ICQ has had that for decades...) [14:23:04.0000] <gsnedders> Philip`: MSN doesn't. [14:23:05.0000] <gsnedders> It's what my school uses :( [14:23:06.0000] <gsnedders> (well, everyone at my school) [14:23:07.0000] <Molly_> So here's the thing, I have done NO organization or promotion of this thing [14:23:08.0000] <annevk> Molly_, from all WHATWG fanboys, I believe only Henri and myself will show up [14:23:09.0000] <gsnedders> annevk: not fanbois? [14:23:10.0000] <Molly_> but if we get something out there, we can do something [14:23:11.0000] <gsnedders> :P [14:23:12.0000] <Molly_> you mean to xTech itself? [14:23:13.0000] <annevk> yeah [14:24:00.0000] <annevk> oh right [14:24:01.0000] <annevk> it could be promoted separate from XTech [14:24:02.0000] <Molly_> annevk: it can be, yes, and we can also directly ask people we know will be there [14:24:03.0000] <tomg> er MSN has offline messaging [14:24:04.0000] <gsnedders> Have it on the biggest island of the British Isles! [14:24:05.0000] <gsnedders> tomg: since when? :\ [14:24:06.0000] <Molly_> annevk: Something where everyone gets a chance to talk about the Open Web as they see it. They would get a certain amount of time [14:25:00.0000] <tomg> with the official client [14:25:01.0000] <Molly_> that sort of thing? We need to do something with the room [14:25:02.0000] <gsnedders> tomg: Peh! Who uses that!? :P [14:25:03.0000] <tomg> gsnedders: few years? [14:25:04.0000] <tomg> not I [14:25:05.0000] <gsnedders> tomg: the Messenger for Mac doesn't support it [14:25:06.0000] <tomg> not entirely sure why Adium and co don't do it though [14:25:07.0000] <Molly_> annevk: The other thought I had was to do that and/or have a "sandbox" room - informal for people to hang out, maybe a planned "open Mike" or something [14:25:08.0000] <annevk> Molly_, yeah, everyone is required to do their 1 minute pitch and then we go out for a beer [14:25:09.0000] <gsnedders> tomg: So only the official Windows one does. [14:26:00.0000] <tomg> Messenger for Mac barely does anything as it is :) [14:26:01.0000] <Molly_> annevk: I like the way you think LOL [14:26:02.0000] <gsnedders> tomg: next version of the Mac one is meant to have feature parity with the next version of the Windows one, though [14:26:03.0000] <Molly_> annevk: and if only you, Henri, and I show up it'll be three minutes and then off to the pub. [14:26:04.0000] <Philip`> /me likes BitlBee + irssi + screen as an MSN/etc client, though that might be partly because he never talks to anyone and he's happy it sits unobtrusively in the background [14:26:05.0000] <gsnedders> (but likely will still have a horrid UI) [14:26:06.0000] <annevk> Molly_, hehe [14:27:00.0000] <Molly_> annevk: What about David Storey? [14:27:01.0000] <annevk> Molly_, just having an informal chat on where everyone wants to go would be cool [14:27:02.0000] <annevk> i've actually no idea if david will shop up [14:27:03.0000] <annevk> i suppose he might :) [14:27:04.0000] <Molly_> hahaha [14:27:05.0000] <Molly_> if there's beer! [14:27:06.0000] <annevk> and a room to crash in :p [14:27:07.0000] <gsnedders> :P [14:27:08.0000] <tomg> gsnedders: there's not much point in them bothering with Adium around :) [14:28:00.0000] <gsnedders> I tell you, you're as bad as my friends, Molly_ :) [14:28:01.0000] <Molly_> /me rolls eyes at both annevk and gsnedders [14:28:02.0000] <tomg> I'm so glad this train has automated stop announcements it's so easy to get wrapped up in IRC [14:28:03.0000] <gsnedders> tomg: Until a year or so ago, I would have now bitched about the horridness of its UI :) [14:28:04.0000] <tomg> skins! [14:28:05.0000] <gsnedders> tomg: Proteus looks good out of the box, though. I don't want to spend ten hours making an IM client usable :) [14:29:00.0000] <gsnedders> Or just fit into Aqua at all. [14:29:01.0000] <tomg> well, ok :) [14:29:02.0000] <hsivonen> Molly_: HTML5 side event at XTech? [14:30:00.0000] <annevk> that'd be cool too [14:30:01.0000] <Molly_> hsivonen: Ooh, that could be very cool [14:30:02.0000] <annevk> especially if we can get lots of developers and designers to show up [14:30:03.0000] <hsivonen> were you talking about something else? [14:30:04.0000] <Molly_> hsivonen: what do you think about you and Anne doing a presentation about key topics in HTML5? [14:30:05.0000] <annevk> we weren't really sure yet [14:30:06.0000] <Molly_> that would be awesome! [14:31:00.0000] <Molly_> hell, I'd go to that just as an attendee myself [14:31:01.0000] <annevk> Molly_, you have the room on May 6? [14:32:00.0000] <annevk> /me arrives evening May 4 [14:32:01.0000] <Molly_> is that the workshop day? [14:32:02.0000] <hsivonen> I suppose I could say a word or two [14:32:03.0000] <annevk> i believe so, yes [14:32:04.0000] <annevk> yeah, May 6 is tutorial/workshop [14:32:05.0000] <annevk> May 7-9 is the conference [14:32:06.0000] <Molly_> yep that's the day [14:32:07.0000] <Molly_> we have it the entire day [14:33:00.0000] <annevk> nice [14:33:01.0000] <hsivonen> I arrive on May 5th, so May 6th works for me [14:33:02.0000] <annevk> now the question is how we reach developers etc. in Dublin [14:34:00.0000] <annevk> Molly_, I guess your blog would work best for that ;) [14:34:01.0000] <Molly_> that's not the problem at all, really - we can all blog it once we agree what we're doing and then get it out on upcoming and facebook [14:35:00.0000] <tomg> Dublin? [14:35:01.0000] <gsnedders> And pay for me to come to Dublin :P [14:35:02.0000] <gsnedders> And get me off school :P [14:35:03.0000] <annevk> tomg, http://2008.xtech.org/ [14:35:04.0000] <tomg> ah [14:35:05.0000] <annevk> gsnedders, getting to Dublin is cheap using Ryanair or something [14:35:06.0000] <Molly_> tomg: sorry! [14:35:07.0000] <annevk> I got a 35 EUR ticket from Madrid [14:36:00.0000] <Molly_> tomg: I should have explained myself better [14:36:01.0000] <gsnedders> annevk: true. But school. :( [14:36:02.0000] <tomg> urm. if my 3G will work. which it isn't [14:36:03.0000] <jgraham_> If you could insert an extra week into the year so that I can come too, it would be much appreciated :) [14:36:04.0000] <annevk> 35 EUR is 25 EUR cheaper than a supposedly _free_ ticket from Flying Blue (Air France / KLM "fame") [14:36:05.0000] <Molly_> /me can write a letter "dear snedds' school, please let him come to Dublin with us. We promise to leave him outside the pub" [14:37:00.0000] <gsnedders> :D [14:37:01.0000] <tomg> dodgy dodgy connection. :( [14:37:02.0000] <gsnedders> I'll probably make it to the TP if there's an HTML WG meeting again [14:40:00.0000] <jgraham_> Molly_: I think you're OK to take gsnedders _into_ the pub, he just can't have alcohol [14:40:01.0000] <gsnedders> jgraham_: I dunno about Irish law. It's different within the union, yet alone outwith it. [14:40:02.0000] <Molly_> okay, how about this. We'll start at 10, and have an "Open the Web" session which I'll do (I'll get videos and fun stuff from lots of people who can't be there - let me know if you want to do that) . That'll be an hour. Then an HTML5 session with Anne and Henri? Then, lunch on our own, back by 13:30 for "Open the Web" open discussion 'til tea-time around 3pm, then how about an "open mike" style lightening talk where anyone can get up and do 2 [14:41:00.0000] <gsnedders> "get up and do 2" (it cut off there) [14:41:01.0000] <jgraham_> gsnedders: Well I found a very non-authoritative looking website that said that [14:41:02.0000] <tomg> ouch [14:41:03.0000] <gsnedders> jgraham_: heh. [14:41:04.0000] <tomg> these conferences are expensive [14:41:05.0000] <Molly_> this day is free [14:41:06.0000] <Molly_> that's the other point btw [14:41:07.0000] <gsnedders> jgraham_: Need to get me out of school first, though, and to Erie [14:41:08.0000] <Molly_> this is open to the public (first come first serve in terms of space) but free [14:41:09.0000] <Molly_> as I'm the one buying the room, not the conference [14:42:00.0000] <gsnedders> Well, I of course have a place if I'm there, but I'm special :P [14:42:01.0000] <Molly_> /me wonders if gsnedders means special as in "short bus" special or something else? [14:42:02.0000] <jgraham_> gsnedders: I would be more sympathetic if I could make it :) [14:42:03.0000] <hsivonen> Molly_: seems OK [14:43:00.0000] <gsnedders> Molly_: special as in knowing the organiser :) [14:43:01.0000] <Molly_> anyone else have any ideas? All ideas welcome! [14:43:02.0000] <gsnedders> Give me money? [14:43:03.0000] <Molly_> and if you happen to be in Dublin, come! [14:43:04.0000] <Molly_> gsnedders: why would I give you money, even if I had it to give? [14:44:00.0000] <gsnedders> Molly_: Because I'm lovesick (though you don't know that :P) and awesome. [14:44:01.0000] <annevk> Molly_, sounds good to me [14:44:02.0000] <annevk> tomg, you don't have to come to the conference [14:45:00.0000] <Molly_> tomg: that's the point, if you can come along to Dublin you can join us for the conf [14:45:01.0000] <Molly_> er, the day [14:45:02.0000] <annevk> tomg, the place we have on May 6 is paid for by Molly Inc. [14:45:03.0000] <tomg> nice [14:45:04.0000] <Philip`> annevk: You could probably reply to Smylers' "Can you link to examples of such webpages, which have <abbr> elements without title attibutes? What does that mark-up currently achieve?" [14:45:05.0000] <tomg> ohh. get to get off train. [14:45:06.0000] <tomg> er, got [14:45:07.0000] <Philip`> since http://www.w3.org/TR/XMLHttpRequest/ has <abbr>e.g.</abbr> [14:45:08.0000] <tomg> bye! [14:45:09.0000] <Molly_> I just expect everyone to be paying for my beers at the pub. And I'm not a cheap drunk :D [14:45:10.0000] <annevk> see you [14:46:00.0000] <Molly_> /me waves by to tomg [14:46:01.0000] <Philip`> (although "could" probably doesn't mean "should") [14:46:02.0000] <gsnedders> /me actually marks up e.g. as <i lang="la"><abbr title="exempli gratia">e.g.</abbr></i> [14:46:03.0000] <annevk> Philip`, I think I was just in a marking up phase... [14:46:04.0000] <annevk> Molly_, hah [14:46:05.0000] <hsivonen> Molly_: that would break the pattern :-) [14:47:00.0000] <gsnedders> Molly_: you know I wouldn't :) [14:47:01.0000] <Molly_> /me is laughing so hard she needs to get a glass of water [14:47:02.0000] <gsnedders> Molly_: Well, at least I'm not making you snort up Pepsi through your nose again :) [14:48:00.0000] <Molly_> the things some people know about me. sheesh. Well, at least I know I've made a mark in this world, however infamous rather than famous it might be [14:48:01.0000] <gsnedders> :P [14:48:02.0000] <jgraham_> gsnedders: OOI it was the 9th May that you wanted to meet up in Cambridge, not the 10th, right? [14:48:03.0000] <gsnedders> jgraham_: Friday. [14:48:04.0000] <jgraham_> /me needs to avoid double booking himself [14:48:05.0000] <gsnedders> Don't ask me the date! [14:49:00.0000] <Philip`> Friday is the 9th [14:49:01.0000] <jgraham_> gsnedders: Friday is good :) [14:49:02.0000] <gsnedders> Assuming Philip` is right, the 9th therefore. [14:49:03.0000] <Philip`> unless my calendar is lying [14:49:04.0000] <Philip`> or unless my calendar is correct but my clock is lying [14:49:05.0000] <gsnedders> My calendar agrees, FWIW [14:50:00.0000] <Philip`> Ah, so that answer wins best out of three [14:50:01.0000] <jgraham_> Yeah, I knew the 9th was the Friday [14:54:00.0000] <hsivonen> I deployed the new iframe/object browsing context stuff and the abbr-title thing [14:54:01.0000] <gsnedders> jgraham_: <http://flickr.com/photos/gsnedders/2427943333/sizes/o/in/set-72157604643134411/> — that shows the distortion of the lens quite well, FWIW [14:55:00.0000] <gsnedders> (i.e., the tower should be straight) [15:01:00.0000] <Molly_> @hsivonen: Henri, how do you best like to present? Just talk w/ slides? On a panel? Interview? [15:01:01.0000] <Molly_> I'm thinking it might be fun to do at least part of the HTML5 as an interview [15:02:00.0000] <Molly_> so some "hot topic" questions can be asked [15:02:01.0000] <Molly_> etc. [15:02:02.0000] <Molly_> sorry, I'm twittering too much. everything is now @nick etc. [15:02:03.0000] <Molly_> that would be: [15:03:00.0000] <Molly_> hsivonen: please see above :) [15:19:00.0000] <hsivonen> hmm. panel/interview means less work for me but also means inconvenient questions. hmm. [15:20:00.0000] <hsivonen> Molly_: I think I'd like to say a something prepared briefly first and then open the mic for questions [15:20:01.0000] <Molly_> hsivonen: Henri, that sounds good. But you'll have to be prepared for some "inconvenience" of course ;) [15:21:00.0000] <hsivonen> yeah :-) [15:21:01.0000] <Molly_> /me waves at KevinMarks [15:21:02.0000] <hsivonen> Molly_: specifically, I'd like to replay the TPAC bit about commoditizing HTML parsing [15:22:00.0000] <Molly_> hsivonen: One thing that occurs to me is that some people who might show up in the early part of the day won't know too much about HTML5 itself. I want your or Anne or someone to do a "10 things you must know" kind of talk to start off. Then open to questions [15:23:00.0000] <Molly_> hsivonen: then in the afternoon there's room for detailed presentations [15:23:01.0000] <Molly_> hsivonen: what do you think? [15:23:02.0000] <Molly_> all? Anyone? We're putting together a free day of material on HTML5, browsers, open web ideas - free to the public in Dublin on 6 May [15:23:03.0000] <Molly_> help out! [15:24:00.0000] <hsivonen> Molly_: I believe Anne already has a practical "HTML5 in a few slides" presentation [15:24:01.0000] <Molly_> hsivonen: that sounds perfect [15:26:00.0000] <Molly_> last year I called it "Blue Sky" and referred to it as a "Browser Summit" [15:26:01.0000] <Molly_> we should do something with the name [15:27:00.0000] <Molly_> and do them elsewhere too [15:27:01.0000] <Molly_> FutureWeb! [15:28:00.0000] <Molly_> we could go with a FutureShock theme [15:31:00.0000] <Philip`> /me is more interested in LegacyWeb [15:32:00.0000] <Philip`> which I suppose is basically the same thing, since the future is just a continuation of the past [15:32:01.0000] <Philip`> except that in the future we'll have accumulated more mistakes [15:33:00.0000] <Philip`> (Maybe I'm just being pessimistic) [15:37:00.0000] <annevk> Molly_, FutureWeb! sounds good [15:37:01.0000] <annevk> maybe have a subtitle with HTML5, etc. in it [15:38:00.0000] <Molly_> annevk: I looked up the domain and it isn't available. the .net version is for 3.5k USD [15:38:01.0000] <Molly_> annevk: I'm thinking for future events, etc. [15:39:00.0000] <Molly_> annevk: This is something I want to keep going, and encourage others to do where/when/how they can [15:39:01.0000] <Molly_> hmmmm [15:39:02.0000] <hsivonen> annevk: did your HTML5 intro slides have strategy/economics/anti-lock-in stuff on them or just examples of new features? [15:40:00.0000] <annevk> i had several [15:40:01.0000] <annevk> some talked about design principles and such [15:41:00.0000] <hsivonen> ok [15:41:01.0000] <Molly_> we need a very basic top 10 things you (devs/designers) need to know about HTML5 [15:41:02.0000] <Molly_> then anything branching from that is good [15:41:03.0000] <Molly_> I just think that's really important to start with [15:41:04.0000] <Molly_> that, and q&a [15:42:00.0000] <annevk> Molly_, there's a similar domain name available but if I mention it here it might get squatted... [15:42:01.0000] <annevk> Molly_, yeah, i can give such a high level intro to HTML5 [15:42:02.0000] <Molly_> annevk: send 'em to me private I'll immediately register whatever is yummy :) [15:42:03.0000] <Molly_> annevk: Perfect [15:42:04.0000] <annevk> are you registered on freenode? [15:43:00.0000] <annevk> private messaging on freenode sucks :( [15:44:00.0000] <hsivonen> Molly_: I think the top 10 need to know things do include design principle stuff and evangelism about off-the-shelf parsing [15:45:00.0000] <annevk> Molly_, e-mailed [15:45:01.0000] <Molly_> hsivonen: I understand and agree. Of course, remember that our audience will be very mixed [15:45:02.0000] <Molly_> so we need a variety of topics from what will seem very basic to you [15:45:03.0000] <Molly_> to more detailed, no? [15:45:04.0000] <hsivonen> yeah [15:46:00.0000] <Molly_> annevk: got it, thx [15:51:00.0000] <Molly_> annevk: I pwn both .com and .org of that lovely domain now! [15:51:01.0000] <Molly_> now we have to do something with it :) [15:54:00.0000] <Molly_> I'm going to work on some text about the event [15:56:00.0000] <Lachy> what's the new domain name? [15:56:01.0000] <hsivonen> Molly_, annevk: 10 points: http://pastebin.ca/992541 [15:56:02.0000] <Molly_> Lachy: Hey Lachlan! [15:57:00.0000] <Molly_> the new domain names are futurewebevent.com and futurewebevent.org [15:57:01.0000] <Molly_> I like the singularity of the name :D [15:57:02.0000] <Molly_> we can have one event, or many [15:58:00.0000] <Molly_> and of course, it could happen at /any/ time [15:58:01.0000] <Molly_> it's totally asynchronous [16:01:00.0000] <Lachy> hi Molly! [16:05:00.0000] <Molly_> Lachy: Nice to "see" you :D 2008-04-22 [17:44:00.0000] <Dashiva> /me chuckles at 1472 [17:50:00.0000] <webben> Philip`: Have you done a survey of @abbr ? [17:57:00.0000] <takkaria> The Endgame [17:57:01.0000] <takkaria> mispaste there [18:00:00.0000] <Philip`> webben: What kind of survey? [18:03:00.0000] <Philip`> webben_: http://krijnhoetmer.nl/irc-logs/whatwg/20080422#l-43 [18:04:00.0000] <Philip`> From looking at a few cases of @abbr, it's used almost entirely for day names in calendars, and I think that's all from Wordpress [18:04:01.0000] <webben_> any sort of survey [18:05:00.0000] <Philip`> except for some who get the full/abbreviated forms the wrong way round [18:06:00.0000] <Philip`> and some who have abbr="abbrText" and abbr="%A" [18:06:01.0000] <webben_> Philip`: Do you have a link to that survey? [18:06:02.0000] <Philip`> webben_: No, since I only just started my thing looking for @abbr uses - it'll probably take ten minutes or so [18:06:03.0000] <webben_> oh right, that was quick [18:07:00.0000] <Philip`> Actually, it'd be more useful if I got the full cell text as well as the @abbr value [18:07:01.0000] <webben_> Yep. [18:10:00.0000] <Philip`> /me wonders what happens if he runs the surveyer process twice [18:10:01.0000] <Philip`> (*twice simultaneously) [18:11:00.0000] <Philip`> Oh, the second one goes fast since all the HTML data is cached [18:12:00.0000] <Philip`> webben_: Do you have any ideas of a useful way to present the data? [18:13:00.0000] <webben_> um ... cell innerHTML, abbreviation, URL to page/ideally page fragment [18:14:00.0000] <webben_> Philip`: conceivably one might want to include some other markers of sanity [18:14:01.0000] <webben_> e.g. abbr doesn't make much sense for a layout table: is this table using th/caption/summary/headers/scope [18:14:02.0000] <webben_> dunno how hard that would be to build into your tests though [18:15:00.0000] <Philip`> webben_: Hmm, there seems to be few enough non-calendar @abbr examples that it'd probably be better just to check those cases manually [18:16:00.0000] <webben_> maybe it's worth gathering non-calendar examples [18:16:01.0000] <webben_> specifically [18:16:02.0000] <Philip`> It'd be nice if I could automatically detect all the calendars [18:16:03.0000] <Philip`> but they're in lots of languages [18:16:04.0000] <webben_> if the calendar examples are just some devs following the same markup pattern, they won't tell us much [18:16:05.0000] <webben_> but they all have months and stuff? [18:17:00.0000] <webben_> I mean, it's not like the localizations are that complex [18:17:01.0000] <Philip`> (土曜日, woensdag, Martedì, domingo, ...) [18:17:02.0000] <Philip`> They're mostly day names, and only occasional month names [18:17:03.0000] <Philip`> (as far as I can tell) [18:17:04.0000] <webben_> hmm [18:18:00.0000] <webben_> if you had days of the week in major languages, that might do it. [18:18:01.0000] <Philip`> 星期六 -- hmm, charset error [18:19:00.0000] <Philip`> Maybe I could just look for any page with seven @abbr attributes [18:19:01.0000] <webben_> that's a bit fuzzy, might quasi-work though [18:21:00.0000] <Philip`> /me wonders if he can write the result-processing script before the result-collecting program finishes the last 50K pages... [18:22:00.0000] <webben_> hehe :) [18:23:00.0000] <Philip`> Erk, only 7K left [18:23:01.0000] <Philip`> I think I'm going to lose [18:24:00.0000] <webben_> Quick! Code faster ;) [18:25:00.0000] <Philip`> I lost [18:34:00.0000] <Philip`> webben_: Is http://philip.html5.org/data/table-abbr.html vaguely useful? [18:34:01.0000] <Philip`> Uh, that table needs borders [18:34:02.0000] <Philip`> (How do I give a table borders?) [18:34:03.0000] <webben_> td {border: 1px solid black;} [18:35:00.0000] <Philip`> Ah, thanks, that doesn't look too ugly [18:37:00.0000] <Philip`> /me updates the file [18:37:01.0000] <Philip`> It's sorted by number of abbr on the page, so all the ones with 5 are grouped together [18:42:00.0000] <Philip`> (By "5", I obviously mean "7", though that doesn't change the validity of my statement) [18:43:00.0000] <Dashiva> Philip`: Are you saying the ones with 5 aren't grouped? :) [18:44:00.0000] <Hixie> well [18:44:01.0000] <Philip`> Dashiva: I am making no statement whatsoever about the ones with 5 [18:44:02.0000] <Philip`> except to the extent that my statement about 7 generalises to all values of 7, including 5 [18:44:03.0000] <Hixie> what we determine from this is that people suck and abbr is as much of a mess as the rest of the web [18:44:04.0000] <Hixie> good times! [18:44:05.0000] <Philip`> I'm quite surprised that that page is valid HTML5, since I was hardly even trying [18:44:06.0000] <Dashiva> I used abbr for actual abbreviations today, so all is not lost [18:44:07.0000] <Philip`> though I doubt it's a very accessible table [18:45:00.0000] <Philip`> and also it doesn't render right unless you have a beta browser [18:47:00.0000] <Philip`> Hixie: Alternatively, we can determine that Wordpress has ensured that a majority of @abbr users are using it correctly and usefully [18:47:01.0000] <Philip`> (Well, I'm guessing it's Wordpress, but I only looked at about two examples...) [18:48:00.0000] <Philip`> Oh, I'm guessing wrong, there's lots of generic calendar widgets too [19:14:00.0000] <Hixie> Philip`: yeah, because the odds of someone knowing what "Sun" means in teh context of a calendar are so low that it's critical that it be marked up! [19:17:00.0000] <Philip`> Hixie: It seems reasonably critical when the headers say "M, T, W, T, ..." and you're navigating through the table and want to work out what day the 22nd is (by getting your AT to read the cell's headings) and you're in a "T" column [19:17:01.0000] <Dashiva> Surely you can afford two letters [19:17:02.0000] <Philip`> Two-letter day names are ugly [19:17:03.0000] <Philip`> Three letters looks fine by takes too much space [19:18:00.0000] <Hixie> Philip`: maybe. [19:18:01.0000] <Dashiva> Then use single letter but Tu and Th [19:18:02.0000] <jruderman_> i've seen R used for thursday [19:18:03.0000] <Philip`> That's even worse [19:18:04.0000] <jruderman_> MTWRF [19:18:05.0000] <Philip`> jruderman_: That's even worser, since it doesn't even make sense [19:18:06.0000] <Dashiva> jruderman_: That ruins the WTF substring [19:19:00.0000] <jruderman_> haha [19:19:01.0000] <jruderman_> "My Japanese class isn't just a WTF class. it meets on monday and tuesday too!" [19:21:00.0000] <Philip`> Making tables uglier for a vast majority of users, to make it more accessible for a minority, doesn't seem like a tradeoff that people will often pick [19:22:00.0000] <Philip`> so there should be a way to make the table accessible whose cost is lower than that ugliness [19:23:00.0000] <jwalden> R for Thursday makes total sense [19:23:01.0000] <Philip`> I can't stop myself reading it as "Rursday" [19:24:00.0000] <Philip`> And you still get problems on weekends, unless you say Sunday = U or N or something [19:24:01.0000] <Dashiva> You're only allowed to do that on days ending in -amburger [19:28:00.0000] <Philip`> Catalan(?) calendars look fun to abbreviate, since the days are dilluns, dimarts, dimecres, dijous, divendres, dissabte, diumenge [19:29:00.0000] <MikeSmith> 日月火水木金土 [19:30:00.0000] <Philip`> 日一二三四五六 [19:31:00.0000] <Philip`> (Chinese?) [19:31:01.0000] <Philip`> (I'm guessing based on the web site design, not on the text) [19:32:00.0000] <MikeSmith> 日一二三四五六 is not used in Japan at least [19:32:01.0000] <MikeSmith> so must be Chinese I guess [19:32:02.0000] <MikeSmith> weird that it uses numbers for every day except Sunday [19:32:03.0000] <Philip`> Is Sunday the first or last? [19:33:00.0000] <Philip`> (or middle?) [19:33:01.0000] <MikeSmith> Sunday is the first character [19:33:02.0000] <Philip`> Okay [19:33:03.0000] <MikeSmith> the last one is six [19:33:04.0000] <MikeSmith> 日 actually means "Sun" [19:34:00.0000] <MikeSmith> or also "day" [19:34:01.0000] <blooberry> mikesmith: wow, what you had just said could be hard to interpret if you didn't know the kanji. [19:34:02.0000] <Philip`> Looks more like a chest of drawers to me [19:35:00.0000] <Hixie> looks like the svgwg's requirement for svg in text/html is that any svg thing that works in text/html must work in xml if copy-pasted [19:35:01.0000] <Hixie> i wonder if that requirement is achievable [19:35:02.0000] <Philip`> What about SVG things that don't work in text/html? [19:35:03.0000] <Philip`> (and what does "work" mean?) [19:35:04.0000] <Hixie> not sure about svg things that don't work in text/html [19:36:00.0000] <Hixie> work means that you get an equivalent rendering with no new errors if you copy and paste the fragment from the original source bytestream and reserve it as image/svg+xml [19:37:00.0000] <Hixie> which i guess means we have to do extreme validity checking, e.g. making sure there are no conflicting xmlns attributes, and not rendering any graphics if there are any errors [19:38:00.0000] <othermaciej_> Hixie: I don't see how to achieve it without introducing some level of draconian handling to text/html [19:38:01.0000] <othermaciej_> which, to my mind, largely defeats the purpose of putting svg in text/html [19:38:02.0000] <Hixie> yes, you would have to introduce some sort of draconian handling for svg subtrees [19:38:03.0000] <Hixie> i'm not saying i agree with the requirement [19:38:04.0000] <Hixie> i'm saying that that is their requirement [19:39:00.0000] <Hixie> if we disagree with their requirement, then unless either we change our mind or they change their mind, we won't get consensus on what the spec should say [19:39:01.0000] <Hixie> the point might be moot if the requirement is no achievable, though [19:40:00.0000] <Hixie> so if one disagrees with the requirement, one has two lines of attack, either argue against the requirement, or argue that the requirement is not met (assuming it is indeed not met by their proposals) [19:40:01.0000] <Hixie> if one agrees with the requirement, then one would have to find a solution that meets it [19:40:02.0000] <Hixie> i don't see a sane solution that achieves it yet [19:44:00.0000] <Philip`> Hixie: Even if you do agree with the requirement, shouldn't you still argue that the requirement is not met if it's not met? [19:45:00.0000] <Philip`> That argument seems independent of opinions on the requirements, it's just about technical facts of the proposals [19:46:00.0000] <jruderman_> Philip`: whoever came up with the names for the days of the week clearly didn't think it through [19:47:00.0000] <Philip`> They really should have predicted that I'd have a digital watch with only space for two uppercase letters [19:48:00.0000] <h3h> isn't two easy? [19:48:01.0000] <Hixie> Philip`: sure [19:48:02.0000] <Hixie> Philip`: i [19:48:03.0000] <h3h> one is the hard case [19:48:04.0000] <Hixie> er [19:48:05.0000] <jruderman_> and that colleges would want to be able to express classes as being held on "MWF" or "TR" [19:48:06.0000] <h3h> I love Rursday [19:48:07.0000] <Hixie> Philip`: i'm just saying that if the requirement can't be met, and you're against hte requirement, it may be easier to argue that you agree with it and that it isn't met, than to disagree with it [19:49:00.0000] <Philip`> h3h: It's easy but it doesn't look very elegant [19:49:01.0000] <Hixie> Philip`: usually requirements _can_ be met, and thus arguing that it isn't met is not a successful argument against the requirement [19:49:02.0000] <h3h> true. it's easier to just use 0-6 [19:49:03.0000] <Philip`> Hixie: That seems like a dishonest way to argue [19:50:00.0000] <jruderman_> http://www.google.com/search?q=Rursday+mtwrf "Did you mean: Thursday mtwrf" [19:50:01.0000] <jruderman_> <3 google [19:50:02.0000] <Hixie> Philip`: i'm not necessarily advocating it [19:50:03.0000] <Hixie> Philip`: just making an observation :-) [19:50:04.0000] <Philip`> h3h: 0-6 is not easier when sensible people think weeks start on Monday but everyone else says Sunday [19:51:00.0000] <Hixie> Philip`: (it is important to be able to recognise such debate tactics since often people use them in the standards world) [19:51:01.0000] <Philip`> Hixie: I'm not necessarily implying it's a bad thing to do :-) [19:51:02.0000] <h3h> sounds like it's ripe for an RFC [19:51:03.0000] <Hixie> (or in politics in general!) [19:53:00.0000] <Philip`> (At least numeric day-of-week input is easy, because you can accept 0 and 7 as Sunday, and people can choose whether they want to think about Su-Sa=0-6 or Mo-Su=1-7) [19:58:00.0000] <othermaciej> Hixie: by the way, when do you plan to update acid3? [19:59:00.0000] <othermaciej> we've been sitting on the patch to fix WebKit [19:59:01.0000] <othermaciej> (which is lame and cheesy of us, admittedly) [20:10:00.0000] <Hixie> oh right [20:10:01.0000] <Hixie> will do that shortly [20:24:00.0000] <Hixie> just did big updates the the faq [23:48:00.0000] <Hixie> the ps3 web browser is so great i can't even click on the link to go to the acid3 test [23:49:00.0000] <Hixie> 25/100 and a renderig better than IE's [23:49:01.0000] <Hixie> not bad [23:49:02.0000] <othermaciej> heh [23:54:00.0000] <Hixie> hey it passes acid1 perfectly [00:51:00.0000] <webben_> Philip`: Thanks for the table :) From an initial look through, the abbr are either wrong and harmless (), or just harmless, or helpful (albeit not always /shorter/, but when not shorter, clearer) [00:52:00.0000] <webben_> wrong and harmless e.g. empty abbr on td when td is a layout cell in a layout table, not acting as a header. [00:53:00.0000] <webben_> It's interesting to see some people using abbr in a somewhat similar way to how I've used it (not just shortening/clarifying, but also dropping widgets like links out of headers) [00:53:01.0000] <webben_> e.g. where you have << M, dropping the << link to the previous week and substituting Monday for M. [00:54:00.0000] <Hixie> apparently the ps3 browser is a netfront build of some description [00:54:01.0000] <Hixie> which explains the less than stellar results i've been getting [00:54:02.0000] <Hixie> it also appears to not support |for (x in o) ...| [00:54:03.0000] <webben_> Hixie: is it still being developed? [00:54:04.0000] <Hixie> in js [00:54:05.0000] <Hixie> webben_: no idea [00:55:00.0000] <webben_> I got the impression a lot of the console browsers are developed by those mobile browser companies who've been thrown onto the rocks by Opera Mini and WebKit-derivatives. [00:58:00.0000] <othermaciej> Opera developed the Wii browser did they not? [00:58:01.0000] <othermaciej> (or do you count them as thrown on the rocks?) [00:59:00.0000] <webben_> othermaciej: I wouldn't count Opera as a mobile browser company (by which I really mean, a company that produces dedicated rendering engines for mobile, but not for desktop) [00:59:01.0000] <webben_> so not thrown on the rocks [01:00:00.0000] <webben_> s/by Opera Mini and WebKit-derivatives/by Opera and WebKit-derivatives/ [01:00:01.0000] <webben_> there's a least one browser of that sort where development has been canned entirely [01:00:02.0000] <webben_> forget which console it's for now [01:00:03.0000] <othermaciej> I'm just saying, there is no reason a console browser can't use a top tier engine [01:01:00.0000] <webben_> Oregan [01:01:01.0000] <othermaciej> I have heard of pure mobile browsers having trouble yeah [01:01:02.0000] <webben_> othermaciej: Absolutely. That's why the old products are being thrown on the rocks, as I understand it. [01:01:03.0000] <Hixie> yeah really, i don't understand why the ps3 doesn't use webkit or gecko [01:01:04.0000] <Hixie> the netfront browser is pretty crappy [01:02:00.0000] <webben_> it's funny they don't support for (x in o) given they have a whole Ajax widgets platform [01:02:01.0000] <othermaciej> they probably contracted it out and with with the lowest bidder [01:02:02.0000] <webben_> maybe this is an old version though [01:02:03.0000] <webben_> http://www.access-company.com/products/netfrontmobile/browser/widgets.html [01:03:00.0000] <webben_> /me tries to imagine being paid to develop a Netfront mobile widget. Can't quite see it. [01:03:01.0000] <webben_> we have way too many widget platforms [01:04:00.0000] <hsivonen> their marketing material shows the network operator as someone who should read browser marketing material. that's a bug right there. [01:20:00.0000] <hsivonen> Lachy: deleted spam and spammer from WHATWG blog [01:37:00.0000] <annevk> it seems that almost all abbr= usage is wrong from http://philip.html5.org/data/table-abbr.html [01:38:00.0000] <annevk> after all, abbr= should contain the abbreviated form, not the expansion [01:38:01.0000] <Lachy> hsivonen, thanks [01:38:02.0000] <annevk> admittedly, i never got that either when i've used it so i used it incorrectly too... [01:39:00.0000] <Lachy> hmm. There's still more to delete. I'll do it shortly. [01:39:01.0000] <Lachy> I also have to upgrade to WP2.5 [01:44:00.0000] <webben_> annevk: Well, it's "wrong" in a strict spec sense of not being an abbreviation; but unlike a lot of HTML usage, it's /right/ in the sense of picking up on how the attribute is meant to be used by user agents. [01:44:01.0000] <webben_> "Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content." [01:45:00.0000] <webben_> i.e. authors using expanded names for days are actually doing something useful for that usecase [01:45:01.0000] <webben_> even if they're tunnelling it through abbr [01:46:00.0000] <webben_> I suppose one could also argue that Monday is an "abbreviated form of the cell's content" of M in so far as M only really makes sense in the context of that row. [01:48:00.0000] <webben_> I grant it wouldn't work very well for " For visual media, the latter may be appropriate when there is insufficient space to render the full contents of the cell. " ... but then UAs could trivially detect which is shorter. [01:48:01.0000] <webben_> and in any case, no UA has implemented that visual use AFAIK. [01:50:00.0000] <webben_> see also: "Provide terse substitutes for header labels with the "abbr" attribute on TH. These will be particularly useful for future speaking technologies that can read row and column labels for each cell. Abbreviations cut down on repetition and reading time." (WCAG 1.0) ... Monday is a "summary information" for that header cell, given its context. [01:51:00.0000] <webben_> http://www.w3.org/TR/WCAG10-HTML-TECHS/#table-summary-info [01:52:00.0000] <webben_> /me wonders if any mobile browsers might implement short abbr attribute in visual display. [01:52:01.0000] <webben_> I can't see how an attribute works well for that, given table headers often contain links and so forth. [01:52:02.0000] <annevk> I don't think arguing it's right is useful. It's clear that nobody understood how it was to be used. [01:53:00.0000] <webben_> They understood how it /was/ used. [01:53:01.0000] <webben_> (and is used) [01:55:00.0000] <webben_> annevk: I'm not so much arguing it's right, as that the way it's used is useful, and reflects a use-case envisaged in the spec and actual UA implementations. [01:56:00.0000] <webben_> Actually, given it only says "may be appropriate", I guess it's consistent with the unimplemented(?) feature too. [01:57:00.0000] <webben_> /me concludes most abbr= usage is more-or-less right in Philip's sample. [01:59:00.0000] <webben_> that is, it's not unreasonable for UAs to apply an algorithm to decide whether it /is/ more appropriate. [02:04:00.0000] <hsivonen> wow. issue graph looking good. [02:08:00.0000] <Hixie> hsivonen: notice the new blue line :-) [02:10:00.0000] <hsivonen> Hixie: what's that? [02:10:01.0000] <Hixie> number of occurances of "XXX" and "big-issue" in the spec [02:10:02.0000] <hsivonen> lots of those [02:10:03.0000] <Hixie> 508 [02:11:00.0000] <hsivonen> I now see that the page documents the blue line [02:11:01.0000] <hsivonen> somehow it's hard to pick up from the middle of a paragraph [02:11:02.0000] <Hixie> i added it last week when my mail was being slow, since i started working on XXXs instead of mails [02:12:00.0000] <Hixie> that's where the document.scripts, applets, etc, was added [02:13:00.0000] <hsivonen> looking at my open schema bugs, unresolved WF2 questions are the main theme [02:14:00.0000] <Hixie> yeah [02:14:01.0000] <Hixie> i'm waiting for the task force to resolve in some way [02:14:02.0000] <Hixie> i don't want to merge wf2 if the w3c decides we're doing something else [02:14:03.0000] <Hixie> (though i'm likely to time out when i run out of other things to deal with) [02:15:00.0000] <hsivonen> I'm rather disappointed that there hasn't been more WF2 action in the Gecko and WebKit code bases by now [02:16:00.0000] <Philip`> http://code.google.com/soc/2008/webkit/about.html has a WF2 one [02:18:00.0000] <othermaciej> part of the reason we haven't moved very fast on WF2 is due to it being in semi-limbo [02:18:01.0000] <roc> yeah, didn't Hixie just say he was going to gut it? [02:19:00.0000] <annevk> /me would like most to stay in [02:19:01.0000] <annevk> though i'm obviously biased working for an implementor and having made a test suite [02:19:02.0000] <roc> personally I want XBL2 more [02:20:00.0000] <annevk> yeah, that'd be nice [02:20:01.0000] <hsivonen> roc: I thought Hixie said the repetetion model will be axed [02:20:02.0000] <othermaciej> XBL2 is also a WebKit gsoc project [02:20:03.0000] <othermaciej> both of those are pretty ambitious [02:20:04.0000] <hsivonen> othermaciej: implementing it would be the best way to get out of limbo [02:20:05.0000] <othermaciej> likely will not get to 100% in the scope of a single summer [02:21:00.0000] <othermaciej> hsivonen: yeah, but when we implement things we almost always have comments [02:21:01.0000] <Hixie> roc: i dunno about gutted, but maybe slimmed and trimmed [02:21:02.0000] <hsivonen> I thought "everyone" was expecting hyatt do implement XBL2 in WebKit [02:21:03.0000] <othermaciej> and the path to fielding them and updating the spec is a little unclear [02:21:04.0000] <othermaciej> hyatt has a short attention span [02:21:05.0000] <othermaciej> you can expect "someone" or maybe "multiple people" to implement XBL2 in WebKit sometime [02:23:00.0000] <hsivonen> Hixie: are you considering trimming something other than the repetition model? [02:25:00.0000] <roc> also, WF2 gives you better ways to do things that you can already do today [02:26:00.0000] <roc> but features like offline apps give you ways to do things you just can't do today [02:26:01.0000] <roc> the latter are a bit more compelling [02:26:02.0000] <Hixie> yeah [02:26:03.0000] <Hixie> hsivonen: everything is always at risk [02:26:04.0000] <hsivonen> roc: yeah, but not having native sliders sucks. and having to use ARIA to make the "today" version accessible sucks [02:27:00.0000] <roc> yeah, I understand [02:27:01.0000] <othermaciej> roc: we try to balance improvements to existing stuff and brand new functionality [02:27:02.0000] <othermaciej> Selectors API would be in the former category [02:27:03.0000] <roc> so do we [02:27:04.0000] <othermaciej> arguably CSS Transitions too [02:27:05.0000] <roc> I would argue that's more in the new functionality category [02:28:00.0000] <othermaciej> really? almost every JS library has a well-optimized version [02:28:01.0000] <Hixie> it's a continuum [02:28:02.0000] <othermaciej> saving the big pile o' code and the > order of magnitude speedup is good of course [02:28:03.0000] <roc> giving the browser control of the frame rate is a great new capability [02:29:00.0000] <othermaciej> well, being able to write an AJAX combo box without a big pile of script and explicit XHR is also a great new capability [02:29:01.0000] <othermaciej> as is a slider control (though that one we already have in WebKit) [02:29:02.0000] <Hixie> the slider control was the first whatwg feature to get a public demo [02:30:00.0000] <Hixie> though i doubt steve jobs knew what he was demoing when he showed it [02:30:01.0000] <Hixie> wwdc 2004, iirc [02:30:02.0000] <roc> othermaciej: stuff like GWT exists [02:30:03.0000] <roc> I'm not saying WF2 is worthless [02:31:00.0000] <Hixie> it's not as exciting [02:31:01.0000] <othermaciej> roc: GWT is surely far more of a burden for delivering features than, say, jQuery or Dojo [02:31:02.0000] <roc> sure, they exist too [02:31:03.0000] <othermaciej> I really want <input type="search"> and <input placeholder=""> in the spec [02:31:04.0000] <othermaciej> so I know what we need to fix to make them spec-compatible [02:32:00.0000] <Hixie> othermaciej: get the task force disolved :-) [02:32:01.0000] <Hixie> or at least resp;ved [02:32:02.0000] <othermaciej> Hixie: I did my best! [02:32:03.0000] <Hixie> resolved [02:32:04.0000] <othermaciej> I will have to write the Architectural Consistency document myself, I guess [02:32:05.0000] <othermaciej> and fruitlessly get people to comment [02:32:06.0000] <roc> I spent a significant amount of effort polishing getBoundingClientRect/getClientRects this cycle, so I do care about improving existing stuff :-) [02:32:07.0000] <othermaciej> I guess odds are no one else on the TF will do real work though [02:33:00.0000] <annevk> i will update the webpage to point to your document :) [02:34:00.0000] <othermaciej> roc: I'm not even sure what we are debating because I almost always agree with your judgment about what is good to add to the web platform [02:35:00.0000] <Hixie> othermaciej: well, if nobody does any real work, your job is easier -- just do the work you want, and keep pushing it and giving deadlines until you basically have a de facto resolution [02:35:01.0000] <roc> yeah, it's one of those silly conversations [02:39:00.0000] <annevk> so since you're all here [02:39:01.0000] <annevk> would it be problematic if i pushed rangeFromPoint and caretRangeFromPoint to v2? [02:40:00.0000] <annevk> along with all other improvements for a CSS box model API? [02:40:01.0000] <othermaciej> not sure what is in that category [02:40:02.0000] <annevk> i'm not sure either [02:40:03.0000] <othermaciej> it's not a problem for me but we may feel compelled to invent something ourselves due to high-priority developer requests [02:41:00.0000] <othermaciej> (specifically for hit testing to a character) [02:41:01.0000] <roc> RangeView is in that category too, getBCR and getCR for ranges [02:41:02.0000] <annevk> that'd be caretRangeFromPoint... [02:41:03.0000] <othermaciej> yeah [02:41:04.0000] <othermaciej> what is RangeView? [02:42:00.0000] <annevk> some additional features for Range [02:42:01.0000] <othermaciej> ah [02:42:02.0000] <annevk> to get the size of ranges [02:42:03.0000] <roc> it [02:42:04.0000] <annevk> ok, I suppose i can add caretRangeFromPoint and rangeFromPoint and have another WD first before going to Last Call [02:43:00.0000] <roc> the reverse of rangeFromPoint etc ... methods to give you the bounding boxes of text subranges [02:43:01.0000] <othermaciej> I'm still not sure what the regular rangeFromPoint is suposed to do [02:43:02.0000] <othermaciej> and how it is different [02:43:03.0000] <othermaciej> roc: yeah, that sounds useful [02:43:04.0000] <annevk> the regular rangeFromPoint is hit testing without layout calculations [02:43:05.0000] <annevk> so it would return an element range if you click in the margin [02:43:06.0000] <othermaciej> what does that mean? [02:43:07.0000] <roc> rangeFromPoint is like elementFromPoint [02:43:08.0000] <othermaciej> "without layout calculations" [02:44:00.0000] <roc> except that if you're over a text node, it can give you a particular character cell [02:44:01.0000] <othermaciej> all hit testing is based on layout [02:44:02.0000] <annevk> othermaciej, well, I mean you don't need to find the nearest text node, it just returns what's right under the cursor [02:44:03.0000] <othermaciej> what is the use case for that? [02:44:04.0000] <annevk> "cursor" [02:44:05.0000] <othermaciej> you still have to hit test line boxes if it is supposed to give character cells when you click the character [02:45:00.0000] <othermaciej> and you'd also have to define what happens when you click in the gap between lines [02:45:01.0000] <othermaciej> is that part of the line box? [02:45:02.0000] <roc> you can specify it in terms of event targeting [02:45:03.0000] <othermaciej> it sounds like it would actually be harder to implement, potentially [02:46:00.0000] <othermaciej> since every engine that supports editing must have the logic to do the equivalent of caretRangeFromPoint [02:46:01.0000] <othermaciej> mouse events don't target text nodes [02:47:00.0000] <roc> I'd argue that's a quirk of the DOM [02:48:00.0000] <roc> you may be right, perhaps the use cases for rangeFromPoint are limited enough that authors should just use a combination of elementFromPoint and caretRangeFromPoint [02:48:01.0000] <othermaciej> I'm still not entirely sure what would be a use case for rangeFromPoint [02:48:02.0000] <roc> but hmm [02:48:03.0000] <othermaciej> not denying there is one [02:48:04.0000] <othermaciej> I just can't think of one off hand [02:49:00.0000] <roc> for example, people want to track the mouse cursor and show, say, the definition of the word that the mouse is hovering over [02:49:01.0000] <annevk> so if we let rangeFromPoint slide for the moment and only have caretRangeFromPoint, how would we define it? [02:49:02.0000] <roc> so if the cursor is in the padding of a block, you don't want to show anything [02:49:03.0000] <othermaciej> why isn't caretRangeFromPoint good enough? [02:49:04.0000] <othermaciej> presumbly you want to show only when you'd be between two chars of a word [02:49:05.0000] <othermaciej> not at the edge [02:49:06.0000] <roc> you don't want to return the character position for the start of the line [02:50:00.0000] <hsivonen> does XPatch context position count comment nodes and whitespace-only text nodes? [02:50:01.0000] <hsivonen> XPath [02:50:02.0000] <roc> suppose they want to show when the caret's at the start or end of a word [02:51:00.0000] <roc> or the mouse, I mean [02:51:01.0000] <roc> so the thing is, if the mouse is over the first character, you'd want to show the popup [02:52:00.0000] <roc> hmm [02:52:01.0000] <roc> I suppose if caretRangeFromPoint is defined so that when the mouse is in the padding, you get an empty range postiioned at the start of the line, but if it's over a character then you get the range containing the character [02:52:02.0000] <roc> then that case would be fine [02:52:03.0000] <othermaciej> annevk: well, I could look up what we do to implement hit testing to characters, but I am not sure if that will result in anything that gives a sane definition [02:52:04.0000] <othermaciej> roc: though, to be fair, I guess that would require you to slide partway over the first character to see it, which is annoying [02:52:05.0000] <othermaciej> you do want to be able to hit test to a glyph (and detect when you did not hit a glyph box at all) [02:53:00.0000] <othermaciej> yeah but that's not a caret range, so you'd have to change the name [02:53:01.0000] <roc> yeah [02:53:02.0000] <othermaciej> presumably for a multichar glyph you'd want to give the range of all contributing characters in such a case [02:53:03.0000] <roc> I think I agree that the "caret" range is going to be more useful than any alternative [02:53:04.0000] <roc> yeah [02:53:05.0000] <othermaciej> so maybe glyphBoxRangeFromPoint [02:53:06.0000] <roc> no [02:54:00.0000] <roc> that would be confusing when dealing with ligatures [02:54:01.0000] <othermaciej> hmm yeah [02:54:02.0000] <othermaciej> you'd want to decide that some way through the ligature the chars split [02:54:03.0000] <roc> yeah [02:54:04.0000] <roc> the browser has to do that when selecting text containing ligatures, anyway [02:56:00.0000] <othermaciej> typography is hard [02:56:01.0000] <roc> tell me about it [02:56:02.0000] <othermaciej> I just did [02:56:03.0000] <othermaciej> :-) [02:58:00.0000] <roc> maybe something like selectionRangeFromPoint [02:58:01.0000] <othermaciej> a point doesn't really define a selection [02:59:00.0000] <Hixie> selectionRangeFromTwoPoints()? :-) [02:59:01.0000] <roc> where one end of the range is the nearest possible selection anchor "before" the given point, and the other end of the range is the nearest possible anchor "after" the given point [02:59:02.0000] <othermaciej> it is hard to think of a good name [02:59:03.0000] <othermaciej> Hixie: that would be redundant with getting the caret range for each point and using those as the endpoints [02:59:04.0000] <annevk> selectionRangeFromRect() [02:59:05.0000] <roc> I dunno [02:59:06.0000] <Hixie> true [02:59:07.0000] <roc> argh no [02:59:08.0000] <annevk> /me was joking [03:00:00.0000] <annevk> othermaciej, it might help, dunno [03:11:00.0000] <annevk> roc, re: www-style, :) [03:12:00.0000] <roc> I have decided to be the bad cop [03:12:01.0000] <roc> on this issue [03:12:02.0000] <othermaciej> /me guesses what the issue is before checking www-style [03:13:00.0000] <Hixie> what's going on in www-style these days [03:13:01.0000] <othermaciej> /me guessed correctly [03:13:02.0000] <annevk> fonts and cssom-view rants [03:13:03.0000] <othermaciej> roc: I almost asked him if he could point to any font EULA that specifically allows use on the web in EOT form but not as regular OpenType, with specific wording [03:14:00.0000] <Hixie> seems i haven't looked at www-style for a month now [03:14:01.0000] <roc> othermaciej: that's more jdaggett's angle. [03:14:02.0000] <Hixie> oh has paul still not replied to my e-mail? [03:14:03.0000] <roc> too subtle for me [03:14:04.0000] <zcorpan> /me hasn't looked at www-style for, uh, over a year probably [03:14:05.0000] <othermaciej> he says font vendors will sue you if you use WebFonts: http://lists.w3.org/Archives/Public/www-style/2008Apr/0372.html [03:14:06.0000] <hsivonen> /me agree's with howcome's latest in that thread [03:15:00.0000] <hsivonen> agrees [03:15:01.0000] <hsivonen> the linguistic quality of my IRC output has gotten terrible lately [03:15:02.0000] <Hixie> http://lists.w3.org/Archives/Public/www-style/2007Nov/0263.html http://lists.w3.org/Archives/Public/www-style/2007Nov/0274.html http://lists.w3.org/Archives/Public/www-style/2007Dec/0084.html [03:17:00.0000] <annevk> hsivonen, it's not you, it's the medium [03:17:01.0000] <roc> font vendors are welcome to sue anyone they please [03:17:02.0000] <roc> as long as it's not our problem [03:17:03.0000] <hsivonen> jdaggett has a good point Re: Mac OS X fonts. [03:17:04.0000] <hsivonen> Mac OS X automates embedding the fonts Apple ships in PDFs all over. are those fonts fair game for CSS usage, too? [03:17:05.0000] <roc> whoever it was who pointed out that exactly the same issues apply to *images* was spot on [03:18:00.0000] <Hixie> not just images [03:18:01.0000] <roc> indeed, before the rise of HTML there were a lot of competing hypermedia platforms which invested heavily in strict DRM [03:18:02.0000] <Hixie> stylesheets too! [03:18:03.0000] <Hixie> and html! [03:18:04.0000] <Hixie> and scripts! [03:18:05.0000] <hsivonen> roc: it's this crazy idea that fonts, movies and music are holier than images and text [03:18:06.0000] <Hixie> in fact, fonts have _LESS_ copyright protection than anything else! [03:19:00.0000] <hsivonen> Hixie: bitmap fonts in the U.S. yes [03:19:01.0000] <roc> people went around saying that hypermedia can't be successful until we've solved the issues of making sure authors get paid [03:19:02.0000] <hsivonen> Hixie: Adobe has been pretty good at casting outline fonts as software [03:19:03.0000] <Hixie> font outlines aren't copyrightable. programs that define font hinting are, maybe. [03:20:00.0000] <Hixie> i dunno if that's ever been tested though. [03:20:01.0000] <Philip`> roc: Does that mean we needs fonts that have embedded adverts? [03:20:02.0000] <Philip`> *need [03:20:03.0000] <roc> they also made consistency requirements, so there are never broken links [03:20:04.0000] <othermaciej> I'm once again thinking of proposing my own idea for a secure font format [03:20:05.0000] <othermaciej> OpenType-rot13 [03:20:06.0000] <roc> how's that different from EOT? [03:20:07.0000] <othermaciej> it would provide just as much security as EOT but it would be way easier to implement [03:20:08.0000] <roc> well yeah [03:20:09.0000] <roc> I think Paul might even argue that's actually good enough [03:21:00.0000] <hsivonen> Hixie: fortunately, people are arguing the legal angle from the U.S. point of view [03:21:01.0000] <othermaciej> roc: I admire your assumption of relative good faith on his part [03:21:02.0000] <roc> the only requirement seems to be that you can't grab a URL from somewhere, download the font in your browser and drop it into your fonts folder [03:21:03.0000] <Hixie> yeah i have to say, i'm at least as cynical as maciej at this point [03:21:04.0000] <roc> nobody out-paranoids me! [03:22:00.0000] <hsivonen> Hixie: over here, there's no exception for fonts, so per statute, the copyright situation of fonts is insane [03:22:01.0000] <othermaciej> I think Microsoft's main reason for pushing EOT is that they already have it implemented as a web font format [03:22:02.0000] <hsivonen> Hixie: here the legal culture leaves lots of special cases undefined and relies on people having common sense [03:22:03.0000] <Hixie> hsivonen: ah [03:22:04.0000] <roc> but here there's nothing to lose from a good-faith assumption [03:22:05.0000] <annevk> for those who can read it, http://lists.w3.org/Archives/Member/w3c-css-wg/2008AprJun/0091.html has more information [03:22:06.0000] <othermaciej> Microsoft is a big fan of standardizing whatever they happen to have implemented already [03:22:07.0000] <roc> othermaciej: yeah [03:22:08.0000] <othermaciej> see OOXML [03:22:09.0000] <Hixie> the whole discussion is moot anyway [03:23:00.0000] <roc> hey man, Apple's a big fan of OOXML [03:23:01.0000] <Hixie> everyone (other than microsoft) should just implement TTF and move on [03:23:02.0000] <Hixie> and let IE linger in its obsolescence [03:23:03.0000] <roc> that's certainly what's going to happen [03:23:04.0000] <othermaciej> there's little chance of WebKit removing OpenType support [03:23:05.0000] <othermaciej> but we have gotten requests to also support EOT [03:24:00.0000] <Hixie> othermaciej: be strong! [03:24:01.0000] <othermaciej> Hixie: well, if some crazy bastard put it in an Acid test I might not say no [03:24:02.0000] <Hixie> hehe [03:24:03.0000] <roc> you need to be strong vs Hixie too [03:25:00.0000] <Hixie> i learnt a lot from acid3 [03:25:01.0000] <Hixie> sadly my job means that my learning experiences get splattered across the web and affect a lot of engineers [03:25:02.0000] <othermaciej> acid3 didn't have any feature tested that we were truly deeply opposed to [03:26:00.0000] <Philip`> Acid3 shows that browser vendors are easily manipulated into implementing whatever you want [03:26:01.0000] <othermaciej> though some would have been much more on the back burner otherwise (mainly svg animation and fancy svg font stuff) [03:26:02.0000] <roc> I have a linger resentment over SMIL [03:26:03.0000] <roc> but I'll get over it [03:26:04.0000] <Hixie> Philip`: not really, i always got a majority agreement from the vendors before adding anything to the test [03:26:05.0000] <Hixie> roc: yeah, one of the things i learnt is that i should not have pushed for 100 tests [03:27:00.0000] <Hixie> roc: when i ran out of thigns to test, i should have stopped, not gotten other people to submit their pet peeves [03:27:01.0000] <othermaciej> I think the third-party submissions should have been reviewed more carefully [03:27:02.0000] <roc> I learned that I should have submitted *my* pet peeves [03:27:03.0000] <othermaciej> some of the submitted tests were good [03:27:04.0000] <othermaciej> the svg ones were kinda crazy [03:27:05.0000] <othermaciej> even heycam's test which I respect the thoroughness of [03:28:00.0000] <othermaciej> I thought about submitting tests but I felt it would be a bit dodgy to do so as a browser vendor [03:28:01.0000] <othermaciej> (maybe unless webkit failed them too) [03:30:00.0000] <Philip`> Hixie: I wouldn't worry about the damaging splatters of your learning experiences (/mistakes) in Acid3 - they'll be dwarfed by the problems caused by HTML5 [03:32:00.0000] <othermaciej> Acid3 highlighted for me how much critical web application functionality lacks a proper spec [03:32:01.0000] <othermaciej> (many now in progress though) [03:33:00.0000] <Hixie> Philip`: oh i was thinking of html5 too when i said that [03:35:00.0000] <hsivonen> is Silverlight already in a standards pipeline at ECMA or somewhere? [03:36:00.0000] <othermaciej> not that I'm aware of [03:36:01.0000] <othermaciej> though Microsoft has let Novell clone it [03:36:02.0000] <Hixie> parts of it are already standardised [03:36:03.0000] <Hixie> dunno about the silverlight-specific APIs [03:37:00.0000] <othermaciej> C# and its standard library are standardized [03:37:01.0000] <othermaciej> well, insofar as an ECMA rubber stamp means anything [03:39:00.0000] <Hixie> /me throws his lot into the webfonts debate [03:40:00.0000] <Philip`> /me wonders if the criticisms of the OOXML-in-ECMA process apply at all to ECMAScript [03:40:01.0000] <othermaciej> ECMAScript is its own kind of hot mess [03:40:02.0000] <othermaciej> not a lotta rubber stamping happening though [03:44:00.0000] <othermaciej> ironically WebKit now has (I think) code to convert OpenType files to EOT to support OpenType WebFonts with GDI text [03:44:01.0000] <Hixie> that's fucked up [03:44:02.0000] <othermaciej> (since that is the only format that has a GDI API for in-memory activation) [03:49:00.0000] <roc> it is? [03:49:01.0000] <roc> bah [03:49:02.0000] <Philip`> /me got worried by how many people use @font-face, until realising that @font-face{src} was the interesting thing, and not many (~0.03%) use that [03:50:00.0000] <Philip`> (or at least use it in inline <style> in their HTML file) [03:54:00.0000] <krijnh> MikeSmith: is http://michaelwsmithfans.org/ yours? :) [03:56:00.0000] <roc> no [03:56:01.0000] <roc> I doubt it :-) [03:56:02.0000] <MikeSmith> no [03:56:03.0000] <MikeSmith> I have no fans [03:57:00.0000] <MikeSmith> I have only a hate club [03:57:01.0000] <annevk> Hixie, document.createElement("meta") is non-conforming?! [03:57:02.0000] <krijnh> :) [03:57:03.0000] <Hixie> annevk: the meta element that comes out of it is, yes, until it has an attribute set [03:58:00.0000] <annevk> that means it's impossible to insert elements without at some point being non-conforming [03:59:00.0000] <annevk> i'd like a way to be pedentically correct without having to resort to innerHTML tactics [03:59:01.0000] <Hixie> you know, this is pretty insane. i give all my wireless devices static IPs on my network, and my list of (actively used) static IPs now has nine separate devices on it. [03:59:02.0000] <Hixie> annevk: it doesn't matter if it's non-conforming while script is running [03:59:03.0000] <Hixie> annevk: just like it doesn't matter if the document is non-conforming while the parser is still parsing the file [04:00:00.0000] <annevk> that sounds reasonable [04:00:01.0000] <Hixie> wii, ps3, my three laptops, my girlfriend's laptop, my mac mini, my router, and my ipod [04:01:00.0000] <Lachy> Hixie, in 8.2.4 Tokenisation, the spec says "When a DOCTYPE token is created, its self-closing flag must be unset (its other state is that it be set), and its attributes list must be empty. Comment and character tokens have data." - I think that's supposed to say Start Tag token [04:02:00.0000] <Lachy> it's the end of the 3rd paragraph in that section. [04:04:00.0000] <hsivonen> speaking of Mac Mini, the rumors said there'd be a new one today. [04:04:01.0000] <hsivonen> is it really Apple announcement Tuesday today? [04:04:02.0000] <othermaciej> every Tuesday is Announcement Tuesday [04:04:03.0000] <othermaciej> well, almost every [04:08:00.0000] <Hixie> Lachy: looks like you're right. can you send mail? [04:09:00.0000] <Hixie> hsivonen: new mac minis? just refreshes, or apple awesome? [04:09:01.0000] <hsivonen> Hixie: the rumors did not say [04:10:00.0000] <hsivonen> /me wants iMac internals without the integrated display [04:10:01.0000] <hsivonen> the 2GB RAM cap on Mini sucks [04:11:00.0000] <mpt> Is it appropriate to have multiple adjacent <nav> elements? The spec's not clear about that [04:12:00.0000] <annevk> it seems to be allowed [04:15:00.0000] <annevk> <abbr title> or <abbr aria-describedby=foo> <abbr title id=foo> [04:16:00.0000] <mpt> hmm [04:16:01.0000] <annevk> i'm joking [04:16:02.0000] <mpt> In Firefox 3 <nav> is rendered as inline [04:16:03.0000] <mpt> oh well, back to <div> :-) [04:17:00.0000] <mpt> /me should have realized that earlier [04:17:01.0000] <Hixie> mpt: thought they'd fixed that [04:17:02.0000] <Hixie> did they only do <Section> or something? [04:18:00.0000] <mpt> (I mean, back to <nav><div>...</div><div>...</div></nav>, as opposed to <nav>...</nav><nav>...</nav>) [04:18:01.0000] <annevk> mpt, hmm, nav { display:block } ? [04:18:02.0000] <mpt> annevk, yeah, but we have can't-be-ignored text browser usage too [04:18:03.0000] <annevk> that should work fine in Firefox 3 / Opera 9.x / Safari 3.x [04:18:04.0000] <mpt> So Firefox's behavior was more of a cluestick for me, than an actual blocker [04:20:00.0000] <mpt> And then there's that pesky 4% of IE6 users [04:20:01.0000] <annevk> document.createElement('nav') [04:20:02.0000] <annevk> makes it work in Ie [04:20:03.0000] <annevk> IE, even [04:20:04.0000] <Lachy> Hixie, yeah, I'll send mail now [04:20:05.0000] <mpt> yeah, but I don't actually *need* <nav> for anything :-) [04:20:06.0000] <mpt> I was just using it because it was there [04:20:07.0000] <hsivonen> XPath is hard. Why am I not doing this in SAX/Java? [04:21:00.0000] <Hixie> Lachy: thanks! [04:21:01.0000] <annevk> mpt, now you're just making up random excuses :p [04:21:02.0000] <mpt> I need to use classes on them anyway, so <div class="foo"> is no worse than <nav class="foo">, and it works in more browsers, end of story [04:23:00.0000] <Hixie> the createElement hack is pretty freaky cool [04:24:00.0000] <hsivonen> what's the right way to check if the context node has following sibling elements or non-whitespace text nodes? [04:25:00.0000] <annevk> iterator [04:25:01.0000] <annevk> nextElementSibling doesn't actually barf if there's non whitespace text nodes [04:25:02.0000] <hsivonen> in XPath [04:26:00.0000] <annevk> dunno [04:26:01.0000] <annevk> #whatwg is the wrong place for such questions I'm afraid :) [04:26:02.0000] <hsivonen> following-sibling::node() seems to be it [04:27:00.0000] <hsivonen> for some weird reason following-sibling::* didn't work even for elements [04:27:01.0000] <krijnh> (A test for the IRC logs, like http://www.example.com/) [04:28:00.0000] <annevk> The coolest website is http://www.example.com/. I love it! [04:28:01.0000] <krijnh> :) [04:28:02.0000] <annevk> Do you know what the coolest website is (http://www.example.com/)? [04:29:00.0000] <Dashiva> hsivonen: odd, element should be default node type there... [04:29:01.0000] <annevk> In e-mails we write URLs like so: <http://www.example.com/>. Does it work? [04:29:02.0000] <Dashiva> annevk: I prefer www.example.com myself [04:30:00.0000] <annevk> krijnh, I hope no fix is deployed yet because it's a big multifail :) [04:30:01.0000] <krijnh> Not yet [04:30:02.0000] <krijnh> (^|[\\s.:;?\\-\\]<\\(])(http://[-\\w;/?:@&=+$.!~*\'()%,#]+[\\w/])(?=$|[\\s.:;?\\-\\[\\]>\\)]) [04:30:03.0000] <Dashiva> Maybe he's bugtesting and not feature testing [04:30:04.0000] <krijnh> Damn nasty [04:30:05.0000] <Dashiva> My eyes [04:31:00.0000] <hsivonen> hrm. ::node() seems to select whitespace nodes, too [04:31:01.0000] <Dashiva> "A node test node() is true for any node of any type whatsoever." [04:32:00.0000] <hsivonen> I thought the XPath data model was supposed to omit whitespace-only nodes [04:32:01.0000] <annevk> ::following-sibling[node() != text()] [04:33:00.0000] <annevk> oh wait, whitespace [04:34:00.0000] <hsivonen> one would think that an XML-specific language made whitespace-only ignoring easy... [04:35:00.0000] <krijnh> http://krijnhoetmer.nl/irc-logs/whatwg/20080422#l-669 [04:35:01.0000] <krijnh> [link] or the plain uri? [04:35:02.0000] <Hixie> <link> didn't work [04:35:03.0000] <Hixie> i prefer the plain uri [04:35:04.0000] <Hixie> personally [04:36:00.0000] <Dashiva> I always figured xpath worked on a DOM, so the whitespace ignoring would take place during the parsing step instead [04:36:01.0000] <annevk> plain URI please [04:36:02.0000] <krijnh> Done [04:36:03.0000] <annevk> and you need to add > to the lits of characters [04:36:04.0000] <annevk> and < prolly [04:37:00.0000] <hsivonen> how can testing for following sibling presence be this hard? [04:37:01.0000] <annevk> also, some weird semi colon is added after the <> link [04:37:02.0000] <annevk> hmm [04:37:03.0000] <Hixie> hsivonen: what are you doing? [04:37:04.0000] <hsivonen> Hixie: testing if a first table child of datagrid has following siblings [04:37:05.0000] <krijnh> That's weird, does work on http://krijnhoetmer.nl/zooi/php/preg_replace_2.php [04:38:00.0000] <Hixie> hsivonen: in some schema language? [04:38:01.0000] <hsivonen> Hixie: yes [04:38:02.0000] <annevk> krijnh, is it some htmlentities cleanup weirdness later? [04:38:03.0000] <Hixie> hsivonen: sorry to hear that [04:38:04.0000] <annevk> krijnh, or maybe the htmlentities happens first which is what messes it up? [04:38:05.0000] <hsivonen> Hixie: I'm going to implement it in Java later anyway. This is supposed to be a rapid prototype [04:39:00.0000] <Hixie> heh [04:39:01.0000] <hsivonen> but XPath doesn't make this case exactly rapid [04:39:02.0000] <krijnh> Ah, doh [04:39:03.0000] <Hixie> rapid, you say :-) [04:39:04.0000] <Dashiva> Rapid descent into frustration [04:39:05.0000] <krijnh> Yeah, it's first htmlspecialchared [04:39:06.0000] <hsivonen> I mean, you'd think XPath could express this sort of thing! [04:40:00.0000] <annevk> krijnh, probably better to reverse that order [04:40:01.0000] <hsivonen> hmm. perhaps I should check that the context node is the last child of its parent [04:40:02.0000] <Dashiva> Or next-to-last with whitespace following [04:40:03.0000] <krijnh> annevk: then <a href="foo"> gets htmlspecialchared [04:41:00.0000] <annevk> krijnh, oops, duh [04:41:01.0000] <Dashiva> krijnh: urlencode it first then :) [04:41:02.0000] <krijnh> You guys just shouldn't use < and > around your links :) [04:42:00.0000] <krijnh> Or just str_replace('&gt</a>;', '</a>&gt;') :> [04:43:00.0000] <annevk> or include end at & but not at &amp; [04:43:01.0000] <annevk> s/include// [04:43:02.0000] <annevk> for the URI regexps [04:43:03.0000] <annevk> this might make it even more insane :) [04:44:00.0000] <Dashiva> How 'bout not inserting the URLs, but rather a placeholder, and doing a replace on the placeholders at the very end [04:44:01.0000] <Hixie> krijnh: while you're working on the logs, any chance i could get you to change the line counts on the front page to not count the lines that the log pages filter out? [04:44:02.0000] <Hixie> e.g. joins, parts [04:46:00.0000] <krijnh> I don't filter those on the homepage [04:46:01.0000] <krijnh> That's just a simple count on the array of all lines [04:46:02.0000] <Hixie> yeah [04:46:03.0000] <krijnh> What a mess [04:46:04.0000] <krijnh> :D [04:46:05.0000] <Hixie> sometimes i see a log has a lot of lines and i excitingly go to see what was said and i just see two lines, log started, log ended. :-) [04:46:06.0000] <Dashiva> Just make the filtering be off by default, then people won't notice :) [04:48:00.0000] <krijnh> <http://www.example.com/> works now [04:50:00.0000] <zcorpan> [http://www.example.com/] http://www.example.com/, {http://www.example.com/} [04:51:00.0000] <zcorpan> hmm opera includes } in the link [04:51:01.0000] <krijnh> What the [04:53:00.0000] <jwalden> by the way, so people know, I'm working on converting Mozilla's postMessage tests to work with an async postMessage, should that happen; it is an extremely painful process to do so [04:53:01.0000] <jwalden> converting http://bonsai.mozilla.org/cvsblame.cgi?file=/mozilla/dom/tests/mochitest/whatwg/test_postMessage_origin.xhtml&rev=1.2&mark=412-432#388 took around three hours to do and get right, with multiply-nested setTimeouts in at least one place [04:54:00.0000] <jwalden> my conclusion is that sequential communication using postMessage is significantly harder when postMessage works async, as opposed to when it is sync [04:55:00.0000] <Hixie> jwalden :-/ [04:55:01.0000] <Hixie> er, with fewer spaces [04:55:02.0000] <Hixie> on the long run we really want a pipe system link my endpoint proposal [04:55:03.0000] <Hixie> that would make it much easier i imagine [04:56:00.0000] <jwalden> I don't know how common back-and-forth will be as opposed to one-shotters, but I don't think it'll be fun when it happens [04:56:01.0000] <jwalden> some of the tests Just Worked, but those were the ones that tested one thing in isolation [05:02:00.0000] <annevk> can Firefox still change? [05:02:01.0000] <annevk> for Firefox 3, that is [05:02:02.0000] <roc> probably [05:02:03.0000] <krijnh> Hixie: fixed [05:02:04.0000] <Philip`> Automated insertion of <abbr> is great when people use that kind of thing on blogs and it makes their XHTML examples print like <HTML xmlns="http://www.w3.org/1999/XHTML"> where the uppercase bits are in <acronym>s (and styled to uppercase) [05:02:05.0000] <krijnh> I think [05:03:00.0000] <Hixie> krijnh: thanks! [05:03:01.0000] <krijnh> It's pretty slow though :/ [05:04:00.0000] <annevk> krijnh, could you also filter session start, session end and such? [05:04:01.0000] <annevk> krijnh, so that for effectively empty logs it says 0 rather than 4 [05:04:02.0000] <Hixie> hm, entities allow one to include control characters and permanently undefined unicode characters [05:05:00.0000] <annevk> there are raised issues about that [05:05:01.0000] <annevk> in particular the way entities are locked to UTF-16 in some implementations is interesting (and potentially troublesome) [05:07:00.0000] <zcorpan> what alt text should the randomly selected image on http://ln.hixie.ch/ have? :) same as it has on Flickr? [05:07:01.0000] <Philip`> zcorpan: alt="" since it's decorative and doesn't otherwise enhance the value of the page [05:07:02.0000] <jwalden> I have async implemented; the patch is a bit complicated due to the way you have to split computation and use to avoid timing issues, but it's not bad [05:08:00.0000] <krijnh> annevk: done [05:08:01.0000] <jwalden> updating the tests will easily eclipse the time needed to change the implementation [05:08:02.0000] <annevk> krijnh, it still reports 1 for some reason... [05:08:03.0000] <annevk> weird [05:08:04.0000] <jwalden> I'm guessing at least a factor of three [05:08:05.0000] <krijnh> No it doesn't :) [05:09:00.0000] <annevk> no some logs report -1 [05:09:01.0000] <annevk> :p [05:09:02.0000] <annevk> now* [05:09:03.0000] <annevk> i guess that's acceptable [05:09:04.0000] <krijnh> Yeah, that's only for 18 days [05:09:05.0000] <jwalden> right now I'm staring at http://mxr.mozilla.org/mozilla/source/dom/tests/mochitest/dom-level0/test_setting_document.domain_idn.html?force=1 and writhing in pain [05:09:06.0000] <jwalden> sequential city, there [05:10:00.0000] <krijnh> {http://example.com/} [05:11:00.0000] <krijnh> { http://example.com/ } [05:11:01.0000] <krijnh> <-- brain boiled [05:11:02.0000] <Philip`> http://sub1.exämple.test [05:11:03.0000] <Philip`> krijnh: ^ doesn't work :-( [05:12:00.0000] <annevk> krijnh, the regexp is now failing everywhere :( [05:12:01.0000] <krijnh> :/ [05:12:02.0000] <annevk> "http://example.com/" is another one [05:14:00.0000] <Hixie> krijnh: you now have plenty of cases to add to some smoketests :-) [05:14:01.0000] <Philip`> http://robert.accettura.com/blog/2008/04/15/shell-stats/ - auto-acronym failure [05:15:00.0000] <Hixie> do you think ben's recent e-mail is a request for someone to explain how we addressed that in wf2? [05:16:00.0000] <annevk> yes, and it also seems to be a request for XForms [05:16:01.0000] <annevk> Philip`, auto-acronym is a misfeature imo [05:16:02.0000] <Hixie> trying to work out if i should bother explaining wf2 in this case [05:16:03.0000] <Hixie> or let someone else do it [05:17:00.0000] <krijnh> /me needs an IRClogger5 [05:17:01.0000] <Hixie> ok bed time [05:17:02.0000] <Hixie> nn [05:18:00.0000] <Philip`> Is a required checkbox like on those forms with "I accept the terms and conditions that I didn't read: [x]" where you have to check it? [05:19:00.0000] <annevk> yes [05:19:01.0000] <Philip`> A helpful UA should check that box automatically [05:19:02.0000] <annevk> that depends on the user [05:20:00.0000] <annevk> i would rather it did not check it automatically [05:20:01.0000] <Philip`> The only thing you're ever going to do with the checkbox is check it, so the UA might as well save you the effort [05:20:02.0000] <Philip`> /me reads WF2 [05:20:03.0000] <annevk> the checkbox also serves as a reminder that you have to check something else [05:21:00.0000] <Philip`> Oh, it sounds more useful when you have >1 checkbox with the same name [05:21:01.0000] <annevk> if the ua has already checked it you will not get that reminder when you submit the form [05:30:00.0000] <Philip`> /me tries replying to explain what WF2 does [05:47:00.0000] <hsivonen> /me expects a bikeshed about labeled vs. labelled [05:48:00.0000] <Lachy> hsivonen, why do you expect that to become a bikeshed? [05:49:00.0000] <hsivonen> oh dear :-) [05:49:01.0000] <Dashiva> We got through referrer without too many paint marks, didn't we? [05:50:00.0000] <hsivonen> ARIA even has a note about it [05:50:01.0000] <Philip`> The more common usage is "bike shed", not "bikeshed" [05:50:02.0000] <Philip`> Sadly the OED has neither :-( [05:51:00.0000] <Lachy> I expect the <abbr> vs. <abbr title=""> to become a bikeshed (or bike shed to keep Philip` happy) [05:55:00.0000] <Philip`> That's easy to solve by just making <abbr> conforming, because it already exists and it's at least useful as a style hook :-) [05:57:00.0000] <Philip`> /me doesn't actually remember ever having seen a bike( )shed [05:58:00.0000] <Lachy> Philip`, exactly. It's for all those authors who want dotted borders rendered underneath all abbreviations in their page, without serving any other function :-) [05:58:01.0000] <Philip`> (I see bike racks everywhere, and sometimes covered ones, and one underground one, but that's all I can think of) [05:59:00.0000] <Philip`> Lachy: Firefox and Opera don't do dotted underlines (or any other styling) on title-less abbr [06:00:00.0000] <Philip`> which is good, because otherwise it would confuse users into looking for tooltips [06:00:01.0000] <Philip`> and authors can add small-caps styling to make their acronyms look nice [06:00:02.0000] <Lachy> Philip`, maybe you have seen a bike shed, but because you can't see through walls, you didn't realise there were bikes inside. [06:01:00.0000] <Lachy> has that behaviour changed? I thought older versions of FF used to underline them anyway [06:01:01.0000] <Philip`> Lachy: I would hope most bikesheds have doors, in which case there's a non-negligible probability that looking at one will reveal the contents [06:01:02.0000] <Lachy> yeah, most sheds have doors. [06:01:03.0000] <Philip`> Lachy: Not sure - I'm testing FF2 [06:02:00.0000] <Lachy> When I was younger, our bikes were kept in a shed at home. [06:02:01.0000] <Philip`> Mine was kept in our garage [06:02:02.0000] <Philip`> Actually, it still is in there [06:08:00.0000] <jwalden> more on async postMessage, splitting up computations and object creation between at-time-postMessage-is-called and at-time-when-event-is-dispatched is a somewhat touchy business, in that there's a very specific way it has to be done to avoid time-of-check-to-time-of-use concerns [06:09:00.0000] <jwalden> gotta calculate the caller's origin at postMessage time, gotta compare the computed target origin against the target's origin at dispatch time, etc. [06:10:00.0000] <jwalden> I don't think you can just reuse generic async-event-dispatch code to implement this [06:10:01.0000] <jwalden> not safely, at least [06:11:00.0000] <zcorpan> Error: Required attributes missing on element script. [06:11:01.0000] <zcorpan> From line 19, column 3; to line 19, column 24 [06:11:02.0000] <zcorpan> esheet>↩ <script src=status.js></scri [06:11:03.0000] <zcorpan> Error: Required children missing from element table. [06:11:04.0000] <zcorpan> From line 48180, column 4; to line 48180, column 11 [06:11:05.0000] <zcorpan> </tr>↩ </table>↩ <! [06:12:00.0000] <zcorpan> hsivonen, Hixie: ^ [06:12:01.0000] <zcorpan> which children are missing from table? [06:15:00.0000] <zcorpan> (Total execution time 282728 milliseconds, with image report, without show source) [06:17:00.0000] <hsivonen> zcorpan: are you validating the spec? [06:18:00.0000] <zcorpan> hsivonen: yeah, the whatwg version [06:18:01.0000] <hsivonen> zcorpan: I see only one message: legacy doctype [06:19:00.0000] <zcorpan> hsivonen: on validator.nu, not html5.validator.nu [06:19:01.0000] <hsivonen> oh [06:20:00.0000] <zcorpan> (i have 5 messages: text/html->html parser, doctype without SI, xhtml 1.0 schema, 2 errors) [06:21:00.0000] <hsivonen> it's indeed horribly slow [06:21:01.0000] <hsivonen> I think I should run it in a profiler locally [06:21:02.0000] <hsivonen> /me suspects Schematron [06:24:00.0000] <zcorpan> HTTP ERROR: 500 [06:24:01.0000] <zcorpan> Java heap space [06:24:02.0000] <zcorpan> RequestURI=/ [06:24:03.0000] <zcorpan> Caused by: [06:24:04.0000] <zcorpan> java.lang.OutOfMemoryError: Java heap space [06:24:05.0000] <zcorpan> (trying to validate again without image report) [06:28:00.0000] <mpt> /me scowls at elinks [06:28:01.0000] <mpt> elinks renders alt=" " as nothing, but alt="" as [IMG] [06:29:00.0000] <Philip`> Can you configure it to handle images differently? [06:29:01.0000] <Philip`> (I remember something like that in either Lynx or Links) [06:29:02.0000] <Philip`> (By the way, it's really very stupid to choose a name that's a homophone of a very similar project :-( ) [06:31:00.0000] <mpt> In Lynx you can type "*" to show links to all images [06:31:01.0000] <mpt> There doesn't seem to be an equivalent option in elinks [06:32:00.0000] <Philip`> http://en.wikipedia.org/wiki/Links_(web_browser) - "The focus on intuitive usability makes it suitable as a web browser for low-end terminals in libraries, Internet cafes etc." - uh, if you're running an Internet cafe, your whole business revolves around giving people web access, so I'm not sure Links is the best idea [06:33:00.0000] <mpt> Lynx does the right thing with alt="" [06:34:00.0000] <mpt> /me wonders whether to s/alt=\"\"/alt=\" \"/g [06:34:01.0000] <Philip`> alt=" " is non-conforming HTML5 in almost all cases [06:35:00.0000] <annevk> it should be conforming for decorative images... [06:36:00.0000] <mpt> "Focus on intuitive usability"? Who writes that crud? [06:36:01.0000] <Philip`> Do any UAs treat <a href=...><img alt=" "> Text</a> differently from <a href=...><img alt=""> Text</a> ? [06:37:00.0000] <Philip`> Actually, I can't remember what I was thinking of in that case [06:37:01.0000] <Philip`> so I'm not sure why it's relevant to anything at all, so please ignore me [06:37:02.0000] <mpt> darn [06:38:00.0000] <mpt> (the answer was "yes, elinks does") [06:39:00.0000] <Philip`> Maybe I was thinking about whether e.g. some AT might render it as "Linked Image Text" vs "Text", because it makes them think it's a significant image [06:39:01.0000] <Philip`> but I don't think that question makes sense anyway [06:39:02.0000] <Philip`> /me gives up [06:40:00.0000] <hsivonen> whoa! Validator.nu just did something really weird and scary [06:40:01.0000] <zcorpan> hsivonen: did it steal a candy? [06:41:00.0000] <hsivonen> it's feeding my browser what looks like binary junk [06:41:01.0000] <zcorpan> ouch [06:41:02.0000] <hsivonen> I hope it's just gzip going wrong and not a privileged memory dump [06:41:03.0000] <Philip`> Easy way to find out: try compressing the output [06:42:00.0000] <Philip`> and if it compresses much, it's not gzip [06:42:01.0000] <zcorpan> can you take the junk through some content sniffing codepath and see if it's handled as something? [06:42:02.0000] <Philip`> Or just search for your password strings in there [06:43:00.0000] <hsivonen> how do I get the original bytes out of Firefox? [06:44:00.0000] <Philip`> /me doesn't know if 'File / Save Page As / Web Page, HTML only' saves the raw data or tries fiddling with encodings [06:44:01.0000] <hsivonen> the schematron stuff I have for XHTML 1.0 is written really inefficiently [06:44:02.0000] <Philip`> but I'd tend to hope it's the raw data [06:46:00.0000] <hsivonen> going forward, I really need to get rid of the Schematron presets [06:46:01.0000] <hsivonen> and then isolate the custom schema stuff from what most people use [06:46:02.0000] <mpt> hsivonen, I think if Firefox had the original bytes, it wouldn't need to reload the page to change encodings [06:47:00.0000] <mpt> (which can be a dataloss problem) [06:47:01.0000] <hsivonen> custom schemas are a huge DoS attack vector [06:47:02.0000] <zcorpan> is "URL percentage escape non-unreserved characters in a string" defined somewhere? [06:49:00.0000] <hsivonen> $ file Downloads/validator.nu.html [06:49:01.0000] <hsivonen> Downloads/validator.nu.html: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT) [06:50:00.0000] <hsivonen> I wonder why Firefox didn't decompress it [06:52:00.0000] <Philip`> Did it get sent with the right headers? [06:55:00.0000] <hsivonen> Philip`: I don't know how to tell after the fact [06:56:00.0000] <zcorpan> which unicode normalisation form should be used when percent-escaping URLs? [06:57:00.0000] <Philip`> hsivonen: Oh, good point [06:59:00.0000] <hsivonen> zcorpan: no normalization [06:59:01.0000] <hsivonen> zcorpan: but if you are minting a new IRI, you should use NFKC [07:01:00.0000] <zcorpan> i meant converting a random string to a percent-escaped URL [07:01:01.0000] <zcorpan> thanks [07:01:02.0000] <hsivonen> the Schematron that gets generated when Schematron is embedded in RELAX NG is so inefficient it isn't even funny [07:21:00.0000] <hsivonen> even profiling this is insanely slow [07:22:00.0000] <hsivonen> I don't need a profiler to tell me that Schematron sucks [07:23:00.0000] <Philip`> Would you get the same results from profiling a smaller test case? [07:23:01.0000] <hsivonen> not necessarily [07:28:00.0000] <hsivonen> still slow but not insanely so... [07:29:00.0000] <hsivonen> local dev version that is [07:30:00.0000] <hsivonen> the schematron bit that check for id and name sharing the same namespace are bad for perf [07:34:00.0000] <hsivonen> I wonder if Saxon has a main loop somewhere, so that I could insert a wall clock test against runaway Schematron [07:35:00.0000] <hsivonen> though checking system clock and accessing a ThreadLocal in a hotspot would suck, too [07:37:00.0000] <Philip`> Is it bad in HotSpot to have a separate alarm timer thread, which sleeps then interrupts the useful thread, and the useful thread checks for interruptions occasionally? [07:38:00.0000] <hsivonen> Philip`: killing a thread from the outside is dangerous in the general case [07:39:00.0000] <hsivonen> Philip`: and making the potential problem thread poll for a stop condition is problemtic as mentioned above [07:40:00.0000] <Philip`> But interrupt should be safe, since that only does anything when there's an explicit check and it won't clobber internal locks or do whatever other bad things there are [07:41:00.0000] <hsivonen> Philip`: to do it without a ThreadLocal, Saxon would need to pass the polling object around... [07:41:01.0000] <Philip`> I was thinking of Thread.interrupted() [07:42:00.0000] <hsivonen> oh. [07:42:01.0000] <Philip`> which doesn't need an object, and isn't explicitly ThreadLocal [07:42:02.0000] <hsivonen> /me goes read JavaDoc [07:42:03.0000] <hsivonen> argh. looks like about.validator.nu just died [07:43:00.0000] <annevk> wfm [07:43:01.0000] <Philip`> (No idea how it's implemented in JVMs, though) [07:43:02.0000] <annevk> oh wait, about.validator.nu doesn't [07:45:00.0000] <hsivonen> Philip`: indeed it looks like interrupt() could work [07:52:00.0000] <hsivonen> I wonder what's going on on the machine hosting about.validator.nu [07:52:01.0000] <hsivonen> the CPU is not pegged [07:52:02.0000] <hsivonen> I wonder if something is clogging the network [07:53:00.0000] <Philip`> ping seems to work fine, with constant low latency [08:18:00.0000] <hsivonen> looks like someone from China is leeching stuff from the server using a really impolite bot [08:22:00.0000] <zcorpan> wow, i thought html5 said that tabindex=-1 means "focusable but not in tab order" [08:23:00.0000] <annevk> the only problem with impl is the handling of invalid values it seems [08:24:00.0000] <annevk> HTML5 needs fixing anyhow [08:24:01.0000] <hsivonen> zcorpan: validating the spec as HTML 4 now works with reasonable performance [08:25:00.0000] <hsivonen> zcorpan: thanks [08:26:00.0000] <hsivonen> Hixie: the table error that zcorpan spotted is that the whole entity table is in thead [08:30:00.0000] <zcorpan> hsivonen: wow sweet. Total execution time 6310 milliseconds. [08:30:01.0000] <zcorpan> 5365 milliseconds without image report [08:32:00.0000] <Philip`> /me wonders at the resolution of the clock used for those timings [08:32:01.0000] <zcorpan> pretty good compared to 282728 milliseconds and HTTP ERROR: 500, respectively :) [08:33:00.0000] <zcorpan> Philip`: well i counted to 6 for the first so it's accurate enough for me :) [08:33:01.0000] <hsivonen> Philip`: wouldn't badness happen if the thread was blocking on IO when a watchdog interrupted it? [08:41:00.0000] <Philip`> hsivonen: The blocking method would clean up after itself and throw an InterruptedException, and the caller should be expecting that exception and so nothing bad will happen [08:42:00.0000] <Philip`> (assuming the blocking method is interruptible (and declares it throws InterruptedException), which is hopefully the case, because otherwise it'd get messier) [08:46:00.0000] <hsivonen> Philip`: it still seems like a bad idea to interrupt write to the ServletOutputStream [08:47:00.0000] <hsivonen> because if it breaks, the user will not get any feedback [08:49:00.0000] <Philip`> Oh, if that's what you mean by badness then it does sound like badness [08:49:01.0000] <Philip`> (I was thinking more of the deadlock-the-entire-VM badness, like in Thread.destroy()) [08:51:00.0000] <hsivonen> Philip`: I suppose I could wrap the ServletOutputStream in an object that raises a "don't inturrupt right now" flag when in servlet IO [08:51:01.0000] <Philip`> That sounds potentially delicate [08:51:02.0000] <hsivonen> the other potential problem is avoiding putting Commons HttpClient in a bad state [09:16:00.0000] <annevk> in case it was missed somehow: http://intertwingly.net/blog/2008/04/19/Ingrates#c1208838277 [09:35:00.0000] <hsivonen> annevk: I think that's different from general distributed extensibility. [09:35:01.0000] <hsivonen> annevk: it's just about using HTML to serve as an indirection mechanism to get a less pretty or less stable URI [09:36:00.0000] <hsivonen> seems like a case for registering a rel value on the wiki [09:36:01.0000] <annevk> You lost me. [09:36:02.0000] <annevk> :) [09:37:00.0000] <hsivonen> annevk: Re: what markp referred to Sam referring [09:38:00.0000] <annevk> what does it have to do with URIs though? [09:38:01.0000] <annevk> (rel values can be registered on a wiki) [09:50:00.0000] <hsivonen> hmm am I misunderstanding the whole issue? [09:51:00.0000] <hsivonen> X-XRDS-Location is an URI autodiscovery mechanism, no? [09:52:00.0000] <hsivonen> just like feed autodiscovery, openid and pingback [09:53:00.0000] <annevk> Oh yes. The discussion is whether <meta http-equiv> shoud be extensible or not and Sam Ruby points to data- attributes as the supposedly provided alternative to confuse matters or something... [09:54:00.0000] <annevk> Well, "discussion" [09:56:00.0000] <Lachy> which thread are you referring to? [09:57:00.0000] <hsivonen> Lachy: the one anne linked above [09:57:01.0000] <hsivonen> http://intertwingly.net/blog/2008/04/19/Ingrates [09:59:00.0000] <hsivonen> Philip`: would I be crazy if I managed "don't kill thread" flags around IO and then used the dangerous thread stopping mechanism when the flag isn't set? [10:02:00.0000] <Lachy> hsivonen, ok. I missed that earlier since I wasn't in the channel [10:02:01.0000] <annevk> btw, it's almost certain I get a lightning talk spot at XTech on HTML 5 [10:02:02.0000] <annevk> if people have some input for that let me know [10:03:00.0000] <hsivonen> annevk: did you see my three points? [10:07:00.0000] <hsivonen> oops. ten points [10:07:01.0000] <hsivonen> I wonder why I typed "three" [10:12:00.0000] <hsivonen> http://pastebin.ca/992541 [10:47:00.0000] <gsnedders> Do you think someone should go and help cwilso find his keys? [12:34:00.0000] <Philip`> hsivonen: Hmm, that sounds a little bit crazy if it's using Thread.interrupt, since the interrupt mechanism isn't really meant to work that way [12:35:00.0000] <Philip`> (Not that I actually have any experience or knowledge in this area, other than attending some lectures and reading the documentation a bit, so I could be misrepresenting situations) [12:36:00.0000] <Philip`> I can't think of a better way to do it, though [12:39:00.0000] <Philip`> (at least not without having access to e.g. an object with a volatile boolean youGotInterrupted field which can be polled) [13:05:00.0000] <blooberry> hixie: yt? [13:31:00.0000] <hsivonen> Philip`: I was thinking about using Thread.stop() [13:31:01.0000] <hsivonen> Philip`: as far as I can tell, the danger of Thread.stop() is that introducing an unexpected exception may leave objects that are shared between threads in an inconsistent state, because locks were opened and cleanup code didn't run [13:32:00.0000] <Philip`> hsivonen: Oh, Thread.stop is evil and should never be used, from what I've heard [13:32:01.0000] <hsivonen> Philip`: so if I make sure that I never call Thread.stop() when execution is in a shared object or call it only on lockless read-only shared objects, what's the harm? [13:32:02.0000] <Philip`> It can do things like stop the thread while it's in the middle of a GC operation, and not release the locks, and deadlock the whole VM [13:33:00.0000] <hsivonen> ah. I didn't know it can break GC [13:33:01.0000] <mpt> /me wonders if having two <footer>s is appropriate [13:33:02.0000] <hsivonen> isn't it kinda silly that the VM lets you break GC? shouldn't the VM be able to defer Thread.stop() until GC isn't active? [13:34:00.0000] <Philip`> Thread.interrupt is safe because it works like proper Java exceptions, but Thread.stop just makes everything abort uncleanly [13:36:00.0000] <hsivonen> Philip`: documentation says the locks are released as ThreadDeath propagates through the stack. [13:36:01.0000] <Philip`> Oh, indeed, I'm mixing things up with Thread.suspend [13:36:02.0000] <Philip`> (looking at http://java.sun.com/j2se/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html ) [13:37:00.0000] <Philip`> and suspend seems to be the one that causes nasty interactions with GC and stuff [13:37:01.0000] <Philip`> (unless I'm still remembering things wrong and/or making things up) [13:38:00.0000] <hsivonen> Philip`: that's the document I'm reading. as far as I can tell, the approach I outlined addresses the issues recounted in that document [13:41:00.0000] <hsivonen> ouch. I just realized that log4j is synchronized IO that is sprinkled around [13:41:01.0000] <Philip`> hsivonen: It sounds like you'd have to make sure Thread.stop isn't called at any time while you're executing methods in objects that are shared between threads (else they might get stuck in an inconsistent state) [13:42:00.0000] <Philip`> and I'd guess there's quite a lot of shared objects being accessed via libraries [13:42:01.0000] <hsivonen> Philip`: unless the shared object is safe for concurrent reads by having immutable internal state, right? [13:43:00.0000] <Philip`> If the objects aren't modified, it sounds like that'd probably be alright [13:43:01.0000] <hsivonen> what library entry points do I have except servlet output, log4j, and http input? [13:44:00.0000] <hsivonen> assuming that I replace JDK 1.1 Hashtable and friends in oNVDL with copies grabbed from Harmony and remove the locks [13:44:01.0000] <Philip`> I imagine all the Java classes [13:44:02.0000] <Philip`> Presumably there's all sorts of things like String.intern that share stuff between threads [13:44:03.0000] <hsivonen> ah right [13:44:04.0000] <hsivonen> there goes my cunning plan [13:45:00.0000] <hsivonen> /me forgot about String.intern() [13:45:01.0000] <Philip`> I still have no practical knowledge or experience of anything to do with this, but it just looks like a kind of dodgy thing to do, particularly since it's been deprecated since 1995 :-) [13:47:00.0000] <hsivonen> well, the documentation suggested that in special apps it could make sense when being careful, but String.intern() makes being careful too hard [13:48:00.0000] <hsivonen> for example, Java 1.2 Collections are supposed to be safe for lockless concurrent reads, so they wouldn't have been a problem [13:48:01.0000] <Philip`> In almost any practical code it seems impossible to be careful enough, since you can't possibly check what all the libraries are doing and what assumptions they're making [13:49:00.0000] <Philip`> and it's not something you can test for, since the errors will only happen on one in 10^n occasions and will be impossible to debug [13:51:00.0000] <hsivonen> Philip`: it's not impossible to consider all the code you don't see as dangerous edges, search all the code you do see for synchronized and assumed that promises about thread safety without using synchonized are clue-based and true [13:51:01.0000] <hsivonen> but the problem is that String.intern() is a dangerous edge that is too pervasive to protect on every call site [13:52:00.0000] <hsivonen> the IO edges would have been reasonably protectable [13:52:01.0000] <Philip`> hsivonen: That would be possible but it sounds insufficiently paranoid, and I always get scared when doing anything non-trivial with concurrency because it'll probably go wrong; but maybe that's just me :-) [13:53:00.0000] <hsivonen> :-) [13:53:01.0000] <hsivonen> it seems to me that even with interrupt(), I'd have to manually protect output generation [13:54:00.0000] <Philip`> (I also have no idea how Thread.stop interacts with Java's consistency guarantees - it seems quite possible that it'd try to stop the thread in the middle of a code block that has been reordered by the optimiser, so the execution won't even correspond to the source code) [14:00:00.0000] <hsivonen> of course, all this could be solved by eliminating Schematron [14:00:01.0000] <hsivonen> thereby making Validator.nu less generic [14:01:00.0000] <hsivonen> or if someone wrote a zealously streaming Schematron implementation--possibly rejecting schemas that don't translate to reasonably streamable things [14:41:00.0000] <Philip`> "It should show up under http://canvex.lazyilluminati.com/misc/cgi/issues.cgi/folder/widgets-tabindex once Hixie has filed the email." - plus up to 24 hours for Hixie's database to get updated, plus up to 24 hours for my cached copy to expire - it's kind of sad that it takes half a second to transmit email anywhere in the world, but two days for my software to notice :-( [14:42:00.0000] <Hixie> heh [14:55:00.0000] <Hixie> hahaha [14:57:00.0000] <Hixie> dude, krijnh, i'm so sorry about your experience with the csswg [14:58:00.0000] <Hixie> man that's fucked up [14:58:01.0000] <gavin_> ? [14:59:00.0000] <Hixie> the csswg resolved to log their channel, so he set up his system to start logging it, and they got annoyed that it was being logged [14:59:01.0000] <Hixie> "we resolve to be public... but not if it means people can see what we wrote" [15:00:00.0000] <Hixie> way to build a community! [15:01:00.0000] <gavin_> ah, heh [15:02:00.0000] <othermaciej> do they want the ability to pre-censor the logs or something? [15:03:00.0000] <Hixie> # [13:57] <krijnh> (In case anybody missed it, anne asked me to log this channel as well, on http://krijnhoetmer.nl/irc-logs/css/ ) [15:03:01.0000] <Hixie> # [13:57] <Bert> Yes, I noticed. I will be careful when I say something. Or I may leave completely, not sure yet. [15:03:02.0000] <othermaciej> oh, Bert was against the logging in the first place [15:04:00.0000] <Hixie> 14:01 < glazou> krijnh: I want the WG to agree on this logging [15:04:01.0000] <Hixie> 14:02 < glazou> krijnh: anne never mentioned logging outside of w3c [15:05:00.0000] <Philip`> The problem with public logging of IRC is that it allows discussions like this one to come into existence [15:05:01.0000] <Hixie> 14:12 < glazou> a 3rd party then controls the log, it's a matter of trust, confidence, IPR [15:06:00.0000] <Philip`> The W3C is a 3rd party in relation to me [15:06:01.0000] <Philip`> and I don't particularly trust them to never edit the logs [15:07:00.0000] <Lachy> wow, that's just crazy. The W3C should be logging all channels, even if some of them aren't public [15:07:01.0000] <takkaria> it's already a public channel, which is what I don't understand [15:07:02.0000] <Hixie> given that the w3c once censored me, and krijnh has never censored me, i trust krijnh a whole heck of a lot more than the w3c [15:08:00.0000] <othermaciej> Hixie: what did they censor? [15:09:00.0000] <Hixie> http://lists.w3.org/Archives/Public/www-archive/2007Nov/0104.html [15:09:01.0000] <Hixie> i rearchived that post here: http://damowmow.com/playground/archives/reply-to-dean-edridge.html [15:10:00.0000] <Philip`> The only sure thing you can trust is apathy, so make sure all logs and archives are held by someone who's never going to care enough to alter them [15:11:00.0000] <Hixie> annevk, annevk, annevk. you should have posted your e-mail to the public list! [15:30:00.0000] <jgraham_> /me is somewhat bemused that "public" seems so hard to understand [15:33:00.0000] <Dashiva> jgraham: It's easy to understand, it's just easy to redefine too :P [15:34:00.0000] <Philip`> jgraham: Beaches are public areas, but I imagine most people wouldn't like someone continually taking photos of them while they're there and sticking them all up on a wall [15:35:00.0000] <Dashiva> Philip`: Well, the beach goers didn't resolve to have their beach going be an open activity, the state did [15:37:00.0000] <Philip`> Dashiva: The beachgoers resolved in the morning that they'd like to go to the beach today, knowing that that would entail being in a public space [15:39:00.0000] <Dashiva> A false choice, as all beaches were made open against their will [15:40:00.0000] <roc> originally all beaches were private property that was then confiscated by the state? interesting [15:43:00.0000] <Philip`> Dashiva: There are plenty of non-public places the people could have gone, but they chose to go to a public one instead under reasonable expectations of publicness (e.g. they expect strangers might come up and say hello, but don't expect everything they say to be recorded and published for eternity) [15:43:01.0000] <Philip`> So, uh, I think beaches are public IRC channels in this analogy, rather than being all IRC channels [15:53:00.0000] <jgraham_> Philip`: I don't think that's a particularly good analogy. It's like having a public meeting any being annoyed if someone records it [15:53:01.0000] <Hixie> actually it's like being annoyed at the google street view van taking a picture of you [15:53:02.0000] <Hixie> which plenty of people are [15:54:00.0000] <Hixie> but they're wrong to be :-) [15:54:01.0000] <jgraham_> The objections make no sense because anyone can be privately logging the channel and no one would be any the wiser [15:54:02.0000] <Hixie> yup, as i've been doing for years now [15:54:03.0000] <jgraham_> If they need to have secret discussions they should do so elsewhere [15:54:04.0000] <Hixie> like #css-secret [15:54:05.0000] <jgraham_> (or make the channel private again) [15:55:00.0000] <Philip`> #css-secret-treehouse [15:58:00.0000] <Philip`> jgraham_: It's like having a public meeting and being annoyed if someone releases a recording that loses all the subtleties of context so things can get misinterpreted easily, instead of waiting for the official minutes which everyone present can agree are representative of the meeting [15:58:01.0000] <jgraham_> Philip`: Not at all. The only context that's lost is the realtime nature. [15:59:00.0000] <Philip`> jgraham_: That context is often significant [15:59:01.0000] <jgraham_> If you recorded a physical meeting there would be information loss from body language, etc. [15:59:02.0000] <jgraham_> (assuming audio onlly recording) [16:00:00.0000] <Philip`> e.g. references to current mailing list activity, or to conversations in other IRC channels, would no longer make sense when taken out of the temporal context [16:00:01.0000] <jgraham_> Philip`: I haven't found it to be a problem with the logged channels [16:00:02.0000] <Philip`> Oh, okay then [16:01:00.0000] <Hixie> i agree that it would be like having a public meeting and being annoyed if someone releases an audio or video recording of it [16:01:01.0000] <Dashiva> People have been taking full advantage of #whatwg being logged, and we aren't objecting, are we? [16:01:02.0000] <Hixie> and i think it's dumb to be scared of that [16:01:03.0000] <Hixie> though many people are [16:02:00.0000] <jgraham_> Dashiva: Quite. [16:02:01.0000] <Dashiva> The ACM put pictures of me playing vocalist on the internet, but they removed the context of what song I'm singing, so I just look silly. [16:02:02.0000] <Hixie> we look silly a lot in the #whatwg archives :-D [16:03:00.0000] <Dashiva> Indeed [16:03:01.0000] <Dashiva> Say Hixie, do you still play lggwg? [16:03:02.0000] <Hixie> haven't for a while [16:03:03.0000] <Hixie> waiting for the next version [16:03:04.0000] <Philip`> Dashiva: We aren't objecting, but maybe we should be, since experience shows that people get upset/annoyed/etc by things in the logs that wouldn't have been a problem if those people were part of the conversation [16:04:00.0000] <Dashiva> Philip`: It's a minor inconvenience compared to the improved communication [16:04:01.0000] <Hixie> Philip`: those people find things to be annoyed at whatever we do [16:04:02.0000] <Hixie> Philip`: we shouldn't optimise for them [16:04:03.0000] <jgraham_> /me notes that Google suggests lggwg might be a misspelling of "logging" [16:05:00.0000] <jgraham_> Philip`: I would be opposed to the logs being removed [16:05:01.0000] <Philip`> I suppose I don't notice how useful the logs are for communication since I'm connected constantly anyway [16:05:02.0000] <Hixie> hah [16:05:03.0000] <jgraham_> they have good cost/value [16:05:04.0000] <Dashiva> Yeah, that sounds likely [16:05:05.0000] <Philip`> (Irssi uptime: 186d 6h 31m 50s, yay) [16:05:06.0000] <Hixie> (hah @ lggwg/logging) [16:06:00.0000] <Hixie> my uptime is 4 days, but only because someone cut through the trondheim powerlines 5 days ago [16:06:01.0000] <Hixie> killed power to half hte city or something [16:06:02.0000] <Hixie> even the traffic lifghts were out [16:06:03.0000] <gavin_> our shell server was rebooted 13 days ago :( [16:06:04.0000] <Hixie> apparently that delayed the repair people from going to fix it [16:06:05.0000] <Hixie> as they were stuck in traffic [16:07:00.0000] <gavin_> (for kernel updates) [16:08:00.0000] <Philip`> (My server is sufficiently old that the recentish Linux root exploit, introduced in 2.6.17, didn't affect it at all, so I didn't have to reboot for that) [16:09:00.0000] <Dashiva> Security through obsoletedness [16:09:01.0000] <Philip`> (Please don't tell me about any other root exploits that are in 2.6.11, because I'll have to ignore you) [16:10:00.0000] <Lachy> it would be good if systems could be updated without restarting ever [16:11:00.0000] <Philip`> What would you do when there's a bug in the live update code? [16:11:01.0000] <Dashiva> Overwrite it in place [16:12:00.0000] <Lachy> start up a new process, kill the live updater, overwrite the live updater, restart the updater, kill the new process from before and cleanup [16:13:00.0000] <Lachy> basically, any individual component should be able to be killed, updated and restarted without restarting the entire system [16:13:01.0000] <Philip`> How do you overwrite the live updater, when the live updater is the thing that overwrites files with their updated versions? [16:14:00.0000] <Philip`> ...and when the live updater is buggy, hence the need to update it [16:14:01.0000] <Philip`> (where 'buggy' means 'doesn't work') [16:14:02.0000] <Dashiva> What if there were two processes, one kickstarting the other to overwrite itself and then restart it? [16:14:03.0000] <Lachy> I already answered that. You start a seperate updater program specifically for updating the main live updater [16:14:04.0000] <jgraham_> You download new code that implements a new live updater and uses it to replace to old live updater with itself [16:15:00.0000] <Philip`> If you split things into restartable components, how do you make a component restart without losing all the data contained within that component? [16:15:01.0000] <Lachy> Philip`, magic [16:15:02.0000] <Philip`> (particularly if e.g. its internal data structures have been redesigned) [16:15:03.0000] <Hixie> back in the old days, there were computers that could have their motherboards updated without rebooting [16:16:00.0000] <Philip`> Lachy: Magic is merely sufficiently advanced technology, so you should still be able to explain it :-p [16:16:01.0000] <Hixie> Philip`: that's not what clarke said! [16:16:02.0000] <hsivonen> Philip`: IBM mainframe programmers don't write bugs [16:17:00.0000] <jgraham_> I was under the general impression that lisp proponents cited the ability to update running code in place as one of the big lisp advantages [16:17:01.0000] <Philip`> Hixie: You can still do that in modern computers, if you have sufficient money [16:17:02.0000] <Hixie> Philip`: he didn't say magic was technology, he said sufficiently advanced technology was indistinguishable from magic [16:17:03.0000] <Hixie> Philip`: yeah, haven't heard of it recently though [16:17:04.0000] <Lachy> Philip`, there are live update programs that update themselves already. that particular problem is already solved [16:17:05.0000] <Philip`> Hixie: If two things are indistinguishable, you might as well say they're the same thing [16:18:00.0000] <Hixie> Philip`: they could be indistinguishable because of insufficient precision in the measuring instrument [16:18:01.0000] <Lachy> e.g. the Apple Software Updater and Norton Anti-virus Live Update [16:18:02.0000] <Hixie> all updaters pretty much support that [16:19:00.0000] <Philip`> I have a C++ wxWidgets GUI application which was kind of painful to compile/link/run/test, so I've rewritten lots of the GUI stuff into JS, and it automatically reloads the code at runtime when you change it, which is really a much nicer way of developing GUI applications [16:19:01.0000] <hsivonen> even Validator.nu build.py now selfupdates and execs its new self over its old self [16:20:00.0000] <Philip`> but that just throws away all the GUI state when it reloads, which is sometimes a bit of a pain [16:20:01.0000] <Lachy> Philip`, remembering previous states from before the update is also a solved problem [16:20:02.0000] <Hixie> bbl [16:21:00.0000] <Philip`> Lachy: Not when the data structures storing the state have changed incompatibly [16:21:01.0000] <Lachy> Just record sufficient information to disk before closing, and when restarting the updated app, run a conversion program to convert the older data to a new format if necessary and reload [16:21:02.0000] <Lachy> Philip`, changes can be made incrementally to avoid having to throw it all away and start again [16:24:00.0000] <Philip`> For an OS kernel, it's hard enough to make suspend-to-RAM work reliably, so I don't hold out much hope for being able to suspend and then rewrite all the data into a new format and then resume a new kernel version :-( [16:25:00.0000] <Philip`> (Hmm, lots of bugs - I shouldn't have left my window open) [16:26:00.0000] <Philip`> (I hate things that fly at me in bed :-( ) [16:26:01.0000] <Dashiva> Make sure you make testcases for each one [16:28:00.0000] <Lachy> Philip`, the kernel would be written by an infallible intelliegent designer so that it is perfect just the way it is. It never needs updating! [16:28:01.0000] <Philip`> I should employ one, and then I can say it WORKSFORME [16:30:00.0000] <Dashiva> Lachy: That's why intelligent sort is so awesome [16:31:00.0000] <Lachy> what's intelligent sort? [16:31:01.0000] <Lachy> is that like quick sort? [16:31:02.0000] <Philip`> Is it like bogosort? [16:32:00.0000] <Philip`> The easy way to sort a list of integers is to redefine the order relation so that all integers are equivalent and therefore all lists of integers are already sorted [16:37:00.0000] <Lachy> Quantum Bogosort is better [16:39:00.0000] <Dashiva> Lachy: http://www.dangermouse.net/esoteric/intelligentdesignsort.html [16:41:00.0000] <Lachy> Dashiva, you are Expelled: No Intelligence Allowed in here! ;-) [16:42:00.0000] <Lachy> intelligent sort breaks the 2nd law of bogodynamics! [16:42:01.0000] <Philip`> The problem with the theory of sorting is that it contradicts the second law of thermodynamics - an ordered list has lower entropy than an unordered list, and scientists all agree that the laws of thermodynamics are inviolable, so clearly it is not possible to sort a list [16:42:02.0000] <Dashiva> Philip`: It only seems violated to our imperfect minds [16:50:00.0000] <Lachy> Dashiva, intelligent sort would mean that it's impossible to ever generate a random number, since the intelligent sorter is always sorting. So the next number in sequence is always predetermined, even if we primitive humans fail to understand how [16:51:00.0000] <annevk> Hixie, I'm still somewhat confused with the process / technical distinction and get flamed enough as it is... [16:53:00.0000] <Dashiva> Lachy: Wonderful, isn't it? [16:54:00.0000] <Lachy> Dashiva, indeed. [16:57:00.0000] <Lachy> /me goes to join the church of numerology and spread the mathematics of the divine academic [16:59:00.0000] <Dashiva> Al'Gebra [16:59:01.0000] <Philip`> Lachy: I don't think numerology has much to do with maths [16:59:02.0000] <Philip`> Dashiva: Is he a relation of Al-Khwārizmī? 2008-04-23 [17:02:00.0000] <Lachy> Philip`, numerology: "The study of the occult meanings of numbers and their supposed influence on human life." - Just because we don't understand the mathematics of the divine, doesn't mean he isn't using maths to control our lives [17:03:00.0000] <roc> you must have taken physics --- you know he's using maths to control our lives [17:03:01.0000] <Philip`> Lachy: Fair enough [17:05:00.0000] <Lachy> roc, quantum physics is the work of the devil! You know he's just messing with you whenever you get close to figuring anything out :-) [17:05:01.0000] <Philip`> roc: Physics only taught me maths that was a horribly crude approximation of reality, and seemed to be hacked together just to match our observations, so I can't tell what really controls our lives [17:06:00.0000] <roc> God loves physicists, and he wanted to give them something to do in the 20th century [17:08:00.0000] <roc> I have to say that physics seems a lot more elegant than, say, the Web [17:09:00.0000] <annevk> maybe in 500 years the Web will seem logical too [17:10:00.0000] <Philip`> Many compost heaps seem more elegant than the Web [17:10:01.0000] <roc> if I try to think about the accumulated cruft of the Web in 500 years, I think I will pass out [17:11:00.0000] <Dashiva> Don't worry, the oil crash will make sure that doesn't happen [17:14:00.0000] <Philip`> Someone will build something that runs on top of the web, but doesn't depend on the web, and then it will become really popular, and nobody will care about the web since it's an implementation detail behind a layer of abstraction, and then the web can be replaced by a new cleaner more appropriate system [17:14:01.0000] <Lachy> given the exponential growth of the web in the last 15 years, which is likely to continue, I wonder if it could ever surpass the limits of a ZFS file system (if that in itself didn't require boiling the oceans) [17:15:00.0000] <Philip`> (See e.g. the internet on top of the old voice phone system, where now nobody cares about the phone system and it's all replaced with high-bandwidth fibre optics and IP) [17:15:01.0000] <Lachy> in fact, I wonder what the physical limit of the web's capacity will be [17:16:00.0000] <annevk> we hit a limit with IP [17:16:01.0000] <Philip`> Lachy: What do you mean by "the web's capacity"? [17:16:02.0000] <annevk> but that's being resolved in some way [17:16:03.0000] <Lachy> there's only so much data that could ever be stored in any possible storate system, given the limits of quantum mechanics [17:17:00.0000] <Philip`> I can make a site that serves a billion files that are each a gigabyte, but that isn't increasing capacity in any useful way [17:17:01.0000] <annevk> hsivonen, yeah http://pastebin.ca/992541 is a good start, thanks [17:18:00.0000] <annevk> /me saves the text in a file somewhere [17:18:01.0000] <Lachy> Philip`, yeah, I'm only considering data that is actually stored and not generated on the fly [17:19:00.0000] <Lachy> but I suppose, the universe is big enough such that the limit won't be reached before human civilisation dies out [17:19:01.0000] <Philip`> Lachy: So you could measure its upper bound as the combined storage space used by all devices connected to the internet? That sounds kind of reasonble [17:19:02.0000] <Philip`> s//a/ [17:20:00.0000] <Lachy> yes [17:21:00.0000] <Philip`> Lachy: You may be underestimating exponential growth [17:22:00.0000] <Hixie> annevk: i just recommend always starting threads publicly :-) [17:23:00.0000] <Philip`> Search engines index about 10^10 pages, and if that doubles every year then in 236 years you'll get 10^80 pages, which is about the number of atoms in the universe [17:23:01.0000] <Dashiva> But how many of those 10^10 are generated? [17:23:02.0000] <Philip`> and civilisation might survive that long [17:23:03.0000] <Lachy> But the IPv4 address range will run out in a few years, and the web will either level off or die out soon after [17:24:00.0000] <annevk> Hixie, fair enough [17:24:01.0000] <Philip`> Dashiva: Search engines cache those pages, so even if they were generated once then they're statically served now [17:24:02.0000] <Dashiva> Does google index e.g. live search? [17:25:00.0000] <annevk> Lachy, if that happens and IPv6 doesn't work we should start working on IPv5 :) [17:25:01.0000] <Dashiva> Recursion! :D [17:25:02.0000] <Lachy> annevk, ipv6 has already failed [17:25:03.0000] <Hixie> ipv6 hasn't failed as much as you might think [17:25:04.0000] <Philip`> Dashiva: archive.org says it has 10^11 pages already, and they're actually stored somewhere [17:26:00.0000] <Lachy> For it to succeed, ISPs should have been distributing IPv4 and IPv6 addresses to subscribers for the past 10 years [17:26:01.0000] <Hixie> e.g. comcast is deploying it internally and most of their set top boxes use it exclusively, because they've run out of IP addresses already for their customers [17:26:02.0000] <Hixie> ipv6 can be used without end-users seeing it [17:26:03.0000] <Philip`> but a few orders of magnitude aren't important, when we're multiplying it by 2^236 [17:27:00.0000] <Lachy> does http://ipv6.google.com/ work for anyone here? (I'm assuming it'll work for Hixie) [17:28:00.0000] <Lachy> it doesnt work for me, so my ISP isn't supporting IPv6 at all [17:30:00.0000] <annevk> I hope IPv6 does have some kind of extension mechanism so we never hit some wall again... [17:31:00.0000] <Philip`> We'll hit plenty of scalability walls before running out of IPv6 addresses [17:32:00.0000] <Philip`> largely in things that are nothing to do with IP [17:32:01.0000] <Lachy> annevk, ipv6 won't need it. It's 128 bit address space is large enough to last for billions of years [17:32:02.0000] <Lachy> 3.4×10^38 addresses [17:32:03.0000] <annevk> We never know what kind of thing needs an IP going forward... [17:32:04.0000] <Hixie> the problem isn't the number of addresses [17:33:00.0000] <Hixie> it's the way they are given out [17:33:01.0000] <Philip`> Lachy: Not really, since you can't just pick the next unused number and give it to somebody [17:33:02.0000] <Hixie> e.g. with ipv6, isps can and probably will give out 1000 IPs to their users [17:33:03.0000] <Philip`> since it has to be split up hierarchically [17:33:04.0000] <Philip`> Uh, like what Hixie's saying [17:33:05.0000] <Lachy> Philip`, yeah, I know, but ipv6 has better allocation strategy than ipv4 [17:34:00.0000] <Hixie> that's possible [17:34:01.0000] <Hixie> i'm just saying it's not a matter of numbers [17:35:00.0000] <Philip`> There seems to have been some concern in the internet routing world in the past few years, because autonomous networks get a unique 16-bit ID, and they're running out of numbers [17:35:01.0000] <Philip`> and they don't have a nice way of transitioning to an updated version of the protocol [17:36:00.0000] <Philip`> but at least there's 2^16 fewer people involved than with IP [17:36:01.0000] <Hixie> 16 bits isn't much for that kind of thing [17:36:02.0000] <Hixie> wow [17:38:00.0000] <Philip`> http://bgp.potaroo.net/cidr/autnums.html [17:38:01.0000] <Philip`> Each number is usually a fairly big organisation [17:38:02.0000] <Hixie> woot AS15169 [17:38:03.0000] <Philip`> but the world has too many fairly big organisations [17:39:00.0000] <Philip`> AS36561 too [17:39:01.0000] <Lachy> Philip`, that site won't load for me [17:39:02.0000] <Hixie> damn microsoft has a ton of these [17:40:00.0000] <Hixie> AS6432 too [17:40:01.0000] <Hixie> hehe [17:40:02.0000] <Philip`> Google has at least 9 [17:40:03.0000] <Hixie> oh? [17:40:04.0000] <Philip`> On that page, search for "google" :-p [17:41:00.0000] <Lachy> hmm. weird. It will load in Safari, but in Firefox it just gives up [17:41:01.0000] <roc> these are not fairly big organizations [17:42:00.0000] <roc> they are every man and his dog [17:42:01.0000] <Hixie> Philip`: oh i guess the page hadn't loaded yet [17:44:00.0000] <Lachy> I don't understand what those numbers are representing [17:44:01.0000] <Philip`> roc: At least they're fairly big compared to individual IP address users [17:44:02.0000] <Philip`> and I say anything larger than me is big [17:45:00.0000] <roc> how big is this page? [17:46:00.0000] <roc> ah finished [17:46:01.0000] <Hixie> less than 64k lines, i guess [17:46:02.0000] <Philip`> Lachy: They're the numbers used to identify nodes in the routing graph of the internet [17:47:00.0000] <Philip`> Lachy: (where each node is actually a whole network, usually administered by a single entity) [17:47:01.0000] <roc> it's at least 128K lines, there's all these AS1.xxxx numbers plus some random other stuff at the end [17:50:00.0000] <Hixie> roc: ah [17:51:00.0000] <Philip`> ASxxxx.xxxx is from the new 32-bit extension, but I have no idea how widely deployed or usable it is yet [17:51:01.0000] <Philip`> Someone should place bets on which fixed-size integer field in an internet protocol is going to run out of space next [17:52:00.0000] <Hixie> oh hey, i finally got that e-mail to which i received a reply two hours ago [17:52:01.0000] <Hixie> (al's e-mail about alt="") [18:48:00.0000] <Hixie> woah [18:48:01.0000] <Hixie> this e-mail suggests adding elements for all the following: [18:48:02.0000] <Hixie> verbs, proper nouns, words that score over 30 in Scrabble, palindromes, words that can be written upside-down on calculators, words defined in the Oxford English Dictionary [18:48:03.0000] <Hixie> (ok so it's being sarcastic. but still.) [18:49:00.0000] <Philip`> Hixie: It would have been clearer that it was sarcastic if you hadn't rejected the <sarcasm> element [18:50:00.0000] <Hixie> -_- [18:51:00.0000] <Hixie> i still love the question i got from the xhtml2 camp when i gave my talk at xtech in 2004 [18:51:01.0000] <Hixie> (or 2005?) [18:51:02.0000] <Hixie> 2005 i think [18:51:03.0000] <Hixie> after explaining how we were doing things in the open, etc [18:51:04.0000] <Hixie> they were like "well, how are you going to handle people who ask for an <irony> element???" [18:52:00.0000] <Hixie> apparently the concept of just saying "no" to requests hadn't come up before [18:52:01.0000] <Dashimon> Hixie: Maybe they were being ironic [18:53:00.0000] <Hixie> maybe [18:53:01.0000] <Philip`> Hixie: If you keep saying no to requests, you'll work yourself out of a job since there won't be any unrejected requests left to work on [18:54:00.0000] <Hixie> same happens if i say yes: http://www.whatwg.org/issues/data.html [18:55:00.0000] <Philip`> Either you have been processing issues very chaotically and travelling backwards and forwards in time, or Opera 9.2 has canvas bugs [18:56:00.0000] <Dashimon> I'm seeing two green lines in 9.2 [18:56:01.0000] <Philip`> Hopefully at some point people will start writing test cases, and finding lots of issues in the spec, so the line will start shooting up again [18:57:00.0000] <Dashimon> 9.5 gets the green line right, but only shows blue for the very latest week [18:57:01.0000] <Philip`> That's because the blue data only exists for the last week [18:59:00.0000] <Dashimon> How non-buggish [19:00:00.0000] <Hixie> heh [19:01:00.0000] <Hixie> if anyone wants to go back and pull every version of the spec back to last september and count the number of XXX/big-issue markers over time, be my guest :-D [19:01:01.0000] <Dashimon> I'm sure Philip` is already doing it [19:02:00.0000] <Hixie> on the extreme off-chance that some crazy person wants to do this, the times and dates for which i have green dots are the times and dates in this file: http://www.whatwg.org/issues/data.csv [19:02:01.0000] <Philip`> I think I'll go to bed instead :-p [19:02:02.0000] <Hixie> :-) [19:03:00.0000] <Philip`> (Does XXXX count as one?) [19:03:01.0000] <Philip`> (Not that I really care since I'm not going to do anything with this) [19:04:00.0000] <Hixie> my algorithm is: ... @issues = $spec =~ m/(XXX|big-issue)/gos; return scalar @issues; [19:04:01.0000] <Dashimon> /me hides from the perl [19:04:02.0000] <Hixie> also, if you did want to do this, but not do it for every day, the script already supports just having data for a few random days [19:04:03.0000] <Philip`> <p class=big-issue>Big Issue! Get yer Big Issue here!</p> [19:04:04.0000] <Hixie> it'll just draw the line straight across any points its missing [19:04:05.0000] <takkaria> /me chuckles [19:04:06.0000] <Hixie> it's [19:06:00.0000] <Philip`> /me once saw someone trying to sell the Big Issue by saying "spare a shekel for an old ex-leper" repeatedly [19:07:00.0000] <Philip`> (I'm not sure how successful that strategy was) [19:09:00.0000] <Dashimon> Hixie: So if it were to be done (which it won't) it would only be worthwhile to check points that have email data? [19:10:00.0000] <Philip`> Hixie: When Dashimon implements this, what should happen on days that have multiple commits and multiple distinct XXX counts? [19:11:00.0000] <Philip`> s/Dashimon/Dashiva/ [19:11:01.0000] <Dashiva> I figured I would simply (except I won't) take the commit closest to thet email ts [19:12:00.0000] <Hixie> Dashiva: well, if we get more data out of this than the precision of the green line, i'll have to rewrite the script that generates the graph to handle missing green dots too [19:12:01.0000] <Hixie> Dashiva: which would be work for me :-) [19:12:02.0000] <Hixie> Philip`: the .csv file has exact timestamps [19:12:03.0000] <Hixie> Philip`: so there's no ambiguity [19:12:04.0000] <Philip`> Ah [19:12:05.0000] <Dashiva> Man, we have it all figured out, too bad we aren't going to do it [19:15:00.0000] <Hixie> indeed [19:15:01.0000] <Hixie> how about if i give 15 points to someone for doing it [19:15:02.0000] <Dashiva> Nooo [19:16:00.0000] <Dashiva> I'm secretly going to do it in secret without telling anyone in a few days, but now it'll seem it was for the points [19:16:01.0000] <Hixie> lol [19:16:02.0000] <Hixie> /me makes a note to secretely not do any work in a few days since his server is going to be crushed by the load of 1000+ checkouts [19:17:00.0000] <takkaria> secretly doing it in secret without telling anyone seems like a lot of secrecy for one person to maintain. :) [19:17:01.0000] <Dashiva> How did you know I was going to do a new checkout for each timestamp? [19:17:02.0000] <Hixie> Dashiva: how else would you do it? [19:18:00.0000] <takkaria> svn update to a given time would be more efficient [19:18:01.0000] <Hixie> on your side maybe :-P [19:18:02.0000] <Hixie> svn update requires the server to do a diff :-P [19:18:03.0000] <takkaria> /me grins [19:19:00.0000] <Hixie> /me makes a note to increase his RAM allocation for a bit [19:19:01.0000] <Philip`> Use svnsync to make a local copy of the repository, then do checkouts on that [19:19:02.0000] <Hixie> heh [19:20:00.0000] <takkaria> even better, Hixie should just tarball up the repo and put it online briefly [19:20:01.0000] <Hixie> not sure how to do that [19:20:02.0000] <Dashiva> I recould reverse the commit timeline using the archive of commit-watchers [19:20:03.0000] <Hixie> heh [19:20:04.0000] <Hixie> i guess you could! [19:21:00.0000] <Hixie> if you really do want to do this, i really would just encourage you to do the simple route of a bunch of timestamp checkouts :-) [19:21:01.0000] <Hixie> do you want the code i used to get the counts? [19:22:00.0000] <Dashiva> Well, for now I'm just going to sleep. We'll see if I remember about it when I wake up :) [19:22:01.0000] <Hixie> http://junkyard.damowmow.com/312 [19:22:02.0000] <Hixie> nothing special [19:22:03.0000] <Philip`> Hmm, svnsync goes pretty slowly [19:28:00.0000] <Philip`> svn cat http://svn.whatwg.org/webapps/source -r "{`date -u --rfc-3339 seconds -d 'Sun Apr 20 03:08:19 2008'|cut -c-19`}"|perl -e'local $/; print scalar (() = <> =~ /XXX|big-marker/g)' [19:29:00.0000] <Philip`> That's the easy way to get the count for any given timestamp [19:29:01.0000] <Hixie> well [19:29:02.0000] <Hixie> you're nearly done then! [19:30:00.0000] <Hixie> put a loop around that and mail me the results and i'll add them to the data file :-D [19:30:01.0000] <Philip`> Oh, I don't want to be done, because then I'd have been wrong when I said I wasn't going to do it [19:30:02.0000] <Hixie> haha [19:30:03.0000] <Hixie> Dashiva: put a loop around it, then you'll be the one who did it :-) [19:30:04.0000] <Philip`> Anyway I'm just seeing if svnsync will make it run quicker from a local repository than remote [19:30:05.0000] <Philip`> except svnsync is taking forever [19:36:00.0000] <Hixie> <abbr> has optional title="" again. [19:36:01.0000] <Hixie> and i added another example to <abbr> to show this. [19:43:00.0000] <Philip`> cut -c19-42 data.csv|xargs -d '\n' -n 1 -I blah -- date -u --rfc-3339 seconds -d 'blah'|cut -c-19|perl -ne'chomp; print "$_ \t", scalar (() = `svn cat http://svn.whatwg.org/webapps/source -r "{$_}"` =~ /XXX|big-marker/g), "\n"' [19:43:01.0000] <Philip`> That does it for all the timestamps, I think [19:44:00.0000] <Philip`> Maybe that would help whoever's going to do this [19:48:00.0000] <Philip`> Hixie: The "Philip`" looks ugly with punctuation :-p [19:50:00.0000] <Philip`> Smallcaps styling seems a reason to have <acronym>, since you normally only want smallcaps on acronymic abbreviations and not any other kind of abbreviation [19:50:01.0000] <Hixie> class="" baby [19:50:02.0000] <Hixie> anyway, bbl [20:05:00.0000] <Philip`> Ooh, svnsync finished, so now I have a 50MB copy of the whole revision history [20:06:00.0000] <Philip`> and 'svn cat' works very much faster than on svn.whatwg.org [20:09:00.0000] <Philip`> Oh, someone should have told me that I wrote big-marker instead of big-issue [20:13:00.0000] <Philip`> Hixie: Dashiva just emailed me http://philip.html5.org/misc/spec-issue-marker-count.txt [20:13:01.0000] <Philip`> I guess I was too late :-( [20:14:00.0000] <Philip`> but I suppose that doesn't matter since I can't even remember what the point of this was [20:14:01.0000] <Philip`> /me sleeps [20:41:00.0000] <Hixie> man you guys are all crazy and awesome [20:48:00.0000] <Hixie> wtf did i do on Fri Apr 11 09:06:28 2008,504 [20:49:00.0000] <Hixie> oh. [20:49:01.0000] <Hixie> WebIDL XXXs. [21:14:00.0000] <Hixie> who implements <event-source> these days other than opera? [21:18:00.0000] <othermaciej> we had a preliminary patch for WebKit at one point [21:19:00.0000] <othermaciej> I think we were waiting for the design simplifications to settle [21:22:00.0000] <Hixie> they're pretty settled now [21:22:01.0000] <Hixie> i have no pending feedback [21:22:02.0000] <Hixie> just replied to the last mail on the topic [21:23:00.0000] <jwalden> there was a preliminary patch for Mozilla, too, circa 200612 or so, if I remember right [21:39:00.0000] <weinig> Hixie: would you say that the postMessage spec is also pretty settled now? [21:40:00.0000] <Hixie> no [21:40:01.0000] <Hixie> there's a bunch of feedback still outstanding on it [21:40:02.0000] <Hixie> in particular about sync vs async [21:40:03.0000] <Hixie> will probably address it tomorrow [21:41:00.0000] <Hixie> (i'm waiting for one piece of feedback in particular) [21:41:01.0000] <Hixie> (which should be coming tomorrow) [21:44:00.0000] <weinig> Hixie: ok [21:53:00.0000] <Hixie> what's an example of a list that gets edited a lot? [21:54:00.0000] <roc> firefox 3 release blocker bugs [22:04:00.0000] <Hixie> hmm, that's a good one [22:21:00.0000] <jruderman> that doesn't really get edited as a list, though [22:26:00.0000] <jwalden> a fault of the UI rather than of the mental model, I think [23:54:00.0000] <mcarter> Hixie, thanks for your quick solution with the lastEventId [00:11:00.0000] <Hixie> mcarter: my pleasure, though i should emphasise that you're actually just lucky :-) [00:11:01.0000] <Hixie> mcarter: i just happened to be going through folders that only had 1 e-mail [00:12:00.0000] <mcarter> Hixie, how did my email end up being the only one in a folder? [00:12:01.0000] <Hixie> mcarter: there was no other outstanding feedback for event-source [00:12:02.0000] <mcarter> so I've got a number of suggestions I'm working on for tcp connection [00:12:03.0000] <mcarter> any advice on how to make those go to just the right folder? ;-) [00:17:00.0000] <othermaciej> if I were offering bets on features in the final spec, I would give tcp connection slim odds of making the cut [00:17:01.0000] <mcarter> othermaciej, I think you're spot on giving its current state and lack of interest [00:18:00.0000] <mcarter> othermaciej, but I've succcessfully implemented it in javascript, on top of sse implemented in javascript, and I have a number of suggestions that might help [00:19:00.0000] <othermaciej> mcarter: I don't see how that is possible [00:19:01.0000] <mcarter> othermaciej, and even if it doesn't make it into browsers right away, having a spec to base the javascript implementation(s) on is very nice [00:19:02.0000] <mcarter> othermaciej, well, obviously not the protocol [00:19:03.0000] <othermaciej> since the whole point of the feature is that it makes a raw TCP connection [00:19:04.0000] <othermaciej> and does two-way messaging over the single established socket [00:19:05.0000] <mcarter> i'm not saying i've perfectly emulated a native implementation [00:20:00.0000] <mcarter> rather that if you make your sse server open the actual socket, and allow the sse server to receive upstream over xhr requests and have some way of identifiying messages to a particular connection [00:20:01.0000] <othermaciej> I do think a full duplex communication feature would be great [00:20:02.0000] <mcarter> then you end up with a nearly identical api to tcpconnection [00:20:03.0000] <othermaciej> but I a not a fan of the specific design of TCPConnection [00:20:04.0000] <mcarter> is it the api provided by tcpconnection, or the underlying protocol? [00:21:00.0000] <othermaciej> by TCPConnection [00:21:01.0000] <othermaciej> but I don't think the API is the big value add [00:22:00.0000] <othermaciej> if you want to emulate full duplex messaging and don't care how many connections you use, you can just use XHR [00:22:01.0000] <MacDome> another CD came! yay! [00:23:00.0000] <mcarter> othermaciej, so what is it that you think is wrong with TCP Connection? [00:24:00.0000] <MacDome> /me wonders if mcarter is talking about the SVG 1.2 Connection object... [00:25:00.0000] <MacDome> or something entirely different [00:26:00.0000] <Hixie> mcarter: just sending feedback to whatwg⊙wo is enough [00:26:01.0000] <mcarter> MacDome, http://www.w3.org/html/wg/html5/#tcp-connections [00:26:02.0000] <Hixie> mcarter: it'll be put in the right folder when i read it :-) [00:26:03.0000] <mcarter> Hixie, heh, the way othermaciej frames it, the right folder will be the trash [00:26:04.0000] <Hixie> MacDome: http://www.whatwg.org/specs/web-apps/current-work/#network [00:27:00.0000] <Hixie> i guarentee to reply to all actionable feedback sent to whatwg⊙wo [00:27:01.0000] <MacDome> hum... [00:27:02.0000] <MacDome> sounds scary [00:27:03.0000] <MacDome> /me wonders if Hixie saw mjs's feedback on SVG 1.2 Connection [00:27:04.0000] <Hixie> http://www.whatwg.org/issues/data.html tracks my progress on that front :-) [00:27:05.0000] <Hixie> MacDome: SVG 1.2 Connection was a disaster compared to this [00:28:00.0000] <Hixie> MacDome: though maciej things this is a disaster too, so... :-) [00:28:01.0000] <Hixie> thknks [00:28:02.0000] <Hixie> thinks [00:28:03.0000] <mcarter> Hixie, the first two proposals are api, and I'll send them when i finish. I think there should be an explicit connect() function, and one more ready state (before connect() is called is a new readystate) [00:28:04.0000] <MacDome> Hixie: well, I'm just glad you're the one specing this [00:28:05.0000] <MacDome> Hixie: but in general I would trust mjs over you in this area (nothing personal) [00:28:06.0000] <mcarter> Hixie, also, I have a pretty reasonable suggestion about the protocol, using HTTP upgrades instead of a custom protocol. I'll send that when i get it ready as well [00:29:00.0000] <mcarter> just giving you a bit of heads up [00:29:01.0000] <MacDome> /me would have to think about what sort of evil things are possible with Connection [00:29:02.0000] <Hixie> MacDome: his feedback is in the pile somewhere, and i have no intention of ignoring it :-) [00:29:03.0000] <MacDome> Hixie: again, why I'm glad you're specing this :) [00:29:04.0000] <Hixie> mcarter: cool, thanks [00:29:05.0000] <MacDome> his SVG 1.2 Connection feedback was ignored :( [00:29:06.0000] <Hixie> shocking [00:30:00.0000] <Hixie> MacDome: iirc my biggest problem with mjs' feedback was that he wants it to use HTTP instead, and that seems like a giant amount of work for the server side [00:30:01.0000] <MacDome> (for those who don't read Hixie, he's being facetious) [00:30:02.0000] <MacDome> Hixie: http is definitely a smaller problem space [00:30:03.0000] <MacDome> Hixie: and is stateless [00:30:04.0000] <Lachy> Hixie, these statement's seem redundant in the spec: "If a dl element contains only dt elements, then it consists of one group with names but no values." [00:30:05.0000] <Lachy> "If a dl element contains only dd elements, then it consists of one group with values but no names." - Since those cases are covered by the 2 subsequent conditions [00:30:06.0000] <MacDome> Hixie: but I'd have to give it some thought [00:31:00.0000] <Hixie> Lachy: hm, true, i guess [00:31:01.0000] <MacDome> /me just now realizes that he's in #whatwg instead of #webkit [00:31:02.0000] <MacDome> /me goes back to friendlier waters :) [00:31:03.0000] <mcarter> Hixie, if you use http you could tunnel through proxies a lot easier AND stop worrying about connections to the SMTP servers without adding yet another simple protocol to the world [00:31:04.0000] <Hixie> aww, MacDome, don't go away :-) [00:32:00.0000] <MacDome> Hixie: I'm never far. and you have plenty of ways to reach me ;) [00:32:01.0000] <Hixie> mcarter: but if you use http the server side goes from a ten line perl script to a 3000-line perl script [00:32:02.0000] <Hixie> mcarter: and you'll end up with nobody ever actually writing a compliant server [00:32:03.0000] <MacDome> Hixie: or you just put your stuff behind an http frontend [00:32:04.0000] <Hixie> MacDome: how? [00:33:00.0000] <MacDome> Hixie: how not? [00:33:01.0000] <mcarter> Hixie, how about a protocol that is a strict subset of http such that you only need to know how to read a couple of headers and send back an error or ok header? [00:33:02.0000] <Hixie> MacDome: the problem we're trying to solve is real-time duplex communication [00:33:03.0000] <Hixie> mcarter: then it's not HTTP [00:33:04.0000] <Hixie> mcarter: at which point, why bother with the pretense [00:34:00.0000] <MacDome> Hixie: which is possible with two HTTP connections, no? [00:34:01.0000] <mcarter> Hixie, the pretense is mostly there so that it starts as an http request and can use the browser's proxy settings to establish the connection [00:35:00.0000] <mcarter> Hixie, i think http is a bad solution for a tcp connection, but practically speaking we *really* want to get through locked down systems [00:35:01.0000] <Hixie> MacDome: the web browser can't receive connections, it's behind NAT typically [00:36:00.0000] <Hixie> mcarter: can't you tunnel anything through 443? [00:36:01.0000] <MacDome> Hixie: I meant that the browser could open up two conenctions, one which it sends on, the other which it receives on [00:36:02.0000] <MacDome> i mean, I guess you should be able to do it with one [00:37:00.0000] <Hixie> MacDome: if you layer that on top of an http frontend, you end up with two processes, where you really just want one [00:37:01.0000] <Hixie> MacDome: onthe server [00:37:02.0000] <mcarter> Hixie, the main issue isn't really the port number so much as the forward proxy sitting between you and the outside world (where "you" is some poor student or employee.) [00:37:03.0000] <MacDome> /me goes back to fixing CSS3 bugs [00:37:04.0000] <Hixie> mcarter: do https: connections go through said proxy? [00:37:05.0000] <mcarter> Hixie, yeah [00:38:00.0000] <MacDome> /me claims ignorance for all networking issues [00:38:01.0000] <Hixie> mcarter: i thought the way https worked was that all data was just forwarded through untouched [00:38:02.0000] <Hixie> mcarter: how does https work? [00:38:03.0000] <mcarter> Hixie, they start with a CONNECT, and then after that all data is untouched [00:38:04.0000] <Hixie> oh [00:38:05.0000] <Hixie> interesting [00:38:06.0000] <Hixie> didn't know that [00:38:07.0000] <Hixie> well we probably want to do something similar then, i agree [00:39:00.0000] <mcarter> but we can't just open a connection to an arbitrary external address [00:39:01.0000] <mcarter> we actually have to open the connection to the forward proxy, then use a CONNECT to specify the external address [00:39:02.0000] <Hixie> sure [00:39:03.0000] <Hixie> that's ok [00:39:04.0000] <Hixie> can't we just define that that is how this protocol is handled when there's a proxy? [00:39:05.0000] <Hixie> i.e. that you proxy it over whatever HTTP proxy is set up? [00:40:00.0000] <mcarter> so as long as the browser agrees to expose the proxy information to their TCPConnection implementation, and use connect, then it could work out [00:40:01.0000] <mcarter> exactly [00:40:02.0000] <Hixie> makes sense to me [00:40:03.0000] <mcarter> I'll put together a proposal that outlines the problem and that solution over the next couple of days and send it in [00:40:04.0000] <Hixie> that would be awesome [00:40:05.0000] <Hixie> thanks! [00:41:00.0000] <Hixie> basically my main requirements are that: (1) there be the ability for one process to have a full-duplex communication channel to the script running in the web page [00:42:00.0000] <Hixie> (2) the server-side be implementable in a fully conformant way in just a few lines of perl without support libraries [00:42:01.0000] <Hixie> (3) that it be safe from abuse (e.g. can't connect to smtp servers) [00:42:02.0000] <Hixie> (4) that it work from within fascist firewalls [00:42:03.0000] <mcarter> yeah, those requirements are spot on [00:43:00.0000] <mcarter> (2) is a bit tricky when you start requiring HTTP or even a subset of it [00:43:01.0000] <Hixie> right [00:43:02.0000] <mcarter> i still think there are a couple of other reasons why http might be a good idea, but i need to think about it more. I too want this to be as simple as possible so long as it works [00:43:03.0000] <Hixie> oh i agree that there are a number of compelling reasons to base this on http [00:44:00.0000] <Hixie> just not reasons that i would classify as requirements :-) [00:44:01.0000] <mcarter> heh [00:44:02.0000] <mcarter> so the spec seemed to indicate no resolution on the same-source origin policies for tcpconnection [00:44:03.0000] <mcarter> i think there was some comment about "maybe allowing cross-domain" connections or something [00:45:00.0000] <Hixie> yeah [00:45:01.0000] <mcarter> even for cross-subdomain stuff you have the afore-mentioned dns rebinding attack [00:45:02.0000] <Hixie> i plan to cut out all the crap about local network connections and peer to peer stuff and broadcast stuff [00:45:03.0000] <Hixie> and to make it cross-domain [00:45:04.0000] <mcarter> which a Host header you can solve dns rebinding [00:45:05.0000] <Hixie> yeah [00:45:06.0000] <Hixie> i was about to say i think we should include an equivalent to the Host header [00:46:00.0000] <Hixie> that would allow for shared hosting, too [00:46:01.0000] <mcarter> right [00:46:02.0000] <Hixie> in some future where there's some cool thing that everyone is doing using this [00:46:03.0000] <mcarter> also, i'm not convinced it makes sense to create a protocol that can't identify what version of the protocol it is [00:46:04.0000] <Hixie> yeah, people always think you should version protocols [00:46:05.0000] <Hixie> it's ok [00:46:06.0000] <Hixie> you grow out of it :-) [00:47:00.0000] <mcarter> haha [00:47:01.0000] <mcarter> at any rate, I really do have a pretty neat implementation of the TCPConnection api, but over sse and xhr [00:47:02.0000] <mcarter> it makes for a nice dream, of some day having that be native =) [00:47:03.0000] <Hixie> you don't need to version the protocol if it's designed in a way that it extends with well-defined behaviour in down-level clients [00:47:04.0000] <Hixie> :-) [00:48:00.0000] <Hixie> (e.g. css and html aren't versioned) [00:48:01.0000] <Hixie> (html4 and before look like they're versioned, but they're not really) [00:48:02.0000] <mcarter> I'm not convinced [00:48:03.0000] <Hixie> versioning doesn't work when you have multiple implementations and an evolving spec [00:49:00.0000] <mcarter> well, thats a good point I suppose [00:49:01.0000] <mcarter> Thats what headers are for [00:51:00.0000] <mcarter> I don't actually care too much if we use http or not, i just need to put all my thoughts down somewhere and come up with coherent comparison of advantages and disadvantages [00:51:01.0000] <mcarter> and send it to the list [00:51:02.0000] <Hixie> that would be great [00:52:00.0000] <mcarter> I am sort of hoping that a cross-browser implementation of the api (both server-side and client side, via javascript hackery and a server-side xhr/sse->socket proxy) can help push the standard forward in the face of browser non-adoption [00:53:00.0000] <mcarter> so with the orbited project (open source comet server in python www.orbited.org) we are getting close to that, and even if TCPConnection it drops out of the specification, its a nice abstraction for server-side and javascript-side developers [00:53:01.0000] <mcarter> I'll keep you posted [00:55:00.0000] <inimino> that would be excellent [00:55:01.0000] <inimino> (TCPConnection with a back-compat JS library) [00:56:00.0000] <mcarter> inimino, yeah, and we've already got all the proof of concept work done on it. So you can expect it in the near future [00:57:00.0000] <Hixie> please do (keep me posted). this sounds cool. [00:57:01.0000] <Hixie> man i hope the forms stuff gets resolved soon [00:57:02.0000] <Hixie> i have so many WF2 and WF3 feedback e-mails [00:58:00.0000] <inimino> Hixie: how much of the WF2 stuff do expect to survive? [00:58:01.0000] <inimino> (and what's WF3?) [00:58:02.0000] <Hixie> i expect most of it to survive other than the repetition blocks stuff [00:59:00.0000] <Hixie> though some minor buts might get axed or simplified [00:59:01.0000] <inimino> ok, good [00:59:02.0000] <Hixie> WF3 is the next version of WF2 [00:59:03.0000] <Hixie> of course, if the w3c xforms crowd gets their way and the browsers all misteriously change their minds and agree with them, then wf2 could die altogether [00:59:04.0000] <Hixie> i give that pretty low odds though [00:59:05.0000] <inimino> is WF3 published somewhere? [01:00:00.0000] <inimino> Hixie: yeah, I'm betting on XForms not going anywhere in browsers... [01:00:01.0000] <Hixie> inimino: there is no wf3 yet, just a lot of proposals in e-mail [01:01:00.0000] <inimino> Hixie: ok [01:02:00.0000] <hsivonen> well, title on abbr didn't last long [01:02:01.0000] <annevk> "The new custom-* attributes are an attempt to address these requests." [01:02:02.0000] <annevk> oops [01:02:03.0000] <Lachy> Hixie, is WF3 just waiting for the results for the forms tf before starting? [01:03:00.0000] <Hixie> Lachy: no, wf3 is mostly html6 [01:04:00.0000] <Hixie> annevk: heh, oops. data-... [01:04:01.0000] <zcorpan_> <section> This is the first paragraph. &lt;del>This sentence was deleted. <div></div> This sentence was deleted too.</del> End of second paragraph... </section> [01:04:02.0000] <zcorpan_> s/&lt;/</ [01:05:00.0000] <zcorpan_> Hixie: isn't the above 2 paragraphs with 1 del element marking the end of the first and the start of the second? [01:09:00.0000] <Hixie> zcorpan_: it's two paragraphs and a div [01:10:00.0000] <zcorpan_> Hixie: hmm, yeah ok [01:16:00.0000] <Lachy> it's interesting that for all the reasons given to allow title="" to be omitted from <abbr>, the only convincing one was the styling issue. [01:17:00.0000] <Hixie> yeah [01:17:01.0000] <Lachy> The thread could have been a lot shorter if people stopped giving non-convincing arguments. [01:17:02.0000] <Hixie> in their defence they didn't know which would convince me :-) [01:19:00.0000] <Lachy> ignorance is no excuse! :-) [01:25:00.0000] <Hixie> annevk: i think you should look up the word "explicit" (as compared to its antonym "implicit") :-) [01:26:00.0000] <annevk> if I omit the argument it's an explicit choice :) [01:26:01.0000] <Hixie> no it's not :-) [01:28:00.0000] <gsnedders> /me notes that the commit about plurals doesn't actually really define anything [01:28:01.0000] <Hixie> hm? [01:28:02.0000] <gsnedders> Actually, it defines that the number in @title must match the number in the content [01:28:03.0000] <gsnedders> But that's all [01:29:00.0000] <gsnedders> implicitly I suppose it suggests not using <abbr title="working group">wg</abbr>s [01:29:01.0000] <krijnh> Hixie: Don't worry :) [01:30:00.0000] <Hixie> gsnedders: it gives an example showing both :-) [01:30:01.0000] <Hixie> it admittedly doesn't really answer the question the www-html guy asked [01:30:02.0000] <gsnedders> /me is too tired [01:30:03.0000] <gsnedders> zcorpan_'s theory is definitely right. Everything I say is bullshit :) [01:31:00.0000] <gsnedders> Hixie: My point is that it doesn't define which to use [01:31:01.0000] <gsnedders> /me nowadays always marks up the singular, though he used to use either the singular or plural [01:32:00.0000] <gsnedders> /me heads off to school [01:34:00.0000] <annevk> Hixie, the parser thing about <span> doesn't seem to be in any feedback folder [01:35:00.0000] <annevk> oh, but it's a marked issues it seems [01:36:00.0000] <Hixie> ? [01:36:01.0000] <Hixie> the idea of having <span><section> or whatever? [01:37:00.0000] <annevk> yeah [01:37:01.0000] <Hixie> i replied to that already iirc [01:37:02.0000] <annevk> no, not that [01:37:03.0000] <annevk> stuff like <p><i><div><p> [01:37:04.0000] <Hixie> iirc i replied both when i specced it and when i removed it again [01:37:05.0000] <Hixie> oh [01:38:00.0000] <annevk> I thought it was just <span>, but it's <i> too [01:38:01.0000] <annevk> The thing that also allows <ul> in <p> [01:38:02.0000] <Hixie> i have no idea what you're talking about [01:38:03.0000] <annevk> <p><span><ul></ul></span></p> or something [01:38:04.0000] <Hixie> right [01:38:05.0000] <Hixie> the stuff that's in the spec as XXXSPAN [01:38:06.0000] <Hixie> iirc i replied both when i specced it and when i removed it again [01:39:00.0000] <annevk> but shouldn't the parser support it? [01:39:01.0000] <Hixie> how does it not? [01:39:02.0000] <Hixie> i am very confused [01:40:00.0000] <annevk> search for '<p class="big-issue">This doesn't match browsers.</p>' [01:40:01.0000] <Hixie> ah [01:40:02.0000] <Hixie> ok [01:40:03.0000] <Hixie> well if it's in the spec [01:48:00.0000] <annevk> In other news, why do we need a telcon for Access Control if the IE Team has yet to reply to all the issues raised... [01:49:00.0000] <Hixie> dunno, ask [01:49:01.0000] <Hixie> is there a list of issues they haven't replied to? [01:51:00.0000] <annevk> s/Access Control/XDomainRequest/ makes more sense [01:51:01.0000] <annevk> Hixie, no, though some e-mail from Kris was quite complete [01:52:00.0000] <annevk> http://lists.w3.org/Archives/Public/public-webapi/2008Apr/0056.html [01:53:00.0000] <hsivonen> people don't change positions during telecons anyway, because they don't have enough time to think and verify claims to make an informed change of opinion [01:53:01.0000] <Hixie> YUP [01:53:02.0000] <Hixie> er [01:53:03.0000] <Hixie> yup [01:54:00.0000] <Hixie> been saying that for months [01:54:01.0000] <Hixie> if not years by now [01:54:02.0000] <Hixie> same with f2fs [01:55:00.0000] <Lachy> I hate telcon's cause it doesn't give enough time to think and give a well thought out response either [01:56:00.0000] <annevk> replied [02:01:00.0000] <jruderman> Hixie: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cobject%20data%3Dflash%3E [02:01:01.0000] <jruderman> Hixie: in firefox, it somehow acquires a type attribute [02:02:00.0000] <hsivonen> jruderman: I don't see a type attribute in Firefox 3b5 [02:02:01.0000] <jruderman> try adding a space at the end [02:03:00.0000] <jruderman> seems like it only happens if ./flash is cached [02:03:01.0000] <hsivonen> whoa [02:03:02.0000] <Hixie> jruderman: yeah isn't it awesome [02:04:00.0000] <annevk> oh yeah, I noticed some scary activity in a bug report related to that [02:04:01.0000] <jruderman> a mozilla bug report? [02:04:02.0000] <annevk> yes [02:04:03.0000] <jruderman> i'm having trouble finding it [02:05:00.0000] <hsivonen> Hixie: I must say that the hardship of the datagrid content model is largely due to the content model being very abnormal [02:05:01.0000] <annevk> jruderman, https://bugzilla.mozilla.org/show_bug.cgi?id=395110 [02:06:00.0000] <hsivonen> Hixie: it's exceedingly weird that <datagrid><table/>foo</datagrid> is non-conforming but <datagrid>bar<table/>foo</datagrid> is conforming [02:06:01.0000] <Hixie> annevk: i think it would be helpful to list a bunch of e-mails they haven't replied to [02:08:00.0000] <Hixie> annevk: did they ever send technical comments on XHR and AC, btw? [02:09:00.0000] <annevk> there might be one where they agreed not sending cookies would be good [02:09:01.0000] <hsivonen> Hixie: I think they sent one basically saying that the XHR spec was too detailed [02:09:02.0000] <annevk> oh yes, they did e-mail comments on XMLHttpRequest, sorry [02:09:03.0000] <annevk> though it mostly came down to what hsivonen says :( [02:10:00.0000] <Hixie> i meant technical feedback [02:12:00.0000] <jruderman> annevk: i don't think that bug mentions the mysterious appearance of a type attribute [02:12:01.0000] <annevk> jruderman, could be, but that's the bug with the scary comments :) [02:13:00.0000] <annevk> Hixie, I don't remember if the offlist feedback they gave a couple of years back contained technical comments [02:13:01.0000] <annevk> Hixie, other than that I don't think so [02:15:00.0000] <jruderman> filed https://bugzilla.mozilla.org/show_bug.cgi?id=430424 [02:18:00.0000] <zcorpan> Hixie: Error loading the folder list: Internal Server Error. Let Hixie know. [02:18:01.0000] <Hixie> reload [02:18:02.0000] <Hixie> haha [02:18:03.0000] <Hixie> http://www.w3.org/2002/09/wbs/38482/XDRorNot/results [02:18:04.0000] <Philip`> You're not allowed to see the results of this questionnaire. [02:19:00.0000] <Hixie> annevk: what's the timeline on ac and xhr? [02:19:01.0000] <jruderman> i wish it were more obvious which URLs on w3.org are password-protected [02:19:02.0000] <Hixie> that url is the result of a vote on xdr [02:19:03.0000] <Hixie> the results are 11 vs 2 [02:19:04.0000] <Philip`> Which are for/against? [02:20:00.0000] <hsivonen> Philip`: that's Member-only information :-( [02:20:01.0000] <Hixie> put it this way [02:20:02.0000] <Hixie> 2 microsoft people voted [02:20:03.0000] <Philip`> Ah [02:20:04.0000] <Hixie> the vote was actually yes, no, concurr, and a space for rationale [02:21:00.0000] <Philip`> hsivonen: It's not Member-only any more :-) [02:21:01.0000] <Hixie> the results were 2/7/4, with the two yesses having no rationale [02:21:02.0000] <Hixie> and most of hte nos giving different reasons for voting no [02:22:00.0000] <Hixie> it's just funny how the only votes without rationale are the yesses and two of the concurrs [02:23:00.0000] <Hixie> i understand not having a rationale if you concurr [02:23:01.0000] <Hixie> but if you vote yes, you'd think you could give one [02:24:00.0000] <jruderman> what's the difference between concur and yes? [02:25:00.0000] <Hixie> if there are more nos than yesses, concurr means no [02:25:01.0000] <Philip`> What if the no and yes counts are equal? [02:26:00.0000] <Hixie> who knows [02:27:00.0000] <annevk> Hixie, AC depends on pending feedback from Mozilla which is still not there... [02:27:01.0000] <annevk> Hixie, XHR is in Last Call and will hopefully go to CR in June [02:28:00.0000] <Hixie> i meant xhr2 [02:28:01.0000] <Hixie> xxx if you will [02:29:00.0000] <Hixie> not sure what to do about ac [02:30:00.0000] <Hixie> i guess you could try to summarise the use cases we want to deal with [02:30:01.0000] <jruderman> Hixie: err... how is it different from abstain, then? [02:30:02.0000] <Hixie> and what the various concerns are [02:30:03.0000] <Hixie> so we could try to come up with solutions [02:31:00.0000] <hsivonen> jruderman: it affects quorum in some other voting cases [02:31:01.0000] <Hixie> jruderman: again, who knows [02:31:02.0000] <Hixie> voting is dumb [02:32:00.0000] <hsivonen> uh. not quorum but how much over 50% the majority goes [02:32:01.0000] <jruderman> lol [02:32:02.0000] <annevk> xhr2 pretty much depends on ac [02:32:03.0000] <Hixie> annevk: yeah [02:33:00.0000] <annevk> i think jonas is still saying we need a better solution for cookies, but it's a bit unclear to me why and how [02:33:01.0000] <annevk> mostly why at this point, because i thought we already discussed it and the moz sec team was eventually convinced but then it was too late [02:34:00.0000] <Hixie> annevk: in that case, propose to move it to LC and see what happens [02:36:00.0000] <inimino> Hixie: why was that mailing list message removed from www-archive? [02:37:00.0000] <Lachy> inimino, because Hixie responded to an off-list message by CCing www-archive, and Dean complained to the W3C that he didn't have permission to publish it publically [02:37:01.0000] <inimino> I see, thanks, Lachy [02:40:00.0000] <annevk> Hixie, I did and Jonas didn't like it [02:40:01.0000] <annevk> Hixie, http://lists.w3.org/Archives/Public/public-appformats/2008Apr/0043.html [02:42:00.0000] <krijn> http://krijnhoetmer.nl/irc-logs/whatwg/20080422#l-1148 - yeah, thanks Philip` ;) [04:18:00.0000] <hsivonen> Hixie: what's the chance of you banning nested forms in XHTML5 in order to make HTML5 and XHTML5 more consistent with each other? [04:18:01.0000] <Hixie> pretty good if you mail the list :-) [04:19:00.0000] <Hixie> although the chances are zero until i get to wf2 [04:20:00.0000] <hsivonen> ok [04:20:01.0000] <annevk> forms :( [04:21:00.0000] <hsivonen> aaarrgh!!! I've been trying to write code against a faulty set on test cases [04:21:01.0000] <hsivonen> no wonder XPath seems crazy [04:28:00.0000] <Hixie> jesus, "Uniform access to descriptions" is a long www-tag thread even for ww-tag [04:29:00.0000] <annevk> is it interesting? [04:29:01.0000] <annevk> i autodelete that thread [04:30:00.0000] <Hixie> no idea, didn't look at a single message [04:31:00.0000] <hsivonen> the moon message was funny if it was in that thread [04:32:00.0000] <hsivonen> no, it was a different thread [04:32:01.0000] <hsivonen> this one: http://lists.w3.org/Archives/Public/www-tag/2008Mar/0026.html [04:37:00.0000] <Hixie> wow [04:38:00.0000] <Hixie> that takes architectural astronauts to a whole new level [04:38:01.0000] <hsivonen> that's why it's funny [04:39:00.0000] <Hixie> good lord [04:39:01.0000] <Hixie> that thread gets worse [04:39:02.0000] <Hixie> /me closes the window [04:48:00.0000] <hsivonen> Hixie: email about nested forms sent [04:57:00.0000] <Hixie> thanks [05:02:00.0000] <hsivonen> let's see if there's any way to shorten this list based on current spec text... http://bugzilla.validator.nu/buglist.cgi?component=HTML5+schema&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED [05:05:00.0000] <annevk> Hixie, XHR2 also depends on progress events [05:05:01.0000] <annevk> apart from that it's done imo although it doesn't get getRequestHeader what Julian would really like to see because he's been the only one to suggest that so far to me [05:06:00.0000] <annevk> oh, and it doesn't have examples and an introduction ... [05:06:01.0000] <hsivonen> if I implement checking for WF2 email addresses and mailto: URIs, which spec for email addresses should I be reading? [05:07:00.0000] <hsivonen> make that mailto: *IRI*s [05:07:01.0000] <hsivonen> IIRC, the original RFC is nuts and allows crazy tokens that no one supports [05:10:00.0000] <Hixie> the wf2 spec should sidestep that [05:10:01.0000] <Hixie> iirc [05:10:02.0000] <Hixie> anyway, bed time [05:10:03.0000] <hsivonen> nn [08:12:00.0000] <Philip`> /me wishes Gmail didn't keep going out of sync with itself [08:13:00.0000] <Philip`> (It claims a message received from public-html has the label [Imap]/Drafts even though I sent it ten minutes ago) [09:22:00.0000] <Philip`> Oh, WF2 has a form attribute? That looks potentially useful [09:22:01.0000] <Philip`> (but less useful when I need things to work in IE6) [09:24:00.0000] <zcorpan> Philip`: i think there's at least one js implementation [09:24:01.0000] <hsivonen> WF2 is designed to be emulatable in IE6 [09:25:00.0000] <hsivonen> (I don't know if form='' in particular is emulatable) [09:26:00.0000] <takkaria> hehe, that TAG thread is amazing [09:26:01.0000] <takkaria> they should go read some philosophy of language [09:28:00.0000] <Philip`> http://code.google.com/p/webforms2/wiki/ImplementationDetails doesn't seem to say it supports @form [09:29:00.0000] <hsivonen> I wonder if Gecko and WebKit have a JS API for the form pointer [09:29:01.0000] <Philip`> Is anybody able to access http://webforms2.googlecode.com/svn/trunk/ or does it give the "your query looks similar to automated requests from a computer virus or spyware application" error? [09:29:02.0000] <annevk> hsivonen, <input>.form ? [09:30:00.0000] <takkaria> Philip`: I can get it [09:30:01.0000] <hsivonen> Philip`: I can GET it [09:30:02.0000] <Philip`> takkaria: Okay, I guess Google just hates me [09:31:00.0000] <BenMillard> Philip`, me too [09:31:01.0000] <BenMillard> Philip`, I mean, I can get it too [09:31:02.0000] <hsivonen> annevk: is that settable? [09:31:03.0000] <annevk> hsivonen, no [09:31:04.0000] <hsivonen> doesn't help then [09:32:00.0000] <annevk> oh, I see what you mean, yeah, form="" is new and brav [09:32:01.0000] <annevk> e [09:33:00.0000] <hsivonen> http://www.w3.org/2005/Incubator/cwl/charter [09:34:00.0000] <hsivonen> "Then CWL will realize a language barrier free world in the web and will also enable computers to extract semantic information and knowledge from web pages accurately." [09:35:00.0000] <hsivonen> /me believes the way to deal with the language barrier that actually works is *people* investing effort in learning English [09:35:01.0000] <annevk> i doubt that's what tye [09:35:02.0000] <annevk> they mean* [09:35:03.0000] <hsivonen> annevk: what do they mean? [09:36:00.0000] <annevk> i suppose people will have to modify said web pages first :) [09:36:01.0000] <annevk> ah, it says that in the previous paragraph :) [09:38:00.0000] <hsivonen> Esperanto and Interlingua aren't doing so great in enabling Finnish-Dutch communication [09:38:01.0000] <hsivonen> perhaps CWL will [09:39:00.0000] <othermaciej> language barrier free world? [09:40:00.0000] <othermaciej> what? [09:41:00.0000] <hsivonen> othermaciej: looks like RDF will free people from the oppression of having to learn English: http://www.w3.org/2005/Incubator/cwl/XGR-cwl-20080331/ [09:41:01.0000] <Philip`> On the subject of natural language programming, I saw http://www.inform-fiction.org/ recently, which looks kind of neat [09:41:02.0000] <Philip`> where you can write source code that looks like http://www.inform-fiction.org/I7Downloads/Examples/bronze/source_7.html [09:42:00.0000] <zcorpan> hsivonen: LOL [09:44:00.0000] <othermaciej> I see, so we'll solve the translation problem by just writing everything in the form of machine-understandable assertions [09:45:00.0000] <othermaciej> all we have to do to solve the hard problem of translation is solve an even harder problem [09:45:01.0000] <Philip`> You solve the problem by automatically converting from one natural language into a common machine-understandable intermediate form, and then converting back into another natural language [09:46:00.0000] <Philip`> so you don't have to write everything (or anything) as machine-understandable assertions [09:46:01.0000] <Lachy> /me published a new blog entry http://blog.whatwg.org/reverse-ordered-lists [09:46:02.0000] <othermaciej> instead of confusing English, I'll be able to read and write statements like agt(purchase(icl>buy(agt>person,obj>thing)).@entry.@past), I) [09:47:00.0000] <Philip`> At least that's how I assume they intend to solve problems, because anything else seems silly... [09:47:01.0000] <Philip`> ("CWL [...] shall enables [sic] users to develop conversion systems between CWL and each natural language." etc) [09:50:00.0000] <Lachy> othermaciej, for those of us who are still stuck in the past with english, care to translate that? :-) [09:50:01.0000] <othermaciej> Lachy: isn't it obvious? [09:51:00.0000] <Philip`> "I bought a person thing"? [09:52:00.0000] <takkaria> frankly they should just use lojban [09:52:01.0000] <othermaciej> this is better, lojban with RDF syntax! [09:53:00.0000] <takkaria> at least a couple hundred people already read lojban though. :) [09:53:01.0000] <hsivonen> takkaria: lojban isn't doing great in terms of supporting existing content and legacy agents [09:54:00.0000] <zcorpan> Lachy: it can be written as reversed="" in xhtml [09:54:01.0000] <Philip`> Millions of people have experience with the language Oddle Poddle [09:55:00.0000] <Philip`> and it's much less wastefully expressive than English, making it far easier for foreigners to learn [09:55:01.0000] <Lachy> zcorpan, yeah, I know, but people are more familiar with the expanded form [09:57:00.0000] <Philip`> Lachy: That blog post has fancy quotes in its example HTML, so it'll break miserably when someone tries to copy-and-paste it [09:57:01.0000] <Lachy> oops, where? [09:58:00.0000] <Lachy> I thought I removed them all [09:58:01.0000] <zcorpan> also has <!– instead of <!-- [09:58:02.0000] <Philip`> Lachy: Everywhere [09:58:03.0000] <Lachy> oh, no, that's WordPress automatically replacing them :-( [09:59:00.0000] <zcorpan> does writing &quot; help? [09:59:01.0000] <zcorpan> or just omitting the quotes? [10:00:00.0000] <zcorpan> "The reversed attribute is a boolean attribute. If present, .... If the attribute is present, ...." [10:01:00.0000] <zcorpan> Hixie: ^ "if present" twice [10:04:00.0000] <takkaria> I think that to prove CWL is expressive enough, they should write a copy of the spec in it [10:04:01.0000] <Lachy> oh no, something has happened to blog.whatwg.org. It's not responding [10:05:00.0000] <Lachy> ah, it's back now [10:06:00.0000] <Lachy> fixed the quotes [10:06:01.0000] <Lachy> time to go home, cya [10:23:00.0000] <Philip`> Philip`: When Lachy gets back, remember to tell him that <ol reversed="reversed" start="10"> should say 100 instead [10:24:00.0000] <Philip`> and s/Movies Sagas/Movie Sagas/ [10:34:00.0000] <Philip`> Lachy: http://krijnhoetmer.nl/irc-logs/whatwg/20080423#l-910 [10:34:01.0000] <Philip`> Also it still says "<!– Items omitted here –>" instead of "<!-- ..." [10:38:00.0000] <Lachy> aargh! I hate WordPress! Why is it replacing my -- with en-dashes!? [10:39:00.0000] <hasather_> Lachy: yes, especially in <code> [10:39:01.0000] <didymos> Philip`, damn, I commented on the start="10", failed to see here first :) [10:39:02.0000] <didymos> s/see/look/ [10:39:03.0000] <Philip`> Lachy: It thinks bloggers are stupid and can't do punctuation, so it has to do it for them [10:40:00.0000] <Philip`> or maybe it thinks bloggers are lazy and don't want to write &ndash;, and don't have an en-dash key on their keyboards [10:41:00.0000] <Lachy> bloggers should just learn to type Option+- or Alt+0150 to get en-dashes [10:41:01.0000] <Philip`> I don't have an Option key [10:41:02.0000] <Philip`> or a numpad [10:42:00.0000] <annevk> 쌬ame issue here [10:42:01.0000] <annevk> ooh, what happened there :) [10:42:02.0000] <annevk> maybe something does work [10:42:03.0000] <annevk> 쌬 is what I get for ALT+0150 [10:42:04.0000] <Lachy> Philip`, you'll have to get a external number pad and install windows on your machine [10:43:00.0000] <Philip`> Hmm, how wide is ─? [10:43:01.0000] <Lachy> annevk, it doesn't work linux [10:43:02.0000] <BenMillard> /me joins the party by testing Alt+0150–. [10:43:03.0000] <Philip`> /me can't tell if it's en- or em- [10:43:04.0000] <Philip`> Lachy: Um, no thanks :-p [10:43:05.0000] <annevk> hmm, windows sounds like a nasty requirement [10:43:06.0000] <Lachy> 0150 is en-dash, ,0151 is em-dash on windows [10:43:07.0000] <didymos> Philip`, since it is monospaced, you really cannot tell :) [10:43:08.0000] <hasather_> I use Caps Lock as a Compoes key, and use Compose+..- for en dash, --- for em dash [10:43:09.0000] <hasather_> *Compose [10:44:00.0000] <Lachy> hasather_, on which system, or which editor? [10:44:01.0000] <hasather_> Ubuntu [10:44:02.0000] <takkaria> hasather_: how do you set that up? [10:44:03.0000] <Philip`> /me has never found out how to configure his keyboard to do more than the default [10:44:04.0000] <hasather_> takkaria: System > Prefs > Keyboard [10:45:00.0000] <Philip`> (where the default is altgr+, == ─ and various other things on other keys) [10:45:01.0000] <hasather_> takkaria: Layout Options > Compose key [10:46:00.0000] <hasather_> and it's --. for en dash, not ..- [10:49:00.0000] <takkaria> hasather_: v.useful, ta [10:50:00.0000] <hasather_> takkaria: np, see also: http://www.hermit.org/Linux/ComposeKeys.html [10:54:00.0000] <Lachy> wow, so far 3 different people have told me about that start="10" error using 3 different methods. [10:55:00.0000] <Philip`> Lachy: Well, it is a very blatant error :-p [10:55:01.0000] <Lachy> maybe if I had actually pressed save, they would stop telling me :-) [10:55:02.0000] <Philip`> It's even in bold [10:56:00.0000] <Lachy> I think it's odd that everyone has said it's the 10 that's in error, not the 100 in the sentence before it :-) [10:57:00.0000] <Philip`> Nobody could believe that creationists only use 10 logical fallacies [10:57:01.0000] <Philip`> and it said "counting down from 100" and "Top 100", so the 100 was used twice and was therefore most likely to be the intended value [10:58:00.0000] <Lachy> That's what I thought too. It was 10 in my first draft, then I thought should put it up a bit :-P [11:00:00.0000] <Philip`> blog.whatwg.org says: Internal Server Error [11:01:00.0000] <Lachy> wtf? [11:02:00.0000] <Lachy> sometimes it doesn't respond, sometimes it gives errors, other times it works perfectly [11:04:00.0000] <Philip`> It's strange how hard it is to make a computer accept a network message and send a file back without just randomly failing for no observable reason [11:04:01.0000] <Lachy> I haven't changed anything settings on the server for quite a while, so maybe dreamhost is having more troubles [11:05:00.0000] <Lachy> does anyone remember which server Hixie's site is running on? Is it Spunky? [11:07:00.0000] <Lachy> dreamhost status is only reporting mail issues with spunky, so that wouldn't explain it [11:40:00.0000] <BenMillard> I've had a few people e-mail me about scope being absent from <td>: http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tabular.html#the-td [11:41:00.0000] <BenMillard> they want it back for authoring convenience, mainly for row headers [11:41:01.0000] <annevk> if it's header, shouldn't <th> be used? [11:41:02.0000] <BenMillard> they don't want centered bold text [11:42:00.0000] <annevk> interesting, I thought accessibility was all about semantics :) [11:42:01.0000] <BenMillard> these peeps work in the real world, with designers and managers [11:42:02.0000] <Philip`> The semantics could be defined so that <td scope> was a heading [11:42:03.0000] <BenMillard> Philip`, yes that's what I think should be the case [11:43:00.0000] <annevk> whatwg⊙wo :) [11:43:01.0000] <takkaria> BenMillard: th { font-weight: normal; text-align: left; }? [11:43:02.0000] <annevk> /me wonders about potential counter arguments [11:44:00.0000] <annevk> i guess it makes it less clear when to use <th> [11:44:01.0000] <BenMillard> takkaria, that kills column header styles as well [11:44:02.0000] <takkaria> ah. true [11:44:03.0000] <zcorpan_> tbody th { ... [11:44:04.0000] <annevk> th:first-child { } [11:45:00.0000] <Philip`> th.plain { ... } [11:45:01.0000] <BenMillard> zcorpan, that kills column header styles as well because nobody uses <thead> outside the blogs of markup enthusiasts :) [11:45:02.0000] <Philip`> Your selectors are all far to complex :-p [11:45:03.0000] <zcorpan_> BenMillard: :) [11:45:04.0000] <annevk> th[scope] { } [11:45:05.0000] <zcorpan_> annevk: doesn't work in ie6 [11:45:06.0000] <zcorpan_> moreover, why do you need scope if you use <th>? [11:46:00.0000] <BenMillard> indeed, if you use <th scope="row"> and then undo it with CSS you may as well use <td scope="row"> imho [11:46:01.0000] <zcorpan_> just <td>? [11:47:00.0000] <Philip`> BenMillard: "nobody" is a dangerous thing to say - [11:47:01.0000] <Philip`> s/end of line// [11:47:02.0000] <Philip`> http://www.budapestinfo.hu/ looks like a counter-example, since it's a touristical site and not a blog :-p [11:47:03.0000] <Philip`> and it seems to actually use <thead> sanely [11:48:00.0000] <annevk> If td and scope needs to work the next thing you get is headers pointing to td [11:48:01.0000] <BenMillard> annevk, yes I thought headers+id should match <td id> [11:49:00.0000] <annevk> that's not the case currently [11:49:01.0000] <annevk> I like the current model more, to be honest [11:49:02.0000] <annevk> But I don't really feel strongly about this [11:50:00.0000] <BenMillard> I think the advice we give should be "use <th> for all your headers. set styling with CSS" [11:50:01.0000] <BenMillard> but supporting existing content and current authoring practices makes me think <td scope> and suchlike should also work [11:51:00.0000] <annevk> should they be conforming? [11:51:01.0000] <BenMillard> probably. if they work, why complain? [11:52:00.0000] <annevk> true [11:53:00.0000] <BenMillard> mind if I send the mail to public-HTML rather than WHATWG? that's where the people who mailed me will expect to see any discussion [11:53:01.0000] <Philip`> /me is happy with anything that isn't cross-posted :-) [11:54:00.0000] <annevk> BenMillard, heh, no need to ask me permission where you'd like to send e-mail :) [11:56:00.0000] <zcorpan_> BenMillard: mail it to Hixie and cc the secret whatwg cabal [11:56:01.0000] <BenMillard> zcorpan, shhh, don't talk about that in public... [11:56:02.0000] <zcorpan_> oops! [11:57:00.0000] <BenMillard> :D [11:57:01.0000] <annevk> what, you're saying this channel is logged? [11:57:02.0000] <Philip`> Don't worry, we can delete that line from the logs [11:57:03.0000] <annevk> /me though this was the secret hangout of the whatwg cabal [11:57:04.0000] <annevk> thought, even [11:57:05.0000] <zcorpan_> krijn: gotta help us out here [11:58:00.0000] <BenMillard> I'm putting together a little e-mail to start a thread on public-HTML about <td scope> and <td> with headers+id now [12:10:00.0000] <hsivonen> BenMillard: I'd rather have align back [12:11:00.0000] <Philip`> hsivonen: That wouldn't solve the boldness problem [12:11:01.0000] <Philip`> and I don't think <th></b>Not bold text</th> could be made to work [12:13:00.0000] <zcorpan_> Philip`: would have worked in mosaic if it supported <th>, i guess [12:14:00.0000] <annevk> yet more flames: http://intertwingly.net/blog/2008/04/19/Ingrates#c1208969184 [12:15:00.0000] <annevk> "... I haven’t been tracking who’s on what side of the train wreck that is HTML5 ..." [12:15:01.0000] <Philip`> At least it's clear enough which side he's on [12:16:00.0000] <Philip`> Anyway, I like train wrecks, they make me think of Half Life 2 [12:16:01.0000] <BenMillard> e-mail sent [12:19:00.0000] <BenMillard> "Allowing <th scope> to avoid incorrect values also seems potentially useful." actually that's stupid and wrong and I feel stupid for writing it :P [12:19:01.0000] <BenMillard> simply writing <th> does that already [12:20:00.0000] <hsivonen> Philip`: why is the default bold a problem? [12:20:01.0000] <BenMillard> hsivonen, designs don't always want bold table headers [12:21:00.0000] <BenMillard> it's rather a heavy-handed style in designs which are otherwise light [12:21:01.0000] <hsivonen> turning it off in CSS is trivial [12:21:02.0000] <Philip`> hsivonen: Changing alignment in CSS is similarly trivial, so why would you rather have align back? [12:22:00.0000] <hsivonen> Philip`: cell alignment tends to be contextual [12:22:01.0000] <BenMillard> hsivonen, the problem is when some headers should be bold but others should not. commonly, bold column headers and non-bold row headers [12:22:02.0000] <hsivonen> while th font tends to be a site-global thing [12:23:00.0000] <hsivonen> BenMillard: hmm. that seems like a weird thing to want [12:23:01.0000] <BenMillard> hsivonen, that's why you and I aren't a designers :) [12:23:02.0000] <hsivonen> tbody th { font-weight: normal; } [12:23:03.0000] <BenMillard> hsivonen, that was suggested a bit earlier [12:24:00.0000] <hsivonen> I have a really hard time believing that a designer can have enough clue to use scope/headers but not enough clue to write the above style rule [12:25:00.0000] <hsivonen> I know, sense of logic at the door, but *still* [12:25:01.0000] <BenMillard> it's a fair point [12:26:00.0000] <BenMillard> the problem is it requires <thead> and <tbody> in the markup to work [12:26:01.0000] <Philip`> hsivonen: Enough clue to use scope/headers, or enough clue to use them correctly? [12:26:02.0000] <zcorpan_> hsivonen: the designer isn't necessarily the one writing the html and css [12:26:03.0000] <hsivonen> BenMillard: actually, it only requires thead in the markup :-) [12:26:04.0000] <BenMillard> hsivonen, pfeh :P [12:27:00.0000] <hsivonen> zcorpan_: well, it's hard to believe that the person writing the HTML couldn't write the style rule [12:27:01.0000] <zcorpan_> hsivonen: but <tbody> is shorter than </thead> [12:27:02.0000] <Philip`> <thead> appears to be used much less than @scope [12:27:03.0000] <Philip`> Everybody uses <tbody> but that's probably just output from tools [12:27:04.0000] <hsivonen> Philip`: I thought the assumption was that the baseline was using them to point at the right cells [12:28:00.0000] <BenMillard> philip`, that's in line with what I find amongst companies I work with [12:28:01.0000] <BenMillard> they've never seen a <thead> element, probably never noticed <tbody>, but have seen scope="col" and scope="row" [12:29:00.0000] <Philip`> http://www.banfill-locke.org/ uses a 'tbody th' rule but doesn't actually have any <th> elements [12:31:00.0000] <Philip`> http://finance.sina.com.cn/ used to have '#changeTop5 tbody th {text-align:left; font-weight:normal; padding-left:10px;}' but seemingly no more [12:31:01.0000] <BenMillard> the things authors currently do to get around default styling a pretty awful [12:31:02.0000] <BenMillard> s/a/are [12:32:00.0000] <Philip`> http://www.espoo.fi/peruskoulut/kuitinmaki had a a 'table.Calendar td, table.Calendar tbody th {' but I can't access that site now [12:32:01.0000] <Philip`> s/a // [12:32:02.0000] <Philip`> So, it's not a very commonly used technique at the moment [12:33:00.0000] <BenMillard> it actually takes quite a lot of imagination if you aren't a markup expert [12:33:01.0000] <Philip`> Oh, the page loaded, and it still has the calendar thing plus a 'table.Calendar thead th {' [12:34:00.0000] <Philip`> and seems to be using thead correctly [12:35:00.0000] <Philip`> so that's one page in 130K that uses CSS inside the HTML page (i.e. ignoring external CSS files) to style th differently in thead and tbody [12:35:01.0000] <BenMillard> the first row in the <thead> is navigation either side of a title; not a set of table headers imho [12:36:00.0000] <Philip`> Well, by "correctly" I only really mean "at the top of the table with some sort of headery stuff" (as opposed to e.g. wrapping the entire page in a thead in a layout table) [12:37:00.0000] <BenMillard> yes, for that definition it is "correct" :) [12:37:01.0000] <Philip`> I automatically lower my expectations whenever I'm looking at web content :-) [12:38:00.0000] <BenMillard> lots of bgcolor and style attributes (some just style="") yet it has a <link rel="stylesheet"> and a <style> [12:39:00.0000] <BenMillard> it will be nice when everyone writes markup as good as we can [12:39:01.0000] <BenMillard> I'm unsure if that will ever happen, though [12:41:00.0000] <Philip`> I don't think you should call my markup good, judging by some of what I seem to have written [12:42:00.0000] <Philip`> It's far better than average, judging by what I've seen of average code, but much of mine is definitely not at all good :-) [12:45:00.0000] <Philip`> Oops, looks like it'll start getting dark soon - time to go home... [12:45:01.0000] <BenMillard> Philip`, useful stats and use cases as always :) [12:45:02.0000] <hsivonen> /me wonders if < and > comparisons with NaN in XPath are true or false [12:47:00.0000] <Philip`> Maybe they are Not-a-Boolean [12:48:00.0000] <hsivonen> Philip`: everything in XPath can be coerced to truthiness [12:49:00.0000] <Philip`> Is everything necessarily coerced into a single deterministic state of truthiness, or could you split into a quantum superposition of every possible state? [12:54:00.0000] <hsivonen> I think test for attribute presence before trying to coerce into a number [13:13:00.0000] <Hixie> ~!!!!!!!!!!!!!!!!!!!!!!!!`````````````1111 [13:14:00.0000] <hasather_> Hixie: did your cat just walk on the kwyboard? [13:15:00.0000] <virtuelv> looks like something stuck between the ~ and 1? [13:16:00.0000] <hsivonen> custom kb layout? [13:16:01.0000] <Hixie> yes [13:16:02.0000] <Hixie> sorry about that [13:16:03.0000] <Hixie> love them dearly, but they need to learn to not sit on my laptop [13:17:00.0000] <Hixie> Lachy: i have a dreamhost ps, and it is configured to use slightly less cpu and ram than is sometimes necessary [13:18:00.0000] <hsivonen> Hixie: can Dreamhost VMs grow and shrink RAM/CPU elastically? [13:20:00.0000] <Hixie> hsivonen: yes, but you have to request the amount if you want it to chanve [13:22:00.0000] <hsivonen> Hixie: ok. It seems to me that Dreamhost and Amazon EC2 need some off-the-shelf Google App Engine-ish software for managing on-demand resource usage [13:22:01.0000] <Hixie> heh [13:23:00.0000] <Hixie> well google app engine has the same problem really [13:23:01.0000] <Hixie> if you hit your quota, you start serving 500s or some such [13:23:02.0000] <Hixie> i don't see any way to avoid that [13:23:03.0000] <hsivonen> credit card number and free license to grow on demand :-) [13:23:04.0000] <annevk> e-mail / sms when you nearly hit it and allow for grow on demand [13:23:05.0000] <Hixie> i'll take donations :-) [13:24:00.0000] <hsivonen> free as in not restricted [13:24:01.0000] <hsivonen> I took a look at what Amazon EC2 would offer for Validator.nu [13:25:00.0000] <hsivonen> with the current load, it would be more expensive than the current host [13:25:01.0000] <hsivonen> and the real problem with EC2 is that everyone needs to reinvent a system that fires up more VMs on demand and shuts them down on demand [13:27:00.0000] <hsivonen> (Validator.nu could be a good fit for App Engine for Java, since there's no writing to persistent storage or log-in, hence, the BigTable/Google Accounts lock-in risk would be avoided) [13:37:00.0000] <Lachy> Hixie, the spec doesn't clearly address this use case http://blog.whatwg.org/reverse-ordered-lists#comment-25249 [13:37:01.0000] <annevk> http://lists.w3.org/Archives/Public/public-forms/2008Apr/att-0099/2008-04-23.html#topic9 [13:37:02.0000] <Lachy> although, maybe that's because the use case itself isnt entirely clear. But, in any case, authors should be allowed to use ol for that instead of wasting time finding work arounds [13:38:00.0000] <annevk> ^^ Forms WG on Forms TF [13:40:00.0000] <Hixie> Lachy: i guess the strict answer is you use CSS, but yeah, few people are going to die if you just use <ol reversed> [13:42:00.0000] <Lachy> hixie, yeah, it's not so hard to style a ul with numbers, but when the spec causes people to seriously question borderline cases like that, it's sometimes easier to fix the spec than to get people to realise they're wasting time and effort [13:43:00.0000] <othermaciej> annevk: willI be depressed reading that? [13:43:01.0000] <Lachy> But I can't think of a way to fix the spec, without blurring the distinction between ol and ul. [13:43:02.0000] <Lachy> This makes little sense: "I think the disagreement is whether a core XForms processor should respond to the HTML brand of syntax. In the tag soup example, no, but if you had well-formed XML, would we expect an XForms processor to do that? Maybe RFC-2119 with May or Should instead of Must." [13:44:00.0000] <Philip`> Which/whose disagreement are they referring to? [13:45:00.0000] <Lachy> AFAICT, the suggestion is to use a relaxed conformance criteria in a way that leaves a big choice for implementers between 2 very different processing requirements. [13:45:01.0000] <Lachy> which is, of course, a great way to achieve interop. :-) [13:47:00.0000] <Philip`> It sounds to me (in the absence of knowledge and context) like the question is whether all XForms processors must support the XHTML forms syntax, or whether that should be an optional feature that only some people (e.g. browser developers) will implement [13:48:00.0000] <Lachy> ah, that makes a little more sense [13:49:00.0000] <Philip`> (where "XHTML forms syntax" is something that's backward-compatible with current form usage but gets mapped onto an underlying XForms processing model, or something, I guess) [13:49:01.0000] <othermaciej> I think they are talking about their proposal for a more HTML-like syntax for XForms [13:49:02.0000] <othermaciej> (but still with many of the XForms differences from classic HTML forms, like <select1>) [13:51:00.0000] <Lachy> I think, rather than focussing on syntax, they should be focussing on architectual consistency between the DOM/HTML's Form Processing model, and their XForms model. Syntax should be left entirely up to the HTMLWG [13:52:00.0000] <annevk> That depends on whether anyone is actually interested in implementing an XForms model [13:52:01.0000] <annevk> Any of the browser vendors, that is. [13:53:00.0000] <Lachy> annevk, I don't think any of the browser vendors would be. [13:53:01.0000] <othermaciej> Lachy: according to them, syntax is architecture [13:53:02.0000] <annevk> SVG WG has similar sentiments [13:53:03.0000] <othermaciej> also, they assume that HTML Forms should transition to having an underlying XForms processing model [13:54:00.0000] <othermaciej> also they seem to feel that "who specified this first" is architecture [13:54:01.0000] <othermaciej> "Part of the issue there is that at the broader architectural level, one of the principles I was trying to get across is that all of the efforts to improve HTML going forward should adopt the principle that features that people would like to have that are already expressed in a prior recommendation of the W3C, that those prior recommendations should take priority on how to make that feature." [13:54:02.0000] <annevk> fortunately HTML was defined first :) [13:55:00.0000] <annevk> (though that's a lame argument, see CSS Ani vs SVG Ani) [13:55:01.0000] <hsivonen> it's a lame argument, yes [13:56:00.0000] <hsivonen> but indeed HTML forms were here first and have awesome deployment and network effects [13:58:00.0000] <Lachy> maybe the problem is that the XForms WG are working on this backwards. They already have their solution, and their trying to map that solution onto HTML Forms, instead of looking directly at the problems with HTML forms and working out how to solve them without pre-conceived solutions [13:58:01.0000] <othermaciej_> well, their architecture is already perfect [13:59:00.0000] <othermaciej_> so they just have to figure out how to fix the flawed HTML Forms model to map to it [14:00:00.0000] <hsivonen> I don't see what their XForms business continuity case is once the outcome gets far enough from XForms code-wise [14:00:01.0000] <takkaria> I'm not quite sure what "We should ask how Web Forms 2.0 tables and repetition map into a recognized data layer, with their syntax?" means, esp. "recognised data layer" [14:01:00.0000] <Slant> Has anyone noticed that the CSS keywords "thin" and "thick" aren't includedi n the sanitization rules? [14:02:00.0000] <annevk> Slant, if you're talking about the wiki page on that, dunno, feel free to edit it :) [14:03:00.0000] <Slant> annevk: I did a long time ago, and apparently it was reverted. I also reported it August of '07 on the Google Code issue tracker. [14:03:01.0000] <Slant> I'm wondering what proper way to go about fixing this is? [14:03:02.0000] <Slant> (Write a script to go through the CSS spec and pull all the keywords?) [14:03:03.0000] <annevk> I don't really have an opinion on the matter :) [14:04:00.0000] <annevk> Did you add it to the talk page? [14:04:01.0000] <takkaria> oh, people might be interested, I got accepted to work on a C-language HTML5 parser in Google's summer of code [14:05:00.0000] <annevk> takkaria, html5lib like or for a product? [14:06:00.0000] <annevk> Hixie, nice work on the FAQ :) [14:07:00.0000] <takkaria> annevk: it's a standalone library intended to be used in a lightweight newish web browser [14:07:01.0000] <annevk> cool [14:11:00.0000] <hsivonen> takkaria: congratulations [14:11:01.0000] <hsivonen> takkaria: will it be libxml2-API-compatible [14:11:02.0000] <hsivonen> ? [14:12:00.0000] <annevk> othermaciej, yo, I raised an issue on DOM3Events and namespaces [14:12:01.0000] <othermaciej> annevk: cool [14:13:00.0000] <annevk> othermaciej, it seems MS is not that interested either [14:13:01.0000] <takkaria> hsivonen: my current plan is to build a tree directly using libxml2 structures, so libxml2 API calls should work with it [14:17:00.0000] <annevk> issue-123 :) [14:20:00.0000] <Philip`> takkaria: Sounds useful :-) [14:20:01.0000] <Philip`> When are you going to be working on that? [14:20:02.0000] <Philip`> (I need to try to finish my C++ parser before then :-p ) [14:21:00.0000] <takkaria> Philip`: from whenever ink arrives for my printer til September [14:40:00.0000] <hsivonen> ouch. progress has *lots* of inequalities to satisfy... [14:41:00.0000] <Hixie> only three! [14:42:00.0000] <Hixie> annevk: wasn't much work, but it needed it [14:42:01.0000] <hsivonen> Hixie: there are many pairwise inequalities [14:43:00.0000] <hsivonen> also, value and max sometimes coming from textContent is not helping [14:43:01.0000] <Hixie> yeah [14:44:00.0000] <hsivonen> I'm semisecretly hoping that the textContent alternative just went away, because doing it correctly in an internationalized way is going to be really complex [14:45:00.0000] <hsivonen> and leaving it English-only is a long list thread waiting to erupt [14:59:00.0000] <Dashiva> Hixie, Philip`: This is where I say "I told you so" :P [15:02:00.0000] <Philip`> Dashiva: Thanks for collecting all that graph data and sending it to me last night [15:14:00.0000] <Lachy> annevk, I just sent the proposal to drop NSResolver from selectors api to public-webapi [15:15:00.0000] <annevk> heh, some people will experience a no namespace overflow now [15:16:00.0000] <Lachy> yeah, I noticed. I wasn't expecting the issue to be raised againsed DOM3 Events [15:17:00.0000] <annevk> me neither, but I felt like saying it during the telcon and then I raised it so it was not forgotten [15:17:01.0000] <Lachy> I filled out the arguments a bit more from what I had sent internally. I tried to cover all the possible counter arguments I could think of [15:17:02.0000] <annevk> nice [15:18:00.0000] <annevk> though namespace fans will be glad to know that the first spec I take to CR will be about namespaces :) [15:18:01.0000] <Lachy> which spec is that? [15:18:02.0000] <annevk> css3-namespace [15:19:00.0000] <Hixie> Dashiva: about what? :-) [15:20:00.0000] <Dashiva> <Dashimon> I'm sure Philip` is already doing it [15:20:01.0000] <Hixie> ah [15:20:02.0000] <Hixie> hehe [15:20:03.0000] <Hixie> thanks! [15:20:04.0000] <Philip`> Dashiva: You were wrong about that, since I wasn't already doing it when you said that [15:20:05.0000] <Hixie> the graph is nicely flat [15:20:06.0000] <Philip`> In fact, I never did it at all, I don't know what you're talking about [15:20:07.0000] <annevk> will the lines ever cross :) [15:22:00.0000] <Philip`> By the way, if anybody ever wants to do something like 'svn blame' on the spec and doesn't want to hurt Hixie's server, I've got a local copy of the SVN repository on an otherwise-idle machine, though I suppose I have high latency and am therefore not very useful [15:23:00.0000] <hsivonen> does blame show anything else but blame Hixie for everything_ [15:23:01.0000] <hsivonen> ? [15:23:02.0000] <gsnedders> or someone could just make a git clone of it… [15:24:00.0000] <gsnedders> hsivonen: revision, date [15:24:01.0000] <hsivonen> ah right [15:24:02.0000] <gsnedders> (then other people could just clone the git clone) [15:24:03.0000] <Philip`> It show the revision in which each line was Hixie's fault [15:24:04.0000] <Philip`> s//s/ [15:24:05.0000] <gsnedders> But we already know it's Hixie's fault, so who care's when he made the mistake :P [15:24:06.0000] <gsnedders> (And yes, I know there is a valid use-case) [15:27:00.0000] <Philip`> gsnedders: Why would a git clone be better than svnsync? [15:28:00.0000] <gsnedders> Philip`: because it stores it more efficiently, and blame itself is far quicker. [15:39:00.0000] <hsivonen> Hixie: unless I'm mistaken, just the attribute cases (ignoring textContent altogether) yield 20 different assertions [15:40:00.0000] <hsivonen> first each pairwise inequality with attributes present and then comparisons against 0 or 1 when min/max is absent [15:41:00.0000] <Philip`> gsnedders: Who cares about efficiency? svn blame only takes 5m22.461s [15:42:00.0000] <Hixie> hsivonen: sounds like you're doing it in a more complicated way than necessary [15:42:01.0000] <Hixie> hsivonen: just get the values, set them to defaults if they're missing, and then check the inequalities in three steps [15:42:02.0000] <Hixie> assuming you have a language like python that can do chain inequalities [15:42:03.0000] <Hixie> otherwise, as 7 steps [15:43:00.0000] <hsivonen> Hixie: would that lead to an error message that sucks? [15:43:01.0000] <Philip`> Revision 1 is the most stable, with 8277 lines unchanged since then; then 1037, 1310, 1033 and 1036 still have more than a thousand lines remaining in the latest version [15:43:02.0000] <hsivonen> Hixie: now I have 20 different error messages [15:43:03.0000] <Hixie> hsivonen: ah well if you want to report each case differently then yes, you may well have a lot fo different checks [15:45:00.0000] <hsivonen> Hixie: also, XPath isn't that great [15:46:00.0000] <Philip`> XPath should have a python("...") function [15:46:01.0000] <hsivonen> indeed [15:47:00.0000] <hsivonen> or scheme() [15:47:01.0000] <hsivonen> or at least conditional experssions [15:47:02.0000] <hsivonen> or Python-style 'or' and 'and' return values [15:48:00.0000] <hsivonen> I suppose with Jython, it would be possible to make a Schematron flavor that used Python as its query language [15:49:00.0000] <Philip`> Or use Rhino and JS [15:50:00.0000] <Lachy> hsivonen, I've got a small feature enhancement idea for the validator. [15:51:00.0000] <hsivonen> Lachy: what is it? [15:51:01.0000] <Lachy> A general purpose metadata/atribute value inspection tool to help authors inspect the values of title="" attributes (especially for <abbr>), href attributes for links, etc. [15:52:00.0000] <Lachy> things that aren't strictly conformance errors, but are still subject to common authoring mistakes [15:52:01.0000] <hsivonen> Lachy: why do authors need to inspect href? [15:53:00.0000] <hsivonen> how like is it to link to a non-404 URI and have the wrong URI? [15:53:01.0000] <hsivonen> s/like/likely/ [15:53:02.0000] <Lachy> occasionally, I come across links in blogs posts that are marked up as <a href="">foo bar</a>, where the link was supposed to link to some 3rd party site, but they forgot to paste the link in [15:53:03.0000] <hsivonen> how likely would a person notice the error in a long list of URIs? [15:53:04.0000] <hsivonen> ah. that's a specific case [15:53:05.0000] <Lachy> so empty href values should be flagged [15:54:00.0000] <hsivonen> is the empty string a valid IRI ref? [15:54:01.0000] <Lachy> it is a valid reference to the current document [15:54:02.0000] <Lachy> but the use case for actually doing so are slim [15:55:00.0000] <hsivonen> looks like a case for a warning--not necessarily a special report [15:55:01.0000] <gsnedders> I use it fairly often, actually [15:55:02.0000] <hsivonen> gsnedders: why? [15:55:03.0000] <Lachy> for abbr, now that omitting title is allowed, some authors still might want to know if they missed one by mistake [15:55:04.0000] <hsivonen> gsnedders: why do you link to current doc without fragment? [15:55:05.0000] <gsnedders> /me notes he taken sleeping pills about half an hours ago and is about to fall alseep [15:55:06.0000] <Philip`> <form action=""> is more useful [15:56:00.0000] <hsivonen> oh yes indeed [15:56:01.0000] <gsnedders> hsivonen: In short, things like the link to current doc at top of spec for example [15:56:02.0000] <gsnedders> hsivonen: and quoting things from the page page [15:56:03.0000] <krijn> /me reminds zcorpan_ of his apathy ;) [15:56:04.0000] <annevk> krijn, yo [15:56:05.0000] <annevk> ah, pm [15:56:06.0000] <hsivonen> is zcorpan_ saying something that needs censoring? [15:57:00.0000] <Philip`> People can find abbr where they missed title by telling their text editor to search for "<abbr>" [15:57:01.0000] <Lachy> Philip`, and they can also search for href="" [15:58:00.0000] <Lachy> but having to manually search for each individual case like that is more time consuming that having a tool do so automatically [15:59:00.0000] <Lachy> WOW! Microsoft supports the proposal to drop NSResolver :-) [15:59:01.0000] <krijn> hsivonen: he did ^ [16:01:00.0000] <hsivonen> Lachy: I predict a TAG thread and an objection from another WG [16:02:00.0000] <Lachy> which WG? [16:02:01.0000] <Retrieving> /me #whatwg modes... [16:02:02.0000] <annevk> any [16:02:03.0000] <hsivonen> Lachy: the one now objecting to CSS namespace @-rules [16:03:00.0000] <annevk> they retracted that actualy [16:03:01.0000] <annevk> actually* [16:03:02.0000] <hsivonen> oh. good. [16:03:03.0000] <hsivonen> I though it was still part of telecon agenda and stuff [16:04:00.0000] <hsivonen> theught [16:04:01.0000] <hsivonen> thought [16:04:02.0000] <hsivonen> Lachy: I've filed your suggestion as http://bugzilla.validator.nu/show_bug.cgi?id=175 [16:04:03.0000] <hsivonen> Lachy: warning about empty href is going to happen [16:04:04.0000] <hsivonen> dunno about the rest [16:04:05.0000] <Lachy> oh, I didn't realise you had your own bugzilla [16:05:00.0000] <hsivonen> I don't want to build inspectors for metadata that is only marginally useful or downright useless [16:05:01.0000] <hsivonen> and I'm not sure about the usefulness of abbr title yet [16:06:00.0000] <Lachy> yeah, I'm not sure how useful it is either. Just wanted to get the idea out while I had it [16:36:00.0000] <Lachy> hmm. Maybe the approach to take now is to take Bjoern's advice and require UAs that don't support namespaces to throw a NOT_SUPPORTED_ERR if a non-null NSResolver is passed, but still keep NSResolver defined in the spec [16:36:01.0000] <Lachy> Then, when it comes time to exit CR, if we don't have 2 interoperable implementations of the NSResolver feature, we can drop it then [16:39:00.0000] <othermaciej> that would get in the way of finding a better solution than NSResolver [16:42:00.0000] <Lachy> oh, yeah. [16:42:01.0000] <Lachy> can you reply to the thread and say that? 2008-04-24 [18:30:00.0000] <Hixie> why does lachy blogging mean that /feed/ on the blog gets hit a lot [18:30:01.0000] <Hixie> that makes no sense to me [18:31:00.0000] <takkaria> update services? [18:31:01.0000] <Philip`> Does "hit" mean number of requests, or number of requests that get a 200 response because they're not handled by any caching mechanism? [18:33:00.0000] <Hixie> the former [18:39:00.0000] <jruderman_> maybe feed readers that already noticed the new post are checking the feed again to pick up typo fixes and such? [18:39:01.0000] <Hixie> maybe [19:42:00.0000] <Hixie> what to do with tabindex="" [19:42:01.0000] <Hixie> dropping it altogether is very tempting [19:44:00.0000] <takkaria> Hixie: nice to see you watched Yes Minister fairly recently. :) [19:47:00.0000] <Hixie> hm? when? [19:47:01.0000] <takkaria> or maybe I'm just drawing more than can be drawn from the last-modified date of http://ian.hixie.ch/bible/handling-people [19:48:00.0000] <Hixie> the last change was the last section [19:49:00.0000] <Hixie> but october isn't recently, anyway :-) [19:50:00.0000] <takkaria> I'm one of those people who takes a long time to adjust to a change of year, it's only just got through to me that 2007 is almost four months away [19:53:00.0000] <roc_> Ian has been studying YES, MINISTER? That explains a lot [19:56:00.0000] <Hixie> in what way! [19:57:00.0000] <Hixie> hey! [19:57:01.0000] <Hixie> i don't know whether to be offended or not! [19:57:02.0000] <takkaria> Hixie: let's say, you've made some very courageous decisions. :) [19:58:00.0000] <Hixie> hey! [21:13:00.0000] <Hixie> is there any reason to allow tabindex="" on anything but <div>s? [21:13:01.0000] <Hixie> and maybe <span>s? [21:15:00.0000] <jruderman_> it's a lot more widely used than that... [21:15:01.0000] <Hixie> is it used in ways that improve matters? [21:15:02.0000] <jruderman_> hmm [21:16:00.0000] <jruderman_> wordpress used to get it totally wrong [21:30:00.0000] <takkaria> hmm, I dislike people who claim they provide JSON APIs when they actually provide JS APIs [21:52:00.0000] <inimino> takkaria: you mean people that didn't actually look at the definition of JSON? [21:59:00.0000] <takkaria> inimino: it shouldn't surprise me, really, but it does. :) [01:17:00.0000] <hsivonen> Hixie: ARIA uses tabindex [01:19:00.0000] <Hixie> does it use any value other than 0? [01:19:01.0000] <hsivonen> Hixie: -1, IIRC [01:19:02.0000] <hsivonen> tabindex is basically a backwards-compatible focusable [01:19:03.0000] <Hixie> -1 seems like it would be really bad for accessibility [01:20:00.0000] <Hixie> what's the point of a focusable field you can't focus? [01:20:01.0000] <hsivonen> http://developer.mozilla.org/en/docs/ARIA_UA_Best_Practices#11.3.1.1_HTML_5_Tabindex [01:21:00.0000] <hsivonen> Hixie: I don't know what the use cases for -1 are, but it seems that the three states are absent, -1 and 0 [01:21:01.0000] <Hixie> there are four states [01:21:02.0000] <Hixie> no wait, five [01:22:00.0000] <Hixie> no wait, six [01:22:01.0000] <hsivonen> Hixie: are you counting intrinsic focusability of form controls and links? [01:23:00.0000] <Hixie> absent and focusable and tabbable in automatic tab order, absent and not focusable, focusable but not tabbable, focusable and tabbable in automatic tab order, focusable and tabbable in fixed tab order [01:23:01.0000] <Hixie> and hypothetically, absent and focusable and not tabbable [01:24:00.0000] <Hixie> there is no "not focusable", which seems like it might be at least as useful as focusable but not tabbable [01:24:01.0000] <othermaciej> -1 allows programmatic focus [01:24:02.0000] <Hixie> othermaciej: programmatic _and mouse_ focus [01:24:03.0000] <othermaciej> I can see how it might be useful to have something focusable but not in the tab cycle [01:25:00.0000] <Hixie> e.g.? [01:25:01.0000] <othermaciej> (though that doesn't normally happen in Mac UI) [01:25:02.0000] <jruderman> a cell in a spreadsheet that is infinite in both directions? [01:25:03.0000] <othermaciej> control that has multiple possibly active elements and when it gets focus it focuses the "current" one [01:26:00.0000] <Hixie> fair enough [01:26:01.0000] <othermaciej> (that is essentially what a WebKit WebView does in Cocoa on Mac OS X, by analogy) [01:27:00.0000] <hsivonen> Hixie: what about an ajax widget that consists of multiple HTML elements and you want any of them to be clickable but you want the entire thing to appear once in the keyboard focus cycle? [01:27:01.0000] <othermaciej> perhaps you have a widget where the children are normally navigated by arrow keys instead of TAB for keyboardability [01:28:00.0000] <othermaciej> (in fact <select multi> is an example of such a control built into HTML) [01:48:00.0000] <annevk> given the use cases so far you could require that tabindex=-1 is always inside tabindex=0 [01:53:00.0000] <Hixie> some of the use cases just need one of n controls to be =0 [01:54:00.0000] <Hixie> and the others to be =-1 [02:08:00.0000] <hsivonen> annevk: what if you have a composite widget that is spread across two table cells and the nearest common ancestor contains a whole lot more than just that widget? [02:21:00.0000] <Hixie> /me updates his dilbert script to handle the new page [02:21:01.0000] <Hixie> dilbert.com are fighting the good fight [02:21:02.0000] <Hixie> giving people a reason to disable flash, by giving a better ui without flash than with [02:23:00.0000] <Philip`> The non-Flash UI used to be "You need to install Flash" four times [02:23:01.0000] <Philip`> Looks like they've fixed that now, which is nice [02:23:02.0000] <Hixie> the non-flash ui is now way better than the flash ui [02:24:00.0000] <Hixie> and it even shows it to you as the flash is loading [02:24:01.0000] <Hixie> to show you why you should disable flash [02:42:00.0000] <sverrej> hei hei [02:42:01.0000] <sverrej> /wrong channel [02:45:00.0000] <hsivonen> Hixie: if HTML5 is successful, the worse UI will be written in JS and canvas [02:45:01.0000] <Hixie> yep [02:46:00.0000] <Hixie> but at least people will be able to write interoperable implementations of players for those uis [02:46:01.0000] <hsivonen> yeah [02:47:00.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#tabindex [02:54:00.0000] <zcorpan> hsivonen: so aria will need to work with canvas! [02:56:00.0000] <othermaciej> hsivonen: the problem with Flash is not just that it makes it easy to do weird, poorly integrated UI, but that it makes it hard to make natural UI that fits with the platform and the browser environment [02:56:01.0000] <othermaciej> I don't think HTML5 as a whoe has that problem [02:56:02.0000] <othermaciej> canvas gives you an out, but it's not the convenient, let alone only, path to making app-style UI [02:57:00.0000] <annevk> <canvas> is here to allow people to implement Super Mario and Doom :) [02:58:00.0000] <Philip`> It's kind of hard to do UI in a canvas when there's no text support [02:58:01.0000] <Hixie> yeah [02:58:02.0000] <Hixie> indeed [02:58:03.0000] <Hixie> we really need a solution to that [02:58:04.0000] <Hixie> it's a tough problem [02:58:05.0000] <Hixie> i'm thinking a drawText method that takes a rect [02:58:06.0000] <Hixie> and a font-size [02:59:00.0000] <Hixie> and tries rendering at that font-size, but if it won't fit at that size, it shrinks the text until it fits [02:59:01.0000] <Hixie> i can't see another good way of avoiding the unpredictable metrics problem [02:59:02.0000] <annevk> @font-face ? [03:00:00.0000] <annevk> also, that doesn't allow text along a path and such [03:00:01.0000] <Hixie> text along a path is far less critical [03:00:02.0000] <Hixie> as is render text to path [03:00:03.0000] <Hixie> though the latter could be done in a similar way with a arect [03:01:00.0000] <Philip`> A nasty problem with Mozilla's text drawing thing is the font size depends on the user's text size preferences, so it's very unpredictable [03:01:01.0000] <Hixie> yeah that's obviously a non-starter [03:01:02.0000] <Philip`> If the font size was just done in pixels, it'd be pretty much the same between most non-crazy fonts, so in practice it would work reliably enough in most cases [03:01:03.0000] <Hixie> requiring a TTF is an interesting idea [03:01:04.0000] <Hixie> Philip`: oh no, just compare verdana to tahoma or arial [03:02:00.0000] <Hixie> and that's just fonts on one platform [03:02:01.0000] <Hixie> hmm, requiring a ttf would be really funny for so many reasons [03:02:02.0000] <annevk> Lachy, I think datetime is actually Y10K proof [03:02:03.0000] <Hixie> i was talking to someone else earlier today about this [03:03:00.0000] <Hixie> and they suggested that html5 should just have an appendix that included a full unicode font [03:03:01.0000] <Hixie> that uas had to use for canvas [03:03:02.0000] <Philip`> I'm assuming "most cases" are where the font size isn't critical - you can have things like right/center aligned graph labels, and it doesn't matter if the text is somewhat wider since there's plenty of blank space to grow into [03:03:03.0000] <annevk> Hixie, wow, that's pretty drastic [03:03:04.0000] <Hixie> Philip`: many labels are going to abut the edge [03:03:05.0000] <Hixie> annevk: it wasn't a serious suggestion :-) [03:04:00.0000] <Philip`> Make the canvas infinite so there is no edge [03:04:01.0000] <Hixie> mmhmm [03:04:02.0000] <Philip`> (and render it infinitely, not just inside the <canvas> rectangle) [03:04:03.0000] <Philip`> Warning: bad idea [03:07:00.0000] <hsivonen> Hixie: the tokenizer spec would be nicer if the places where you have lookahead were written as states [03:07:01.0000] <Lachy> annevk, I thought the year was restricted to 4 digits [03:07:02.0000] <hsivonen> /me refactors them as states [03:07:03.0000] <Lachy> /me checks... [03:09:00.0000] <annevk> oh yeah, "not exactly four digits long" [03:10:00.0000] <Lachy> http://www.whatwg.org/specs/web-apps/current-work/#dates [03:10:01.0000] <Lachy> yep [03:10:02.0000] <annevk> that's inconsistent with http://www.whatwg.org/specs/web-forms/current-work/#date though so it's probably a bug [03:10:03.0000] <Philip`> http://www.rosettaproject.org/about-us/disk/concept - they want years >10,000 [03:11:00.0000] <hsivonen> annevk: I think I've raised the inconsistency as an issue [03:11:01.0000] <annevk> k [03:12:00.0000] <annevk> I don't see it in "semantics-phrasing" [03:13:00.0000] <annevk> hmm, might not be the correct place [03:14:00.0000] <annevk> ah, it's in "microsyntaxes-dates" [03:15:00.0000] <annevk> "Consistency of date formats between WF 2.0 and WA 1.0" [03:16:00.0000] <annevk> Hixie, is the 1-8 list at http://www.whatwg.org/issues/top still accurate? [03:18:00.0000] <zcorpan> seems like there aren't really enough votes to make the top list an actual top list [03:19:00.0000] <zcorpan> more like the latest pet issues [03:19:01.0000] <annevk> oh, i wasn't wondering about those [03:19:02.0000] <annevk> /me wondered about the "Ian's current priorities" list [03:20:00.0000] <zcorpan> ah [03:26:00.0000] <Hixie> annevk: not really [03:26:01.0000] <Hixie> annevk: i update it every now and then [03:27:00.0000] <Hixie> hsivonen: which cases are those? [03:34:00.0000] <Hixie> anyone got IE? [03:35:00.0000] <Hixie> nevermind [03:35:01.0000] <Hixie> /me fires up CVMWare [03:36:00.0000] <Lachy> I have IE8 [03:37:00.0000] <hsivonen> Hixie: inspecting if the next chars are the close tag in [R]CDATA and inspecting if the next chars are 'OCTYPE' [03:38:00.0000] <hsivonen> or UBLIC [03:38:01.0000] <hsivonen> or YSTEM [03:38:02.0000] <Hixie> how would you do those as states? [03:39:00.0000] <hsivonen> I'd have states that inspect for those strings incrementing an index into the reference string [03:39:01.0000] <hsivonen> and putting the characters also inte the same buffer that is used for comments so that if a switch to bogus comment comes, the start of the comment buffer is already correct [03:40:00.0000] <annevk> that wouldn't make the spec more readable imo [03:40:01.0000] <hsivonen> perhaps not in the OCTYPE, YSTEM and UBLIC cases [03:41:00.0000] <Philip`> I like it more when the spec says something obvious and I have to translate it into something efficient to implement, rather than when it says something efficient to implement and I have to reverse-engineer it in order to implement it differently [03:41:01.0000] <hsivonen> the close tag stuff in [R]CDATA could well be its own state in the spec [03:42:00.0000] <hsivonen> I'm refactoring the tokenizer to make it more friendly for cases where the tokenizer doesn't own the processing loop [03:42:01.0000] <hsivonen> I see three use cases: [03:42:02.0000] <Hixie> yeah i certainly wouldn't implement those cases as states [03:42:03.0000] <Hixie> that would be terrible for perf for me [03:43:00.0000] <hsivonen> Hixie: why would it be terrible for perf? [03:44:00.0000] <Hixie> because doing a strong comparison using my native string compare function is far faster than looping six times through my tokeniser function [03:44:01.0000] <Hixie> s/strong/string/ [03:44:02.0000] <Philip`> (The adoption agency is a case where I had to reverse engineer the algorithm before I could implement it sanely in OCaml, and it would have been nicer if the spec said what it was trying to achieve) [03:45:00.0000] <Hixie> yeah [03:45:01.0000] <Hixie> i'm not sure i know what it was trying to achieve [03:45:02.0000] <Hixie> i've only ever worked out what the AAA is in terms of what the spec sys [03:45:03.0000] <Philip`> Ah, okay :-) [03:45:04.0000] <Hixie> the spec is basically a direct brain dump from what i came up with [03:46:00.0000] <hsivonen> I think my current refactoring effort will make it easier to do a line-by-line port from Java to C[++]. [03:46:01.0000] <hsivonen> for apps that have a Gecko-style processin loop [03:47:00.0000] <Philip`> Hixie: Your brain is weird if you get a 22-step algorithm from a direct dump of it [03:47:01.0000] <Hixie> my brain is certainly weird [03:48:00.0000] <Hixie> for AAA i basically derived the algorithm on my whiteboards by black box testing [03:48:01.0000] <Hixie> and a lot of trial and error [04:27:00.0000] <zcorpan> http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx is interesting [04:27:01.0000] <zcorpan> also affects xml parsing [04:30:00.0000] <annevk> I wonder what happens in other browsers [04:31:00.0000] <annevk> other browsers seem to simply do what is requested [04:32:00.0000] <annevk> it crashes IE6 :) [04:32:01.0000] <zcorpan> yeah [04:32:02.0000] <zcorpan> in opera you can get text nodes as child of the document node [04:32:03.0000] <zcorpan> s/child/children/ [04:33:00.0000] <zcorpan> (with non-whitespace data) [04:33:01.0000] <annevk> that should prolly throw a HIERARCHY_REQUEST_ERR or something [04:33:02.0000] <zcorpan> i rather think we should do what webkit and firefox do [04:34:00.0000] <annevk> test snippet? [04:40:00.0000] <othermaciej> wow [04:40:01.0000] <othermaciej> I never would have even thought of handling that case with an error dialog which makes the page disappear when you click ok [04:42:00.0000] <othermaciej> that blog post is very vague about which browsers do what [04:42:01.0000] <zcorpan> annevk: http://dump.testsuite.org/2008/mutations-during-parsing/ ;) [04:43:00.0000] <annevk> :p [04:43:01.0000] <othermaciej> /me learns that webkit's xml parser does not enjoy mutation during parsing [04:44:00.0000] <zcorpan> othermaciej: webkit and firefox remember the modified dom and the parser drops elements or inserts them in the "new" place accordingly; opera assumes there were no mutations and just inserts elements blindly [04:44:01.0000] <zcorpan> s/elements/nodes/ [04:44:02.0000] <zcorpan> at least last time i tested [04:45:00.0000] <othermaciej> http://tinyurl.com/6cwsfj [04:45:01.0000] <othermaciej> that's Travis's example in Live DOM Viewer [04:45:02.0000] <othermaciej> Safari seems top be dropping everything that would have gone in the removed node [04:46:00.0000] <Lachy> so rather than actually find a solution that doesn't throw an error, they still throw the error and abort, but just not tell the user about it? That's only marginally better. [04:46:01.0000] <zcorpan> hmm safari 3.1 crashed for 002.xml [04:47:00.0000] <annevk> othermaciej, the definition for caretRangeFromPoint will be rather vague and UI dependent [04:47:01.0000] <zcorpan> othermaciej: has there been changes to xml behavior in safari lately? last time i tested 001 and 002 worked the same and 003 and 004 worked the same [04:48:00.0000] <annevk> i'm still not quite sure how to phrase it [04:48:01.0000] <zcorpan> iirc, anyway [04:48:02.0000] <othermaciej> zcorpan: I was somewhat surprised that 002 crashed [04:48:03.0000] <hsivonen> HTML5 already addresses this, doesn't it? [04:49:00.0000] <hsivonen> the tree builder keeps node references on its stack and potentially keeps appending to nodes that are no longer in the tree [04:49:01.0000] <annevk> hsivonen, it's mentioned [04:49:02.0000] <annevk> not sure if the exact final tree can always be determined [04:49:03.0000] <zcorpan> hsivonen: doesn't cover xml though [04:49:04.0000] <annevk> xml is tricky anyway [04:50:00.0000] <annevk> for some time some browsers did not do incremental rendering or script execution [04:50:01.0000] <hsivonen> zcorpan: seems to me that the XML tree builder also needs to have a stack of node references and avoid trusting that the parentNode chain can be used as stack [04:51:00.0000] <Hixie> i came across all these cases when writing teh html5 parser spec [04:51:01.0000] <Hixie> i probably even blogged about them [04:51:02.0000] <Lachy> I don't see what's so difficult about the case mentioned in the blog. [04:52:00.0000] <hsivonen> Hixie: I think we need a Web spec that defines an entity resolver and a DOM builder on top of a SAXish XML parser [04:52:01.0000] <othermaciej> the blog was a surprisingly circuitous way of saying that IE will still do something crappy, and other browsers do better, and Travis has a vague opinion on which of the other browser behaviors is better [04:53:00.0000] <Lachy> with my limited testing, Firefox seems to be behaving sensibly [04:53:01.0000] <hsivonen> it seems like there's a policy or habit of not naming competitors on the IE blog [04:53:02.0000] <annevk> Hixie, maybe you can help out defining caretRangeFromPoint? [04:53:03.0000] <othermaciej> I tried his test case in live dom viewer and it seemed that both firefox and safari dropped everything that would have gone in the removed element [04:53:04.0000] <othermaciej> which is not what I expected [04:54:00.0000] <Hixie> othermaciej: they don't drop it [04:54:01.0000] <Hixie> othermaciej: they put them in that element [04:54:02.0000] <Hixie> othermaciej: which is what html5 requires too [04:54:03.0000] <othermaciej> put them in that element which is already removed? [04:54:04.0000] <Hixie> othermaciej: html5's parser doesn't look at the dom at all (except for handling inlines) [04:54:05.0000] <Hixie> othermaciej: the element is still in the parser's stack [04:55:00.0000] <Hixie> you could put it in another document for all the parser cares [04:55:01.0000] <Hixie> anyway [04:55:02.0000] <Hixie> bed time [04:55:03.0000] <Hixie> nn [04:56:00.0000] <othermaciej> that sounds sensible to me [04:57:00.0000] <annevk> othermaciej, any suggestions for caretRangeFromPoint? [04:57:01.0000] <othermaciej> annevk: I dunno [04:57:02.0000] <othermaciej> I very much need to go to bed [05:02:00.0000] <annevk> hmm, i'll try something out [05:02:01.0000] <othermaciej> annevk: so in Safari (and I think we did this for FF/IE compatibility) clicking in a non-editable area creates an invisible caret selection [05:03:00.0000] <othermaciej> you could define caretRangeFromPoint to give the same range as the caret selection you would get clicking there [05:03:01.0000] <othermaciej> though perhaps that is too vague [05:03:02.0000] <annevk> "return an empty text range for the position where [05:03:03.0000] <annevk> a text insertion point indicator would have been placed if editing was [05:03:04.0000] <annevk> enabled and hit testing was performed at the coordinates x,y in the viewport" [05:03:05.0000] <annevk> is my start [05:04:00.0000] <othermaciej> that is not bad [05:04:01.0000] <othermaciej> I'm off to bed for now, later [05:04:02.0000] <annevk> bye [05:04:03.0000] <Lachy> wow, it seems the people on HTML4all are accepting that <acronym> isn't in HTML5 now. I thought many of those people objected to its exclusion previously. [06:08:00.0000] <annevk> http://dev.w3.org/csswg/cssom-view/#documentview-caretrangefrompoint [06:13:00.0000] <heycam> annevk, (nit:) missing a comma between "J. Ferraiolo" and "?? ?" [06:13:01.0000] <heycam> in the references section for SVG [06:13:02.0000] <annevk> thx [06:13:03.0000] <annevk> you're not pasting UTF-8 fwiw [06:14:00.0000] <heycam> really? :( [06:14:01.0000] <heycam> /me kicks his x-chat [06:15:00.0000] <heycam> /me wonders where the encoding options might be in x-chat [06:21:00.0000] <heycam> annevk, does this display properly now? 藤沢 淳 [06:21:01.0000] <annevk> yes [06:21:02.0000] <heycam> cool [06:21:03.0000] <heycam> /me afks [06:26:00.0000] <hsivonen> /me hopes HotSpot doesn't have some silly max size for the code of one method... [06:29:00.0000] <Philip`> hsivonen: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4262078 ? [06:29:01.0000] <hsivonen> Philip`: ouch [06:30:00.0000] <Philip`> It's not a bug, it's a feature - everyone agrees that methods should rarely be more than a screenful of code [06:30:01.0000] <hsivonen> Philip`: parser state machines are excempt [06:30:02.0000] <hsivonen> exempt [06:31:00.0000] <Philip`> On the subject of generated code, does JavaScript (or common implementations of it) have a maximum regexp size? [06:31:01.0000] <hsivonen> whew. the whole classfile is under 64KB [06:32:00.0000] <Philip`> My tokeniser has a /^(thetasym;|Epsilon;|Omicron;|Upsilon;|...|yen|GT|LT|gt|lt)/ to get longest entity-name matches, but I worry how that'll cope with MathML entities [06:36:00.0000] <hsivonen> which reminds me that I should email the list and complain about the MathML entities [06:36:01.0000] <Philip`> /me notes that Word 2007 appears to neither emit nor accept entities (other than the standard XML ones) [06:36:02.0000] <Philip`> (...in its MathML copy/paste system) [06:37:00.0000] <hsivonen> Word++ [06:37:01.0000] <hsivonen> some sanity with entities [06:37:02.0000] <annevk> Philip`, did you include a DTD? [06:37:03.0000] <Philip`> I've not seen it generate numeric entities either, it just does Unicode [06:38:00.0000] <hsivonen> Word++ [06:38:01.0000] <annevk> hsivonen, are you against entities? [06:38:02.0000] <annevk> /me likes them a lot for hand authoring [06:38:03.0000] <Philip`> annevk: Whenever I added a DTD, it just pasted as plain text (the same as any normal non-XML paste operation) [06:42:00.0000] <Philip`> (...and the same as any XML paste operation whose root element isn't <math xmlns=whateveritis>) [06:43:00.0000] <annevk> ok [06:46:00.0000] <hsivonen> annevk: adding MathML entities violates our design principles [06:46:01.0000] <hsivonen> annevk: they add a backwards-incompatible way of doing something that can already be done in a backwards-compatibel way [06:48:00.0000] <zcorpan> and there are only 2 persons who are hand authoring mathml anyway [06:49:00.0000] <zcorpan> and even if you are, you can only remember &invisibleTimes; and a few others anyway [06:50:00.0000] <zcorpan> not all 2000 [06:50:01.0000] <zcorpan> at which point, looking up the unicode code point becomes as much of a hassle as looking up the mathml entity name [06:50:02.0000] <Philip`> The entities don't make MathML much easier to write, but they do make it much easier to write [06:50:03.0000] <Philip`> Uh [06:51:00.0000] <Philip`> The entities don't make MathML much easier to write, but they do make it much easier to read [06:51:01.0000] <zcorpan> why would you read mathml markup? [06:51:02.0000] <annevk> to change it [06:51:03.0000] <Philip`> i.e. it's easy to see what 'a&invisibleTimes;b' means, but not what 'a&#8213;b' means [06:51:04.0000] <annevk> zcorpan, we need to cater for the copy-and-paste-and-learn authoring crowd [06:51:05.0000] <annevk> it made the Web big [06:53:00.0000] <annevk> (and also for the hand authoring crowd... it's not at all clear that MathML hand authoring will remain a niche market once it becomes more approachable) [06:53:01.0000] <Philip`> (The HTML syntax doesn't seem to make MathML any more approachable) [06:54:00.0000] <annevk> once it's implemented it will [06:54:01.0000] <Philip`> (It's just as verbose, and you can't even tell when you've accidentally missed out an end tag and got your nesting all wrong) [06:54:02.0000] <zcorpan> annevk: entities can be added when there are enough handwriting mathml authors to make it justifyable :) [06:54:03.0000] <Philip`> (so if anything it's harder to write by hand in HTML than in XML) [06:54:04.0000] <annevk> Philip`, i don't think that's the issue, the issue is that making XML documents is way harder [06:54:05.0000] <annevk> zcorpan, chicken/egg [06:55:00.0000] <hsivonen> annevk: Unicode input in an issue between you and your editor. don't bother my browser with it, please [06:55:01.0000] <annevk> zcorpan, and since entities are cheap [06:55:02.0000] <hsivonen> s/in/is/ [06:55:03.0000] <annevk> hsivonen, why would i want to write additional scripts for my text editor if the browser can do it? [06:56:00.0000] <annevk> (and if it makes my source code more approachable so i can understand what i wrote later on) [06:56:01.0000] <hsivonen> annevk: why should my browser replace your Character Palette or whatever the Gnome equivalent is called? [06:56:02.0000] <annevk> so that i don't have to write converters myself [06:57:00.0000] <hsivonen> annevk: I think straight Unicode is (apart from invisibleTimes) more readable [06:57:01.0000] <Philip`> annevk: You don't think the verbosity of MathML is an issue for hand-authoring? [06:58:00.0000] <annevk> Philip`, I don't know [06:58:01.0000] <annevk> hsivonen, that's hard to type [06:59:00.0000] <annevk> &hellip; is easier for me than looking up the Unicode character [06:59:01.0000] <hsivonen> annevk: not in Mathematica [06:59:02.0000] <hsivonen> annevk: your input method just sucks [06:59:03.0000] <annevk> which typically involves copying from data:text/html,&hellip; [07:00:00.0000] <hsivonen> /me presses option-period [07:00:01.0000] <annevk> hsivonen, that tools will save us is a fallacy imo [07:00:02.0000] <annevk> i don't think we should design for that when making Web formats [07:00:03.0000] <Philip`> /me often finds it hard to write equations in LaTeX without losing track of all the nested brackets and braces, and MathML adds an order of magnitude more syntax to get in the way [07:00:04.0000] <annevk> they should ideally all be doable using a simple text editor [07:01:00.0000] <annevk> otherwise we might as well get compiled javascript, compiled html+css, etc. [07:01:01.0000] <Philip`> (The only way I can manage is by having the source code and the PDF output side by side, which works alright) [07:02:00.0000] <Philip`> hsivonen: There are many more text editors than there are HTML parsers, so shouldn't the complexity be put in the HTML parsers so it doesn't have to be implemented so many times? [07:02:01.0000] <hsivonen> Philip`: you should put the complexity in the OS input method [07:03:00.0000] <hsivonen> Philip`: Math is complex like Japanese [07:03:01.0000] <hsivonen> Philip`: Math should have an IME, too [07:05:00.0000] <Philip`> hsivonen: How should things like special space characters be handled? They're impossible to edit unless the text editors renders them in some special way (i.e. not as blank spaces), so editors will still have to cope with that complexity [07:05:01.0000] <Philip`> s/renders/render/ [07:06:00.0000] <hsivonen> Philip`: they need editor cooperation, yes [07:06:01.0000] <hsivonen> Philip`: Word has had a feature to show formatting characters for ages [07:07:00.0000] <annevk> why require simple text editors to have math support when supporting some additional entities is trivial? [07:07:01.0000] <annevk> (and is already required for XML content anyway) [07:07:02.0000] <hsivonen> annevk: I'll reply in email to list [07:13:00.0000] <Philip`> The problem with getting the OS to provide a nice input method for Unicode maths symbols is that I don't expect my OS's developers to make a nice input method for that :-p [07:14:00.0000] <Philip`> and if someone did make one, it'd have a silly name and I'd never even hear of it so it wouldn't help me [07:14:01.0000] <annevk> expecting the OS to have an IME for math also doesn't make sense as math requires some kind of markup [07:15:00.0000] <annevk> where Japanese is just characters [07:15:01.0000] <Philip`> I used to have Windows set up so ctrl+shift+9 switched to a Greek keyboard layout, which was quite useful for maths, but I've never worked out how to make KDE do that [07:16:00.0000] <annevk> so while I agree that Japanese requires some complexity I don't think it makes sense to then also require that for stuff like &hellip; or &invisibleTimes; [07:16:01.0000] <annevk> or &euml; etc. [07:17:00.0000] <Philip`> Maths is mostly ASCII with occasional funny symbols, whereas (I assume) Japanese is entirely funny symbols, so it's much easier to convince a Japanese person to learn how to use an IME [07:18:00.0000] <Philip`> (and easier for them to remember how to use it, since they use it all day every day, rather than using it half a dozen times and then not using it again for two weeks and then forgetting how it works) [07:20:00.0000] <Philip`> (But maybe the IME would still be no harder to learn and remember than the short list of MathML entity names you commonly want to use, in which case that's not a relative disadvantage) [07:23:00.0000] <hsivonen> email sent [07:25:00.0000] <annevk> what triggered this hsivonen? [07:25:01.0000] <annevk> /me is curious [07:26:00.0000] <annevk> never mind [07:26:01.0000] <hsivonen> annevk: hellip has been typable on Apple keyboard layouts since the 1980s! like this … [07:27:00.0000] <hsivonen> /me can also type euml: ë [07:27:01.0000] <Philip`> AltGr+[ e gives me ë [07:28:00.0000] <Philip`> I can write "..." which works perfectly adequately [07:28:01.0000] <Philip`> (Maybe fonts should define a ligature for "...") [07:29:00.0000] <annevk> hsivonen, doesn't work so well for me, and it's not too good for legacy systems, such as dev.w3.org [07:29:01.0000] <annevk> better to stay ascii compatible there [07:29:02.0000] <hsivonen> annevk: even the OS X handwriting recognition can do ë even in the English mode! [07:30:00.0000] <hsivonen> annevk: the input methods on your OS just suck [07:30:01.0000] <hsivonen> and it's a solved problem [07:31:00.0000] <annevk> apparently not [07:31:01.0000] <annevk> also, i just mentioned, dev.w3.org and w3.org docs in general work better if you stay ascii only [07:31:02.0000] <annevk> (that also doesn't address the other arguments pointed out earlier) [07:31:03.0000] <hsivonen> it's sad if w3.org can't do UTF-8 [07:32:00.0000] <annevk> it can [07:32:01.0000] <annevk> but by default it would display as ISO-8859-1 [07:32:02.0000] <annevk> and lots of times people do just that so sticking with entities is safer [07:33:00.0000] <hsivonen> annevk: do you value that safety over backwards compat? [07:34:00.0000] <zcorpan> annevk: how about changing the default? [07:34:01.0000] <annevk> i would, if browsers support mathml entities i would start using them [07:34:02.0000] <annevk> rendering the &...; string in older clients is acceptable to me [07:34:03.0000] <annevk> zcorpan, they fear that would break too much [07:35:00.0000] <annevk> zcorpan, this is just an example though, i'm sure there's more out there :) [07:49:00.0000] <Philip`> /me wonders if he should put his canvas tests under some sort of licence [07:49:01.0000] <Philip`> It seems nobody has actually cared about that yet (or at least not complained enough for me to hear) [08:21:00.0000] <Lachy> I hate entities except for &lt; &gt;, &amp;, &quot;. For everything else, writing the real character is better [08:21:01.0000] <Lachy> makes the source code easier to read when it has the real character instead of some entity ref [08:22:00.0000] <Lachy> oh, and entities for invisible characters like &nbsp; are ok, but normally I prefer the numeric reference [08:24:00.0000] <zcorpan> Lachy: why do you prefer the numeric reference? [08:24:01.0000] <Philip`> Lachy: Do you mean you normally prefer the numeric references including for characters like &nbsp;, or only for non-invisible characters? [08:25:00.0000] <annevk> I think disliking entities is some kind of phase. Just like people disliking text/html [08:25:01.0000] <Philip`> I don't like text/html [08:25:02.0000] <Philip`> It's just less bad than some alternatives [08:26:00.0000] <Philip`> and I'm not sure that's a phase, because it seems quite factual that text/html is ugly and broken :-) [08:26:01.0000] <annevk> Actually, it may be more similar to liking XHTML-in-text/html over HTML-in-text/html [08:28:00.0000] <annevk> Some kind of syntax preference [08:28:01.0000] <takkaria> I've grown to like missing lots of opening and closing tags in text/html [08:30:00.0000] <Philip`> takkaria: Does 'lots' include the html/head/body tags? [08:31:00.0000] <Philip`> (Nowadays I always skip those whenever possible, just to be unconventional) [08:31:01.0000] <takkaria> yeah [08:31:02.0000] <Lachy> zcorpan, when I need an nbsp, I use the numeric reference &#xA0; because. Similarly for any other non-printable charcters I may use. [08:31:03.0000] <takkaria> also </li>, but for some reason not </p> [08:32:00.0000] <Philip`> Lachy: (Did you mean to give a reason after saying "because"?) [08:33:00.0000] <Lachy> because it works in both HTML and XHTML [08:33:01.0000] <Philip`> Ah [08:34:00.0000] <Philip`> It seems easier to just not write XHTML by hand, rather than choosing to make HTML harder to write by hand [08:34:01.0000] <Lachy> but I don't consider it wrong to use them in HTML, and others can use them if they like. It's just my personal prefernce [08:35:00.0000] <Lachy> Although, when it comes to adding additional entities, I really don't see the use case that's being addressed by it and share hsivonen's backward compatibility concerns [08:36:00.0000] <Philip`> Including adding entities to <math> content? [08:37:00.0000] <Lachy> the only possible reason to allow them is to allow copying and pasting of MathML directly into HTML nad have it work, but that wouldn't work for XHTML anyway without using an XHTML+MathML DOCTYPE that browsers recognised [08:37:01.0000] <Lachy> s/nad/and/ [08:38:00.0000] <Philip`> It would be useful to know how many MathML-editing tools generate code with MathML entities, because I assume we want people to be able to copy-and-paste the output from them (modulo XML headers) into HTML [08:39:00.0000] <Philip`> (Namespace prefixes are easy to find-and-replace away, but entities aren't) [08:40:00.0000] <Lachy> if authors want to hand code and use entities, they should use a pre-processor that replaces them with either numeric references or the real characters [09:03:00.0000] <annevk> why? [09:09:00.0000] <Lachy> note my previous statement only applies to additional entities that aren't already supported in HTML, and it's because of the backwards compatibility issues [09:10:00.0000] <annevk> the compat issue is minimal imo [09:10:01.0000] <Lachy> the use case for mathml enties is minimal imo too [09:10:02.0000] <Lachy> *entities [09:12:00.0000] <annevk> it helps with hand authoring and porting of some existing mathml content [10:23:00.0000] <annevk> http://developers.slashdot.org/developers/08/04/24/1455202.shtml [10:25:00.0000] <zcorpan> good that consensus is forming at the WC3 [10:25:01.0000] <zcorpan> but what does warcraft3 have to do with html5? [10:26:00.0000] <gsnedders> LOL [10:27:00.0000] <Philip`> It must be referring to the Www Consortium Company inCorporated [10:28:00.0000] <annevk> oh, http://www.sdtimes.com/content/article.aspx?ArticleID=32067 quotes Michael Smith too [10:31:00.0000] <Dashiva> /me chuckles at "specialized experts" [10:31:01.0000] <Philip`> It's more useful to be a generalised expert [10:32:00.0000] <takkaria> why do people insist on thinking that the canvas API needs experts when it's already implemented mostly-interopably between browsers? [10:32:01.0000] <takkaria> "Some deprecated elements--center, /front/, and striks--were dropped in favour of CSS" [10:33:00.0000] <Philip`> takkaria: Because the canvas API can be extended to do more things (like, say, text, and dashed lines), and it's useful to have people will knowledge/experience/insight/etc when developing that [10:34:00.0000] <Philip`> takkaria: s/striks/strike/ [10:34:01.0000] <Philip`> and s/favour/favor/ [10:34:02.0000] <Philip`> those being your typos, not the article's :-p [10:34:03.0000] <takkaria> yeah, the paste was only half-complete. :) [10:35:00.0000] <hsivonen> nice to read Microsoft's position and the WG consensus from Slashdot [10:36:00.0000] <takkaria> Philip`: fair point. I always got a slightly different vibe, though, along the lines of "hmm, we need experts to design a graphics API" regardless of the current spec and implementation [10:36:01.0000] <Philip`> Anyway, seems like there isn't really any new information there - people think HTML5 is too large, and it would be easier to manage if there were smaller specs, but Hixie is too useful and everybody wants to let him do it all [10:39:00.0000] <Philip`> takkaria: Experts could also be considered useful for making the API spec more precise and correct and complete, without changing the actual API [10:40:00.0000] <Philip`> But I do agree the vibe you get seems reasonable given what people have said, though I don't know whether it's correct or not, but anyway it's pretty easy to ignore people who want to make incompatible API changes because that's just not going to happen [10:42:00.0000] <Philip`> At least nobody seems to have suggested that we need architectural consistency between canvas and SVG [10:50:00.0000] <takkaria> Philip`: I think they have, actually, but briefly and have been ignored [10:53:00.0000] <annevk> hsivonen, indeed :) [10:54:00.0000] <annevk> Philip`, to the extent possible we need arhictectural consistency imo [10:55:00.0000] <annevk> Philip`, that is, allow for as much backend code reuse as possible [11:00:00.0000] <Philip`> annevk: It depends on how far back you consider the backend to be - it's good to share the drawing primitives (like using Cairo for both), but not good to redefine canvas in terms of SVG (or vice versa) (because that would certainly make the specs consistent, but wouldn't help implementations) [11:00:01.0000] <Philip`> so I would just be worried if people suggested the latter option :-) [11:01:00.0000] <annevk> Philip`, your definition of architectural consistency scarely resembles that of some members of the Forms WG [11:03:00.0000] <Philip`> It usually sounds to me like their idea of architectural consistency is to redefine HTML forms in terms of the XForms processing model [11:03:01.0000] <Philip`> (hence being sort of analogous to redefining canvas in terms of SVG) [13:21:00.0000] <gsnedders> Anyone want to write RFC 4291 Version 5? [14:12:00.0000] <Hixie> hsivonen: i don't understand what an "entity resolver and a DOM builder on top of a SAXish XML parser" would be [14:16:00.0000] <Lachy> Hixie, wouldn't that be a rough description of what the HTML5 parsing spec is? [14:18:00.0000] <annevk> Hixie, basically, a spec that says how to create a DOM tree, when to execute scripts, what happens with entity references that can't be resolved, etc. [14:18:01.0000] <Hixie> oh [14:18:02.0000] <Hixie> isn't that xml5 [14:19:00.0000] <annevk> yeah, though I guess hsivonen was hinting at something like that for XML 1.0 [14:20:00.0000] <hsivonen> Hixie: the entity resolver part would make Gecko's entity catalog normative [14:20:01.0000] <gsnedders> /me keeps on saying he'll doing something about helping with XML5, then never does [14:20:02.0000] <hsivonen> Hixie: the DOM builder part would specify that the DOM builder must maintain its own node stack and must not rely on being able to follow parentNode o pop [14:20:03.0000] <hsivonen> on pop [14:21:00.0000] <Hixie> yeah [14:21:01.0000] <Hixie> it would be great for xml1.0 to have a well-defined parser spec, yes [14:21:02.0000] <hsivonen> it shouldn't even be hard to write [14:21:03.0000] <Philip`> Would it be harder to convince people to implement it? [14:22:00.0000] <Hixie> i'm declaring this "not my problem" [14:22:01.0000] <gsnedders> My main issue is the only place where I'd ship such a thing is written in PHP. Userland code is slowwww. [14:23:00.0000] <hsivonen> Philip`: if HTML 5 made Gecko's entity resover behavior normative for XHTML5, I'd implement it in Java in a reusable way [14:24:00.0000] <Lachy> hsivonen, would that require the use of magic PUBLIC identifiers in DOCTYPES to enable the feature? [14:25:00.0000] <hsivonen> Lachy: yes [15:53:00.0000] <Hixie> /me comments on the slashdot post to say he agrees with microsoft [15:58:00.0000] <Philip`> Hixie: You're replying far too late, nobody's even going to see your message :-p [16:04:00.0000] <Hixie> excellent [16:11:00.0000] <Lachy> Hixie, was that the slashdot post about the GPL? [16:11:01.0000] <Hixie> html5 [16:12:00.0000] <Hixie> http://slashdot.org/comments.pl?sid=533346&cid=23184908 is pretty much exactly right [16:12:01.0000] <Lachy> oh, I didn't even see that post before :-) [16:15:00.0000] <Lachy> any particular sections you think should be taken on by other editors, if they were available? [16:17:00.0000] <Philip`> I'd expect that depends a lot on who the editor is - some will find some sections really boring, and they wouldn't do any work on it for years, but might find other sections interesting and be happier to work on them [16:18:00.0000] <Philip`> so you can't define a single ordered list of things that should be extracted from the spec [16:18:01.0000] <Hixie> lachy: first, we need editors for the sections that even i have abandoned: http://wiki.whatwg.org/wiki/Companion_specifications [16:19:00.0000] <Philip`> Hixie: Those all look like really boring things :-) [16:19:01.0000] <Hixie> why do you think i abandoned them! [16:20:00.0000] <Lachy> once I can get selectors api mostly out of the way, into CR, I may be able to look at taking one of those on [16:20:01.0000] <hsivonen> what would be an example of a server-side DOM3 Core feature? [16:20:02.0000] <Lachy> although, I've got the html5 guide and xbl primer to work on still [16:20:03.0000] <Philip`> Hixie: It doesn't seem very effective to try recruiting editors by pointing them at a list of really boring things and saying they should work on those first [16:21:00.0000] <Hixie> Philip`: are there non-boring things? [16:21:01.0000] <Hixie> spec writing is hard work and pretty boring [16:21:02.0000] <Dashiva> Surely 3d canvas at least should be (relatively) exciting [16:21:03.0000] <Hixie> brb [16:21:04.0000] <Lachy> I like writing specs more than some of my other responsibilities at work [16:21:05.0000] <Philip`> Hixie: Probably not, but maybe there are some things that are just quite boring and not really boring :-) [16:22:00.0000] <Hixie> Philip`: css3 animation would be fun [16:22:01.0000] <Dashiva> Don't worry Lachy, next year someone else will be the coffee boy [16:22:02.0000] <Hixie> hough difficult [16:23:00.0000] <Philip`> Dashiva: I'd guess 3d canvas is mostly trying to work out what all the OpenGL state is and what functions depend on it and how to be sure browsers don't crash or have security bugs when people trying calling functions in a crazy order [16:23:01.0000] <Lachy> Dashiva, I wish we had a decent coffee boy! All we have are machines that make terrible hot chocolates, and canteen staff that keep filling the Nesquik container with poor quality substitues. [16:23:02.0000] <Philip`> which still isn't great fun [16:24:00.0000] <Philip`> (and then it'll still be a source of all sorts of bugs, just because video drivers are buggy) [16:25:00.0000] <Lachy> isn't there supposed to be a joint task force with the webapi wg to work on the canvas stuff? [16:27:00.0000] <Lachy> ah, that's in the proposed web api charter. I guess it will start after that charter takes effect [16:27:01.0000] <Philip`> The fun way to write specs would be to write lots of crazy demos and games and things, and say that any implementation which can run those demos is following the spec well enough [16:28:00.0000] <Philip`> Lachy: http://wiki.whatwg.org/wiki/Companion_specifications ? [16:28:01.0000] <Philip`> Uh [16:28:02.0000] <Philip`> Forgot to copy [16:28:03.0000] <Philip`> Lachy: http://www.w3.org/2007/12/WebApps-Charter-2007 ? [16:28:04.0000] <Lachy> yep [16:29:00.0000] <Dashiva> Lachy: I figured chaals had set you up with a proper espresso machine. My mistake :) [16:55:00.0000] <Hixie> http://developers.slashdot.org/comments.pl?sid=533346&cid=23190802 [16:55:01.0000] <Hixie> not sure how to reply to that in a way that doesn't insult the people working on that spec... [16:55:02.0000] <Philip`> Has that ever stopped you before? [16:59:00.0000] <Lachy> just explain that xhtml modularisation is a completely different concept from splitting up the HTML5 spec 2008-04-25 [17:02:00.0000] <Hixie> i'll let y'all handle that one :-) [17:02:01.0000] <Dashiva> It seems to me that MoinMoin can't generate <th> in tables [17:02:02.0000] <Dashiva> How's that for accessibility... [17:04:00.0000] <Philip`> <td colspan="3" style="text-align: center"><p class="line891"><strong>Heading</strong></td> [17:04:01.0000] <Philip`> (via http://moinmoin.wikiwikiweb.de/HelpOnTables ) [17:04:02.0000] <Dashiva> Ayup [17:06:00.0000] <Philip`> The wiki-code for tables looks fairly ugly - does anybody have a nice way of marking up tables? [17:09:00.0000] <Philip`> /me kind of likes the LaTeX syntax, since you normally only need a single line of setup code and then every row is like "cell1 & cell2 & cell3 \\" which is about as minimal as possible [17:09:01.0000] <Dashiva> Mediawiki's way is bad because it clashes with template syntax, but just markup-wise it covers most of it [17:09:02.0000] <Philip`> (http://en.wikibooks.org/wiki/LaTeX/Tables etc) [17:10:00.0000] <Dashiva> (You can't do the fancy stuff like col/colgroup/thead etc, but they allow plain html for the complex stuff) [17:11:00.0000] <Philip`> (Does that mean you can write a simple table with the wiki syntax, then add a few more complex features, but once you get to a certain point and want another feature you have to rewrite the entire thing into HTML?) [17:12:00.0000] <Dashiva> No, you can just copypaste the output of the old code :) [17:12:01.0000] <Lachy> Hixie, you might be able to answer this more better than I can. http://blogs.msdn.com/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx#8422881 [17:12:02.0000] <Philip`> Dashiva: What if you want to remove that final feature and convert it back to the wiki syntax? :-) [17:12:03.0000] <Dashiva> Run a regexp on it :) [17:12:04.0000] <Lachy> s/more better/better/ [17:13:00.0000] <Dashiva> You could even write a wikicode serializer and link it to html5lib! [17:15:00.0000] <Hixie> Lachy: commented [17:21:00.0000] <Philip`> /me wonders if it's possible/sensible for a script to override document.write and intercept all the written strings [17:22:00.0000] <Philip`> (I'd like to let pages get proper HTML5 parsing by adding a line <!doctype html><script src=html5parser.js></script> to the top, but that seems like it'd be a bit messier if the page tries doing fancy scripting stuff itself) [17:24:00.0000] <Lachy> Hixie, there's a few more exceptions you forgot to mention, like always appending link and meta elements to the head, even if it's not open. [17:24:01.0000] <Lachy> though, I suppose that doesn't insepct the DOM to do that, it just maintains a separate head pointer [17:48:00.0000] <mcarter> hello [17:49:00.0000] <mcarter> othermaciej, I'm curious what your proposal is for an http based protocol for TCPConnection? [17:49:01.0000] <mcarter> othermaciej, Hixie mentioned that the protocol was your main objection [17:49:02.0000] <othermaciej> mcarter: I don't have a full proposal for how to satisfy the TCPConnection use cases [17:50:00.0000] <mcarter> othermaciej, Ok, I'm at least interested in the reasons for it [17:50:01.0000] <othermaciej> my two problems with it are: (1) it uses port/host addressing instead of URI addressing, which is a poor fit for the Web model [17:50:02.0000] <mcarter> othermaciej, I'm putting together a document about the pros and cons of http for TCPConnection [17:50:03.0000] <othermaciej> (2) it's bad to send non-http over the assigned ports for http and https [17:51:00.0000] <othermaciej> (3) I am worried that connection to arbitrary ports could lead to security issues, although Hixie tried hard to avoid them [17:51:01.0000] <othermaciej> (basically the only security mechanism though is assuming that no other protocol will happen to emulate the TCPConnection handshake, which seems pretty weak) [17:52:00.0000] <othermaciej> (given that other protocols have been found to have multiple interpretation vulnerabilities) [17:52:01.0000] <othermaciej> I guess that is three problems [17:52:02.0000] <mcarter> ok [17:52:03.0000] <mcarter> i had a couple of other concerns [17:52:04.0000] <mcarter> With SSL there is no way to do virtual hosting -- you have to route on ip address... HTTP/1.1 upgrade with TLS solves this problem [17:53:00.0000] <othermaciej> mcarter: I think a custom http method that begins a two-way session might be a promising solution, but I think that would require a proof of concept that it is viable on client and server side [17:53:01.0000] <mcarter> Http provides the Host header to avoid dns rebinding attacks [17:53:02.0000] <mcarter> othermaciej, it seems to me the way to do it is send an OPTIONS with an Upgrade: tcp/1.0 header as the client->server tcp handshake [17:53:03.0000] <othermaciej> mcarter: those are also good points [17:54:00.0000] <mcarter> also, HTTP based connections include query parameters and cookies, allowing for normal auth mechanisms [17:55:00.0000] <mcarter> othermaciej, i'll add your three points to my document [17:56:00.0000] <mcarter> the big hurdle is keeping it simple enough for Hixie's requirements, particularly that it be possible to implement in just a few lines of perl [17:56:01.0000] <Philip`> use Net::HTML5::Connection; [17:56:02.0000] <Philip`> run_server(); [17:57:00.0000] <Philip`> Should it be a few lines of Perl that a normal Perl programmer would write, or a few lines that a Perl golfer could write? [17:57:01.0000] <mcarter> Philip`, he wants it to be 3 lines with no support libraries [17:59:00.0000] <Hixie> i dunno about 3 [18:00:00.0000] <Hixie> i think i said a few dozen [18:00:01.0000] <Hixie> but the point is it has to be a fully compliant implementation [18:00:02.0000] <Philip`> Is there any problem that can't be solved in a few dozen lines of Perl? [18:01:00.0000] <takkaria> the travelling salesman problem? [18:02:00.0000] <Philip`> takkaria: That's a trivial problem to solve - just enumerate all possibilities and pick the best [18:03:00.0000] <takkaria> quickly, then. :) [18:03:01.0000] <Philip`> It's trivial to do it quickly, at least for certain input sizes :-) [18:05:00.0000] <takkaria> OK, I'll stop defending my quick and ill-thought-out reponse now [18:05:01.0000] <takkaria> anyone else want a go? :) [18:12:00.0000] <Philip`> perl -lpe'@==sort@p=map$_.shift@=,@@for@@=/,|\pL/g;$_=@p[$`]' [18:12:01.0000] <Philip`> Apparently that does the Burrows-Wheeler transform, but I don't quite see how :-/ [18:14:00.0000] <jwalden> Hixie: in 6.4.1, you can't check the origin of the target document while postMessage is running -- what happens if the target window is navigated to another location before the event is dispatched? [18:18:00.0000] <jwalden> as far as I can tell, the only thing you can/must do at postMessage time is determine the origin of the caller; everything else must happen immediately before the event is dispatched [18:19:00.0000] <mcarter> Hixie, oh, i think we could get it done in just a few lines of code even if it was http-based [18:21:00.0000] <mcarter> Hixie, i don't think saying "it should be implementable in 3-10 lines of perl" is unreasonable whatsoever [18:26:00.0000] <othermaciej> mcarter: my vague idea was to repurpose the CONNECT method, since that is likely to already work through proxies [18:27:00.0000] <othermaciej> mcarter: but developing the proper server-side support would be tricky [18:27:01.0000] <othermaciej> so I feel like it is not worth suggesting without proof-of-concept client and server impls [18:27:02.0000] <othermaciej> I think the two-way persistent connection problem may just have to get solved after HTML5 [18:29:00.0000] <mcarter> othermaciej, well, I'm working on a proof of concept so feel free to suggest to me any ideas you have [18:39:00.0000] <mcarter_> othermaciej, i lost connectivity there, but i had try to say that you should give me any ideas/suggestions you have for bi-directional communication protocols because I'm making a proof of concept client and server [19:11:00.0000] <othermaciej> mcarter: ok, so my idea was to overload CONNECT, have an apache module that lets a CGI script or similar handle this, and have it establish a two-way TCP connection [19:11:01.0000] <othermaciej> mcarter: using "upgrade" also seems like an interesting idea though may be less proxy-compatible [19:11:02.0000] <Philip`> Apache module sounds scary [19:12:00.0000] <othermaciej> I have no idea how hard or easy it is to write an Apache module but I assume it is easier than an IIS plugin [19:12:01.0000] <Philip`> Apache modules don't work too well in lighttpd either :-( [19:13:00.0000] <othermaciej> I'm not sure there is a viable solution that will work with every existing httpd [19:13:01.0000] <othermaciej> (Hixie's approach was basically to run services that don't hook into httpd at all on totally separate ports) [19:15:00.0000] <Philip`> I'm not sure what problem this is trying to solve, so I suppose I should find that out first [19:16:00.0000] <othermaciej> the problem is enabling full duplex messaging between a client and a server over a single established TCP connection (to avoid overhead of constantly creating and destroying connections) [19:16:01.0000] <Philip`> Server-sent events + XHR with HTTP pipelining? [19:16:02.0000] <othermaciej> the closest thing to it over http is http pipelining combined with a multipart (or otherwise incremental) http response [19:17:00.0000] <Philip`> (or just keepalive) [19:17:01.0000] <Hixie> my main use case was on a machine that didn't even have a web server [19:17:02.0000] <Hixie> but that's another story [19:17:03.0000] <Hixie> jwalden: woops, good point [19:17:04.0000] <Hixie> jwalden: fix on the way [19:18:00.0000] <othermaciej> XHR with pipelining might be viable, but there's no solution on the server side (afaik) to bind a pipeline to a single process which handles all requests on it [19:18:01.0000] <othermaciej> so if you have a front-end server that farms out requests to individual process/threads to serve them, you have not really solved the use case [19:19:00.0000] <othermaciej> also http pipelining is currently not viable on the client side [19:19:01.0000] <Philip`> I'm pretty sure Opera did XHR pipelining when I last tested it [19:19:02.0000] <othermaciej> Opera tries to use super clever heuristics to figure out when it can avoid any of the servers or proxies that create problems [19:19:03.0000] <Philip`> Ah [19:20:00.0000] <Philip`> That sounds interoperable [19:20:01.0000] <othermaciej> but I don't think anyone else has enough faith in their ability to come up with sufficiently clever heuristics [19:21:00.0000] <Philip`> Aren't the servers and proxies likely to cause just as many problems for a brand new persistent-two-way-connection-over-HTTP thing than for pipelining? [19:21:01.0000] <othermaciej> an http pipeline does also impose quite a bit of protocol-level overhead if your messages are small, though maybe that doesn't matter in practice [19:21:02.0000] <mcarter> othermaciej, i don't think the Uprade header has anything to do with proxies. We'll still need to put send a CONNECT to the proxy no matter what protocol we choose [19:21:03.0000] <othermaciej> Philip`: the problem with pipelining is that some servers (and proxies) will scramble multiple responses when you give them pipelined requests [19:21:04.0000] <mcarter> also, I don't like http pipe-lining at all -- the only way to restart a stream is to close the actual tcp connection, or send http responses back to all the "acks" that have built up [19:22:00.0000] <othermaciej> Philip`: however, CONNECT does give you a way to tunnel a connection over the proxy at least for SSL that seems to work [19:22:01.0000] <mcarter> othermaciej, with the apache stuff, i don't think the topic is how someone should implement tcp connection, rather what protocol should be used [19:23:00.0000] <mcarter> othermaciej, later on, apache or anyone else can go ahead and implement whatever api/interaction with their current stuff that they want [19:24:00.0000] <mcarter> Philip`, server sent events + XHR, without pipelining provides a pretty workable duplex stream, but its really hard to implement [19:24:01.0000] <Philip`> Is this feature meant to work for people with very restricted networks that allow nothing except HTTP (maybe HTTPS) connections and only to their proxy server? [19:25:00.0000] <Philip`> mcarter: Ah, I suppose the pipelining doesn't actually matter except for latency [19:25:01.0000] <Philip`> (but I was looking at this in the context of a multiplayer FPS, where latency is pretty important) [19:26:00.0000] <mcarter> Philip`, yeah, for upstream latency you'd have to do somethign with multipart to make it reasonable [19:27:00.0000] <Philip`> /me wonders which direction is upstream [19:27:01.0000] <mcarter> good point. From a client/server point of view, upstream counts as towards the server, at least thats how I use the term [19:27:02.0000] <Philip`> Okay [19:27:03.0000] <mcarter> Philip`, a full duplex mechanism for the browser should work over restricted networks where traffic must pass through firewalls and/or http forward proxies [19:28:00.0000] <mcarter> Philip`, so we'll definitely need to send a CONNECT to the forward proxy either way [19:28:01.0000] <Philip`> Are there proxies that block everything except GET and POST? [19:28:02.0000] <Philip`> /me doesn't know how much effort people put into making their networks useless [19:29:00.0000] <mcarter> possibly, but they still support CONNECT for https [19:29:01.0000] <mcarter> CONNECT to a proxy basically means, "now ignore any more bytes that go up or down this connection" [19:30:00.0000] <Philip`> That sounds like a good feature to lock down when all your annoying users are trying to Skype through your network [19:30:01.0000] <othermaciej> mcarter: one requirement that Hixie (rightly) states is that this new approach must be reasonably easy to deploy on the server side [19:31:00.0000] <othermaciej> mcarter: I haven't proposed a protocol in part because I feel like I would need to prove it is viable with code [19:31:01.0000] <othermaciej> just making a protocol proposal isn't very helpful in itself [19:31:02.0000] <mcarter> othermaciej, this is precisely what i'm working on [19:31:03.0000] <mcarter> othermaciej, i'm making an implementation of the TCPConnection api in the browser that speaks to a special server that understands sse and xhrs as being upstream and downstream [19:32:00.0000] <mcarter> othermaciej, then that server opens a raw socket connection to the destination, and speaks the appropriate protocol [19:32:01.0000] <mcarter> othermaciej, so any browser code can use the javascript api, and the server code can just be a socket server that implements whatever the protocol is supposed to be [19:32:02.0000] <mcarter> othermaciej, so I'm interested in feedback as I put together a few example server implementations of that protocol [19:33:00.0000] <othermaciej> mcarter: I don't see the point of that [19:33:01.0000] <othermaciej> mcarter: it doesn't do anything to show viability of directly integrating support for the protocol into an existing server infrastructure [19:33:02.0000] <mcarter> one of the demos could easily be an apache module, if thats what you think it would take to prove anything [19:34:00.0000] <mcarter> personally, i'm more with hixie that it should be a few lines of perl [19:34:01.0000] <othermaciej> well, it's certainly not the only way [19:34:02.0000] <othermaciej> a few lines of perl almost certainly can't be a specific URI on the same host and port your document came from [19:34:03.0000] <othermaciej> anything where you have to pick a custom host and port can't work purely within the same-origin security model [19:35:00.0000] <mcarter> othermaciej, i believe the plan is to allow at least cross-sub-domain and probably fully cross-domain tcp connections [19:35:01.0000] <Hixie> yeah [19:35:02.0000] <othermaciej> yes, that is what TCPConnection allows, and one of the things I dislike about it [19:35:03.0000] <Hixie> oh? [19:36:00.0000] <jwalden> hm, this making the argument thing isn't so non-trivial if you actually decide to be principled and determine what the argument *should* be if it's provided and not "*" [19:36:01.0000] <othermaciej> the only security measure is assuming no other current or future network service can emulate the handshake [19:36:02.0000] <mcarter> othermaciej, it doesn't really make sense to just come up with some special protocol to speak to http servers. As I see it, TCPConnection to *other* services/daemons will enable a whole class of applications [19:36:03.0000] <jwalden> s/thing/non-optional thing/ [19:36:04.0000] <othermaciej> (or can be tricked into emulating the handhsake) [19:36:05.0000] <othermaciej> but TCPConnection can't talk to an arbitrary existing service [19:36:06.0000] <othermaciej> it has to talk to a custom service written for TCPConnection [19:37:00.0000] <Hixie> jwalden: you only need to include it in the reply, really, right? in which case just pass event.origin [19:37:01.0000] <mcarter> othermaciej, of course. but custom socket services are trivial to write, and give you the power of full duplex communication without banging your head against a wall or using flash [19:37:02.0000] <jwalden> Hixie: I have so many convolutions in most of these tests that it isn't always that simple [19:37:03.0000] <Hixie> jwalden: heh [19:37:04.0000] <jwalden> Hixie: further, providing the literal value is good defense anyway [19:37:05.0000] <othermaciej> it's like combining the worst parts of something http-based (can't talk to existing services) and something socket-based (no URI addressing, no same-origin security, no ability to leverage common http-based infrastrucutre) [19:38:00.0000] <othermaciej> that is the core of what is wrong with TCPConnection, in my mind [19:38:01.0000] <Hixie> jwalden: oh i agree [19:38:02.0000] <Hixie> jwalden: i expect there are two major use-cases [19:38:03.0000] <othermaciej> I want the full duplex functionality on a URI on my server [19:38:04.0000] <jwalden> so except in one or two cases where I'm using a single file generically, I have to determine what the exact value is [19:38:05.0000] <othermaciej> not a separate port on some other host [19:38:06.0000] <Hixie> jwalden: talking to a specific page on a specific host (in which case, it's known), and talking to anyone (in which case, it doesn't matter) [19:38:07.0000] <othermaciej> with no addressing of resources below host granularity [19:38:08.0000] <mcarter> othermaciej, I agree that the tcpconnection should be able to talk to your standard server. an integration with apache for instance [19:38:09.0000] <Hixie> jwalden: though i agree that often test cases end up being complicated for this kind of thing! [19:39:00.0000] <mcarter> othermaciej, but why not also let it talk to a custom service? [19:39:01.0000] <othermaciej> imagine I am logged into www.mychatservice.com [19:39:02.0000] <othermaciej> and the site wants to send my messages back and forth over a full duplex connection [19:39:03.0000] <othermaciej> if it's not over http to the same server, it can't rely on my cookies as the auth credential [19:39:04.0000] <jwalden> on the plus side, I've discovered a test I'd written earlier doesn't meaningfully test what it was testing any more since the domain/uri->origin change [19:40:00.0000] <Hixie> othermaciej: hm, we could send host and path information in the request [19:40:01.0000] <jwalden> I think I can use document.domain and some hacks to make it meaningful again [19:40:02.0000] <mcarter> othermaciej, thats exactly my earlier reason for why it should support cookies [19:40:03.0000] <Hixie> othermaciej: which would get us uri addressibility [19:40:04.0000] <othermaciej> what I'd like to do is open http://www.mychatservice.com/messagestream/othermaciej [19:40:05.0000] <Hixie> othermaciej: (in the same way that web servers do) [19:40:06.0000] <othermaciej> and have that be a two-way full duplex connection [19:40:07.0000] <mcarter> I see it like this, you should make a standard http request with a URL and headers, include an Upgrade: tcp/1.0 header [19:40:08.0000] <othermaciej> that follows the same-origin security model [19:40:09.0000] <Hixie> othermaciej: http is not a full-duplex protocol. we can never get this for an http://... uri [19:40:10.0000] <mcarter> the server can repond acknowledging the upgrade or not [19:41:00.0000] <othermaciej> and sends my cookies [19:41:01.0000] <othermaciej> Hixie: http supports on-the-fly conversion to other protocols (TLS upgrade) and custom methods that do whatever you want (which can tunnel through a proxy via CONNECT) [19:42:00.0000] <Hixie> othermaciej: in theory, sure [19:42:01.0000] <mcarter> Hixie, you can get this for an http:// uri though. just have an http handhsake with an upgrade header [19:42:02.0000] <Hixie> othermaciej: but i'm not writing an http server just so i can send messages back and forth [19:42:03.0000] <othermaciej> I don't know whether it is viable to do this in practice [19:42:04.0000] <othermaciej> that is why I think a proof of concept that integrates with a real server would be informative [19:42:05.0000] <othermaciej> Hixie: neither should you have to write an http server just so you can publish hypertext documents, but fortunately that problem has been solved for you [19:43:00.0000] <Hixie> the original use case i had for this -- my train server -- was a perl script about 50 lines long, most of which was infrastructure to talk to the machine's serial port to control my trains [19:43:01.0000] <Hixie> adding a compliant http server to this would be many more than 50 lines [19:43:02.0000] <Hixie> 1000 maybe [19:43:03.0000] <mcarter> Hixie, don't think of it like that. Choose a subset of http that an existing server would understand as http [19:43:04.0000] <othermaciej> I don't think a train server is a very interesting use case compared to things like chat or other notification streams [19:43:05.0000] <Hixie> mcarter: then it's not conforming [19:44:00.0000] <Hixie> mcarter: or it's not http [19:44:01.0000] <mcarter> Hixie, but thats okay [19:44:02.0000] <mcarter> Hixie, i'm saying, our protocol should NOT be http [19:44:03.0000] <Hixie> mcarter: what's the point of pretending to use http if it's not http? [19:44:04.0000] <Hixie> i'd still have to support http if you handshake on http first [19:44:05.0000] <othermaciej> writing an auth mechanism that works securely without leveraging the http-related infrastructure would take more than 50 lines too [19:44:06.0000] <mcarter> Hixie, so existing servers give back reasonable responses, and you can still do load balancing and authentication with existing methods [19:44:07.0000] <mcarter> Hixie, we handshake on a *subset* of http [19:45:00.0000] <othermaciej> most interesting two-way notification streams would require authentication and would be offered by web services that are already doing auth via http cookies [19:45:01.0000] <Hixie> mcarter: and what happens if someone steps outside that subset? it's still conforming http, so i still have to handle it somehow. [19:45:02.0000] <mcarter> Hixie, if the server steps out of our http-subset, then consider it an invalid tcp connection response and fire an onclose back [19:46:00.0000] <Hixie> mcarter: i don't consider that acceptable [19:46:01.0000] <mcarter> Hixie, the client won't step out because thats what we are trying to standardize. If it does, the server can just give back a 400 or something [19:46:02.0000] <Hixie> mcarter: either it's http or it isn't [19:46:03.0000] <mcarter> Hixie, why should it be one or the other though? [19:46:04.0000] <Hixie> mcarter: what if i connect to the server and do a HEAD request? or have a Host header that's wrong? or whatever [19:47:00.0000] <Hixie> mcarter: because profiling specifications because they're "too hard" isn't how you get interoperability [19:47:01.0000] <mcarter> our tcpconnection spec can say that you can't use a HEAD request. If you do, the server can respond however it wants because its not a tcpconnection handshake [19:47:02.0000] <othermaciej> I think replying with a 501 would be valid [19:47:03.0000] <othermaciej> (are there any methods that HTTP requires be supported on any resource?) [19:48:00.0000] <Hixie> so now i have to actually check the method [19:48:01.0000] <Hixie> which is imho ridiculous given that what i want to do is just open a socket [19:48:02.0000] <mcarter> Hixie, let me put together an example of this before you pass judgement on how hard it would be [19:49:00.0000] <Hixie> people are going to just skip the steps that aren't required, and you'll end up with servers that open tcp connections for HEAD requests with no UPGRADE or whatever [19:49:01.0000] <othermaciej> I don't think "model train controller" is the common use case [19:50:00.0000] <othermaciej> many interesting use cases require authentication [19:50:01.0000] <Hixie> the train controller required authentication too, actually [19:50:02.0000] <othermaciej> chat, calendar event notification stream, notification stream of twitter messages posted by my contacts [19:50:03.0000] <Hixie> just send the cookie down the pipe [19:50:04.0000] <Hixie> what's the problem with that? [19:51:00.0000] <othermaciej> prevents use of httpOnly cookies to mitigate cookie stealing attacks [19:51:01.0000] <othermaciej> (assuming you are sending the cookie for a different site) [19:51:02.0000] <mcarter> Hixie, also you couldn't have an auth reverse proxy that checks the cookie on the way in to perform authentication [19:51:03.0000] <othermaciej> and then the server and the site vending the cookie have to communicate out of band [19:51:04.0000] <othermaciej> to figure out if the cookie is valid [19:52:00.0000] <Hixie> actually sending third-party cookies to identify the user to a host that's not from the same origin would be an interesting problem [19:52:01.0000] <Hixie> same problem we have with XXX [19:52:02.0000] <Hixie> maybe whatever solution we come up with for XXX can apply here [19:53:00.0000] <Hixie> we could certainly define the api in such a way that cookies and http auth credentials are also sent down the pipe in the handshake [19:53:01.0000] <Hixie> without leveraging the six ton http server [19:54:00.0000] <Facedown> Is there any point to using the type attribute of the script element? [19:54:01.0000] <Hixie> Facedown: not really [19:54:02.0000] <Facedown> I know language is deprecated and type="text/javascript" doesnt really have any effect [19:54:03.0000] <mcarter> Hixie, is there a reason not to arrange that data in a way that looks as close to http as possible, so as to avoid confusing intermediaries? [19:54:04.0000] <Facedown> I guess people just put it there so there's at least one attribute, heh [19:55:00.0000] <Hixie> mcarter: i don't mind it looking like HTTP so long as it isn't HTTP [19:55:01.0000] <Facedown> Oh yeah, the validator and spec do say its required in strict though [19:55:02.0000] <Hixie> Facedown: in html5 it's optional [19:55:03.0000] <Facedown> but isnt there a more correct value? like text/ecmascript? [19:55:04.0000] <Hixie> Facedown: text/javascript is the right value [19:55:05.0000] <Facedown> since javascript isnt the real name [19:55:06.0000] <Facedown> hm [19:55:07.0000] <Facedown> err, application/javascript [19:55:08.0000] <Facedown> http://www.ietf.org/rfc/rfc4329.txt [19:56:00.0000] <Facedown> someone told me about this.. not even sure about it [19:57:00.0000] <mcarter> So what information have we identified so far that we need in the handshake? [19:57:01.0000] <mcarter> 1) Host header, 2) URI, 3) Cookies, 4) referrer [19:59:00.0000] <jacobolus> Facedown: you can just leave it off [20:00:00.0000] <jacobolus> Facedown: all the browsers will know it's javascript [20:00:01.0000] <jacobolus> in html5, it is optional [20:00:02.0000] <jacobolus> so if you use an html5 conformance checker, it will be fine [20:01:00.0000] <jacobolus> Facedown: there's no compelling reason to include it, and it just adds extra characters to your file [20:06:00.0000] <jacobolus> Hixie: why are you so afraid of browsers sending bizarre parts of HTTP as part of this handshake? [20:06:01.0000] <jacobolus> Hixie: aren't there plenty of obscure HTTP features ignored by existing web servers? [20:07:00.0000] <Hixie> jacobolus: i'm worried about someone browsing to that URL and getting back something that is an infinite connection, yes [20:07:01.0000] <Philip`> jacobolus: There are plenty of web servers that break on non-obscure features like HEAD, and it might be nice to not encourage that [20:07:02.0000] <Hixie> anyway, bbiab [20:08:00.0000] <jacobolus> Hixie: I see. it seems like that could be avoided [20:09:00.0000] <mcarter> Hixie, we could use something like OPTIONS as our handshake method... something that a user will never cause to be sent just by browsing [20:10:00.0000] <Philip`> mcarter: What would the server do when the user just sends a GET? [20:11:00.0000] <mcarter> Philip`, send back either a 404, 400, or some status code as indicated in our tcp handshake spec [20:12:00.0000] <mcarter> (while '\r\n\r\n' not in self.buffer) { self.buffer += sock.recv() }; try { assert buffer.startswith('OPTIONS') } catch { sock.send('HTTP/1.x 400 Invalid Handshake\r\n\r\n') } [20:12:01.0000] <mcarter> or something like that [20:13:00.0000] <Philip`> (That try/assert/catch thing looks like an awkward way of writing 'if' :-) ) [20:21:00.0000] <mcarter> Philip`, heh, my only point is that you can just assume the request looks a certain way and just catch any errors if the assumption is wrong [22:35:00.0000] <Hixie> mcarter: why would people not just do (while '\r\n\r\n' not in self.buffer) { self.buffer += sock.recv() }; without the other checks? [22:38:00.0000] <mcarter> Hixie, I see, you're worried about server implementors sending back the wrong thing thus making it possible for a browser to directly connect to a tcp handshake server and get an infinite response [22:39:00.0000] <mcarter> Hixie, in which case, the proper response for a tcp handshake should be to send back a content-length: 0 as part of the headers [22:39:01.0000] <Hixie> i'm worried about any protocol that relies on the author having to do something which they don't get any direct benefit from [22:39:02.0000] <Hixie> because the web shows that authors will not bother [22:40:00.0000] <jacobolus> Hixie: how can you possibly prevent that? [22:40:01.0000] <mcarter> its not clear to me that its a real problem for them to actually ignore the handshake's exact protocol [22:40:02.0000] <Hixie> jacobolus: by not requiring them to do anything other than what they need [22:40:03.0000] <mcarter> if they ignore the protocol, and if someone manages to point an http browser at the tcp server, then shouldn't they get an erroneous response? [22:40:04.0000] <Hixie> mcarter: i'm not writing a spec that says "you must do x" if not doing x will work just as well [22:41:00.0000] <jacobolus> Hixie: you're basically afraid of web servers implementing things such that web browsers could hang. but it seems like that becomes a browser bug, no? [22:41:01.0000] <jacobolus> (hang or use up resources or whatever) [22:41:02.0000] <Hixie> my concern isn't a specific concern, it's a generic one of not wanting to require things that the author gets no benefit from [22:42:00.0000] <mcarter> Hixie, so i say we require a single thing from server implementors [22:43:00.0000] <mcarter> Hixie, and that is, that they send back a specific http response as their half of the handshake [22:43:01.0000] <jacobolus> the author's benefit is that he'll know the browser is actually speaking the proper protocol. is that not enough benefit to properly implementing the handshake? [22:43:02.0000] <mcarter> Hixie, and if they don't send back that response, then the browser rejects the handshake [22:43:03.0000] <Hixie> jacobolus: obviously not, just look at what authors do with html [22:44:00.0000] <Hixie> mcarter: yup, we can do that. but that means what you described above won't happen [22:45:00.0000] <mcarter> Hixie, that was an example to othermaciej how we can prevent random web pages from appearing to hang when users mistakenly navigate to them. the better solution is to require a Content-Length: 0 header, or even a couple dozen bytes in the body which are an error message "You shouldn't be seeing htis page... Go somewhere else." [22:45:01.0000] <mcarter> Hixie, but i see where you're coming from [22:46:00.0000] <othermaciej> mcarter: already now if you navigate your browser to a persistent XHR stream it may appear to hang [22:46:01.0000] <othermaciej> so I do not see solving this problem as essential [22:47:00.0000] <othermaciej> if you browse to reasources not meant to be browsed to directly, weird shit may happen, tough cookies [22:47:01.0000] <mcarter> othermaciej, oh, that wasn't an example for you. it was for Hixie. sorry for the mixup [22:48:00.0000] <othermaciej> perhaps Hixie will agree with my comments as well, since they reduce the burden of what is required on server implementors [22:50:00.0000] <Hixie> i could see an argument for making the handshake look much more like http [22:51:00.0000] <Hixie> but that would not work with proxies [22:51:01.0000] <Hixie> and would not be http-over-port-80 [22:51:02.0000] <othermaciej> you'd have to use CONNECT to tunnel through proxies on the client side [22:51:03.0000] <Hixie> and would in fact not seem to solve any of the purported problems with the current proposal [22:51:04.0000] <mcarter> oh but it would. just make sure you send the CONNECT for the proxy [22:51:05.0000] <Hixie> sure, but we can do CONNECT regardless of what else we do [22:52:00.0000] <othermaciej> and it would solve the URI addressing, lack of cookies, and unable-to-use-web-security-model issues [22:52:01.0000] <mcarter> I'm not clear what the purported problems are with the current proposal. I saw at least one problem, like the dns rebinding attack, and this solves it [22:52:02.0000] <mcarter> Hixie, so CONNECT should happen in any case, and its not really an issue in the non/http discussion [22:53:00.0000] <Hixie> right [22:53:01.0000] <Hixie> it wouldn't solve the uri addressing really [22:53:02.0000] <Hixie> unless we invent a new uri scheme [22:53:03.0000] <mcarter> I'm not sure I follow [22:53:04.0000] <Hixie> ok let me rephrase taht [22:53:05.0000] <Hixie> it isn't necessary to solve the uri addressing issue, or the cookie issue, etc [22:54:00.0000] <othermaciej> /me waits for Hixie to expand on that [22:55:00.0000] <Hixie> we can add Host:, Cookie:, etc, to any protocol [22:55:01.0000] <Hixie> doesn't have to look like http [22:55:02.0000] <mcarter> while they aren't absolutely critical issues to have full duplex communication, i think you can spend a little and get a lot by having the client provide the extra information, and format it like http. [22:55:03.0000] <Hixie> i'm all for having that information [22:55:04.0000] <Hixie> i'm just saying that has nothing to do with it being http or not [22:55:05.0000] <Hixie> or http-like, rather [22:55:06.0000] <mcarter> ok [22:56:00.0000] <othermaciej> cookie depends on a host-port-scheme origin though [22:56:01.0000] <mcarter> I think it would be good to look like http because then http parsing libraries would, out of the box, be able to parse it and extract that information. Furthermore, load balancers and authentication reverse proxies could be used AS IS [22:56:02.0000] <othermaciej> so to share cookies with a web server you have to be on the same scheme and port [22:56:03.0000] <mcarter> Hixie, furthermore, you avoid the HTTPS virtual hosting issue that was solved with TLS [22:57:00.0000] <mcarter> Hixie, I'm not sure what the downside of making it look like http is [22:57:01.0000] <othermaciej> I agree you can add Host:, URI-based addressing, and a version of Cookie: that is separate from http cookies to any protocol [22:57:02.0000] <othermaciej> at some level of http-like feature additions it starts to look a lot like http though [22:57:03.0000] <Hixie> othermaciej: yes, the cookies wouldn't get shared if you connected to another server (another port) [22:58:00.0000] <Hixie> othermaciej: but how am i gonna get apache to give me the socket anyway? [22:58:01.0000] <Hixie> mcarter: the only downside is that it's a lie and the httpwg will come and stone us [22:59:00.0000] <mcarter> Hixie, I am suggesting that we make it VERY clear that we aren't HTTP, rather a subset used for TCP handshakes [22:59:01.0000] <othermaciej> Hixie: with a custom method or similar mechanism one could presumably make an apache module (which is why I think making one would be an interesting proof-of-concept excercise) [22:59:02.0000] <mcarter> Hixie, they can't be seriously upset if another protocol borrows some formatting from http [22:59:03.0000] <Hixie> mcarter: hahaha [22:59:04.0000] <Hixie> mcarter: i see you haven't spent much time working with standards committees [23:00:00.0000] <Hixie> othermaciej: making an apache module is more than 10 lines of perl [23:00:01.0000] <Hixie> othermaciej: though i agree that in this case it would be ok [23:00:02.0000] <othermaciej> Hixie: sure, but if you don't want to share the port the apache server has bound, you would not need the module [23:00:03.0000] <Hixie> othermaciej: as it would allow it for the big players or people using server extensions [23:00:04.0000] <Hixie> othermaciej: right [23:00:05.0000] <othermaciej> if the http subset for the handhsake is simple enough [23:00:06.0000] <Hixie> othermaciej: yeah that makes sense [23:00:07.0000] <Hixie> i'm ok with that [23:02:00.0000] <mcarter> Hixie, couldn't we call this TCP over HTTP? The server isn't required to go support all of http, though its welcome to [23:02:01.0000] <Hixie> mcarter: optional features are bad for interop [23:02:02.0000] <mcarter> Hixie, as far as I can tell, this is almost the EXACT use case for which they added the upgrade header [23:02:03.0000] <othermaciej> mcarter: I think it would be well advised to define what a server should do when it only supports the handshake subset of TCP [23:03:00.0000] <othermaciej> er [23:03:01.0000] <othermaciej> handshake subset of HTTP [23:03:02.0000] <Hixie> mcarter: i agree that this is why upgrade exists [23:03:03.0000] <Hixie> mcarter: but since we can't guarentee that people will test for it [23:03:04.0000] <Hixie> mcarter: it doesn't really help us [23:03:05.0000] <othermaciej> such as return a 501 error for any other request [23:03:06.0000] <Hixie> we can't define what a "server should do" [23:04:00.0000] <Hixie> when the server is written by random authors [23:04:01.0000] <Hixie> it's akin to defining how you should use a dom api [23:04:02.0000] <mcarter> Hixie, if someone writes a non-compliant http server that likes to always assume a connection is going to be upgraded, then how is that our problem, OR httpwg's problem? [23:04:03.0000] <mcarter> Hixie, the same argument can be made against doing TLS with the upgrade header. Server implementors might just go an upgrade on their own without testing for it. [23:04:04.0000] <Hixie> mcarter: sure [23:04:05.0000] <Hixie> mcarter: i [23:04:06.0000] <Hixie> er [23:05:00.0000] <othermaciej> I think Hixie assumes writing this kind of server from scratch will be more common than writing full-fledged http servers [23:05:01.0000] <Hixie> mcarter: i'm just saying it doesn't matter that upgrade exists :-) [23:05:02.0000] <othermaciej> although there are quite a few http server implementations out there [23:05:03.0000] <othermaciej> and usually their level of non-compliance is within tolerable limits for UAs [23:06:00.0000] <othermaciej> (I wonder if there is a protocol-level HTTP Validator tool available) [23:06:01.0000] <Hixie> let's just say http isn't how it would have been if i'd been writing the spec either :-) [23:08:00.0000] <mcarter> Hixie, I'm still missing some of the logic. That is, the TLS spec went and used the upgrade header, even though server implementors of TLS might not have actually enforced that header and instead treated all requests like they were part of a TLS handshake. Now we're saying, lets follow suit and do exactly that with our tcp protocol. Which part of this will make the httpwg mad? [23:09:00.0000] <Hixie> the part where you can connect to something that isn't an http server, send it something that looks exactly like an http response, and be compliant, despite the fact that the server doesn't know the first thing about http [23:09:01.0000] <Hixie> i should clarify [23:09:02.0000] <Hixie> that annoying the httpwg isn't necessarily a blocking problem [23:09:03.0000] <Hixie> especially if there are compelling reasons to go this route, as there appear to be [23:11:00.0000] <jacobolus> Hixie: I think you should go rewrite the HTTP spec, and get rid of all the confusing shit in it ;) [23:11:01.0000] <Hixie> http5 is gsnedders' baby [23:11:02.0000] <othermaciej> I am amazed at how technically obscure the http spec is, while at the same time being incredibly unclear on the most basic things [23:12:00.0000] <jacobolus> mcarter has learned to love the http spec these last several months, right? [23:12:01.0000] <jacobolus> he's been having fun writing things like proxies :) [23:12:02.0000] <mcarter> Hixie, ok. in terms of explaining it in way that won't make anyone mad is this: HTTP Servers can also be HTTP/TCP servers if they support Upgrade: tcp. Similarly, anyone who wants to can go write an http or http/tcp server even if it isn't fully compliant (which http server is FULLY compliant anyway?) [23:13:00.0000] <Hixie> othermaciej: like svg? :-D [23:13:01.0000] <mcarter> at any rate, like I said before, I'll draw some documents up that outline some of this stuff [23:13:02.0000] <Hixie> that'd be great [23:13:03.0000] <Hixie> i think we've made major progress here [23:13:04.0000] <mcarter> I sent an api change proposal in for TCPConnnection today, whenever you see it [23:13:05.0000] <mcarter> it just suggests adding a connect() method, and an extra readyState [23:13:06.0000] <jacobolus> yep. and then just make sure that HTTP/TCP is as minimal as possible. :) [23:14:00.0000] <othermaciej> mcarter: I don't like explicit connect [23:14:01.0000] <jacobolus> so that the 10-lines-of-perl constituency stays happy :) [23:15:00.0000] <mcarter> othermaciej, the api change is mostly for the reason of re-using the TCPConnection objects much like we re-use XHR connections [23:15:01.0000] <othermaciej> mcarter: because, first of all, reusing a connection is more confusing than helpful [23:15:02.0000] <jacobolus> Hixie: do you have docs about your train set thing? [23:15:03.0000] <othermaciej> mcarter: and second, because it adds an additional opportunity to use the API wrong, since you can accidentally make calls before connecting [23:15:04.0000] <othermaciej> the current API does not have the possibility of making that mistake [23:16:00.0000] <mcarter> othermaciej, Also, I don't fully feel comfortable with the idea that I must possess deep understanding of javascript concurrency to know when I need to attach the callbacks [23:16:01.0000] <othermaciej> mcarter: ain't no such thing as javascript concurrency [23:16:02.0000] <mcarter> othermaciej, if i create a TCPConnection object, at what point does it *Actually* initiate the connection? when my function that created it returns? when the function that called it returns? [23:16:03.0000] <Hixie> jacobolus: i don't believe so [23:17:00.0000] <mcarter> othermaciej, indeed, but it doesn't seem wise to tie your apis to the idea that there is no concurrency in javascript [23:17:01.0000] <mcarter> othermaciej, at least not where its easy to avoid doing so [23:17:02.0000] <othermaciej> mcarter: as with XHR, you will not in fact get callbacks for network activity until the current script execution (whether <script>, event or timer initiated) finishes [23:17:03.0000] <othermaciej> (well, as with async XHR) [23:17:04.0000] <othermaciej> I don't think it is possible to safely change this rule about callbacks for network activity in any case [23:17:05.0000] <mcarter> othermaciej, so, I suppose we aren't allowing for synchronous tcp connection, ever? [23:17:06.0000] <othermaciej> but yes, programming in the browser there is an implicit "event loop" [23:18:00.0000] <othermaciej> mcarter: no way [23:18:01.0000] <Hixie> good lord no [23:18:02.0000] <othermaciej> or at least, over my dead body [23:18:03.0000] <Hixie> no synchronous anything over the network [23:18:04.0000] <jacobolus> yes, that sounds like a bad idea [23:18:05.0000] <Hixie> i don't know if i'd defend against that with my life, per se [23:18:06.0000] <Hixie> but still [23:18:07.0000] <mcarter> I certainly wouldn't want such a thing, but aren't there being arrangements made for threading in some future javascript? [23:19:00.0000] <othermaciej> mcarter: even with threads, I am not sure synchronous networking is particularly valuable [23:19:01.0000] <mcarter> othermaciej, I certainly don't want to argue that point [23:19:02.0000] <othermaciej> for exaple, Gears has its workers and they are adding async networking only, I believe (their HTTPRequest thing) [23:21:00.0000] <jacobolus> mcarter: is there any other particular reason to not connect immediately? [23:21:01.0000] <jacobolus> mcarter: why does someone need to add a bunch of callbacks at indeterminate times, then sometime way later actually connect? [23:21:02.0000] <mcarter> besides re-use of the connection object, as a programmer it just seems strange to me to have something where the constructor hits the network. particularly in the context of this javascript event loop -- I can see someone making a mistake about when they should attach the callback [23:22:00.0000] <othermaciej> mcarter: you can't reuse a socket [23:22:01.0000] <othermaciej> or a file descriptor [23:22:02.0000] <othermaciej> or a C stdio FILE* [23:22:03.0000] <othermaciej> or a perl file handle [23:22:04.0000] <mcarter> i get your point [23:22:05.0000] <mcarter> if anything thats an argument against re-using the XHR request object, imo [23:23:00.0000] <Hixie> xhr is badly designed [23:23:01.0000] <othermaciej> yes, but we have to support that for legacy compatibility [23:23:02.0000] <othermaciej> XHR is not what I would have designed [23:23:03.0000] <Hixie> basically anything i didn't invent is badly designed, it's really very simple [23:23:04.0000] <Hixie> /me ducks [23:23:05.0000] <mcarter> haha! [23:23:06.0000] <othermaciej> plus anything you did invent [23:24:00.0000] <othermaciej> but some things are more badly designed than others [23:25:00.0000] <mcarter> Hixie, how did this happen, exactly? [23:25:01.0000] <jacobolus> Hixie: you need to speed up your pace of invention then [23:26:00.0000] <Hixie> mcarter: which? [23:26:01.0000] <mcarter> Hixie, i mean, you seem to be in a position of some power over the browsers. I mean, i see the IE8 team emailing you about postMessage and such [23:26:02.0000] <mcarter> it seems so unprecedented [23:26:03.0000] <mcarter> (I think its great... a vast improvement) [23:28:00.0000] <Hixie> mcarter: i've only got as much power as they give me [23:28:01.0000] <Hixie> mcarter: my secret is giving them mostly what they want [23:28:02.0000] <Hixie> oh and doing a lot of work [23:28:03.0000] <mcarter> Is this your day job? [23:28:04.0000] <Hixie> people tend to defer to whoever is actually doing the work [23:29:00.0000] <Hixie> it's easier than doing it themselves [23:29:01.0000] <Hixie> mcarter: yes, google pays me to edit html5 full time [23:29:02.0000] <othermaciej> html5 has turned out to be an area where doing things through standards is less painful than just inventing proprietary features [23:30:00.0000] <othermaciej> this is not always the case with web standards [23:30:01.0000] <Hixie> yeah [23:30:02.0000] <Hixie> css being the prime example these days [23:30:03.0000] <othermaciej> I predict everything hyatt announced css-wise for the past 6 months will still be in committee 5 years from now [23:31:00.0000] <Hixie> unless someone writes a spec yes [23:31:01.0000] <othermaciej> I gotta head home [23:31:02.0000] <othermaciej> later folks [23:31:03.0000] <mcarter> whats the timeframe with html5? will it continue to be continuously updated? [23:31:04.0000] <Hixie> later [23:31:05.0000] <Hixie> mcarter: http://www.whatwg.org/specs/web-apps/current-work/TIMETABLE [23:32:00.0000] <mcarter> oh wow [23:32:01.0000] <mcarter> thats a long time line [23:33:00.0000] <jacobolus> Hixie: so will there be something beyond html5 by halfway through that process? [23:33:01.0000] <Hixie> maybe [23:33:02.0000] <Hixie> i don't expect to do html6 [23:33:03.0000] <Hixie> i mostly started working on html5 because at the time, html was the spec in most dire need of work [23:33:04.0000] <jacobolus> right [23:34:00.0000] <jacobolus> so do you think all of the recent webkit css changes will actually be picked up by other browsers? [23:34:01.0000] <jacobolus> or will they remain limited to dashboard widgets, etc. [23:34:02.0000] <roc> some of them I want to implement in Gecko [23:34:03.0000] <roc> others I don't [23:34:04.0000] <jacobolus> Hixie: what is in next-most-dire need? [23:35:00.0000] <Hixie> jacobolus: probably DOM Core, CSS, and HTTP. And SVG. [23:35:01.0000] <roc> fortunately the ones I want are the ones Apple is producing draft specs for [23:35:02.0000] <jacobolus> svg isn't a lost cause? :p [23:35:03.0000] <Hixie> css would be tough to fix because it has a large political quagmire around it [23:35:04.0000] <Hixie> svg too [23:36:00.0000] <Hixie> http could probably be fixed by ignoring the httpwg without too much fallout [23:36:01.0000] <jacobolus> how would anyone possibly fix http? [23:36:02.0000] <jacobolus> what could be done? [23:36:03.0000] <Hixie> dom core would be the easiest to fix [23:36:04.0000] <jacobolus> yes [23:36:05.0000] <Hixie> well, by "fix" i mean "write a real spec" [23:36:06.0000] <Hixie> that defines error handling, actual behaviour, etc [23:36:07.0000] <jacobolus> what's broken about DOM core now? [23:36:08.0000] <Hixie> and strips all the crap [23:36:09.0000] <Hixie> jacobolus: the DOM Core spec is far too vague [23:36:10.0000] <Hixie> in fact, all the DOM specs are too vague [23:37:00.0000] <jacobolus> are the implementations vastly inconsistent then? [23:37:01.0000] <jacobolus> while still meeting the spec? [23:40:00.0000] <roc> a lot of HTTP implementations are just plain broken [23:40:01.0000] <roc> especially proxies [23:40:02.0000] <roc> not much anyone can do about that [23:41:00.0000] <Hixie> jacobolus: not especially more than html4 implementations were, but a vague spec means it's hard to write a new browser [23:41:01.0000] <Hixie> and we need it to be possible to write new UAs so that we can have competition [23:41:02.0000] <jacobolus> roc: yes, I was talking about DOM. I know http is nasty :) [00:18:00.0000] <gsnedders> /me cradles his baby [00:18:01.0000] <gsnedders> (seeming Hixie called it my baby) [01:01:00.0000] <roc> Ian, please lean on the GMail team to implement HTML5 link handler stuff [01:01:01.0000] <roc> for mailto: [01:02:00.0000] <roc> I really need it! [01:02:01.0000] <gsnedders> /me wants mid: support in Mail.app [01:03:00.0000] <Hixie> roc: i expect they'll do it shortly after ff3 sips [01:03:01.0000] <Hixie> ships [01:03:02.0000] <roc> Yahoo's already done it :-( [01:04:00.0000] <roc> FF3 has UI to select the handler and Yahoo's on it and Gmail isn't [01:09:00.0000] <Hixie> we don't, as a rule, pay much attention to what the competition does, or at least, we don't let it dictate policy :-) [01:10:00.0000] <gsnedders> Peh! You should! :P [01:10:01.0000] <gsnedders> Actually, I don't eat my own dogfood. I don't really pay attention to the httpbis wg [01:42:00.0000] <annevk> I found http://www.htmlfive.net/ which just seems to be a rip of the WHATWG blog with the intention to make money out of it [01:43:00.0000] <annevk> I found it through: http://www.whathuhstudios.com/press/2008/04/24/html5/ [01:43:01.0000] <Hixie> terrible [01:43:02.0000] <annevk> I have the feeling you're being sarcastig :) [01:44:00.0000] <Lachy> well, they've violated the copyright license [01:44:01.0000] <Lachy> there's no mention of the MIT license anywhere and no attribution [01:45:00.0000] <annevk> attribution is not required [01:46:00.0000] <Lachy> actually, yes it is. At least in Australia it is because attribution is considered a basic moral right [01:46:01.0000] <Hixie> our goal with the whatwg blog is to get more people to know about stuff right? [01:47:00.0000] <Lachy> unless otherwise stated by the creator, attribution is always required otherwise it's plagiarism [01:47:01.0000] <annevk> Yeah, guess I was just upset it wasn't a genuine fansite :) [01:47:02.0000] <Hixie> oh there's no doubt that this is immoral [01:47:03.0000] <Hixie> but i recommend not worrying about it [01:48:00.0000] <Lachy> I don't have a problem with them syndicating the posts. That's why we put a free license on it. [01:48:01.0000] <Hixie> yeah but just copying them with no attribution or anything is just nasty [01:49:00.0000] <Lachy> I will see if I can find contact information and ask them to give attribution [01:53:00.0000] <Hixie> ask them to buy us video games with some of the money they make, too [01:55:00.0000] <Lachy> I can't seem to find contact info. Though, there is only one site listed in the blog roll, I'm not certain that he's the owner of the site. [01:55:01.0000] <Lachy> WHOIS info for the domain only shows dreamhost contact info. [01:59:00.0000] <Lachy> wow, that's a useless contact form! http://blog.nprignano.com/contact/message Not even a text box :-( [01:59:01.0000] <hsivonen> it seems to me that the foremost practical concern is getting Google and Technorati consider it a splog [01:59:02.0000] <hsivonen> perhaps they both already do, because it isn't showing up on my vanity feeds [02:00:00.0000] <Lachy> hsivonen, the domain was only just registered 2 days ago [02:00:01.0000] <Lachy> so it will take a few weeks before it shows up in google [02:00:02.0000] <hsivonen> annevk: what's the chance of getting an XML5 tokenizer spec as a delta spec over the HTML5 tokenization spec? [02:01:00.0000] <othermaciej> delta specs suck [02:01:01.0000] <hsivonen> othermaciej: they do, but it seems to me that XML5 and HTML5 will share so much tokenization code that I don't want to write another tokenizer from scratch [02:02:00.0000] <othermaciej> hsivonen: well I don't know what to expect from XML5 so I can't predict if that will be sensible [02:03:00.0000] <othermaciej> would it, for example, accept unquoted attribute values? [02:05:00.0000] <hsivonen> othermaciej: it seems to me that ideally, the only new states would be for the internal subset and PIs [02:05:01.0000] <hsivonen> and otherwise the delta would be where errors fire [02:06:00.0000] <hsivonen> of course, ideally ideally, the internal subset would be swallowed by a black hole [02:06:01.0000] <othermaciej> well <foo/> would have to do something different, as well [02:06:02.0000] <othermaciej> and it has to recognize <![CDATA[ [02:07:00.0000] <hsivonen> othermaciej: but we already have those in the HTML5 tokenizer now [02:07:01.0000] <jwalden> /me finishes rewriting postMessage for the third time [02:07:02.0000] <jwalden> "rewriting", that is [02:08:00.0000] <jwalden> bloody spec changes :-) [02:08:01.0000] <othermaciej> interesting [02:09:00.0000] <othermaciej> I still hate delta specs though [02:09:01.0000] <othermaciej> yeah we have to fix WebKit's postMessage now [02:09:02.0000] <hsivonen> othermaciej: well if you can get Hixie to integrate XML5 tokenization into the HTML5 tokenizer spec... [02:10:00.0000] <jwalden> actually, fixing the implementation's comparatively easy, it's all those stupid tests I've written that are taking the lion's share of the time to change [02:10:01.0000] <jwalden> and all the tests others have written that use postMessage since it was introduced [02:10:02.0000] <jwalden> ;-) [02:10:03.0000] <jwalden> /me makes note never to write tests ever again [02:11:00.0000] <jwalden> all they cause is more work [02:11:01.0000] <Hixie> :-/ [02:11:02.0000] <jwalden> I kid, I kid! [02:11:03.0000] <jwalden> /me channels the Dread Pirate Roberts [02:12:00.0000] <othermaciej> never go in against a Swissilian when specs are on the line [02:12:01.0000] <jwalden> haha, haha, ha- [02:15:00.0000] <hsivonen> Hixie: so far, the YSTEM and UBLIC cases have translated into states very nicely [02:15:01.0000] <hsivonen> Hixie: I expect breaking up the entity stuff into states to be a tad ugliers [02:15:02.0000] <hsivonen> uglier [02:22:00.0000] <hsivonen> I wonder if there are Java to C++ source level translators [02:29:00.0000] <hsivonen> does anyone know how IBM maintains their dual Java/C++ libraries? [02:30:00.0000] <othermaciej> 3 levels of committee review for every checkin? [02:31:00.0000] <hsivonen> othermaciej: could be :-/ [02:39:00.0000] <mpt> krijn, is your IRC logging software publicly available? [02:39:01.0000] <krijn> mpt: nope, sorry [02:40:00.0000] <krijn> mpt: I'm too ashamed about the source code :) [02:40:01.0000] <krijn> And it's not really logging software, the logging is done by mIRC [02:40:02.0000] <krijn> I only parse the logfiles with some PHP [02:40:03.0000] <krijn> Hence the shame ;) [02:40:04.0000] <mpt> ah [02:58:00.0000] <Philip`> http://blog.facebook.com/atom.php - feeds are always more fun when you stick random binary garbage in them [03:20:00.0000] <sverrej> rn [06:40:00.0000] <hsivonen> http://lists.w3.org/Archives/Public/www-validator/2008Apr/0136.html [06:46:00.0000] <hsivonen> aside: Typinator is awasome for refactoring code [06:46:01.0000] <hsivonen> awesome [08:40:00.0000] <hsivonen> aargh. I regressed &noti; [08:40:01.0000] <hsivonen> /me doesn't like &noti; [08:40:02.0000] <Lachy> Hixie, it would help if the spec had links from each section in the single-page version of the spec to same section in the multipage version. [08:41:00.0000] <Lachy> that way, when I want to give a link to someone, I don't need to send them to the full size spec, or take the time to manually find the section in the multipage version [08:48:00.0000] <Lachy> hsivonen, there is no &noti; listed in the spec. Did you mean &notin;? [08:49:00.0000] <hsivonen> Lachy: no, I meant &noti; [08:49:01.0000] <Lachy> Hixie, &not; is listed twice in the table of entities [08:49:02.0000] <hsivonen> Lachy: I've fixed it now [08:49:03.0000] <hsivonen> Lachy: &noti; is a tricky error cases [08:49:04.0000] <hsivonen> s/cases/case/ [08:50:00.0000] <Lachy> ok [08:51:00.0000] <Philip`> Do the new entities introduce any more cases where one entity is a prefix of another? [08:51:01.0000] <hsivonen> Philip`: I don't know. I'm keeping my head in sand and hoping they go away. [09:03:00.0000] <Lachy> Philip`, do you mean like &not; &notin; &notinva; &notinvb; &notinvc; &notni; etc...? [09:04:00.0000] <Lachy> looks like there are several, and I only looked in one small section of the table [09:05:00.0000] <takkaria> Lachy: &not and &not; are not the same entity [09:05:01.0000] <takkaria> well, they are, but the duplication is intentional [09:05:02.0000] <Lachy> really? [09:05:03.0000] <takkaria> Lachy: http://www.whatwg.org/specs/web-apps/current-work/multipage/section-tokenisation.html , the "anything else" section at the end [09:05:04.0000] <takkaria> yeah [09:05:05.0000] <Lachy> oh, crap. maybe it would help if I actually read the spec one day [09:08:00.0000] <Lachy> takkaria, which "anything else" section are you referring to? [09:12:00.0000] <takkaria> Lachy: very end of that page [09:15:00.0000] <Lachy> ok. I think the duplication is annoying. Surely there's a way to write the spec such that you don't need to have the same entity listed twice with and without the semi-colon [09:15:01.0000] <takkaria> there would be if every entity was allowed to leave out the semicolon [09:16:00.0000] <takkaria> but afaik, that's not the case [09:17:00.0000] <Lachy> couldn't we add a 3rd column to the table that indicated whether or not a semi-colon was required [09:17:01.0000] <Lachy> for the purpose of parsing [09:17:02.0000] <Lachy> not for conformance [09:18:00.0000] <takkaria> I'm not in favour of that because it makes it harder to build a list of entities for implementations [09:19:00.0000] <takkaria> automatically, that is [09:19:01.0000] <Philip`> /me agrees with takkaria [09:19:02.0000] <Philip`> It's nice and easy to just use a regexp to convert the table into a list of entity strings, and it'd need an extra line of code if the semicolonity was a separate column [09:20:00.0000] <takkaria> oh, you use a regex? I use xslt. :) [09:20:01.0000] <Philip`> Yuck :-p [09:21:00.0000] <takkaria> only 11 lines of it, mind [09:22:00.0000] <Philip`> I'm guessing mine was only a single line, because I can't see that I saved the code in a file anywhere [09:24:00.0000] <Lachy> ok, fine. I'll put a table targetted at authors in the HTML5 author guide which lists them only once [09:25:00.0000] <Philip`> A table for authors should show what the character looks like, too [09:25:01.0000] <Lachy> yep, it will list everthing about the character [09:25:02.0000] <Philip`> /me wonders if the characters could be categorised into usefulness, rather than having the standard unreadable big list [09:26:00.0000] <Lachy> code point, character name, link to further info about the character, numeric (hex and decimal) character refs, etc. [09:27:00.0000] <Lachy> they were grouped into categories in HTML4 [09:27:01.0000] <Philip`> Might be nice to not scare authors by having a really wide table, too :-) [09:28:00.0000] <takkaria> Lachy: how about including the character the entity represents too? [09:28:01.0000] <Lachy> I could make it interactive and let authors show and hide columns they want to see [09:29:00.0000] <Lachy> takkaria, yeah, Philip` already mentioned that [09:29:01.0000] <takkaria> oh, I missed that. :) [09:29:02.0000] <Lachy> see, I'm not the only one who doesn't read around here :-P [09:34:00.0000] <takkaria> I only remember that because it was around the time I got interested in html5 parsing and it was the only bit of the conversation I understood [09:45:00.0000] <hsivonen> Lachy: the entity table is fine as is [09:46:00.0000] <hsivonen> that is, with duplication [09:46:01.0000] <hsivonen> Lachy: making the table neater in spec would only cause more opportunity for implementation error [09:47:00.0000] <Lachy> hsivonen, Philip` and takkaria already told me that. [09:54:00.0000] <takkaria> there seems to be a "no-one is reading what anyone else has said" bug going round today [09:54:01.0000] <takkaria> let's just hope Hixie doesn't get it [09:56:00.0000] <Philip`> Hey, has anyone noticed the entity table lists "not" twice? [12:34:00.0000] <mcarter> You know, if a TCPConnection constructor causes a network access, then prototype-based subclassing becomes impossible [14:38:00.0000] <Philip`> /me discovers that http://www.aaronsw.com/2002/diff/ quite badly fails to work [14:39:00.0000] <Philip`> since it totally ignores element nesting, and just sticks <ins> and </ins> at pretty much arbitrary points in the document, which makes browsers cry [14:40:00.0000] <Philip`> but http://htmlwg.mn.aptest.com/viewcvs/viewcvs.cgi/htmldiff/ actually works properly (and it doesn't make XHTML become ill-formed), which is nice, though the code's use of regexps for parsing looks a little dodgy [14:41:00.0000] <Dashiva> Is there a "proper" way to <ins> the transition Apple <em>pie</em> -> Apple banana <em>pan pie</em>? [14:43:00.0000] <Philip`> Is anything wrong with Apple <ins>banana </ins><em><ins>pan </ins>pie</em>? [14:43:01.0000] <Philip`> You lose the information that both insertions were simultaneous, but I'm not sure what you'd want that information for [14:44:00.0000] <Dashiva> There's also Apple <ins>banana <em>pan </em></ins><em>pie</em> [14:46:00.0000] <Philip`> That's bad because you can't recover the new piece of markup (Apple banana <em>etc) from the annotated-with-ins markup [14:47:00.0000] <Philip`> You should be able to strip the <del> tags and delete the <ins> content to recover the first diffed document, and vice versa to recover the second [14:48:00.0000] <Philip`> (or at least I'm asserting that you ought to be able to, because that seems like a useful property) [14:48:01.0000] <Lachy> if you need to know the inserts were simultaneous for some reason, use <ins datetime="..."> [14:49:00.0000] <Philip`> Hixie: Has anyone already told you that http://www.whatwg.org/specs/web-apps/current-work/#attributes says "The cite DOM attribute must reflect the element's >cite content attribute." with a stray ">"? [14:50:00.0000] <Philip`> Lachy: That doesn't really tell you they're simultaneous, since it can only have a precision of one second, and it's quite plausible that a heavily-edited document (e.g. the concatenation of all pages on Wikipedia) can have multiple edits per second [14:50:01.0000] <Hixie> oh crap [14:50:02.0000] <Hixie> did i break that recently [14:50:03.0000] <Hixie> sigh [14:52:00.0000] <Lachy> Hey Hixie, if you didn't read the earlier discussion in here about the entity table, just ignore my email about it. It was due to my failure to read the spec properly [14:52:01.0000] <Hixie> already ignored :-D [14:52:02.0000] <Lachy> :-) [14:54:00.0000] <gsnedders> silly Lachy. Can't even read a specification how it says to be read :P [14:57:00.0000] <Philip`> To be fair, if you didn't know how to read the specification then you wouldn't be able to read the part of the specification that says how to read it, so you can be excused [14:57:01.0000] <gsnedders> Hixie: Can you fix that issue? [14:57:02.0000] <gsnedders> (Within the spec, obviously) [14:58:00.0000] <Lachy> gsnedders, if people actually read the spec and knew what they were talking about all the time, joining in on bikeshed discussions wouldn't be nearly as fun! [14:58:01.0000] <Dashiva> gsnedders: We'll fix it the same way we fix content-type detection, maybe? [14:58:02.0000] <gsnedders> Lachy: My. bikeshed. is. green. and. counts. in. micro-seconds. [15:00:00.0000] <Lachy> LOL [15:00:01.0000] <jwalden> /me grumbles about midairs [15:01:00.0000] <gsnedders> (see, I know what the thread that made bikeshedding famous was about :P) [15:02:00.0000] <Dashiva> gsnedders: Mine doesn't count, it integrates [15:08:00.0000] <Lachy> so regarding that datetime discussion, since they've still failed to describe valid use cases for BCE or Y10K+ dates in markup, it seems the only possibly valid argument for it is to allow DOMDateTime objects and datetime attributes able to express the same range of values [15:18:00.0000] <Dashiva> Lachy: I'm wondering how they plan to get accurate dates, much less times, for anything that old [15:20:00.0000] <Hixie> anything before the gregorian calendar starts is a non-starter anyway [15:21:00.0000] <Lachy> Dashiva, all of history is recorded in google calendar. :-) [15:23:00.0000] <Lachy> the universe was created in 1970. Anything before then is an epoch fail. [15:29:00.0000] <Philip`> In Y10K we'll all live in space and time won't have a fixed meaning any more, so we'll have already solved all the time problems [15:41:00.0000] <Dashiva> Imagine all the awesome compatability layers we'll get for supporting earth-based dates and times [15:46:00.0000] <Lachy> Maybe we'll just have clocks that compensate for time dialation and maintain earth-time, no matter where we are or how fast we're going. [15:51:00.0000] <Philip`> If you get put in a spaceship in suspended animation, and it's sent at 0.9c to a star a couple of light years away, what time would you say it was when you arrived? [15:54:00.0000] <Hixie> Philip`: "12:00" [15:54:01.0000] <Lachy> Philip`, the question is flawed because you didn't give a start time [15:54:02.0000] <Hixie> (blinking) [15:55:00.0000] <Philip`> Lachy: It's flawed for far more reasons than that :-p [15:56:00.0000] <Philip`> but there are still lots of factors in it that all affect the perception of time, and people probably want to be able to perceive time kind of like how they do now [15:56:01.0000] <Lachy> it also depends if I was taken out of suspended animation when I arrived [15:57:00.0000] <Philip`> It's not very good if their clocks compensate for time dilation so that the space travellers put some food in the oven for 30 seconds and find that it explodes because their clock had automatically slowed down by a factor of ten [15:59:00.0000] <Philip`> Uh [15:59:01.0000] <Philip`> s/oven/microwave/ [15:59:02.0000] <Lachy> some clocks will be relative to the users time frame, others will be relative to earth's [16:01:00.0000] <Lachy> and it will be just aweful if someone set their video timer to record, but forgot to set it by the earth clock. [16:01:01.0000] <Philip`> If the user is suspendedly animated for a year, should their clock stop for that time? [16:02:00.0000] <Philip`> Lachy: That's not going to be a real problem - the broadcasters can just archive all their material, and provide anything on-demand whenever you want it [16:02:01.0000] <Hixie> dude i have to reset my clock after just a few hours of air travel [16:03:00.0000] <Lachy> The person will remain physically the same age, though time will continue to pass around them [16:03:01.0000] <Lachy> so it depends if their clock is in the suspended animation chamber with them [16:04:00.0000] <Philip`> (The only problem is DRM - if it's like the BBC iPlayer where you're only allowed to watch stuff from the past 7 days, that'll be a pain when "7 days" becomes highly relative) [16:04:01.0000] <Hixie> the only really "new" think will be that timezones will differ in relative rate of time as well as offsets [16:04:02.0000] <Hixie> no biggie [16:07:00.0000] <Philip`> I already have enough problems trying to synchronise cron jobs on two machines in different continents, even before worrying about DST, so I'd prefer a better solution for the future [16:08:00.0000] <Hixie> just use UTC [16:08:01.0000] <Hixie> timezones are purely a ui thing [16:08:02.0000] <Hixie> or should be purely a ui thing [16:08:03.0000] <Philip`> Can I make cron use UTC? [16:09:00.0000] <Lachy> Many satellites already compensate for relativistic effects. [16:09:01.0000] <Lachy> Philip`, why can't you juse sent the computer clocks to UTC? [16:09:02.0000] <Lachy> *just [16:09:03.0000] <roc> GPS compensates for relativistic effects [16:10:00.0000] <Philip`> (preferably only for some of the jobs - I want certain things to always happen after I've gone to bed, which is in sync with the local timezone) [16:11:00.0000] <Hixie> when i go to bed really isn't in sync with anything [16:11:01.0000] <Hixie> about the only hour i can guarentee i'm not up 90% of the time is 6:30am - 7:30am local time [16:11:02.0000] <Hixie> and even that is relatively new [16:12:00.0000] <Hixie> showModalDialog() [16:12:01.0000] <gsnedders> The only hour of day when I have never searched Google is 3–4am local time. [16:12:02.0000] <Hixie> any opinions? [16:12:03.0000] <gsnedders> That's a decent indication of when I'm awake. [16:12:04.0000] <Hixie> i'm awake 3am-4am most nights [16:12:05.0000] <Philip`> Lachy: The hardware clocks are set to UTC, but my cron seems to use the system-wide timezone settings (probably so it can schedule things for 3:10am and it won't interrupt any in the middle of their day) [16:12:06.0000] <gsnedders> /me notes his sleeping pills are obviously having less affect on him now, as he took one an hour ago [16:12:07.0000] <Lachy> Hixie, I haven't read the spec for showModalDialog(). [16:12:08.0000] <Philip`> s/any/anyone/ [16:12:09.0000] <Lachy> I'm sure I have lots of opinions on it though [16:13:00.0000] <Hixie> there's a spec for it? [16:13:01.0000] <Lachy> s/spec/documentation/ [16:13:02.0000] <Hixie> that's a kind word [16:14:00.0000] <Hixie> holy crap this is an annoying feature [16:14:01.0000] <Hixie> how has it not been abused for ads yet [16:14:02.0000] <Hixie> it blocks all the other tabs! [16:14:03.0000] <Lachy> fine then. s/documentation/breif summary of what it's supposed to do and how it's supposed to be used/ [16:14:04.0000] <Philip`> gsnedders: Hmm, my lowest is 7am (2 searches) and 6am (3 searches), and highest is 10pm (1610 searches) [16:15:00.0000] <gsnedders> Philip`: Over what time period? [16:15:01.0000] <Philip`> gsnedders: All time [16:16:00.0000] <gsnedders> Actually, I tell a lie. Over all time I've made three searches at 3am. [16:16:01.0000] <gsnedders> That is the lowest, though. [16:16:02.0000] <Philip`> Don't ask me what "all time" means [16:16:03.0000] <gsnedders> 6pm is highest at 2007. [16:16:04.0000] <Hixie> my lowest is 5am and 6am, 41 searches each [16:16:05.0000] <gsnedders> Over the quantifiable "last year", I've made no searches 4–6am, about 993 searches at 6pm (the most) [16:16:06.0000] <Philip`> (although if you did ask me, I'd estimate it's about 1.5 years, given the numbers) [16:16:07.0000] <Hixie> and highest is 4pm, 1895 searches [16:17:00.0000] <gsnedders> Saturday has the most searches, and Friday the least [16:17:01.0000] <gsnedders> Feb the most, Jun the least. [16:17:02.0000] <gsnedders> (which is odd seeming it wasn't June when I was away over the summer) [16:18:00.0000] <Philip`> It would be nice if Google Web History wasn't quite so buggy in Opera [16:18:01.0000] <Lachy> where are you all getting stats on how many searches you do? [16:18:02.0000] <gsnedders> Hixie: "live dom viewer" is the fourth most common search for me :) [16:18:03.0000] <gsnedders> Lachy: http://www.google.com/history/ [16:19:00.0000] <Philip`> Lachy: There's an SQL injection vulnerability in google.com so you can just query their whole database directly [16:19:01.0000] <Hixie> Lachy: http://www.google.com/history/trends?hl=en [16:19:02.0000] <gsnedders> /me prefers Philip`'s explanation, though [16:20:00.0000] <Lachy> I get no results because I'd never enabled that before now [16:21:00.0000] <gsnedders> /me doesn't use bookmarks. [16:21:01.0000] <gsnedders> /me uses Google. [16:21:02.0000] <Philip`> My bookmark folders are write-only [16:22:00.0000] <gsnedders> actually, I use Saf's bookmark bar [16:22:01.0000] <gsnedders> But that's it. [16:22:02.0000] <Hixie> my bookmarks are http://☺.damowmow.com/ [16:22:03.0000] <gsnedders> Eight items there, and that's it. [16:22:04.0000] <Philip`> I'm pretty sure I've bookmarked lots of useful things, but I never bother looking at them again [16:22:05.0000] <Hixie> because i use too many browsers to maintain a set offline [16:22:06.0000] <Lachy> I have a bookmarks folder filled with links to things like specs and other types of documentation and utilities. But mostly I just start typing the URI into the address bar and select from the list [16:23:00.0000] <Lachy> history search is awesome [16:23:01.0000] <jwalden> html5 is third on my list since depending on browser history it's the easiest way to get the spec :-) [16:23:02.0000] <jwalden> rfc 2616 is fifth [16:23:03.0000] <gsnedders> Lachy: agreed. That and Google is all I need :P [16:23:04.0000] <gsnedders> Hixie: Hey! My blog isn't on your blogroll! :P [16:24:00.0000] <jwalden> a search URL on Google that redirects probably infinitely which I haven't gotten around to reporting to Google is the top result, because I've not removed it from the saved set of tabs every time I open Firefox [16:24:01.0000] <Philip`> (Is it intentional that blogroll sounds like bogroll?) [16:25:00.0000] <Philip`> (I don't know if that's just a British term or something) [16:25:01.0000] <Hixie> jwalden: uri? [16:25:02.0000] <jwalden> sec [16:25:03.0000] <Lachy> for rfcs, I have have a special keyword set up so I just type "rfc ####" and it takes me to it [16:25:04.0000] <jwalden> /me has to ssh into a machine with the sessionstore.js file [16:25:05.0000] <gsnedders> /me just uses spotlight and has all the RFCs stored locally [16:27:00.0000] <Lachy> hixie, do you have a key for ☺ on your keyboard? [16:27:01.0000] <Hixie> Lachy: no [16:28:00.0000] <Lachy> ok. cause that's basically the only URI in my history that I can't get by typing the first few letters [16:28:01.0000] <Hixie> it's my home page [16:28:02.0000] <Hixie> you can also get to it by going to damowmow.com/portal and clicking the link at the top [16:28:03.0000] <Lachy> I normally just type http://damowmow.com/portal/ instead [16:29:00.0000] <jwalden> Hixie: so a mispaste suggests that the original URL I was hitting is part of a class of such URLs; <http://www.google.com/url?sa=t> seems to be a minimal testcase for me [16:29:01.0000] <jwalden> Hixie: original URL was <http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwiki.mozilla.org%2FJavaScript%3ASpiderMonkey%3ACoding_Style&ei=jf9kR6C_EZKcerz80Us&usg=AFQjCNHvvFthlkDqpEGRurEs1FdnfpHWrw&sig2=vZBmzjP3UMGLgIr75kh4vQ> [16:29:02.0000] <Philip`> Lachy: Opera 9.5 makes "xn" autocomplete to the smiley-face page [16:30:00.0000] <Philip`> (after having only ever entered the ☺ form into the address bar) [16:30:01.0000] <Lachy> maybe I should try using Opera one day [16:30:02.0000] <Philip`> so you shouldn't need a smiley key in order to get it from your history [16:31:00.0000] <Lachy> Firefox does that too [16:31:01.0000] <Lachy> but it doesn't show the smiley [16:32:00.0000] <Philip`> Hmm, Opera autocompletes from xn but not from ☺ [16:32:01.0000] <Hixie> jwalden: oh yeah, /url changed behaviour recently, and probably broke any bookmarks to it [16:32:02.0000] <jwalden> no smiley for com TLD, they don't do enough to prevent lookalike domain names [16:32:03.0000] <Philip`> Konqueror 4 autocompletes from both [16:32:04.0000] <Hixie> jwalden: that won't get fixed i don't think [16:32:05.0000] <jwalden> okay [16:32:06.0000] <Hixie> though i don't see why it's doing an infinite loop [16:32:07.0000] <jwalden> I got that from a search results page, let's see if I can still find it, tho [16:33:00.0000] <Hixie> i'll file a bug anyway [16:33:01.0000] <Hixie> when i get to work [16:33:02.0000] <Hixie> speaking of which [16:33:03.0000] <Hixie> i should go [16:33:04.0000] <Hixie> bbl [16:34:00.0000] <Lachy> jwalden, the smiley doesn't stay in the address bar for http://☺.lachy.id.au/ either [16:34:01.0000] <jwalden> Hixie: so visiting <http://www.google.com/search?q=non+sequitur+else+return&hl=en&safe=off&client=firefox-a&rls=org.mozilla:en-US:official&pwst=1&start=60&sa=N>, I have "JavaScript:SpiderMonkey:Coding Style - MozillaWiki" several down the results list [16:34:02.0000] <jwalden> Hixie: and the link location for that is <http://www.google.com/url?sa=t&ct=res&cd=66&url=http%3A%2F%2Fwiki.mozilla.org%2FJavaScript%3ASpiderMonkey%3ACoding_Style&ei=ll0SSMOFNJPWerXhpJkC&usg=AFQjCNHvvFthlkDqpEGRurEs1FdnfpHWrw&sig2=07FhJu9UeXFs5cSCXO29Yw>, which redirects infinitely [16:35:00.0000] <jwalden> so something's still generating the old format, I guess [16:36:00.0000] <gavin_> Lachy: .au isn't on the whitelist either [16:36:01.0000] <Lachy> why? [16:36:02.0000] <jwalden> yeah, what he said [16:36:03.0000] <jwalden> dunno why [16:36:04.0000] <Lachy> the auDA has very strict rules about registering domains. I'm sure they wouldn't let lookalikes through too easily [16:37:00.0000] <gavin_> because no one has added it :) [16:37:01.0000] <gavin_> you can file a bug and point to the policy [16:37:02.0000] <gavin_> see e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=423974 [16:38:00.0000] <jwalden> http://www.mozilla.org/projects/security/tld-idn-policy-list.html [16:38:01.0000] <Philip`> Can't certain characters be whitelisted? ☺ isn't likely to be a look-alike for any serious domain [16:38:02.0000] <Lachy> Philip`, some users might confuse it with http://:-).lachy.id.au [16:41:00.0000] <Lachy> gavin_, jwalden, auda has lots of policies. I'm not sure what exactly to look for http://www.auda.org.au/policies/current-policies/ [16:42:00.0000] <jwalden> I tend not to worry about the whitelisting; that's a UI thing [16:42:01.0000] <Philip`> /me wonders if you can use the smiley face plus combining characters to make a series of smiley faces with funny hats [16:42:02.0000] <jwalden> except when it comes to things like <https://bugzilla.mozilla.org/show_bug.cgi?id=414090> :-( [16:54:00.0000] <Lachy> the nearest I can find is a prohibition on misspellings of names. http://www.auda.org.au/policies/auda-2006-05/ [16:54:01.0000] <Lachy> it doesn't explicitly mention IDNs, but it's general enough that it would cover any characters used 2008-04-26 [17:02:00.0000] <Philip`> Does Gmail have a "next unread message in folder" button? (I want to find the 6 unread out of ~2000, and don't fancy paging through the whole list...) [17:04:00.0000] <Lachy> can't you sort by read status? [17:05:00.0000] <Philip`> I can't see any way to sort by anything [17:05:01.0000] <Lachy> really? [17:06:00.0000] <Philip`> Yes [17:06:01.0000] <Philip`> I hope I'm not just missing something obvious... [17:06:02.0000] <Lachy> wow, one more reason not to use gmail [17:06:03.0000] <Lachy> I can't see a way to sort the list of spam in my gmail inbox either. [17:06:04.0000] <Philip`> I guess the idea is that you search instead of sorting [17:07:00.0000] <Lachy> yeah, but what keyword do you use for unread messages? [17:07:01.0000] <Lachy> I just use IMAP. Although Thunderbird has some annoyng limitiations that I hope they fix soon [17:08:00.0000] <Philip`> Hmm, the advanced search thing lets you search for unread messages with e.g. a certain From address [17:08:01.0000] <Philip`> It doesn't seem to let me search for unread messages with a certain label (because 'unread' and labels are all choices in a single drop-down list), but the From thing works well enough here [17:09:00.0000] <Lachy> LOL [17:09:01.0000] <Lachy> I thought google would at least know how to make a usable search interface [17:10:00.0000] <Lachy> although, I must admit that gmail's search ability is superior to that of any mail client on the desktop [17:10:01.0000] <Philip`> Aha, I can use the search box with "label:blah is:unread", which is entirely unintuitive and seemingly undocumented [17:10:02.0000] <Philip`> (although admittedly I haven't tried looking for documentation, but I'm just a normal lazy user so that's the documentation's fault for not coping with me) [17:11:00.0000] <Lachy> aha, so you want a help system that pops up and gives you exactly what you want when you need it? [17:11:01.0000] <Lachy> ... like Clippy! :-) [17:12:00.0000] <Philip`> Not quite like that, since Clippy gives me exactly what I don't need when I don't want it [17:15:00.0000] <Hixie> jwalden: odd. are you logged in? [17:16:00.0000] <jwalden> Hixie: yes [17:16:01.0000] <Hixie> odd [17:16:02.0000] <Hixie> i've filed the bug [17:16:03.0000] <jwalden> cool [17:17:00.0000] <jwalden> does Google have any external bug-reporting system, other than employee connections? [17:17:01.0000] <jwalden> ;-) [17:17:02.0000] <jwalden> /me suspects not [17:19:00.0000] <Hixie> jwalden: yeah, there's a feedback form somewhere [17:20:00.0000] <Philip`> It's irritating when you don't get any feedback from your feedback [17:20:01.0000] <jwalden> not quite the same, for ^ reason [17:21:00.0000] <Hixie> yeah [17:21:01.0000] <Hixie> i know [17:21:02.0000] <Philip`> It's nice reporting Mozilla bugs because you can see that someone has actually looked at what you wrote [17:21:03.0000] <Hixie> we have public bug reporting systems for all our open source projects [17:22:00.0000] <Hixie> but can you imagine the spam we'd get if we made the main google search engine have a public bug reporting system... [17:22:01.0000] <Hixie> not that i think that's a reason to not have one [17:23:00.0000] <Philip`> (Being public isn't always sufficient - I tried reporting some IE8 bugs (including one crash) via the only apparent route (posting on the newsgroup), and as far as I can tell my posts got ignored entirely and not entered into any bug tracking system) [17:23:01.0000] <jwalden> it's certainly understandable, just not pleasing [17:23:02.0000] <Philip`> (Complaining on IRC with developers present is a far more effective solution) [17:23:03.0000] <Hixie> ie has some public bug system [17:23:04.0000] <Hixie> i could never get it to work right though [17:24:00.0000] <Philip`> It's read-only to general members of the public, from what I read and from what I tried [17:24:01.0000] <Philip`> or maybe you can still write comments and vote on issues, but can't file new bug reports [17:25:00.0000] <Hixie> how do i spec showModalDialog() without making the web worse [17:26:00.0000] <Philip`> Define it to be modal only with respect to the page content, and not with respect to other tabs or browser chrome? [17:27:00.0000] <Philip`> (so it's not much worse than overlaying a giant invisible div over your page to stop people interacting with it) [17:27:01.0000] <Philip`> I suppose it's too late to use the lessons from XHR and make showModalDialog asynchronous [17:33:00.0000] <tomg> asynchronous how? [17:33:01.0000] <Philip`> I have no idea [17:34:00.0000] <tomg> how isn't it asynchronous? [17:37:00.0000] <Philip`> It's not asynchronous because the function call doesn't return until much later [17:38:00.0000] <tomg> showModelessDialog then [17:39:00.0000] <jwalden> == open? [17:40:00.0000] <Philip`> I suppose it could block all user interaction, but return immediately and still run scripts in the background window [17:40:01.0000] <tomg> no [17:40:02.0000] <tomg> showModelessDialog opens an always-on-top dialog where you can still interact with the original opening page [17:40:03.0000] <Philip`> (though showModalDialog couldn't do that without totally breaking anyone who currently uses it) [17:42:00.0000] <Philip`> Hmm, the very first page I found that uses showModalDialog is complaining that the 'arguments' array doesn't accept strings longer than 4K, so it's splitting its input string into a load of 4K chunks to pass them into the dialog [17:42:01.0000] <Philip`> (http://www.icrc.net/ ) [17:43:00.0000] <Philip`> s/'arguments' array/'arguments' argument/ [17:44:00.0000] <tomg> showModalDialog is fundamentally very poorly designed [17:45:00.0000] <tomg> awful IE4 hack on [17:45:01.0000] <tomg> with truly bizarre syntax [17:46:00.0000] <Philip`> I hope the documentation is wrong when it says the last two arguments are each independently optional [17:47:00.0000] <tomg> hmm [17:47:01.0000] <Philip`> ("vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])" - does that mean I can say showModalDialog(url, features)?) [17:47:02.0000] <Philip`> (I can't see how that would work without mind-reading) [17:48:00.0000] <jwalden> I think it means the last argument, if multiple args are present, is the features [17:48:01.0000] <jwalden> still, miscommunicated [17:48:02.0000] <Hixie> Philip`: don't question msdn [17:49:00.0000] <Hixie> Philip`: once you start down that road, you'll have decades of work ahead of you [17:49:01.0000] <Philip`> http://www3.asmenet.it/opencms/opencms/asmenet/caloveto/ - window.showModalDialog(TitleModal,sURL,sparam); - looks like they forgot to check what arguments the function actually takes [17:50:00.0000] <tomg> msdn is a bit like the bible [17:51:00.0000] <Philip`> We need an MSDN5 [17:51:01.0000] <Hixie> Philip`: later on that msdn page: [17:51:02.0000] <Hixie> "You can set the default font settings the same way you set Cascading Style Sheets (CSS) attributes (for example, "font:3;font-size:4"). To define multiple font values, use multiple font attributes. [17:51:03.0000] <Hixie> " [17:53:00.0000] <takkaria> Humphrey Lyttelton has died. :( [17:53:01.0000] <tomg> yes :( [17:53:02.0000] <tomg> MSDN is wrong by the way, you can't set features without an argument [17:58:00.0000] <Philip`> MSDN is wrong?! [17:59:00.0000] <tomg> I know [17:59:01.0000] <tomg> first time for everything [17:59:02.0000] <tomg> quick, billg⊙mc [18:02:00.0000] <takkaria> append "sorry to hear your profits dropped 11% this quarter" [18:04:00.0000] <Philip`> Hixie: Hmm, font-size (and font) do seem to work, but I can't find any other CSS properties that do anything [18:04:01.0000] <Philip`> "font-size:4" is a bit silly since it uses 4pt font [18:04:02.0000] <Philip`> s//a / [18:13:00.0000] <Philip`> I like how Syck gives me excellent error messages when parsing probably-broken YAML [18:14:00.0000] <Philip`> like "Segmentation fault", and, uh, that's about its whole range [18:15:00.0000] <Dashiva> Such an informative error at that [18:17:00.0000] <Philip`> Aha, PyYAML is much better (but much much slower) and points me at line 4495 and tells me exactly what I've done wrong [19:05:00.0000] <Hixie> showModalDialog can be used for cross-domain communication! [19:05:01.0000] <Hixie> crazy [19:13:00.0000] <othermaciej_> it can? [19:13:01.0000] <othermaciej> oh [19:13:02.0000] <othermaciej> because you can show something from another domain as a modal dialog and it can return a value [19:13:03.0000] <othermaciej> wacky [19:19:00.0000] <Hixie> othermaciej: and you can pass a value [19:19:01.0000] <Hixie> i'm amazed nobody has used this before [19:19:02.0000] <Hixie> i mean you get some flicker, sure [19:19:03.0000] <Hixie> but that never stopped people before [19:28:00.0000] <Hixie> holy batman [19:28:01.0000] <Hixie> you can send strings to other domains in firefox using returnValue without creating a window [19:29:00.0000] <Hixie> oh but you have to have created the window using showModalDialog() [19:33:00.0000] <Hixie> you can't navigate the browsing context in ie [19:38:00.0000] <mcarter> othermaciej, Hixie, another concern about the connect() function vs. constructor connecting arugment: if a TCPConnection constructor causes a network access, then prototype-based subclassing becomes impossible. Maybe thats intended? [19:39:00.0000] <Hixie> and fragment identifiers don't work at all [19:39:01.0000] <Hixie> mcarter: why does it become impossible, and why is that a problem? [19:39:02.0000] <othermaciej> mcarter: prototype-based subclassing of builtin DOM classes does not seem super important [19:40:00.0000] <Hixie> how would you override the XMLHttpRequest constructor or the Image constructor? [19:41:00.0000] <othermaciej> you could make an object that has an XMLHttpRequest instance or an HTMLImageElement instance as its prototype [19:41:01.0000] <othermaciej> although I do not know why you would want to [19:41:02.0000] <mcarter> well, you generally would do SubClassTCPConnection.prototype = new TCPConnection() [19:41:03.0000] <mcarter> its just a thought, It probably has no bad implications -- I just don't know much about how often native types are subclassed [19:42:00.0000] <Hixie> how does that work with any constructor that does any work at all? [19:42:01.0000] <Hixie> e.g. Image(width) [19:43:00.0000] <othermaciej> it is certainly not very useful [19:43:01.0000] <Hixie> k, i won't worry about it :-) [19:43:02.0000] <othermaciej> SubClassImage.prototype = new Image() would still leave you with only one read HTMLImageElement [19:43:03.0000] <Hixie> showModalDialog is insanity in a bottle [19:43:04.0000] <othermaciej> and it wouldn't be insertable into the DOM or anything [19:43:05.0000] <othermaciej> Hixie: it's high on my list of most-loathed feature that we had to actually implement [19:44:00.0000] <Hixie> the browsers all do it differently -- go figure, no spec, no interop [19:45:00.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#showmodaldialog [19:45:01.0000] <Hixie> is what i have so far [19:49:00.0000] <heycam> Hixie, s/the the/the/ a couple of times in that section 4.4 [19:49:01.0000] <heycam> actually, just search for "the the" in the document there are a few more instances [19:49:02.0000] <heycam> (though a couple aren't typos) [19:49:03.0000] <Hixie> thanks, will fix [19:51:00.0000] <Hixie> heycam: so returnValue brings up an interesting problem [19:51:01.0000] <Hixie> i need a DOM attribute that is not there unless a particular condition is in effect [19:51:02.0000] <Hixie> window.returnValue is nothing at all unless the browsing context was created by showModalDialog [19:52:00.0000] <heycam> so ('returnValue' in window) has to be false? [19:54:00.0000] <Hixie> typ [19:54:01.0000] <Hixie> yup even [19:54:02.0000] <Hixie> and true if the Window was created by showModalDialog [19:54:03.0000] <Hixie> actually no [19:54:04.0000] <Hixie> true if the Window is for a browsing context that was created by showModalDialog [19:56:00.0000] <Hixie> i guess i can just say it's an interface implemented by those windows [19:56:01.0000] <Hixie> that's what mozilla does [19:56:02.0000] <heycam> hmm [19:57:00.0000] <heycam> i guess that solves it [20:00:00.0000] <Hixie> IE doesn't send these dialogArguments cross-origin at all [20:01:00.0000] <Hixie> hmm [20:01:01.0000] <Hixie> dinner first [20:01:02.0000] <Hixie> bbl [22:40:00.0000] <inimino> mcarter: is there a mailing list for the TCPConnection stuff you're implementing? [23:57:00.0000] <mcarter> inimino, the best mailing list to use is http://groups.google.com/group/orbited-users [23:58:00.0000] <mcarter> inimino, its all a part of an upcoming release [23:59:00.0000] <inimino> mcarter: thanks, subscribed [00:00:00.0000] <mcarter> inimino, keep in mind, thats also a end-user-facing list [00:00:01.0000] <inimino> inimino: right [00:02:00.0000] <inimino> btw I tried implementing something like what othermaciej was talking about earlier in Apache and it looked like it would involve writing a new MPM at the time [00:02:01.0000] <othermaciej> what is MPM? [00:03:00.0000] <inimino> the Apache modules that handle actual the actual sockets, processes, threads [00:04:00.0000] <inimino> "multi-processing module" is the expansion [00:05:00.0000] <inimino> you don't have enough control in a plain vanilla module to hold the socket open and do Comet-type stuff [00:07:00.0000] <inimino> at least not efficiently [00:08:00.0000] <othermaciej> are MPMs harder to write? [00:09:00.0000] <inimino> othermaciej: yes, and Apache can only use one MPM at a time [00:11:00.0000] <inimino> othermaciej: the main ones are the worker MPM, event MPM, prefork MPM [00:11:01.0000] <inimino> each one has it's own strategy for handling sockets, spawning worker threads, etc [00:13:00.0000] <inimino> I was hoping the newer Event MPM would let me do what I wanted with Comet in an efficient way, but Apache really isn't written to support long-term connections [00:15:00.0000] <mcarter> inimino, some of the work we're doing with orbited is all about integrating synchronous webservers with comet [00:16:00.0000] <othermaciej> inimino: so none of the MPMs gives regular type modules a raw connected socket to play with? [00:16:01.0000] <mcarter> inimino, for instance, we have it setup so you can do full duplex to your webapp. when you do browser->server, it results in an HTTP callback hitting your web server (the orbited server makes the http call), and when you do server->browser you use a custom client to dispatch back to the browser via orbited [00:18:00.0000] <inimino> othermaciej: I'm trying to recall the exact problems I ran into, I ended up not using Apache so the details are a little fuzzy [00:19:00.0000] <inimino> mcarter: so orbited is acting like a reverse proxy in front of e.g. Apache? [00:20:00.0000] <mcarter> inimino, sort of. you still make static requests directly to apache [00:20:01.0000] <mcarter> inimino, you can use orbited for purely downstream if you want. in which case you make xhr requests directly to apache [00:21:00.0000] <inimino> mcarter: so orbited runs on a different port? [00:21:01.0000] <inimino> I guess I should install it and read the docs ;-) [00:22:00.0000] <mcarter> inimino, heh, it does run on a different port [00:22:01.0000] <inimino> ok [00:22:02.0000] <mcarter> inimino, right now the 0.3 release that we have is very experimental. we're waiting on the next release to be much more stable, as well as support the TCPConnection api [03:52:00.0000] <hsivonen> Philip`: are there non-linked pages under http://canvex.lazyilluminati.com/misc/stats/ ? [03:52:01.0000] <hsivonen> I'm trying to navigate to your charset analysis and I don't find it [03:53:00.0000] <annevk> /me thought modal dialogs were evil and would not be supported by HTML5 [03:54:00.0000] <hsivonen> at it was http://philip.html5.org/data/charsets.html [04:18:00.0000] <hsivonen> http://www.w3.org/mid/481226BB.1000108⊙ac [04:31:00.0000] <annevk> seems people still don't understand that attributes are not in a namespace [04:31:01.0000] <Lachy> I don't get why he thinks chameleon namespaces are a good idea [04:45:00.0000] <hsivonen> I replied [04:52:00.0000] <annevk> you know, it would be fun if we had journalists for our little markup wars [04:52:01.0000] <annevk> for day-to-day reports, that is [04:53:00.0000] <hsivonen> annevk: having one issue or another up on Slashdot from time to time would be a more regular thing if we had embedded journalists [04:54:00.0000] <annevk> that doesn't seem bad per se [05:05:00.0000] <annevk> hmm, the Forms WG is still busy to retrofit XForms to fit HTML syntax [05:05:01.0000] <annevk> http://lists.w3.org/Archives/Public/public-forms/2008Apr/0108.html [05:06:00.0000] <hsivonen> annevk: what's there to gain from such retrofitting compared to WF2? [05:07:00.0000] <annevk> I think the idea is that: 1) Everything will map to XForms and can be implemented by an XForms processor. 2) XForms will become easier to learn. [05:08:00.0000] <hsivonen> annevk: so what do authors or implementors gain if there's an 'XForms processor' compared to a WF2 processor? [05:08:01.0000] <hsivonen> or scripting and XHR [05:09:00.0000] <annevk> So the perceived gain is that XForms will still be around I suppose. [05:09:01.0000] <annevk> I think the sunk cost fallacy might apply here as well. [05:09:02.0000] <hsivonen> oh yes indeed [05:16:00.0000] <hsivonen> Philip`, takkaria: I just checking in a refactoring on the parsing algorithm that needs no lookahead and breaks entity consumption and all into main loop states [05:17:00.0000] <hsivonen> /me proceeds to refactor the code some more [05:18:00.0000] <hsivonen> actually, parseErrorUnlessPermittedSlash is still a method [05:18:01.0000] <hsivonen> I'll remove it in due course as I implement the MathML stuff [05:23:00.0000] <Philip`> hsivonen: http://philip.html5.org/data.html links to most of my stuff [05:23:01.0000] <hsivonen> Philip`: thanks [05:24:00.0000] <Philip`> (except "most" means there's still a load that I haven't bothered linking to) [05:24:01.0000] <Philip`> (which I should get around to at some point) [05:25:00.0000] <hsivonen> it's fun how goto is considered harmful, but switch/continue programming is essentially goto and it's really useful for tokenization [05:25:01.0000] <annevk> Philip`, could you remove a { color: inherit; text-decoration: inherit; } and a:hover { text-decoration: underline; } from that page? [05:25:02.0000] <hsivonen> though switch/continue only produces natural loops, so I guess it's better for compilers than unrestricted goto [05:26:00.0000] <Philip`> annevk: I was trying to avoid having the entire page be underlined, since pretty much all the text is links and that'd look ugly [05:26:01.0000] <hsivonen> Philip`: the text now lacks the clickability affordance [05:27:00.0000] <Philip`> I think I agree the current solution is more ugly than the alternative :-) [05:28:00.0000] <Philip`> Fixed [05:29:00.0000] <hsivonen> Philip`: thanks [05:29:01.0000] <hsivonen> /me sees the spec is moving from en-GB-x-hixie to en-US-x-hixie [05:32:00.0000] <Philip`> hsivonen: switch/continue is much more constrained than goto, so it's not subject to lots of the possible abuses of goto [05:32:01.0000] <Philip`> e.g. you can only jump out of switch blocks, you can't jump into them [05:35:00.0000] <Philip`> I think I read somewhere that ANTLR was changing from generating Java code to generating JVM bytecode, mostly so it could use 'goto' and generate more efficient parsers [05:41:00.0000] <hsivonen> Philip`: I have two main patterns: state = State.FOO; continue consume; and state = State.FOO; continue reconsume; [05:41:01.0000] <hsivonen> Philip`: the former means: goto read character, then goto FOO. [05:41:02.0000] <hsivonen> Philip`: the latter means goto FOO [05:42:00.0000] <hsivonen> I suppose bytecode rewriting the latter case to pure goto wouldn't be a big win [05:42:01.0000] <hsivonen> I don't know if the former could be rewritten to gotos. that is, I don't know if the Java byte code allows holding a jump position in a variable [05:43:00.0000] <hsivonen> for doing goto FOO after first doing goto read [05:43:01.0000] <hsivonen> anyway [05:44:00.0000] <Lachy> I just noticed htmlfive.net now appropriately says this at the top: "Please bear with me as this site is constructed. As of now, most of the content from this site comes from the official WHATWG blog. Please note that this site does not contain original content, and is a central location for all known news concerning HTML5. All articles and pages on this blog, unless explicitly stated otherwise, are licensed under the MIT license. " [05:44:01.0000] <Lachy> I wonder if that was there before and we just didn't notice it [05:47:00.0000] <hsivonen> Philip`: it seems to me that Java byte code-level inline rewriters are out of fashion even though generating JVM byte code from non-Java languages is on the rise [05:50:00.0000] <hsivonen> Philip`: do you know if Antlr will do something that a generic byte code rewriter are a smarter javac couldn't do with switch/continue pattern recognition? [05:51:00.0000] <hsivonen> one would think that setting the switch condition variable and saying continue immediately would be a pattern that a compiler *could* be written to pick up [05:52:00.0000] <hsivonen> s/rewriter are/rewriter or/ [05:52:01.0000] <hsivonen> it's scary that I now make typos that look like speech-to-text errors [05:54:00.0000] <Philip`> Hmm, might be http://www.antlr2.org/blog/antlr3/codegen.tml under "October 19, 2004" that I was thinking of [05:56:00.0000] <hsivonen> I sure hope a massive switch is no longer "slow as death" compared to "slow" method calls [05:56:01.0000] <hsivonen> on HotSpot [05:57:00.0000] <Philip`> It would be nice if "hope" could be replaced by something more reliable, like benchmarks :-) [05:57:01.0000] <hsivonen> Philip`: oh I do intend to run a benchmark in due course [05:57:02.0000] <hsivonen> Philip`: but it will suck if the result is that the new code is slower than the old code [06:04:00.0000] <hsivonen> hmm. I wonder how I can run a valid Java6 or Java7 benchmark on x86_64 server VM when the my Linux system is virtualized [06:05:00.0000] <Philip`> /me likes being able to do large changes to a thousand of lines of tokeniser code (e.g. to add inner loops for runs of characters inside each state) just by adding a dozen lines of OCaml to his tokeniser-generator :-) [06:09:00.0000] <hsivonen> it'll be fun to update all the tokenizer tests to include a selfClosing flag... [06:12:00.0000] <hsivonen> Philip`: profiling suggested that having multiple call sites to read() might be a problem, so I'm going to inline read and make it appear in the code only once [06:12:01.0000] <hsivonen> since it's easy to do when the tokenizer states are in a switch [06:13:00.0000] <hsivonen> read() itself is huge, so apparently inlining it on multiple call sites wouldn't be smart [06:18:00.0000] <hsivonen> does anyone know if running Linux under Parallels is a valid benchmark setup if the OS X side is mostly idle? [06:19:00.0000] <hsivonen> hmm. I wonder if Parallels only does 32-bit guest OSs... [06:21:00.0000] <Philip`> It ought to be reliable for purely user-space code [06:23:00.0000] <Philip`> (though it's kind of hard to write purely user-space code, if you do things like access enough pages of memory) [06:24:00.0000] <hsivonen> so far I've found that crossing to file system in FileInputStream is a big deal, so anything benchmarking purely tokenizer CPU should read from a byte[] [06:25:00.0000] <hsivonen> I gained quite a bit of perf by reducing the number of times the IO goes out of the JVM [06:29:00.0000] <Philip`> It's always a pain when you want to do clever algorithm optimisations, but the bottleneck is just in getting data into the program [06:31:00.0000] <hsivonen> when I benchmarked the Validator.nu HTML parser vs. Xerces, I found that first I had to do better in terms of IO buffering [06:31:01.0000] <hsivonen> only then the rest starts to matter [06:31:02.0000] <Philip`> /me once made a program of his run about ten times faster just by switching from 'wxFile' to 'wxFFile' (which is functionally very similar but seems to have a much more appropriate implementation) [06:31:03.0000] <hsivonen> even if parsing is IO-bound anyway, the CPU time above IO can still be made better [06:32:00.0000] <hsivonen> eliminating Schematron will dramatically alter the compute/IO interleaving in Validator.nu [06:34:00.0000] <Philip`> Do shared hosting services put a limit on how much IO you can use, like they do with CPU? [06:34:01.0000] <hsivonen> I have no idea [06:34:02.0000] <hsivonen> in fact, I have almost no idea of the characteristics of the Validator.nu host Xen VM except for the RAM size [06:35:00.0000] <hsivonen> I don't know what CPU or IO throttles there may be [06:35:01.0000] <hsivonen> so far it has worked well enough [06:37:00.0000] <hsivonen> interestingly, RAM seems to be what's expensive in Xen hosting [06:38:00.0000] <hsivonen> if you want a lot of RAM on Xen, Amazon EC2 starts looking a lot cheaper relative to other offerings [06:43:00.0000] <gsnedders> /me is starting to find Python to be more and more limiting for the spec-ge [06:43:01.0000] <gsnedders> *gen [06:47:00.0000] <Philip`> Limiting in functionality, or in performance? [06:48:00.0000] <gsnedders> Philip`: performance. [06:49:00.0000] <Philip`> gsnedders: By how many orders of magnitude? [06:49:01.0000] <Philip`> It seems worthwhile to have something that actually works, even it'll need lots of optimisation later [06:49:02.0000] <Philip`> s//if / [06:49:03.0000] <gsnedders> Philip`: well, things like html5lib are are far slower than something like WebKit's HTML parser [06:50:00.0000] <gsnedders> and there's the fact that I did to do looping over every Node in the document, multiple times [06:50:01.0000] <gsnedders> And large amounts of execution are slow in any interpreted language, really [06:50:02.0000] <hsivonen> gsnedders: try Jython and the Validator.nu HTML parser :-) [06:50:03.0000] <Philip`> gsnedders: html5lib can be fixed by doing a chtml5lib, which is somebody else's problem [06:51:00.0000] <gsnedders> neither of those solve the looping problem :) [06:52:00.0000] <Philip`> You could modify your code to do less looping :-) [06:53:00.0000] <gsnedders> Philip`: How do I build a TOC without looping over the document? :) [06:53:01.0000] <gsnedders> hmm… [06:53:02.0000] <Philip`> You don't need to loop over every node, only over every heading [06:54:00.0000] <gsnedders> Philip`: How do I find the headings? [06:54:01.0000] <Philip`> Use a fancy treebuilder that lets you do fast XPath to find elements :-) [06:54:02.0000] <gsnedders> XPath is hard to do quickly :) [06:54:03.0000] <Philip`> Or do the TOC-looping at the same time as all the other looping, to avoid the "multiple times" problem [06:54:04.0000] <hsivonen> the great thing is that an XPath impl. does no looping :-) [06:54:05.0000] <Philip`> gsnedders: It's easier when it's implemented in a C library [06:55:00.0000] <gsnedders> Philip`: That's what I've been doing. Multiple times remains two loops, though :) [06:56:00.0000] <gsnedders> hsivonen: how do you impl. XPath without looping? [06:56:01.0000] <hsivonen> gsnedders: note the ':-)' [06:56:02.0000] <gsnedders> Ah. You mean it in that way :) [06:57:00.0000] <Philip`> gsnedders: How slow is the script, anyway? [06:58:00.0000] <gsnedders> Philip`: I can't exactly quantify it, but I can say it is far too slow on a large document like HTML 5 :) [06:58:01.0000] <Philip`> The multipage spec splitter already iterates through the entire minidom tree once (to fix up href=#... links), and that's not insanely slow [06:59:00.0000] <Philip`> gsnedders: "time python specgen.py source"? :-p [06:59:01.0000] <gsnedders> Philip`: It's not really much quicker than the pre-existing W3C spec-gen, which parses the document about 10 times (in C) [06:59:02.0000] <gsnedders> Philip`: It's too incomplete for it to be overly meaningful :P [06:59:03.0000] <gsnedders> Philip`: And I just started rewriting a bit of it and it currently doesn't really work much at all :P [07:00:00.0000] <Philip`> gsnedders: Surely you have it in some version control system so you can still get a version that doesn't not work? :-) [07:00:01.0000] <gsnedders> Philip`: Yeah, but I'm lazy :) [07:02:00.0000] <gsnedders> Philip`: And it's an excuse to actually write some C++ myself :P [07:02:01.0000] <Philip`> I suppose I mostly just think that trying to write it in C++ would be insane and complex; Java/Jython would be a much better way to avoid the interpret overhead [07:03:00.0000] <Philip`> *interpreter [07:03:01.0000] <gsnedders> I don't think it would. [07:03:02.0000] <gsnedders> The complex parts can be solved by using WebKit for HTML and DOM. [07:04:00.0000] <Philip`> That's not solving complexity, it's just swapping complexity for other complexity [07:04:01.0000] <hsivonen> If you run the java process as a long-running service process that you send stuff to through a socket, you'll have the code compiled down to native code with JVM start penalty [07:04:02.0000] <gsnedders> It's somebody else's problem. That'll do :) [07:05:00.0000] <Philip`> gsnedders: The complexity is in integrating their code with yours, which is your problem [07:05:01.0000] <Philip`> (Or do they just have a public API for "parse this string of bytes into a Document object"?) [07:06:00.0000] <gsnedders> Philip`: I haven't looked at it that closely, but what I've seen of WebKit makes me expect it to be simple enough [07:09:00.0000] <Philip`> /me is not yet convinced :-p [07:48:00.0000] <hsivonen> hmm. it seems to me that keeping the ability to switch decoders on the fly is more trouble than it's worth [07:49:00.0000] <hsivonen> because efficient buffered character decoding will have most often read ahead anyway so that the decoder has already hit non-ASCII after meta [09:34:00.0000] <Philip`> Ooh, Konqueror does canvas shadows [09:34:01.0000] <Philip`> so there's two mostly-interoperable implementations now [09:49:00.0000] <Philip`> http://www.freepatentsonline.com/y2006/0005114.html [09:53:00.0000] <takkaria> what a horrible patent [09:55:00.0000] <Philip`> /me guesses this is what http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-March/010129.html referred to [10:15:00.0000] <Philip`> Hixie: "The tabIndex DOM attribute must reflect the value of the tabIndex content attribute." - the second tabIndex should be lowercase [13:02:00.0000] <annevk> Philip`, I think you already raised the shadows thing (making it mandatory) [13:03:00.0000] <annevk> Philip`, also, CSS3 UI has nav-index to specify "tab" order through CSS [13:08:00.0000] <Philip`> annevk: I only remember (/could find emails referring to) making gradients mandatory [13:10:00.0000] <annevk> ah, maybe I misremembered [13:57:00.0000] <Philip`> http://philip.html5.org/tests/canvas/misc/cross-domain-pattern.html - Opera (9.5) loses [16:03:00.0000] <jwalden> sigh [16:05:00.0000] <Philip`> jwalden: Is that a sigh of "I used the wrong address for the WHATWG list again", or a different one? [16:05:01.0000] <jwalden> no [16:05:02.0000] <jwalden> see latest [16:06:00.0000] <jwalden> just the sigh of "isn't this stuff done yet?" [16:07:00.0000] <Philip`> Ah [16:07:01.0000] <Philip`> I guess one problem with addEventListener is that it won't work in IE8 [16:07:02.0000] <jwalden> I feel like we're near a precipe past which we fall into bikeshedding [16:07:03.0000] <jwalden> and I don't know which side we're on [16:07:04.0000] <jwalden> what's new? [16:07:05.0000] <Philip`> and it'd be nice if people could write simple code that works in all implementations [16:07:06.0000] <othermaciej> I think people are familiar with using the attachEvent workaround for events in IE [16:11:00.0000] <Philip`> Hmm, my canvas security-check tests give random results in WebKit [16:11:01.0000] <jwalden> nice! [16:12:00.0000] <othermaciej> random? [16:12:01.0000] <othermaciej> I didn't think we used an RNG for domain security checks [16:12:02.0000] <Philip`> It changes each time I reload the pages [16:13:00.0000] <Philip`> I'm not sure it's exactly a cryptographically-strong source of randomness, but it's not as constant as I'd like [16:15:00.0000] <Philip`> It only seems to happen when I run the tests inside iframes [16:15:01.0000] <Philip`> and only when they're on the local network, not over the internet [16:15:02.0000] <jwalden> darn [16:15:03.0000] <jwalden> that rules out my chance to reimplement Math.random [16:18:00.0000] <othermaciej> Philip`: oh, we have problems with reloads of frames off local disk sometime, could be that [16:18:01.0000] <othermaciej> but also we give local files universal access rights to all remote resources [16:19:00.0000] <Philip`> othermaciej: It's not local disk (except for maybe cached), it's across the (local) network [16:19:01.0000] <Philip`> Looks like a random one of the nine iframes on the page is allowed to called toDataURL on a tainted canvas [16:20:00.0000] <othermaciej> weird [16:22:00.0000] <Philip`> Hmm, either I was interpreting it wrong or it changed, since all but one are allowed to call toDataURL now that I've changed my tests around [16:23:00.0000] <Philip`> and now it's not happening at all [16:27:00.0000] <Philip`> Someone can have fun trying to debug this... [16:29:00.0000] <Philip`> Oh, now it does work over the internet for me [16:30:00.0000] <Philip`> Does anyone see http://philip.html5.org/misc/iframe-canvas-security/iframes.html not having nine identical iframes in WebKit? [16:32:00.0000] <jwalden> something trunk-like (a touch old) is showing nine frames each containing a single continuous yellow rectangle [16:33:00.0000] <Philip`> There should be either two yellow rectangles, or one plus a "data:image/png,..." line [16:33:01.0000] <jwalden> Firefox trunk is showing nine frames with two yellow rectangles each [16:33:02.0000] <jwalden> and JavaScript error: , line 0: uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://philip.html5.org/misc/iframe-canvas-security/06.html Line: 12"] in the console [16:33:03.0000] <jwalden> x9 [16:33:04.0000] <Philip`> Firefox is giving the intended behaviour [16:34:00.0000] <othermaciej> the results randomly change for me when I reload [16:34:01.0000] <othermaciej> only one frame shows two rectangles and it changes which [16:34:02.0000] <Philip`> othermaciej: Aha, then it looks like I'm not crazy and it's a real bug [16:34:03.0000] <jwalden> so I assumed given seems consistent here [16:34:04.0000] <othermaciej> hello f a weird bug [16:34:05.0000] <jwalden> /me updates tree, sees if that makes a dif [16:35:00.0000] <Philip`> jwalden: I'm not sure what would cause only a single yellow rectangle, unless you're using Safari 1 and don't have <canvas> support [16:35:01.0000] <hasather> Philip`: on first load, most of the upper squares were black, on reload everything is yellow [16:35:02.0000] <jwalden> no, this was a svn checkout that's no more than a month old, I think [16:35:03.0000] <Philip`> hasather: Oh, that sounds dodgy in a different way [16:36:00.0000] <hasather> Philip`: may be, it's WebKitGtk (r32531) [16:36:01.0000] <Philip`> (Argh, stupid non-existence of print-screen key on Apple keyboards...) [16:37:00.0000] <jwalden> swedish campground-shift-3 I think [16:38:00.0000] <hasather> jwalden: it's not for campgrounds ;) [16:38:01.0000] <Philip`> I'm using Windows so that doesn't work :-( [16:39:00.0000] <hasather> jwalden: although I see http://www.folklore.org/StoryView.py?project=Macintosh&story=Swedish_Campground.txt says that [16:39:01.0000] <jwalden> hasather: http://folklore.org/StoryView.py?story=Swedish_Campground.txt [16:39:02.0000] <Philip`> /me tries remembering his password to report a bug [16:39:03.0000] <jwalden> jinx! [16:41:00.0000] <hasather> jwalden: it's mostly used for stuff like viking graves and things like that [16:43:00.0000] <Philip`> http://philip.html5.org/misc/iframe-canvas-security/webkit-r32574.png [16:45:00.0000] <Philip`> hasather: Ah, I can imagine WebKitGtk might have lots of differences - I'll have to add it to my test-results page some time [16:45:01.0000] <Philip`> (Still seems dodgy if it thinks drawing a yellow bitmap onto a transparent canvas results in black, though) [16:55:00.0000] <Hixie> jwalden: i'll change the spec to match whatever you decide on [16:55:01.0000] <Hixie> jwalden: firing at window is good with me [16:56:00.0000] <jwalden> dangt [16:56:01.0000] <jwalden> s/t/it/ [16:56:02.0000] <jwalden> where'd othermaciej go? [16:57:00.0000] <jwalden> Hixie: still no bubbling, tho, to be clear? [16:58:00.0000] <Hixie> i'd rather it didn't bubble; it's like 'load' and other such "document-wide" events that don't bubble [16:58:01.0000] <jwalden> well, I suppose it doesn't really matter if it's on window, does it? [16:58:02.0000] <Hixie> indeed [16:58:03.0000] <jwalden> Hixie: I'm fine with it dispatching at window [16:59:00.0000] <jwalden> /me goes to update those bloody tests again [16:59:01.0000] <Hixie> on the long term if we put it on window then that allows me to make the event dispatch to window and body like with, e.g., 'load', without breaking compat [16:59:02.0000] <Hixie> so i like the change [16:59:03.0000] <Hixie> i mostly was leaving it on document to not give you pain :-) 2008-04-27 [17:00:00.0000] <jwalden> this is pretty small pain, just search for addEventListener and message [17:00:01.0000] <jwalden> so it's not too bad [17:11:00.0000] <jwalden> and indeed, I think I'm done making the changes now :-) [17:12:00.0000] <jwalden> nearly, at least [17:12:01.0000] <jwalden> /me curses multiple inheritance ambiguity [17:42:00.0000] <Hixie> cool [17:42:01.0000] <Hixie> i'm playing twilight imperium 3 right now [17:42:02.0000] <Hixie> but when i get back home i'll send mail about it [17:42:03.0000] <jwalden> heh [17:43:00.0000] <jwalden> thanks [17:43:01.0000] <jwalden> /me waits for recompile [17:45:00.0000] <jwalden> othermaciej: it's not so much the timing of the late-breaking changes that makes me sad as that they're going to make it very, very, very hard for anything like the original circumstances where postMessage got approval to land so late to ever happen again [17:45:01.0000] <jwalden> othermaciej: I think if people had known the two sets of changes were going to happen after that, they'd have said no [17:45:02.0000] <jwalden> heck, *I* might even have said no [17:46:00.0000] <othermaciej> jwalden: I probably would have said yes to the postMessage work before Safari 3.1 even if I had known it would be followed by changes, because I think that level of engagement was part of what led to the changes [17:46:01.0000] <othermaciej> (and I think the changes that made us pull it were for the better) [17:47:00.0000] <othermaciej> I do understand that implementing features against an unstable spec, especially late in a dev cycle, can be disruptive [17:47:01.0000] <jwalden> I had the work all done for several months; it just wasn't in the tree because we were "past" feature freeze [17:47:02.0000] <jwalden> I don't mind the implementation [17:47:03.0000] <Philip`> jwalden: If the feature wasn't approved for FF3, how long would it be before it could be in a release? [17:47:04.0000] <jwalden> I don't know [17:47:05.0000] <jwalden> that's the other half of the matter [17:47:06.0000] <jwalden> as I understand it .next is supposed to be a quick turnaround, but I don't know how quick [17:48:00.0000] <Philip`> Is .next different from Mozilla 2? [17:48:01.0000] <jwalden> I *think* so [17:48:02.0000] <Philip`> Mozilla 2 has never sounded particularly likely for quick turnaround to me [17:48:03.0000] <jwalden> a 3.5, so to speak, with a few cherry-picked things [17:48:04.0000] <othermaciej> for Safari/WebKit I am expecting gaps of less than a year between releases with new engine features for the foreseeable future [17:48:05.0000] <Philip`> The whole "let's (automatically) rewrite all our code and change all our APIs" thing makes me a little nervous [17:48:06.0000] <jwalden> if it's not different from 2, then it's not a quick turnaround [17:49:00.0000] <jwalden> the change APIs thing is more, "we'll change where we've needed to change" [17:49:01.0000] <gavin_> Mozilla 2 work is being scoped back beyond the vague "rewrite everything" plans from 2 years ago [17:49:02.0000] <Philip`> /me wonders if he might get canvas shadows into 3.5 :-) [17:49:03.0000] <jwalden> but yeah, I'm still not clear on exactly how everything's panning out [17:49:04.0000] <gavin_> and, that's expected, really [17:49:05.0000] <gavin_> Philip`: almost certainly [17:50:00.0000] <jwalden> reasonably self-contained feature-size things are generally what's in the plans [17:50:01.0000] <Philip`> Hmm, I did the shadow thing six months ago - I didn't realise it was that long :-/ [17:51:00.0000] <Philip`> (and apparently it was feature freeze back then) [17:51:01.0000] <jwalden> so the 100K patch that adds stuff and doesn't have twisty interactions but is just too late to trust, is the prototypical "take" [17:51:02.0000] <jwalden> but no fundamental reworkings of anything [17:51:03.0000] <Philip`> That sounds quite sensible [18:14:00.0000] <Philip`> Hooray, I used the scientific method today [18:15:00.0000] <Philip`> There were about a hundred small flying insects sitting on the ceiling by the light above my bed this evening, so I hypothesised that they were attracted by lights [18:16:00.0000] <Philip`> so I turned that light off and pointed a desk lamp at a wall as far away as possible (about two metres) from my bed, and after several hours they've nearly all migrated to that wall [18:16:01.0000] <Philip`> so I think I'll consider my hypothesis to be true [18:16:02.0000] <Philip`> Also it means I can go to bed without being scared of insects dropping onto my head [18:17:00.0000] <othermaciej_> you can consider your hypothesis not falsified by your experiment [18:17:01.0000] <othermaciej_> (if you wanna be hardcore scientific method) [18:17:02.0000] <Philip`> I don't want to be that hardcore - I like to be able to believe that at least some things in this world are true, and aren't merely not known to be false :-) [19:28:00.0000] <Philip`> https://bugs.webkit.org/show_bug.cgi?id=18762#c2 - oops, I guess I should have checked that [19:44:00.0000] <weinig> Philip`: :) [19:45:00.0000] <weinig> Philip`: it took me a couple minutes to notice as well [19:45:01.0000] <weinig> Philip`: still, that is a bad bug [19:49:00.0000] <Philip`> weinig: I really should have realised that if it only had one yellow rectangle, the drawImage wasn't working [19:50:00.0000] <weinig> meh [19:50:01.0000] <weinig> Philip`: that is my job :) [19:50:02.0000] <Philip`> At least it is an actual bug, so I can still legitimately complain about it :-) [19:50:03.0000] <weinig> :) [20:03:00.0000] <Hixie> man, philip is still complaining about canvas [20:04:00.0000] <Hixie> i'm pretty sure that by now the spec has been fixed so many times because of his feedback that his complaints are actually complaints on his own earlier suggestions [20:17:00.0000] <Dashiva> You could have a live re-enactment of this one: http://ansuz.sooke.bc.ca/bonobo-conspiracy/?i=926 [20:19:00.0000] <Philip`> Hixie: I think some of the cases are where I originally suggested something far too complex, and you changed the spec to say something near that but slightly too simple, so more feedback is needed, and hopefully it'll stop oscillating and settle on something nearly correct :-) [20:19:01.0000] <Hixie> :-) [20:20:00.0000] <Philip`> but sometimes I just change my mind and disagree with my former self [20:20:01.0000] <Philip`> and sometimes I disagree with my current self, but that's harder to sort out [21:20:00.0000] <htmlfivedotnet> Hello all [21:24:00.0000] <htmlfivedotnet> I think that most on this channel are on a different time zone than me, and probably asleep by now, but I saw some grievance about my site, and wanted to settle it with those directly involved. Any and all problems or issues I am more than happy to fix [21:38:00.0000] <Hixie> heya [21:38:01.0000] <Hixie> i think so long as you comply with the license and give clear attribution, nobody is too worried [21:38:02.0000] <Hixie> also if you make money you should send us some goodies as thanks :-D [21:41:00.0000] <htmlfivedotnet> after I saw annevk had already found my site, two days after purchase, i made sure to put that info at the top, as I saw you guys notice. It isn't that I hadn't planned to do so, it's just that it was and is still a WIP. [21:41:01.0000] <htmlfivedotnet> It looks like I'm going to have to modify the plugin to post the correct date, and have the correct linkback to the original post... which seems like it's going to be harder to do than i hoped [21:43:00.0000] <Hixie> heh [21:44:00.0000] <Hixie> welcome btw :-) [21:45:00.0000] <htmlfivedotnet> hey, thanks :-) [21:49:00.0000] <htmlfivedotnet> so am i missing something, or is this where the authors and contributors get together to discuss html5? [21:49:01.0000] <Hixie> yup, this is the whatwg irc channel [21:49:02.0000] <Hixie> but it's a weekend [21:49:03.0000] <Hixie> and 5am in europe [21:52:00.0000] <htmlfivedotnet> it sure is. that's a shame, I do my work at night. Hopefully I can still contribute in some way. [01:57:00.0000] <annevk> Hmm, browsing through the XTech schedule I find this: http://2008.xtech.org/public/schedule/detail/653 [01:57:01.0000] <annevk> That could be fun... [01:58:00.0000] <Hixie> i wish we could boil the oceans [01:58:01.0000] <Hixie> it would make the web such an easier place to code [01:59:00.0000] <Hixie> and silverlight is a much better boil-the-oceans solution than xhtml+xforms+svg, for sure [02:39:00.0000] <Lachy> hey htmlfivedotnet, welcome. [02:50:00.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#dialogs [03:40:00.0000] <hendry> is there any <audio> hacks with Flash, in order to playback mp3/oggs in "legacy" browsers? [03:41:00.0000] <hsivonen> Philip`: so far it seems that switch-case block per tokenizer state is insanely bad on Java 5 PowerPC HotSpot client VM [03:41:01.0000] <hsivonen> like makes-you-want-to-cry bad [03:43:00.0000] <hsivonen> there should be like a 30x perf gain if the compiler did the right thing [03:54:00.0000] <hsivonen> Conceptually, both return and switch on enum should compile into a jump to an address [03:55:00.0000] <hsivonen> but it seems switch on enum is ridiculously slower than return [04:13:00.0000] <hsivonen> hmm. after googling, I find that on Sun HotSpot 5, switch on enum is insanely bad compared to switch on int [04:25:00.0000] <Philip`> hsivonen: I've always assumed that enums are basically lists of static objects, so enum values are pointers and are only determined at runtime and it'd have to compile into "if (value == ONE) ... else if (value == TWO) ..." (or a binary search if the optimiser was really clever), so it makes some sense that that's much slower than a compile-time non-sparse integer switch table [04:25:01.0000] <Philip`> but my assumptions could be horribly wrong [04:25:02.0000] <Philip`> and I've never known how to attempt to validate my assumptions about how the JVM works :-( [04:26:00.0000] <hsivonen> Philip`: for switch enums map to ints. (check out 'ordinal' in a debugger) [04:26:01.0000] <hsivonen> Philip`: but it seems that the VM gets an array of the ordinals every time it enters the switch or something similarly insane [04:27:00.0000] <Philip`> Ah, okay [04:28:00.0000] <Philip`> Hixie: Did you change the IE icon used by the spec status annotation thing? (http://msdn2.microsoft.com/en-us/library/ms535205.new(en-us,VS.85).gif is now a star thing, which doesn't look like IE at all) [04:28:01.0000] <hsivonen> Philip`: anyway, the code I wrote should have been the best-performing alternative if switch on enum was like jump to an address held in a variable [04:29:00.0000] <hsivonen> but it's nothing of the sort [04:29:01.0000] <annevk> installed hardy [04:29:02.0000] <hsivonen> so now I have to refactor some more with the assumption that using 'return' is a big win [04:29:03.0000] <annevk> apart from the bird i don't notice anything new [04:29:04.0000] <hsivonen> /me installed hardy on Parallels [04:30:00.0000] <Philip`> hsivonen: Can't you switch on int, if that isn't so slow? [04:30:01.0000] <hsivonen> Philip`: I'm going to ints right about now [04:30:02.0000] <Philip`> Okay - it'll be interesting to see what happens :-) [04:33:00.0000] <annevk> ipodtouch update for 18 EUR is pretty neat [04:35:00.0000] <annevk> Hixie, maybe you should add a note that the "features" argument is not defined/used? [04:40:00.0000] <hsivonen> Philip`: avoiding enum gives me an 8% boost on Java 5 PPC client [04:40:01.0000] <hsivonen> the overall perf still sucks big time [04:40:02.0000] <Philip`> hsivonen: Hmm, that doesn't sound fantastic [04:41:00.0000] <Philip`> /me wonders why it's so slow [04:41:01.0000] <hsivonen> looks like I should make read() a method again, so that the VM can do a fast jump on return [04:41:02.0000] <Philip`> Do you have a profiler that can tell you where the JVM is spending all its time? [04:41:03.0000] <hsivonen> given that switch seems to suck badly [04:41:04.0000] <hsivonen> Philip`: I do [04:42:00.0000] <Philip`> (I know VTune can do that, but the output always seems pretty confusing, particularly since the program keeps getting recompiled at runtime) [04:43:00.0000] <hsivonen> also, if switch is expensive, I should probably reintroduce for(;;) { ... continue; ...} for staying in a state [04:43:01.0000] <hsivonen> if I make read a method again, that would be doable again [04:43:02.0000] <hsivonen> I want me some goto with memory address variables [04:44:00.0000] <Philip`> How would that work, when the JIT can keep changing the address of the code to execute? [04:44:01.0000] <hsivonen> pointers? [04:45:00.0000] <Philip`> Pointers to what? [04:45:01.0000] <hsivonen> pointers to VM managed code memory addresses [04:45:02.0000] <Philip`> Ah, that sounds plausible [04:47:00.0000] <hsivonen> it sucks how much juggling is needed to get fast jumps without goto [04:47:01.0000] <hsivonen> particularly is switch is not part of the arsenal [04:47:02.0000] <Philip`> switch is fast in C++ :-) [04:48:00.0000] <hsivonen> it could well be that the code I now would be fast in a line-by-line port to C++ [04:50:00.0000] <hsivonen> I think I'm going to have to introduce duplicate code for states that can be entered with both "consume" and "reconsume" :-( [04:50:01.0000] <hsivonen> unless I split out methods [04:52:00.0000] <hsivonen> it also sucks that all kinds of config affects read() [04:52:01.0000] <hsivonen> so read() is full of conditionals [04:52:02.0000] <hsivonen> I bet this would be so much faster if the parser config happened at compile time [04:54:00.0000] <hsivonen> perhaps I should have an abstract class with read() and subclasses with implementation for each config combo.. [04:55:00.0000] <Philip`> /me is too used to C++, where virtual methods are scary and slow [04:56:00.0000] <hsivonen> or at least I should make the conditionals on final booleans instead of non-final enums [04:56:01.0000] <Philip`> but modern CPUs are too clever and have too many caches and things, so things I thought were true five years ago are even less likely to be actually true now :-( [04:56:02.0000] <hsivonen> although in ifs enum compare should be memory address compare [04:57:00.0000] <hsivonen> if anything, all this shows that HotSpot doesn't magically make any code fast but different refactoring do affect perf [05:05:00.0000] <Philip`> You just need to wait for the next version of HotSpot, which will magically make everything faster than C++ [05:05:01.0000] <hsivonen> Actually, the above was on PPC HotSpot 5 [05:06:00.0000] <hsivonen> next, I'm going to run test on x86 HotSpot 7ish [05:06:01.0000] <Philip`> Regardless of the version, it's always the next one that'll make code fast [05:06:02.0000] <hsivonen> I installed icedtea under Parallels [05:07:00.0000] <hsivonen> I wouldn't care if this was about as fast as Xerces, but it used to be 50% of Xerces perf [05:07:01.0000] <hsivonen> and now it's 5% of Xerces perf [05:08:00.0000] <hsivonen> so I think I should be able to do something that gives a ten-fold boost again [05:08:01.0000] <Philip`> Something other than 'svn revert'? [05:08:02.0000] <hsivonen> yeah. I want something that preserves desirable characteristics of this refactoring [05:12:00.0000] <hsivonen> but anyway, I now very much sympathize with Antlr devs wanting to go straight to bytecode [05:13:00.0000] <hsivonen> also, I now understand why Java XML parsers have a ton of methods instead of a huge switch [05:15:00.0000] <hsivonen> I wonder if using exception to break a loop is still bad [05:16:00.0000] <Philip`> I'm pretty sure exceptions are an area where Java beats C++, but that's because C++ is rubbish at them and I have no idea how significantly less rubbish Java is :-) [05:18:00.0000] <hsivonen> the tokenizer loop already has to be prepared to exit on ArrayIndexOutOfBoundsException, so I wonder if an additional exception is costly [05:18:01.0000] <hsivonen> I wonder if JVM hacker would be amused at this IRC log of discovery of what sucks and what doesn't suck on HotSpot [05:19:00.0000] <Philip`> Xerces-C has a particularly annoying issue where it throws an EndOfEntityException while parsing an XML file, and the Visual Studio deugger prints a message to the debug window whenever an exception is thrown, and the debug window is immensely slow (like ~10ms to print a single line), which makes anything using Xerces a lot go very slowly while debugging [05:24:00.0000] <Philip`> (I want to replace Xerces with a nicer XML parser in that program, but the problems are hidden for now since all the parsed XML gets cached into some custom binary-XML format, and there are always other more useful things to work on before replacing the XML parser...) [05:47:00.0000] <hsivonen> My test harness is available from http://about.validator.nu/htmlparser/perf.zip [05:58:00.0000] <Lachy> /me is upgrading blog.whatwg.org [06:00:00.0000] <Lachy> WP 2.5 is awesome [06:00:01.0000] <Lachy> let me know if anything went wrong with the upgrade [06:08:00.0000] <Lachy> wow, it has automated plugin updating feature. All I have to do is click "update automatically" on each out of date plugin. [06:19:00.0000] <hsivonen> I reuploaded an updated perf harness [06:27:00.0000] <Philip`> Lachy: Hopefully that's not the version of 2.5 that lets any user register and give themselves an admin account? :-) [06:28:00.0000] <hsivonen> OpenJDK 6 HotSpot running under Parallels on my MacBook is much faster than my PowerMac G5 [06:29:00.0000] <Philip`> What type of MacBook is that? [06:29:01.0000] <hsivonen> pro desktops get overtaken by non-pro laptops in under 3 years [06:29:02.0000] <hsivonen> Philip`: the middle one of the current lineup [06:29:03.0000] <hsivonen> 2.4 GHz Core 2 Duo [06:30:00.0000] <Philip`> Ah, that's a quite decent CPU :-) [06:30:01.0000] <hsivonen> the PowerMac is Dual 2.0 GHz G5 [06:30:02.0000] <Philip`> though is your performance testing thing using >1 core? [06:31:00.0000] <hsivonen> it's single-threaded [06:32:00.0000] <Lachy> Philip`, it's the latest verstion available from wordpress.com [06:32:01.0000] <Lachy> so hopefully the fixed that bug [06:33:00.0000] <Philip`> Hmm, looks like (at least) the MBP lineup changed recently - the middle one was 2.4GHz/160GB not long ago, and is 2.5/250 now [06:33:01.0000] <Philip`> /me wonders when that changed [06:34:00.0000] <Philip`> Oh, apparently two months ago [06:35:00.0000] <Lachy> Philip`, yeah, that's when they added multitouch to the MBPs just like the new MBAs [06:35:01.0000] <Philip`> Computers should stop getting better all the time :-( [06:36:00.0000] <Philip`> Lachy: I'd be happy enough if they just made the touchpad less totally rubbish under Windows [06:37:00.0000] <Lachy> Philip`, you shouldn't be running Windows on a Mac! That's just cruel. [06:37:01.0000] <Philip`> Lachy: But OS X hasn't done anything to make me like it, and I want to play games :-) [06:37:02.0000] <Lachy> but what's so rubbish about it? [06:38:00.0000] <Lachy> except that it can be a bit slow and insensitive at times. [06:39:00.0000] <Philip`> You can't touch to click; the scrolling thing is extremely sensitive to the orientation of your fingers, so it often goes up when you want it to go down; to right click you need two fingers and then click the button, but since the scrolling is very sensitive you end up scrolling instead of clicking [06:39:01.0000] <Philip`> I'm not sure if it's even possible to middle-click [06:40:00.0000] <Lachy> AFAIK, it's not possible to middle click on any touchpad [06:40:01.0000] <Lachy> but tap to click should work. It definitely works under OSX [06:40:02.0000] <Philip`> It is on my cheap HP with Linux - press left+right buttons together, or tap with two fingers [06:40:03.0000] <Philip`> (and three fingers for right-click) [06:41:00.0000] <Philip`> Lachy: The touchpad works far better under OS X (except for really slow acceleration that I haven't got used to) - it's just the Windows (Boot Camp) driver that is barely usable [06:44:00.0000] <Philip`> Oh, also the touchpad is directly under my (right) wrist when I'm playing a game with WASD controls, so I have to stick several layers of tissues over it to avoid it getting misinterpreted as intentional mouse movement [06:45:00.0000] <Lachy> do you use your right hand to use WASD controls, instead of your left? [06:45:01.0000] <Philip`> Yes [06:45:02.0000] <Philip`> since I use my mouse left-handed [06:45:03.0000] <Lachy> wow, that's crazy [06:46:00.0000] <Philip`> and remapping the controls is too much of a pain, since most games need dozens of keys [06:46:01.0000] <Philip`> (I'm not really left handed, since I write with my right) [06:46:02.0000] <Lachy> I can't operate a mouse at all with my left hand [06:47:00.0000] <Philip`> I can manage up/down/left/right/left-click with my right, but anything needing precise aiming is more of a pain [06:48:00.0000] <Philip`> (I tend to assume the only problem is practice, rather than some physical incapability, but I've never bothered trying to test that) [06:50:00.0000] <Philip`> Oh, also the MBP doesn't have a right mouse button, so I can't do the right-left or left-right mouse gestures in Opera, which is a pain [06:51:00.0000] <Lachy> Cmd+Left and Cmd+Right works well enough for that [06:51:01.0000] <Lachy> though it would be nice to have the multitouch touch pad that supports it natively [06:54:00.0000] <Philip`> I'm thinking of the right-button-then-left-button thing, not the right-button-and-move-right-to-left thing - would multitouch support the former? [06:55:00.0000] <Lachy> multitouch supports 3-finger swipe on the touchpad [06:56:00.0000] <Lachy> I'm not sure if it works in Opera though, there are a few things that don't because it's a carbon app, not cocoa. [06:57:00.0000] <Lachy> oh, wait, that's on mac. not windows [06:57:01.0000] <Lachy> I'm not sure how well the multitouch features would function in windows. [07:34:00.0000] <hsivonen> Philip`: OK. Now I think I have benchmark data showing that switch in Java sucks [07:34:01.0000] <hsivonen> Philip`: so given a choice between private final methods and avoiding method invocation using switch, one should take the methods any day [07:38:00.0000] <hsivonen> http://pastebin.ca/999313 [07:51:00.0000] <Philip`> hsivonen: I get 31240/17893/1679 for the three real runs over one minute on http://en.wikipedia.org/wiki/Main_Page on a 2.0GHz C2D with "Java(TM) SE Runtime Environment (build 1.6.0_05-b13)", "Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode)" [07:51:01.0000] <Philip`> so that seems to agree with your results [07:54:00.0000] <hsivonen> Philip`: thanks. [07:54:01.0000] <hsivonen> Philip`: re: profiling: the profiling measures execution time in methods [07:55:00.0000] <hsivonen> so it doesn't tell what exactly sucks inside the huge method [07:55:01.0000] <hsivonen> in general, though, isPrivateUse and isNonCharacter take way too much time [07:56:00.0000] <Philip`> VTune gives profiling data at the JITted x86 instruction level, which is sometimes a nicer way of looking at things [07:59:00.0000] <hsivonen> how big a deal getting VTune and setting it up on Leopard or Hardy is? it looks like a for-pay product mainly for Windows. [08:00:00.0000] <hsivonen> mm. 700 dollars [08:00:01.0000] <hsivonen> not exactly cheap [08:02:00.0000] <Philip`> I just used the free evaluation version a few years ago on Windows [08:02:01.0000] <Philip`> so it's probably far from the best solution [08:02:02.0000] <Philip`> but I don't know what other tools implement the same kinds of features [08:02:03.0000] <Philip`> (I'm pretty sure there are some, I just have no idea what they're called) [08:05:00.0000] <hsivonen> I think it is pretty safe to conclude that given my findings and the Antlr page, switch sucks [08:05:01.0000] <hsivonen> so the next step I should take is using more return and continue without switch [09:16:00.0000] <Philip`> /me reads the definition of arcTo, and wonders who to blame for it [09:17:00.0000] <Philip`> I suppose it's either me, or Hixie, or whoever wrote the equivalent function in OS X [12:10:00.0000] <virtuelv> some canvas neatness to rest your eyes on, http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/ [12:13:00.0000] <Philip`> Much smoother in Firefox 3 than Opera 9.5 :-) [12:13:01.0000] <Philip`> (at least on Linux) [12:14:00.0000] <Philip`> Only seems to render the first frame in Konqueror 4, then stops [12:15:00.0000] <virtuelv> I don't notice much of a difference between Opera and FF here [12:15:01.0000] <virtuelv> moving the cursor modifies the animation [12:15:02.0000] <Philip`> Hmm, Safari 3.somethingold has the same problem as Konqueror [12:16:00.0000] <virtuelv> Yeah, I assume p01 has actually tested against Safari, possibly with a recentish nighly of WebKit [12:17:00.0000] <Philip`> Same problem (only draws one frame) in WebKit r32574 (from yesterday) on Windows [12:21:00.0000] <hasather> Philip`: looks like Safari has problems with CanvasRenderingContext2D.prototype [12:21:01.0000] <hasather> which has been discussed in this channel before [12:22:00.0000] <Philip`> hasather: Ah, that would make sense [12:24:00.0000] <Philip`> http://philip.html5.org/tests/canvas/suite/tests/index.2d.type.html - hmm, Konqueror appears to do CanvasRenderingContext2D properly (whereas WebKit doesn't) but still doesn't work on that demo [12:34:00.0000] <hsivonen> I wonder what the relative frequencies of the tokenizer states preceding 'bogus doctype' are... [12:34:01.0000] <Philip`> hsivonen: You might be able to deduce it from http://canvex.lazyilluminati.com/misc/stats/tokeniser.html (for a somewhat old version of the spec) [12:35:00.0000] <Philip`> (It shows "current state: conditions that were true and will cause the relevant set of steps to execute") [12:36:00.0000] <Philip`> (where "true" is the "anything else" fallback when all other conditionals in that state have not matched) [12:49:00.0000] <hsivonen> Philip`: there's only one match for BogusDoctype [12:50:00.0000] <hsivonen> Philip`: I think I don't understand what I should look for [13:01:00.0000] <Philip`> hsivonen: You need to first find the places where the spec says to move to 'bogus doctype' [13:01:01.0000] <Philip`> e.g. the 'anything else' part of 'before doctype public identifier' [13:02:00.0000] <Philip`> and that part is named "BeforeDoctypePublicIdentifierState: true" in my table thingy (since "true" is the catch-all condition, which is used for "anything else") [13:03:00.0000] <Philip`> and that isn't in the list at all, so that never occurred in the HTML I was parsing, so that's not the best example [13:05:00.0000] <Philip`> Um, I can't actually find any in the list that are moving into bogus doctype state... [13:06:00.0000] <Philip`> (which is odd since it says there were 104 tokeniser steps inside bogus doctype state) [13:06:01.0000] <Philip`> (so I'm not entirely sure what's going on there) [13:07:00.0000] <Philip`> (Oh well) [13:13:00.0000] <Philip`> Conclusion: pages usually have about half a doctype, and a significant majority of those are non-bogus, so it's hard to get extensive data about bogosity, and I can't say anything more useful without having to do some work [13:25:00.0000] <hsivonen> Philip`: that probably also means that it's not a point worth optimizing. [13:25:01.0000] <hsivonen> thanks [13:26:00.0000] <Philip`> hsivonen: Unless someone has a pathological case of a whole page full of bogus doctypes, it seems like not the most critical area for performance [13:58:00.0000] <hsivonen> hmm. I refactored the code some more and now the perf sucks even more [13:59:00.0000] <hsivonen> the most reasonable expectation is that HotSpot isn't doing field-to-stack hoisting [14:01:00.0000] <hsivonen> s/expectation/explanation/ [14:28:00.0000] <hsivonen> if HotSpot isn't doing field-to-stack hoisting, so of my earlier conclusions are wrong [15:20:00.0000] <Philip`> Whoops, using jQuery's 'wrap' method to nest forms is a bad idea, since it breaks (at least) Opera [15:20:01.0000] <Philip`> (by making the outer form end just before the inner form) [15:20:02.0000] <Philip`> (whereas it works fine in Firefox) [15:20:03.0000] <Philip`> /me goes back to using plain ugly DOM methods to nest forms [15:34:00.0000] <Philip`> /me thus finds that form.setAttribute('enctype') doesn't work in IE [15:40:00.0000] <hsivonen> I'm still amazed by the 10-fold difference in parser perf after the refactoring [15:40:01.0000] <hsivonen> somehow I suspect that the slow-down is due to something I've failed to consider and switch itself can't be *that* slow [15:41:00.0000] <hsivonen> could it be that the HotSpot simply avoids compiling the huge tokenization method? [15:42:00.0000] <Philip`> hsivonen: Does execution ever leave that method? [15:42:01.0000] <Philip`> Maybe it can't JIT methods while it's executing in the middle of them [15:42:02.0000] <hsivonen> Philip`: yes. and the FAQ says that HotSpot does on the stack replacement anyway [15:43:00.0000] <Philip`> Oh, okay [15:43:01.0000] <Philip`> http://forum.java.sun.com/thread.jspa?threadID=790229 - "There is an overriding size limit on methods that can get compiled. In 5.0, methods larger than 8000 bytes (of bytecode) are not considered for compilation." [15:44:00.0000] <Philip`> but then it says "Method size is not a compilation criterion, but it is an inlining criteria." so I'm not sure how that relates to the previous statement [15:46:00.0000] <jgraham> Can't you use DTrace to work out what' going on? [15:46:01.0000] <jgraham> http://java.sun.com/javase/6/docs/technotes/guides/vm/dtrace.html [15:46:02.0000] <jgraham> (that link is for DTrace + hotspot) [15:46:03.0000] <hsivonen> jgraham: I'd need Solaris to run that, wouldn't I? [15:47:00.0000] <hsivonen> since Linux doesn't have DTrace and OS X doesn't have Java 6 [15:47:01.0000] <jgraham> hsivonen: I guess, if there's no way to get Java 6 on OS X [15:47:02.0000] <jgraham> Would OpenSolaris work? [15:47:03.0000] <hsivonen> jgraham: yeah, except for all the work of installing it [15:48:00.0000] <Philip`> /me has a Solaris box [15:48:01.0000] <Philip`> but I think it's pretty old [15:48:02.0000] <Philip`> (I'm not sure how old it actually is but its uptime is 1030 days) [15:49:00.0000] <jgraham> hsivonen: They have a live CD [15:49:01.0000] <Philip`> (It's even got Java, but 1.4.0_03) [15:50:00.0000] <jgraham> Philip`: Almost the whole IoA runs on old solaris boxes (except, in practice lots of people just use personal machines instead) [15:51:00.0000] <jgraham> (fortunately I'm in a group that has its own computing budget and modern linux-running hardware) [15:52:00.0000] <hsivonen> indeed it appears that the tokenizer's main loop never gets compiled [15:52:01.0000] <hsivonen> that's dumb! [15:52:02.0000] <hsivonen> leaving the most important thing uncompiled [15:52:03.0000] <hsivonen> wtf? [15:53:00.0000] <Philip`> It's strange that even the server VM doesn't do that [15:54:00.0000] <Philip`> /me likes languages with predictable performance :-) [15:55:00.0000] <hsivonen> I'd love to have some radically traditional compilation right now [15:55:01.0000] <Philip`> GCJ! [15:57:00.0000] <Philip`> Or use a series of sed scripts to convert the tokeniser into a JNI C++ component [15:57:01.0000] <hsivonen> Philip`: not an entirely bad idea [15:58:00.0000] <Philip`> Uh oh [15:58:01.0000] <Philip`> (Which of the ideas do you mean?) [15:59:00.0000] <Philip`> (not that it would affect my reaction much) [15:59:01.0000] <jgraham> /me predicts it's not the sed option [15:59:02.0000] <hsivonen> sed to C++ [16:00:00.0000] <jgraham> /me needs to polish his crystal ball [16:17:00.0000] <hsivonen> but seriously, how can it be a good idea to leave the largest methods uncompiled [16:17:01.0000] <hsivonen> those are almost sure to be parser code [16:17:02.0000] <hsivonen> or generated code [16:17:03.0000] <hsivonen> i.e. stuff that should be Fast [16:42:00.0000] <annevk> http://www.p01.org/releases/DHTML_contests/files/20lines_twinkle/ is cool [16:43:00.0000] <annevk> i should put that on a slide calling it "the new <marquee> [16:43:01.0000] <annevk> " [16:45:00.0000] <Philip`> annevk: That's an excellent idea - <marquee><canvas/></marquee> [16:45:01.0000] <Philip`> Works quite nicely on that 20lines_twinkle page [16:47:00.0000] <hsivonen> now I need a tool that shows me the bytecode sizes of my methods [16:47:01.0000] <annevk> Philip`, hehe, that makes it toaly crazy :) [16:47:02.0000] <annevk> (I quite like the edit source function of Opera) [16:49:00.0000] <Philip`> hsivonen: javap -c ClassName [16:49:01.0000] <Philip`> shows disassembly, including instruction numbering [16:53:00.0000] <hsivonen> Philip`: it doesn't show the method I'm looking for [16:54:00.0000] <Philip`> Add -private ? [16:55:00.0000] <hsivonen> yeah. thanks [16:57:00.0000] <hsivonen> I need to spilt out NCR value handling 2008-04-28 [17:00:00.0000] <htmlfivedotnet> /me suggests http://www.sun.com/software/vmware/getit.jsp [17:02:00.0000] <hsivonen> Philip`: so each instruction number corresponds to one byte op and one byte arg, right? [17:02:01.0000] <hsivonen> so the size in roughly number of instructions times two? [17:08:00.0000] <hsivonen> nope. times one [17:09:00.0000] <Philip`> hsivonen: javap shows the byte offset of each instruction, so you should be able to just look at the last one in the method [17:09:01.0000] <Philip`> (Instructions are variable length; I've got no idea what a sensible average is) [17:10:00.0000] <hsivonen> now I got the big method to compile [17:10:01.0000] <hsivonen> much better but still sucks [18:23:00.0000] <Hixie> annevk: yt? [18:23:01.0000] <Hixie> On Fri, 11 Apr 2008, Anne van Kesteren wrote: [18:23:02.0000] <Hixie> > [18:23:03.0000] <Hixie> > Euhm, setItem() takes two strings. Therefore I'd expect null, undefined, [18:23:04.0000] <Hixie> > etc. to be stringified. [18:23:05.0000] <Hixie> i don't understand what that means [18:27:00.0000] <Dashiva> null => 'null' [18:39:00.0000] <Hixie> but why? [20:08:00.0000] <othermaciej_> what is setItem? [20:09:00.0000] <othermaciej> DOM APIs are pretty inconsistent about whether null is treated same as empty string, or same as 'null', when they take a string [20:11:00.0000] <Hixie> Storage.setItem() [20:11:01.0000] <Hixie> i guess we'll have to get heycam to decide the default, and then give us a flag thingy for the cases where it's the other way around [20:13:00.0000] <heycam> Hixie, currently null gets passed as null to DOMString arguments unless the [NoNull] extended attribute appears on it [20:13:01.0000] <heycam> then it'll always get stringified [20:13:02.0000] <Hixie> to what? [20:13:03.0000] <heycam> to 'null' [20:13:04.0000] <Hixie> oh [20:13:05.0000] <Hixie> is that ever what we want? [20:13:06.0000] <Hixie> i'd have expect it to be null or '' [20:14:00.0000] <heycam> i think i remember some things actually stringifying the parameter, resulting in 'null' [20:14:01.0000] <heycam> was it .textContent? dunno now. [00:17:00.0000] <jacobolus> hmm. this question had no response in #webkit, so i'll try here. does anyone know what the proper behavior is for rendering a table where the tbody has a specific height set in css? [00:17:01.0000] <jacobolus> webkit ignores the height, ff2 makes it take up that much space, but leaves rows rendering as they had, ff3 expands rows until they fill up the specified height [00:17:02.0000] <jacobolus> this doesn't seem to really be covered by http://www.w3.org/TR/CSS21/tables.html [00:18:00.0000] <jacobolus> example: http://cs179-spring-2008.seas.harvard.edu/wheatmuffin/prototype/index_2008.04.27-3.html [00:18:01.0000] <jacobolus> here, ff2 does what I want it to, while the other two don't [00:18:02.0000] <jacobolus> if this is unspecified, is there some better way of achieving the same effect? [00:20:00.0000] <jacobolus> opera also seems to ignore it [00:21:00.0000] <Hixie> jacobolus: see css [00:21:01.0000] <Hixie> iirc 'height' doesn't apply to table sections [00:22:00.0000] <jacobolus> all elements but non-replaced inline elements, table columns, and column groups [00:22:01.0000] <jacobolus> which would seem to imply it should apply to row groups [00:23:00.0000] <jacobolus> the behavior difference between ff2 and ff3 is also puzzling though [00:26:00.0000] <jacobolus> Hixie: in general, what happens to heights in tables seems rather underspecified [00:27:00.0000] <Hixie> yeah [00:27:01.0000] <Hixie> indeed [00:27:02.0000] <Hixie> let the wg know [00:28:00.0000] <jacobolus> what's the best way to do that? [00:29:00.0000] <jruderman> http://landfill.bugzilla.org/complaints/show_bug.cgi?id=22 [00:30:00.0000] <jacobolus> jruderman: there are no steps to reproduce there [00:30:01.0000] <jruderman> jacobolus: if you think of good ones, you should add them [00:31:00.0000] <jacobolus> jruderman: also, no expected behavior vs. actual behavior [00:31:01.0000] <jruderman> otoh, it's a complaint system, so not everything needs steps to reproduce [00:31:02.0000] <jacobolus> :p [00:31:03.0000] <jruderman> for example, http://landfill.bugzilla.org/complaints/show_bug.cgi?id=21 does fine without them [00:32:00.0000] <jacobolus> Hixie: wait, is the css 3 tables spec really password protected? [00:33:00.0000] <jacobolus> (it's a working draft, according to http://www.w3.org/Style/CSS/current-work) [00:33:01.0000] <jacobolus> or does that just mean they don't have anything yet? [00:36:00.0000] <Hixie> don't ask me, i gave up on the csswg a year or more ago [00:36:01.0000] <jacobolus> heh. fair enough [00:37:00.0000] <jacobolus> well, any suggestions for how to get a scrollable tbody with a fixed thead, without setting the height of the tbody and setting its overflow-y to scroll? [00:37:01.0000] <jacobolus> (I suppose that's a bit off topic for this channel; not sure where else I'd ask) [00:38:00.0000] <othermaciej> css wg is planning more openess [00:38:01.0000] <othermaciej> that process is moving at a gradual place [00:42:00.0000] <Hixie> i'd have used another g word [00:42:01.0000] <Hixie> "glacial" [00:45:00.0000] <Hixie> but to each his own [00:54:00.0000] <annevk> Hixie, for quite a few things null becomes 'null' [00:54:01.0000] <annevk> iirc [00:54:02.0000] <annevk> for IE compat [00:54:03.0000] <Hixie> k [00:55:00.0000] <Hixie> someone should let me know what they are so i can pepper [NoNull]s around the spec [00:55:01.0000] <Hixie> :-) [01:03:00.0000] <annevk> Hixie, "<span>browsing content</span>" [01:05:00.0000] <Dashiva> othermaciej: Does refusing IRC logging make up part of that process? ;) [01:05:01.0000] <othermaciej> Dashiva: they just want the logging done in a carefully considered, measured, slow way [01:10:00.0000] <Dashiva> /me avoids further comment [01:11:00.0000] <jacobolus> Dashiva: someone might prevent you from running for world leader 20 years from now, if they see what you wrote in some technical IRC channel! [01:12:00.0000] <Dashiva> That reminds me of the conspiracy of light mail when Hyatt became editor [01:15:00.0000] <jacobolus> Dashiva: and you see, because of IRC logs (http://krijnhoetmer.nl/irc-logs/html-wg/20070423#l-55) now zcorpan is implicated too. [01:15:01.0000] <Dashiva> That's okay, he was part of the vast browser wing conspiracy already [01:16:00.0000] <annevk> and also proud member of the secret WHATWG cabal [01:17:00.0000] <Hixie> not gonna be secret for long if y'all keep talking about it in public!!! [01:18:00.0000] <othermaciej> I thinkt it was top secret that the secret cabal is secret [01:18:01.0000] <othermaciej> how can you just openly admit that it is secret like that? [01:19:00.0000] <annevk> /me is not sure what to say [01:19:01.0000] <Dashiva> One of these days I'm actually going to join #whatwg-secret-treehouse [01:19:02.0000] <annevk> /me blames krijn for logging [01:19:03.0000] <jacobolus> /me hears nothing [01:28:00.0000] <jacobolus> Hixie: do people *really* want modal dialogs in html5? modal dialogs suck :/ [01:29:00.0000] <jacobolus> can't you just ignore them and hope they go away? :) [01:29:01.0000] <Hixie> both mozilla and safari were forced to implement showModalDialog() [01:29:02.0000] <Dashiva> If you don't give them modal dialogs, they create them with CSS and ruin your page [01:29:03.0000] <Hixie> apparently if you don't give them modal dialogs, they don't support our browser [01:29:04.0000] <Dashiva> (or that) [01:38:00.0000] <annevk> should there be a way to do in page modal dialogs? like limit all interactivity to a given DOM element and descendents [01:40:00.0000] <annevk> so you can implement your own menus and such in case the native ones are not good enough [01:42:00.0000] <jacobolus> annevk: you mean instead of dumping a gigantic invisible un-clickable element over the whole page, then putting the new element w/ a higher z-index? [01:43:00.0000] <jacobolus> that seems to work reasonably well in my experience [01:43:01.0000] <jacobolus> but maybe isn't super clean (requires javascript) [01:43:02.0000] <jacobolus> annevk: doesn't seem like enough of a use case to add as a feature though [01:44:00.0000] <jacobolus> also, encouraging people to use modal dialogs is bad :) [01:45:00.0000] <jgraham__> annevk: "should there be a way [...] to do modal dialogs" is already "no but we have to sped the existing method. I don't think we need authors to have more ways to annoy their users :) [01:45:01.0000] <jgraham__> s/sped/spec/ [01:45:02.0000] <annevk> I was mostly thinking about contextmmenus and normal menus [01:45:03.0000] <annevk> and similar uses [01:45:04.0000] <annevk> which are modal in some way too [01:46:00.0000] <annevk> though they're arguably not dialogs so I messed that up [01:47:00.0000] <jgraham__> Well I guess if you can enforce the "click anywhere off the menu and normal operations are restored" behaviour then it wouldn't be so bad [01:47:01.0000] <Hixie> we have a solution for menus already [01:53:00.0000] <krijn> -_- [02:25:00.0000] <hsivonen> it's a bit silly that there should be two parse errors in '<!DOCTYPE html SYS'EOF [02:27:00.0000] <Hixie> you only have to report one :-) [02:27:01.0000] <Philip`> It's a bit silly that '<!DOCTYPE' has more parse errors than either '<!DOCTYP' or '<!DOCTYPE ' [02:27:02.0000] <hsivonen> Hixie: the test cases want two [02:27:03.0000] <Hixie> the test cases are fascist [02:28:00.0000] <hsivonen> but then they want only one for '<!DOCTYPE html PUBLIC'EOF [02:28:01.0000] <hsivonen> that's painful [02:30:00.0000] <hsivonen> Philip`: I'm back to reasonable perf by keeping the tokenization loop just under 8000 bytes [02:31:00.0000] <Philip`> hsivonen: Hopefully future versions HotSpot (and other people's JVMs) won't have a smaller limit than that - seems a little dodgy but I'm not sure what else you could do :-/ [02:33:00.0000] <hsivonen> Philip`: tweaking things for HotSpot are painful and silly enough. I'm not going to worry too much about IBM or BEA or whatever JVMs at this point [02:34:00.0000] <hsivonen> Philip`: anyway, any conclusions yesterday about switch itself are wrong [02:34:01.0000] <hsivonen> the thing that makes switch "death slow" is that making a huge switch easily makes the method too large [02:37:00.0000] <hsivonen> now I have to add a couple of states for [CDATA[ it'll be interesting to see if doing so breaks the limit again [02:38:00.0000] <hsivonen> also, I wonder if object fields and spilled locals make a perf difference [02:38:01.0000] <hsivonen> and how many locals fit it registers on x86_64? [02:42:00.0000] <annevk> you're going to add math support? [02:42:01.0000] <Hixie> anyone got a pool going on how long it'll take for the svgwg to get back to us, btw? [02:43:00.0000] <annevk> given that Doug is on holiday I guess it will take a while [02:46:00.0000] <Hixie> i guess we'll wait until after webforms2 is dealt with [02:48:00.0000] <annevk> eternity+1 [02:48:01.0000] <Philip`> Interacting with other WGs is fun [02:48:02.0000] <Hixie> actually the dealine for wf2 is rapidly approaching [02:49:00.0000] <Hixie> june? july? something like that? [02:49:01.0000] <annevk> true [02:49:02.0000] <annevk> /me looks [02:49:03.0000] <annevk> July 2008 per http://www.w3.org/2007/10/forms-tf/charter-proposal [02:49:04.0000] <annevk> (and some e-mail that states the charter has been approved by the TF by implicit consent) [02:50:00.0000] <hsivonen> annevk: yes, I'm going to add math support [02:50:01.0000] <hsivonen> but I think I should prepare XTech slides first [02:55:00.0000] <annevk> hmm, XTech slides... [03:35:00.0000] <hsivonen> /me finds -XX:-DontCompileHugeMethods [03:41:00.0000] <hsivonen> it's particularly Not Nice that the option isn't documented in the usual HotSpot documentation [03:45:00.0000] <Philip`> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6453531 - "The VM is tuned for compiling for the common programming paradigm, which includes generally small methods." - it would be nice if it was merely tuning, rather than order-of-magnitude differences [03:51:00.0000] <hsivonen> I'd be interested to know when compiling a > 8000-byte method actually hurts [03:52:00.0000] <Philip`> It would hurt when the compiler is O(n^2) [03:53:00.0000] <hsivonen> perhaps, but the 8000 sucks big time for parsers and generated code [03:54:00.0000] <hsivonen> it's quite reasonble to compile a program written in a non-Java language into one huge Java method with a lot of goto [04:03:00.0000] <Philip`> Maybe it's a problem of trying to optimise the JVM for benchmarks and for common applications, since that's how people try to measure performance, and any code that does something significantly different will lose out [04:05:00.0000] <hsivonen> well, yeah, but it's not like tokenizer state machines (generated or hand-written) or dynamic or functional languages compiled to Java are rare and bizarre these days [04:08:00.0000] <hsivonen> it seems that other people who've hit this problem are doing something as enterprisey as JSP! [04:19:00.0000] <Philip`> hsivonen: Enterprisey people can just buy a 16-core CPU to replace their old server, and that'll make up for the loss of performance between Java 1.5 and 1.6 [04:22:00.0000] <Philip`> Hmm, I wonder who's making 16-core CPUs [04:22:01.0000] <Philip`> Oh! Sun is - how convenient [08:49:00.0000] <htmlfivedotnet> Philip: Of course they are. And they cost how much? 10K Euros? [08:57:00.0000] <Philip`> htmlfivedotnet: The 16-core CPUs? I have no idea how much they are likely to be, but I'd have to guess they're not cheap :-) [09:01:00.0000] <gsnedders> Philip`: Sun aren't making 16-core CPUs. They only make 8-core ones (which can run 64 threads concurrently). [09:05:00.0000] <Philip`> gsnedders: 8 cores wouldn't be enough to make up for an order of magnitude performance loss, so I was thinking of the not-quite-released Rock processors which Wikipedia says has 16 cores :-p [09:05:01.0000] <gsnedders> ah, Rock. That isn't released! That doesn't count :P [09:08:00.0000] <Philip`> gsnedders: I never said Sun was actually shipping 16-core processors, only that they were making them [09:08:01.0000] <Philip`> and http://blogs.sun.com/jonathan/entry/rock_arrived indicates that they have made at least one [09:55:00.0000] <htmlfivedotnet> Has anyone else heard here about MS plans to throw CSS3 under the bus? [09:56:00.0000] <htmlfivedotnet> oh god. nevermind. please don't listen to me. i just read an april fools joke that spanned across two sites. i hate april 1st. [10:18:00.0000] <gsnedders> htmlfivedotnet: They already support some CSS3 modules (such as almost all of selectors) in IE7 :P [10:26:00.0000] <htmlfivedotnet> gsnedders: Yeah. I knew that too. I just woke up, haven't had my coffee, and wasn't thinking straight. Oh well. [10:33:00.0000] <htmlfivedotnet> I have a question, and please let me know if this isn't a good place to ask, and i'll keep them out of here, but there are pages, like the google cache page, that use frames. With the html5 spec, would the only way to be able to display the page in a similar manner be to use scripting? And if so, doesn't it seem inefficient to remove functionality from the html spec? It seems like the client-side and server-side would have to d [10:34:00.0000] <takkaria> htmlfivedotnet: your comment was cut off at "would have to d" [10:34:01.0000] <htmlfivedotnet> do more work in a case like this [10:37:00.0000] <Philip`> htmlfivedotnet: Google cache has never used frames, as far as I've seen - it just adds some code into the top of the page to create its ugly box with information [10:37:01.0000] <Philip`> Might you be thinking of Google Image search results instead? [10:38:00.0000] <htmlfivedotnet> yes. i'm sorry, i do mean google image search. [10:38:01.0000] <Philip`> I suppose that could be implemented using <iframe> instead [10:39:00.0000] <Philip`> Don't know if there would be any problems with that approach [10:39:01.0000] <htmlfivedotnet> well, there would be the backwards compatibility issue [10:39:02.0000] <Philip`> <iframe> is backwards-compatible [10:40:00.0000] <htmlfivedotnet> i know recent browsers don't behave the same with an iframe in all cases, at least as far as setting it to the page width, and positioning (which i guess is a css-issue moreso) [10:40:01.0000] <htmlfivedotnet> which is i guess where the major part of the scripting would come in, and window resizing. [10:41:00.0000] <Philip`> Ah, okay [10:42:00.0000] <hsivonen> hmm. Image Report shows that I've written bad alt text in 2003 [10:42:01.0000] <Philip`> /me isn't quite sure of what problems there are [10:44:00.0000] <htmlfivedotnet> accessibility is a major one, from what i've heard, as well as search engine crawling: they determine it to be a separate page (which may or may not be the intended result... i'm not sure) [10:45:00.0000] <Philip`> htmlfivedotnet: Perhaps it's reasonable to say that browsers will have improved in the years before everyone should start using HTML 5, and so iframe CSS bugs won't matter much by then [10:45:01.0000] <Philip`> and people like Google can still use <frameset> if they want to be more compatible with really old browsers, because they don't care whether their code validates or not [10:47:00.0000] <htmlfivedotnet> philip: good point. i guess i don't see the *ahem* "sense of logic" in ditching frames, but keeping something that doesn't have any practical use like the "font" element... unless its specifically there because wysiwyg editors currently like it [10:48:00.0000] <Philip`> htmlfivedotnet: It seems very likely that <font> will be removed from the spec, since everyone hates it, and Hixie just hasn't got around to editing that section yet [10:49:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/section-presentational.html#the-font - "This entire section will probably be dropped." [10:51:00.0000] <htmlfivedotnet> philip: Well that sets my mind at ease. Haven't read that part in a while. Just wanted to say my piece, thank you :-) [10:52:00.0000] <gsnedders> /me notes that WYSIWYG editors will just move over to span/div instead :P [10:52:01.0000] <Philip`> gsnedders: Is that a bad thing? [10:52:02.0000] <gsnedders> Philip`: It's no better than the status quo. [10:53:00.0000] <gsnedders> But there again, due to the very nature of WYSIWYG editors they will always output presentational HTML [10:53:01.0000] <Philip`> Hixie said the <font style> thing was an attempt to attach the stigma of 'font' onto 'style' (to discourage people from using 'style'), but it seems to have just attached the stigma to the HTML5 spec instead, [10:53:02.0000] <Philip`> s/,$// [10:54:00.0000] <htmlfivedotnet> i just assumed that it was to allow legacy WYS editors to have an easier transition to new specs [10:56:00.0000] <Philip`> htmlfivedotnet: In the current spec, the only attribute allowed on font is style, and the style attribute is not allowed on any other element; so I think that makes it harder for existing WYSIWYG editors to transition, since they either use <font face size color> or they use <span style> [10:56:01.0000] <Philip`> *they currently use either ... [10:59:00.0000] <htmlfivedotnet> ah. well, i haven't used one in a long while. well cool. thanks for clearing that up [11:00:00.0000] <Philip`> gsnedders: Is the status quo a bad thing? [11:00:01.0000] <gsnedders> Philip`: No, it just seems change for no reason. [11:02:00.0000] <Philip`> gsnedders: Uh, isn't the point of the status quo that it's *not* a change? [11:02:01.0000] <gsnedders> Philip`: I said it's no better than the status quo, not that it is the status quo [11:03:00.0000] <Philip`> gsnedders: Oh, then what is the status quo if it's not using span/div? [11:03:01.0000] <gsnedders> Philip`: That is the status quo. I meant font@style is no better. [11:04:00.0000] <Philip`> gsnedders: Ah, I didn't gather that meaning from your statements :-p [11:05:00.0000] <gsnedders> /me hopes he's less confusing in real life [11:06:00.0000] <htmlfivedotnet> haha [11:06:01.0000] <Philip`> gsnedders: When you said "It's no better than the status quo.", I didn't realise that the antecedent of "it" was from half a dozen lines earlier :-) [11:06:02.0000] <htmlfivedotnet> who's on first gsnedders? [11:07:00.0000] <gsnedders> htmlfivedotnet: huh? [11:08:00.0000] <htmlfivedotnet> gnsedders: http://www.phoenix5.org/humor/WhoOnFirst.html [11:09:00.0000] <gsnedders> heh. [11:36:00.0000] <gsnedders> Hmm, if you believe some of my photos' metadata, I've been taking photos on 6th August 2099. [11:37:00.0000] <Philip`> gsnedders: That metadata would make an excellent basis for the semantic web [11:39:00.0000] <gsnedders> I think the dates are totally wrong though, I don't think it's even August. I wasn't on Maderia then. [11:41:00.0000] <Philip`> gsnedders: I think you may be missing a more obvious discrepancy in the dates [11:41:01.0000] <gsnedders> Philip`: I mean discounting the year :) [11:41:02.0000] <gsnedders> So none of it is right whatsoever :) [11:41:03.0000] <Dashiva> What about the time zone? :) [11:42:00.0000] <Philip`> gsnedders: If that's what you meant then you should have said that :-p [11:42:01.0000] <gsnedders> Dashiva: That isn't given :P [11:42:02.0000] <gsnedders> Lesson learnt from this: don't take photos of the Firth of Forth. It screws with your camera :P [11:42:03.0000] <Dashiva> But if it was wrong, you'd have pictures taken at 6 am and stuff [11:42:04.0000] <gsnedders> (or is that the conclusion?) [11:43:00.0000] <Philip`> gsnedders: You need to do a more extensive investigation [11:44:00.0000] <gsnedders> The photos were taken sometime between 23 July 2003 and 22 January 2005. [11:44:01.0000] <Philip`> I suggest taking photos in the same place with somebody else's camera, and then see whether the ill effects affect you or the camera's owner [11:44:02.0000] <gsnedders> And I don't remember being on Maderia in that time [11:44:03.0000] <gsnedders> Philip`: I'll try taking a photo from the train on the way to Cambridge :P [11:45:00.0000] <Philip`> (Do you mean Madeira, as in Madeira cake?) [11:46:00.0000] <gsnedders> (I mean Maderia as in the island in the Atlantic Ocean where the Maderia cake originates from) [11:47:00.0000] <Philip`> (Okay, so you do mean Madeira, not Maderia) [11:47:01.0000] <maikmerten> /me wonders if Hixie is active right now [11:47:02.0000] <gsnedders> Philip`: Stop picking on the kid with dyspraxia! :P [11:47:03.0000] <gsnedders> (But yes) [11:48:00.0000] <gsnedders> (and the cake is spelt the same way) [11:48:01.0000] <gsnedders> Actually, I can narrow the date down further. It's after 24 July 2003. [11:48:02.0000] <Philip`> (I was just checking it wasn't some obscure place that I had never heard of and that sounded like somewhere more familiar :-) ) [11:48:03.0000] <gsnedders> (It's a common spelling mistake, actually) [11:49:00.0000] <Philip`> (Google says only about 1% get it wrong, which is hugely better than the number of people who misspell colour) [11:50:00.0000] <gsnedders> Moving swiftly on, http://twitter.com/gsnedders/statuses/798868533 [11:52:00.0000] <gsnedders> (There is a story behind that) [11:53:00.0000] <jwalden> Philip`: color :-P [11:53:01.0000] <jwalden> </snark> [12:16:00.0000] <hsivonen> othermaciej: you may have noticed from the logs that I refactored the Validator.nu parser to use switch instead of methods [12:17:00.0000] <othermaciej> hsivonen: I didn't [12:17:01.0000] <othermaciej> hsivonen: use switch instead of methods for what? [12:17:02.0000] <hsivonen> othermaciej: re: our perf speculation last summer, data now shows that I wasn't nuts to use one method per state [12:17:03.0000] <hsivonen> othermaciej: tokenizer states [12:18:00.0000] <hsivonen> switch has other nice qualities, but perf in Java doesn't appear to be one of them [12:28:00.0000] <othermaciej> hsivonen: how did you do your method lookup before? [12:29:00.0000] <hsivonen> othermaciej: switching to states was method calls. switching to data state was return. there were additional loops around comments and attributes so it wasn't recursive [12:30:00.0000] <othermaciej> hsivonen: I see [12:31:00.0000] <othermaciej> if I were coding it in C++, I'd probably use an array of function pointers per state, but a switch statement might indeed be faster [12:31:01.0000] <othermaciej> (right now our tokenizer is much simpler and more ad-hoc) [12:39:00.0000] <jwalden> there's a tableswitch JVM instruction that probably sufficiently optimizes things [12:39:01.0000] <Philip`> /me 's tokeniser spends all its time copying characters between buffers and allocating memory, and no time on the actual switch :-( [12:40:00.0000] <hsivonen> jwalden: sufficiently, yes, but methods aren't madly worse in Java [12:41:00.0000] <jwalden> sure [12:41:01.0000] <jwalden> I wouldn't assert substantial differences between the two [12:41:02.0000] <hsivonen> in fact, on the client VM in short runs, methods are a bit better [12:41:03.0000] <hsivonen> I have to rerun my long server VM tests [12:42:00.0000] <hsivonen> I'm going to keep switch, though, because it enables other nice things [12:42:01.0000] <jwalden> switch does allow commoning of a case with another case sharing its tail, tho [12:42:02.0000] <jwalden> without jumping to a different method and having call setup costs [12:43:00.0000] <Philip`> Methods + inlining would work the same [12:43:01.0000] <hsivonen> (the other nice things are: 1) full suspendability at any point, 2) app owning the IO loop, 3) document.write() and 4) line-by-line porting to C, C++ or Objective-C) [12:44:00.0000] <Philip`> (I want a port to JavaScript) [12:44:01.0000] <jwalden> sure, if you can do it; that's getting into tricky territory in terms of implementation, tho [12:44:02.0000] <jwalden> which is what matters, this all being theoretically equal [12:44:03.0000] <hsivonen> Philip`: you should check if GWT can compile the Validator.nu HTML parser into JS [12:45:00.0000] <Philip`> hsivonen: Compiling Java into JS sounds like more evil than I could bear [12:54:00.0000] <jgraham__> More evil than Philip`can bear? Isn't that some theoretical upper bound on evilness? :) [12:54:01.0000] <hsivonen> Philip`: re: copying buffers: that's one area where the Validator.nu HTML parser isn't optimized [12:55:00.0000] <hsivonen> it always copies element and attribute names, comment contents and attribute values into auxiliary buffers [12:56:00.0000] <hsivonen> this could be changed to happen only when the input buffer can't be used as the backing store of those buffers [12:56:01.0000] <Philip`> /me wonders if he should make his parser use UTF-8 everywhere, and just blindly pass char* encoded strings through the tokeniser [12:57:00.0000] <jgraham__> Philip`: Which parser is this? [12:57:01.0000] <hsivonen> well, I use UTF-16 everywhere [12:57:02.0000] <Philip`> jgraham__: The C++ instantiation of my language-independent one [12:57:03.0000] <jgraham__> /me was planning to make chtml5lib do that but hasn't actually worked on chtml5lib [12:58:00.0000] <jgraham__> (where by "that" I mean "use utf-8 everywhere") [12:58:01.0000] <Philip`> hsivonen: I imagine you don't have much choice in string representation when you're using Java :-) [12:58:02.0000] <hsivonen> jgraham__: is chtml5lib a line-by-line port of the Python code? [12:58:03.0000] <jgraham__> hsivonen: chtml5lib is not even vapourware :) [12:58:04.0000] <jgraham__> But the idea was to follow the python code closely [12:58:05.0000] <hsivonen> Philip`: I mean, whatever comes before the tokenizer is responsible for not passing lone surrogates to the tokenizer [12:58:06.0000] <Philip`> Does the spec still say that <table>errôr</table> ought to give a parse error for each character? [12:59:00.0000] <jgraham__> not necessarily line-by-line [12:59:01.0000] <hsivonen> jgraham__: you might get better perf in other ways [12:59:02.0000] <jgraham__> hsivonen: This is true [12:59:03.0000] <hsivonen> I think both my code and Philip`'s code are likely to lead to more performant C than the html5lib code [13:00:00.0000] <Philip`> hsivonen: About UTF-16: Ah, right [13:00:01.0000] <Philip`> What would make an html5lib port non-performant? [13:01:00.0000] <hsivonen> Philip`: it has more recursion and polymorphism that you'd expect to see in C code [13:01:01.0000] <Philip`> /me currently just has a big dumb switch and lots of if statements, since his attempts at optimisation had no measurable effect so he took them out again [13:02:00.0000] <Philip`> hsivonen: Ah, makes sense [13:02:01.0000] <hsivonen> all my optimizations that make the tokenizer loop over or under 8000 bytes have a very measurable effect :-) [13:02:02.0000] <jgraham__> It may well have more recursion than python code that aims to be performant [13:03:00.0000] <Philip`> I solve that by using a language without such arbitrary limits :-) [13:03:01.0000] <jgraham__> But optimum performance is not a stated design goal (fortunately) [13:03:02.0000] <Philip`> (Well, I suppose I've occasionally written C++ methods large enough that the compiler simply rejected my program) [13:03:03.0000] <jgraham__> (although it is obviously nice to be faster) [13:03:04.0000] <Philip`> jgraham__: There's already a correct implementation of html5lib, in Python, so isn't the whole purpose of chtml5lib to be fast? [13:04:00.0000] <hsivonen> jgraham__: I thought the goal of chtml5lib was to make Python fast by using C under the hood [13:08:00.0000] <jgraham__> I mean the design goal of html5lib-in-python [13:08:01.0000] <jgraham__> Using C is obviously supposed to help perf :) [13:08:02.0000] <Philip`> Ah, right [13:10:00.0000] <jgraham__> Although I'm not even clear that the project is worth doing now (globally, it may be for me personally) since Philip`and takkaria and hsivonen may all produce C based html5 parsers which I could write python bindings for [13:10:01.0000] <jgraham__> "the project" being chtml5lib [13:10:02.0000] <Philip`> My parser is mostly a toy/experiment so hopefully someone will make a good one instead :-) [13:10:03.0000] <htmlfivedotnet> is failing 1600 of the 7400 tests a normal behavior, or am i missing libs? (html5lib) [13:11:00.0000] <jgraham__> htmlfivedotnet: It's not normal but it shouldn't test libs that you don't have either [13:12:00.0000] <Philip`> htmlfivedotnet: Which version of html5lib? [13:12:01.0000] <htmlfivedotnet> trunk [13:12:02.0000] <Philip`> Ran 7650 tests in 23.214s [13:12:03.0000] <Philip`> FAILED (failures=46, errors=3) [13:12:04.0000] <Philip`> is what I get on trunk [13:13:00.0000] <htmlfivedotnet> FAILED (failures=4, errors=1630) [13:13:01.0000] <jgraham__> Do you have any/all of lxml, BeautifulSoup, pyxdom, chardet? [13:13:02.0000] <Philip`> (for Python, not Ruby) [13:13:03.0000] <jgraham__> (and probaly some others I forget) [13:13:04.0000] <htmlfivedotnet> /me doublechecks lxml [13:14:00.0000] <htmlfivedotnet> jgraham__: i know i don't have the others [13:15:00.0000] <jgraham__> Can you tell from the error messages what is failing? (or throw some of the output online and I'll have a look) [13:15:01.0000] <jgraham__> FAILED (failures=4) [13:15:02.0000] <jgraham__> is what I get [13:15:03.0000] <Philip`> /me tries installing chardet [13:15:04.0000] <jgraham__> My tree seems to have some patches in though :) [13:16:00.0000] <htmlfivedotnet> test_title_body_mismatched_close, test_title_body_named_charref, test_script, test_script_src [13:16:01.0000] <Philip`> Ran 7651 tests, failures=46, errors=3 [13:16:02.0000] <htmlfivedotnet> installing lxml gives the same result, but a few different run-time outputs [13:16:03.0000] <jgraham__> htmlfivedotnet: Those are sanitizer tests. How hard would it be to dump some of the output to a file and put it online somewhere [13:17:00.0000] <jgraham__> ? [13:17:01.0000] <Philip`> /me goes home [13:17:02.0000] <htmlfivedotnet> jgraham__: no problem. one sec [13:17:03.0000] <htmlfivedotnet> http://pastebin.ca/1000764 [13:18:00.0000] <hsivonen> jgraham__: It would be nice to have automated Java to C, C++ and Objective-C translation for the Validator.nu HTML parser tokenizer and abstract tree builder [13:18:01.0000] <Philip`> hsivonen: Why not start from an abstract language that avoids the complexities of Java, and convert from that into Java and C and C++ etc? [13:19:00.0000] <jgraham__> htmlfivedotnet: Those are the same failures I get. What are the errors? [13:19:01.0000] <hsivonen> Philip`: because I already have a Java impl and C, C++ and Objective-C are structurally similar [13:19:02.0000] <hsivonen> nn [13:19:03.0000] <htmlfivedotnet> all 1630 of them? for some reason python runtests.py > text.txt isn't putting them to a text file, and my console doesn't have 8000 lines of buffer [13:20:00.0000] <htmlfivedotnet> jgraham__: you know what... looks like i have json problems. let me try to fix that. [13:20:01.0000] <Philip`> htmlfivedotnet: python runtests.py 2>&1 >text.txt [13:20:02.0000] <jgraham__> htmlfivedotnet: Nah, I think just a few should be enough to wok out what's going on. [13:21:00.0000] <htmlfivedotnet> i keep getting "AttributeError: class simplejson has no attribute 'loads'". [13:21:01.0000] <Philip`> (to redirect stderr onto stdout, then to save both in the .txt file) [13:21:02.0000] <htmlfivedotnet> so i think my json is broken. [13:21:03.0000] <jgraham__> htmlfivedotnet: You need to install simplejson [13:21:04.0000] <htmlfivedotnet> Philip`: Thanks. I'll remember that [13:21:05.0000] <jgraham__> That would explain a lot :) [13:22:00.0000] <jgraham__> We should make a better error message there :) [13:22:01.0000] <jgraham__> Philip`: I'm also curious what faliures you are getting? [13:23:00.0000] <Philip`> jgraham__: Maybe support.py should just die when simplejson is missing, instead of trying (and failing) to implement it itself [13:24:00.0000] <Philip`> jgraham__: I'll tell you in ~40 minutes :-) [13:24:01.0000] <jwalden> /me wishes everybody could just get along and use a single mailing list for spec discussion [13:24:02.0000] <htmlfivedotnet> 3 errors, 4 fails (same failures): http://pastebin.ca/1000774 [13:24:03.0000] <jgraham__> Philip`: Yes. It should. That was a hack that someone (Sam?) added and I forgot to take out when it stopped working [13:25:00.0000] <jgraham__> htmlfivedotnet: I think I have fixes for those errors in my tree (it's an issue with the test harness iirc) [13:25:01.0000] <jgraham__> So it's working as well for you as for anyone else [13:25:02.0000] <jgraham__> I need to fix the other issues [13:26:00.0000] <jgraham__> /me will have a look later this evening [13:26:01.0000] <htmlfivedotnet> seems to be. i figured something was wrong on my end... [13:27:00.0000] <jgraham__> jwalden: Either one of those things seems pretty unlikely on it's own, so them both happening seems very improbable :) [13:27:01.0000] <jwalden> I know, I'm just feeling grouchy [14:04:00.0000] <Philip`> jgraham__: Oops, those failures existed because I have another file of tree-construction tests in testdata [14:04:01.0000] <Philip`> If I remove that file, I only get 4 failures, 3 errors [14:04:02.0000] <jgraham__> Philip`: That sounds like the expected behaviour [14:05:00.0000] <Philip`> I don't know which of my uncommitted tests are still legitimate given the changes to the spec, so I'll ignore them until I get around to checking parser things again in the future [14:08:00.0000] <Hixie> man, addressing the needs of bloggers was a stroke of genius [14:09:00.0000] <Hixie> every time a blogger looks at html5, they're all like "sweet, this makes blog way better" [14:09:01.0000] <Hixie> and then they like html5 [14:11:00.0000] <jgraham__> Hixie: presumably that method of optimisation would lead to specs that mainly address the needs of other specs (since the main people who read specs are people writing other specs) [14:11:01.0000] <Hixie> well it wasn't intentionally optimised that way [14:12:00.0000] <jgraham__> I'm not suggesting it was :) But it provides a model of why some specs end up so divorced from reality [14:12:01.0000] <jgraham__> or at lkeast from the needs of real users [14:12:02.0000] <Hixie> oh for sure [14:13:00.0000] <Hixie> annevk: i put to you a challenge: get the XHR2 spec agreed to by everyone before the F2F, so i don't have to go :-) [14:13:01.0000] <jgraham__> Hixie: Impossible things take longer [14:13:02.0000] <jgraham__> :) [14:13:03.0000] <Hixie> shouldn't be that impossible [14:13:04.0000] <Hixie> just need to get sicking to tell us what he wants [14:14:00.0000] <jgraham__> /me actually has no idea what the status of XHR2 is [14:15:00.0000] <jgraham__> I thought it was just AC that was an issue for Mozilla? Or is the AC dependency the only remaining XHR2 issue? [14:17:00.0000] <Hixie> ac/xhr2, same thing [14:18:00.0000] <jgraham__> Oh OK [14:18:01.0000] <jgraham__> Philip`: If you svn update html5lib it shouldn't have the three test errors now, assuming I checked the right code in [14:19:00.0000] <othermaciej_> I think Mozilla's issue was cookies [14:19:01.0000] <othermaciej_> I owe some writing on security issues related to cookies [14:19:02.0000] <othermaciej_> in particular I am pretty convinced now that *not* sending them is a security risk [14:20:00.0000] <Philip`> jgraham__: "FAILED (failures=4)" - looks like success [14:20:01.0000] <othermaciej> (sadly meetings all day today) [14:20:02.0000] <jgraham__> Philip`: Thanks [15:41:00.0000] <Hixie> annevk: do you know if you have yet defined same-origin security policies for CSSOM? [15:42:00.0000] <Hixie> in particular, that a script shouldn't be able to mutate a StyleSheet object from another origin [15:56:00.0000] <fantasai> Hixie: note that the Web Forms spec explicitly requires Unicode case-folding. [15:56:01.0000] <Hixie> yeah wf2 is old and crusty [15:56:02.0000] <fantasai> if you're not sure you want that (seemed from your message to hsivonen that you didn't) you should probably remove it [16:13:00.0000] <htmlfivedotnet> Hixie: Did you just read a blog post about why html5 is great for blogs, thus leading to your comment? I just wonder if it was my recent post out of some strange coincidence [16:14:00.0000] <Hixie> fantasai: wf2 will be merged with html5 in due course, until then it's frozen [16:14:01.0000] <Hixie> htmlfivedotnet: no idea which blog it was [16:29:00.0000] <annevk> no gta4 for me tonight [16:30:00.0000] <annevk> line was just too long [16:30:01.0000] <Hixie> amazon is shipping it to me tomorrow [16:30:02.0000] <Hixie> it's already on a truck somewhere [16:30:03.0000] <Philip`> annevk: Was there a midnight release? [16:30:04.0000] <annevk> yeah [16:31:00.0000] <annevk> but i was too late because i was going to see a movie and since i have to get up early tomorrow waiting until 2AM or something didn't seem like a feasible plan [16:31:01.0000] <Philip`> Was that like the PS3 release where everybody was beating each other up to get ahead in the line, or was it like the Wii release where everyone make cookies for each other? [16:32:00.0000] <annevk> it was a normal line [16:32:01.0000] <Philip`> Oh, how unexciting [16:32:02.0000] <Hixie> what's the origin of a Document whose URI is about:blank? [16:34:00.0000] <annevk> the Access-Control-Origin is "null" [16:35:00.0000] <annevk> unless it's inside some <iframe> I suppose and it gets the origin from somewhere else [16:35:01.0000] <Hixie> that's what i mean [16:35:02.0000] <jwalden> that doesn't jibe with HTML5's origin for about:blank-spawned windows [16:36:00.0000] <Hixie> html5 doesn't define about:blank origin at the moment [16:36:01.0000] <Hixie> there's a big red box for that case [16:36:02.0000] <Hixie> i just added it [16:36:03.0000] <annevk> I suppose it's kind of hard to get an about:blank and initiate some kind of cross-site request without having it associated with some other origin :) [16:36:04.0000] <jwalden> oh, I'm thinking of javascript: [16:36:05.0000] <Hixie> on another note, i just defined how document.domain works [16:36:06.0000] <jwalden> ooh [16:36:07.0000] <jwalden> /me looks [16:37:00.0000] <Hixie> search for "Effective script origin" for the juicy bits [16:37:01.0000] <Hixie> and if you have a better term than "effective script origin", let me know [16:39:00.0000] <jwalden> what happened to the multipage version? the URL seems awol right now [16:39:01.0000] <jwalden> http://www.whatwg.org/specs/web-apps/current-work/multipage/ [16:40:00.0000] <annevk> changelog: http://html5.org/tools/web-apps-tracker?from=1501&to=1502 [16:40:01.0000] <Hixie> uh [16:40:02.0000] <Hixie> dunno [16:40:03.0000] <Hixie> will try to fix [16:42:00.0000] <jwalden> I think the port part doesn't match what Moz does (it uses the port, but I'm not sure how), but I don't think anyone will care [16:43:00.0000] <jwalden> we do have a bug against this, tho, in that we allow "example.org/foo/bar/baz" I think right now, being equivalent to "example.org" :-( [16:43:01.0000] <Hixie> as far as i can tell, mozilla ignores the port once you set document.domain, no? [16:44:00.0000] <jwalden> ...I'm not sure [16:44:01.0000] <Hixie> yeah i decided to err on the side of safety with not allowing path components [16:44:02.0000] <Hixie> since webkit doesn't do it [16:44:03.0000] <jwalden> I can't see a good reason to allow them [16:44:04.0000] <Hixie> so i'm guessing it's not needed for web compat [16:44:05.0000] <jwalden> I'm sort of scared that we do, actually [16:44:06.0000] <Hixie> heh [16:44:07.0000] <Hixie> i know the feeling :-) [16:44:08.0000] <Hixie> multipage is fixed [16:45:00.0000] <jwalden> the port thing I know we were using the value with a SetHostPort call at one time, until we discovered that method wasn't implemented and reverted to string-buildup [16:45:01.0000] <jwalden> but how a specified port affects anything, I don't know [16:45:02.0000] <jwalden> it might not [16:46:00.0000] <Hixie> oh you mean specifying it in document.domain? [16:46:01.0000] <Hixie> interesting [16:46:02.0000] <Hixie> from what i saw of the webkit source, that definitely isn't supported over there [16:47:00.0000] <Hixie> i think that for the purposes of XHR, 'origin' is now well-defined in all cases except about:blank iframes [16:47:01.0000] <Hixie> and windows [16:47:02.0000] <annevk> I recall we have some dragons around there too. I should probably get Hallvord to review... [16:48:00.0000] <jwalden> is "manual override" yet to be defined? [16:48:01.0000] <Hixie> no [16:48:02.0000] <Hixie> it's just a value [16:49:00.0000] <Hixie> that isn't a port number [16:49:01.0000] <jwalden> should define "same" then with respect to it [16:49:02.0000] <Hixie> "manual override" is the same as "manual override" but not anything else [16:49:03.0000] <Hixie> do i need to say that? [16:49:04.0000] <jwalden> er [16:49:05.0000] <jwalden> I'm stupid [16:49:06.0000] <jwalden> ignore me! [16:49:07.0000] <Hixie> heh [16:49:08.0000] <Hixie> :-/ [16:50:00.0000] <jwalden> /me is forgetting about symmetry [16:50:01.0000] <Hixie> jwalden: on another note, you sent feedback saying that document.open() doesn't reset the origin, but as far as i can tell, the spec doesn't let you call .open() unless your origin is the same anyway [16:50:02.0000] <Hixie> although now i guess the origin could be changed by a script that was document.domain'ed the same [16:51:00.0000] <jwalden> /me shall have to re-page that in [16:51:01.0000] <Hixie> but i don't think it really matters much in that case... [16:51:02.0000] <Hixie> i can just reply to the mail if you'd rather [16:53:00.0000] <jwalden> yeah, looking back I'm not sure what I was thinking there [16:54:00.0000] <Hixie> k [16:54:01.0000] <Hixie> i'll reply saying i'm ignoring you, and if you or someone else decides i'm wrong, i'm sure you or they will reply :-) [16:55:00.0000] <jwalden> there was a funky postMessage test sicking requested that was that situation, and which my initial implementation tickled, but I can't rationalize the question given that and how things should actually work otherwise [16:56:00.0000] <Hixie> did we decide if MessageEvent.origin should be in punycode (like document.domain) or fully Unicode? [16:57:00.0000] <jwalden> I wanted fully Unicode [16:57:01.0000] <annevk> no [16:57:02.0000] <jwalden> but no, no decision [16:57:03.0000] <jwalden> wait [16:57:04.0000] <jwalden> /me looks again [16:57:05.0000] <annevk> punycode is also consistent with Access-Control-Origin (though that's mostly because of HTTP limitations) [16:58:00.0000] <jwalden> we restrict document.domain to only be settable to puncode? [16:58:01.0000] <jwalden> I don't really like that [16:58:02.0000] <Hixie> well, the spec as written now does [16:58:03.0000] <Hixie> i guess i haven't checked browsers [16:58:04.0000] <jwalden> /me sees what Moz does with IDN [16:59:00.0000] <jwalden> I think we accept IDN [16:59:01.0000] <Hixie> yup [16:59:02.0000] <Hixie> looks like you do, from testing on ☺.damowmow.com [16:59:03.0000] <Hixie> oh actually i was testing safari [16:59:04.0000] <Hixie> so i guess i should change the spec 2008-04-29 [17:00:00.0000] <jwalden> http://mxr.mozilla.org/mozilla/source/dom/tests/mochitest/dom-level0/idn_child.html?force=1 [17:00:01.0000] <jwalden> we allow IDN [17:00:02.0000] <Hixie> ok will change that too [17:01:00.0000] <jwalden> cool [17:01:01.0000] <Hixie> it just returns punycode though [17:01:02.0000] <Hixie> which was really my question [17:01:03.0000] <jwalden> I think I'd prefer returning Unicode, but I don't know what we do now [17:02:00.0000] <jwalden> I think what we return depends on whether the TLD in question is whitelisted :-( [17:02:01.0000] <Hixie> well i'll let y'all work it out while i actually get my ass to work [17:02:02.0000] <Hixie> since i just noticed it's past 4pm [17:02:03.0000] <Philip`> Hixie: Why is it not currently working? [17:02:04.0000] <jwalden> and I very much prefer Unicode to an unpredictable value [17:03:00.0000] <jwalden> and Unicode seems the most consistent choice here [17:03:01.0000] <annevk> just need a tool so that authors can convert between the two easily [17:04:00.0000] <jwalden> and at runtime as well, then; requiring authors in the long term to have to think about punycode doesn't seem very nice [17:05:00.0000] <annevk> right [17:33:00.0000] <Hixie> unicode it shall be [01:32:00.0000] <zokka> hello [01:34:00.0000] <Hixie> is either of adam barth or collin jackson here? [01:35:00.0000] <Hixie> i have some thoughts on the frame navigation policy [01:35:01.0000] <Hixie> in particular, i just noticed that while window.open() in html5 currently implements the child-restriction policy, the window.frames[] API is completely origin-blocked, so you can't navigate frames anyway [01:36:00.0000] <zokka> hello hixie i am new [01:36:01.0000] <Hixie> hello [01:36:02.0000] <Hixie> welcome :-) [01:36:03.0000] <zokka> Don't fully understand wot you are saying though [01:37:00.0000] <zokka> came here to make some suggestions though doesnt seem to be anyone here [01:37:01.0000] <zokka> apart from you that is :D [01:38:00.0000] <hsivonen> zokka: if you want to suggest something, it's good that Hixie is here [01:38:01.0000] <zokka> does anyone bother to use <ins> and <del> [01:38:02.0000] <Hixie> a few [01:38:03.0000] <Hixie> not many [01:38:04.0000] <Hixie> <ins> slightly more than <del> iirc [01:38:05.0000] <zokka> <del> is nasty [01:38:06.0000] <hsivonen> and even then mostly inline [01:38:07.0000] <zokka> i was thinking [01:39:00.0000] <zokka> why not have a new attribute for things like <p> [01:39:01.0000] <zokka> called datetime [01:39:02.0000] <Hixie> yeah, we considered that [01:39:03.0000] <Hixie> but since people use <ins> and <del> so rarely it seemed pointless to work on making them mildly better :-) [01:40:00.0000] <zokka> i thought they may use it more if it was on <p> most ppl use that and you can use browser features to highlight changes [01:40:01.0000] <zokka> it seems nasty to add changes using <ins> [01:40:02.0000] <zokka> maybe for a few words [01:41:00.0000] <zokka> well i am just an amateur :D [01:41:01.0000] <Hixie> i think if people wanted the feature, they'd use <ins> and complain [01:41:02.0000] <Hixie> instead of just not using <ins> [01:41:03.0000] <Hixie> that seems to be the way web authors work :-) [01:42:00.0000] <zokka> yep [01:42:01.0000] <zokka> some ppl just use <div> most the time :D [01:43:00.0000] <zokka> i hate the <object> tag i hear they are replacing it with <video>, <audio> etc [01:43:01.0000] <othermaciej> Hixie: they are more likely to be around at more normal-person times in PST [01:44:00.0000] <Hixie> i'll just bring it up when i have lunch with collin on wednesday i guess [01:44:01.0000] <Hixie> zokka: they is us :-) [01:45:00.0000] <zokka> liek i say i am an amateur but i've had real trouble using object to insert video it's just so complicated plus firefox crashes alot [01:46:00.0000] <zokka> for instance there are like 2-3 ways to link to the same video arnt there [01:48:00.0000] <zokka> stop me if i am wrong :D [01:50:00.0000] <othermaciej> Hixie: can't window.open() bypass the origin-blockedness of window.frames[] by targetting a deep subframe by name? [01:50:01.0000] <othermaciej> or is that just an issue for a generic frame name lookup algorithm which avoids this? [01:50:02.0000] <othermaciej> (not up to speed on relevant parts of the spec) [01:51:00.0000] <othermaciej> Hixie: btw I'm not sure it's good for document.domain changes not to propagate to about:blank children (I am guessing that is the only upshot of copying instead of referencing the parent/opener's origin) [01:52:00.0000] <othermaciej> or at least, I don't think propagating it is a security risk, and it avoids the chance that you will accidentally make your own about:blank subframes inaccessible [01:52:01.0000] <othermaciej> (I guess technically you can change their document.domain first, then your own) [01:52:02.0000] <hsivonen> zokka: markup up the kind of edits that ins/del don't cover gets complex fast for little gain [01:52:03.0000] <Hixie> othermaciej: yes, window.open() right now is subject to the child-navigation policy (i'm changing it to ancestor as we speak) [01:52:04.0000] <Hixie> othermaciej: but .frames[] right now (which is what they use in all their examples) is completely blocked in the spec (which is an oversight( [01:53:00.0000] <Hixie> )) [01:53:01.0000] <zokka> yes hsivonen i agree with that i was wondering why do you use <object data="video.avi" instead of src? [01:53:02.0000] <Hixie> i guess .frames[]-type access needs to be limited to the descendant-navigation policy too [01:53:03.0000] <Hixie> which is subtly different from same-origin [01:53:04.0000] <Hixie> and will be quite exciting [01:54:00.0000] <othermaciej> I hate subtle security policies [01:55:00.0000] <Hixie> yeah [01:55:01.0000] <Hixie> i guess the other option is to make .frames[] always accessible and limit .location [01:55:02.0000] <zokka> em could you guys link to wot you are saying so i can go over it at a later date please? [01:56:00.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/ [01:57:00.0000] <zokka> kk thxs:| [01:59:00.0000] <hsivonen> zokka: data on object is a weird thing from a decade ago. my guess is that whoever wrote the proposal for <object> back then wasn't too concerned about consistency with the rest of HTML [02:02:00.0000] <othermaciej> Hixie: why can't frames just be subject to the same-origin check? [02:04:00.0000] <Hixie> i thought that broke the web [02:04:01.0000] <Hixie> am i wrong? [02:05:00.0000] <Hixie> i'd love to leave it if that's an option [02:07:00.0000] <othermaciej> oh, I don't actually know, I thought you knew a specific reason it broke the web [02:07:01.0000] <othermaciej> lemme see what we do for it [02:08:00.0000] <othermaciej> we just make frames a self-reference, not checked for security [02:08:01.0000] <othermaciej> not sure if we check access to the contents for same-origin [02:08:02.0000] <Hixie> yeah when i say frames[] i mean the window [[Get]]-by-index behaviour [02:11:00.0000] <othermaciej> yeah index access is done without security check, not sure why, but I assume there is a reason [02:11:01.0000] <othermaciej> (if only copying other browsers) [02:11:02.0000] <othermaciej> that sucks [02:12:00.0000] <Hixie> no check at all? [02:12:01.0000] <Hixie> how about .location.href ? [02:13:00.0000] <othermaciej> read access to that is checked (probably not write access since you can assign to location without same-origin priveleges) [02:13:01.0000] <Hixie> sounds like you're vulnerable to the 1999 Georgi Guninski citibank attack then [02:14:00.0000] <othermaciej> well I am just reading the code here, not testing [02:14:01.0000] <Hixie> whereby a site can just walk the frame hierarchy and set a subframe to point to another site and spoof a password form [02:14:02.0000] <othermaciej> but I will check that out [02:14:03.0000] <othermaciej> Hixie: ah, I am wrong [02:15:00.0000] <othermaciej> we do our usual cross-frame navigation check (different from same-origin check) on assigning location.href [02:16:00.0000] <Hixie> ah interesting [02:16:01.0000] <Hixie> so you can walk the hierarchy [02:16:02.0000] <Hixie> but not assign [02:16:03.0000] <Hixie> so you could postMessage() to any frame [02:20:00.0000] <othermaciej> that appears to be the case (again not tested) [02:21:00.0000] <Hixie> interesting [02:22:00.0000] <Hixie> that's easier to specify i think [02:22:01.0000] <Hixie> so good [02:22:02.0000] <zokka> i wont bother you guys too much but how come on http://www.w3schools.com/tags/html5_embed.asp it says the embed tag is new? [02:22:03.0000] <zokka> i thought it was a old netscape tag [02:23:00.0000] <Hixie> they probably mean new to the standards [02:23:01.0000] <Hixie> html4 didn't have it [02:23:02.0000] <Hixie> even though browsers supported it [02:23:03.0000] <zokka> i thought they where getting rid of it [02:24:00.0000] <othermaciej> browsers getting rid of it? no [02:25:00.0000] <zokka> just that there are all these ppl trying to use complicated work around for <object? [02:25:01.0000] <zokka> so they didnt have to use <embed> because it wasnt standards compliated [02:27:00.0000] <Hixie> zokka: yeah [02:27:01.0000] <Hixie> zokka: we figured we should just make it standards compliant :-) [02:27:02.0000] <zokka> cool :D [02:27:03.0000] <zokka> because i hate it when the workarounds are so complicated or use aload of javascript [02:28:00.0000] <zokka> anyway the <video> tag should be nice i recon this time around the browser makers will get it right [02:29:00.0000] <zokka> i recon ie will have perfect implatation next time round :D [02:44:00.0000] <Hixie> othermaciej: what else do you allow cross-origin access to? .top? .parent? [02:45:00.0000] <othermaciej> Hixie: this gives a first-order approximation: http://trac.webkit.org/browser/trunk/WebCore/page/DOMWindow.idl?format=txt [02:45:01.0000] <Hixie> thx [02:45:02.0000] <othermaciej> (methods and attribtues marked DoNotCheckDomainSecurity) [02:46:00.0000] <othermaciej> but magical lookup rules (indexed or named lookup) are handled in custom code [02:46:01.0000] <othermaciej> and some objects that are accessible restrict all of their own methods and properties [02:46:02.0000] <othermaciej> and some things have custom implementations that do their own security checks [02:46:03.0000] <Hixie> what's [CheckNodeSecurity]? [02:46:04.0000] <Hixie> wow, you allow a lot more than html5 does [02:47:00.0000] <othermaciej> I am not sure those are all essential to allow [02:47:01.0000] <othermaciej> CheckNodeSecurity does a security check based on the containing frame elemet's window's origin instead of this window's origin [02:47:02.0000] <Hixie> lordy [02:48:00.0000] <othermaciej> (I think there might be other similar uses, like contentDocument on frames) [03:18:00.0000] <hsivonen> annevk: I'm going to make an XTech slide about Validator.nu server side being ready for AC [03:18:01.0000] <hsivonen> annevk: are there any experimental browser builds I should mention? [04:54:00.0000] <Hixie> i'm having issues with the spec gen script not handling the size of the spec [04:54:01.0000] <Hixie> sigh [04:57:00.0000] <zcorpan_> Hixie: drop the mathml entities :P [04:57:01.0000] <Hixie> heh [04:57:02.0000] <Hixie> i'm not sure they're in the spec as the spec gen sees it [04:57:03.0000] <Lachy> Hixie, are the problems just performance issues, or is it breaking in other ways? [04:58:00.0000] <Hixie> it's sometimes dying half way [04:59:00.0000] <Philip`> Sounds like a compelling reason to split HTML5 into multiple specifications [05:00:00.0000] <zcorpan_> sounds like a compelling reason to roll your own spec gen [05:00:01.0000] <Lachy> Hixie, just pull out the sections you're planning to drop, like data templates [05:01:00.0000] <Philip`> Lachy: They're not in the HTML5 spec [05:01:01.0000] <Lachy> were the already removed? [05:01:02.0000] <Philip`> Oh wait [05:01:03.0000] <Philip`> I'm confused and wrong [05:02:00.0000] <Philip`> and thinking of repetition templates instead [05:02:01.0000] <Philip`> so please choose to ignore me [05:02:02.0000] <Lachy> I already ignore you :-P [05:02:03.0000] <Hixie> yeah i should drop the data templates stuff [05:02:04.0000] <Hixie> was gonna wait until i dropped repetition, though [05:04:00.0000] <Philip`> Hixie: "The owner is URI that redirected to the javascript: URI." - s//the / [05:05:00.0000] <Hixie> fixed [05:06:00.0000] <Hixie> woot [05:06:01.0000] <Hixie> i have dealt with all the feedback i know of on origin [05:07:00.0000] <Lachy> awesome. what's next? [05:08:00.0000] <Hixie> dunno. any requests? [05:08:01.0000] <Hixie> i was thinking of adding text to canvas [05:08:02.0000] <Philip`> Fix <font> and style? :-) [05:09:00.0000] <Hixie> Philip`: how good are canvas implementations at the moment? good enough to handle more new features, or are they still quite buggy? [05:09:01.0000] <Lachy> oh yeah, drop the font element already [05:09:02.0000] <Hixie> yeah i could do font and style="" [05:09:03.0000] <Hixie> was probably gonna wait til i got to the rendering section though [05:09:04.0000] <Hixie> which is like the last priority other than references [05:09:05.0000] <Philip`> <font> seems to cause a number of people to think badly of HTML5 [05:10:00.0000] <Hixie> they'll live [05:10:01.0000] <Philip`> so it seems kind of sensible to try fixing it now, rather than leaving people with an incorrect impression of how HTML5 is likely to end up [05:10:02.0000] <Hixie> i guess [05:13:00.0000] <Hixie> the problem with the style="" attribute is that i don't have a solution [05:14:00.0000] <Hixie> other than the concept of a less good conformance level, which as hsivonen points out, is a bad idea for oh so many reasons [05:15:00.0000] <Philip`> Hixie: Now that everyone's doing getImageData/putImageData, I think they've all got pretty much all the features implemented, and I'm not currently aware of any particular major bugs (except that ImageData probably varies quite a bit, and I don't know how large the compatible intersection is, since I haven't really looked at any of this since last year) [05:15:01.0000] <Hixie> oh, really [05:15:02.0000] <Hixie> interesting [05:16:00.0000] <Hixie> so do you think we could add text without compromising existing bug fixing efforts? [05:16:01.0000] <zcorpan_> Hixie: just allow style='' everywhere but say that the document must still be usable when all style=''s are ignored [05:16:02.0000] <Hixie> zcorpan_: i guess we could do that [05:16:03.0000] <Philip`> (There's loads of tiny bugs, like handling Infinity/NaN inconsistently, but I'm guessing they don't affect interoperability urgently) [05:16:04.0000] <Lachy> Hixie, what's the reasons for not making style="" conforming? [05:17:00.0000] <Hixie> Lachy: same reasons for not making <Font> conforming [05:17:01.0000] <Lachy> is it just because it's non-semantic? [05:17:02.0000] <Lachy> and presentational [05:17:03.0000] <Hixie> it being non-semantic isn't the actual reason, but it's the proxy for the reason that people can rally behind, yes [05:18:00.0000] <Hixie> it's the same reason <font size=3 color=blue> is bad [05:18:01.0000] <Hixie> it can't be repurposed, it's not maintainable, it is media-specific, etc [05:18:02.0000] <Lachy> right [05:20:00.0000] <zcorpan_> i think <font color> isn't technically bad as <b>/<i>-like annotations, although people hate <font> so i guess it makes sense to not allow it [05:20:01.0000] <Hixie> as far as i can tell, i have no <font> element feedback [05:20:02.0000] <Philip`> Hixie: That probably depends on how much time implementors will have before their next releases - it seems like most will have around a year or so, which sounds like it wouldn't be rushing much, so I'd expect it wouldn't impact much on bug-fixing of old features [05:20:03.0000] <Hixie> and only 4 e-mails on style="", one of which i just wrote (containing zcorpan_'s suggestion above) [05:21:00.0000] <Philip`> But I know very little about browser development cycles, so I could be totally wrong :-) [05:21:01.0000] <Hixie> Philip`: k [05:22:00.0000] <Hixie> i guess i should sleep now anyway [05:23:00.0000] <Philip`> /me thinks style="" makes things easier to maintain rather than harder, because he can look at the element he wants to change and then change it and then it works, instead of having to follow invisible back-references into stylesheets and then hoping it won't have side-effects on anything else in the site [05:24:00.0000] <Philip`> (...assuming the alternative to style="" is using selectors in stylesheets to associate styles and elements) [05:28:00.0000] <Philip`> Hixie: http://xhtml.com/en/future/x-html-5-versus-xhtml-2/#x5-uncool-font has <font> element feedback - it's just not cool [05:28:01.0000] <Hixie> heh [05:28:02.0000] <Hixie> the maintenance thing is fine if that's the only element with that style [05:29:00.0000] <Hixie> but that's only going to be the case on small pages that aren't part of big sites, etc [05:33:00.0000] <zcorpan_> news-like announcements often have use-once style [05:33:01.0000] <zcorpan_> that's where i've used style='' before [05:35:00.0000] <Philip`> <input size> is used when people want one-off presentational attributes [05:36:00.0000] <Philip`> (though HTML5 says they can't write that, so they'd have to do it pointlessly verbosely like <input style="width:10em">) [05:36:01.0000] <zcorpan_> (css also doesn't have a proper alternative to size='') [05:37:00.0000] <Philip`> and it doesn't make sense to extract that into an external stylesheet since it's different for every form you make (depending on how much text you expect people to enter into the form) [05:40:00.0000] <Philip`> Big sites aren't all homogeneous, and they're still going to have lots of one-off bits of code [05:40:01.0000] <Philip`> so it's nice to have some way to handle that, and just put up with people who abuse it and cause maintenace pain to themselves :-) [05:41:00.0000] <Philip`> s//n/ [05:42:00.0000] <zcorpan_> Philip`: yeah [05:47:00.0000] <Lachy> I need to write an example script using .querySelector(). Does anyone have any suggestions for a trivial, yet somewhat practical example I could write? [05:50:00.0000] <Philip`> Lachy: document.querySelector('img[src$=".png"]').forEach(function (img) { img.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+img.src+')' }); [05:50:01.0000] <Philip`> Maybe not quite trivial enough... [05:51:00.0000] <Philip`> Do you want something that's not just getElementById or getElementsByClassName? [05:51:01.0000] <Lachy> yeah, and preferably something that would be relevant to Opera's implementation [05:52:00.0000] <Lachy> an IE hack unfortnately isn't [05:52:01.0000] <zcorpan_> Philip`: that would be pointless since only ie6 needs the filter and ie6 doesn't support querySelector [05:52:02.0000] <Philip`> zcorpan_: Yeah, I guess that's a minor problem with that example [05:54:00.0000] <Philip`> I suppose document.querySelector('input[required][value=""]) isn't that useful in Opera either :-( [05:54:01.0000] <Lachy> it would help if the editor of the selectors api spec hadn't filled it with such contrived examples! [05:55:00.0000] <Philip`> The spec must have been written for certain use cases, so why not just use those? :-) [05:55:01.0000] <Hixie> i try to base the examples in html5 on what people mention as their use cases [05:55:02.0000] <Lachy> I have one using input elements for checkboxes: "input:checked" [05:55:03.0000] <zcorpan_> perhaps querySelector can be used for aria stuff [05:57:00.0000] <zcorpan_> although most authors don't know about aria so it would likely just be a distraction [05:57:01.0000] <Lachy> yeah, I guess I could take a look at previous mailing list discussions about it to see what came up. [05:57:02.0000] <Philip`> var tds = document.getElementById('graphdata').querySelector('td:last-of-type'); tds.forEach(function (td) { var value = td.textContent; td.innerHTML = '<img src="bar.png" style="width:'+value+'px" alt="'+value+'">' }); [05:58:00.0000] <Philip`> (for converting a numerical table into a graphicalised version) [05:58:01.0000] <Lachy> or look at what people are using the equivalent JQuery APIs for, but it's kind of hard to ask google "Show me all pages that use the JQuery API script" [05:58:02.0000] <Philip`> (Maybe Opera is too rubbish to have forEach, though) [05:59:00.0000] <Philip`> Lachy: It would be convenient if you had a collection of loads of web pages that you could grep [06:01:00.0000] <Lachy> Philip`, that wouldn't work anyway, since the .forEach method isn't implemented on NodeLists. It would need to be converted to an array first. [06:02:00.0000] <Philip`> Lachy: http://philip.html5.org/misc/jquery-pages.txt has some that match /<script[^>]*jquery/ [06:02:01.0000] <Philip`> Lachy: Oh, maybe Array.forEach(tds, function ...) then [06:06:00.0000] <Lachy> Philip`, thanks. That's a useful list. [06:07:00.0000] <Philip`> I have another four hundred if that list is too short :-) [06:07:01.0000] <krijnh> /me also has some jQuery examples, if needed :) [06:08:00.0000] <Philip`> jQuery: More popular than <cite>! [06:09:00.0000] <Philip`> That'd be a great marketing slogan [06:09:01.0000] <Philip`> Woah, it's even more popular than <csobj> [06:09:02.0000] <Philip`> /me waits for webgrep to finish making the list grow [06:10:00.0000] <Lachy> krijnh, I'm sure they'll be useful for me in the future [06:10:01.0000] <Lachy> what's <csobj>? [06:10:02.0000] <Philip`> Some GoLive component thing [06:17:00.0000] <Hixie> <font> is gone [06:17:01.0000] <Hixie> style="" is global [06:27:00.0000] <hsivonen> Hixie: there should be <fond> feedback from me asking for <font color> to become conforming [06:28:00.0000] <Hixie> ah [06:28:01.0000] <Hixie> might have gotten filed elsewhere [06:31:00.0000] <Philip`> Fond feedback? [06:32:00.0000] <hsivonen> font [06:34:00.0000] <Philip`> Is the empty string a valid CSS declaration? [06:34:01.0000] <Hixie> yes [06:34:02.0000] <Philip`> Ah, good [06:35:00.0000] <Philip`> Lachy: http://philip.html5.org/misc/jquery-pages.txt has a load more now [06:36:00.0000] <Lachy> Philip`, thanks. But I've got a good example now [06:38:00.0000] <Hixie> nn [06:38:01.0000] <Philip`> jQuery: More popular than <caption>! [06:40:00.0000] <zcorpan_> Philip`: makes sense, <caption> is pretty boring [06:41:00.0000] <Philip`> More popular than <blink> too, and that isn't pretty boring [06:42:00.0000] <zcorpan_> perhaps we should make <blink> animate so that it looks just as cool as jquery animations, to get some competition [06:44:00.0000] <Philip`> It'll have to go a long way to catch up with <marquee> [06:50:00.0000] <zcorpan_> <marquee>: More popular than jQuery! [07:32:00.0000] <zcorpan_> html5-elements r28: -<font>, +style, +onstorage, +data-* [07:32:01.0000] <Philip`> HTML5: Infinitely more attributes than HTML4! [08:01:00.0000] <hsivonen> Philip`: that was already true with <embed> [08:01:01.0000] <hsivonen> twice infinitely more attributes than HTML4! [08:04:00.0000] <Philip`> hsivonen: But <embed> wasn't in HTML4 [08:05:00.0000] <zcorpan_> Philip`: that's why it was already true with <embed>... [08:05:01.0000] <Philip`> Huh? [08:05:02.0000] <Philip`> Oh [08:05:03.0000] <Philip`> I thought you meant <embed> in HTML4 [08:06:00.0000] <Philip`> hsivonen: To avoid causing me confusion and suffering, I think you should have said "twice infinitely more attributes than the previous revision of HTML5!" [08:07:00.0000] <Philip`> Oh wait [08:07:01.0000] <Philip`> Now I'm just totally wrong [08:07:02.0000] <Philip`> hsivonen: You were right all along [08:08:00.0000] <Philip`> /me misread "twice infinitely more than" as "twice as many as the infinity that were in" [08:11:00.0000] <zcorpan_> Hixie: the spec says "The declarations specified must be parsed", not "The attribute's value must be parsed", which might imply that there is some preprocessing (like, splitting on ;) to get the declarations [08:12:00.0000] <zcorpan_> s/;)/';')/ [08:18:00.0000] <htmlfivedotnet> ooh. only one failure in the html5lib now. is that what you guys are all getting? I can't wait to play around with it [08:22:00.0000] <zcorpan_> Hixie: how about the icons used at http://html5.org/tools/web-apps-tracker ? [08:23:00.0000] <Philip`> zcorpan_: What licensing do they have? [08:23:01.0000] <zcorpan_> Philip`: dunno [08:38:00.0000] <takkaria> Hixie: how does the PDF version of the spec get generated? [08:40:00.0000] <Philip`> takkaria: Probably a bit like http://hsivonen.iki.fi/printing-wa10/ [09:30:00.0000] <hsivonen> hmm. interesting. although methods beat switch on the PPC client VM, switch does indeed beat methods on the x86 client VM! [09:40:00.0000] <htmlfivedotnet> hsivonen: wider pipelines to process more at once for the ppc (all methods), whereas the x86 barrels through the narrow switches at full megahertz speed [09:41:00.0000] <htmlfivedotnet> i bet that compiled in 64 bit, the x86 would be right in line on methods [09:54:00.0000] <Philip`> hsivonen: I have Java on x86_64 in case it'd help to test that too [09:55:00.0000] <Philip`> (It seems to say I only have the server VM and not client, though...) [09:56:00.0000] <hsivonen> Philip`: http://about.validator.nu/htmlparser/perf2.zip [09:56:01.0000] <hsivonen> Philip`: the client VM is not available for x86_64 [09:58:00.0000] <Philip`> hsivonen: Ah, that would explain it [09:58:01.0000] <hsivonen> Hixie: I think making PCDATA-data and non-PCDATA-data states different states is likely to be a big perf win [09:59:00.0000] <Philip`> Hmm, my results might be a little suspect since three quarters of my CPU is running theorem provers [09:59:01.0000] <hsivonen> I think I'm going to break the data state into four states: PCDATA, RCDATA, CDATA and escape flag [10:00:00.0000] <hsivonen> I also think I should break the escape flag state further to avoid a look-back buffer [10:00:01.0000] <hsivonen> Hixie: you are cheating whenever you spec lookahead or lookback :-) [10:01:00.0000] <Philip`> hsivonen: He's optimising for readability, and trusting implementors to optimise for performance :-) [10:02:00.0000] <hsivonen> Philip`: does your OCaml parser generator generate 6 states for the data state? [10:16:00.0000] <Philip`> hsivonen: No [10:16:01.0000] <Philip`> hsivonen: I do have code that approximately splits each state up into lots of (state, content-model-flag) stats, like in http://canvex.lazyilluminati.com/misc/states2.png [10:17:00.0000] <Philip`> but haven't put that into the code generation part, because it gets a little messier when the tree constructor can change content-model-flag without the tokeniser's knowledge [10:18:00.0000] <Philip`> hsivonen: Running for 1 minute on Wikipedia's Main_Page from a few days ago, on Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode), for XML/methods/switch I get 53280/27395/27294 [10:19:00.0000] <Philip`> so there's no real different between methods and switch [10:19:01.0000] <Philip`> *difference [10:21:00.0000] <Philip`> s/stats/states/ five minutes ago [10:22:00.0000] <Philip`> Oh, also I haven't put it into the code generation part because I'd need to write a better optimiser for the conditions (e.g. "contentModelFlag == PCDATA" is trivially false in the DataState-RCDATA state) [10:22:01.0000] <Philip`> (but some things are less trivial) [10:48:00.0000] <Philip`> hsivonen: Also, 5 minute runs on the same machine/page give pretty much the same results (XML=269592, methods=137637, switch=132836) [12:14:00.0000] <hsivonen> Philip`: I think the content model flag should become a return value from the tree builder [12:15:00.0000] <hsivonen> Philip`: thanks for the x86_64 results [12:15:01.0000] <hsivonen> x86 server: http://pastebin.ca/1002005 [12:42:00.0000] <virtuelv> MikeSmith: are there still lightning talk spots open? [12:44:00.0000] <MikeSmith> virtuelv, yeah [12:47:00.0000] <virtuelv> I certainly hope the talks don't have to be on topic and serious? [12:48:00.0000] <MikeSmith> the more fun, the better [12:49:00.0000] <virtuelv> Yeah, I'm struggling between "The political importance of lolcats" and "My name's relevance to «A boy named Sue»" [12:56:00.0000] <hsivonen> virtuelv: but lolcats are seriously important for political dissenters [12:57:00.0000] <virtuelv> hsivonen: yes, and so are their internet siblings, the motivational posters [12:58:00.0000] <virtuelv> MikeSmith: key point is, I'm interested, but I have no topic yet [13:16:00.0000] <hsivonen> Hixie: are JS engines now required to track the origin or string objects for data URIs? [13:16:01.0000] <hsivonen> do they do that already or is this something new? [13:17:00.0000] <othermaciej> hsivonen: right now Gecko and the latest WebKit give frames loaded from data: URIs no security authority [13:18:00.0000] <othermaciej> not sure what IE does [13:18:01.0000] <othermaciej> did Hixie invent something more complicated? [13:20:00.0000] <hsivonen> othermaciej: if I understood correctly, Hixie made data URIs inherit origin from the document/script where the string was minted [13:21:00.0000] <hsivonen> it's possible that I didn't understand correctly [13:21:01.0000] <othermaciej> oh that's not gonna fly [13:21:02.0000] <othermaciej> inheriting origin from the document/script that initiated the location change might do [13:22:00.0000] <othermaciej> but is somewhat complicated and unlike the handling for javascript: URIs for instance [13:22:01.0000] <othermaciej> (sadly I don't think data: can safely use either the javascript: or the about:blank security policy) [13:25:00.0000] <hsivonen> Philip`: it appears that your state analysis doesn't know that content model is always PCDATA when endTag returns [13:27:00.0000] <Philip`> hsivonen: That's the part that's impossible to determine when you've only got the tokeniser algorithm [13:28:00.0000] <Philip`> since it's the tree constructor that sets it back to PCDATA, if I remember correctly [13:28:01.0000] <Philip`> I should just hard-code that fact into the state-expander algorithm, and then it'd probably work alright [13:29:00.0000] <hsivonen> I think the various flavors of the data state should be individual states and startTag should be allowed to return the next state it wants [13:30:00.0000] <Philip`> That sounds like a sensible way to model it [13:32:00.0000] <Philip`> (I've kind of ignored the whole tokeniser / tree constructor interaction for now, and treated them as isolated algorithms) [13:32:01.0000] <Philip`> (I could just convert them into a single state machine) [13:34:00.0000] <Philip`> (37 tokeniser states * 19 tree constructor states isn't really that many) [13:35:00.0000] <Philip`> (* ~4 for the content model flag) [13:36:00.0000] <Philip`> (* 2 for the escape flag) [13:36:01.0000] <Philip`> (Okay, maybe I don't actually want to end up with five thousand functions in my parser) [13:46:00.0000] <hsivonen> Philip`: at first I thought that it would be smart to inline tree contructor into tokenizer, but it really isn't [13:48:00.0000] <Philip`> hsivonen: Why isn't it? [13:48:01.0000] <hsivonen> Philip`: the tree constructor methods are large and have more than one call site [13:48:02.0000] <Philip`> (I'm guessing it'd just be a huge amount of code duplication) [13:51:00.0000] <hsivonen> Hmm. I already have a concept of return state for entity consumption [13:51:01.0000] <hsivonen> I could use the same mechanism for rememberig CDATA vs. RCDATA when in escape [14:18:00.0000] <jgraham__> hsivonen: How do you deal with gathering all the tokens till the next non character token when parsing (R)CData? Do you have a special loop just for doing that or does it all go through the main loop somehow? [14:19:00.0000] <jgraham__> /me has to fix html5lib's liberal xml parser for cases like <script /><head> but really doesn't want to [14:19:01.0000] <jgraham__> (I want to not have a liberal xml parser based on html5lib. Unfortunately it is actually used in the wild) [14:20:00.0000] <jgraham__> s/?$/? or something else?/ [14:26:00.0000] <hsivonen> jgraham__: I have a variable that holds the position of the first character in a run of text and when a text run ends, I call a flushing method [14:27:00.0000] <hsivonen> jgraham__: when I skip over data that may turn out to be text, I either store it in a buffer just in case or have static buffers with certain magic strings [14:28:00.0000] <hsivonen> nn [14:29:00.0000] <jgraham__> goodnight [14:51:00.0000] <Hixie> takkaria: by a script that often gets killed by the kernel, running every day around 6am [14:52:00.0000] <Hixie> hsivonen: no, there shouldn't be any tracking of origin for data: URIs beyond the point at which it is used... did I make it more complicated by accident? [15:28:00.0000] <Hixie> if a WimLeers guy comes by when i'm not around, someone help him out :-) 2008-04-30 [17:12:00.0000] <annevk> hsivonen, I'm only aware of Firefox 3 but they turned it off [18:02:00.0000] <Philip`> Hmm, ImageData is all different to what I remember :-( [18:10:00.0000] <Dashiva> Philip`: And it's probably because of your own feedback ;) [18:17:00.0000] <Philip`> Dashiva: I'm not at all to blame for the fancy new things like dirty rects - I hardly even remember that that was discussed :-) [18:18:00.0000] <Philip`> Maybe I should have paid more attention [18:30:00.0000] <Philip`> You know, it'd be kind of nice if createImageData in WebKit didn't just use more and more memory each time you call it until it runs out of virtual memory and crashes [18:31:00.0000] <Philip`> Their implementation seems to limit the size of the ImageData you can create, but it's limited to about 400MB and you can call it lots of times [18:33:00.0000] <takkaria> heh [18:34:00.0000] <Philip`> but that's only a DOS bug so I assume nobody cares [18:36:00.0000] <Philip`> http://trac.webkit.org/browser/trunk/WebCore/html/CanvasRenderingContext2D.cpp#L1258 - "memset(data->data()->data().data(), ...)" - ! [18:59:00.0000] <MikeSmith> so I see that Mozilla has added support for the registerProtocolHandler method [18:59:01.0000] <MikeSmith> http://starkravingfinkle.org/blog/2008/04/firefox-3-web-protocol-handlers/ [19:00:00.0000] <MikeSmith> Mark Finkle's blog [22:09:00.0000] <doublec> does the displaying of the image in the 'poster' attribute of <video> result in the video element resizing to fit the image, same as <img>? [22:12:00.0000] <doublec> Also, I saw a demo of <video> from Safari 3.1 and it seems that it loads the first frame of the video for display. I do that too and thought it was correct behaviour but now I can't find it in the spec. Have I missed it somewhere? [22:12:01.0000] <Hixie> <video> never resizes iirc [22:12:02.0000] <Hixie> or did we change that [22:13:00.0000] <doublec> It was changed to autosize to fit content iirc [22:13:01.0000] <doublec> I'm just not sure if that includes poster content [22:13:02.0000] <Hixie> oh hm [22:13:03.0000] <Hixie> dunno [22:13:04.0000] <doublec> since the decision predated poster [22:14:00.0000] <Hixie> i can't figure it out right now but if you send feedback and let me know what timescale you want to know for (i.e. do you want to know for ff3 or is this a post-ff3 thing) then i'll get back to you asap [22:14:01.0000] <othermaciej> well if it didn't autosize, what size would it use? [22:15:00.0000] <othermaciej> using the video size would partly defeat the point of having a poster frame [22:15:01.0000] <doublec> yes [22:15:02.0000] <doublec> I'm assuming it autosizes [22:15:03.0000] <doublec> to the image size [22:15:04.0000] <othermaciej> and if explicit width and height is set, then the question does not arise [22:15:05.0000] <doublec> since we don't have the video data to know the size of it [22:16:00.0000] <othermaciej> (presumably the common case is to either set a specific size or have your poster frame the same size as the video) [22:16:01.0000] <Hixie> the concern i could see would be the resizing again when you get the video [22:16:02.0000] <Hixie> but yes [01:03:00.0000] <MikeSmith> takkaria: you around? [11:07:00.0000] <davidb> hi all [11:07:01.0000] <davidb> i have a question about http://www.whatwg.org/specs/web-apps/current-work/multipage/section-interaction.html#scrollintoview [11:08:00.0000] <davidb> shouldn't we add that, if the element is already in the view port, don't perform a scroll? [11:08:01.0000] <davidb> it could be jarring. [11:13:00.0000] <Philip`> davidb: Current UAs (at least IE6, FF2, O9.2) always perform the scroll to align the element with the top/bottom of the window, even when it's already visible [11:14:00.0000] <davidb> Philip`: is that good? [11:14:01.0000] <Philip`> davidb: It's interoperable behaviour, so it's good from that point of view :-) [11:14:02.0000] <Philip`> I don't know how many sites rely on it working that way [11:14:03.0000] <davidb> Philip`: fair enough, but in the world of rich interactive web apps, i think we could be creating a nasty experience potentially. [11:15:00.0000] <davidb> Philip`: since the ARIA spec is recommending a scrollIntoView for activedescendants... (like panes in an accordion widget) [11:17:00.0000] <davidb> Philip`: i guess if this is already engrained... i'm fighting an uphill battle [11:18:00.0000] <davidb> maybe i'll post to the list anyways [11:19:00.0000] <Philip`> davidb: http://lists.w3.org/Archives/Public/public-html/2007Nov/0188.html suggests adding a new method which only scrolls if necessary [11:19:01.0000] <davidb> Philip`: nice find. thanks. [11:19:02.0000] <Philip`> That sounds safer than changing the behaviour of the existing method [11:20:00.0000] <davidb> Philip`: is ensureElementIsVisible a new thing? [11:20:01.0000] <Philip`> davidb: It's in http://www.whatwg.org/issues/ dom-focus, though sadly that interface is rubbish and impossible to search [11:21:00.0000] <Philip`> davidb: ensureElementIsVisible doesn't exist at all, except as a suggestion in that email [11:21:01.0000] <davidb> ok [11:21:02.0000] <davidb> (looks like a XUl thing) [11:22:00.0000] <Philip`> Oh, okay, so it does exist :-) [11:22:01.0000] <davidb> heh [11:22:02.0000] <davidb> :) [11:22:03.0000] <Philip`> (but not in HTML, which is the only thing in the world that matters) [11:44:00.0000] <annevk> I think media queries make the most sense for the <link height/width> thing too... [11:44:01.0000] <annevk> media="(width:51px) and (height:50px)" [11:46:00.0000] <Philip`> Has someone said why it can't use .ico files with all the image sizes stored together? [11:48:00.0000] <annevk> Too much bandwidth I think [11:49:00.0000] <annevk> I'd add that it's too much trouble :) [11:57:00.0000] <davidb> Philip`: thanks for the chat, i posted something to the list [13:12:00.0000] <BenMillard> WCAG 2.0 progresses to Candidate Recommendation (CR): http://lists.w3.org/Archives/Public/w3c-wai-ig/2008AprJun/0045.html [13:26:00.0000] <davidb> BenMillard: thanks for the tip [13:50:00.0000] <BenMillard> forwarded to HTMLWG: http://lists.w3.org/Archives/Public/public-html/2008Apr/0801.html [14:34:00.0000] <Philip`> Does anyone happen to have a PNG decoder written in JavaScript? [14:34:01.0000] <Hixie> decoding to ImageData? [14:35:00.0000] <Philip`> Decoding to some kind of JS array, not relying on the browser implementing any graphical features correctly [14:36:00.0000] <Hixie> ah [14:37:00.0000] <Philip`> It'd be nice to test that toDataURL returns a correct PNG with the right colour values, but I'm not sure of any ways that aren't either impossible or insane [14:38:00.0000] <Hixie> ah yes [14:39:00.0000] <Hixie> i searched google for "png decoder in javascript" [14:39:01.0000] <Hixie> first hit is someone saying he couldn't find one [14:40:00.0000] <Hixie> second hit is you suggesting writing one... [14:47:00.0000] <Philip`> Oh, I thought it was an original idea but I beat myself to it :-( [14:47:01.0000] <Hixie> hah [14:50:00.0000] <Philip`> /me reads the PNG spec [14:51:00.0000] <Philip`> "Figure 7.1 — Integer representation in PNG" [14:51:01.0000] <Philip`> Apparently integers are represented as "XML parsing failed: syntax error (Line: 26, Character: 5). Error: undeclared XML namespace prefix used in attribute name" [14:52:00.0000] <Hixie> haha [14:52:01.0000] <Philip`> In Firefox, the diagrams that aren't YSODs are displayed as XML trees since they're missing the SVG namespace [14:53:00.0000] <Philip`> (in the version at http://www.mirrorservice.org/sites/www.libpng.org/pub/png/spec/iso/index-object.html ) [14:54:00.0000] <Philip`> Anyway, I imagine deflate decompression would be the most painful thing, and I really don't want to look at that, though the rest of PNG isn't too complex [14:54:01.0000] <Hixie> deflate compression should be too bad for a 1px image, right? [14:59:00.0000] <Philip`> That's still a whole 32 bits being compressed, so I'd guess there's lots of ways you can compress them and the decoder would have to copy with anything [14:59:01.0000] <Philip`> Or I could assume everyone uses libpng and the compressed file is always going to be identical [15:00:00.0000] <Philip`> Probably much easier to just not automate this kind of test, and do it manually with proper tools instead of JS [15:00:01.0000] <Hixie> heh [15:00:02.0000] <Hixie> quitter! [15:00:03.0000] <Hixie> :-P [15:01:00.0000] <Philip`> I'm just trying to use my time less inefficiently :-) [15:04:00.0000] <Philip`> Also, I don't want to discriminate against sufficiently clever UAs that produce highly optimised 1-bit paletted images, or sufficiently high-end UAs that produce 64-bit images, and also I really really don't want to implement a PNG decoder with all those features :-) [15:05:00.0000] <Philip`> Sadly you can't do 0-bit palettes [15:06:00.0000] <Hixie> clearly you are too lazy [15:06:01.0000] <Hixie> or not lazy enough [15:06:02.0000] <Hixie> i'm not sure [15:40:00.0000] <Philip`> Hmm... toDataURL only takes a parameterless MIME type argument [15:40:01.0000] <Philip`> APNG doesn't have its own MIME type, it just hijacks image/png [15:41:00.0000] <Philip`> So how can a browser use toDataURL to capture the dynamic state of the canvas and save it as APNG? :-( [15:41:01.0000] <Hixie> apng is just png [15:41:02.0000] <Philip`> There's no way to distinguish where you want to create a static PNG or an APNG [15:41:03.0000] <Philip`> s/where/whether/ [15:41:04.0000] <Hixie> there's no difference between a static png or apng [15:41:05.0000] <Hixie> apng only makes sense for images with more than one frame [15:41:06.0000] <Philip`> The difference is that static PNGs don't move, and APNGs do :-p [15:42:00.0000] <Hixie> toDataURL() doesn't generate moving images :-P [15:44:00.0000] <Philip`> CSS3 Color could be extended so you can say ctx.fillStyle = 'red; style=blink; freq=2.5', and then you'd be able to draw animated images onto the canvas, and then toDataURL would have to faithfully reproduce that [15:45:00.0000] <Philip`> /me is not at all convinced by his arguments, by the way