2011-04-01 [22:03:00.0000] nessy: http://simon.html5.org/sandbox/bookmarklets/reveal-comments [23:34:00.0000] nobody fancy writing an april fools blog post this year? [23:43:00.0000] zcorpan: I retweeted your tweet as WHATWG [23:43:01.0000] hsivonen: thanks [23:45:00.0000] i'm not that creative lately [00:25:00.0000] Boo. Sam presents Open Graph Protocol as RDFa to students: http://intertwingly.net/slides/2011/unc-inls-520/html5-6 [00:29:00.0000] also has an inaccurate claim about violating http [00:31:00.0000] many of the "violates" statements are… creative [01:52:00.0000] http://diveintomark.org/archives/2004/07/06/nfc is still funny [02:46:00.0000] MikeSmith: You around? [02:46:01.0000] yeah [02:48:00.0000] MikeSmith: So, thinking about travel plans, it's probably easiest to meet with either myself or jgraham, and not both :) [02:49:00.0000] MikeSmith & (gsnedders ^ jgraham) [02:50:00.0000] gsnedders: Now people will think we are the same person [02:50:01.0000] heh [02:51:00.0000] jgraham: stop talking to yourself [02:51:01.0000] :D [02:51:02.0000] I'll talk to plh and see what he thinks [02:52:00.0000] if plh thinks gsnedders and jgraham are the same person? [02:52:01.0000] heh [02:52:02.0000] about my travel plans [02:53:00.0000] the idea was that since I'll be traveling to Europe in May anyway, it would be good to try to d some face-to-face discussion about details of the testing effort [02:54:00.0000] Yes, I think that is a good idea [02:55:00.0000] so I'll figure something out [02:55:01.0000] MikeSmith: You could always come to Glasgow/Edinburgh ;P [02:56:00.0000] yeah [02:57:00.0000] it's not out of the realm of possibility that I could go there and Linköping too in May [02:57:01.0000] just a small matter of money [02:57:02.0000] and timing [03:00:00.0000] MikeSmith: Basically prior to the 20th, excepting the 13th (and likely the 12th) and 16th, I can probably take a day out [03:01:00.0000] ok [03:03:00.0000] xkcd has nice pseudo-3d effects today [03:03:01.0000] MikeSmith: Was there anyone apart frm myself/jgraham you wanted in that discussion, BTW? [03:04:00.0000] gsnedders: no, just had in mind the two of you, since you've been most actively involved in the HTML WG Testing TF [03:08:00.0000] MikeSmith: The other point I was going to make was that it isn't impossible I'll end up in Tokyo first week of June [03:08:01.0000] huh? [03:08:02.0000] really? [03:08:03.0000] that'd be great [03:09:00.0000] MikeSmith: CSS WG F2F [03:09:01.0000] I really need to work out when I intend on leaving Glasgow before I really commit to anything, though [03:10:00.0000] idea for an april fools: whatwg has decided to rename HTML again, this time to SGML (with the XML version being called XSGML) [03:11:00.0000] I like XSGML, haha [03:11:01.0000] Super Good MArkup Language and eXtra Super Good Markup Language? [03:11:02.0000] s/A/a/ [03:12:00.0000] something like that :) feel free to write a post on the blog, and claim that the spec hasn't been updated yet because it's waiting for Hixie to regen the spec [03:12:01.0000] or maybe Hixie can actually rename the spec [03:12:02.0000] That would be much better indeed [03:13:00.0000] Hixie: ^ [03:14:00.0000] perfect timing with w3c making their html5 logo official [03:14:01.0000] can add some reference to that as well [03:17:00.0000] and take a step further with not using versions by stop using version control and just updating the spec, like the good old days [03:22:00.0000] jgraham: where can I find the legalese for submitting tests to w3c-test.org? [03:25:00.0000] hsivonen: http://www.w3.org/html/wg/wiki/Testing/Submission/ [03:27:00.0000] jgraham: there's a company name for vendors other than Mozilla but then there's DavidBaron. Should I use Mozilla or HenriSivonen? [03:27:01.0000] hsivonen: I would use Mozilla, but honestly I don't think it matters [03:27:02.0000] jgraham: OK. [07:25:00.0000] Hixie: yt? [07:27:00.0000] Hixie: yt? (as well) [07:30:00.0000] /me wonders if Hixie has suddently become the sort of person thet gets up at 6:30am [07:31:00.0000] jgraham: do you think it'd make sense to have WebSocket objects have a connect() method? [07:31:01.0000] so, if the connect gets closed, rather then creating a whole new websocket object, you could just call ws.connect() [07:31:02.0000] where ws is a WebSocket object [07:33:00.0000] micheil: what's the problem with creating a new object? [07:33:01.0000] more memory allocation, object creation, etc [07:33:02.0000] micheil: It's not obviously a bad idea [07:33:03.0000] Although I think the efficiency argument is pretty bogus [07:33:04.0000] true, modern computers have plenty of memory, etc, but I think it'd be a nice api to have. [07:34:00.0000] (since presumably applications will have ~1 websocket object and the time to init it will be a tiny fraction of the time to set up the connection) [07:35:00.0000] but then if you have a connection interruption, you get disconnected [07:55:00.0000] jgraham: what would the appropriate channels be for suggesting / requesting features to the W3C WebSocket API? [07:55:01.0000] micheil: You could try public-webapps [07:55:02.0000] The mailing list [07:56:00.0000] Or the whatwg list [07:56:01.0000] is that with much optimism? [07:56:02.0000] You can try it with as much optimisim as you like [07:57:00.0000] In either case your input will be considered [07:57:01.0000] Hixie: i've sent you an email with a blog entry [07:57:02.0000] well, are suggestions actually taken seriously from people that are not within the webapps group? [07:57:03.0000] Yes [13:27:00.0000] so Hixie can't edit the spec today. maybe i should blog anyway [13:27:01.0000] how do i log in to the blog again? [13:31:00.0000] http://simon.html5.org/temp/sgml-is-the-new-html.txt - anyone feel free to post that on the blog, and edit as you see fit [13:32:00.0000] nn [15:53:00.0000] The ISSUE-27 poll closes today; get your responses in beforehand! :) [15:54:00.0000] Could you link to it? [15:59:00.0000] Philip`, you're too trusting of people. What if someone posts a link to some shock site? [16:00:00.0000] Lachy: You're too trusting of Philip` :) [16:03:00.0000] TabAtkins, I was just about to say that :-) [16:03:01.0000] TabAtkins: http://www.w3.org/2002/09/wbs/40318/issue-27-objection-poll [16:03:02.0000] /me has just had a shocking experience with hg pull --rebase [16:03:03.0000] Which is all text [16:03:04.0000] :( [16:06:00.0000] hober: I don't think I could fill that survey in right now without using the words "IETF" and "idiotic" all in the same sentence [16:06:01.0000] Argleblarg, *why* is the w3c so obsessed with dated urls? Really? 2002/09, in a poll posted 2011/03? [16:07:00.0000] So I trust that you will say the obvious things about registries that have some reflection on reality being better than ones with self-appointed expert gatekeepers [16:08:00.0000] i don't mind dates in URLs, but totally wrong dates are, uh ... [16:08:01.0000] well, wrong [16:08:02.0000] Yeah, dates in a blog post link are okay, because they're, you know, correct and topical (it's sometimes useful to know precisely when a post was made, so you understand context). [16:10:00.0000] www-archive is such a clever idea. [16:10:01.0000] /me waits for his mail to show up in the archive [16:11:00.0000] Argh. Too much git has made my hg fy grow weak [16:11:01.0000] *fu [16:12:00.0000] You know, I'm not sure any issue where I wrote a Change Proposal has ever wound up being decided against my position. [16:12:01.0000] heh [16:12:02.0000] Maybe I should check, to fuel my ego. [16:12:03.0000] it took me a *long* time to switch from "cvs com" to "svn ci" [16:12:04.0000] But it would just make me more conservative in writing objections, if it were true, so maybe it's a bad thing. [16:12:05.0000] (Or maybe that's a good thing.) [16:19:00.0000] jgraham: with my apple hat off, I'd love for you to reply to the survey with "IETF" and "idiotic" in the same sentences :) [16:19:01.0000] What's an example of a notable page that uses lots of table-based markup? [16:20:00.0000] jgraham: and with regard to making that point (matching reality being better than self-appointed gatekeepers), I think I made that point in the CP, so won't repeat it in my poll response [16:20:01.0000] ("notable" meaning "a site people actually have heard of and visit", not a high bar) 2011-04-04 [02:29:00.0000] why was sec-websocket-location dropped? [02:32:00.0000] Not sure. The only reference I can find is abarth saying: "This was a remnant from a previous draft that made use of that header. [02:32:01.0000] " [02:32:02.0000] yeah [02:32:03.0000] (it got left in the IANA section for a bit) [02:33:00.0000] what's the implentation status of sec-origin for cross-origin requests? [02:36:00.0000] zcorpan: so the weird string after "Opera Mobi/" is a build id according to http://my.opera.com/community/openweb/idopera/ [02:37:00.0000] that's a lot of bytes to send on every HTTP request to every site for info that only Opera Software ASA has useful use for [02:38:00.0000] What's the purpose of the X-EBO-UA header that Opera Mobile sends? [02:38:01.0000] googling for it doesn't help [02:38:02.0000] hsivonen: The explaination in the first point of https://developer.mozilla.org/en/QA/Avoiding_intermittent_oranges seems bogus [02:40:00.0000] jgraham: yeah. the whole example was bogus [02:41:00.0000] jgraham: when the example got fixed, the explanation stayed [02:41:01.0000] /me fixes [02:45:00.0000] jgraham: thanks. the explanation should be less bogus now. (may require reloading. the site has more-agressive-than-average caching policies) [02:46:00.0000] hsivonen: That looks better, thanks :) [02:56:00.0000] hsivonen: ok [07:00:00.0000] websocket review http://www.ietf.org/mail-archive/web/hybi/current/msg07063.html [07:34:00.0000] MikeSmith: everything ok with publishing? [07:34:01.0000] zcorpan: yeah [07:36:00.0000] great [07:36:01.0000] lemme know if i need to do something more [07:44:00.0000] gotta love Roy's take on Gerv's statement on the licensing question [07:48:00.0000] I'm only surprised he didn't try to claim that the solution to the licensing problem was in his thesis [09:10:00.0000] AryehGregor: You still need an opinion on the
email? [09:20:00.0000] AryehGregor: If so (since there's no relevant followups on the thread) you are correct - there is no way to replicate
with currently-implemented CSS.
is doable with Flexbox, but not with a single inline style on the element itself - you have to set margins to 'auto' on the direct children. This is similar to, but not as restrictive as, the current practice of centering with auto margins, since flexbox items can be cen [09:21:00.0000] TabAtkins: "since flexbox items can be cen…" [09:21:01.0000] The
behavior is thus specified as "center { text-align: center; display: flexbox; flex-direction: block; } center > * { margin-left: auto; margin-right: auto; }" [09:21:02.0000] "centered without having a specified width." [10:28:00.0000] hi @all [10:29:00.0000] i got a idea. there are lot of services using certificates out there. what about to have certificates in browsers for auth to? [10:31:00.0000] Deltachaos: like WebID? [10:31:01.0000] http://www.w3.org/wiki/WebID [10:31:02.0000] so you can set your private and public key in the browser and if you visit a website witch wants you to autherificate your browser shows up a bar witch looks like the geolocation. [10:34:00.0000] MikeSmith: oh i dont know about that. i look :D [10:36:00.0000] Deltachaos: not sure, but I think it's sorta the same thing you just described [10:36:01.0000] there's a related mailing list too [10:36:02.0000] http://lists.w3.org/Archives/Public/public-xg-webid/ [10:36:03.0000] might be useful to look through the archives of that [10:36:04.0000] and/or subscribe to it [10:36:05.0000] it's a public list that anyone can subscribe to and post messages to [10:36:06.0000] well on the first look it looks interresting. but is it used for autherification? [10:42:00.0000] Deltachaos: you mean authentication? [10:42:01.0000] yes :D sorry for my english^^ im from germany [10:42:02.0000] OK [10:42:03.0000] well, I know very little about the details of WebID [10:42:04.0000] but looking at the wiki, I think it is meant as a means for providing authentication [10:43:00.0000] [[ [10:43:01.0000] The value of having a URI as an identifier are: [10:43:02.0000] that it can be linked to by other profiles, to create a linked web of trust [10:43:03.0000] that it can be tied to information enabling a method of authentication ( such as OpenID or even more directly with foaf+ssl ) [10:43:04.0000] ]] [10:43:05.0000] (quoting the wiki) [10:44:00.0000] [[ [10:44:01.0000] The WebID Protocol authenticates a digital identity (a WebID) by allowing an Agent (e.g., a Web Browser) to prove possession of or access to a private key, whose corresponding public key is tightly bound to that WebID. The private key is usually associated with a "certificate" on the user's computer, while the public key and WebID are part of that certificate and tightly bound to its subject. Likewise, the public key and WebID are [10:44:02.0000] tightly bound into the profile-oriented document(s) that describe the identity being authenticated. [10:44:03.0000] ]] [10:44:04.0000] so, it seems like it's a kind of authentication at least [10:44:05.0000] A web of trust or a hierarchy of blame? [10:44:06.0000] heh [10:45:00.0000] /me wonders what foaf+ssl is [10:46:00.0000] has OpenID had much success so far? [10:46:01.0000] it seems like I don't hear about it so much these days [10:48:00.0000] Deltachaos: anyway, maybe you can write up a message describing what specific use case / problem case you have in mind, and asking whether WebID addresses that case or not [10:48:01.0000] to the public-xg-webid⊙wo list, I mean [10:49:00.0000] ok [12:02:00.0000] TabAtkins, thanks. [12:14:00.0000] /me ponders deleteContents() [12:15:00.0000] I guess the spec is fairly sane, all things considered. [12:27:00.0000] It's just unnecessarily complicated . . . [12:27:01.0000] No, hmm, I don't think it's sane. [12:27:02.0000] Because it behaves differently for the case where a node is partially selected and the case where it's not. [12:32:00.0000] Oh, no, it doesn't really. [12:32:01.0000] So it is sane, basically. Just pointlessly complicated. [12:59:00.0000] AryehGregor: deleteContents() is pretty old stuff, isn't it? [12:59:01.0000] MikeSmith, what do you mean? [13:00:00.0000] I mean isn't it already implemented? [13:01:00.0000] Yes. [13:02:00.0000] But not fully specced. [13:02:01.0000] ah [13:04:00.0000] Only vaguely specced. [13:04:01.0000] so it can't be changed at this point, but at least can be properly specced still [13:04:02.0000] Well, it could be changed in minor ways if that made it more logical. [13:04:03.0000] what spec is it actually in? [13:04:04.0000] ok [13:04:05.0000] But I don't think there's a good case for it. [13:04:06.0000] I see [13:04:07.0000] The old spec is DOM 2 Range: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html [13:04:08.0000] The new spec is here: http://html5.org/specs/dom-range.html [13:04:09.0000] ah [13:04:10.0000] wow, the original one is vintage 2000 [13:04:11.0000] Yeah. [13:04:12.0000] Actually not too terrible, as such specs go. [13:04:13.0000] Much more precise than any CSS spec I've read. [13:04:14.0000] There are relatively few points whose interpretation is debatable, even for corner cases. [13:04:15.0000] Although there are a handful of points where it's wrong (does not match implementations). [13:04:16.0000] ok [13:04:17.0000] are you working on the current DOM Range spec also? [13:04:18.0000] Yes. [13:04:19.0000] ("also" meaning "in addition to execCommand()" or what?) [13:04:20.0000] In addition to being awesome in general? :) [13:04:21.0000] I mean in addition to Ms2ger [13:04:22.0000] Oh, yes. [13:04:23.0000] More than me :) [13:04:24.0000] In the last few months, more than him, yeah. [13:05:00.0000] if you all have been putting a lot of time into it, I guess I should actually take time to read it [13:06:00.0000] I guess I should, too [13:06:01.0000] heh [13:06:02.0000] does it add any new interfaces, or is it currently just documenting existing implementation behavior? [13:06:03.0000] Just documenting [13:06:04.0000] ok [13:07:00.0000] does it have testing impact? [13:07:01.0000] It has excellent tests [13:07:02.0000] that is, will it need a new test suite? [13:07:03.0000] ok [13:07:04.0000] And I can say that because Aryeh wrote them all [13:07:05.0000] ah, sweet [13:08:00.0000] great to see that somebody is on top of things as far as testing [13:08:01.0000] http://aryeh.name/spec/dom-range/test/ [13:08:02.0000] Ian made writing tests part of my contract terms, which I was happy with, since I'm all for it. [13:08:03.0000] cool [13:09:00.0000] are the tests automated in some way? or automatable if plugged into the right harness? [13:09:01.0000] They use jgraham's harness, so totally automatic. [13:09:02.0000] excellent [13:09:03.0000] Just visit the page and it gives you the results. Plus you can hook it up to something that will run them all in the background and tally everything up. [13:09:04.0000] It's easy because they're pure JS. [13:09:05.0000] I think TDD is awesome and I write tests voluntarily :P [13:09:06.0000] I'm trying to set an example where I work (I'm lead developer) [13:09:07.0000] TDD being what? [13:09:08.0000] Test Driven Development [13:09:09.0000] PrgmrBill, want to write some for HTML? :) [13:10:00.0000] AryehGregor: btw, I like how your .swp file shows up in that directory listing [13:10:01.0000] haha I think tests should be written by the developer [13:10:02.0000] MikeSmith, yeah, I'm not aware of another place where the dom-range tests are actually runnable. [13:10:03.0000] ok [13:10:04.0000] bitbucket lets you download them, but not run them. [13:11:00.0000] /me is in the middle of fiddling with some of them, namely deleteContents, so that one's likely to not work so well [13:11:01.0000] http://ms2ger.freehostia.com/tests/runner/?path=../dom-range/ [13:12:00.0000] Though I should update them [13:12:01.0000] PrgmrBill: that approach works less well when you have one person writing the spec, who is essentially the architect, and you have multiple developers writing separate implementations [13:12:02.0000] MikeSmith, it works well for reverse-engineered specs. [13:12:03.0000] The spec author can just write the tests. [13:13:00.0000] so maybe we can get Hixie to do that for all the reverse-engineered features in the HTML spec :) [13:13:01.0000] Also doesn't work when the editor has spec writing work left for a few decades [13:16:00.0000] I was going to suggest we need a cloneHixie() method, but I'm suddenly reminded of The Sorcerer's Apprentice [13:16:01.0000] Question: best way to mark up a three-column form? (Field Name | Input | Description of field and/or messages about errors while filling it out) [13:17:00.0000] We certainly do [13:17:01.0000] Hurrah, I just found another place where DOM 2 Range doesn't quite match reality. [13:29:00.0000] Nth earthquake of the month just now [13:30:00.0000] becoming variation on the "how often" joke? visitor to Tokyo: "How often do earthquakes happen in Tokyo?" response: "So often that you'll just quit noticing them." [13:30:01.0000] …except you don't actually ever quit noticing them [13:51:00.0000] What are PIs actually used for in practice, in XML? [13:51:01.0000] (Or is the answer "they're not"?) [13:51:02.0000] ? [13:52:00.0000] Yup [13:54:00.0000] Should we a) get ProcessIngInstruction changed to implement CharacterData, or b) not allow PIs to be range endpoints? Because the status quo is just stupid. [13:54:01.0000] Way too many spec lines are wasted on PIs. [13:54:02.0000] IE and Opera already don't let them be range endpoints. [13:55:00.0000] Spec lines and spec-writing hours. [13:55:01.0000] /me solicits Ms2ger's opinion [13:55:02.0000] I think (b) is easier. [13:55:03.0000] We just have to update all the places where we throw exceptions for DocumentType to also throw for ProcessingInstruction. [13:56:00.0000] I can change PIs in DOM Core, but that means all implementations have to change, for little gain [13:56:01.0000] http://www.w3.org/Bugs/Public/show_bug.cgi?id=12205 [13:56:02.0000] I was that :) [13:56:03.0000] saw, even [13:57:00.0000] Anne and Olli both think this makes sense, but Alexey and Adrian have doubts. [13:57:01.0000] So how about I just change it so PIs can't be endpoints? Are you okay with that? [13:57:02.0000] Fine with me [13:57:03.0000] Okay, will do. [14:00:00.0000] I think PIs were intended to be used for non-standard things, and I seem to remember that people argued against using a PI as standard means for binding a stylesheet to a document [14:02:00.0000] /me discovers that "length" was never actually defined for DocumentTypes, and no one noticed [14:04:00.0000] The only place it seems to matter is where I defined "before" and "after". [14:08:00.0000] Or something. [14:50:00.0000] I have a long HTML
    list of links that I'd like to copy into a mediawiki wiki [14:50:01.0000] can I import it somehow? [14:50:02.0000] /me finds http://toolserver.org/~diberri/cgi-bin/html2wiki/index.cgi [15:03:00.0000] I create a list of specs that would benefit from having a common testing framework [15:03:01.0000] http://www.w3.org/wiki/Testing/Specs [15:04:00.0000] anybody/everybody please feel free to add to it [15:04:01.0000] it currently doesn't list any CSS specs at all [15:04:02.0000] but it should [15:04:03.0000] Okay, pushed the PI endpoint change. Probably breaks lots of stuff. [15:04:04.0000] MikeSmith, isn't that "everything"? I mean, what specs would not benefit from a common testing framework? [15:05:00.0000] specs that aren't intended to be implemented in browsers [15:05:01.0000] or that aren't implementable in browsers [15:06:00.0000] Well, okay. [15:06:01.0000] So why don't you call the list "specs relevant to browsers"? [15:10:00.0000] yeah, could call it that too [15:10:01.0000] I also just made one for listing relevant groups: [15:10:02.0000] http://www.w3.org/wiki/Testing/Groups [15:10:03.0000] which is even less complete [15:12:00.0000] I guess that list of specs is useful in other ways than just in the context of testing [15:25:00.0000] AryehGregor: I'm thinking of chopping the Hebrew list style to just cover the range 0-999, based on http://www.smontagu.org/writings/HebrewNumbers.html complaining about the ambiguity and no widely-established method. [15:25:01.0000] Does that sound roughly reasonable? [15:26:00.0000] (You're my go-to Hebrew writer.) [15:26:01.0000] TabAtkins, it's not uncommon for book numbers or such to go over 1000, but they usually just follow the same pattern, e.g., תתת for 1200. [15:26:02.0000] The pattern with the ` in it isn't so widely established in my experience. I've only seen it very rarely. [15:27:00.0000] For instance, the convention for year numbers is just to omit the thousands part, so this year is תשעא = 771, although actually it's 5771. [15:27:01.0000] So I wouldn't stop it at 999, that's arbitrary. [15:28:00.0000] You want to stop it at some point so it doesn't get totally ridiculous, because asymptotically the length of the written number is linear in the size of the number. [15:28:01.0000] IIRC, though, Gecko implements the spec as written for numbers over 1000. You'll want to check what implementations do before changing the spec. [15:28:02.0000] But all else being equal, I'd say it's safer to just extend the pattern and not special-case numbers above 999. [15:29:00.0000] Ah, hm. That's easy to do, actually, by just turning Hebrew back into an additive system. Then it'll just repeat TAV until it gets small enough to fill in the rest of the value, up to whatever range I specify. [15:29:01.0000] Yeah, that would make sense. [15:29:02.0000] But as usual on Hebrew issues, you probably want to be asking Israelis, not American Jews, since Israelis are going to be the primary users of Hebrew stuff. [15:29:03.0000] And perspectives will differ. [15:30:00.0000] Or I just leave the range out, and let excessively-large numbers be covered by my general paragraph about implementation limits on the various counter styles. [15:30:01.0000] Given that symbolic and additive both have the possibility for an author to really blow out a list marker. [15:30:02.0000] Hell, just define unary and then set @value to something huge. [15:31:00.0000] @counter-style unary { type: additive; additive-glyphs: 1 "1"; } [15:37:00.0000] Anyway, I think I'll ping Aharon and see what the Tel Aviv office thinks. [15:42:00.0000] jgraham, have you considered using something other than tables for testharness output? Because formatting a 20,000-line table is really, really slow. [15:43:00.0000] Maybe we could just use divs with percentage-width sub-divs? 2011-04-05 [17:08:00.0000] nessy: yt? [17:09:00.0000] nessy: what happens if someone has a short track and a long track slaved together, seeks to the end of the long track, and starts playing backwards? What does the .currentTime of the short track do over the lifetime of the playback? [17:09:01.0000] i wonder if i have to add some new state that means "would play except the media controller is outside the range of playable content for this track" [17:10:00.0000] the question then is what happens if the author seeks that slaved track while it's in that state... [17:11:00.0000] this multitrack thing sure is a lot of pain for something i'm not convinced anyone really cares about [17:12:00.0000] http://www.reddit.com/r/xss/comments/gc9ce/an_xss_prevented_by_using_xhtml/ [17:13:00.0000] URL say what it is. [17:14:00.0000] "However at least Firefox and Chrome would not render that tag because of the onload attribute is given twice and strict XHTML is used. So breaking out of the tag completely in order to inject a ? [01:41:01.0000] oh, i think it's fine to have multiple bodies created by the DOM [01:41:02.0000] it just seems like the parser shouldn't create more than one implicitly [01:42:00.0000] setting innerHTML makes stuff "created by the DOM" [01:42:01.0000] why is that? [01:42:02.0000] abarth: it's not creating more than one implicitly per invocation [01:42:03.0000] ok, but if you let the main parser create the first [01:42:04.0000] innerHTML is a DOM property [01:42:05.0000] then innerHTML on the documentElement won't create another body [01:43:00.0000] abarth: because it removes the old one first [01:44:00.0000] i understand your point of view [01:44:01.0000] but i'm not sure it's the more sensible way of looking at the situation [01:45:00.0000] anyway, it's not clear to me whether we should change how this works in the parser [01:45:01.0000] or add some compat shim to the system API layer [01:46:00.0000] b/c we've only seen the issue in natives apps so far [01:46:01.0000] "If you don't like the outcome, don't write code that sets innerHTML of the document element before the network stream parser has finished." [01:46:02.0000] hahahaha [01:47:00.0000] abarth: natives in plural or one native? [01:47:01.0000] that's the only report i've seen so far [01:47:02.0000] it's apple-internal stuff [01:47:03.0000] so i only see what ends up in the public bug tracker [01:47:04.0000] we could ask andy if there are multiple examples [01:48:00.0000] we already have some awesome compat shims for native apps [01:48:01.0000] for Mail.app [01:48:02.0000] there's a JavaScript script that we run [01:48:03.0000] to get rid of the implicit head element [01:48:04.0000] abarth: implicit head with innerHTML or with network stream parsing? [01:49:00.0000] network stream [01:49:01.0000] wow [01:49:02.0000] more specifically, the problem is the text nodes between the two or something [01:49:03.0000] or maybe it's implicit head itself [01:49:04.0000] i forget [01:49:05.0000] there was a hack in the old parser for that [01:49:06.0000] nodes in between sound more believable [01:49:07.0000] but we pushed it up to a higher layer [01:50:00.0000] a lot of native apps require and if I append data to the script? [10:38:01.0000] TabAtkins, in which spec does it define the px to be 0.75pt? [10:38:02.0000] Values and Units [10:38:03.0000] this one? http://dev.w3.org/csswg/css3-values/ [10:39:00.0000] Yes. [10:39:01.0000] does it define it indirectly somehow? it looks like it's still defining it in terms of angular measurement [10:41:00.0000] Ah, sorry, V&U hasnt' been properly updated. 2.1 has the right deffinition. [10:41:01.0000] http://www.w3.org/TR/CSS21/syndata.html#length-units , scroll down a bit [10:42:00.0000] oh, I see. CSS3 hasn't been updated to match yet [10:42:01.0000] nimbupani: what do you mean exactly? [10:42:02.0000] i mean, disabled elemnets shouldn't be validated nor elemnets barred from constrant validation [10:43:00.0000] volkmar_: http://jsfiddle.net/nimbu/P7Fa8/2/ does validation in gecko and webkit but not on opera. [10:44:00.0000] mainly coz Opera considers input elements without name attr as not "submittable" element. [10:44:01.0000] and no form validation is done on elements that are not "submittable" [10:46:00.0000] oh... [10:46:01.0000] nimbupani: Opera's behavior might make sense but as far as I know, it's not following the current spces [10:46:02.0000] volkmar_: internally the view is that it*is* following specs [10:47:00.0000] because of some convoluted wording in constraint validation docs [10:47:01.0000] nimbupani: see 4.10.21.2: you should run constraint validation check onall submittable elements [10:48:00.0000] and submittable doesn't mean that is submit but that has a type that allow submission [10:49:00.0000] yeah thats what i thought too, but annevk suggested it meant it had to submit. [10:49:01.0000] but he is now in South America, so probably I can safely pretend he didnt say it. [10:50:00.0000] nimbupani: gotta run out of wifi [10:50:01.0000] kay. thanks volkmar_ [11:46:00.0000] heh, Lachy suggested display:transparent [11:52:00.0000] yes, I did. [11:52:01.0000] has that been suggested before? It seemed vaguely familiar when I thought of it, but can't remember anything specific [12:01:00.0000] Lachy: yeah, several times. It's definitely needed. [12:01:01.0000] Lachy: like many things that have been proposed and gone nowhere fast in that wg [12:02:00.0000] (transparent to do what?) [12:02:01.0000] what's the purpose of display:transparent? [12:02:02.0000] would that act like visibility:hidden? [12:03:00.0000] (that was my first thought) [12:04:00.0000] othermaciej, no. It means that there is no layout box generated for the element, and all it's descendants are rendered as though they were descendants of its parent element [12:04:01.0000] 'transparent' may not be the best keyword, dunno what would be better [12:05:00.0000] I see [12:05:01.0000] that seems useful, but it definitely did make me think of visual transparency [12:06:00.0000] so, e.g.

    x

    renders exactly the same as would

    x

    [12:06:01.0000] so basically, it acts as a grouping mechanism for DOM nodes, without the rendering side-effects? [12:06:02.0000] maybe display: no-box; would be better [12:06:03.0000] zewt, yes [12:07:00.0000] it only affects layout. Other inherited properies, like colours, etc. are inherited. Borders and backgrounds would not apply to the element though [12:08:00.0000] What are the use-cases? [12:08:01.0000] AryehGregor, read the mail [12:09:00.0000] Which list? [12:09:01.0000] Oh, the huge one to whatwg about details? [12:09:02.0000] yeah, that one, or the more recent one on www-style [12:09:03.0000] www-style is shorter [12:10:00.0000] but in the whatwg one, you can skip down to where it says "== Proposed Solutions ==" and find the subsection about hiding and showing content [12:10:01.0000] i assume things like :first-child would be unaffected? [12:10:02.0000] (that is, do the same as any other display mode) [12:10:03.0000] yes [12:10:04.0000] hmm, perhaps ::first-letter might be affected [12:11:00.0000] in fact, I don't think any pseudo-elements would work on it [12:11:01.0000] I must go though. back later tonight [12:13:00.0000] display: child-nodes; [12:13:01.0000] (ok, enough bike shedding) [12:13:02.0000] heh [12:14:00.0000] well, getting the proposed name right is a shortcut past a lot of what-does-it-do [12:16:00.0000] othermaciej, please bikeshet on the list where it is more appreciated :-) [12:16:01.0000] bikeshed [14:09:00.0000] Lachy: I think you just came close to coining a new term 2011-04-08 [17:49:00.0000] monkey flies [18:02:00.0000] Do monkey flies like a banana? [00:56:00.0000] MikeSmith: did you still need me to regen the spec? i flushed my edit out finally. [00:56:01.0000] though it looks like i'm getting conflicts or something [00:56:02.0000] an the w3c side [00:57:00.0000] that's because I checked in some changes [00:57:01.0000] ah ok [00:57:02.0000] but please just overwrite them [00:57:03.0000] the changes were just stuff I needed for publishing the WD [00:57:04.0000] oh you just hard-psuhed it? k [00:57:05.0000] yeah [00:57:06.0000] that works too i guess! [00:57:07.0000] :-) [00:58:00.0000] :) [00:58:01.0000] anyway, there's no urgency on doing the regen -- I had just pinged you because I was prepping stuff for the WD publication [00:59:00.0000] but hey, before you do regen I guess we should flip the boilerplate back to ED [00:59:01.0000] so I will do that right now [00:59:02.0000] k [00:59:03.0000] /me intends to leave the html5-differences ED as saying WD [01:00:00.0000] zcorpan: I don't think you're supposed to do that… [01:01:00.0000] will something bad happen if i do? [01:01:01.0000] only to me [01:02:00.0000] it's identical to the WD, i'll only make changes to it when the next publication is near [01:02:01.0000] hmm [01:02:02.0000] OK [01:03:00.0000] …until if/when plh or somebody tells me to change it [01:03:01.0000] (it said WD before i edited it too) [01:03:02.0000] yeah, I know [01:03:03.0000] but that wasn't totally intentional [01:03:04.0000] let me know if somebody whines, i'll change it [01:03:05.0000] hai [01:10:00.0000] MikeSmith: i'm going to bed now, will fix the conflicts in the morning [01:10:01.0000] ok [01:11:00.0000] I'll have the boilerplate changes checked in by your morning [01:11:01.0000] nn [02:13:00.0000] another day, another RDFa advocacy namedropping debunked [02:13:01.0000] lack of contact information or bug tracker, i'll whine here that http://checkmybrowser.appspot.com/index.html checks for 'manifest' in document.documentElement while the spec explicitly omits that IDL attribute [02:15:00.0000] zcorpan: whoa! manual tests [02:18:00.0000] hsivonen: I wonder if it is even allowed to reply to the RDFa thing on the list [02:22:00.0000] But it it is interesting to note that if the contention that RDFa will be mostly generated bt machines is true (and I note that HTML is mostly generated by machines but is still all kinds of crazy), it suggests that just using raw URIs is fine [02:24:00.0000] jgraham: indeed [02:30:00.0000] jgraham: it is even more interesting considering that reasoning is supposed to be what RDF is all about [04:01:00.0000] /me filed https://bugs.webkit.org/show_bug.cgi?id=58129 [04:08:00.0000] I wonder if those google tests are useful tests or just test for support of things without checking if it works [04:09:00.0000] In the former case it would be nice if they would contribute to the appropriate testsuite [04:18:00.0000] Looks like there could be some useful stuff there [07:07:00.0000] hi guys, I have a question about WebSockets status [07:08:00.0000] They were disabled in Firefox 4 and Opera because of security flaw in the protocol [07:08:01.0000] Yes, no [07:08:02.0000] but mr Barth who described the vulnerability also proposed solution to the problem [07:08:03.0000] (I mean yes they were disabled, no I don't know of any timescales for implementation of the next version of the protocol) [07:09:00.0000] (which fixes the issue) [07:09:01.0000] (if that wasn't what you were going to say, please continue :) [07:09:02.0000] so for now nobody knows when FF4 and Opera will support those, right? [07:10:00.0000] No [07:10:01.0000] back to steel infinite iframe [07:10:02.0000] :) [07:10:03.0000] but in your opinion is it closer to 1 year or let's say 5 years? [07:11:00.0000] Closer to 1 year [07:11:01.0000] I hope [07:11:02.0000] Some time within the next year, almost certainly [07:12:00.0000] gsnedders: That's youthful optimisim [07:12:01.0000] jgraham: Hey, my birthday is in under two weeks. I'm getting older! [07:13:00.0000] There's a non-sequiter if ever I heard one [07:13:01.0000] so one may simply use current Flash workaround and hope it gets native within reasonable timeframe [07:13:02.0000] (of course, from what I understand, Flash solution is vulnerable too) [07:14:00.0000] Indeed. [07:14:01.0000] (I think you spelt secateur wrong) [07:14:02.0000] OK, thanks guys, it doesn't sound great, but it's not that bad either [07:18:00.0000] (or sequitur :P) [07:19:00.0000] gsnedders: He's no use whatsoever for pruning [07:21:00.0000] :P [07:26:00.0000] miGlanz: of course, Flash sockets can be used to exploit the same flaw in transparent proxies... [07:31:00.0000] yes, I'm aware of this [07:32:00.0000] hmm, but on the other hand, I'm curious why hasn't Google disabled WebSockets in Chrome yet? [07:35:00.0000] dunno. maybe because it's no more dangerous than running with Flash. [08:10:00.0000] is it possible to call xhr.send(partialData) multi time? i want to send big amount of data streamed and using only one connection [08:47:00.0000] "the HTML Working Group hereby adopts the "Defer to the Microformats community for cataloging HTML rel values" Proposal" [08:48:00.0000] /me objects to that proposal, on the basis that the word "cataloging" looks weird and ought to be spelt "cataloguing" [08:49:00.0000] \o/ [09:54:00.0000] Philip`: Why are you spelling it "spelt"? It's spelled "spelled". Crazy irregular conjugations. [09:57:00.0000] TabAtkins: en-gb normally uses "spelt" [09:58:00.0000] I repeat, "crazy irregular conjugations". [10:07:00.0000] /me thinks someone needs to properly spec the English language [10:08:00.0000] I'll spec the 'Mrrican language. [10:10:00.0000] Sigh. This email I just sent has an average word length of, like, 8. [10:10:01.0000] When I can't be polite, I just turn technical. >_< [10:10:02.0000] /verbose [10:13:00.0000] /me collides a wet Salmonidae with TabAtkins upper rostral area [12:18:00.0000] "the HTML Working Group hereby adopts the " should be conforming" Change Proposal" [12:18:01.0000] Sigh. [12:18:02.0000] "the HTML Working Group hereby adopts the "Consider inability to play at a given playback rate a hardware limitation and don't expose it via a dedicated API" Change Proposal" [12:20:00.0000] Yay! [12:20:01.0000] (to " should be conforming") [12:20:02.0000] I bet that would be the result. [12:20:03.0000] Well, it woudl be weird to bet against yourself. [12:20:04.0000] No, it could have been that I thought I would lose but felt it necessary to try anyway just in case. [12:22:00.0000] It's always good to bet against yourself, because either you're right or you win, so you win both ways [12:23:00.0000] On this one I was pretty sure I'd win, since the arguments against were vague and not supported by specific evidence or reasoning. [12:24:00.0000] You've got to know how to game the system. The chairs strongly favor specific arguments and reasoning, and tend not to like arguments that amount to simply making disputed assertions. [12:24:01.0000] So when I object, I always make sure to dispute everything that doesn't have specific evidence in its favor (assuming I actually disagree with it). [12:25:00.0000] ...every single argument in 's favor here can be applied equally to , as far as I can tell. [12:26:00.0000] No, I specifically addressed that. [12:26:01.0000] 1) is less of a length savings, 2) it uses behavior that's not fully specified by CSS. [12:26:02.0000] what hardware is there that might support audio without having the horsepower for simple resampling, anyway [12:26:03.0000] Also, you don't have the argument of similarity to and . [12:26:04.0000] Also, maybe should be made valid, that's not the question at hand (although I think it shouldn't because of the CSS incompatibility). [12:27:00.0000] ( might be CSS-compatible, I guess. But not size or color.) [12:27:01.0000] Other than the legacy parsing concerns, why isn't @color css-compatible? [12:27:02.0000] And @size *almost* is. [12:27:03.0000] Because of the legacy parsing, that's the only reason. [12:28:00.0000] Man, that's basically a quirk. [12:28:01.0000] It has significant implications, like it doesn't support alpha. [12:28:02.0000] zewt: I think the issue is more about video than audio [12:28:03.0000] Size is totally not CSS-compatible, it uses an entirely different way of writing things. There's a mapping for all but one of the sizes to CSS sizes, but it's still different syntax. [12:28:04.0000] (plus there's no mapping for that last size, although I dunno why CSS doesn't just fix that) [12:29:00.0000] oh right, that [12:29:01.0000] AryehGregor: certainly does support alpha in Webkit. [12:29:02.0000] Just put rgba() in it. ^_^ [12:30:00.0000] TabAtkins, then maybe the spec should be changed . . . http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#rules-for-parsing-a-legacy-color-value [12:30:01.0000] But the error handling would still be different. It's not just shorthand for CSS, it has additional processing rules. [12:31:00.0000] Likely so. Pretty sure we just hand the value to the CSS engine to parse as a color. [12:31:01.0000] If that's actually web-compatible, what the heck is up with the spec? [12:31:02.0000] You've got to at least do some preprocessing, no? [12:31:03.0000] At least, my patch to allow 4/8 hexit colors affected the parsing of . [12:32:00.0000] Anyway, the only reason I support things like is as shorthands, so it's not worth it nearly as much when it's vs. . [12:32:01.0000] At that point you may as well accept the slight increase in length for the sake of simplicity. [12:32:02.0000] We appear to support #-less hex colors. [12:32:03.0000] I did write all these arguments down, you know, and you were given a week to address them. [12:32:04.0000] What do you do with things like or ? [12:33:00.0000] AryehGregor: I figured they were adequately answered by the consistency argument. [12:33:01.0000] aaa is gray, as is a{6+} [12:33:02.0000] I specifically addressed the consistency argument, at considerable length. [12:33:03.0000] In the CP I contributed to. [12:34:00.0000] Since I knew Hixie would object on the basis of consistency. [12:34:01.0000] And I disagree with how you did so. Shrug. [12:34:02.0000] Well, you had a chance to say why, and you didn't. Anyway, that's that. [12:34:03.0000] This is why I hate the decision process. I'm not *supposed* to say anything if I think my objection is already covered. [12:35:00.0000] Who covered it? [12:35:01.0000] Hixie. [12:35:02.0000] I didn't see anyone addressing my arguments in detail. [12:35:03.0000] Hixie wrote like three paragraphs. [12:35:04.0000] Because it's a silly issue that shoudl only need that much effort. [12:35:05.0000] The only detailed objection was the one about usability. [12:35:06.0000] Well, then I guess the ones who care about it more win. [12:36:00.0000] Long live presentational markup! [12:36:01.0000] Yup. Decision through exhaustion. [12:36:02.0000] You just haven't been established as a troll yet. ^_^ [12:36:03.0000] That's the great thing about the decision process, even trolls get to have their say. [12:37:00.0000] That's... not a great thing. [12:37:01.0000] We should totally argue that needs to be invalid, and write a pages-long proposal that cogently addresses every possible objection. [12:37:02.0000] <AryehGregor> Debate club style, you know? [12:37:03.0000] <TabAtkins> I'll get right on that. [12:37:04.0000] <AryehGregor> I've never been very good at writing persuasive pieces that I don't actually agree with, sadly. [12:38:00.0000] <AryehGregor> (or maybe not sadly) [12:38:01.0000] <AryehGregor> (maybe it means I'm honest, could be a good thing) [12:38:02.0000] <Philip`> <marquee> is quite widely used and much simpler than any CSS equivalent - maybe it should be added next [12:38:03.0000] <AryehGregor> Philip`, does it have a CSS equivalent? [12:38:04.0000] <TabAtkins> Yes, the Marquee spec. [12:38:05.0000] <AryehGregor> Is it implemented? [12:38:06.0000] <TabAtkins> But <marquee> is *much* shorter. [12:38:07.0000] <TabAtkins> On some mobile phones, yes. [12:38:08.0000] <Philip`> http://www.w3.org/TR/css3-marquee/ [12:39:00.0000] <AryehGregor> I'd say it should be implemented first. [12:39:01.0000] <AryehGregor> Also, how often do people actually want to use marquees? [12:39:02.0000] <AryehGregor> I'd say we should make <marquee> invalid because the effect is annoying, like <blink>. [12:39:03.0000] <Philip`> In certain countries, very frequently [12:39:04.0000] <AryehGregor> Not to mention it's way, way, way more marginal than <u>. [12:39:05.0000] <AryehGregor> Ah, well, we have to be multicultural, right? [12:39:06.0000] <TabAtkins> I think <u> is annoying. :/ [12:39:07.0000] <Philip`> /me thinks it was probably .kr or something [12:40:00.0000] <AryehGregor> Sounds plausible. [12:40:01.0000] <AryehGregor> East Asian sites always seem to look more eye-smarting and flashy than I'm used to. [12:40:02.0000] <AryehGregor> Bright contrasting colors and such. [12:41:00.0000] <Philip`> Oh, no, it was .cn [12:41:01.0000] <Philip`> http://krijnhoetmer.nl/irc-logs/whatwg/20080320#l-733 [12:42:00.0000] <Philip`> <u> is on less than 10% of pages [12:42:01.0000] <Philip`> so <marquee> beats it easily in .cn, seemingly [12:44:00.0000] <AryehGregor> You need to check if <u> is used more often too, though. The Chinese are the ones who want it for semantic purposes, right? [12:44:01.0000] <zewt> the greatest thing javascript has given pages is the ability to create marquees, even when the user deliberately disables them in his browser [12:44:02.0000] <zewt> down with explicit user preferences! [12:44:03.0000] <TabAtkins> The argument was that, no, the Chinese dont' actually use <u> for sematnic purposes on the web. [12:44:04.0000] <TabAtkins> zewt: No, the greatest thing javascript has given us is the ability to create marquees *in the address bar*. [12:45:00.0000] <zewt> FFFFFFFFF [12:45:01.0000] <AryehGregor> . . . how does that work? [12:45:02.0000] <zewt> replaceState [12:45:03.0000] <TabAtkins> replaceState [12:45:04.0000] <zewt> ^5 [12:45:05.0000] <AryehGregor> Wow. [12:45:06.0000] <zewt> heh [12:45:07.0000] <AryehGregor> That's like Asteroids in your favicon. [12:45:08.0000] <TabAtkins> There are even browser games in the address bar now. [12:45:09.0000] <AryehGregor> Or whatever it was. [12:45:10.0000] <AryehGregor> :/ [12:45:11.0000] <AryehGregor> Link? [12:46:00.0000] <zewt> does FF4 still play animated gifs in tabs? that's seriously annoying when it happens, heh [12:46:01.0000] <TabAtkins> http://probablyinteractive.com/url-hunter [12:46:02.0000] <Philip`> AryehGregor: 377 pages in .cn: 101 have a <marquee>, 14 have a <u> [12:47:00.0000] <Philip`> (7 have <i>, 116 have <b>) [12:47:01.0000] <AryehGregor> TabAtkins, that has serious responsiveness problems in Chrome. Should I file this as a QoI issue in replaceState()? [12:47:02.0000] <TabAtkins> Yes. [12:47:03.0000] <AryehGregor> Philip`, I was about to say "interesting", but I think "frightening" is more apropos. [12:47:04.0000] <AryehGregor> TabAtkins, . . . I was joking. [12:48:00.0000] <TabAtkins> Do it anyway. [12:48:01.0000] <Philip`> These all seem to be distinct sites too, not just pages of a single site [12:48:02.0000] <zewt> browsers should pause any history-api-based changes to the address bar when the user focuses it, but I think many don't yet [12:48:03.0000] <AryehGregor> Firefox also does a lousy job. Only Opera works well. [12:49:00.0000] <TabAtkins> Yeah, I can't copy-paste from the url bar while the game is going. [12:49:01.0000] <AryehGregor> Go Opera! Paving the way in enabling gratuitous misuse of browser UI! [12:49:02.0000] <AryehGregor> I can in Opera. [12:50:00.0000] <AryehGregor> Opera also uses much less CPU. [12:50:01.0000] <AryehGregor> I'm impressed. [12:51:00.0000] <AryehGregor> This is surely the best completely useless advantage Opera has over other browsers that I've seen. [12:51:01.0000] <AryehGregor> Just goes to show their commitment to quality. [12:52:00.0000] <Philip`> http://www.forestry.gov.cn/ - they do seem to like random scrolling bits [12:52:01.0000] <Philip`> Also: boxes that bounce around the screen (!) [12:52:02.0000] <zewt> well, it also is better about making sure the history api doesn't interfere with the user trying to use the address bar--that's a very solid advantage [12:52:03.0000] <AryehGregor> Yes, that's true. [12:53:00.0000] <AryehGregor> Philip`, the thing is, I can't be sure I'm viewing it as it's intended to be viewed unless I use IE. [12:53:01.0000] <AryehGregor> . . . wow, it really does have a box bouncing around the screen for no apparent reason. [12:53:02.0000] <TabAtkins> Chrome does the marqueeing right, at least. [12:54:00.0000] <AryehGregor> I'd try to translate it, but of course, the text is an image. [12:54:01.0000] <AryehGregor> Nice how the site uses 100% CPU. [12:54:02.0000] <Philip`> That might be Flash [12:54:03.0000] <AryehGregor> And takes like 20 seconds to load. [12:55:00.0000] <AryehGregor> Wow, in Firefox it's totally broken. [12:55:01.0000] <AryehGregor> Oh, no it's not. [12:55:02.0000] <AryehGregor> It was just loading. [12:55:03.0000] <Philip`> /me missed out on the Flash lens-flare experience when first loading the page since he has plugins disabled [12:55:04.0000] <AryehGregor> Hmm, yes it is. The box doesn't bounce. :( [14:07:00.0000] <TabAtkins> Woo, just spent basically two days fully absorbing the SVG Compositing spec. [14:08:00.0000] <TabAtkins> But I think it produced some quality feedback. [14:10:00.0000] <Hixie> AryehGregor: i actually countered all your comments on www-archive [14:10:01.0000] <AryehGregor> Hixie, I didn't see. Apparently the chairs didn't either. [14:10:02.0000] <Hixie> no comment [14:10:03.0000] <AryehGregor> I'd go and look, but I've had enough of underline arguments for a while. [14:10:04.0000] <Hixie> (it was linked to from my poll answer) [14:11:00.0000] <AryehGregor> It was? Did you add it later? [14:11:01.0000] <Hixie> yeah [14:11:02.0000] <AryehGregor> Ah, okay. Maybe the chairs did see it and I just didn't recognize the quote. [14:11:03.0000] <Hixie> i haven't read sam's e-mail to see if he actually read any of it [14:11:04.0000] <AryehGregor> /me is actually in the middle of an entirely different underline argument, on www-style [14:12:00.0000] <TabAtkins> "Marketing Automation" is a pretty cool euphemism for "spam". [14:12:01.0000] <bfrohs> /me agrees [14:12:02.0000] <TabAtkins> /me just blocked a spammer who used that phrase in their twitter bio. [14:17:00.0000] <TabAtkins> AryehGregor: I'm playing with it a bit more in the live dom viewer. Our <font color> error-handling is totally weird, and doesn't match the spec basically at all. [14:18:00.0000] <TabAtkins> That's not quite accurate; we do match it in some ways. [14:18:01.0000] <TabAtkins> Oh, never mind, okay, I get it. [14:19:00.0000] <TabAtkins> The place where we part ways from the spec is in step 5 and 6. We just check if it's a valid CSS color at all - if so, we interpret it as such. If not, we toss it through the spec algorith (at least, as far as I can tell - I haven't tested all the algo corner cases) [14:28:00.0000] <AryehGregor> Does this cause any compat issues? If not, it would be nice if the spec could be changed to allow that. [14:31:00.0000] <TabAtkins> No clue. Presumably not very large, or else we would have changed it. [14:31:01.0000] <TabAtkins> I'll raise it on the list. [14:44:00.0000] <AryehGregor> TabAtkins, how often have you run into cases where underlines in CSS wind up being the wrong color and you'd have really preferred they match the color of the text they're under? [14:45:00.0000] <AryehGregor> (Apropos to the discussion on www-style. I'm asking you because you have a lot more design experience than me.) [14:45:01.0000] <TabAtkins> I've never underlined anything that isn't a link or a heading. In neither case have I ever had such a problem. [14:45:02.0000] <AryehGregor> k. [14:46:00.0000] <AryehGregor> I've sometimes linked things that are colored differently, so I got a blue underline under different-colored text. [14:46:01.0000] <TabAtkins> Neither my links nor my headings tend to have much structure inside of them, though. [14:46:02.0000] <AryehGregor> anolis does that by default for some reason, although actual anolis users seem to have mostly disabled it. [14:46:03.0000] <AryehGregor> Including HTML5. [15:01:00.0000] <TabAtkins> Aw, no fun. On the version of Chrome I have at home, using a partially-transparent color in svg (maybe just svg-in-html) makes the inspector report the color oddly, as an opaque color with an extra two hexits hanging off the end. [15:02:00.0000] <TabAtkins> Like rgb(255,0,0)80 for half-opaque red. [15:02:01.0000] <TabAtkins> But my work version doesn't do it. ;_; [15:02:02.0000] <zewt> heh [15:02:03.0000] <zewt> one of those embarrassingly-obvious bugs [15:03:00.0000] <TabAtkins> It was funny seeing it as #f0080. [15:31:00.0000] <jgraham> Hixie: The current outline spec really doesn't seem that amenable to easy selector implementation since you always have to consider the possibility of <h2>-<h6> changing the depth [15:31:01.0000] <Hixie> it can't change the depth of a <section> element [15:31:02.0000] <jgraham> I'm not saying I disapprove of the current spec, I just disagree with your statement [15:32:00.0000] <jgraham> No, but given an element it can change what outline depth it is at [15:34:00.0000] <Hixie> given an element other than a sectioning element an an <h1> element, absolutely. [15:35:00.0000] <Hixie> not much we can do about that if you want to be backwards compatible, but luckily there are few use cases for applying such a selector in those cases [15:35:01.0000] <Hixie> and there's an easy workaround [15:35:02.0000] <Hixie> (not using <h2>-<h6>) [15:37:00.0000] <jgraham> For the author, sure, not really for the browser implementor [15:38:00.0000] <Hixie> why would browser implementors need such a selector for anything other than <h1>? [15:38:01.0000] <jgraham> I mean you can special case <h1> but you still need a slow-case [15:38:02.0000] <Hixie> i don't understand [15:38:03.0000] <jgraham> I mean when implementing the selector [15:38:04.0000] <jgraham> It has to work for any author input [15:39:00.0000] <Hixie> oh, i see. i'm saying to not do that. just do a selector that counts the number of elements of a given type in the ancetor chain. [15:39:01.0000] <Hixie> there's no use case for a generic outline algorithm selector, don't even consider doing one [15:39:02.0000] <Hixie> it would be a perf disaster [15:39:03.0000] <jgraham> The use case seems obvious [15:39:04.0000] <Hixie> oh? [15:40:00.0000] <jgraham> Without it, there is very little use case for a generic outline algorithm [15:40:01.0000] <Hixie> the generic outline algorithm's use case is anolis [15:40:02.0000] <Hixie> that's about it [15:40:03.0000] <Hixie> (anolis and other such systems that generate tables of contents) [15:40:04.0000] <Hixie> certainly not styling [15:40:05.0000] <jgraham> In particular the classic example where you aggregate content from multiple sources on a single page [15:40:06.0000] <TabAtkins> Also: my blog, since I use h1-6 inside a post, and h1 outside. [15:40:07.0000] <jgraham> and they all use headings differently [15:41:00.0000] <jgraham> And you want consistent styling [15:41:01.0000] <Hixie> well that's an html4 issue, nothing to do with the new outlining algorithm [15:41:02.0000] <jgraham> Huh? [15:42:00.0000] <Hixie> if you want to be able to style the old-style <h2>-<h6> implied sections, then the perf issues of that were introduced years ago. in, like, tbl's "html markup" paper. [15:42:01.0000] <Hixie> that's why we introduced <section> and <h1>, so that you could style things [15:42:02.0000] <Hixie> since the perf issue of h2-h6 make them untractable [15:43:00.0000] <jgraham> That was never mentioned as a reason at the time [15:43:01.0000] <jgraham> Unless my memory has entirely failed [15:44:00.0000] <Hixie> the whole point of <section>/<h1> is that it lets the browser take care of styling the <h1> on the basis of the nesting level [15:44:01.0000] <jgraham> But use cases like aggregating content were extensivly discussed [15:44:02.0000] <Hixie> that's another way of phrasing the same use case [15:44:03.0000] <jgraham> Not at all [15:45:00.0000] <jgraham> It specifically requires that you can mix different styles of markup in the same document [15:45:01.0000] <Hixie> i don't really understand what we're arguing here. [15:45:02.0000] <jgraham> Not that you force a particular style for the CSS to work [15:46:00.0000] <jgraham> I'm arguing that selectors that work with the outline depth have to work with the full algorithm, even if they are only performant in special cases [15:47:00.0000] <Hixie> my main point here is that the outline depth algorithm is certainly not expected to be used in a perf-sensitive situation such as selectors, and that doing so is a lost cause; the algorithm is just designed to reflect the actual semantics of the page for semantic analysis like creating TOCs; and the design of that algorithm is constrainted by history. [15:47:01.0000] <Hixie> the new elements were specifically designed so that they could be styled in a performant manner [15:47:02.0000] <Hixie> that's all [15:48:00.0000] <jgraham> I agree with all but the first point [15:48:01.0000] <TabAtkins> So would you consider it okay to have a :heading(n) selector *only* pay attention to <section>/<h1>? [15:48:02.0000] <TabAtkins> Or top-level <h1-6>? [15:48:03.0000] <Hixie> i wouldn't consider :heading(n) to be a good idea regardless [15:49:00.0000] <jgraham> (I also think the "selectors can't be slow" thing has been overdone. Many other things that authors willingly do are slow. We don't have to refuse to provide selectors on the basis of perf. unless it is unreasonably slow) [15:49:01.0000] <Hixie> but then i consider the use case of styling content that uses h2-h6 at different depths in an aggregation context to be a lost cause itself [15:50:00.0000] <Hixie> better to use the outline depth algorithm in the aggregator to generate consistent headings [15:50:01.0000] <Hixie> and then just use regular css [15:51:00.0000] <Hixie> jgraham: slow selectors are a huge problem, because they are trivial to use in dramatically bad ways, and only UAs that implement them get screwed, and authors have no idea why. [15:51:01.0000] <Hixie> jgraham: and the problem only exhibits itself in real documents, not in test documents which the authors are using when writing their style sheets [15:52:00.0000] <jgraham> It seems quite like that applies to many kinds of scripts as well [15:53:00.0000] <Hixie> and we're going crazy trying to make js faster, to the point of introducing background workers [15:53:01.0000] <Hixie> and never introducing sync APIs [15:53:02.0000] <Hixie> there's only so much we can do about existing issues [15:54:00.0000] <Hixie> but we shouldn't introduce new ones [15:54:01.0000] <jgraham> None of that is really relevant to the fact that jQuery has a parent selector and CSS does not [15:54:02.0000] <jgraham> I mean a faster js engine will help a bit [15:54:03.0000] <jgraham> But it is mostly DOM speed [15:54:04.0000] <AryehGregor> jQuery doesn't have to evaluate selectors anywhere near as often as CSS. [15:55:00.0000] <AryehGregor> Browsers could have a parent selector for querySelector(), but not for actual stylesheets. [15:55:01.0000] <jgraham> It depends what you are doing with it [15:55:02.0000] <AryehGregor> Or so I've been told. [15:55:03.0000] <AryehGregor> Plus, parent selectors break incremental rendering arbitrarily badly. [15:56:00.0000] <Hixie> so does :last-child, to be fair [15:56:01.0000] <AryehGregor> (although I guess :nth-child with negative numbers can be pretty bad too) [15:56:02.0000] <AryehGregor> :last-child is fairly limited in the damage it can do. [15:56:03.0000] <Hixie> fair enough [15:56:04.0000] <jgraham> Anyway I am not arguing for parent [15:57:00.0000] <Hixie> you brought it up :-) [15:57:01.0000] <jgraham> I don't think outline selectors have the same level of problems [15:57:02.0000] <Hixie> well if you want to put the outline algorithm into a css selector implementation, be my guest :-) [15:57:03.0000] <Hixie> i don't think other UAs will rush to follow though :-) [15:57:04.0000] <jgraham> At least the mutations that affect them are rather constrained [15:59:00.0000] <TabAtkins> "section section h1" is a pretty bad selector to use instead of ":heading(3)". :/ [15:59:01.0000] <jgraham> But I could be wrong [15:59:02.0000] <TabAtkins> (Sorry I'm late with the response - I was shanghaid into a standards discussion.) [16:00:00.0000] <Hixie> TabAtkins: i'm thinking more something like h1:ancestor-count(:matches(section, article, nav, aside), 3) [16:01:00.0000] <TabAtkins> Holy jeezus, no wonder you're concerned about performance. [16:01:01.0000] <Hixie> (though not specifically that) [16:01:02.0000] <Hixie> actually that one would be really fast [16:02:00.0000] <Hixie> it just has to do a count on the ancestor chain, applying a cachable selector at each level [16:02:01.0000] <Hixie> that's amongst the fastest selectors we have [16:02:02.0000] <TabAtkins> It's as fast as a descendant selector is in anyone except current Webkit. [16:02:03.0000] <Hixie> my point re performance was regarding something that had to implement the outline algorithm, which is a whole different level of perf pain [16:03:00.0000] <Hixie> little slower that descendant selector, but trivially so probably, yeah [16:03:01.0000] <TabAtkins> Seems to be no more painful than namespaces. ^_^ [16:03:02.0000] <Hixie> well the above wasn't a concrete proposal [16:03:03.0000] <Hixie> i just meant that we should provide generic tools, not something hard-coded for HTML [16:03:04.0000] <TabAtkins> I think we should provide both. [16:03:05.0000] <Hixie> hard-coding for HTML is only a good idea when the alternative is completely out of control or impossible [16:04:00.0000] <Hixie> but anyway [16:04:01.0000] <Hixie> i trust y'all to do a good job here [16:05:00.0000] <TabAtkins> I submit that h1:ancestor-count(:matches(section, article, nav, aside), 3) is completely out of control. [16:06:00.0000] <Hixie> that was just an indication of the general intent, not a concrete proposal [16:06:01.0000] <TabAtkins> Dunno how you'd make a general ability substantially more consise. [16:06:02.0000] <Hixie> i'd have to look at common use cases to have an actual proposal to make [16:30:00.0000] <Hixie> othermaciej: can you confirm that i read the decision correctly on http://www.w3.org/Bugs/Public/show_bug.cgi?id=10066 ? [16:31:00.0000] <Hixie> man this makes a mess of ARIA [16:32:00.0000] <othermaciej> Hixie: sure, what should I check? [16:32:01.0000] <Hixie> last comment [16:32:02.0000] <othermaciej> I see, you have a comment [16:32:03.0000] <othermaciej> ok, lemme pull up the decision and CP to double check [16:32:04.0000] <Hixie> the reason i ask is that if i'm correct, sam's decision seems to leave the conformance requirements in a really inconsistent state [16:33:00.0000] <Hixie> e.g. <button> can be a menuitemradio, a menuitemcheckbox, a radio, but not a checkbox. [16:33:01.0000] <Hixie> and a <button> can be a link, which makes no sense but i presume is intentional [16:34:00.0000] <Hixie> similarly, <h1> can be a menuitemcheckbox and menuitemradio, but not a checkbox or a radio [16:34:01.0000] <Hixie> i don't really understand what school of language design these decisions would stem from [16:34:02.0000] <othermaciej> it looks like you have copied the changes and exclusions correctly [16:34:03.0000] <othermaciej> now checking the delta [16:36:00.0000] <hober> Hixie: I guess I should have said, in my response on that poll, that my list of crazy element/role combos wasn't intended to be complete [16:36:01.0000] <hober> http://www.w3.org/2002/09/wbs/40318/issue-129-objection-poll/results#xfigure [16:37:00.0000] <Hixie> ah, so the school of design sam followed is the "have no idea what you're doing and try to crib off someone else"? [16:37:01.0000] <Hixie> sigh [16:38:00.0000] <Hixie> in other news, anyone know how one goes about reverting a specific revision in svn? [16:38:01.0000] <othermaciej> Hixie: re reverting, best way is to reverse-apply the diff [16:39:00.0000] <othermaciej> Hixie: I think you have correctly captured what the decision says [16:39:01.0000] <Hixie> doesn't svn have a way to do a reverse merge or something that takes into account all the changes after the revision so that i get fewer conflicts, or something? [16:40:00.0000] <Hixie> othermaciej: ok. i guess i'll apply it and fork for whatwg? or maybe just apply it and fix it in a few years once people aren't paying attention anymore. [16:40:01.0000] <othermaciej> Hixie: some of the things you mention as inconsistent, I would guess Sam would have also listed as exclusions if anyone (e.g. Ted) had specifically objected to them as not being justified by practice, and probably <botton> being a radio or menu item would have reasonably fallen in that bucket [16:40:02.0000] <othermaciej> Hixie: at this point, though, someone would have to plead to reopen the decision based on new info to adjust those things [16:42:00.0000] <jgraham> /me loves Process [16:42:01.0000] <hober> sad face [16:43:00.0000] <othermaciej> for some reason I am reminded of http://programming-motherfucker.com/ 2011-04-09 [17:01:00.0000] <Hixie> oh wow, this is awesome [17:01:01.0000] <Hixie> the aria thing actually breaks h1-h6 in ATs [17:02:00.0000] <Hixie> (it removes their nesting depth) [17:02:01.0000] <Hixie> /me cries a little inside [17:10:00.0000] <michaeln> LOL at programming-motherfucker :) [17:13:00.0000] <Hixie> (oh wow, it also removes role=heading for h1-h6) [17:13:01.0000] <TabAtkins> Wut. [17:17:00.0000] <hober> that makes no sense [10:13:00.0000] <zewt> what's the reasoning behind canvas.getContext returning null on unsupported context types instead of throwing an exception? it's lead to the terrible "webglcontextcreationerror" contortion in webgl, since there's no exception to report error details in [10:14:00.0000] <zewt> seems very unlike the rest of the platform [10:15:00.0000] <Philip`> zewt: I think Firefox still throws an exception, so you could probably argue that the spec should be changed to throw and it won't break compatibility [10:16:00.0000] <Philip`> /me doesn't remember seeing a reason for returning null, except that it's easier to catch than an exception [10:16:01.0000] <zewt> canvas.getContext("garbage") returns null [10:17:00.0000] <zewt> the important case is when a type is supported, but can't be created for some reason--in that case you want to be able to say why [10:18:00.0000] <zewt> i don't know if error handling in "return a new object for contextId" is actually defined by the spec [11:12:00.0000] <zewt> webgl using the phrase "Later, at the normal event delivery time" makes me sad 2011-04-10 [09:57:00.0000] <bga_> http://www.google.com/patents?id=Szh4AAAAEBAJ&printsec=abstract#v=onepage&q&f=false [10:54:00.0000] <jgraham> /me is evidently too tired for the internet today [10:55:00.0000] <wilhelm> Unpossible. [16:05:00.0000] <llrcombs> could someone remind me if there are plans for a pasteboard manager in the HTML5/JS spec? [16:13:00.0000] <heycam> llrcombs, there's http://dev.w3.org/2006/webapi/clipops/clipops.html [16:16:00.0000] <KaOSoFt> heycam, thanks as well, didn't know that. [16:16:01.0000] <KaOSoFt> /me keeps reading [16:18:00.0000] <llrcombs> what do you pass to createEvent to make a clipboard event? [16:30:00.0000] <llrcombs> hmm, it doesn't seem to exist [16:35:00.0000] <llrcombs> is an <audio loop> supposed to have any pause whatsoever between when it ends and when it restarts? [16:35:01.0000] <aho> with mp3, yes [16:35:02.0000] <aho> otherwise no [16:36:00.0000] <aho> (mp3 always contains leading/trailing silence) [16:37:00.0000] <llrcombs> ahh [16:37:01.0000] <llrcombs> so with MP3, you'd need some timeupdate trickery? [16:37:02.0000] <aho> with mp3 you can forget about it :) [16:38:00.0000] <aho> wont work [16:38:01.0000] <aho> you'd need some cue in/out points... and then cut it off the decoded data... and then you can loop it [16:38:02.0000] <aho> so yea... forget about it :) [16:38:03.0000] <zewt> aren't there some tags for mp3 to indicate how much audio from the last frame to chop off for seamless looping/transitions [16:38:04.0000] <aho> you won't have this issue with ogg/vorbis or m4a/aac [16:39:00.0000] <aho> (there is no reason to use mp3 in browsers) [16:39:01.0000] <llrcombs> even if I detect when it's within <insert silence time here> of the ending using the timeupdate, then set currentTime to <insert silence time here>? [16:39:02.0000] <aho> the timing wont be accurate enough for this [16:39:03.0000] <zewt> you're not going to be able to cut off 5ms of audio that way [16:40:00.0000] <llrcombs> oh, it's that short [16:40:01.0000] <zewt> enough to cause a glitch [16:40:02.0000] <llrcombs> well, maybe the spec should say that the browser should cut out the silence using that tag [16:41:00.0000] <aho> it's 20-30msec iirc... well, even if you'd check every 1msec... it still wouldnt be accurate enough :> [16:41:01.0000] <llrcombs> when loop is true [16:41:02.0000] <aho> just dont use mp3 [16:41:03.0000] <zewt> well one, i don't recall for sure that it exists, and two, it's an ancient workaround for an obsolete file format--browsers shouldn't have to implement it (and they won't, anyway) [16:41:04.0000] <llrcombs> WebKit fires timeupdate every 200ms [16:41:05.0000] <llrcombs> or every keyframe, whichever's more frequent, iirc [16:41:06.0000] <zewt> "keyframe" is generally a video term and not very meaningful for audio codecs [16:42:00.0000] <llrcombs> yeah, that's why it's not applicable in audio [16:42:01.0000] <aho> mp3's size/quality ratio is worse than ogg/vorbis or m4a/aac and it doesn't loop [16:42:02.0000] <aho> just dont use it [16:42:03.0000] <llrcombs> but the webkit docs said that about media elements in general [16:43:00.0000] <llrcombs> is FLAC actually loads better in quality, or is that just audiophile sh*t? [16:44:00.0000] <llrcombs> also, what's the point of censoring curses when they're still obvious? [16:44:01.0000] <llrcombs> (or censoring curses at all, for that matter?) [16:44:02.0000] <zewt> are you just trying to think of questions to ask [16:44:03.0000] <zewt> heh [16:44:04.0000] <llrcombs> no, those all just came to mind in a strangely shaped train of thought [16:44:05.0000] <AryehGregor> When people say one audio format's quality is better, they're usually saying it can compress similar-quality sound better. [16:44:06.0000] <llrcombs> you can trace it back, if you want [16:45:00.0000] <AryehGregor> Not related to the audiophiles who claim to be able to tell apart lossless from high-quality lossy encoding. [16:45:01.0000] <llrcombs> /me looks forward to WebKit supporting <input type="file" accept="...capture..."> 2011-04-11 [00:51:00.0000] <hsivonen> Somehow, I get the feeling that the treatment of longdesc and RDFa as far as reopening goes has gone into the W3C politics land instead of implementing the kind of agnostic fairness that is theoretically supposed to be applied [00:52:00.0000] <hsivonen> It's rather amusing to see the distinction between "new information" and "new research" [00:55:00.0000] <hsivonen> I'd love to see Google's Rich Snippets team respond to http://lists.w3.org/Archives/Public/public-html/2011Apr/0227.html [01:38:00.0000] <hsivonen> regarding the ARIA mapping of headings, the implied aria-level should depend on the outline algorithm, IMO [01:47:00.0000] <othermaciej> hsivonen: I'm somewhat confused about the state of the outline alrogithm [01:47:01.0000] <othermaciej> I remember there used to be a long, extremely complicated algorithm that assumes it is walking the whole document which defined the document outline [01:47:02.0000] <othermaciej> is there a defined simpler algorithm that can be applied from the point of view of an element, to determine its outline level? [01:48:00.0000] <othermaciej> because I'm definitely not up for running the algorithm in <http://dev.w3.org/html5/spec/Overview.html#outlines> to compute accessibility API mappings... [01:50:00.0000] <hsivonen> othermaciej: if you aren't and other vendors aren't either, I think the sections and headings in HTML5 need to be redesigned ASAP [01:50:01.0000] <hsivonen> othermaciej: because it doesn't help anyone to have fictional heading depths with h1/section if they don't get exposed to AT [01:51:00.0000] <hsivonen> s/ if they / that / [01:51:01.0000] <hsivonen> othermaciej: IIRC, the algorithm was designed as a one-pass sweep [01:51:02.0000] <othermaciej> hsivonen: there might be some simpler algorithm which follows from that one which lets you look at an h1 and crawl its ancestors only to compute its heading level [01:51:03.0000] <hsivonen> and, IIRC, you could cache the state of the algorithm in the hn nodes [01:52:00.0000] <othermaciej> hsivonen: one-pass sweep of whole document is not a good design in the face of dynamic DOM updates [01:52:01.0000] <hsivonen> so upon mutation, you'd need to resweep from the last unchanged hn onwards [01:52:02.0000] <othermaciej> that sounds unbelievably bad for performance [01:53:00.0000] <hsivonen> othermaciej: I've been trying to draw attention to this for a couple of years [01:53:01.0000] <othermaciej> ah [01:53:02.0000] <othermaciej> there is a separate definition of "outline depth" [01:53:03.0000] <othermaciej> that one looks efficiently computable [01:53:04.0000] <othermaciej> http://dev.w3.org/html5/spec/Overview.html#outline-depth [01:53:05.0000] <hsivonen> "this" being that it's bad to have a something potentially perf-sensitive in the spec that isn't getting implemented in any browser [01:54:00.0000] <hsivonen> all the while it is being advertised to authors [01:54:01.0000] <othermaciej> I have always ignored the more general outline algorithm because I didn't expect it would ever be needed for any Safari features [01:55:00.0000] <othermaciej> I guess the only tricky thing about "outline depth" is whether the number of ancestor sections can be determined just by looking at its ancestor elements [01:55:01.0000] <hsivonen> othermaciej: the bit you linked to is defined in terms of the outline algorithm! [01:55:02.0000] <othermaciej> ah, and you have to know what section the heading is associated with [01:55:03.0000] <othermaciej> yeah, I didn't realize this [01:55:04.0000] <othermaciej> I misread it as something simple [01:55:05.0000] <hsivonen> the word section is the *concept* section, not the element [01:55:06.0000] <othermaciej> like, climb up DOM tree, count number of sectioning elements [01:56:00.0000] <othermaciej> that is sanely implementable [01:56:01.0000] <othermaciej> both as a selector and for ARIA purposes [01:56:02.0000] <othermaciej> but something that requires running the outline algorithm, that seems like a nonstarter [01:56:03.0000] <othermaciej> I guess I should file a bug, or get someone else at Apple who has more time to review the details to do so [01:56:04.0000] <hsivonen> my problem with trying to draw attention to this is that I don't hack on the selector engine and I don't want to make too many claims about code that I don't work on [01:57:00.0000] <othermaciej> can you review it with someone who does work on Gecko's selector engine, or its ARIA implementation? [01:57:01.0000] <zcorpan> you only need to do an outline from the closest sectioning element right? [01:57:02.0000] <zcorpan> since an explicit section will close implicit sections [01:58:00.0000] <othermaciej> what's interesting is that the rendering section uses a much simpler way of determining sizing of h1's [01:58:01.0000] <othermaciej> I would propose that ARIA heading level should use that same rule [01:59:00.0000] <zcorpan> yeah the sizes and the outline don't match up [01:59:01.0000] <zcorpan> and the sizes doesn't work nicely with <hgroup> either [01:59:02.0000] <othermaciej> (it's just number of ancestor sectioning elements) [01:59:03.0000] <othermaciej> in which case I have no need to care about the outline algorithm [01:59:04.0000] <hsivonen> I think the sizes, AT-exposed levels and the potential future selector should all be computed the same way [01:59:05.0000] <othermaciej> though it seems like it would be good to fix it to match the effect you get from the style rules [02:00:00.0000] <hsivonen> othermaciej: there's a chance that you are judging the outline algorithm as a non-started too hastily [02:00:01.0000] <hsivonen> othermaciej: considering that it has interesting cacheable points [02:01:00.0000] <othermaciej> hsivonen: there's no way the marginal features it provides over "number of ancestor sectioning elements" are worth the level of code complexity that would imply [02:01:01.0000] <hsivonen> othermaciej: I'll ping bz and dbaron to ask about review from the selector POV [02:02:00.0000] <hsivonen> I think the ARIA question gets answered as a side effect of the selector question, because selectors are more perf-sensitive [02:02:01.0000] <othermaciej> zcorpan: in the common case, the closest sectioning element is the document root [02:06:00.0000] <Hixie> the outline heading depth problem, insofar as we are talking about exposing h2-h6 to ATs in a manner that accurately honours the author's intent while being usable from the user's perspective (i.e. not dropping levels randomly) is a problem that was introduced with the very first spec of HTML, in the early 90s. [02:11:00.0000] <jgraham> Hixie: Who introduced the problem isn't really interesting :) [02:11:01.0000] <Hixie> my point is that there's not much we can do about it [02:12:00.0000] <MikeSmith> damn [02:12:01.0000] <MikeSmith> big earthquake [02:12:02.0000] <Hixie> another? [02:12:03.0000] <MikeSmith> yeah [02:12:04.0000] <MikeSmith> right now [02:12:05.0000] <jgraham> There is no reason that you couldn't run the outline algorithm backwards from an element to get the depth, but yes it could involve walking lots of the tree [02:13:00.0000] <MikeSmith> seems to have stopped now [02:13:01.0000] <jgraham> MikeSmith: Shit. Also, aren't you supposed to be under a desk or something? [02:13:02.0000] <jgraham> Not talking on IRC? [02:13:03.0000] <zcorpan> Hixie: having a selector and an outline algorithm that is good enough and with good perf is better than no selector and slightly more accurate outline algorithm [02:13:04.0000] <Hixie> jgraham: yeah in the worst case you just have to crawl backwards up to the previous h1 or sectioning element (or <body>) [02:14:00.0000] <Hixie> zcorpan: we're not talking about a selector here, but about ATs [02:14:01.0000] <zcorpan> Hixie: i thought we were talking about a selector too [02:14:02.0000] <jgraham> I think we have to talk about both [02:14:03.0000] <MikeSmith> jgraham: no real desk at my apartment, and nothing else to get underneath :) [02:14:04.0000] <Hixie> zcorpan: i was just responding to othermaciej's comment [02:15:00.0000] <jgraham> MikeSmith: Maybe step 1 is to buy a desk then :) [02:15:01.0000] <hsivonen> has anyone written a correct backwards crawl algorithm yet? [02:16:00.0000] <jgraham> hsivonen: I don't think that anyone has actually written it down [02:16:01.0000] <jgraham> hsivonen: I don't think that it is very hard though [02:17:00.0000] <hsivonen> "not very hard" is easily proven by doing it :-) [02:17:01.0000] <Hixie> it's not hard, but the worst case can be pretty bad if perf is a concern [02:17:02.0000] <jgraham> I was expecting that you would say that :p [02:17:03.0000] <othermaciej> "if perf is a concern" - yeah, who knows if browser implementors would care about that [02:18:00.0000] <Hixie> the algorithm wasn't intended for browser vendors [02:18:01.0000] <Hixie> it was intended for tools like anolis [02:18:02.0000] <Hixie> for which a single pass is fine [02:18:03.0000] <jgraham> Hixie: That seems silly [02:18:04.0000] <hsivonen> Hixie: what's the point in having anolis report different levels than AT? [02:18:05.0000] <jgraham> othermaciej: Suggestions on ways to improve perf whilst maintaing compatibility with HTML4 are welcome [02:19:00.0000] <Hixie> hsivonen: no particular point. Do ATs react dynamically to change in heading structure? [02:19:01.0000] <Hixie> hsivonen: do they even expose the heading structure? (as opposed to just exposing h1-h6 as levels 1-6 with no attempt at making it match the actual structure?) [02:19:02.0000] <hsivonen> othermaciej: browsers do implement stuff like nth-of-type, so there's precedent for "bad" selectors that aren't exercised too commonly on the Web [02:20:00.0000] <hsivonen> Hixie: I can't answer your first question, because I haven't tested AT enough [02:20:01.0000] <othermaciej> jgraham: I don't really know what "compatibility with HTML4" means in this context [02:20:02.0000] <Hixie> yeah, me either [02:20:03.0000] <othermaciej> what kind of software uses the outline algorithm? [02:20:04.0000] <othermaciej> what did it do historically for HTML4? [02:20:05.0000] <hsivonen> (and I have trouble testing AT, because I have abnormal input devices for health reasons) [02:21:00.0000] <hsivonen> (and AT assumes normal input devices. oh. the irony) [02:21:01.0000] <othermaciej> is it necessary that heading level selectors, sizing, or accessibility API reflection should be compatible with whatever legacy software did to generate outlines of HTML4 documents? [02:21:02.0000] <Hixie> hsivonen: same here :-/ [02:22:00.0000] <hsivonen> Hixie: as for the second question, if we are telling authors to use h1/section, we'd better have a realistic path for getting to a situation where AT doesn't just say "level 1" for all those [02:23:00.0000] <Hixie> hsivonen: for section/h1, the algorithms are trivial and quite performant. [02:23:01.0000] <Hixie> (they're O(N) in the depth of the tree at the node you're looking at) [02:23:02.0000] <jgraham> othermaciej: The use case is something like "an aggregation page wants to take content from various sources, some of which use <h1>-<h6> to provide headings and some of which use <section>, and get a coherent document outline that can be exposed to AT and styled in a uniform way using simple-to-author selectors" [02:23:03.0000] <hsivonen> Hixie: isn't the whole point of the generalized algorithm that you don't know a priori if you have pure h1/section? [02:23:04.0000] <othermaciej> Hixie: but you can't decide to run the algorithm only if you're in the good case [02:24:00.0000] <Hixie> sure [02:24:01.0000] <jgraham> othermaciej: Hixie's proposal is that you get wrong results except in the good case [02:24:02.0000] <Hixie> but once you hit an h1 you're fine [02:24:03.0000] <Hixie> what proposal? [02:24:04.0000] <othermaciej> I'm fine with the requirements on browsers being that you just count the number of ancestor sectioning elements [02:25:00.0000] <hsivonen> (I supposed I should have had s/AT/screen readers/ above.) [02:25:01.0000] <othermaciej> as long as no one expects browsers to implement the outline algorithm or the outline depth algorithm which depends on it, I don't really care if it's efficient [02:25:02.0000] <jgraham> Hixie: The one you made before about styling headings using CSS by counting ancesors [02:25:03.0000] <Hixie> the complicated case here is the same as you've always had to do, the only new thing we've added is section/h1, which is simple. [02:25:04.0000] <Hixie> jgraham: only <h1> headers [02:26:00.0000] <jgraham> Hixie: You still get wrong results for the use case above [02:26:01.0000] <jgraham> Where you don't control all the content [02:26:02.0000] <Hixie> for some definition of "wrong" [02:26:03.0000] <Hixie> you get the same results you've always gotten [02:26:04.0000] <Hixie> right? [02:26:05.0000] <jgraham> Previously no one has used <section> or anything [02:27:00.0000] <jgraham> So you will get worse results [02:27:01.0000] <jgraham> when people do [02:27:02.0000] <Hixie> why would they get worse results? [02:27:03.0000] <Hixie> i don't follow [02:28:00.0000] <othermaciej> Hixie: in any case, and popping the stack a few levels, I think you should put back the h1-h6 default role - the CP was ambiguous, so it seems best to interpret it the way both you and Steve think is actually better [02:28:01.0000] <jgraham> Well I guess not really worse [02:28:02.0000] <Hixie> othermaciej: the CP is ambiguous and flat out wrong about a whole bunch of stuff [02:28:03.0000] <hsivonen> anyway, if I implement an outline display for V.nu, I want to show an outline users would experience--not the outline a spec gen tool would produce (no offense to anolis intended) [02:29:00.0000] <Hixie> othermaciej: if you want me to fix the mistakes i'm happy to do so, but i'm not stopping at the one mistake faulkner happens to have noticed. [02:29:01.0000] <othermaciej> Hixie: also, if you want to blame anyone in markup comments for the ARIA decision, you should blame all the chairs, not just Sam; Sam did do the drafting, but Paul and I reviewed and signed off on it [02:30:00.0000] <jgraham> I think I agree with hsivonen. If users will never see the "true" document outline we shouldn't bother with that concept of true [02:30:01.0000] <jgraham> Since one can't meaningfully solve any problems using it [02:30:02.0000] <othermaciej> I at least take personal responsibility for it [02:31:00.0000] <Hixie> othermaciej: the markup comment is not present in the w3c html wg copy. [02:31:01.0000] <othermaciej> I know [02:32:00.0000] <othermaciej> I'm not giving you an order, I'm just making an accuracy suggestion [02:32:01.0000] <Hixie> othermaciej: if you really did review it, you did a pretty poor job. :-P [02:33:00.0000] <othermaciej> Hixie: I did indeed review it, and I read all the Change Proposals and survey comments as well [02:33:01.0000] <othermaciej> I believe that makes me equally responsible for any aspects of it, good or bad [02:33:02.0000] <othermaciej> I realize this may not be clear from the way they are posted [02:43:00.0000] <hsivonen> btw, has the iPad Safari bug that required .mp4 to be the first <source> been fixed yet? [02:44:00.0000] <hsivonen> I suspect that once that bug gets fixed, putting .mp4 first will continue to live on as a cargo cult practice long after [02:46:00.0000] <othermaciej> I can try it if you have a test page up [02:47:00.0000] <othermaciej> if not, then if you have a Radar number I can encourage the relevant engineers to fix it [02:47:01.0000] <zcorpan> hsivonen: http://diveintohtml5.org/video.html says it was fixed in iOS 4 [02:49:00.0000] <hsivonen> zcorpan, othermaciej: thanks. I trust diveintohtml5 [02:50:00.0000] <hsivonen> and will remove the remark about the bug from the presentation slides I intend to show tomorrow [02:52:00.0000] <zcorpan> "[whatwg] Canvas.getContext error handling" - hmm, maybe one should review webgl [03:00:00.0000] <hsivonen> volkmar_: how does Firefox decide what to suggest in input=type URL? [03:18:00.0000] <jacobolus> Hixie: you're also http://en.wikipedia.org/wiki/Special:Contributions/Hixie ? [03:19:00.0000] <jacobolus> to answer your question, yes there are parts that should have some stars [03:25:00.0000] <jacobolus> Hixie: just in general the way that the conversion is written in that color difference article is quite inelegant [03:49:00.0000] <Hixie> jacobolus: yeah. i ended up following http://www.ece.rochester.edu/~gsharma/ciede2000/ciede2000noteCRNA.pdf instead, which has some test data which is rather useful [03:49:01.0000] <jacobolus> Hixie: what are you using it for? [03:49:02.0000] <jacobolus> Hixie: I mean to do some javascript (coffeescript) implementations of these in the not-too-distant future; I have a CIECAM02 implementation in coffeescript [03:51:00.0000] <jacobolus> Hixie: to be honest, CIEDE2000 is kind of overkill for most reasonable purposes [03:51:01.0000] <jacobolus> it's the result of over-fitting a model to data [03:52:00.0000] <Hixie> jacobolus: i'm using it for an absurdly over-engineered way of making player colours distinct in a game i'm writing [03:52:01.0000] <jacobolus> ah, not such a good use [03:52:02.0000] <jacobolus> Hixie: CIEDE2000 is only accurate for very small color differences [03:52:03.0000] <jacobolus> for large ones just use the regular delta-E [03:53:00.0000] <jacobolus> that is, the 1976 version [03:53:01.0000] <Hixie> like i said, over-engineered :-) [03:53:02.0000] <jacobolus> it's just as good [03:53:03.0000] <jacobolus> yeah, but you'll get a literally worse result [03:53:04.0000] <Hixie> oh? [03:53:05.0000] <Hixie> why? [03:53:06.0000] <jacobolus> it's not just "overengineering" [03:54:00.0000] <jacobolus> because this is designed for making color tolerances for very small color differences [03:54:01.0000] <jacobolus> the CIE itself doesn't recommend using it for anything larger than delta E of a few [03:54:02.0000] <jacobolus> let me see if I can track down the threshhold they recommend [03:54:03.0000] <Hixie> all i'm using this for is determining if two colours are in the same ball park [03:54:04.0000] <Hixie> if they are, i randomise one [03:55:00.0000] <jacobolus> oh. you definitely don [03:55:01.0000] <jacobolus> 't need it for that either [03:55:02.0000] <jacobolus> just use delta E [03:55:03.0000] <jacobolus> :) [03:55:04.0000] <jacobolus> also, how big is your "ballpark"? [03:55:05.0000] <Hixie> dunno yet [03:56:00.0000] <jacobolus> CIEDE2000 is not recommended for distances bigger than DE = 5 [03:56:01.0000] <Hixie> players pick their colours, i just want to make sure that if two players who picked confusingly similar colours play each other, i pick a second colour for one of them so that tehy don't have confusingly similar colours [03:56:02.0000] <wilhelm> What's the game? (c: [03:56:03.0000] <jacobolus> Hixie: hmm. I would recommend you force the lightness to differ by some amount [03:57:00.0000] <jacobolus> so that color blind users will be able to play too [03:57:01.0000] <jacobolus> will help everyone else as well [04:06:00.0000] <jacobolus> Kuehni: "Fitting of ellipsoids in CIELAB space to experimental data demonstrates both commonalities and significant differ- ences in different data sets. The causes of these differences are generally unknown. As a result, a formula fitting a given set of data relatively closely may fit another one much less well, that is, predict its average data with more error." [04:06:01.0000] <jacobolus> "... In multiple field tests, in the textile and other indus- tries, CMC2000 has not been found to be statistically sig- nificantly better (based on simple correlation) than the widely used CMC formula and as a result the former has not been promulgated in standards in several industries." [04:07:00.0000] <Hixie> wilhelm: nothing to show yet. [04:08:00.0000] <Hixie> jacobolus: "CMC formula"? [04:09:00.0000] <Hixie> jacobolus: btw it'd be good to have this kind of thing mentioned in that article ;-) [04:09:01.0000] <jacobolus> Hixie: the CMC formula is described in that article [04:10:00.0000] <Hixie> ah, indeed [04:10:01.0000] <Hixie> i meant the comparative stuff though [04:10:02.0000] <Hixie> like, which to use when [04:10:03.0000] <jacobolus> it's a british thing [04:10:04.0000] <jacobolus> they're all mainly useful for color tolerances at small differences [04:10:05.0000] <jacobolus> like figuring out if your two cans of paint will match [04:11:00.0000] <jacobolus> none are especially useful for quantifying larger color differences [04:11:01.0000] <Hixie> so what's good for the latter? [04:11:02.0000] <jacobolus> there's too much inter-observer variability, non-uniformity, etc. [04:11:03.0000] <jacobolus> it's an unsolved (and maybe unsolvable) problem [04:13:00.0000] <Hixie> well i have this CIEDE2000 thing implemented now, might as well see if it works or not [04:13:01.0000] <jacobolus> go ahead [04:13:02.0000] <jacobolus> it'll work just as well as anything else [04:13:03.0000] <jacobolus> :) [04:13:04.0000] <Hixie> thanks for the suggestions though :-) [04:15:00.0000] <jacobolus> Hixie: I'm booked solid and firing on all cylinders on this startup job I just started a week ago, but I'll send you a link when I've got my CIECAM02 implementation actually doing something interesting [04:15:01.0000] <Hixie> cool [04:35:00.0000] <Hixie> jacobolus: yeah, you're right, this isn't much good. [04:35:01.0000] <Hixie> ok bed time [04:35:02.0000] <Hixie> nn [04:36:00.0000] <jacobolus> Hixie: my recommendation would be something like: if 2 colors are within 30° hue of each-other, enforce a 30 or 40 lightness difference [04:36:01.0000] <jacobolus> and force colors to be relatively colorful [04:37:00.0000] <Hixie> yeah, i'll see if i can come up with some good heuristic. [04:37:01.0000] <Hixie> not tonight though. :-) [04:37:02.0000] <jacobolus> how many colors do you expect to have? [04:37:03.0000] <Hixie> up to a dozen or so [04:37:04.0000] <jacobolus> Hixie: this is a pretty old thing, but kind of fun :) http://www.hcs.harvard.edu/~jrus/olpc/colorpicker.svg [04:37:05.0000] <Hixie> i'll poke around with it tomorrow [04:37:06.0000] <Hixie> gotta go now [04:38:00.0000] <Hixie> later [04:38:01.0000] <Hixie> (and thanks again) [04:38:02.0000] <jacobolus> feel free to email w/ color questions ever [04:38:03.0000] <jacobolus> or leave notes on wikipedia, or ping me on IRC, or what have you [04:46:00.0000] <hsivonen> I have a local JS app as a file: URL. I keep an event log as a JSONifiable array. What's the best way to save the log in case of browser crash? [04:47:00.0000] <hsivonen> should I write it in localStorage with a fresh key every time I append something to the log? [05:53:00.0000] <hsivonen> /me finds http://www.w3.org/TR/NOTE-xh#script-hack from 1998 [06:52:00.0000] <hsivonen> /me finds "They are dependent on XML Schema data types [XML Schema 2]." in the Ontology for Media Resource spec [07:10:00.0000] <hsivonen> "Besides that, the document presents a Semantic Web compatible implementation of the abstract ontology using RDF/OWL." [07:10:01.0000] <hsivonen> different kind of "implementation" [08:17:00.0000] <zewt> <zcorpan> "[whatwg] Canvas.getContext error handling" - hmm, maybe one should review webgl [08:19:00.0000] <zewt> there was just a mail to their list complaining that shader compiles take too long and time out--in some ways they seem to be making the mistakes of older web APIs, with long-running sync calls in the main thread with brittle timeouts ... [08:26:00.0000] <Philip`> /me wonders if shader compile times are a problem for more than just the terrible exponential-time (I think) parser in slightly old versions of Mesa [08:26:01.0000] <zewt> dunno; it does sound strange that compiling any shader would take that long, even a complex one [08:27:00.0000] <zewt> though the problem definitely exists in other places in webgl (drawing with an expensive shader) [08:30:00.0000] <Philip`> I don't see why it'd be fundamentally different to compiling JS - you want a basic roughly-linear-time compiler so it doesn't block for long, and then when you've got time you do some heavier optimisations [08:31:00.0000] <Philip`> That sounds better for authors than forcing them to write everything with async APIs [08:32:00.0000] <Philip`> (I presume it's just not something driver developers have cared about yet, since they're usually in environments where compile times don't matter or shaders are short) [08:35:00.0000] <zewt> if you compile a shader and use it immediately, you probably don't want to use a quick, unoptimized version of it because you havn't had time to optimize it yet--it could make the rendering using it catastrophically slow [08:35:01.0000] <zewt> though either way there should be async APIs for the main drawing calls (shaders can take a long time to run), and in that case the optimization could be folded into that [08:45:00.0000] <zewt> http's Content-Disposition should never have been an HTTP header, it should have been an attribute of <a> (and maybe <area>) to begin with [08:45:01.0000] <zewt> it doesn't make any sense for a resource to declare "this file is meant to be saved to disk"; that's a question for the user of the resource, not the resource itself [08:48:00.0000] <kennyluck> zewt, well, that's arguable. What if I want to send someone a downloadable URL in plaintext mail? [08:49:00.0000] <Philip`> zewt: Use a quick lightly-optimised version, and then while it's busy running on the GPU you can recompile it on the CPU, perhaps [08:49:01.0000] <zewt> that's a UA issue: browsers should make it easier to download a URL [08:50:00.0000] <hsivonen> kennyluck: normal people don't tweak server config in order to be able to email a URL [08:50:01.0000] <zewt> and many people are unable to [08:51:00.0000] <zewt> (not like I'm suggesting C-D go away, of course, but I've lost count of the number of times I've needed something like <a download> [08:51:01.0000] <zewt> ) [08:52:00.0000] <zewt> Philip`: but if all calls are blocking, then you're either spending a lot of blocking time compiling, or trading that for spending extra time rendering with a slow shader [08:52:01.0000] <zewt> lacking any async API, that is [08:53:00.0000] <jgraham> /me wonders if people really believe that facebook implementing something almost, but not quite entirely, unlike RDFa is actually an accident [08:55:00.0000] <Philip`> I think the Google Rich Snippets people implemented something not quite like RDFa and were quite clear that that was perfectly intentional and not going to change because they didn't care or think it was a problem [08:57:00.0000] <jgraham> How does their implementation differ? [08:57:01.0000] <hsivonen> jgraham: I guess it's easy to believe it's an accident if one starts with the assumption that Facebook cares about RDFa [08:58:00.0000] <zewt> gah firefox only uses JSON for History states, not structured clone [08:58:01.0000] <Ms2ger> s/facebook/anybody else/ [08:58:02.0000] <Ms2ger> zewt, I think I saw a patch for that recently [08:58:03.0000] <jgraham> But it seems to require you to bleive lots of things that obviously aren't true like "facebook developers are mostly clueless" [08:58:04.0000] <zewt> it would be nice to be able to stash File objects in there, so restoring a browser session could restore selected files in history [08:58:05.0000] <jgraham> and "facebook has no QA whatsoever" [08:59:00.0000] <Philip`> jgraham: http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Sep/0124.html [08:59:01.0000] <Philip`> Apparently it was less like RDFa than I remember [08:59:02.0000] <jgraham> (well there is a little truth in the second is as far as they allegedly has a high developer / QA ratio. But nevertheless even basic QA would have caught this obvious a "bug") [09:00:00.0000] <jgraham> *have [09:00:01.0000] <zewt> (which, actually, is the only use case I've thought of for the history state object at all--everything else I generally encode into the URL) [09:00:02.0000] <Philip`> /me has no idea if it's changed since then [09:00:03.0000] <Philip`> (Also http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Sep/0126.html - "we will also deviate from the standard in some cases to be forgiving of webmaster errors. For example, we expect that some webmasters will forget the xmlns attribute entirely.") [09:01:00.0000] <hsivonen> jgraham: my guess is that Facebook doesn't care about RDFa and only wants a W3C fig leaf for their product/service-specific syntax [09:18:00.0000] <zewt> bleh; Chrome does seem to use structured clone, and Files can be stored in history and recalled, but they're broken after a session restore [09:25:00.0000] <zewt> also doesn't seem to be any way to tell when that happens: they just turn into 0-byte files with the same filename [09:56:00.0000] <zewt> trying to feature test FF's broken History.state behavior by setting a Blob in the history and seeing if it turns into an Object; but there's no BlobBuilder in FF to create a Blob to test with. hmm... [09:57:00.0000] <zewt> guess I could try using ImageData, but I'd hate to use Canvas for a FileAPI test [09:57:01.0000] <Ms2ger`> https://bugzilla.mozilla.org/show_bug.cgi?id=648997 [09:58:00.0000] <zewt> (I want BlobBuilder too, of course, but I'm stuck with what I don't have :) [09:59:00.0000] <Ms2ger`> And https://bugzilla.mozilla.org/show_bug.cgi?id=551225 [10:11:00.0000] <zewt> ick: FF doesn't support structured clone for File at all, apparently [10:15:00.0000] <zewt> which is odd--that's needed for all file access in workers [10:22:00.0000] <rubys> Gold star to philip` for http://krijnhoetmer.nl/irc-logs/whatwg/20110411#l-573; that's the type of evidence that argues for the proposal that James Graham previously outlined (and did not argue for either of the previous Change Proposals) [10:23:00.0000] <rubys> @hsivonen, your "guesses" are not likely to be sufficient to reopen this issue <http://krijnhoetmer.nl/irc-logs/whatwg/20110411#l-575> [10:28:00.0000] <erlehmann> anyone of you coming to re:publica conference in berlin this week? [10:29:00.0000] <erlehmann> i was planning to do a panel on web standards, but after both the FSF representative and an apple-friendly web dev cannot come, i may scrap it. [10:40:00.0000] <volkmar_> hsivonen: it only shows the form history results [10:47:00.0000] <TabAtkins> I... I don't understand <http://www.w3.org/Bugs/Public/show_bug.cgi?id=12469>. As far as I can tell, this is just a convoluted way of saying "If you let users write scripts in your page, you're screwed." [10:56:00.0000] <erlehmann> TabAtkins, the submitter should just use a spellchecker, it would have barred him from using the “document.wrtie() function“ (sic!) [10:56:01.0000] <erlehmann> :P [12:29:00.0000] <AryehGregor> /me discovers that units like em throw a monkey wrench into his algorithm, because they can't be directly compared to computed values [12:31:00.0000] <AryehGregor> /me also discovers that "specified value" already means something in CSS, so he probably shouldn't reuse it [12:49:00.0000] <AryehGregor> Maybe this is why no one allows CSS values for the fontSize command. It would be horribly confusing. [12:50:00.0000] <AryehGregor> If you allow em values or similar. [13:02:00.0000] <TabAtkins> AryehGregor: Just compute the ems as well. They compute down to px. [13:03:00.0000] <TabAtkins> (Percentages still wont' work, though.) [13:03:01.0000] <TabAtkins> (You need used values for that.) [13:03:02.0000] <AryehGregor> TabAtkins, what do you mean? [13:03:03.0000] <TabAtkins> (Which is what getComputedStyle returns, due to the terms changing after that API was created.) [13:03:04.0000] <AryehGregor> What should it mean if someone does document.execCommand("fontSize", null, "2em")? [13:03:05.0000] <TabAtkins> It should set the font-size to 2em. [13:03:06.0000] <TabAtkins> That is, twice the font-size of the parent. [13:04:00.0000] <AryehGregor> And the meaning of that from a user perspective is more or less random, right? [13:04:01.0000] <AryehGregor> Because users select visible text, not elements. [13:04:02.0000] <TabAtkins> No, it's twice as large as the surrounding text. If you select text with disparate sizes, they'll all grow twice as big. [13:05:00.0000] <AryehGregor> What if you select the element <span style="font-size: 2em">Foo</span>? [13:05:01.0000] <AryehGregor> Then the size doesn't change? [13:05:02.0000] <TabAtkins> (Well, assuming the font-size wasn't set already.) [13:05:03.0000] <TabAtkins> Yes. [13:05:04.0000] <AryehGregor> And is that supposed to be even remotely comprehensible to the user? [13:05:05.0000] <TabAtkins> At least, if you do the obvious thing from an API perspective. [13:05:06.0000] <TabAtkins> Alternately, compute 2em against the target element, then apply it. [13:05:07.0000] <AryehGregor> Because if you run the exact same command with one less letter selected, the size doubles. [13:06:00.0000] <TabAtkins> Yeah, that's a reasonabl critique. So isntead just compute 2em into px, then apply it. [13:06:01.0000] <AryehGregor> So then it just always means "double the size"? That's not what a length of 2em normally means. [13:06:02.0000] <AryehGregor> Authors who try to use em lengths for fontSize will not be expecting that at all. [13:06:03.0000] <TabAtkins> So, both options will be completely perplexing for one of your target audiences? [13:07:00.0000] <AryehGregor> Yes, so let's just not allow it. No current browser allows anything for fontSize other than 1 to 7 anyway. [13:07:01.0000] <TabAtkins> Okay. Were you just seeing if there was something comprehensible you could do? [13:07:02.0000] <AryehGregor> I was pretty sure there wasn't, is the thing, after I thought about it. [13:07:03.0000] <AryehGregor> Initially I thought "let's allow CSS sizes!" [13:07:04.0000] <TabAtkins> kk [13:08:00.0000] <TabAtkins> Note that the numbered sized are defined in terms of ems anyway, so your problem of " [13:08:01.0000] <AryehGregor> No they aren't. [13:08:02.0000] <AryehGregor> They're defined proportional to the user's font size preference. [13:08:03.0000] <AryehGregor> <font size=4> will always be the same size no matter what the parent's size is. [13:09:00.0000] <AryehGregor> That's very useful, but unfortunately CSS doesn't expose those semantics. [13:09:01.0000] <TabAtkins> Ah, okay, then it's relative to rems. [13:09:02.0000] <AryehGregor> Nope. [13:09:03.0000] <AryehGregor> rems change with the root element. [13:09:04.0000] <AryehGregor> <font size> does not. [13:10:00.0000] <AryehGregor> For document.execCommand("fontSize", null, "7") in styleWithCSS mode, WebKit outputs <span style="font-size: -webkit-xxx-large">. [13:10:01.0000] <AryehGregor> Gecko just outputs <font> regardless of mode, for fontSize. [13:12:00.0000] <TabAtkins> ...oh, huh. I never quite grasped the implications of the definition for the font-size keywords. [13:13:00.0000] <AryehGregor> Yeah, I didn't either until I just researched it yesterday. [13:13:01.0000] <TabAtkins> I wonder if that's intentional? [13:13:02.0000] <AryehGregor> It's incredibly annoying when you have things like <font size=7> not mapping to anything in CSS. [13:13:03.0000] <AryehGregor> If what's intentional? [13:13:04.0000] <TabAtkins> That it's relative to the default size, not the root size. [13:14:00.0000] <AryehGregor> I wondered whether it's intentional that rem is relative to the root size instead of default size. Being relative to default size seems considerably more useful. [13:14:01.0000] <TabAtkins> Yes, that's intentional. [13:14:02.0000] <AryehGregor> If the author specifies an absolute font-size, do UAs scale it up along with the user default preferences? [13:14:03.0000] <AryehGregor> /me tests [13:14:04.0000] <AryehGregor> Why? [13:15:00.0000] <TabAtkins> So that when you build em-based layouts, you have a unit that doesn't require adjustment if it's used within, say, a heading. [13:15:01.0000] <TabAtkins> Just set the base em size on root, and use rems everywhere. [13:15:02.0000] <AryehGregor> Yeah, but why can't you key it off the user default size instead of the root element size? [13:16:00.0000] <AryehGregor> Because you'd want to scale up the whole page for some reason? [13:16:01.0000] <TabAtkins> So the author can get an em size that they want. [13:20:00.0000] <AryehGregor> This is the kind of pain that's the reason I think <font> should remain invalid, by the way, even though <u> and similar should be valid. [13:21:00.0000] <TabAtkins> What, just that one value of <font> isn't representable in CSS? [13:22:00.0000] <AryehGregor> Plus the fact that size=1 maps to xx-small but size=2 maps to small, plus the crazy legacy parsing. And that's just for size. [13:22:01.0000] <AryehGregor> color is also terrible. [13:22:02.0000] <AryehGregor> I haven't attempted to plumb the depths of name yet. [13:22:03.0000] <TabAtkins> That way lies madness. [13:22:04.0000] <TabAtkins> font-face is horrible enough in actual CSS. [13:22:05.0000] <AryehGregor> Really? Is <font name> very different from font-face? [13:23:00.0000] <TabAtkins> I dunno how @name works - it's actually probably better, given that it's well-delineated. font-face is horrible, because it has some ridiculous specialized parsing mode. [13:23:01.0000] <TabAtkins> Such that "font-face: i am a single font name;" works. [13:32:00.0000] <dglazkov> TabAtkins: so is there an answer to how we chain selectors to the end of shadow pseudo elements? I may have missed a discussion or two [13:32:01.0000] <dglazkov> TabAtkins: for example video::-webkit-timeline:disabled [13:32:02.0000] <TabAtkins> No, there hasn't been any real activity on that. :/ [13:33:00.0000] <dglazkov> how about video:part(-webkit-timeline):disabled? [13:33:01.0000] <TabAtkins> That's the same thing (assuming you meant ::part()). [13:34:00.0000] <dglazkov> do I? :) [13:34:01.0000] <TabAtkins> Yes. video:part() is still selecting the <video>. [13:34:02.0000] <dglazkov> :( [13:34:03.0000] <TabAtkins> video::part() is selecting something else. [13:34:04.0000] <dglazkov> I thought things like nth-child select children? [13:35:00.0000] <TabAtkins> Nope. p:nth-child(1) selects the <p> if it's the first child. [13:35:01.0000] <dglazkov> /me declares himself a CSS ignoramus [13:35:02.0000] <TabAtkins> Pseudoclasses are just like classes, except they're based on information that the UA provides rather than the document itself. [13:35:03.0000] <dglazkov> so tell me how to fix this :) [13:35:04.0000] <dglazkov> now! [13:35:05.0000] <TabAtkins> Sure! It's an easy 3-step process. [13:36:00.0000] <dglazkov> nooo, not the 3-step process [13:36:01.0000] <TabAtkins> 1) Start a thread on www-style saying that you want to implement something. [13:36:02.0000] <TabAtkins> 2) ... [13:36:03.0000] <TabAtkins> 3) double rainbow [13:36:04.0000] <dglazkov> yay [13:36:05.0000] <Ms2ger`> 3) Nothing happened, goto 1 [13:36:06.0000] <TabAtkins> Nonono, *that* 3 only happens when no implementors care. [13:36:07.0000] <dglazkov> 1) throw some sh*t together in webkit [13:36:08.0000] <TabAtkins> Which is what has happened every time so far. [13:36:09.0000] <dglazkov> 2) let www-style sort it out [13:37:00.0000] <dglazkov> 3) reimplement it the right way [13:37:01.0000] <TabAtkins> I say develop a magical new way to context-switch and target a pseudo-element. [13:37:02.0000] <dglazkov> so it's really a selector [13:37:03.0000] <TabAtkins> "video %timeline:disabled" or something, so you can chain down the pseudos. [13:37:04.0000] <dglazkov> I really want it to just key off the ids [13:37:05.0000] <dglazkov> since shadow DOM subtree ids are unique to the subtree [13:38:00.0000] <Ms2ger`> TabAtkins, "we want to reserve punctuation"? :) [13:38:01.0000] <dglazkov> how about video <3timeline:disabled [13:38:02.0000] <TabAtkins> Or! Let % be a combinator. "video % timeline" means "find a <video>, then drop into the shadow subtree and find a <timeline>. [13:38:03.0000] <TabAtkins> See, I dunno what's a good idea here. [13:38:04.0000] <TabAtkins> I've got like 5 possible approaches. [13:39:00.0000] <dglazkov> I like combinators [13:39:01.0000] <TabAtkins> Combinators are good, because they keep your selectors linear. [13:39:02.0000] <TabAtkins> I like the analogy with "video > timeline" - one selects light children, the other selects shadow children. [13:40:00.0000] <TabAtkins> video ] timeline [13:40:01.0000] <TabAtkins> (Note: bad idea.) [13:44:00.0000] <dglazkov> we should use emoticons [13:45:00.0000] <dglazkov> video :) timeline [13:45:01.0000] <Ms2ger`> video :( timeline [13:45:02.0000] <TabAtkins> Let's just use pseudo-elements and let selectors extend past them. [13:46:00.0000] <TabAtkins> Wait, no, that doesn't work. >_< [13:46:01.0000] <dglazkov> TabAtkins: I am now on step 2 [13:46:02.0000] <TabAtkins> It still leaves us being inconsistent. [13:46:03.0000] <dglazkov> yeah, I already do some gnarly stuff in CSS parser to let unknown pseudo elements slide through [13:47:00.0000] <TabAtkins> In "video::timeline thumb", which is timeline a :: but "thumb" treated like a real element? [13:48:00.0000] <TabAtkins> Bah, pseudoelements are just a broken form of combinator. We can't use them. >_< [13:48:01.0000] <TabAtkins> s/which is/why does/ s/a ::/need a ::/ [13:50:00.0000] <Ms2ger`> video::shadow(timeline thumb) [13:50:01.0000] <TabAtkins> Nesting is the refuge of the weak. [13:50:02.0000] <dglazkov> why is step 2 taking so long. I sent an email to www-style like 5 minutes ago [13:51:00.0000] <dglazkov> TabAtkins: that sounds like a fortune cookie [13:53:00.0000] <AryehGregor> dglazkov, you get cooler fortune cookies than me. [13:56:00.0000] <dglazkov> dhyatt says the restrictions are silly [13:56:01.0000] <TabAtkins> Agreed that the restriction is silly, but just lifting the restriction doesn't solve the problem fully. [13:56:02.0000] <dglazkov> reply to mail then [13:57:00.0000] <TabAtkins> That's what I'm doing right now! [13:57:01.0000] <dglazkov> faster! [13:57:02.0000] <dglazkov> :P [15:00:00.0000] <AryehGregor> Yay, I just found a Firefox bug that disappears when I run it in Firebug. [15:01:00.0000] <AryehGregor> /me tries to prepare a minimal test-case [15:43:00.0000] <AryehGregor> It was one of those weird crazy bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=649138 [16:01:00.0000] <jcranmer> krijnh: ping ? [16:21:00.0000] <Hixie> TabAtkins_: hey do you know of any reason why <input type=range> wouldn't work right in chrome using xhtml? [16:21:01.0000] <Hixie> TabAtkins_: http://junkyard.damowmow.com/459 [16:22:00.0000] <TabAtkins> What's wrong with it on your machine? [16:22:01.0000] <Hixie> it's got the wrong value [16:22:02.0000] <TabAtkins> Ah, indeed. [16:22:03.0000] <TabAtkins> Nope, no idea. [16:22:04.0000] <Hixie> huh [16:22:05.0000] <othermaciej> is the bug XHTML-specific? [16:22:06.0000] <Hixie> seems that way [16:22:07.0000] <othermaciej> (also happens in Safari trunk afaict) [16:23:00.0000] <Hixie> i was just trynig to load safari trunk to test it but my webkit build seems hosed [16:23:01.0000] <Hixie> it bounces for like a minute then dies silently [16:23:02.0000] <Hixie> i'll file a bug [16:23:03.0000] <othermaciej> Web Inspector thinks it got parsed correctly [16:23:04.0000] <othermaciej> (i.e. all the attributes show up with their proper values) [16:23:05.0000] <Hixie> yeah [16:30:00.0000] <Lachy> The chances that the W3C will accept CC0 seem particularly slim, considering that they already rejected suggestions for MIT and BSD [16:31:00.0000] <Hixie> othermaciej: only seems to occur if there's a max="" as well. weird. [16:32:00.0000] <othermaciej> Hixie: the part that's mysterious to me is that it's XHTML-specific [16:32:01.0000] <Hixie> maybe something to do with the order of attributes [16:32:02.0000] <Hixie> yup [16:32:03.0000] <Hixie> changing the order changes the behaviour [16:37:00.0000] <othermaciej> attributes do indeed get processed one at a time [16:37:01.0000] <othermaciej> but I'm still puzzled that it's different between XHTML and HTML [16:38:00.0000] <TabAtkins> That's broken. [16:38:01.0000] <othermaciej> hmm, actually [16:38:02.0000] <othermaciej> I think in HTML the attributes all get assigned, and then all have their special processing done in order [16:39:00.0000] <othermaciej> in XHTML, it might be genuinely one-at-a-time [16:47:00.0000] <Hixie> filed https://bugs.webkit.org/show_bug.cgi?id=58281 2011-04-12 [17:19:00.0000] <Hixie> othermaciej: so i can get any decision reverted if i just have two people complain? [17:26:00.0000] <Hixie> i'm also confused as to why some decisions get made such that the decision doesn't match any proposal, and in others we are told "we only considered the proposals that were provided as CPs" [18:01:00.0000] <nessy> http://www.whatwg.org/specs/web-apps/current-work/multipage/ <- is broken for me... [18:01:01.0000] <Hixie> yeah i'm looking into it [18:01:02.0000] <Hixie> use http://www.whatwg.org/specs/web-apps/current-work/complete/ for now instead [18:09:00.0000] <TabAtkins> Hixie: I can't load the description of how to match A>B in the presence of XBL into my head. Given <details><summary/><div></div></details>, and <template><content includes=summary /><div><content /></div></template>, does "details>div" match the light-dom <div>, the shadow <div>, or both? [18:10:00.0000] <Hixie> off-hand, i dunno, i've paged all that out to long-term storage :-) [18:10:01.0000] <TabAtkins> Dammit. [18:10:02.0000] <TabAtkins> I wish you'd been writing in a proper algorithmic style back then. Expressing an algorithm as a series of "otherwise" clauses in a paragraph is confusing. [18:10:03.0000] <Hixie> yeah me too [18:10:04.0000] <Hixie> i don't recall that being especially difficult though, let me look [18:11:00.0000] <TabAtkins> http://dev.w3.org/2006/xbl2/Overview.html#shadow-content-and-css [18:12:00.0000] <Hixie> ok so we're given <details><summary/><div></div></details> and <template><content includes=summary /><div><content/></div></template> [18:12:01.0000] <Hixie> and the selector is "details > div" [18:12:02.0000] <Hixie> ok, there are two potential <div>s that could match [18:12:03.0000] <Hixie> let's look at the first one, in the bound element dom [18:13:00.0000] <Hixie> it has a details parent, so it definitely matches, irrespective of xbl [18:13:01.0000] <Hixie> now let's look at the other one [18:13:02.0000] <Hixie> its parent is a <template>, so that's what X is in the second paragraph... [18:14:00.0000] <Hixie> "allow-selectors-through" is false by default [18:14:01.0000] <TabAtkins> Assume that it's true. [18:14:02.0000] <Hixie> oh [18:14:03.0000] <Hixie> ok [18:14:04.0000] <Hixie> ok so "allow-selectors-through" is true and we assume there's no other binding applying [18:14:05.0000] <Hixie> so X becomes the bound element [18:15:00.0000] <Hixie> what is the bound element here, <details>? [18:15:01.0000] <TabAtkins> Yeah. [18:15:02.0000] <Hixie> then yes, both <div>s match that selector. [18:15:03.0000] <TabAtkins> That's crazy times. [18:15:04.0000] <Hixie> i'm just answering your question dude [18:15:05.0000] <jamesr> allow-selectors-through is crazytimes [18:16:00.0000] <jamesr> you asked for it [18:16:01.0000] <TabAtkins> I know. ^_^ Still crazytimes. [18:16:02.0000] <Hixie> if you have a problem with the answer you should speak to Hixie of 2003 and 2005 :-P [18:16:03.0000] <Hixie> Hixie of 2011 is mentally ready to merge XBL into HTML and change everything in the process (though not ready in terms of available time, but that'll come) [18:16:04.0000] <TabAtkins> I'll put this down on the "Engineer with a time machine TODOs" list. [18:17:00.0000] <jamesr> warn the passengers of the Titanic? nah. pop a cap in Hitler's ass in 1938? nah. go talk to Hixie about XBL selector matching? HELL YEAH! [18:18:00.0000] <TabAtkins> The Hitler Conservation principle is well-known, so there's no reason to try to fix that. [18:18:01.0000] <Hixie> dude if you're gonna warn me about xbl just warn me it still won't be implemented by 2011 so i can work on stuff that doesn't give me a headache :-P [18:18:02.0000] <TabAtkins> (Any attempt to stop Hitler inevitably ends with WW2 still occurring in roughly the same or worse manner.) [18:20:00.0000] <wilhelm> Indeed. Knock out Clemenceau in 1917 instead. [18:25:00.0000] <Philip`> Yeah, it could have been far worse - Hitler could have had dinosaurs [18:28:00.0000] <Philip`> (http://www.dinodday.com/ - I like their posters) [18:28:01.0000] <TabAtkins> Philip`: Luckily, histories where that happens are usually the direct result of time-travelers, and so are fixable by other time-travelers. [18:30:00.0000] <Philip`> Maybe the reason time travel has never been invented is that whenever someone invents it, they mess up history, so the second person to invent time travel travels back to prevent the first person inventing it [18:30:01.0000] <Philip`> at which point they become the first person and the cycle repeats [18:30:02.0000] <TabAtkins> Yup, and time-cycles eventually result in a quantum fluctuation wiping out the cycle entirely. [18:44:00.0000] <nessy> I liked the futurama where timetravel was only possible forward - and then they found that time repeats anyway [18:54:00.0000] <bga_> http://www.webdevout.net/test?0k [19:13:00.0000] <Hixie> othermaciej: what you describe as what you wouldn't do seems to me to be exactly what was done in both cases where it wasdone [19:14:00.0000] <othermaciej> Hixie: do you think the distinction between "mix and match" vs. "something not proposed at all" is a false one, or that the decisions in question were on the wrong side of that distinction? [19:15:00.0000] <othermaciej> (replies may be slow as I have a ton of bureaucratic paperwork to slog through tonight) [19:15:01.0000] <Hixie> i was trying to say that they were on the wrong side, but i could probably argue the other thing as well :-) [19:17:00.0000] <Hixie> looking at the focus ring one more closely, i don't really understand what was decided [19:17:01.0000] <Hixie> what's the return value of drawFocusRing() now? [19:18:00.0000] <jamesr> a headache [19:18:01.0000] <Hixie> /me decides to not try to figure out today and to wait til he gets around to actually implementing the decision [19:32:00.0000] <zewt> Hixie: was it intended that canvas.getContext() cache a null return value from "Return a new object for contextId"? or was it assumed that it would never fail if the context is supported by the UA? [19:34:00.0000] <zewt> (guessing it wasn't intended to receive null as a return value, since null usually isn't considered "a new object") [19:34:01.0000] <Hixie> /me looks [19:35:00.0000] <Hixie> it can't cache null [19:35:01.0000] <Hixie> as you say, null is not a new object :-) [19:36:00.0000] <zewt> (and firefox just crashed, so a minute of thrashing to restart it...) [19:36:01.0000] <zewt> should the abstract "return a new object" algorithm never return null? [19:37:00.0000] <zewt> getContext just doesn't seem to describe what happens on error--it seems like the "primary context" should also not be set on error [19:41:00.0000] <zewt> (webgl returns null on error, which is why I care--it doesn't seem like that's valid) [19:42:00.0000] <jamesr> the problem is for webgl context creation should be async [19:42:01.0000] <jamesr> since it's heavyweight and can fail [19:42:02.0000] <jamesr> 2d context creation is assumed to be pretty lightweight and won't reasonably fail [19:43:00.0000] <zewt> they do have "context lost"/"context restored" events, but they're used later [19:44:00.0000] <zewt> i'm trying to convince them to do something saner, but that's hard to do when I can't tell what getContext actually wants them to do :) [19:45:00.0000] <zewt> IMO: getContext should propagate exceptions from context creation, clear the "primary context" on exception if it was just set, and prohibit null as a return value entirely [19:46:00.0000] <jamesr> what would you return in the case of a context initialization failure? [19:46:01.0000] <zewt> nothing--throw an exception [19:47:00.0000] <zewt> it's a synchronous failure [19:47:01.0000] <jamesr> gotcha [19:47:02.0000] <jamesr> so you'd have to block the call until you knew the context was ready [19:47:03.0000] <zewt> but I can't recommend that to webgl when getContext itself doesn't support it [19:47:04.0000] <zewt> it already has to do that [19:48:00.0000] <zewt> since webgl returns null if the context can't be created; now it would just throw an exception instead [19:48:01.0000] <jamesr> right. which is unfortunate for webgl but orthogonal to your concern [19:48:02.0000] <zewt> from talking with them this isn't totally set in stone, which is why I'm trying to nudge this towards something better before it is [19:49:00.0000] <zewt> (which is why I'm nagging hixie on IRC :) [20:07:00.0000] <Hixie> zewt: the abstract "return a new object" algorithm should never return null, it should return a new object. :-) [20:07:01.0000] <Hixie> zewt: how can there be an error? [20:08:00.0000] <zewt> webgl context creation can fail; it doesn't know if it can create a context until you try [20:08:01.0000] <Hixie> why can it fail? [20:08:02.0000] <Hixie> i don't understand how it could possibly fail [20:09:00.0000] <Hixie> you just get an object back [20:09:01.0000] <Hixie> what is there to fail [20:09:02.0000] <zewt> creating the context creates the OS OpenGL context; that may fail [20:09:03.0000] <zewt> (or other 3d library) [20:09:04.0000] <Hixie> that's the UAs problem, it shouldn't expose such failures to web code [20:09:05.0000] <Hixie> web pages aren't going to be able to do any thing useful if getContext() returns null [20:10:00.0000] <Hixie> anyway, gotta go for dinner, will be back in a few hours if you want to discuss further. [20:10:01.0000] <Hixie> or mail me [20:10:02.0000] <Hixie> later [20:10:03.0000] <zewt> later [20:18:00.0000] <karlcow> http://www.youtube.com/watch?v=Z_sl99D2a18 [23:59:00.0000] <hsivonen> Hixie: regarding http://www.whatwg.org/specs/web-apps/current-work/#attr-link-href does href="" define a hyperlink in the <link> case? [01:08:00.0000] <Hixie> hsivonen: no, href plus a rel value does [02:56:00.0000] <zcorpan> Hixie: the ascii art diagram wraps in the spec. and the top and bottom 'borders' of the diagram seem misaligned [03:46:00.0000] <Peter`> dbaron: great job at landing CSS animations! [05:19:00.0000] <jgraham> http://lists.w3.org/Archives/Public/www-archive/2011Apr/0062.html [05:25:00.0000] <hsivonen> jgraham: I find the stance entirely unsurprising [05:36:00.0000] <kennyluck> [[I don't think we have an issue with recognizing other prefixes if they use the correct namespace declaration, just guessing we haven't taken the time to implement it yet.]] - what does this mean? [05:37:00.0000] <hsivonen> kennyluck: I read "have an issue with" as "object to" [05:38:00.0000] <hsivonen> (not as "have a bug in") [05:39:00.0000] <jgraham> kennyluck: I assume it means "we haven't actively decided not to do this" [05:39:01.0000] <jgraham> But it has not been high enough priority to actually get implemented [05:43:00.0000] <hsivonen> was it so that WebKit devs wanted innerText to match what "copy" exports to the clipboard as plain text? [05:43:01.0000] <hsivonen> or am I imagining memories? [05:43:02.0000] <jgraham> That sounds like something I can imagine being true, but I can't say for sure if it is actually a line of argument they used [06:34:00.0000] <wilhelm> Does Mozilla have any publicly available tests for registerProtocolHandler and/or registerContentHandler? [06:36:00.0000] <Ms2ger> I'd hope so [06:37:00.0000] <Ms2ger> http://mxr.mozilla.org/mozilla-central/source/browser/components/feeds/test/test_registerHandler.html [06:37:01.0000] <wilhelm> \o/ [06:37:02.0000] <wilhelm> Thanks. [06:38:00.0000] <wilhelm> /me stea^H^H^H^Hborrows tests. [06:38:01.0000] <Ms2ger> How about you rewrite them to use testharness.js and submit them? :) [06:41:00.0000] <wilhelm> That's what I'll probably end up doing, yes. :P [06:43:00.0000] <Ms2ger> Excellent [06:43:01.0000] <Ms2ger> Then please do steal them :) [09:54:00.0000] <hsivonen> I have a screen recording of a slideshow as a QuickTime movie with Apple Animation codec [09:54:01.0000] <hsivonen> how do I encode it into WebM in such a way that successive frames that have no change get encoded as one long frame [09:54:02.0000] <hsivonen> with variable frame durations [09:54:03.0000] <hsivonen> ? [09:55:00.0000] <hsivonen> or should I not care and trust that frames that just say "the same as the previous frame" are cheap? [10:04:00.0000] <Lachy> hsivonen, hopefully, the encoder would handle that for you [10:25:00.0000] <AryehGregor> "We’ve worked closely with the Chrome team to implement a recent web standard so we can support a feature called native printing." [10:25:01.0000] <AryehGregor> The words "web standard" link to the CSS 3 Paged Media WD, dated October 2006. [10:25:02.0000] <AryehGregor> Not exactly what I'd call "recent". [10:27:00.0000] <TabAtkins> Compared to CSS 2.1 [10:27:01.0000] <AryehGregor> The first WD of CSS 3 Paged Media was 1999. [10:28:00.0000] <TabAtkins> Okay, you got me there. That predates 2.1. [10:28:01.0000] <AryehGregor> And a bunch of the functionality is already in CSS2. [10:28:02.0000] <jgraham> "a feature called native printing" sounds strange [10:28:03.0000] <AryehGregor> http://www.w3.org/TR/WD-CSS2-971104/page.html [10:35:00.0000] <Ms2ger> Hear hear, CSS2.1 a PR [11:49:00.0000] <Philip`> I wonder why Sam acts as if http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Sep/0126.html was new information, when hsivonen already linked to it in his survey response [11:51:00.0000] <Ms2ger> Because Henri didn't introduce it with FORMAL OBJECTION? [11:54:00.0000] <Philip`> I suppose it suggests a good strategy is to repost all the old information that was previously discussed, in case the chairs have forgotten about it and can treat it as new information [11:55:00.0000] <Ms2ger> I'd argue the winning strategy is not to play [11:56:00.0000] <TabAtkins> No, see, the winning strategy is to go first and hope your opponent makes a mistake. [11:56:01.0000] <TabAtkins> 'cause you can just take the middle square, see, and if they mess up you can win it then. [11:56:02.0000] <Philip`> Ms2ger: That strategy doesn't work if everyone else carries on playing without you [11:56:03.0000] <Ms2ger> wfm [12:06:00.0000] <Philip`> /me sees http://blogs.msdn.com/b/ie/archive/2011/04/12/native-html5-first-ie10-platform-preview-available-for-download.aspx - now with improved native HTML5 support that consists of four CSS3 modules and ES5 strict mode [12:06:01.0000] <paul_irish> haha. [12:08:00.0000] <Ms2ger> And 300% hardware acceleration [12:33:00.0000] <hsivonen> ooh. is IE10 PP1 really adding Flexbox? which snapshot of Flexbox? [12:35:00.0000] <Philip`> http://msdn.microsoft.com/en-gb/ie/gg192966#_CSS3FlexBox might or might not say [12:37:00.0000] <AryehGregor> Whoa, PP1 already? They're serious about stepping up their release schedule. [12:38:00.0000] <tw2113> now if they could just get people off of XP [12:38:01.0000] <AryehGregor> Or release their new browsers for XP. [12:39:00.0000] <tw2113> that takes logic that MS can't compute [12:39:01.0000] <Ms2ger> +Vista, I hear? [12:39:02.0000] <tw2113> it causes segfaults [12:39:03.0000] <zewt> please stop trying to coerce me into "upgrading" away from an OS that I like to one that I do not like; thanks [12:39:04.0000] <bfrohs> And here I thought SP3 was their attempt to get people off of XP... [12:39:05.0000] <AryehGregor> Do grid and flexbox layouts support very different use-cases? I thought they were similar ideas. [12:39:06.0000] <Ms2ger> zewt, please upgrade to linux ;) [12:40:00.0000] <bfrohs> /me agrees with Ms2ger [12:40:01.0000] <zewt> i don't touch linux as a desktop OS, thanks :P [12:40:02.0000] <tw2113> why not? [12:40:03.0000] <zewt> relegated to a terminal, where it belongs [12:40:04.0000] <AryehGregor> Ms2ger, how does that help? IE doesn't work on Linux either. :( [12:40:05.0000] <Philip`> AryehGregor: They say "Higher cadence just means more frequent releases of incomplete software (and larger version numbers). What matters is when consumers and businesses take delivery of robust, production-ready browsers that use the new technology." which doesn't sound like a great endorsement of a stepped-up release schedule [12:41:00.0000] <bfrohs> I have to admit, it's nice to see Microsoft trying to get back into the game. [12:42:00.0000] <Ms2ger> It rather sounds like "It takes us half a year to run all our regression tests by hand, and then another 3 months when we've fixed the regressions, so we can't go faster" [12:43:00.0000] <zewt> "it takes a really long time to WONTFIX all of these bug reports" [12:43:01.0000] <Ms2ger> That, too [12:44:00.0000] <hsivonen> that there are multiple browsers implementing the same prefixed CSS features is sad. I wish we could get rid of the prefixes faster. [12:44:01.0000] <tw2113> well you don't need to use them [12:45:00.0000] <AryehGregor> hsivonen, it's been discussed like six times in the CSSWG, and nobody seems to be interested enough to agree on a solution. [12:45:01.0000] <hsivonen> tw2113: yes, I do. I want cool stuff right now. [12:45:02.0000] <AryehGregor> What they should really do is declare individual features stable even before CR, and commit to not changing the syntax, so that vendors can drop prefixes before the whole spec moves to CR. [12:45:03.0000] <tw2113> :P [12:45:04.0000] <hsivonen> having to have bugs like https://bugzilla.mozilla.org/show_bug.cgi?id=642265 is just sad [12:46:00.0000] <tw2113> my prefix order is this: -moz, -o, -webkit, no prefix [12:47:00.0000] <tw2113> i just let IE render what it can, and use modernizr in some cases [12:47:01.0000] <hsivonen> tw2113: why do you discriminate IE? [12:47:02.0000] <tw2113> because i am not a fan of it at all [12:47:03.0000] <paul_irish> /me tries to think of common css3-y stuff that uses a -ms- prefix... [12:48:00.0000] <zewt> historically microsoft has a really well-compressed vendor prefix [12:48:01.0000] <zewt> "" [12:48:02.0000] <paul_irish> in the past IE has refrained from implementing things with a prefix [12:48:03.0000] <paul_irish> yah [12:48:04.0000] <Ms2ger> AryehGregor, isn't that the consensus? [12:48:05.0000] <hsivonen> paul_irish: CSS 2D transforms is an example of a spec that's implemented with a prefix in the top 4 engines [12:48:06.0000] <paul_irish> but ie10 changes that philosophy. [12:48:07.0000] <AryehGregor> Ms2ger, possibly, but no one seems to be doing it. [12:48:08.0000] <paul_irish> also 2d transforms in ie9 yes [12:48:09.0000] <hsivonen> paul_irish: I count that as a failure of the standardization process [12:49:00.0000] <paul_irish> probably. that and msft is way more "careful" about adopting features than everyone else [12:49:01.0000] <tw2113> MS just marches to the beat of their own drummer and i deal with it last [12:49:02.0000] <aho> Peter`, just saw your vendor prefix tweet. ace! :D [12:49:03.0000] <Ms2ger> I'm not too happy about dropping prefixes before we have a test suite, myself [12:49:04.0000] <paul_irish> "Updated my Vendor Prefixed #CSS overview with lots of new Firefox, Opera and IE hotness :-) http://goo.gl/NZY0N " [12:50:00.0000] <aho> thanks for the copypasta ;) [12:55:00.0000] <aho> Peter`, i'm not sure about the meaning of gray/italic entries :f [12:56:00.0000] <AryehGregor> Ms2ger, that's a great philosophy if anyone actually bothers writing tests in a reasonable timeframe. [12:56:01.0000] <AryehGregor> In practice, not so much. [12:57:00.0000] <Peter`> aho: thanks :) The grey ones are the same properties, yet not prefixed anymore [12:57:01.0000] <hsivonen> Ms2ger: that doesn't help much if existing content is of the form -moz-foo: bar; -webkit-foo: bar; -o-foo: bar; -ms-foo: bar; foo: bar; [12:58:00.0000] <aho> ah ok... so... firefox supports... filter? [12:58:01.0000] <hsivonen> aho: different filter, IIRC [12:58:02.0000] <Ms2ger> Yeah [12:59:00.0000] <aho> https://developer.mozilla.org/en/CSS/filter [12:59:01.0000] <aho> ah yea... svg filter/mask stuff [13:00:00.0000] <bfrohs> Out of curiosity: 'test suite' or 'testsuite'? Both are used on whatwg wiki. [13:00:01.0000] <Ms2ger> Both are used in my head, too [13:00:02.0000] <hsivonen> Peter`: might make sense to put Firefox's filter and IE's -ms-filter on different rows, since they are really different features [13:01:00.0000] <Peter`> it's a limitation in the system right now, I am aware of the problem [13:02:00.0000] <aho> you could add a tooltip comment for now ;) [13:07:00.0000] <aho> i'd use ⓘ (24d8) instead of that ✍ thing [13:19:00.0000] <Peter`> aho: Good idea, thanks! Both changed. [13:20:00.0000] <aho> :) [13:30:00.0000] <bga_> oh [13:31:00.0000] <bga_> now we have name collision between IE's filter and modern SVG's filter [13:31:01.0000] <bga_> many sites will be broken [13:32:00.0000] <TabAtkins> We've had this conflict for forever. [13:32:01.0000] <Ms2ger> WebKit has even generalized document.all's behaviour for it [13:32:02.0000] <bga_> choose for example `svg-filter` [13:33:00.0000] <bga_> document.all is good [13:33:01.0000] <TabAtkins> This hasn't been a problem so far, because IE hasn't implemented SVG 'filter', and the two versions have massively different syntaxes. [13:35:00.0000] <jgraham> "document.all is good" - uh what? [13:36:00.0000] <bga_> _filter:alpha(opacity = 50); filter: svg filter here [13:36:01.0000] <bga_> or CC [13:37:00.0000] <bga_> jgraham document.all.foo is shorter than document.getElementById('foo') [13:37:01.0000] <bga_> :) [13:37:02.0000] <bga_> developers too lazy [13:38:00.0000] <TabAtkins> Bah. It should be just query('#foo') (on window, so it can be omitted). [13:38:01.0000] <bga_> or $('foo'), yes [13:39:00.0000] <TabAtkins> $ is too opaque, even though it does have a lot of history, imo. [13:39:01.0000] <bga_> or with(document.all){ foo } :P [13:39:02.0000] <TabAtkins> Bleh. [13:39:03.0000] <jgraham> bga_: Every time you use document.all a kitten dies [13:39:04.0000] <jgraham> Well I say a kitten [13:40:00.0000] <TabAtkins> What's wrong with window.foo? ^_^ [13:40:01.0000] <jgraham> It is more like most of the cute animals for a mile radius [13:40:02.0000] <bga_> TabAtkins gecko? :) [13:40:03.0000] <TabAtkins> Pfft. [13:41:00.0000] <jgraham> Hmm, gecko supports that [13:41:01.0000] <jgraham> I'm pretty sure [13:41:02.0000] <AryehGregor> Only in quirks mode. [13:41:03.0000] <jgraham> Same as document.all [13:41:04.0000] <jgraham> (did I already mention that you shouldn't use either?) [13:42:00.0000] <TabAtkins> /me uses window.[id] for quick tests because it's just easier. Nothing public, though. [13:45:00.0000] <bga_> main goal is make development easy imho. foo.onclick = _bar or document.getElementById('foo').addEventListener('click', _bar, false) [13:46:00.0000] <bga_> you provide giant stong api with long names [13:46:01.0000] <TabAtkins> Yup, most of the "good" APIs were apparently designed with no consideration for authoring ease. :/ [13:47:00.0000] <bga_> ppl are forced to invent jq like frameworks [13:53:00.0000] <jgraham> bga_: There is "easy" and "easy to shoot yourself in th foot" [13:54:00.0000] <bga_> i know [13:55:00.0000] <TabAtkins> There is also, of course, "omg verbose how did you ever consider this acceptable don't you know we're in Peak ASCII?". [15:28:00.0000] <TabAtkins> Heh, the behavior of transformed elements that are broken across columns is amusing. [15:28:01.0000] <TabAtkins> Particularly when you animate the transform. [15:28:02.0000] <Hixie> url? :-) [15:29:00.0000] <TabAtkins> One sec... [15:29:01.0000] <TabAtkins> 925 on your dom viewer [15:30:00.0000] <TabAtkins> (Sorry, I was doing the test on my windows box, and your "saved" url is too long to easily remember. [15:30:01.0000] <Hixie> hah [15:30:02.0000] <Hixie> nice [15:31:00.0000] <TabAtkins> This makes it somewhat difficult to determine if I need a getQuads() function in addition to getQuad(), for the transformed quad. [15:56:00.0000] <Hixie> othermaciej: yt? [15:57:00.0000] <Hixie> othermaciej: bug 10202's decision requires me to put RFC2119 terminology in a non-normative context. How should I proceed? [16:07:00.0000] <Hixie> othermaciej: for now i just forked the spec so the whatwg one doesn't make that mistake; let me know if i should just fix the w3c one too [16:07:01.0000] <Hixie> /me doesn't really dare apply judgement to applying these decisions anymore [16:12:00.0000] <othermaciej> Hixie: do you mean the word "should" in the note? [16:12:01.0000] <Hixie> yes [16:12:02.0000] <Hixie> see most recent diff [16:14:00.0000] <othermaciej> ok, I don't have time at the moment to study this closer but I can this evening [16:14:01.0000] <Hixie> k [16:14:02.0000] <Hixie> it's a trivial editorial matter [16:30:00.0000] <zewt> drawing a total blank here and I've seen it in several specs--what's a spec that has the "if a feature isn't supported, pretend it doesn't exist and don't expose the interface at all" text? [16:30:01.0000] <Hixie> how do you mean? [16:30:02.0000] <Hixie> if a feature isn't supported, how would an interface be exposed? [16:30:03.0000] <Hixie> surely if the interface is exposed, that means the feature is supported [16:31:00.0000] <Hixie> by definition [16:31:01.0000] <zewt> it means as opposed to throwing an exception, i think [16:31:02.0000] <Hixie> not sure what you mean [16:31:03.0000] <zewt> it's a specific bit of text ... dunno, I'll keep poking through specs until I find it [16:33:00.0000] <zewt> ah, here it is [16:33:01.0000] <zewt> When support for a feature is disabled (e.g. as an emergency measure to mitigate a security problem, or to aid in development, or for performance reasons), user agents must act as if they had no support for the feature whatsoever, and as if the feature was not mentioned in this specification. [16:33:02.0000] <zewt> (relevant to the webgl GPU-blacklisting thing) [16:34:00.0000] <Hixie> oh, disabled, not not supported [16:34:01.0000] <Hixie> ok [16:34:02.0000] <zewt> same thing from the user's POV :) [16:34:03.0000] <jamesr> i don't think that is true if a feature is disabled due to the hardware limitations clause [16:34:04.0000] <Hixie> only because of that paragraph :-) [16:35:00.0000] <jamesr> in practice, that is [16:35:01.0000] <jamesr> not in spec-ese [16:35:02.0000] <zewt> jamesr: i don't know of any cases of it actually happening [16:35:03.0000] <jamesr> for example everyone has a hardware limitation on canvas dimensions right now [16:35:04.0000] <jamesr> but no user agent pretends that canvas is completely unsupported if the page tries to make a gigantic canvas [16:36:00.0000] <zewt> yeah, it's not applied for every edge case [16:36:01.0000] <jamesr> for webgl in the blacklist, the feature exists exactly as specified - it just happens to never give you a valid context [16:37:00.0000] <zewt> that's a bug, though--getContext() should always return a context [16:37:01.0000] <jamesr> if it returns, yeah it probably should [16:37:02.0000] <jamesr> but a webgl context isn't necessarily one you can render into [16:37:03.0000] <zewt> about to suggest one approach to making that happen on the thread; i suspect implementation problems won't allow it, but it seems like it should work based on the gecko/webkit reasons given so far [16:38:00.0000] <zewt> (going to suggest that permanent gpu-blacklisted failures should be detected at browser launch and disable WebGL entirely as above, and transient "out of resources" should create a "lost" context as Kenneth described) [16:38:01.0000] <jamesr> that doesn't work [16:38:02.0000] <jamesr> the blacklist may be updated while the browser is running [16:38:03.0000] <zewt> how? [16:38:04.0000] <jamesr> it downloads the blacklist from the interwebs [16:38:05.0000] <TabAtkins> The browser polling the blacklist server. [16:39:00.0000] <jamesr> or the user may update their graphics drivers to a version that isn't blacklisted while the browser is running [16:39:01.0000] <zewt> that should just be updated along with browser updates [16:39:02.0000] <jamesr> why? [16:39:03.0000] <zewt> if it's okay to restart the browser for a security update, it's okay to do so for a blacklist update [16:40:00.0000] <jamesr> why? [16:40:01.0000] <zewt> why not? [16:40:02.0000] <TabAtkins> It's not actually okay to restart for a security update. It's just necessary. [16:40:03.0000] <jamesr> because it's a worse user experience [16:40:04.0000] <jamesr> it shouldn't be necessary to restart the browser for a security patch [16:40:05.0000] <zewt> (in principle, Chrome might be able to start new, updated tab backends with things like updated blacklists, without having to restart the front-end) [16:40:06.0000] <jamesr> and if we figure out a way to patch security holes without requiring a browser restart, you can bet we'll do it [16:40:07.0000] <jamesr> we do a similar thing for safebrowsing [16:40:08.0000] <jamesr> we update the safebrowsing lists without requiring browser restarts [16:40:09.0000] <Hixie> jamesr: if webgl is blacklisted, then 'webgl' is not the name of a context supported by the user agent, and the UA will return 'null' in step 2 [16:41:00.0000] <jamesr> (in principle, maybe. it'd be insanely complicated) [16:41:01.0000] <zewt> so create new browsing environments with WebGL disabled [16:41:02.0000] <jamesr> i don't think that's very practical [16:42:00.0000] <Hixie> what isn't practical about it? [16:42:01.0000] <jamesr> Hixie: good point on that [16:43:00.0000] <zewt> yeah, that's true [16:43:01.0000] <jamesr> tying webgl blacklisting state with browsing environments instead of allowing the blacklist to be updated dynamically [16:43:02.0000] <zewt> the WebGL class named would still be in window, but that's not a big deal [16:43:03.0000] <Hixie> oh yeah, you'd want to do it across all browsing contexts at once, sure [16:44:00.0000] <jamesr> so the results of step 2 could change essentially at any point [16:44:01.0000] <Hixie> it's not like it's going to matter anyway, only users that happen to have a webgl context created on a page that then tries to create another while the blacklist is updated and if they have a black-listed card that hasn't already crashed will be affected [16:44:02.0000] <Hixie> and they'll just hit reload [16:44:03.0000] <Hixie> (and find the page has stopped working altogether) [16:44:04.0000] <Hixie> so... [16:45:00.0000] <othermaciej> Hixie: so what are possible resolutions to the "note" containing a "should"? It seems like one is to remove the word "note", and another is to rephrase to not use an RFC2119 keyword if no conformance requirement is intended [16:45:01.0000] <zewt> it would mean that ("WebGLTexture" in window) and canvas.getContext("webgl") could be out of sync, but i think nothing guarantees that anyway [16:45:02.0000] <zewt> (ignoring primary-context-incompatible errors from getContext) [16:45:03.0000] <othermaciej> Hixie: if you want to do either of those things, I'd say run it by the list with an explanation, and if Julian doesn't object, it should be fine [16:45:04.0000] <jamesr> Hixie: the reverse could happen (the user was blacklisted then becomes unblacklisted) [16:46:00.0000] <Hixie> othermaciej: the resolution i use was to apply the decision as it was made for the w3c copy, and fix the text for the whatwg copy to have s/should/will/ and to have slightly better style [16:46:01.0000] <jamesr> Hixie: in which case there's no way for a page to know when to retry the context creation [16:46:02.0000] <jamesr> so the only real option is for the user to refresh the page [16:46:03.0000] <zewt> jamesr: if a card is blacklisted while a context is created, is it just "lost" (webglcontextlost) forever? [16:46:04.0000] <Hixie> othermaciej: i don't intend to post to the list, it just wastes my time even more [16:46:05.0000] <jamesr> i believe that's how it should work. i don't know if that's how it does work in the current chrome implementation [16:47:00.0000] <othermaciej> Hixie: yes, I recognize that you forked - if you want to unfork, then I would only ask to post to the list first [16:47:01.0000] <jamesr> the dynamic blacklisting stuff is relatively new [16:47:02.0000] <Hixie> jamesr: yeah [16:47:03.0000] <Hixie> othermaciej: k. i'll leave it as is for now. [16:47:04.0000] <othermaciej> Hixie: if you don't care about unforking on this point, then you don't need to do anything [16:47:05.0000] <jamesr> zewt: meaning that future calls to getContext() would return a reference to the same non-null but lost context, i suppose [16:48:00.0000] <Hixie> othermaciej: as far as forking for these decisions go, that one is going to be the least annoying one by far [16:49:00.0000] <zewt> jamesr: according to the spec, since at that point "webgl" would no longer be a name of a supported context, it would abort in step 2 and return null [16:49:01.0000] <zewt> even if a previous object exists (that happens in 5) [16:50:00.0000] <zewt> http://dev.w3.org/html5/spec/the-canvas-element.html#dom-canvas-getcontext [16:50:01.0000] <jamesr> hm right, you wouldn't make it to step 3 [16:50:02.0000] <jamesr> i'm not totally sure step 2 is when the blacklisting should apply [16:50:03.0000] <zewt> can you think of any problems with it? it seems like the cleanest fix so far, barring any other issues [16:51:00.0000] <jamesr> what would the net delta end up being? [16:51:01.0000] <zewt> (helpfully, it also reduces the amount of changes webgl would need) [16:51:02.0000] <zewt> well, the actual behavior wouldn't change much in this case--blacklisted returns null now and it still would [16:53:00.0000] <jamesr> (note that i still think we need to add a asynchronous context creation path for WebGL. WebGL context initialization can be really expensive and it sucks to block the main message loop while it's going on) [16:53:01.0000] <zewt> webglcontextcreationerror would go away, presumably, since you never actually get to any algorithm that can fire it [16:53:02.0000] <zewt> which might take some people a bit of convincing [16:53:03.0000] <zewt> unless there's a way to wedge it in somehow [16:53:04.0000] <jamesr> (we could add an async path that also updated the canvas' primary context) [16:55:00.0000] <zewt> would that actually help? i don't know the backends at all [16:55:01.0000] <zewt> yeah i guess i could see how that could work (with opengl, anyway, i know webgl isn't actually always opengl under the hood) [16:56:00.0000] <zewt> instead of an async getContext, it could be getContext("webgl", {async: true});, which always returns a "lost" context and fires webglcontextrestored when initialization completes [16:57:00.0000] <zewt> though if "out of resources" error cases become "context lost" then it would need a way to tell the difference between the cases ("still initializing" and "out of resources, don't wait up") [16:58:00.0000] <jamesr> yeah, you really want to have some definitive point where you know whether or not you are gonna get a context [16:58:01.0000] <zewt> could have three context states: "active", "lost" and "initializing" [16:58:02.0000] <zewt> async starts in initializing; if it fails it's lost, as normal 2011-04-13 [17:00:00.0000] <jamesr> how would you indicate the transition from initializing->normal? [17:00:01.0000] <jamesr> fire a context restored? [17:00:02.0000] <zewt> yeah [17:00:03.0000] <zewt> basically turning it into a readyState, i guess [17:01:00.0000] <jamesr> yeah. it might be a little awkward for developers to put their initial startup code in the contextrestored function [17:02:00.0000] <Hixie> are lost webgl contexts really that common? [17:02:01.0000] <jamesr> and in the lost handler they'd have to know if they were transitioning from init->lost (in which case they should show the webgl sadness) and normal->lost [17:02:02.0000] <Hixie> exposing this to web authors seems like a losing strategy. [17:02:03.0000] <jamesr> Hixie: on XP, every time the screensaver starts you lose context [17:02:04.0000] <jamesr> and every time the computer goes to sleep [17:02:05.0000] <zewt> Kenneth already described returning contexts in the "lost" state, which would require handling that too [17:02:06.0000] <Hixie> if UAs don't hide this from pages, they're just gonna break. [17:02:07.0000] <jamesr> and i believe you lost it when switching the logged in user on some OSes [17:02:08.0000] <Hixie> people aren't going to be testing this kind of thing. [17:03:00.0000] <jamesr> Hixie: yes. but UAs can't hide a webgl lost context from the page [17:03:01.0000] <Hixie> why not? [17:03:02.0000] <jamesr> how could you? [17:03:03.0000] <jamesr> to restore state, you'd have to save all commands + all resources for all commands and replay them from the beginning [17:03:04.0000] <Hixie> remember the state of the context and fake it [17:03:05.0000] <zewt> there are a lot more system-specifics for *GL than with most web APIs, that you can't avoid without crippling things [17:03:06.0000] <jamesr> the state of the context is potentially huge [17:03:07.0000] <Hixie> well i guarantee the web author ain't gonna do it [17:03:08.0000] <jamesr> it's the GL state and then all resources referenced from that state [17:04:00.0000] <jamesr> game authors sometimes do it properly [17:04:01.0000] <Hixie> not on the web [17:04:02.0000] <zewt> jamesr: if you're able to save state immediately before losing the context, you could serialize textures and so on; but I don't think you get any chance to do that with a lot of system 3D APIs [17:04:03.0000] <jamesr> but i agree that most won't [17:04:04.0000] <Hixie> if native app game authors only _sometimes_ do it properly, we're in for a world of pain here [17:04:05.0000] <Hixie> we can't ship an api this broken [17:04:06.0000] <jamesr> zewt: yeah you don't get any notification that the context is about to go away [17:04:07.0000] <zewt> webgl is already shipping :) [17:04:08.0000] <jamesr> Hixie: we did, heh [17:04:09.0000] <jamesr> thankfully nearly all XP users are currently blacklisted [17:04:10.0000] <Hixie> i predict doom for that api then [17:05:00.0000] <Hixie> mind you the ridiculous platform-specific-endianess thing pretty much already guaranteed doom too [17:05:01.0000] <zewt> i'm here late in the game but trying to do what little I can to reduce the chances of doom :) [17:05:02.0000] <Hixie> /me is unimpressed by webgl :-P [17:05:03.0000] <jcranmer> replace it with webmagic [17:06:00.0000] <jcranmer> which automatically figures out the right thing to do at every API invocation [17:06:01.0000] <jcranmer> and shoots the original developer if it can't [17:06:02.0000] <jamesr> webgl is definitely a different philosophy from most web apis [17:07:00.0000] <zewt> most web APIs aren't seriously hardware-bound, so they can get away with "make sure everyone can do the same thing"; if you did that with a 3d API you'd cripple it [17:07:01.0000] <zewt> that doesn't mean they shouldn't do everything they can to avoid accidentally tripping over that, though [17:08:00.0000] <zewt> for example, by making sure if you use any optional features, you explicitly enable them first [17:08:01.0000] <zewt> which they don't do at all [17:08:02.0000] <jamesr> they did for opengl extensions [17:08:03.0000] <jamesr> you have to turn them on and before you do they aren't available at all [17:08:04.0000] <jamesr> (shaders won't compile with them, etc) [17:08:05.0000] <Hixie> jamesr: yes, the different philosophy is the problem :-P [17:08:06.0000] <zewt> yeah but I'm talking about the basic stuff: MAX_TEXTURE_SIZE, etc [17:09:00.0000] <jamesr> ah yeah, they didn't define a required baseline for all of those [17:09:01.0000] <jamesr> i think the texture fetch count is a nastier one [17:09:02.0000] <zewt> i've already been bitten in the face by MAX_VERTEX_TEXTURE_IMAGE_UNITS, starting to implement something only to find that MAX_VERTEX_TEXTURE_IMAGE_UNITS is 0 everywhere [17:09:03.0000] <jamesr> it's a number that you have to query. it's 0 most places [17:09:04.0000] <jamesr> heh yeah [17:09:05.0000] <jamesr> that one kind of blows [17:10:00.0000] <zewt> it's particularly nasty because the spec *specifically* says "everyone must support this"--but the "(but the max might be 0)" is implicit [17:10:01.0000] <zewt> great, everyone must support no fewer than 0 of something [17:11:00.0000] <zewt> there should be a table of minimums for every one of those variables, and you should have to explicitly set them higher if you want to use more [17:11:01.0000] <zewt> so at least if you're writing code that won't run everywhere, you know it [17:12:00.0000] <zewt> ... i'd suggest this on webgl-pub but it feels like too radical a change from webgl's design for it to even be worth suggesting [17:21:00.0000] <zewt> heh, i bet you could improve compatibility by always causing contexts to be lost if a tab is unfocused for more than a couple minutes--a lot more people would notice and implement webglcontextlost that way (unfortunately, it would also reduce net UA quality) [17:34:00.0000] <Philip`> zewt: Hmm, 0 everywhere? [17:34:01.0000] <Philip`> http://feedback.wildfiregames.com/report/opengl/feature/GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB seems to indicate it's typically non-zero [17:34:02.0000] <Philip`> at least in raw OpenGL [17:35:00.0000] <zewt> Philip`: https://groups.google.com/group/angleproject/browse_thread/thread/fbf08f0ab51ff26d [17:36:00.0000] <zewt> is the problem in practice [17:37:00.0000] <Philip`> Ah [17:37:01.0000] <zewt> it surprised me, since I'm sure my hardware supports it--if it was something advanced like trying to use 8 texture samplers I'd have checked earlier [17:38:00.0000] <wilhelm> Hixie: In chapter 7.5.2, "Custom scheme and content handlers", under the protocol argument, it says "Note: This feature is not intended to be used with non-standard protocols". What are non-standard protocols in this context? [17:39:00.0000] <Hixie> myprot: [17:39:01.0000] <Hixie> anything not registered with IANA [17:39:02.0000] <wilhelm> OK. So everything in the first table here, but nothing from the second? http://en.wikipedia.org/wiki/URI_scheme [17:40:00.0000] <Hixie> everything except those that are security issues like http: [17:40:01.0000] <Hixie> otherwise yes [17:40:02.0000] <Hixie> however, it is my belief that we should move away from IANA here [17:40:03.0000] <Hixie> and instead use something like wikipedia or some other wiki to register protocols [17:40:04.0000] <Hixie> which would make this mostly moot [17:40:05.0000] <jamesr> zewt: i think it's worth suggesting at least [17:41:00.0000] <wilhelm> Indeed. But then I presume we want a whitelist here. [17:41:01.0000] <jamesr> i'm not a true "webgl people" (have really no opengl background) but i'd like stuff to work [17:42:00.0000] <zewt> jamesr: i might, but will let the current stuff settle a bit [17:42:01.0000] <Hixie> wilhelm: why not a black list? [17:42:02.0000] <jamesr> earlier the better the odds of success are [17:42:03.0000] <jamesr> as more content gets out there it'll be harder to change [17:42:04.0000] <Hixie> wilhelm: i mean, in principle i agree that whitelists are better, but here you know what the dangerous ones are, they're the ones you implement. [17:43:00.0000] <jcranmer> Hixie: I can see some issues with blacklisting non-official URIs [17:43:01.0000] <jcranmer> particularly some well-known real-time-chat-related ones [17:43:02.0000] <wilhelm> That would allow the non-standard protocols – but that might not be a problem. [17:43:03.0000] <Hixie> what issues? [17:43:04.0000] <jcranmer> (aim, irc, skype) [17:43:05.0000] <Hixie> wilhelm: the UA should allow non-standard protocols [17:43:06.0000] <wilhelm> Noted. [17:44:00.0000] <Hixie> wilhelm: realistically, given how hard it is to register protocols, the majority of them will be unregistered. that's why i want to make it easier to register protocols. [17:44:01.0000] <jcranmer> I can imagine, e.g., a web-irc interface wanting to register IRC links [17:44:02.0000] <Hixie> that seems reasonable [17:44:03.0000] <Hixie> where's the problem? [17:45:00.0000] <wilhelm> If we have a blacklist of the scary stuff, there isn't one. (If we can make a definite list of scary stuff. :) [17:45:01.0000] <jcranmer> well, irc:// isn't a IANA-registered protocol, at least according to WP [17:45:02.0000] <Hixie> jcranmer: so? [17:46:00.0000] <Hixie> oh, i see what you're saying [17:46:01.0000] <jcranmer> well, if I didn't misread the earlier discussion [17:46:02.0000] <Hixie> i misunderstood, sorry [17:46:03.0000] <jcranmer> misunderstanding is very plausible [17:46:04.0000] <Hixie> agreed that we should not blacklist the unregistered ones (or whitelist the registered ones) [17:46:05.0000] <jcranmer> put another way [17:46:06.0000] <Hixie> only blacklist the ones the UA implements [17:46:07.0000] <Hixie> (and doesn't want to allow overriding of) [17:46:08.0000] <jcranmer> I expect that the primary use of registering oneself as a URI handler is will be to support uncommon protocols [17:48:00.0000] <jcranmer> mailto, news, nntp, and possibly tel or geo are the only official protocols on WP I can see someone feasibly wishing to handle [17:49:00.0000] <jcranmer> and even then, mailto is probably the only one which would see widespread adoption [17:49:01.0000] <wilhelm> Hixie: A related issue – should we aim for a blacklist or whitelist for the mimeType argument? Mozilla documentation indicates that they only whitelist a few types. (Our blacklist would have to be very long if we had one – there's plenty of MIME-types used internally that, if overruled, would break stuff fundamentally.) [17:51:00.0000] <wilhelm> jcranmer: Of those already supported by UAs? Probably. Stuff like spotify: (a vendor-specific scheme for a music streaming service) is very common in Europe, though. Although that might be intercepted at a different level. [17:52:00.0000] <jcranmer> my point is that I expect that the largest usage is going to be for unofficial ones [17:52:01.0000] <wilhelm> I wouldn't be surprised. [17:53:00.0000] <jcranmer> I might argue that most people aren't going to bother going through any registration process [17:54:00.0000] <Lachy> defining and registering a URI scheme is so unbelievably painful [17:55:00.0000] <Lachy> just look at the hassle I've been going through trying to get a spec written and approved by the IETF for the about: URI scheme [17:55:01.0000] <jcranmer> the most most people will go is plopping a brief syntax page on a blog [17:55:02.0000] <jcranmer> or perhaps a dedicated page squirreled away deep in the guts of some site somewhere [17:56:00.0000] <Hixie> wilhelm: the mime type list has to be a blacklist, the whole point is to allow arbitrary unknown (to us) types to be supported [17:56:01.0000] <Hixie> Lachy: yeah we really need to do something about that [17:56:02.0000] <wilhelm> Hixie: That makes sense. We'll just have to be very, very careful, then. [17:56:03.0000] <Hixie> wilhelm: yeah :-/ [17:56:04.0000] <jcranmer> I see what you mean about a mime-type blacklist [17:57:00.0000] <jcranmer> but, security wise, that makes you reactive instead of proactive [17:58:00.0000] <Lachy> Hixie, I'm working on it. Another editor volunteered to help with the spec, which encouraged me to actually spend some time on it [17:59:00.0000] <Hixie> AryehGregor: btw, the whatwg spec license isn't the MIT license, it's a custom license with much the same effects as MIT (but written less well) [17:59:01.0000] <Lachy> they actually tried to get the spec to require an IANA registry for about: URIs, to which I've said no [17:59:02.0000] <Hixie> Lachy: i meant fix the registry problem, not about: specifically, but glad to hear about: is moving forward [18:00:00.0000] <Hixie> AryehGregor: also, google doesn't own the copyright on the whatwg html spec, apple, mozilla, and opera do [18:00:01.0000] <Hixie> AryehGregor: the rest of your points stand though [18:01:00.0000] <jcranmer> Lachy: you put the about:mozilla easter egg in an RFC draft ‽ [18:02:00.0000] <Lachy> Hixie, why don't you get the WHATWG Members to agree to change the spec's licence to MIT, BSD or CC0? [18:02:01.0000] <Lachy> jcranmer, yes, as an example. Why? [18:03:00.0000] <jcranmer> it just seems... wrong [18:03:01.0000] <Lachy> why? [18:03:02.0000] <wilhelm> Hixie: And my third, and final question tonight – should there be any restrictions on the content in the title argument? Our prototype UI and prototype storage format aren't particularly happy about \n or very long strings, for example. (I suppose we're free to discard the parts of the string we don't like.) [18:03:03.0000] <Lachy> it's one of the most well known easter eggs, and is relevant to the draft. [18:03:04.0000] <wilhelm> /me notices “might use”. [18:04:00.0000] <jcranmer> I guess it seems to kind of defeat the purpose of easter eggs [18:04:01.0000] <jcranmer> I'm not exactly objecting to it [18:04:02.0000] <Lachy> wilhelm, just replace invalid characters with U+FFFD (Replacement Char) and Base64 encode the string. That should prevent any unwanted characters sneaking into the ini file [18:05:00.0000] <Lachy> jcranmer, oh, so you want it to remain a "secret" :-) [18:05:01.0000] <wilhelm> If we need to store that part at all… [18:06:00.0000] <jcranmer> well, an RFC ~= a specification, and mentioning easter eggs in specifications seems wrong [18:06:01.0000] <jcranmer> well, more objectionable than, say, putting it on Wikipedia [18:09:00.0000] <Lachy> btw, the latest editors' draft is here if you would like to review it. https://github.com/josephholsten/about-uri-scheme/raw/master/draft-holsten-about-uri-scheme-07.txt [18:09:01.0000] <Lachy> most significant changes are in section 5 [18:09:02.0000] <Hixie> Lachy: what problem would that solve, and is that problem costing more than it would cost me to try to herd the cats in question towards making a decision? :-) [18:10:00.0000] <Hixie> wilhelm: you can massage the string as you wish [18:10:01.0000] <Hixie> wilhelm: no restrictions in terms of throwing exceptions or whatnot as far as i recall, though [18:10:02.0000] <Lachy> Hixie, I'm not sure what you're referring to? [18:11:00.0000] <Lachy> oh, you mean the licence question? [18:11:01.0000] <Hixie> yeah [18:11:02.0000] <Lachy> (I forgot I asked) [18:11:03.0000] <wilhelm> Hixie: Got it. Thanks. [18:11:04.0000] <Hixie> Lachy: i shouldn'ta replied then :-P [18:12:00.0000] <hober> Lachy: what list do the about: discussions happen on? [18:14:00.0000] <Lachy> Hixie, it would make the licence consistent with that which we're asking the W3C to use, and by avoiding a custom licence, it reduces licence proliferation a little bit [18:15:00.0000] <Lachy> hober, unfortunately, all the comments I've received since the Last Call process began aren't being archvied. They're being CC'd just to the people involved with the discussion :-( [18:16:00.0000] <Lachy> I don't know why there is no mailing list. The draft-holsten-about-uri-scheme at tools.ietf.org address they're posting to doesn't seem to have an archive. [18:16:01.0000] <wilhelm> Hixie: (Stating clearly in the spec that arbitrary unknown URI schemes and MIME-types are to be supported might lessen the confusion for the next implementor that comes along. I voted in favour of a MIME type white list for our implementation earlier today, in fear of security implicatons. :) [18:16:02.0000] <zewt> is there any precedent (outside of WebGL) where merely registering an event handler (and not calling preventDefault from it) has side-effects? [18:17:00.0000] <Hixie> Lachy: yeah i don't think that benefit is worth it. But feel free to reach out to the charter members and try to convince them yourself if you think it is. :-) [18:17:01.0000] <Hixie> Lachy: i would certainly support your request [18:17:02.0000] <Lachy> Hixie, if the W3C did adopt MIT/BSD/CC0, would you think it's more worth making it consistent then? [18:18:00.0000] <Hixie> i would at least suggest it. it'd probably be easier to convince them in that kind of situation, too. [18:18:01.0000] <Lachy> ok [18:18:02.0000] <Hixie> wilhelm: can you file a bug or send mail on it? [18:18:03.0000] <Hixie> wilhelm: (feel free to use the bug reporting widget, that's sufficient) [18:18:04.0000] <Hixie> wilhelm: (and trivial) [18:18:05.0000] <wilhelm> Hixie: Sure. [18:18:06.0000] <Hixie> thanks [18:19:00.0000] <zewt> (webgl has side-effects from registering webglcontextrestored, which seems very weird; wondering if I'm able to say "nothing else anywhere does this") [18:19:01.0000] <Hixie> registering webglcontextrestored? [18:20:00.0000] <Hixie> you mean calling addEventListener()? [18:20:01.0000] <Lachy> zewt, what side effects? [18:20:02.0000] <zewt> webgl only automatically restores contexts if at least one webglcontextrestored event listener is registered [18:20:03.0000] <Hixie> that's totally bogus [18:20:04.0000] <zewt> that's the argument i'm about to make, i just want to double-check before I claim nothing else anywhere does it :) [18:20:05.0000] <Lachy> nothing else I'm aware of does that. [18:33:00.0000] <Hixie> wow [18:33:01.0000] <Hixie> the chairs don't think that "HTML is a media-independent semantic markup language" ??? [18:33:02.0000] <jamesr> what is it? [18:34:00.0000] <Hixie> they don't sa'y [18:35:00.0000] <jamesr> well i'm sure it is a useful and productive distinction [18:36:00.0000] <jamesr> zewt: if you don't have such an event listener registered is the behavior observable? [18:36:01.0000] <jamesr> zewt: if the context is restored but no JS runs then the context will still be just as dead as it was when it was still lost... [18:41:00.0000] <zewt> you can tell if a context is lost/restored without any events, using isContextLost (or just by calling any method; if the context is lost, nothing works) [18:41:01.0000] <zewt> eg. you could (as a dumb, contrived example) check for a lost or restored context in a timer [18:42:00.0000] <zewt> if you don't do canvas.addEventListener("webglcontextrestored", function(e) { }, false), it's never restored [18:43:00.0000] <jamesr> true. i think the thinking was that in general once the context is lost and restored you have to do a decent bit of work to try to reestablish the GL state before the context is useful at all [18:43:01.0000] <jamesr> so if a page isn't going to even attempt to restore context, there's not much point in doing work to try to restore it [18:43:02.0000] <jamesr> because the page is completely boned in the event of a lost context [18:44:00.0000] <jamesr> instead of depending on event registration maybe it should be an attribute on the context [18:45:00.0000] <zewt> i'm going to suggest that you have to preventDefault on webglcontextlost to indicate that you want it to be restored [18:46:00.0000] <zewt> eg. the default behavior of webglcontextlost is to prevent the context from being restored [18:46:01.0000] <jamesr> hm. might be a bit awkward for impls - you have to do some of C++ work to get the context restored before you can accept commands on it [18:46:02.0000] <jamesr> an [18:46:03.0000] <jamesr> ah wait, on loss [18:46:04.0000] <jamesr> not restore [18:46:05.0000] <zewt> all it is is a flag [18:46:06.0000] <zewt> right [18:53:00.0000] <jamesr> that'd be a breaking change for current content that correctly handles lost context [18:53:01.0000] <jamesr> (which is probably like 2 pages) [18:53:02.0000] <jamesr> but sounds reasonable i s'pose [18:54:00.0000] <zewt> if webgl guys are willing to change this stuff, i think it's worth it--everything related to events in webgl is sort of a mess [18:55:00.0000] <zewt> (if they're not, well, then they're not) [00:05:00.0000] <hsivonen> what version of the spec is generated with the "START epub" markers? [00:10:00.0000] <othermaciej_> a version published in epub format perhaps? [00:12:00.0000] <hsivonen> othermaciej_: the START epub directives affect what content is included [00:12:01.0000] <othermaciej_> it's a mystery to me [00:12:02.0000] <hsivonen> Hixie: X!<---->XX looks like a typo [00:14:00.0000] <zewt> i wonder how many people have mailed Edward so far with "please stop" [01:28:00.0000] <Hixie> hsivonen: nothing uses epub right now [01:28:01.0000] <hsivonen> Hixie: ok [01:31:00.0000] <nessy> Hixie, hsivonen: hmm… http://www.jedisaber.com/eBooks/Readers.asp [01:34:00.0000] <Hixie> hsivonen: fixed the typo, thanks [07:46:00.0000] <AryehGregor> Hixie, so when Google hired you to edit HTML5, they gave the copyright ownership away to Apple, Mozilla, and Opera? [07:48:00.0000] <wilhelm> AryehGregor: Not quite. Ian was an Opera employee editing the same spec initially. The copyright just never changed as he changed employers. (c: [07:48:01.0000] <jgraham> AryehGregor: Apple Mozilla and Opera already held the copyright. Presumably Google were happy for him to keep editing the document under those terms [07:48:02.0000] <AryehGregor> wilhelm, but legally, all the work he's done since he joined Google belongs to Google unless they explicitly transferred it in writing. [07:49:00.0000] <wilhelm> I'll leave it to the lawyers to determine how that works on a derivative work. (I have no idea. :) [07:50:00.0000] <AryehGregor> The general rule with derivative works is that the rights-holders to both the original work and the modifications have exclusive rights, which means you can't do anything with it (redistribute, etc.) without their joint permission. [07:51:00.0000] <AryehGregor> Or put another way, if you redistribute it etc. without permission, you infringe on the copyright of both parties. [07:51:01.0000] <AryehGregor> At least that's my understanding. [07:52:00.0000] <gsnedders> AryehGregor: Another question is whether Google owns all of Hixie's work or not [07:52:01.0000] <AryehGregor> gsnedders, why wouldn't they? He's a regular employee creating it as part of his job duties. [07:53:00.0000] <AryehGregor> Unless Google agreed otherwise in writing, they own the copyright to anything he creates as part of his duties as an employee. [07:53:01.0000] <gsnedders> AryehGregor: I don't know about US law. Certainly here, and I think everywhere in the EU, it has to be explicitly stated in the contract. [07:53:02.0000] <AryehGregor> (Whereas for instance, I'm a contractor, so Google only owns my job work because they stipulated that) [07:54:00.0000] <gsnedders> (Well, not in the contract, but somewhere where the author of the work has agreed to the transfer) [07:57:00.0000] <AryehGregor> gsnedders, for US law, see: http://en.wikipedia.org/wiki/Work_for_hire [08:44:00.0000] <bga_> [trolling] https://bugzilla.mozilla.org/show_bug.cgi?id=649408 [09:11:00.0000] <AryehGregor> You know, every time I see IE9 say "aryeh.name is not responding" and get annoyed because it actually means "IE is broken and can't run this webpage properly even though it works fine in every other browser", I realize that Windows application developers must feel exactly the same way about "foo.exe is not responding". [09:12:00.0000] <AryehGregor> "What do you mean, my program isn't responding? It's doing just fine, but your Win32 API call changed behavior between XP and Vista and so you made it go into an infinite loop!" [09:13:00.0000] <hsivonen> AryehGregor: you are having the Native experience! [09:14:00.0000] <AryehGregor> hsivonen, no, this is only IE9. [09:14:01.0000] <AryehGregor> I'd have to use IE10 if I wanted Native HTML5. [09:14:02.0000] <hsivonen> AryehGregor: oh. I see [09:14:03.0000] <Philip`> I thought IE9 was already native, and IE10 was more nativer [09:15:00.0000] <Philip`> (except IE10 on ARM which presumably isn't native) [09:16:00.0000] <Philip`> (unless you're allowed to port your application to multiple architectures with it still being native, you're just not allowed to port to any other OS) [09:16:01.0000] <AryehGregor> Oh, I see. [09:17:00.0000] <AryehGregor> My code was making the extremely silly assumption that if node.parentNode is not null, then node == node.parentNode.childNodes[i] for some i >= 0. [09:17:01.0000] <AryehGregor> Naturally, in Native HTML5 (or the precursor thereto) such naive assumptions do not hold. [09:17:02.0000] <richardschwerdtf> I would doubt Ian would allow Google to own what he has done, especially if he started the work prior to coming to google. [09:18:00.0000] <AryehGregor> So my code var ret = 0; while (node != node.parentNode.childNodes[ret]) ret++; has gotten up to ret == 2483917 in IE9. [09:18:01.0000] <AryehGregor> Well, at least there's a not-completely-horrible built-in debugger to let me figure this stuff out. [09:18:02.0000] <AryehGregor> richardschwerdtf, you mean you assume that Google would be willing to let him hold copyright to the work he does for them? [09:19:00.0000] <Philip`> Maybe it's actually in childNodes[2.5], wedged between two other nodes? [09:19:01.0000] <Philip`> Could be a performance optimisation to avoid having to shuffle the other nodes around when inserting new ones [09:19:02.0000] <AryehGregor> It's owned by Google unless they say otherwise, as long as he's their regular employee. [09:19:03.0000] <AryehGregor> Philip`, that's a very good idea. I'll be sure to check. [09:19:04.0000] <richardschwerdtf> No. I don't think Google paid attention to it. They are not like IBM or Apple [09:19:05.0000] <Philip`> Just enumerate all 64-bit floating point values [09:20:00.0000] <richardschwerdtf> or Microsoft [09:20:01.0000] <bfrohs> Philip`, well, any specs Ian works on only helps Google with every single web application they work on, so that would be a small price to pay to have progress being made in HTML [09:20:02.0000] <zewt> any competent company, large or small, pays attention to who owns the stuff they're paying people to make [09:21:00.0000] <richardschwerdtf> I think it depends on how you define competent. Google may find this completely acceptable. [09:21:01.0000] <AryehGregor> richardschwerdtf, 1) If they didn't pay attention to it, they own the copyright by default under US law. 2) It's universally accepted that software companies get the copyright to their employees' work; otherwise they couldn't function, unless they do only open-source stuff and never want to keep anything proprietary. 3) In my contract with Google, I was explicitly told that the copyright on all my specification work was to be held by Google. [09:21:02.0000] <Philip`> /me wonders if you could use typed arrays to implement float enumeration [09:21:03.0000] <richardschwerdtf> yes, but what if the work started prior to joining the company? [09:21:04.0000] <Philip`> (by incrementing the integer representation of a number, then reading back its float representation) [09:21:05.0000] <AryehGregor> They'd only hold copyright to the things he did on company time, obviously. [09:22:00.0000] <richardschwerdtf> from what I have seen of Ian I would think he would want to be able to control his work on HTML whether he were working at Google or not [09:22:01.0000] <zewt> AryehGregor: (rather, "while employed at Google"; it doesn't generally matter to work-for-hire whether you're doing stuff on company time or not) [09:23:00.0000] <gsnedders> AryehGregor: I had gotten the impresssion it wasn't unusual in the US for software companies to own all code written by employees, regardless of whether for work or not [09:23:01.0000] <AryehGregor> zewt, sure it does. If you're not doing it as part of your duties as an employee of the company, they don't hold the copyright. If I write a novel in my spare time, my employer doesn't get the copyright. [09:23:02.0000] <richardschwerdtf> Imagine, you have a falling out. with your employer on HTML and wanted to continue to edit the spec. elsewhere. [09:24:00.0000] <AryehGregor> richardschwerdtf, also, you know, the specification says that the copyright is held by Apple, Mozilla, and Opera. And Ian himself said that in this channel just today. [09:24:01.0000] <AryehGregor> So, you know, this isn't really a case where we need to do personality analysis on anyone. [09:24:02.0000] <zewt> AryehGregor: if they're paying him to work on specs, then this is work on specs; a major point of the concept of "work for hire" is making it so people can't be paid to create something, then claim after the fact that they did it on their own time [09:24:03.0000] <richardschwerdtf> I am sure Google and Microsoft would just love their omission [09:24:04.0000] <jgraham> It is not beyond the realm of possibility that Hixie insisted on this as a clause in his contract [09:24:05.0000] <AryehGregor> A "work made for hire" is— (1) a work prepared by an employee within the scope of his or her employment; or (2) a work specially ordered or commissioned for use as a contribution to a collective work, as a part of a motion picture or other audiovisual work, as a translation, as a supplementary work, as a compilation, as an instructional text, as a test, as answer material for a test, or as an atlas, if the parties expressly agree in a writt [09:24:06.0000] <AryehGregor> en instrument signed by them that the work shall be considered a work made for hire. (17 U.S.C. § 101) [09:25:00.0000] <AryehGregor> "within the scope of his or her employment" [09:25:01.0000] <AryehGregor> jgraham, and then he still left the spec saying that it's copyrighted by Apple, Mozilla, and Opera? [09:25:02.0000] <AryehGregor> (and the W3C) [09:25:03.0000] <AryehGregor> (for the W3C version) [09:25:04.0000] <Philip`> AryehGregor: From what I've heard it's common for employment contracts to say they own all software you write even if it's on your own time, and you have to negotiate exceptions if you want to do things that won't compete with the employer [09:25:05.0000] <zewt> right, which means "the stuff you do for your company" (eg. "write specs"), not "stuff you do 9-5 while in the office" [09:25:06.0000] <richardschwerdtf> yes. like I said I am sure Ian covered his bases. [09:25:07.0000] <AryehGregor> (I don't get how multiple parties are independently claiming they hold the copyright) [09:26:00.0000] <jcranmer> release it public domain! [09:26:01.0000] <AryehGregor> Philip`, I wouldn't be surprised if some contracts stipulated that, yeah. [09:26:02.0000] <jcranmer> ;-) [09:26:03.0000] <jgraham> I mean insisted that work on HTML5 get realeased under the existing copyright terms [09:26:04.0000] <jgraham> But I don't really know anything about this stuff [09:26:05.0000] <zewt> (FWIW, I don't really think there's any problem here--I have no concerns about Google playing contract games to try to usurp the HTML spec copyright--so in my opinion this is all academic) [09:26:06.0000] <AryehGregor> richardschwerdtf, okay, have you noticed where the spec says "© Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and Opera Software ASA."? Could you please explain this text according to the theory that Ian holds the copyright on his own work? [09:27:00.0000] <AryehGregor> It's academic in the case of HTML. The spec is released under a permissive license anyway. [09:27:01.0000] <AryehGregor> It doesn't matter who owns it. The only benefit the owner gets is they don't have to give attribution to themselves, or whatever. [09:27:02.0000] <jgraham> AryehGregor: Doesn't W3C claim copyright on the W3C spec? I don't see how either is compatible with the idea that Google (or Hixie) holds copyright on Hixie's contributions [09:28:00.0000] <AryehGregor> jgraham, yeah, I'm confused by that. [09:28:01.0000] <richardschwerdtf> @AryeGregor: I saw that. Ian has claimed he owns copyright on W3C forums if I recall [09:28:02.0000] <Philip`> Surely Google's evil plan is to wait until Microsoft fully implements Native HTML5 and then reveal that actually they have copyright ownership over all of HTML5 due to some technicality and then sue Microsoft for billions of dollars [09:28:03.0000] <richardschwerdtf> Google is not on the copyright list [09:28:04.0000] <Philip`> That's the only reason they're funding this work on HTML5 at all [09:28:05.0000] <Philip`> richardschwerdtf: That's how cunningly they're hiding their conspiracy [09:29:00.0000] <AryehGregor> richardschwerdtf, so on the one hand we have your recollection. On the other hand we have the text in the actual spec (which Ian wrote), plus also: [110412 20:05:24] <Hixie> AryehGregor: also, google doesn't own the copyright on the whatwg html spec, apple, mozilla, and opera do [09:29:01.0000] <jgraham> Philip`: If it were Oracle… [09:29:02.0000] <AryehGregor> That was barely more than twelve hours ago. [09:29:03.0000] <richardschwerdtf> so, who owns copyright on the WhatWG spec? [09:29:04.0000] <AryehGregor> . . . [09:29:05.0000] <AryehGregor> Okay, seriously, what? [09:31:00.0000] <richardschwerdtf> so, everyone but google has copyright on the spec. hmmm. sounds like they don't have rights to it [09:31:01.0000] <AryehGregor> It's permissively licensed. [09:32:00.0000] <AryehGregor> Anyone can use it however they want. [09:32:01.0000] <richardschwerdtf> people can create derivative works [09:32:02.0000] <jgraham> Right, afaict the only rights the copyright holders have is to change the license for future revisions [09:32:03.0000] <AryehGregor> Also, looks like Windows 7 hasn't gotten rid of that "If you don't say otherwise within ten minutes I'm going to restart the computer and destroy all your work" feature. [09:32:04.0000] <AryehGregor> Go Microsoft. [09:32:05.0000] <richardschwerdtf> do the derivative works have to have apple, mozilla, and opera copyright transferal? [09:32:06.0000] <Philip`> AryehGregor: It's for your own good [09:33:00.0000] <zewt> hey, they need to install those updates to prevent data loss [09:33:01.0000] <richardschwerdtf> I am not sure how that works? [09:33:02.0000] <TabAtkins> AryehGregor: On my comp, at least, W7 doesnt' auto-restart. It just throws up a prompt that is content to wait around forever. [09:33:03.0000] <AryehGregor> richardschwerdtf, no. It's a permissive license. You can do anything you want with derivative works as long as you give attribution. [09:33:04.0000] <AryehGregor> TabAtkins, I just saw one with a countdown. [09:33:05.0000] <richardschwerdtf> interesting [09:33:06.0000] <richardschwerdtf> So, w3c could do that [09:34:00.0000] <zewt> my favorite is if csrss crashes in XP, and it pops up a dialog saying "error, rebooting in 30 seconds" [09:34:01.0000] <zewt> and there's *no way* to say "hold on give me a second here" [09:34:02.0000] <zewt> (yeah, csrss crashing is *bad*, but come on) [09:34:03.0000] <AryehGregor> Oh, now my code is just crashing the tab in IE instead of looping infinitely. That's progress. [09:35:00.0000] <AryehGregor> Seriously, what the heck is so broken with IE here? [09:36:00.0000] <jgraham> csrss? [09:36:01.0000] <AryehGregor> I guess it's to Microsoft's credit that I even ask the question. In IE before IE9, it wouldn't have even occurred to me to be surprised. [09:36:02.0000] <zewt> system service process [09:36:03.0000] <jgraham> richardschwerdtf: Sure, W3C could fork HTML5 is they want [09:37:00.0000] <richardschwerdtf> ok [09:37:01.0000] <jgraham> I mean they already have one copy with their copyright that is different to the W3C copy so they wouldn't even rely on the WHATWG license [09:38:00.0000] <richardschwerdtf> Interesting [09:39:00.0000] <jgraham> But if the plan was "fork and change the editor" I expect there would be significant difficulty in getting people to pay attention to the fork [09:39:01.0000] <hsivonen> jgraham: look for "non-exclusive" in http://lists.w3.org/Archives/Public/public-html/2007Apr/0429.html [09:39:02.0000] <bfrohs> Aye, especially with three browser vendors backing the WHATWG version, and the editor being from the fourth vendor :P [09:40:00.0000] <jgraham> hsivonen: I still don't really understand [09:46:00.0000] <jgraham> /me worries that he is not sufficiently grown up to have a proper conversation on, well pretty much any subject at all, given how amused he is by the headline "Soap giants in price fixing fine" [09:46:01.0000] <jgraham> I mean it's not even very funny [09:46:02.0000] <TabAtkins> It is acceptable for people of any age to be amused by headline-ese. [09:49:00.0000] <zewt> of course, today we have bad URL snippet generators, leading to such interesting things as "banksy-billboard-cbs-the-light-group-academy-awards-graffitti-bomb-sunset-gas-station-norm-76-mickey-mouse-minnie-mouse-las-vegas" [10:55:00.0000] <hsivonen> for native HTML5: https://bug649408.bugzilla.mozilla.org/attachment.cgi?id=525702 [11:09:00.0000] <bfrohs> /me really hates that file inputs aren't styleable [11:10:00.0000] <zewt> ff4/chrome's HTMLInputElement.click fixes that, though [11:11:00.0000] <zewt> except i havn't been able to figure out a way to feature test that... [11:12:00.0000] <bfrohs> Not sure I would call that a 'fix' :P [11:13:00.0000] <AryehGregor> What's wrong with: "click" in document.createElement("input") [11:13:01.0000] <zewt> the method exists in browsers where it doesn't do anything, iirc [11:14:00.0000] <AryehGregor> Obnoxious. [11:14:01.0000] <bfrohs> and the fact that you have to use javascript to use an 'official' hack to get around the style issue... which has always been possible with label. [11:14:02.0000] <zewt> well, styling for file inputs varies a lot, too [11:16:00.0000] <bfrohs> input[type="file"]:button and input[type="file"]:input (or equiv) would be a beautiful thing [11:17:00.0000] <zewt> yeah, but in practice with so many browsers having hideous file widgets (FF's is *really* bad) usually I'd sooner just make my own button [11:18:00.0000] <zewt> but sure, would be nice to have some control over that [11:18:01.0000] <bfrohs> Yeah, but at least some day things would be easy [12:48:00.0000] <Rik`> hsivonen: the new Perian version provides Quicktime components for WebM [12:48:01.0000] <Rik`> sadly, looks like Safari is not using them [12:51:00.0000] <Rik`> maybe I need to restart for Safari to discover those new Quicktime components [13:04:00.0000] <eric_carlson> Rik`: file a bug if Safari doesn't use installed QuickTime component - problems are much more likely to be fixed if you tell someone about them [13:05:00.0000] <Rik`> eric_carlson: that's what a Perian guy told me on twitter [13:05:01.0000] <Rik`> I just can't reboot right now [13:06:00.0000] <eric_carlson> Rik`: OK. Can you cc me if you do write up a bug? [13:08:00.0000] <Rik`> eric_carlson: in the perian bug tracker or radar ? [13:08:01.0000] <eric_carlson> Rik`: webkit bug and/or Radar [13:09:00.0000] <eric_carlson> Rik`: eric.carlson⊙ac [13:16:00.0000] <TabAtkins> Every song by The Ink Spots reuses the same opening, as far as I can tell. [13:16:01.0000] <TabAtkins> /me is running a 50's jazz/r&b station on pandora. [13:19:00.0000] <yijun> hello, there [14:27:00.0000] <zewt> Hixie: re: exposing blacklisted WebGL by treating it as not a supported contextId; it may work for them, but they need a way to give an error message to the application (eg. "Blacklisted video card" or "WebGL not supported in Windows 3.1"); could use any thoughts of how to do that with getContext [15:18:00.0000] <Hixie> zewt: just have the UA tell the user, why does the page need to know? [15:18:01.0000] <Hixie> zewt: it would be bad to tell the page too much information, hostile pages could then use it to know what kind of attack to try [15:22:00.0000] <zewt> i'll pass that along, though there are probably cases where you'd prefer the page not say anything to the user, so you can fall back to another method cleanly [15:22:01.0000] <zewt> but I guess if that's wanted it can just be a getContext parameter [15:32:00.0000] <zewt> though, WebGL specifying that canvas.getContext("webgl", {silentFailures: true}); prevents those notifications is hairy, since that would require their spec monkey-patch getContext's spec--not nice [15:33:00.0000] <zewt> (for example, if you're only opening webgl to run some kind of feature detection, you probably don't want the UI notifying the user if it fails) [15:37:00.0000] <jamesr> economist.com attempts (or used to attempt) to initialize a webgl context as some sort of feature detection [15:37:01.0000] <jamesr> and then doesn't use the context ever [15:37:02.0000] <jamesr> they are/were using some sort of fallback library that offered to feature test a bajillion things and then put the results into a big dictionary [15:38:00.0000] <jamesr> and they asked it to check webgl [15:38:01.0000] <zewt> that seems reasonable--not ideal, since in principle each webgl context could have different features, but shouldn't pop up ui [15:38:02.0000] <jamesr> i think they set the library up to feature test everything it was capable of, but then never actually checked 99% of the features they testd for [15:39:00.0000] <zewt> (contrived example, gpu blacklisting might also restrict a certain GPU to 2 texture units to work around driver bugs) [15:40:00.0000] <jamesr> it's not super reasonable because the page didn't use webgl in any way [15:40:01.0000] <jamesr> so the page load got a lot slower if the browser supported webgl (context initialization is not cheap) for no user benefit [15:40:02.0000] <zewt> right, it's not an ideal thing for pages to do [15:44:00.0000] <Hixie> context initialization shouldn't be sync anyway [15:44:01.0000] <jamesr> indeed [15:45:00.0000] <zewt> well, the "simplest" solution to all this would be to make getContext return a tiny factory with its own API for creating the real WebGL context [15:45:01.0000] <zewt> that'd be totally incompatible, though [15:45:02.0000] <Hixie> that would be lame [15:46:00.0000] <zewt> why? there's no async version of getContext [15:46:01.0000] <zewt> unless you want to add one, heh [15:46:02.0000] <jamesr> i think it'd be easier for getContext("webgl") to return a context in the 'initializing' state and then fire an event when the context is ready to go [15:46:03.0000] <Hixie> right [15:46:04.0000] <Hixie> though frankly i'm not convinced we should be exposing the slowness of the hardware to js at all [15:47:00.0000] <jamesr> canvas.addEventListener("webglcontextready", domyshit); canvas.getContext("webgl", {async: true}); [15:47:01.0000] <Hixie> but that gets back to the thing about how maybe webgl is the wrong approach entirely, and that's not a battle i have the bandwidth for :-) [15:47:02.0000] <Hixie> {async:true} should be the default and only option [15:47:03.0000] <Hixie> c.f. XHR [15:47:04.0000] <jamesr> yeah [15:48:00.0000] <jamesr> i think the same is true for readPixels(), getIntegerv(), etc - all the long blocking calls [15:49:00.0000] <jamesr> but i haven't though that through fully [15:49:01.0000] <jamesr> been thinking about it with regards to that slow shader compilation thread [15:49:02.0000] <zewt> well, the same can happen with 2d canvases: since a complete <img> may not actually be decompressed, blitting an image to a canvas may take a long time (which has to be sync, at least if you eg. make a call to getImageData immediately after) [15:50:00.0000] <zewt> (browsers like to discard undisplayed images to save memory) [15:50:01.0000] <Hixie> drawImage() does nothing if the image isn't ready [15:50:02.0000] <Hixie> it doesn't block [15:51:00.0000] <zewt> the image is ready, it's just not decompressed in memory; as soon as you do anything with it, the browser decompresses it [15:51:01.0000] <Hixie> but yes, the 2d context is sync in many places, that's an unfortunate bug we haven't been able to fix [15:51:02.0000] <Hixie> it was inherited from apple's initial implementation [15:51:03.0000] <zewt> webgl inherits from opengl; everyone has their legacy, I guess :) [15:54:00.0000] <jamesr> we can't do much about 2d canvas at this point [15:54:01.0000] <jamesr> despite it being kind of bad in many places [15:54:02.0000] <jamesr> hopefully we can still fix webgl issues [15:55:00.0000] <Hixie> indeed [15:55:01.0000] <zewt> do you have any sense of whether there's any chance of making getContext async by default? it would be a totally breaking change, so I'd imagine not, but I don't know their compatibility philosophy at this stage [15:55:02.0000] <zewt> (if I were them, I'd say no, since losing momentum on people who have started using webgl already would be a hit for them) [15:56:00.0000] <Hixie> depends what you mean by async [15:56:01.0000] <zewt> <jamesr> canvas.addEventListener("webglcontextready", domyshit); canvas.getContext("webgl", {async: true}); [15:56:02.0000] <Hixie> i don't think we should do that [15:56:03.0000] <Hixie> i think we should just return an object that's initialising [15:56:04.0000] <jamesr> in that proposal it returns an object immediately [15:56:05.0000] <jamesr> right [15:56:06.0000] <zewt> how's that different from the above? [15:56:07.0000] <jamesr> and the webglcontextready tells you when the context is ready to receive draw commands [15:56:08.0000] <jamesr> you basically said what i said :) [15:57:00.0000] <Hixie> and it should act as if it was initialised until such time as the page does something that can tell if it really was initialised or not [15:57:01.0000] <Hixie> at which point it blocks [15:57:02.0000] <zewt> hmm [15:57:03.0000] <jamesr> if you issued draw calls on the context before it was ready you'd get an immediate exception [15:57:04.0000] <Hixie> much like how things like .offsetWidth and CSS work [15:57:05.0000] <jamesr> just like how lost contexts behave [15:57:06.0000] <jamesr> no, i don't think the implicit blocking is good [15:57:07.0000] <Hixie> jamesr: i don't think that's a good design either [15:57:08.0000] <jamesr> .offsetWidth's behavior is terrible for applications [15:57:09.0000] <Hixie> contexts should always work, imho [15:58:00.0000] <jamesr> it causes impossible to diagnose performance issues [15:58:01.0000] <zewt> jamesr: an advantage of implicit blocking is it's backwards-compatible, though [15:58:02.0000] <Hixie> imho we shouldn't expose hardware and OS limitations [15:58:03.0000] <Hixie> anyway [15:58:04.0000] <Hixie> not my problem :-P [15:58:05.0000] <jamesr> a disadvantage of implicit blocking is that it's terrible and slow [15:58:06.0000] <Hixie> i have enough problems to deal with as it is :-P [16:01:00.0000] <zewt> trying to only bug you where the problems intersect with getContext :P [16:01:01.0000] <jamesr> so i think getContext should return something immediately [16:01:02.0000] <jamesr> a [16:01:03.0000] <jamesr> and it should be up to WebGL to define how interactions with that context work [16:03:00.0000] <zewt> jamesr: the options at that point are 1: block when needed (ugly but backwards-compatible), 2: *always* return an initializing canvas, and queue an event to initialize it, so it's *guaranteed* that you can never use the context until webglcontextrestored (or whatever) is fired async [16:03:01.0000] <jamesr> {async: true} can be an indication to webgl that the context should start uninitialized and that it should fire an event when the context is ready to go, or another event if the context is never gonna come up [16:03:02.0000] <jamesr> zewt: yeah i prefer 2 [16:03:03.0000] <zewt> that is, even if the browser is able to return an already-initialized canvas, it must not [16:04:00.0000] <jamesr> well, only if it's the first call [16:04:01.0000] <zewt> right [16:04:02.0000] <zewt> (err, already-initialized context) [16:04:03.0000] <jamesr> subsequent calls get the primary context in whatever state its in [16:04:04.0000] <jamesr> so maybe they get a still-uninitialized context, maybe they get an initialized context, maybe they get a lost context [16:04:05.0000] <jamesr> but the first call creates and immediately returns an uninitialized context [16:09:00.0000] <Hixie> are any of the pro-<u> people who actually want <u> for semantic reasons and not presentational reasons here by any chance? (or are there no such people?) [16:10:00.0000] <AryehGregor> I think there are a couple of Chinese people who want it for semantic reasons. [16:10:01.0000] <AryehGregor> I'm pretty sure most of us want it for presentational reasons, though. [16:10:02.0000] <Hixie> i'm trying to apply this <u> CP but the semantic definition in the CP makes no sense (it mixes multiple unrelated things together) [16:10:03.0000] <AryehGregor> Hixie, I managed to work into the change details that it's just an example and you can make more or less whatever change you like as long as it makes <u> conforming. [16:11:00.0000] <Hixie> i guess i could just have it be defined as "the one presentational element in the language" [16:11:01.0000] <Hixie> but i can't really see why we would want to add presentational elements [16:11:02.0000] <AryehGregor> Or redefine <b> and <i> and <sup> and <sub> and . . . as presentational. :) [16:11:03.0000] <Hixie> that would be a retrograde step [16:11:04.0000] <AryehGregor> I'm aware you think that. :) [16:12:00.0000] <Hixie> i really don't understand this concept of wanting HTML to have presentational markup [16:12:01.0000] <Hixie> but anyway [16:13:00.0000] <Hixie> /me looks at the Decision to see if any sort of rationale can be determined from that [16:13:01.0000] <Hixie> it looks like the main rationale is "wysiwyg tools output it" [16:13:02.0000] <Hixie> so maybe that would be the definiton to use [16:14:00.0000] <Hixie> "represents text that was underlined in a WYSIWYG tool" [16:14:01.0000] <othermaciej> you could just start with the B definition: "The b element represents a span of text to be stylistically offset from the normal prose without conveying any extra importance, such as key words in a document abstract, product names in a review, or other spans of text whose typical typographic presentation is boldened." [16:14:02.0000] <othermaciej> and replace the "such as" list [16:14:03.0000] <othermaciej> and the word "boldened" with "underlined" [16:14:04.0000] <Hixie> if <b> and <u> both have the same meaning, we should drop one of them. [16:15:00.0000] <Hixie> the normative part of the <b> definition is "a span of text to be stylistically offset from the normal prose without conveying any extra importance" [16:15:01.0000] <Hixie> it doesn't mention bold at all except in the non-normative list of examples [16:15:02.0000] <othermaciej> the <i> definition (skipping the "such as") is "The i element represents a span of text in an alternate voice or mood, or otherwise offset from the normal prose" [16:15:03.0000] <kennyluck> then what about "a span of text to be stylistically offset from the normal prose without conveying any document edit" [16:16:00.0000] <othermaciej> which seems like a superset of "stylistically offset from the normal props without conveying extra importance" [16:16:01.0000] <Hixie> othermaciej: right, supersets are common in HTML. e.g. <span> is a superset of all the phrasing elements. [16:16:02.0000] <othermaciej> so the spec already allows multiple different elements for different kinds of text stylistically offset from the normal prose [16:17:00.0000] <othermaciej> it seems like the only difference between b and i is that i may (but does not have to) indicate extra importance [16:17:01.0000] <othermaciej> though none of the listed examples indicate extra importance afaict [16:17:02.0000] <Hixie> i is a non-stylistic offset [16:17:03.0000] <Hixie> b is a stylistic offset [16:18:00.0000] <Hixie> the examples demonstrate this quite well, i think [16:18:01.0000] <Hixie> e.g. reading the <i> examples, they are all cases where you'd speak with a different voice (typically slightly slower), whereas the <b> examples you wouldn't read differently at all [16:19:00.0000] <othermaciej> so the key difference is whether the offset is stylistic? [16:19:01.0000] <kennyluck> Hixie, I don't agree with that, especially when <i> is used for technical terms. [16:19:02.0000] <othermaciej> you'd speak a ship name or taxonomic name in a different voice? [16:19:03.0000] <Hixie> right. <b> has more in common with <mark>: one is key words or passages that the author highlights, while the second is key words or passages highlighted by an editor. [16:19:04.0000] <othermaciej> I certainly haven't noticed sea captains or biologists doing that in speech [16:20:00.0000] <AryehGregor> I don't speak ship names or taxonomic terms in a different voice. [16:20:01.0000] <AryehGregor> Or loanwords, even if I'd italicize the loanword. [16:20:02.0000] <gsnedders> I do! [16:20:03.0000] <Hixie> othermaciej: for ship names and species names there's a pause before the name (same as book names with <cite>, actually). [16:20:04.0000] <gsnedders> I make them sound all impressive and stuff! [16:20:05.0000] <othermaciej> English typographic rules are unfortunately slightly ad-hoc [16:20:06.0000] <othermaciej> Hixie: you have unusual prosody, then [16:20:07.0000] <Hixie> that's possible [16:21:00.0000] <othermaciej> "The scientific name for the common house cat is <i>felix catus</i>." [16:21:01.0000] <othermaciej> er, "felis catus" [16:21:02.0000] <othermaciej> anyway [16:21:03.0000] <othermaciej> most people would not pause in that sentence, unless they were unfamiliar with the term, in which case it is a matter of confusion, not style [16:21:04.0000] <Hixie> i definitely speak that "felis catus" part differently. [16:22:00.0000] <AryehGregor> I'd say it differently in that specific sentence. [16:22:01.0000] <AryehGregor> But not because it's a taxonomic term. [16:23:00.0000] <AryehGregor> If I said "The common term for the United States is 'America'", I'd also pronounce "America" differently. [16:23:01.0000] <Hixie> yeah, quotes are similar in style [16:23:02.0000] <AryehGregor> Although actually, properly speaking, "America" should probably be italicized there. [16:23:03.0000] <othermaciej> because it's a copula? [16:23:04.0000] <AryehGregor> I dunno. [16:24:00.0000] <AryehGregor> What I'm very sure of is that the rules for italics in English are not tied to pronunciation, they're tied to various historical conventions that developed solely in writing. [16:24:01.0000] <Hixie> another way of thinking of the difference between <i> and <b> is that <i> is something that applies to the text, such that if you copied the sentence to another document you'd keep the same <i>s, whereas <b> is context-sensitive, so you might not keep the same <b>s and might in fact have different <b>s [16:24:02.0000] <othermaciej> "The frequency of red light is about 680 nanometers" [16:24:03.0000] <AryehGregor> My copy of Paradise Lost has all proper nouns italicized. Does anyone pronounce all proper nouns differently from other words? [16:24:04.0000] <Hixie> that wouldn't be <i> imho [16:24:05.0000] <Hixie> more <b> [16:25:00.0000] <Hixie> (but that's splitting hairs) [16:25:01.0000] <othermaciej> so the quasi-semantic uses of <u> sound similar to <i>, except that there is a different ad-hoc list of things where the relevant default typographical rule applies [16:25:02.0000] <Hixie> well the key difference is that the uses for <u> are virtually non-existent in comparison [16:26:00.0000] <AryehGregor> You realize that no one but you is actually going to consistently use <b> and <i> for the semantics you've defined, right? Everyone's just going to use them for bold and italics. [16:26:01.0000] <AryehGregor> Even standards aficionados. [16:26:02.0000] <AryehGregor> I'm not sure anyone but you actually understands the semantics you've defined for <b> or <i>. [16:26:03.0000] <TabAtkins> Hey, I used <i> for the correct purpose! (Actually, fantasai corrected me and made me use <i>.) [16:26:04.0000] <Hixie> nobody uses <cite> consistently either, doesn't mean there's no benefit to having clear definitions [16:27:00.0000] <othermaciej> in practice, <i> <b> and <u> will be inserted when the user of a WYSIWYG editor hits Cmd+I, Cmd+B or Cmd+U respectively [16:27:01.0000] <Hixie> what will be inserted when the user in a WYSIWYG editor drags an image to a specific position on the page? [16:28:00.0000] <othermaciej> <img>? [16:28:01.0000] <Hixie> what if the position is over another image? [16:28:02.0000] <AryehGregor> What does "over another image" mean? [16:28:03.0000] <TabAtkins> <img> with abspos? [16:28:04.0000] <AryehGregor> It will be inserted at wherever you drag it to. [16:28:05.0000] <Hixie> why don't we have html elements for abspos then? [16:28:06.0000] <AryehGregor> Probably it'll go before or after the existing one. [16:28:07.0000] <othermaciej> I haven't tested WYSIWYG editors that allow exact positioning control to see what they do [16:29:00.0000] <AryehGregor> Pretty sure it's not gonna be absolutely positioned. [16:29:01.0000] <TabAtkins> Because Aryeh isn't speccing something that requires absposing stuff? [16:29:02.0000] <AryehGregor> I'm currently speccing what browsers implement, or some approximation thereto. [16:29:03.0000] <AryehGregor> And they don't implement any such thing. [16:29:04.0000] <othermaciej> even though people think of bold, italic and underline presentationally, they often affect the meaning of the text in some way (even if not clearly expressed or even understood by the user) [16:29:05.0000] <AryehGregor> Generally, contenteditable stuff is meant to be sliced out and reused in other pages, so abspos wouldn't make sense unless you could guarantee the position relative to some non-statically-positioned container. [16:30:00.0000] <Hixie> and what about if the user draws a text box above another and says the first should flow to the second? should we have elements for positioned text flows? or columns? or any other presentational stuff? [16:30:01.0000] <othermaciej> exact positioning of images, generally not [16:30:02.0000] <Hixie> or what if the user says the underline should be dotted? [16:30:03.0000] <AryehGregor> Bold, italic, and underline *always* affect the meaning of the text in some way. Unless you're talking about some illiterate sign put up by someone who applies them at random. [16:30:04.0000] <Hixie> basically i'm saying i don't understand what is special about <u> [16:30:05.0000] <AryehGregor> Hixie, huh? What does "draws a text box above another" mean? [16:30:06.0000] <Hixie> AryehGregor: do you have Pages.app by any chance? [16:30:07.0000] <TabAtkins> AryehGregor: In a layout manager for a magazine, for example, or something similar. [16:31:00.0000] <AryehGregor> Hixie, virtually every WYSIWYG editor has a very prominent underline button. I don't even understand what these other things you're talking about are. [16:31:01.0000] <AryehGregor> Hixie, if that implies having Mac, then no. [16:31:02.0000] <AryehGregor> TabAtkins, that's a very atypical use-case compared to basic inline formatting. [16:31:03.0000] <AryehGregor> Zillions of blogs allow HTML-formatted comments, practically no one formats magazines using a web app. [16:31:04.0000] <othermaciej> if you think of producing a publication as a process where one person does the writing, and a different person does layout, bold/italic/underline are generally added by the writer, while many of the other things Hixie mentions would be done by the person in charge of layout [16:31:05.0000] <Hixie> in Pages, the ability to position text is more prominently displayed in the UI than the ability to underline text [16:31:06.0000] <TabAtkins> Huh? It's very typical in print publishing, which is getting closer and closer to being doable with high fidelity using web technologies. [16:32:00.0000] <AryehGregor> Print publishing is a very uncommon use-case, compared to marking up blog comments or forum posts. [16:32:01.0000] <AryehGregor> It's a specialty thing that almost no one will ever be involved in. [16:32:02.0000] <Hixie> we shouldn't be encouraging people to underline text on the web in those contexts anyway, since it's bad ui (clashes with links) [16:32:03.0000] <TabAtkins> Wait until Named Flows (a proposal from Adobe) get implemented. [16:32:04.0000] <othermaciej> most links on the web are not underlined by default these days [16:33:00.0000] <othermaciej> most that I see underline only on hover [16:33:01.0000] <Hixie> (pretty much everything i've described is either in css or has been proposed for css, fwiw) [16:34:00.0000] <othermaciej> but anyway, I don't want to debate [16:34:01.0000] <AryehGregor> It's still just not anywhere near as common as underlining. [16:34:02.0000] <othermaciej> was just trying to contribute ideas for a sensible definition [16:34:03.0000] <othermaciej> I must admit I do not fully grok the distinctions among the existing valid phrasing elements [16:34:04.0000] <othermaciej> so I am perhaps not the best person to make suggestions [16:36:00.0000] <Hixie> AryehGregor: i don't really see much underlining around the web, personally, except for links [16:36:01.0000] <Hixie> AryehGregor: and when i do see it it tends to be bad typography [16:36:02.0000] <AryehGregor> Hixie, didn't the CP say that <u> is the sixth most common phrasing element or something like that? [16:36:03.0000] <AryehGregor> I agree that it's bad typography, almost always. [16:36:04.0000] <AryehGregor> Underlines are only really appropriate for typewriters and handwriting. [16:37:00.0000] <AryehGregor> But users expect them, so authors will add the functionality one way or another. [16:37:01.0000] <TabAtkins> AryehGregor: We established a few days ago, I thought, that it's used on a fairly small percentage of sites. I guess it's just used a lot on those sites. [16:37:02.0000] <AryehGregor> No need to make their lives difficult. [16:37:03.0000] <Hixie> AryehGregor: <br> was the 8th-most used element of all in 2005, doesn't mean we should encourage its use [16:37:04.0000] <AryehGregor> I don't see any point in discouraging it. [16:37:05.0000] <AryehGregor> But then, I don't have a problem with presentational markup per se. [16:38:00.0000] <AryehGregor> So it's kind of hard to have any sort of discussion with you about this kind of thing. [16:38:01.0000] <Hixie> AryehGregor: and <table> was the 9th, well above <p> [16:38:02.0000] <TabAtkins> I see a lot of reason to discourage it, from seeing novices abuse it and create layouts that break in different resolutions. [16:38:03.0000] <Hixie> AryehGregor: you don't have a problem with media-specific presentation? [16:38:04.0000] <TabAtkins> Back when I was a webdev, the person from Marketing I worked with would occasionally write HTML, and pretty much every use of <br> was a misuse that I had to fix. [16:39:00.0000] <Hixie> pretty much every use of <br> in general is a misuse, indeed [16:39:01.0000] <AryehGregor> Hixie, in the real world, no. It's best if you can do things media-independent, and we should try to design the language to be easy to use in a media-independent fashion, but there are always limits. I don't have a problem with the fact that the overwhelming majority of authors test only in conventional browsers. [16:39:02.0000] <nessy> hehe - sometimes it's easier than div clear both ;-) but yeah... [16:39:03.0000] <AryehGregor> Nor with the fact that they only care about conventional browsers. [16:40:00.0000] <Hixie> they shouldn't have to test it at all [16:40:01.0000] <TabAtkins> nessy: That was, by far, the most common reason I had to correct it - it was being used as a poor-man's clear. [16:40:02.0000] <TabAtkins> nessy: Which usually broke in different screen widths. [16:40:03.0000] <AryehGregor> All software has to be tested if you want it to work well. [16:40:04.0000] <AryehGregor> I agree that we should be trying to design the language so that a page only tested in conventional browsers works okay in other UAs too. [16:41:00.0000] <Hixie> that goal is entirely incompatible with presentational markup. [16:42:00.0000] <othermaciej> what would unconventional UAs be able to do better if the [U] button in editor UI inserted something other than <u>? [16:42:01.0000] <AryehGregor> Not really. Other UAs can just skip the presentation, and the meaning will typically be preserved. Or they can adopt some convention to render it in their preferred medium, even if it's not normal for that medium. [16:42:02.0000] <Hixie> othermaciej: the state of the art is such that WYSIWYG editors can't create good media-independent pages. [16:42:03.0000] <AryehGregor> E.g., if users of screen readers wanted to know what text was italicized, the UA could read italic text in a different voice or something, or say "italics" before reading it, or such. [16:42:04.0000] <Hixie> othermaciej: hence why i originally had <font> as conforming, but just for wysiwyg editors [16:43:00.0000] <AryehGregor> Then they know the text was italicized, which is enough to grasp the meaning as well as someone actually viewing it. [16:43:01.0000] <Hixie> othermaciej: i'm fine with <u> being just for those editors [16:43:02.0000] <nessy> what problem exactly is introduced by allowing <u>? [16:43:03.0000] <Hixie> AryehGregor: that is treating those users as second-class citizens, which is imho quite immoral. [16:44:00.0000] <nessy> I also want it in WebVTT, btw, because captions have it and we don't have links there, so there is no confusion [16:44:01.0000] <AryehGregor> Hixie, do you think authors are morally obligated to spend a disproportionate amount of their time on a tiny minority of their users? [16:44:02.0000] <TabAtkins> Do you think that <u> saves a "disproportionate amount of [author] time"? [16:44:03.0000] <othermaciej> so there's a possible definition - "The u element represents a span of text that a user chose to underline without expressing a specific semantic." [16:45:00.0000] <Hixie> AryehGregor: there is no need to spend any time over any subset of one's users if one uses semantic markup [16:45:01.0000] <TabAtkins> othermaciej: That's just "this element is presentational". ^_^ [16:45:02.0000] <Hixie> othermaciej: yeah, that's what i suggested earlier [16:45:03.0000] <AryehGregor> Hixie, that's just not true in practice. [16:45:04.0000] <AryehGregor> TabAtkins, no, but once you're okay with presentational markup, there's no reason to disallow <u>. [16:45:05.0000] <Hixie> AryehGregor: it really is [16:46:00.0000] <TabAtkins> IIRC, the major motivation for <u> was to save bytes over <span style="text-decoration:underline;">. [16:46:01.0000] <AryehGregor> Hixie, if that were true, then you'd expect authors to widely use semantic markup. The fact that they aren't indicates that there's some cost to it. Maybe education, maybe the actual use -- but if the benefit significantly outweighed the cost, it would be popular. [16:46:02.0000] <Hixie> once you're ok with presentational markup, there's no reason to disallow <center>, <table border>, <font>, bgcolor="", etc, either [16:46:03.0000] <AryehGregor> Hixie, I've already addressed that point multiple times. [16:46:04.0000] <AryehGregor> I'm okay with allowing anything that would be widely used and is a simple shortcut for equivalent CSS markup. [16:47:00.0000] <AryehGregor> None of the items you mention qualify. [16:47:01.0000] <AryehGregor> (although I think <table border=1> should be valid for different reasons) [16:47:02.0000] <Hixie> AryehGregor: there are two reasons people don't use semantic markup; the cognitive (people don't think semantically), and wysiwyg editors. [16:47:03.0000] <AryehGregor> Hixie, sure. Both of those are legitimate disadvantages, and they normally outweigh the advantages by a large margin. [16:48:00.0000] <kennyluck> Before I see more examples how <b> and <i> are styled, I don't think the cognitive part can make any improvement. [16:48:01.0000] <Hixie> AryehGregor: but in both cases it is _using presentational markup_ that leads to spending "a disproportionate amount of their time on a tiny minority of their users" [16:49:00.0000] <Hixie> AryehGregor: if you just used semantic markup, you'd spend all your markup time on all your users, and some additional time on just visual users (writing the css) [16:49:01.0000] <Hixie> AryehGregor: we're not going to solve either of those problems by adding <u> [16:49:02.0000] <AryehGregor> Hixie, assuming you understand semantic markup to begin with, and that it's not more efficient for you to use a WYSIWYG editor. [16:49:03.0000] <Hixie> AryehGregor: we might help the first a little by not having <u> [16:49:04.0000] <AryehGregor> Both of those are illegitimate assumptions. [16:49:05.0000] <Hixie> if you use a wysiwyg editor, non-visual users are a lost cause [16:49:06.0000] <TabAtkins> /me suggests that AryehGregor spend some time maintaining a large site that was written by a dev who used layout tables and presentational markup heavily. [16:50:00.0000] <Hixie> so that case isn't really interesting to this discussion [16:50:01.0000] <AryehGregor> TabAtkins, separate issue. You can write easy-to-maintain code that uses only appropriately-classed spans and divs, with no semantic markup at all. [16:50:02.0000] <TabAtkins> I have never seen such a thing. [16:50:03.0000] <AryehGregor> You can write bad code in any language. [16:50:04.0000] <Hixie> i don't have a problem making a second set of conformance criteria for wysiwyg editors while the state of the art there is where it is [16:50:05.0000] <TabAtkins> I consider it a theoretical case that doesn't exist in practice. [16:50:06.0000] <AryehGregor> Well, for one thing, you could be using Dreamweaver or something. [16:51:00.0000] <AryehGregor> But we're talking about <u>, not table-based layout. [16:51:01.0000] <TabAtkins> Use of <u> was also rampant in the last large site I maintained. [16:51:02.0000] <AryehGregor> Hixie, WYSIWYG editors are probably the most important issue at stake for <u>. [16:52:00.0000] <Hixie> AryehGregor: the CP asks for <u> to be always conforming, not just for editors [16:52:01.0000] <AryehGregor> Hixie, because there's no way to tell if something was written by an editor. [16:52:02.0000] <Hixie> AryehGregor: i'd be fine with making <u> just valid for editors, just like omitting alt="" is valid just for editors. [16:52:03.0000] <Hixie> AryehGregor: there's no way to tell if the contents of an <h1> are a heading either, but we still require that [16:53:00.0000] <Hixie> AryehGregor: we can have different conformance criteria for hand authors than for editors [16:53:01.0000] <Hixie> AryehGregor: that's not a problem [16:53:02.0000] <Hixie> AryehGregor: indeed we did, at some point in the past [16:53:03.0000] <AryehGregor> Hixie, I don't care as long as the validator doesn't complain. As far as I'm concerned, authoring conformance requirements that aren't machine-checkable are your personal opinion and they don't affect me. [16:53:04.0000] <AryehGregor> (unless I happen to agree with them) [16:53:05.0000] <AryehGregor> However, the CP might be construed not to allow this. [16:53:06.0000] <Hixie> so you'd be ok with <u> being only valid if the document has a <meta name=generator> element? [16:54:00.0000] <AryehGregor> No. [16:54:01.0000] <Hixie> i rest my case [16:54:02.0000] <AryehGregor> Who says WYSIWYG-edited pages always actually produce that? [16:54:03.0000] <Hixie> we can say that [16:54:04.0000] <AryehGregor> In particular, part of the page might be WYSIWYG-edited. [16:54:05.0000] <Hixie> "editors must include..." [16:55:00.0000] <AryehGregor> That will lead to people including <meta name=generator> to shut up the validator. [16:55:01.0000] <AryehGregor> Even on hand-edited pages. [16:55:02.0000] <Hixie> well people can always shut up the validator [16:55:03.0000] <Hixie> validators are tools [16:55:04.0000] <Hixie> you can always take the battery out of the smoke detector [16:56:00.0000] <AryehGregor> Allowing people to shut up the validator by including useless cruft is an antipattern. [16:56:01.0000] <Hixie> no, it's adding the useless cruft that's the antipattern [16:56:02.0000] <AryehGregor> We had too much of that in the old days, things like type="text/javascript" and so on. [16:56:03.0000] <AryehGregor> Well, as I said, I don't think we're ever going to agree on this, so go ahead and make any change you like that's compatible with the CP. [16:56:04.0000] <othermaciej> I'll just note that, while almost any prose expressing non-machine-checkable requirements on <u> contents is likely consistent with the decision, limiting it to documents with <meta name=generator> likely is not [16:56:05.0000] <Hixie> the difference there is that type="" was useless, whereas the generator mark serves a useful purpose: distinguishing editor-autogenerated pages from hand-authored pages [16:57:00.0000] <Hixie> my real concern is what to do in the whatwg copy [16:57:01.0000] <Hixie> not the w3c copy [16:57:02.0000] <AryehGregor> Ah. [16:57:03.0000] <AryehGregor> I wonder which one the validator will follow. [16:57:04.0000] <Hixie> if i don't include <u>, then henri will probably follow a hybrid [16:58:00.0000] <Hixie> so i plan to include <u> [16:58:01.0000] <Hixie> just not sure how to include it 2011-04-14 [17:00:00.0000] <kennyluck> I still don't know why can't we just reuse the <b> pattern or perhaps modified as "stylistically offset from the normal props without conveying extra importance, emphasis and document edit (for <ins>)" [17:01:00.0000] <Hixie> kennyluck: because if it's the same as <b>, then why do we need it at all? [17:01:01.0000] <kennyluck> Hixie, it's a subset of <b> like <i> is a subset of <b>. [17:01:02.0000] <kennyluck> (HTML5-logy) [17:01:03.0000] <Hixie> <i> is a superset of <b> [17:01:04.0000] <Hixie> actually that's not quite true [17:02:00.0000] <Hixie> they cover different and mostly not overlapping roles [17:02:01.0000] <Hixie> see the earlier discussion [17:46:00.0000] <Hixie> i found a way to define <u> that i can live with. finding the right terminology wasn't easy, and i'm not sure i really succeeded, so i might tweak it some more. [17:54:00.0000] <Hixie> still not really sure the use cases justify its existence, but i guess the same applies to <samp> and that one is still in, so... [18:03:00.0000] <hober> Hixie: there's an en-GB-x-Hixie'ism in the <u> text [18:03:01.0000] <hober> misspelt should be misspelled [18:07:00.0000] <Hixie> heh [18:07:01.0000] <Hixie> thanks [18:07:02.0000] <Hixie> hober: actually all my dictionaries say both are accetpable [18:08:00.0000] <Hixie> acceptable [18:08:01.0000] <TabAtkins> Your dictionaries are too friendly to the crown. [18:08:02.0000] <Hixie> and by "my dictionaries" i mean, apple's, wiktionary, and the ones i found on google [18:08:03.0000] <Hixie> none mention that this is a Brit vs US thing [18:08:04.0000] <Hixie> which they usually do [18:18:00.0000] <Philip`> http://thespellingblog.blogspot.com/2010/12/learned-or-learnt-spelled-or-spelt.html has potentially relevant graphs [18:29:00.0000] <TabAtkins> It's odd that your dictionaries don't mention the "t" as a Britishism. American English has a strong preference for "ed", as the graphs at Philip`'s link show. [18:31:00.0000] <Hixie> well if you care, one of them at least is user-editable [18:31:01.0000] <Hixie> :-) [18:33:00.0000] <TabAtkins> Indeed. "spelled" and "spelt" clearly list each one as a british or american/canadian variant, as appropriate, but "misspelt" doesn't. [18:36:00.0000] <TabAtkins> Fixed, woo! [19:23:00.0000] <zewt> clicking on a reference in the spec (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-canvas-getcontext "getContext"), then right-clicking on the real "#dom-canvas-getcontext" link in the overlay, causes the overlay to disappear, so I can't copy-link-location the link; guessing it's a missing e.button==0 check [20:31:00.0000] <karlcow> http://www.mobilexweb.com/blog/symbian-anna-browser-html5 [20:31:01.0000] <karlcow> "Nokia has just announced Symbian ‘Anna’, an updated version of Symbian^3 that will be shipped with new devices, such as X7 and E6" [22:35:00.0000] <Hixie> seriously? we have <table border> now too? [22:35:01.0000] <Hixie> jesus [22:35:02.0000] <Hixie> it's like we're back in 1997 [22:38:00.0000] <zewt> better do the macarena [23:23:00.0000] <hsivonen> I wonder what SanDisk is going to get out of being a W3C Member. [00:30:00.0000] <zcorpan> i wonder how ie's software rendering compares to other browsers' software rendering [00:32:00.0000] <othermaciej> well for one thing, it's way more native [01:04:00.0000] <hsivonen> how did a synchronous thing like Blob.size end up in a new API? that's sadness. [01:05:00.0000] <ryanseddon> Would that syncchronous stuff be so it can run in a worker [01:05:01.0000] <ryanseddon> *synchronous [01:08:00.0000] <hsivonen> /me wonders if Apple's marketing feels it missed a huge opportunity to be the first to promote Native HTML5. [01:08:01.0000] <ryanseddon> hsivonen: they'll market it as magical HTML5 [01:09:00.0000] <hsivonen> I believe Firefox already has awesome HTML5. [01:09:01.0000] <Hixie> revolutionary html5! which would be ironic given how html5 was first introduced ("evolution not revolution") [01:10:00.0000] <ryanseddon> don't let facts get in the way Apple marketing [01:10:01.0000] <othermaciej> what are "facts"? [01:12:00.0000] <ryanseddon> Facts is a TV program in Hong Kong, which broadcast short films obtained or shoot with information from audiences. [01:52:00.0000] <zcorpan> instead of native HTML5, we should be marketing foreign HTML5 [01:53:00.0000] <Hixie> i don't really understand what there is to market [01:53:01.0000] <Hixie> but what do i know [01:53:02.0000] <zcorpan> well microsoft use the term to market their new CSS features [01:54:00.0000] <Hixie> in favour of what? [01:54:01.0000] <zcorpan> layout tables? [01:55:00.0000] <Hixie> they're markup advocates now? [01:55:01.0000] <zcorpan> yeah, last year they advocated use of custom elements [01:56:00.0000] <zcorpan> (in their video they also call css rules for 'markup') [01:57:00.0000] <othermaciej> I wonder, does their Native HTML5 still support Same Markup? [01:58:00.0000] <zcorpan> of course [01:58:01.0000] <aho> In this case "native" can be interpreted as "from Microsoft". So, technically they aren't lying. There are just manipulative bastards. #IE10 [01:58:02.0000] <aho> :> [01:58:03.0000] <zcorpan> same markup as last year [01:59:00.0000] <zcorpan> same as every year, james [02:00:00.0000] <othermaciej> I like that the IE team is working hard to improve their engine, but their marketing buzzwords are just really weird sometimes [02:02:00.0000] <aho> i agree [02:02:01.0000] <aho> there shall be less cocain for the pr department [02:02:02.0000] <aho> +e [02:03:00.0000] <aho> btw, ie10 changes/additons w/o the BS is over here: http://msdn.microsoft.com/en-us/ie/gg192966 [02:06:00.0000] <Hixie> "Internet Explorer Platform Preview must be in ”IE10 Standards Mode” to correctly display webpages" aka "we still don't follow the specs most of the time" [02:06:01.0000] <Hixie> ("even on things that we claim to follow the specs on") [02:07:00.0000] <Peter`> I wonder why they didn't decide to start deprecating the compatibility modes by not including the IE9-mode [02:07:01.0000] <Peter`> It would be a good starting point, seeing that it's a recent and more modern browser. [02:08:00.0000] <zcorpan> Peter`: indeed [02:08:01.0000] <Hixie> wow, a huge proportion of the stuff on that page is proprietary (i.e. vendor-prefixed) stuff [02:08:02.0000] <zcorpan> maybe now they just introduce more modes for the hell of it [02:08:03.0000] <Hixie> Peter`: the more modes they introduce, the more the web fragments, at least if they get much market share [02:08:04.0000] <Peter`> This is an interesting line as well: "In addition, do not use an “X-UA-Compatible” meta tag on the page or send a custom HTTP header from the web server." [02:09:00.0000] <Hixie> Peter`: luckily for the web, they've been losing market share fast enough that they haven't been able to really damage it [02:09:01.0000] <aho> huh? so even "edge" won't do the trick? [02:10:00.0000] <Peter`> Hixie: Yes, but there's several reasons why maintaining support for multiple rendering engines isn't ideal [02:10:01.0000] <zcorpan> aho: i guess it's just good advice (like there are other doctypes that trigger the latest mode too) [02:10:02.0000] <Hixie> Peter`: yeah there's a huge cost for them [02:10:03.0000] <Hixie> Peter`: i'm curious how many of these modes are in the mobile version of their browser [02:10:04.0000] <Hixie> (the one supposedly in ie8) [02:10:05.0000] <Peter`> Hixie: That'd be interesting to see, indeed [02:11:00.0000] <aho> http://gs.statcounter.com/#browser-ww-monthly-200807-201104 <- looks like a collision in about a year haha [02:12:00.0000] <Hixie> pity that data only goes back to '08 [02:13:00.0000] <Hixie> wow, IE is really low these days [02:14:00.0000] <Hixie> compared to its heyday [02:15:00.0000] <aho> http://gs.statcounter.com/#browser-ID-monthly-200807-201104 [02:15:01.0000] <aho> indonesia rocks <3 [02:16:00.0000] <aho> (internet is pretty expensive there... there aren't any casual users) [02:17:00.0000] <hsivonen> I'd have expected Opera to rank higher in Indonesia [02:17:01.0000] <hsivonen> does that graph exclude usage that is classified as "mobile"? [02:17:02.0000] <aho> yes [02:17:03.0000] <hsivonen> indeed Opera leads in Indonesia in the Mobile Browser graph [02:17:04.0000] <aho> well... i think... :> [02:18:00.0000] <aho> lol [02:18:01.0000] <aho> they got digg vs reddit stats [02:20:00.0000] <gsnedders> hsivonen: Worldwide, mobile browsers are 2.85% of the web. In Indonesia, 9.39%. [02:20:01.0000] <gsnedders> /me wonders how they count Opera Mini users in terms of their location [02:21:00.0000] <hsivonen> looks like in Europe, Chrome has recently been eating the market share of Firefox more than it has eaten the market share of IE, since the Firefox and IE lines are about to cross again [02:22:00.0000] <hsivonen> (while Opera and Safari are constant and Chrome is on an upwards slope) [02:23:00.0000] <othermaciej> depending on which stats you trust, in US share, Safari is close to passing Firefox [02:23:01.0000] <othermaciej> it's strange that browser shares are so different between different countries [02:23:02.0000] <jgraham> Safari? That sounds very [citation needed] [02:24:00.0000] <hsivonen> othermaciej: don't you have to miscount Chrome as Safari to get that result? [02:24:01.0000] <jamesr> sure you aren't counting chrome in those numbers (the UA string ends Chrome/12.0.712.0 Safari/534.27 on my build) [02:24:02.0000] <jamesr> ? [02:24:03.0000] <gsnedders> Russia is interesting… everything except Safari is losing share to Chrome. (Safari is constant.) [02:24:04.0000] <othermaciej> yes, http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0 doesn't count Chrome as Safari [02:24:05.0000] <othermaciej> (those are the world stats) [02:25:00.0000] <othermaciej> I am not sure you can see per-country stats without an account [02:25:01.0000] <hsivonen> othermaciej: one can't [02:26:00.0000] <aho> i blame ff's decline on their delayed release of ff4. 3.x really started to look bad in comparison [02:26:01.0000] <othermaciej> I can post a screenshot of the US view (um, on imgur I guess?) [02:26:02.0000] <aho> ff4 still isn't pushed via notifications, is it? [02:26:03.0000] <hsivonen> aho: afaik, no [02:26:04.0000] <othermaciej> I paid for an account long ago and it never expired (even though the card it was on no longer exists) [02:27:00.0000] <hsivonen> I'm not sure if there's a policy, but I imagine the update push is waiting for 4.0.1 [02:27:01.0000] <jamesr> ffx4 should do quite well once they prompt ffx3.X users to update [02:28:00.0000] <jamesr> woah, according to the microsoft blog IE8 had "(full compliance with the CSS2.1 standard)" [02:28:01.0000] <aho> if the phase of the moon was just right, yes [02:28:02.0000] <jamesr> that's one of the most impressive claims they've made [02:28:03.0000] <aho> they also claimed that ie6 supports css 1.0 fully [02:28:04.0000] <othermaciej> http://i.imgur.com/Ix9T9.png [02:28:05.0000] <aho> well, it didn't :> [02:28:06.0000] <othermaciej> citation: ^ [02:29:00.0000] <aho> (background-attachment:fixed was missing... and well, there were of course lots of bugs, too) [02:29:01.0000] <hsivonen> jamesr: it's quite possible that IE8 passed some snapshot of the official CSS 2.1 test suite [02:29:02.0000] <hsivonen> othermaciej: wow. almost a percent still on Netscape [02:29:03.0000] <aho> lol [02:30:00.0000] <othermaciej> yeah, some Americans apparently have shitty computer setups [02:30:01.0000] <hsivonen> how are they counting? or, alternatively, what's wrong with the people using Netscape still? [02:31:00.0000] <jamesr> i wonder what the historical graph on those figures looks like [02:31:01.0000] <othermaciej> they count through statistical sampling of visits to selected site, then for world share numbers, weighting that by internet-using population per country [02:31:02.0000] <hsivonen> othermaciej: ooh. Bing as the search engine [02:31:03.0000] <othermaciej> sadly there doesn't seem to be a way to get a per-country tendline graph [02:31:04.0000] <othermaciej> and their custom queries are slow [02:31:05.0000] <jgraham> Hmm, that graph would be more consistent with other (less region-specific) stats with chrome and safari reversed [02:32:00.0000] <othermaciej> their worldwide stats seem vaguely in line with other people's worldwide stats [02:32:01.0000] <othermaciej> as do their europe stats [02:33:00.0000] <othermaciej> they do incorporate mobile browsing in the same stats [02:33:01.0000] <othermaciej> and it measures browser usage share, not market share (i.e. weighted by how much people browse, not by number of unique users) [02:34:00.0000] <hsivonen> in Germany, they really like to update Firefox before the prompted push: http://gs.statcounter.com/#browser_version-DE-daily-20110322-20110413 [02:35:00.0000] <jgraham> Germany seems to really like Firefox for some reason [02:35:01.0000] <aho> i like how even f-ing ff 3.0 got more than ie6 :> [02:35:02.0000] <jamesr> if you change that graph to USA then you can really strongly see workweek vs weekend effects: http://gs.statcounter.com/#browser_version-US-daily-20110322-20110413 [02:36:00.0000] <aho> (at the same time i'm also annoyed that ff 3.0 and ff 3.5 still exist) [02:37:00.0000] <hsivonen> aho: well, at least 3.0 isn't supported anymore [02:37:01.0000] <hsivonen> aho: there might be Camino still identifying as Firefox/3.0 [02:37:02.0000] <aho> browsers should auto-update. failing that they should self destruct :v [02:38:00.0000] <hsivonen> it's also possible for Linux distros to keep 3.0.x alive beyond what MoCo supports, but it seems even Debian stopped patching 3.0.x [02:38:01.0000] <othermaciej> their all-Europe share claims are: [02:38:02.0000] <othermaciej> IE - 42.17% [02:39:00.0000] <othermaciej> Firefox: 31.68% [02:39:01.0000] <othermaciej> Chrome: 13.4% [02:39:02.0000] <othermaciej> Safari: 8.10% [02:39:03.0000] <othermaciej> Opera: 3.6% [02:41:00.0000] <othermaciej> China is 80% IE [02:41:01.0000] <othermaciej> (I think it used to be closer to 90% a year ago) [02:41:02.0000] <jamesr> check out south korea [02:41:03.0000] <jamesr> started to move, but still 95%+ IE [02:41:04.0000] <hsivonen> othermaciej: if the stats are true, that might be explainable by new dual-engine browsers [02:42:00.0000] <othermaciej> Maxthon supposedly gets registered separately [02:42:01.0000] <othermaciej> India is near-even 3-way split among Firefox, IE and Chrome [02:43:00.0000] <othermaciej> Switzerland has the highest Safari share of any country I could find (16.2%) [02:44:00.0000] <othermaciej> Russia has 23% Opera [02:46:00.0000] <zcorpan> way to go Russia [02:46:01.0000] <othermaciej> wow, Indonesia is crazy, only 10% IE [02:46:02.0000] <othermaciej> and 65% Firefox [02:47:00.0000] <hsivonen> what's the story behind Opera's share in Ukraine? [02:48:00.0000] <hsivonen> IIRC, the story behind the share in Kazakhstan was the Turbo bypasses their censorship filter [02:49:00.0000] <hsivonen> s/the/that/ [02:50:00.0000] <jgraham> hsivonen: The story is that it has been high for a long time afaik [02:51:00.0000] <jamesr> my personal favorite: http://gs.statcounter.com/#browser-AL-monthly-200807-201104 [02:51:01.0000] <gsnedders> Yeah, AFAIK most of the Eastern European places with high marketshare have been high going back to the late 90s [02:51:02.0000] <othermaciej> Ukraine has even more Opera share than Russia it seems [02:52:00.0000] <jgraham> hsivonen: The origin presumably goes back to the time when Opera was pay-to-play or ad-supported [02:53:00.0000] <hsivonen> jgraham, gsnedders: ok. Did Opera have some specific language support advantage back then? [02:53:01.0000] <othermaciej> stat counter stats show some dubious looking artifacts [02:53:02.0000] <othermaciej> http://gs.statcounter.com/#browser-US-monthly-200807-201104 [02:54:00.0000] <gsnedders> hsivonen: Not AFAIK. But I can't claim to know much back then. I was just a little kid. [02:54:01.0000] <othermaciej> I disbelieve the giant IE spike / Firefox dip / Safari dip in early 2009 [02:54:02.0000] <Ms2ger> I disbelieve all those stats [02:55:00.0000] <zcorpan> lies! [02:55:01.0000] <othermaciej> three kinds of lies? [02:55:02.0000] <aho> things like that can be caused by changing the sampling size [03:01:00.0000] <aho> completely off-topic, but does anyone know if there is some list which shows some relationship between languages and character ranges? [03:01:01.0000] <aho> like... which languages can i cover with latin + latin supplement + latin extended A [03:01:02.0000] <Lachy> aho, http://www.unicode.org/charts/ [03:02:00.0000] <Lachy> I don't know if that has the detail you want though [03:02:01.0000] <gsnedders> Lachy: that just shows scripts to character ranges, not langauges [03:02:02.0000] <gsnedders> *languages [03:02:03.0000] <gsnedders> aho: I guess it's hard to classify… c.f. people who use "naïve" and "café" in English [03:02:04.0000] <aho> basically i want to know which character ranges i need to put into my texture fonts if i want to support some specific set of languages :> [03:03:00.0000] <MikeSmith> hsivonen: I think part of the story on Opera in Ukraine and elsewhere is that it is still runnable on really old hardware [03:03:01.0000] <zcorpan> aho: grep spellchecker dictionaries? [03:03:02.0000] <MikeSmith> 486 [03:04:00.0000] <aho> opera still works in win9x afaik :) [03:04:01.0000] <gsnedders> MikeSmith, hsivonen: and old OSes, too [03:04:02.0000] <gsnedders> aho: Yeah. [03:04:03.0000] <gsnedders> Not officially supported, but it still works [03:04:04.0000] <MikeSmith> gsnedders: right [03:04:05.0000] <aho> zcorpan, y'know what... that might actually do the trick [03:04:06.0000] <hsivonen> I thought Opera required Windows 2000 [03:04:07.0000] <gsnedders> hsivonen: "not officially supported". [03:05:00.0000] <hsivonen> so does WebM in Opera work on Windows 95? [03:05:01.0000] <gsnedders> Win95 doesn't work since 10.50, I think [03:05:02.0000] <gsnedders> Win98… dunno. [03:05:03.0000] <aho> a machine with win95 won't be fast enough ;) [03:07:00.0000] <gsnedders> hsivonen: But, well, being unsupported, crashing is perfectly acceptable behaviour. :P [03:07:01.0000] <aho> zcorpan, actually... i think i'll just create it straight from the translations. this way i'll automatically get everything i need and /only/ what i need [03:08:00.0000] <jamesr> aho: if you have the text then what you want is the set of glyphs in that text [03:09:00.0000] <zcorpan> aho: translations of what? [03:09:01.0000] <aho> i don't have any translations yet :) [03:09:02.0000] <aho> text messages in my game [03:10:00.0000] <zcorpan> ah [03:10:01.0000] <zcorpan> yeah there are tools to subset fonts [03:10:02.0000] <zcorpan> Philip` even wrote one [03:10:03.0000] <aho> i want to use texture fonts for that because they look better and because i cannot be arsed to implement all that text stuff in the flash emulation thingy :> [03:11:00.0000] <aho> http://i.imgur.com/BEmv2.png [03:11:01.0000] <MikeSmith> what are texture fonts? [03:11:02.0000] <aho> "soft" outlines and drop shadows for free :> [03:12:00.0000] <aho> MikeSmith, bitmap based font rendering [03:12:01.0000] <aho> there are one or more images which contain the glyphs and you then just draw what you need [03:13:00.0000] <jamesr> bitmap fonts AKA ugly-ass fonts [03:13:01.0000] <aho> <aho> http://i.imgur.com/BEmv2.png <- does that look ugly? [03:13:02.0000] <jamesr> yup [03:13:03.0000] <aho> looks much better than the native font rendering you get on windows [03:15:00.0000] <aho> http://i.imgur.com/oOXtd.png [03:15:01.0000] <aho> see? [03:16:00.0000] <aho> ClearType only looks good at smaller size if the font is properly hinted [03:16:01.0000] <aho> *sizes [03:18:00.0000] <zcorpan> only the 36px one looks good [03:20:00.0000] <aho> looks pretty jaggy to me :l [03:21:00.0000] <MikeSmith> I'm not sure that particular font would look good now matter how it's rendered… [03:21:01.0000] <aho> the sub pixel rendering on mac and linux looks a lot better at bigger sizes [03:21:02.0000] <aho> http://www.google.com/webfonts/family?family=Crafty+Girls&subset=latin [03:22:00.0000] <MikeSmith> "Crafty Girkl [03:23:00.0000] <MikeSmith> that font is kawaii [03:24:00.0000] <zcorpan> hybi changed the framing again [03:26:00.0000] <zcorpan> and they also started to mask their own emails [03:26:01.0000] <jgraham> They are better that way [03:28:00.0000] <jamesr> they make more sense that way [03:28:01.0000] <zcorpan> they forgot to do a handshake, so i'll refuse to read their messages [03:29:00.0000] <jgraham> I don't understand the IETF subprotocol anyway so I am dropping the connections [03:32:00.0000] <zcorpan> previously i thought that browsers would never fragment, but now that the long length is in plaintext many we should always fragment if length is >= 2^16 so that the long length encoding is never used [03:33:00.0000] <zcorpan> s/many/maybe/ [03:34:00.0000] <jgraham> For security reasons? [03:35:00.0000] <zcorpan> yeah, just in case. another benefit is pongs can be sent with low latency (although who cares about that) [03:42:00.0000] <jgraham> othermaciej: Admit it, the point of that email was to get the phrases "Chomsky hierarchy" and "infelicities" into the same message and thereby intimidate any future scrabble opponents [03:43:00.0000] <othermaciej> jgraham: I'm actually not all that good at Scrabble! [03:43:01.0000] <othermaciej> but I did enjoy the opportunity to be gratuitously pedantic [03:51:00.0000] <hsivonen> yeah, it's questionable not to consider content models part of syntax [05:11:00.0000] <zcorpan> anyone read 'Smashing HTML5'? [05:12:00.0000] <hsivonen> zcorpan: sounds violent to HTML5. [05:13:00.0000] <hsivonen> if it's an adjective instead, is "Smashing" better than "Native"? [05:13:01.0000] <jgraham> It is more indicative that mashed potato will be involved [05:14:00.0000] <jgraham> scare quotes implied [05:14:01.0000] <gsnedders> /me wonders if that's just a British thing or not [05:14:02.0000] <jgraham> I'm pretty sure it is [05:14:03.0000] <gsnedders> Wikipedia says it is. [05:15:00.0000] <jgraham> "The texture of Smash is not identical to that of real mashed potato, being somewhat smoother" [05:16:00.0000] <jgraham> Neither is the taste, although smoother is not the adjective one would use [06:53:00.0000] <zcorpan> how often is developers.whatwg.org synced with the spec? [06:53:01.0000] <zcorpan> /me noticed it still has <table summary> [07:03:00.0000] <MikeSmith> zcorpan: I think Ben syncs it manually [07:03:01.0000] <MikeSmith> but not sure [07:24:00.0000] <GlitchMr> "<input type="text"> needs a minlength="" attribute" [07:24:01.0000] <GlitchMr> I love reading FAQ [07:24:02.0000] <GlitchMr> <input type="text" pattern=".{3}"> [07:55:00.0000] <zcorpan> uh ok maybe that's enough tweeting for today [07:55:01.0000] <benschwarz> heyo [07:55:02.0000] <benschwarz> Just got home :) [07:55:03.0000] <karlcow> hmm still not interop for document.lastModified :( [07:55:04.0000] <karlcow> https://bugs.webkit.org/show_bug.cgi?id=4363#c7 [07:56:00.0000] <benschwarz> Hixie, zcorpan, Keep me in the loop on http://www.w3.org/Bugs/Public/show_bug.cgi?id=12491, I'll do whatever I can do to help [07:57:00.0000] <zcorpan> benschwarz: btw how often is developers.whatwg.org synced? [07:57:01.0000] <hsivonen> is there an easy way to find the cases in the spec where navigation occurs without replacement enabled? [07:59:00.0000] <zcorpan> hsivonen: load single page, search for 'navigate'? [08:00:00.0000] <jgraham> zcorpan: "no" would have been fewer characters [08:02:00.0000] <hsivonen> zcorpan: ok [08:02:01.0000] <benschwarz> zcorpan: I do it manually still… [08:02:02.0000] <benschwarz> at first it was very regular [08:02:03.0000] <benschwarz> but I processed it last week [08:03:00.0000] <hsivonen> I wonder if other browser have nicer code for implementing browsing contexts [08:03:01.0000] <benschwarz> zcorpan: Running it now ;0 [08:12:00.0000] <zcorpan> benschwarz: ah, i thought you had a cron job or something set up [08:22:00.0000] <AryehGregor> Browser developer people: who would be good people to ask (from all the major browsers) whether browsers would be willing to implement this requirement from CSS 3 Text? "The UA should place the start and end of the line inwards from the content edge of the decorating element so that, e.g. two underlined elements side-by-side do not appear to have a single underline. (This is important in Chinese, where underlining is a form of punctuation.)" [08:22:01.0000] <AryehGregor> I'm pretty sure this would break sites and browsers wouldn't be willing to do it, but I'd like to know, since I'm currently arguing about it on www-style. [08:23:00.0000] <AryehGregor> I'd like to e-mail someone from each of the major browsers asking, and CC www-style. [08:24:00.0000] <AryehGregor> I'm guessing bzbarsky is good for Mozilla, but no idea who to ask at WebKit or Opera (let alone Microsoft). [08:24:01.0000] <AryehGregor> /me pokes WebKit and Opera people: TabAtkins, dglazkov|away, jgraham, zcorpan [08:25:00.0000] <wilhelm> See /msg. (c: [08:25:01.0000] <karlcow> AryehGregor: how do you do with vertical text? [08:25:02.0000] <AryehGregor> wilhelm, since you only told me the address privately, does that imply that I shouldn't e-mail him CCd to a public list? [08:26:00.0000] <AryehGregor> karlcow, I dunno, that's a whole separate issue. [08:33:00.0000] <zcorpan> what, ie doesn't support name getters on forms? [08:33:01.0000] <zcorpan> oh it's just <img>? [08:35:00.0000] <karlcow> AryehGregor: yup, I was curious. your sentence popped up this issue. [08:37:00.0000] <zcorpan> Oprah supports File.slice? who knew [08:49:00.0000] <kennyluck> AryehGregor, I'm pretty sure that's not a bad idea too (re. holes in consecutive underlines). What I proposed was a new value in a property no browser has implemented yet http://lists.w3.org/Archives/Public/www-style/2010Dec/thread#msg102 [08:49:01.0000] <kennyluck> s/a bad/a good/ [08:50:00.0000] <AryehGregor> kennyluck, yeah, but fantasai and Koji don't seem to agree, so I need to get implementers to decide. [09:32:00.0000] <AryehGregor> Hixie, you know, my execCommand() spec is already around 100 KB of source code, and probably isn't even half done. How do you plan to review it and incorporate it into HTML5 when it's ready? [09:36:00.0000] <Ms2ger> Review? Who needs that? :) [09:36:01.0000] <jgraham> AryehGregor: s/How// [09:36:02.0000] <AryehGregor> Well, the plan is that he's going to be the one maintaining it while I'm off studying, so he'll have to understand it. [09:37:00.0000] <AryehGregor> jgraham, my contract says the execCommand() work is to be included in HTML5. [09:38:00.0000] <jgraham> AryehGregor: That sounds dangerous. W3C will presumably reject it from HTML5 [09:38:01.0000] <AryehGregor> More specifically, it says "the HTML spec". [09:38:02.0000] <AryehGregor> It can be HTML6, whatever. [09:38:03.0000] <Ms2ger> Does it say "spec"? [09:38:04.0000] <AryehGregor> "Have the HTML spec updated accordingly." [09:38:05.0000] <AryehGregor> The point is, I'm not going to be around to maintain it. [09:39:00.0000] <AryehGregor> So someone has to take it over, and the plan had been that it would be Hixie. [09:39:01.0000] <AryehGregor> Who's perennially swamped with work. [09:39:02.0000] <jgraham> Updated accordingly could be a reference to your spec in a different document [09:39:03.0000] <AryehGregor> In theory, but it still needs an editor, unless we want it to bitrot. [09:51:00.0000] <jgraham> Not really sure why it would bitrot unless implementations make lots of changes to their ExecCommand stuff [09:51:01.0000] <AryehGregor> It will need to be updated to reflect implementation feedback. [09:52:00.0000] <AryehGregor> In a spec this size, there are going to be plenty of issues that will only come up during or after implementation. [09:53:00.0000] <jgraham> Indeed, if you get to the stage where browsers are making changes based on the spec then active editing will be needed [09:54:00.0000] <AryehGregor> Would be kind of a waste if we don't get to that stage, won't it? [09:55:00.0000] <jgraham> Not if you come back, pick it up, and we get to that stage [09:56:00.0000] <AryehGregor> Possible. I don't really know how things will go. I won't typically be around, but there are a few breaks in the year of a couple weeks to a month where I might be able to do work. [09:57:00.0000] <AryehGregor> So maybe that would be enough to maintain the spec. [09:57:01.0000] <AryehGregor> I can't really guarantee anything. [09:58:00.0000] <AryehGregor> (I can't even guarantee that I'll be studying this fall, although I already signed up for it and paid a non-refundable fee to reserve a spot, because it's possible I'll wind up getting engaged to someone or other in the next few months, which will turn everything upside down. It's a perpetual hazard for young Orthodox Jews.) [10:07:00.0000] <jgraham> How very strange-sounding. Still, whatever works for you I guess. [10:07:01.0000] <AryehGregor> Which parts sound strange? [10:08:00.0000] <jgraham> "it's possible I'll wind up getting engaged to someone or other in the next few months" [10:08:01.0000] <AryehGregor> Yeah, I figured that part would sound strange. [10:08:02.0000] <AryehGregor> You silly non-Jews, waiting for years to get to know someone before getting engaged instead of proposing after commonly two months or less. [10:09:00.0000] <AryehGregor> Chassidim commonly propose on the second date or so, but in my circles it's usual to wait until at least seven or so. [10:10:00.0000] <jgraham> That at least indicates an element of control that was lacking in your original phrasing of the situation [10:10:01.0000] <AryehGregor> Well, I don't know when I'll meet someone I like, so that much I don't control. [10:10:02.0000] <wilhelm> Sounds like an … optimistic approach. [10:11:00.0000] <AryehGregor> Works well for us. [10:11:01.0000] <jgraham> /me finds the whole concept of marriage very strange so maybe isn't the right pwerson to comment here [10:11:02.0000] <jcranmer> the secretary problem! [10:12:00.0000] <jcranmer> reject the first N people, and then accept the first person you meet after them who is better [10:12:01.0000] <jcranmer> provably optimal! [10:12:02.0000] <AryehGregor> The conditions don't seem applicable. [10:12:03.0000] <jgraham> /me is disappointed to discover the secretary problem is not "people in high powered jobs often have affairs with their secretaries" [10:13:00.0000] <AryehGregor> The secretary problem assumes a small and fixed pool of people to choose from, and only gives you points if you pick the absolute best one. [10:14:00.0000] <jgraham> AryehGregor: Maybe you could use the theory if you combined it with a speed-dating approach to partner finding [10:14:01.0000] <jcranmer> http://en.wikipedia.org/wiki/Secretary_problem#Unknown_number_of_applicants [10:14:02.0000] <AryehGregor> Also, you can always go out with someone you rejected before. [10:15:00.0000] <AryehGregor> The cardinal payoff variant with an unknown number of applicants sounds like the best fit. [10:15:01.0000] <jcranmer> sqrt(N) is optimal if the number is known in the latter case [10:16:00.0000] <AryehGregor> The model that seems like a natural fit would be to assign each applicant some value between 0 and 1, and decrease the value of all applicants by some factor every time you reject someone. [10:16:01.0000] <AryehGregor> With an unlimited number of applicants. [10:16:02.0000] <AryehGregor> This reflects the fact that you'd prefer to find someone you like and marry at age 25 than to wait until 40 but find the perfect person. [10:16:03.0000] <AryehGregor> At least, I would. [10:16:04.0000] <AryehGregor> So you have to discount with time. [10:17:00.0000] <AryehGregor> Supposing the distributions are known, what's the optimal strategy then? [10:17:01.0000] <AryehGregor> Hmm, accounting for the cost of evaluation is important too. But my model naturally does that. [10:17:02.0000] <AryehGregor> Too bad I have no idea how to go about finding an optimal solution. [10:18:00.0000] <AryehGregor> I always wanted to study game theory. [10:18:01.0000] <jgraham> AryehGregor: I think optimising the problem description is a pretty big waste of time since it is so fundamentally flawed :) [10:32:00.0000] <AryehGregor> Hmm, this doesn't handle the case of inserting a doctype in the wrong place, does it? http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-node-insertbefore [10:33:00.0000] <Ms2ger> That's handles in the nodes model above [10:33:01.0000] <Ms2ger> -s+d [10:33:02.0000] <Ms2ger> (Actually, we haven't got around to it) [10:34:00.0000] <AryehGregor> There's no normative requirement that nodes model violations throw a HIERARCHY_REQUEST_ERR. [10:34:01.0000] <AryehGregor> In fact, such a requirement would be kind of scary, because it would inject exceptions into specs that look like there can't be any exceptions. [10:35:00.0000] <Ms2ger> Yeah, I know [10:35:01.0000] <Ms2ger> Patches accepted ;) [10:35:02.0000] <AryehGregor> Actually, what I'd like to see is some low-level "insert a node" algorithm that more or less acts like insertBefore() but is the single place that everything references when inserting nodes. [10:36:00.0000] <AryehGregor> Which specifies that mutation events are fired, things like that that need to be in one place. [10:36:01.0000] <Ms2ger> Would be nice, indeed [10:36:02.0000] <AryehGregor> If I finish all the execCommand() and DOM Range work before using up all my contract hours, maybe I can use the rest on DOM Core. [10:36:03.0000] <AryehGregor> (No idea how likely that is.) [10:37:00.0000] <AryehGregor> Actually, the problem with having the "insert a node" algorithm throw exceptions is that if an exception will be thrown, you often want to bail out in advance. [10:37:01.0000] <AryehGregor> Like I'm doing Range.insertNode() right now, and that will invoke splitText() in some cases, but you don't want to do that if you won't wind up inserting the node. [10:38:00.0000] <AryehGregor> So better to have one algorithm to do the insert, another to throw the exceptions. [10:42:00.0000] <rafaelw> Hello, all. [10:42:01.0000] <rafaelw> Is anyone at Opera present? [10:42:02.0000] <wilhelm> Usually. [10:42:03.0000] <jgraham> In mind or body? [10:42:04.0000] <rafaelw> At keyboard will suffice. [10:42:05.0000] <rafaelw> =-) [10:43:00.0000] <rafaelw> I work on the chromium team. [10:44:00.0000] <rafaelw> I've been working with Hixie's guidaince on developing an some ideas around a proposal for including templating/databinding functionality in html. [10:45:00.0000] <rafaelw> I'm hoping to find someone at Opera interested in this problem space. [10:46:00.0000] <jgraham> rafaelw: Have you tried posting your ideals to a mailing list somewhere public? [10:46:01.0000] <jgraham> *ideas [10:47:00.0000] <hsivonen> rafaelw: I'm not from Opera, but do you have a use case document in public? [10:47:01.0000] <rafaelw> jgraham: Yup, we're planning that. [10:48:00.0000] <jgraham> rafaelw: Basically if you post use cases and whatever design ideas you have to, say, whatwg then we will pay attention [10:48:01.0000] <rafaelw> We'd like to include microsoft on the discussion, so we're planning to go through public-webapps @ w3c [10:48:02.0000] <jgraham> Works for us, although there is probably lots of charter realted crap to get through [10:49:00.0000] <jgraham> Unless someone had the good sense to make the webapps charter "more or less anything involving technologies to be used in web pages that browsers are interested in implementing" [10:49:01.0000] <jgraham> or similar [10:50:00.0000] <rafaelw> Yeah, I'm aware of the dissatisfaction with the process overhead at w3c. [10:50:01.0000] <jgraham> Well I'm not saying that going through W3C is a bad idea [10:50:02.0000] <jgraham> There are definite upsides [10:51:00.0000] <rafaelw> Unfortunately, MSFT isn't able to work through w3c, and they're being very supportive of this problem space and I think they have alot of experience to bring to the discussion. [10:51:01.0000] <rafaelw> I'm hoping (maybe naively) that the consensus/process overhead won't be too bad. [10:51:02.0000] <jgraham> Anyway, like I said, we are more than happy to look at idea that come through the webapps list [10:52:00.0000] <jgraham> Yeah, maybe it will be fine [10:52:01.0000] <rafaelw> Ok. We've prototyped our ideas as a js shim and are working to get that to a sensible state and have docs that answer all of the obvious questions about it. [10:53:00.0000] <rafaelw> I've got to go through the google open source process to release that. I'm hoping to email public-webapps and reference the docs/prototype within a week or two. [10:53:01.0000] <jgraham> Actually it looks like the webapps charter is pretty vauge. So that's good [10:53:02.0000] <bga_> more and more ppl refuses to update browsers. internet becomes unsecure(pushState, fs access, system info, clipboard, ect), eat battery(webgl, css3), annoys(css3). ppl want old plain html :) [10:53:03.0000] <jgraham> Out of interest, does this involve markup additions? If so it might be a target for HTMLWg rather than webapps [10:54:00.0000] <jgraham> (yes I just engaged in the process wrangling I was previously lambasting) [10:54:01.0000] <rafaelw> Yes. [10:55:00.0000] <rafaelw> Jonas, Hixie and Maciej have all suggested public-webapps under roughly the idea that this work is largely related to XBL2. [10:55:01.0000] <jgraham> Fair enough [10:56:00.0000] <jgraham> It's pretty novel for a webapps spec to add markup (the new XBL draft notwithstanding) [10:56:01.0000] <rafaelw> Anyhow, I'm trying to be care about approaching this problem because "templating" and "databinding" are so overloaded with meaning and there are so many existing approaches. [10:56:02.0000] <rafaelw> s/care/cafeful [10:57:00.0000] <jgraham> /me -> afk for a bit [11:07:00.0000] <AryehGregor> This list of HIERARCHY_REQUEST_ERRs is ridiculous: http://aryeh.name/tmp/dom-range.html#dom-range-insertnode [11:08:00.0000] <AryehGregor> And it's not even comprehensive, because I don't have to worry about the insertion node being a PI or DocumentType. [11:08:01.0000] <AryehGregor> [110414 13:12:48] <AryehGregor> This list of HIERARCHY_REQUEST_ERRs is ridiculous: http://aryeh.name/tmp/dom-range.html#dom-range-insertnode [11:08:02.0000] <AryehGregor> [110414 13:13:07] <AryehGregor> And it's not even comprehensive, because I don't have to worry about the insertion node being a PI or DocumentType. [11:08:03.0000] <AryehGregor> /me is pretty sure this is not the right way to spec it [11:09:00.0000] <AryehGregor> /me leaves it for now, so he can write his tests more easily [12:30:00.0000] <AryehGregor> Okay, so now I got IE9 to create a node whose parent is null and whose previousSibling is not null. [12:30:01.0000] <AryehGregor> Someone there really needs to look into making their DOM implementation a bit more failsafe. [12:32:00.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/929 [12:44:00.0000] <Ms2ger`> s/DOM // [12:45:00.0000] <AryehGregor> I've mostly noticed DOM inconsistencies. [12:46:00.0000] <AryehGregor> Ms2ger`, could I convert DOM Range to use the preprocessor I wrote for the edit commands spec? It's unspeakably obnoxious to have to type all those tags again and again and again and again. http://aryeh.name/gitweb.cgi?p=editcommands;a=blob_plain;f=preprocess;hb=HEAD [12:46:01.0000] <Ms2ger`> I'd rather you didn't, to be honest [12:46:02.0000] <AryehGregor> Sigh. [12:46:03.0000] <AryehGregor> Don't you agree that the current syntax is horrifyingly bad to type, though? [12:47:00.0000] <Ms2ger`> I end up copy-pasting a lot :) [12:47:01.0000] <AryehGregor> Me too, but it's still awful. [12:47:02.0000] <AryehGregor> Other anolis specs aren't nearly as bad, because they don't have the cross-spec xrefs. [12:48:00.0000] <AryehGregor> Maybe I could just write it my way and then preprocess it before commit. [12:50:00.0000] <Ms2ger`> Heh, that works [12:51:00.0000] <AryehGregor> As long as I don't need to edit existing stuff. [12:53:00.0000] <mpilgrim> when in doubt, add a layer of abstraction [12:54:00.0000] <AryehGregor> Works for brevity. [12:54:01.0000] <mpilgrim> i don't see how this plan can possibly fail [12:55:00.0000] <AryehGregor> Nor me, since I've been using it for my own spec for a while now. [13:14:00.0000] <jgraham> mpilgrim: It appears that AryehGregor has +5 against sarcasm [13:14:01.0000] <jgraham> your weapons are useless here [13:14:02.0000] <jgraham> :) [13:14:03.0000] <AryehGregor> jgraham, in fact, I once shelled out the money to get "protection from sarcasm" cast on me with "permanency". [13:15:00.0000] <AryehGregor> The only thing I have to worry about is "dispel magic". [13:15:01.0000] <AryehGregor> But I have good Will saves. [13:15:02.0000] <AryehGregor> The Nerd class gets bad Fortitude saves, but good Reflex and Will. [13:15:03.0000] <AryehGregor> (good Reflex saves stemming, of course, from all the video games) [14:20:00.0000] <Hixie> AryehGregor: no specific plan yet, but my vague plan was to rip out the execCommand stuff in the spec right now and split your stuff amongst the HTML spec, the DOM Core spec, and the DOM Range spec as appropriate (might not be anything in the latter two, haven't checked) [14:21:00.0000] <AryehGregor> Hixie, k. Still a while yet till we have to think about it. [14:21:01.0000] <Hixie> jgraham: i imagine that the stuff rafaelw is working on, if it goes anywhere, would likely end up in HTML itself. but it didn't seem public-html would be a good place to discuss it. [14:21:02.0000] <Hixie> AryehGregor: k [14:28:00.0000] <Lachy> reading the logs, what exactly is that templating/databinding stuff that rafaelw is working on? Is it like an alternative to XBL2, or something that works with XBL2 or something completely different? [14:45:00.0000] <jgraham> Hixie: Can't say I disagree with that assessment [14:46:00.0000] <Hixie> Lachy: from what i understand, he's looking more at something like the repetition templates stuff (but done much better) than a widget system like XBL. [15:19:00.0000] <erlehmann> > I propose to address this issue by ensuring that all drawing operations are done in linear space. [15:19:01.0000] <erlehmann> first i was like LOL TROLLING but then … [15:25:00.0000] <AryehGregor> Is setting location.hash synchronous? [15:25:01.0000] <AryehGregor> /me suspects not [15:27:00.0000] <AryehGregor> Because it's really the same as setting location.href, right? [15:27:01.0000] <zewt> erlehmann: as opposed to Mr. Application Cache ...... [15:28:00.0000] <erlehmann> zewt, step 1: submit proposal. step 2: ??? step 3: GOTO 1 [15:28:01.0000] <zewt> "please stop busy looping the mailing list" [15:43:00.0000] <Hixie> othermaciej: yt? [15:43:01.0000] <Hixie> othermaciej: i'm looking for advice on how to handle this url decision [15:43:02.0000] <Hixie> othermaciej: the revert i'm supposed to do no longer applies, the spec has changed a lot since then, and i'm wondering what i should be aiming for [15:44:00.0000] <Hixie> othermaciej: is it just putting a definition for "parse" and "resolve" back into the spec, or something else? [15:53:00.0000] <othermaciej> Hixie: I think the crux of the decision is that the spec should directly define URI parsing (and relative resolution) [15:53:01.0000] <Hixie> the CP selected doesn't define URI parsing directly [15:53:02.0000] <othermaciej> Hixie: if you have to refactor the content to match the rest of the spec, I think that would be fine, particularly if Adam doesn't object (which I highly doubt he would) [15:53:03.0000] <Hixie> it defines it as a diff of the URL spec [15:54:00.0000] <othermaciej> ah [15:54:01.0000] <othermaciej> well, anyway, I think refactoring the content as part of the original landing would be fine [15:54:02.0000] <Hixie> k [15:54:03.0000] <othermaciej> fixing any bugs with the algorithms would also be fine, but preferably as separate changes [15:55:00.0000] <Hixie> yeah this is gonna be messy enough as it is without fixing bugs at the same time [15:55:01.0000] <othermaciej> I don't think Adam (or anyone else who cares about this) will be excessively picky [15:55:02.0000] <Hixie> oh i'm sure julian will be [15:57:00.0000] <othermaciej> did he express a preference in the poll? [15:57:01.0000] <Hixie> he's the reason this all happened in the first place, no? [15:57:02.0000] <Hixie> maybe i just assume it's him because it involved the ietf and not violating other specs [15:58:00.0000] <othermaciej> I honestly can't remember who started it [15:58:01.0000] <othermaciej> his opinion on the poll was to go back to the drawing board and have Roy Fielding write some text [15:58:02.0000] <othermaciej> thus, I expect him to hate anything you do regardless [15:58:03.0000] <Hixie> that's a given [15:59:00.0000] <Hixie> i'd be fine with roy writing the text, fwiw. i don't at all care who writes it so long as (a) it's written and (b) it's not fiction. [16:00:00.0000] <Hixie> ooh, my script congratulated me for fixing two outstanding XXX issue markers [16:00:01.0000] <Hixie> (the XXXs i had for defining "parse" and "resolve") [16:14:00.0000] <Hixie> /me brings the url feedback back into his bucket of active feedback [16:15:00.0000] <Hixie> (50 e-mails dating back up to 2009) [16:15:01.0000] <Hixie> abarth: what's the status of the url work? [16:15:02.0000] <abarth> Hixie: status is that I have a bunch of time next week blocked off to work on it [16:16:00.0000] <Hixie> ok well the html spec just got its old text back [16:16:01.0000] <abarth> i saw [16:16:02.0000] <abarth> sorry if this is creating busy work for you [16:16:03.0000] <Hixie> eh no worries [16:16:04.0000] <abarth> the good news is that stpete seems interested in actually solving this problem [16:17:00.0000] <Hixie> stpete? [16:17:01.0000] <abarth> http://stpeter.im/ [16:17:02.0000] <AryehGregor> Oh, Grid is a new proposal by Microsoft? Wasn't there something like it floating around for a long time? [16:17:03.0000] <abarth> APPS area AD [16:17:04.0000] <Hixie> oh peter [16:18:00.0000] <Hixie> k [16:18:01.0000] <Hixie> so this is gonna be done like the cookie thing? [16:18:02.0000] <abarth> hopefully [16:19:00.0000] <abarth> peter seems to understand that the HTML WG wants a spec by LC [16:19:01.0000] <Hixie> well that's ok, we'll be in LC for years [16:20:00.0000] <abarth> he wants a spec in six months [16:20:01.0000] <abarth> including discussion [16:20:02.0000] <abarth> so, that means we need one mostly written soon [16:20:03.0000] <boogyman> lol, good luck with that [16:20:04.0000] <Hixie> isn't this an area for which discussion is pretty much not needed? [16:20:05.0000] <Hixie> i mean, it's not like anything is being designed here [16:20:06.0000] <Hixie> it's just describing reality [16:20:07.0000] <Hixie> anyway [16:21:00.0000] <Hixie> if you want to do this at ietf, that's your prerogative [16:21:01.0000] <abarth> i don't particularly care where it gets done [16:21:02.0000] <Hixie> is this going to include the API you were talking about? or is that separate? [16:21:03.0000] <Hixie> i noticed File API has created a URL object [16:21:04.0000] <abarth> that's separate [16:21:05.0000] <Hixie> k [16:22:00.0000] <abarth> the main thing that needs to happen is for me or someone to spend time and actually write up the spec [16:22:01.0000] <Hixie> k [16:22:02.0000] <abarth> once we have that, then we can see who's interested in publishing it [16:23:00.0000] <Hixie> well, my plan is to basically see what happens, and if nothing happens when i get around to looking at the url feedback i just threw back on my pile, i'll just start going through that feedback and fix the stuff in the html spec [16:23:01.0000] <Hixie> we can always extract it out again later [16:23:02.0000] <Hixie> though it would be nice to have a spec that doesn't defer to the URI spec [16:24:00.0000] <Hixie> what would be even nicer is a spec that obsoletes the URI and IRI specs altogether, goes back to calling everything URLs, and defines syntax and parsing and resolving all in one place, including error handling. [16:24:01.0000] <Hixie> then i could just point straight to one document instead of having to juggle who's in charge of what [16:24:02.0000] <abarth> that's politically more difficult [16:25:00.0000] <abarth> my current plan is to have an object in the spec that can be parsed from a sequence of characters [16:25:01.0000] <abarth> and serialized to a URI [16:25:02.0000] <abarth> I think the current spec calls that a ParsedURL [16:26:00.0000] <abarth> but i haven't looked at the document for a while [16:26:01.0000] <Hixie> current spec? [16:26:02.0000] <Hixie> oh the one you are doing? [16:26:03.0000] <Hixie> k [16:26:04.0000] <abarth> https://github.com/abarth/url-spec/blob/master/drafts/url.xml [16:26:05.0000] <abarth> there's not much there now [16:26:06.0000] <Hixie> well so long as you define parse and resolve in terms that work for the spec, that's fine by me for now [16:26:07.0000] <abarth> but hopefully there will be more in a couple weeks [16:26:08.0000] <Hixie> (that work for the html spec, that is) [16:27:00.0000] <abarth> a bunch of IETF folks seem very excited about the IDNA aspects of this issue [16:27:01.0000] <Hixie> o_O [16:27:02.0000] <abarth> which seem uninteresting to me [16:27:03.0000] <abarth> i don't plan to include anything about IDNA [16:28:00.0000] <Hixie> there's gonna have to be something about idna, so you can parse iris [16:28:01.0000] <Hixie> but i don't see what there's to get excited about [16:28:02.0000] <othermaciej> abarth: when he says "by LC" does he mean "by the point of entering LC", or "by the point of leaving LC" (which most people might call "by CR") [16:29:00.0000] <othermaciej> the former is probably about a month away, and the latter more than a year away, by my sestimate [16:29:01.0000] <abarth> Hixie: i'm just going to say what the cookie spec says, which is "do the IDNA thing to make this ascii" [16:29:02.0000] <abarth> othermaciej: he seems to have about six months in mind at a timeframe [16:29:03.0000] <abarth> i don't know where he's getting that timeframe from [16:30:00.0000] <abarth> tlr has also been involved in these discussions, so maybe that part comes from him? [16:30:01.0000] <Hixie> abarth: yeah i think that's pretty much what the html spec says currently [16:30:02.0000] <Hixie> abarth: there's a little more to it, e.g. handling errors from ToAscii, but not much [16:31:00.0000] <TabAtkins_> AryehGregor: Yes, Grid Layout is basically a slightly more powerful version of Template Layout. [16:31:01.0000] <TabAtkins_> Lachy: Do you still need to know about the data-binding stuff? I had my computer off for a bit, so I missed if anyone talked to you in the interim. [16:42:00.0000] <Lachy> TabAtkins_, I'm just curious about what the proposal is and how it will work. But I can wait till the proposal gets sent to the mailing list 2011-04-15 [17:08:00.0000] <Hixie> i love that one of leif's arguments for making border=1 valid was "93% of table elements in the wild have the border attribute set" [17:08:01.0000] <Hixie> nevermind that most have it set to 0... [17:15:00.0000] <othermaciej> does explicit border=0 have any effect? [17:18:00.0000] <Hixie> not in most browsers [17:53:00.0000] <Hixie> othermaciej: so what it decided if i should apply http://www.w3.org/Bugs/Public/show_bug.cgi?id=10066#c37 ? [17:53:01.0000] <Hixie> s/what/was/ [17:53:02.0000] <othermaciej> Hixie: if no one complains by tomorrow AM then I'll say the coast is clear [17:53:03.0000] <Hixie> oh it's by tomorrow, ok [17:53:04.0000] <othermaciej> (so far no objections afaict) [17:53:05.0000] <Hixie> i thought it was today [17:54:00.0000] <Hixie> ok well there are two open WGDecision bugs i haven't applied, that one and the one i just mailed you about [17:54:01.0000] <Hixie> other than that i'm done with applying decisions, i believe [18:02:00.0000] <othermaciej> that's good [18:05:00.0000] <othermaciej> Hixie: ok; I flagged your mail on 131 [18:05:01.0000] <othermaciej> Hixie: I think other than those two bugs, there are only three issues pending action (31/80 decision, and 152 survey or whatever other resolution comes about) [18:06:00.0000] <Hixie> before the arbitrary LC publication, anyway :-) [21:41:00.0000] <heycam> where is application/x-www-form-urlencoded defined? [23:02:00.0000] <Hixie> heycam: defined in what sense? [23:03:00.0000] <heycam> defined as in if you have this input dictionary of values, how do you turn it into a string of characters/bytes [23:03:01.0000] <heycam> s/values/key-value pairs/ [23:03:02.0000] <Hixie> the encoding algorithm is defined here: http://www.whatwg.org/specs/web-apps/current-work/complete.html#application/x-www-form-urlencoded-encoding-algorithm [23:04:00.0000] <heycam> Hixie, great, thanks. I didn't find that before for some reason, looking in the forms section. [23:04:01.0000] <heycam> although I see it's only a couple of page downs from where I was reading, so don't know why I missed it :) [23:05:00.0000] <Hixie> or just search for "application/x-www-form-urlencoded" in the spec, there's only 16 hits :-) [02:46:00.0000] <hsivonen> can someone explain to me what profiles "profiles was feedback from the TV industry at TPAC 2010 HTML WG F2F" is referring to in http://www.w3.org/2011/04/07-html-a11y-minutes.html ? [02:47:00.0000] <hsivonen> on the face of things, "profiles" and "TV industry" in one sentence looks like something that's not One Webby [02:47:01.0000] <Hixie> it's almost certainly what you're interpreting it as [02:47:02.0000] <Hixie> (the tv industry doesn't understand "one web") [02:51:00.0000] <gsnedders> AryehGregor: I'm basically never the right person from Opera for any CSS WG stuff :) [02:52:00.0000] <benschwarz> Hixie: heyp [02:52:01.0000] <benschwarz> heyo [02:52:02.0000] <othermaciej> hsivonen: I remember there being some TV people at TPAC, but I don't recall them asking for "profiles" [02:52:03.0000] <Hixie> benschwarz: hey, sup [02:52:04.0000] <benschwarz> Hixie, just home from work [02:52:05.0000] <othermaciej> but sometimes the a11y telecon minutes are confused [02:53:00.0000] <benschwarz> Hixie, are you based in SF / mountain view? [02:53:01.0000] <Hixie> yes [02:53:02.0000] <benschwarz> Hixie, I'll be in SF in 2 weeks [02:54:00.0000] <benschwarz> also, any thoughts on http://www.w3.org/Bugs/Public/show_bug.cgi?id=12491 ? [02:54:01.0000] <Hixie> if you're up for coming up to mountain view, i'd be happy to invite you to lunch at google when you're here - drop me a line with dates that would work for you (i don't have my calendar right now) [02:54:02.0000] <Hixie> that bug seems reasonable [02:54:03.0000] <hsivonen> "<oedipus> plus 1 to judy -- W3C process different from "WG process" set up by chairs, but they are following cookie-cutter process which is detrimental to development of spec" [02:55:00.0000] <benschwarz> Hixie, I was planning to organise a lunch with some heads in SF [02:55:01.0000] <hsivonen> so who, these days, is thinking that the HTML WG Decision Process is good for the development of the spec? [02:55:02.0000] <benschwarz> KuraFire, paul_irish and some others…\ [02:56:00.0000] <Hixie> cool [02:56:01.0000] <Hixie> hsivonen: nobody being happy is not a good indicator of badness in this kind of thing [02:56:02.0000] <Hixie> hsivonen: (but having said that, i do think it's bad :-) ) [02:57:00.0000] <benschwarz> Hixie, I'll email a group when I've got my bizness together ;) [02:57:01.0000] <Hixie> cool [02:57:02.0000] <benschwarz> I was thinking saturday the 30th of April [03:00:00.0000] <jgraham> hsivonen: Presumably a majority of the chairs think it is good [03:00:01.0000] <jgraham> Although it is possible that they all beleive it is bad but think that the others both think it is good I suppose [03:02:00.0000] <Hixie> oh wow, it's late [03:02:01.0000] <Hixie> nn [03:02:02.0000] <jgraham> gn [03:02:03.0000] <othermaciej> politics is the art of the possible [03:04:00.0000] <jgraham> Which is another way of saying you think it is the best possible process [03:04:01.0000] <jgraham> Presumably [03:05:00.0000] <Hixie> politics shouldn't (and needn't) be a factor here, fwiw. [03:09:00.0000] <Lachy> The ridiculous HTMLWG process is one of the major reason I've reduced my involvement in that disfunctional group. [03:09:01.0000] <jgraham> It's not really clear that can be true unless you are using a different definition of politics [03:12:00.0000] <jgraham> (in particular, even if you use a data-driven process, which is good, the weighting applied to different bits of data is basically a political decision) [03:13:00.0000] <othermaciej> any process that involves more than one human is a form of politics [03:14:00.0000] <jgraham> I think that is a broader definition of "politics" than most people would use [03:16:00.0000] <othermaciej> that was meant to be a non-tautological assertion, not a definition [03:16:01.0000] <MikeSmith> jgraham: yeah, because many people want claim that what they are involved in is not political in any way [03:16:02.0000] <MikeSmith> ceding decision-making authority to somebody else is political decision [03:16:03.0000] <othermaciej> though Wikipedia's one-liner, "Politics is a process by which groups of people make collective decisions", seems pretty broad and about what I had in mind [03:24:00.0000] <jgraham> othermaciej: Ah, if you had narrowed the scope to "decision making process" that might be more reasonable [03:25:00.0000] <othermaciej> I'm trying to think of interactions that involve more than one person which do not involve making any decisions, or even any attempts to influence decisions [03:26:00.0000] <othermaciej> I suppose if one person murders another in their sleep, solely for the thrill of it [03:28:00.0000] <zcorpan> doooods! microsoft weren't first! google came up with 'native html5'! here's proof: http://www.html5rocks.com/tutorials/dnd/basics/ [06:14:00.0000] <Ms2ger> /.: "Maqetta: Open Source HTML5 Editor From IBM" (http://rly.cc/7MXVe) [06:15:00.0000] <dhx1> Ms2ger: native support right? [06:17:00.0000] <asmodai> eh, 6.0 FF nightlies. 5 is being skipped? :P [06:17:01.0000] <hsivonen> asmodai: 5 is in the Aurora channel [06:18:00.0000] <hsivonen> asmodai: the 5 train has left central already [06:18:01.0000] <hsivonen> Ms2ger: I wonder if that tool has any connection to Rich S's <canvas> accessibility concerns [06:19:00.0000] <asmodai> wait, wait, aurora channel? :| [06:19:01.0000] <asmodai> /me looks around [06:19:02.0000] <hsivonen> asmodai: http://blog.mozilla.com/blog/2011/04/13/new-channels-for-firefox-rapid-releases/ [06:20:00.0000] <asmodai> yeah, was looking at the channel page at the moment [06:25:00.0000] <erlehmann> they just want to blow up version numbers [06:26:00.0000] <asmodai> mmm [06:26:01.0000] <erlehmann> on slashdot, in the IE10 thread, one message stuck me as particularly insightful: “ten? my browser version goes up to eleven!” [06:26:02.0000] <asmodai> aurora doesn't seem to jive with -no-remote anymore :S [06:26:03.0000] <Ms2ger> More like, nobody cares about version numbers, so we just picked the easiest one [06:26:04.0000] <asmodai> Mmm, but most likely I'm doing it wrong again *tries again* [06:27:00.0000] <asmodai> ah there we go [06:31:00.0000] <GlitchMr> erlehmann: I think it's Google Chrome [06:31:01.0000] <asmodai> Mmm, but can't run aurora and nightly together though. [06:31:02.0000] <asmodai> Despite different installation locations and different profiles. [06:32:00.0000] <wilhelm> 5 is being skipped again? :P [06:32:01.0000] <erlehmann> GlitchMr, :> [06:32:02.0000] <hsivonen> erlehmann: Opera had better stop tweaking minor version to stay ahead of Chrome [06:32:03.0000] <hdhoang> the new fx codename scheme is neat [06:33:00.0000] <hsivonen> GlitchMr: Opera is the one that goes to 11. Chrome's stable release is still at 10. [06:33:01.0000] <asmodai> wilhelm: aurora is 5 [06:33:02.0000] <GlitchMr> Oh, right [06:33:03.0000] <GlitchMr> lol [06:33:04.0000] <GlitchMr> For me it's just 9.80 [06:33:05.0000] <hdhoang> WebKit over five hundred [06:34:00.0000] <hsivonen> hdhoang: yet, Apple ships Safari as 5. They are missing a hundredfold win here. [06:34:01.0000] <GlitchMr> If user agent says me it's Opera/9.80, it must be it... (I'm kinda confused on browsers user agents) [06:34:02.0000] <wilhelm> GlitchMr: Yes, thanks to broken browser sniffing scripts, 10 < 9. [06:35:00.0000] <gsnedders> hsivonen: So there's now moz-central, aurora, beta, and final? [06:35:01.0000] <GlitchMr> I don't use those [06:35:02.0000] <hsivonen> gsnedders: yes [06:35:03.0000] <erlehmann> Opera 9.80 is the eternal version. [06:35:04.0000] <hsivonen> gsnedders: except the beta channel will take 6 weeks to appear [06:36:00.0000] <asmodai> I wonder what aurora and nightly are sharing together now that you cannot run them at the same time. [06:36:01.0000] <gsnedders> So what's the flow from moz-central to Aurora? [06:36:02.0000] <GlitchMr> All I do is checking by proper header if browser accepts xhtml+xml header and send it if it supports. [06:36:03.0000] <hsivonen> gsnedders: every 6 weeks [06:37:00.0000] <hsivonen> gsnedders: the first ever move from central to aurora happened on Tuesday this week [06:37:01.0000] <gsnedders> hsivonen: So for something to ship you have possibly just under six weeks m-c to Aurora, six weeks to Beta, then six weeks to Final? So everything has a 12–18 week lead time? [06:37:02.0000] <gsnedders> Compared with Chrome's 6–12 week lead time? [06:37:03.0000] <hsivonen> gsnedders: in six weeks, current aurora becomes beta and a new aurora begins with what's in central [06:38:00.0000] <gsnedders> hsivonen: Right, yeah. But to get from central to final takes 12–18 weeks, if I understand correctly? [06:38:01.0000] <hsivonen> gsnedders: yeah [06:39:00.0000] <GlitchMr> If my document validates to XHTML5, it's probably good :P [06:39:01.0000] <gsnedders> /me finds the difference (by having another stage) between Fx and Ch interesting [06:40:00.0000] <GlitchMr> It's not like HTML5 is cure for all problems. I just use it for semantic elements and placeholder="". [06:40:01.0000] <jgraham> /me wonders if anyone has got mozilla-trunk from the ubuntu ppa [06:40:02.0000] <hsivonen> gsnedders: does Chrome actually land new features on dev? I thought dev and aurora were analogous. [06:40:03.0000] <gsnedders> hsivonen: I thought they did [06:41:00.0000] <jgraham> I see the package listed as providing firefox-6 on the webpage [06:41:01.0000] <jgraham> But it isn't there in synaptic after I reload [06:44:00.0000] <jgraham> Oooh it works today [06:44:01.0000] <gsnedders> hsivonen: Oh, they do have a channel above dev, my bad [06:44:02.0000] <GlitchMr> All those <canvas>es are abstract for me. It might look cool in all those JS demos, but I don't have reason to use it for serious page. [06:45:00.0000] <erlehmann> serious <canvas> is serious element [06:46:00.0000] <gsnedders> jgraham: It doesn't allow you to have central and fx4 installed at once though [06:46:01.0000] <jgraham> gsnedders: Firefox 4 is so old hat [06:50:00.0000] <jgraham> /me now has verion 6.0~a1~hg{stuff} of the Firefox-4.0 package installed [06:52:00.0000] <jgraham> (which makes loads of sense. obviously.) [06:59:00.0000] <zcorpan> erlehmann: This is the Internet. And it is serious business. [07:01:00.0000] <erlehmann> zcorpan, it is. i'm in my bet, chatting on IRC instead of going to the internet conference half an hour away. [07:01:01.0000] <erlehmann> bed [07:02:00.0000] <erlehmann> such is life in the internets :> [07:03:00.0000] <aho> i use canvas for games [07:03:01.0000] <aho> wasting time is serious business (on the internet) :> [07:37:00.0000] <zcorpan> are we publishing LC on april 22? or may 22? [07:45:00.0000] <jgraham> zcorpan: othermaciej said about a month so I guess May 22nd [08:08:00.0000] <zcorpan> so what is the april 22 date? [08:08:01.0000] <jgraham> Which April 22nd date? [08:09:00.0000] <jcranmer> the April 22 date is the day that April 22 falls on [08:09:01.0000] <jcranmer> usually [08:11:00.0000] <zcorpan> <http://www.w3.org/mid/E3EACD022300B94D88613639CF4E25F81A1E7330⊙Trcmc> [08:11:01.0000] <zcorpan> so we're aming for last call on may 24 [08:13:00.0000] <zcorpan> april 22 is when all decisions need to be implemented [08:35:00.0000] <jgraham> lol at bug 12500 [08:36:00.0000] <zcorpan> url? [08:37:00.0000] <zcorpan> <http://www.w3.org/mid/bug-12500-2486⊙hwwo/Bugs/Public/> [08:37:01.0000] <zcorpan> heh [08:39:00.0000] <zcorpan> annevk: you're not supposed to be reading specs while on vacation. you're not supposed to be reading this, either. [09:04:00.0000] <jwalden> /me is curious about that Peruvian beer [09:04:01.0000] <jwalden> probably no Guinness, tho [09:58:00.0000] <AryehGregor> gsnedders, too bad, you were the only CSSWG member from Opera that I know. [09:58:01.0000] <TabAtkins> Hot damn, this is a beautiful abuse of gradients: http://leaverou.me/css3patterns/ [10:03:00.0000] <AryehGregor> TabAtkins, that's a pretty cool hack. [10:08:00.0000] <wilhelm> Oh, fun. registerProtocolHandler("mail.google.com", "http://evilsite.com/%s", "Friendly Innocent Site") seems to be valid. [10:09:00.0000] <AryehGregor> For when the user types "mail.google.com" without the "http(s)://" prefix, you mean? [10:09:01.0000] <AryehGregor> That's a nasty attack. [10:09:02.0000] <wilhelm> Yes, or follows a link. [10:10:00.0000] <TabAtkins> They still need to also put a colon in, right? Like "mail.google.com:page"? [10:10:01.0000] <AryehGregor> Easy fix: don't allow registerProtocolHandler() to register a name with a dot, and only let it handle things if the user types a colon after the protocol. [10:10:02.0000] <TabAtkins> Still definitely non-obvious, of course. [10:10:03.0000] <AryehGregor> (the latter to prevent issues with users just typing a one-word search term) [10:11:00.0000] <wilhelm> TabAtkins: Yes. But a link saying mail.google.com:/mail looks completely innocent. [10:11:01.0000] <AryehGregor> Oh, well, that's not much of an attack. [10:11:02.0000] <AryehGregor> I thought you were saying it would work if the user just typed "mail.google.com". [10:11:03.0000] <AryehGregor> Into the URL bar. [10:12:00.0000] <AryehGregor> If you have to get them to allow the site to register a protocol handler, *and* then to follow links that may or may not look legitimate to them, that's really not much of an attack surface. [10:12:01.0000] <AryehGregor> If you can register the protocol handler to start with, they're already viewing your malicious site, so enabling phishing isn't a huge issue here. [10:13:00.0000] <TabAtkins> I'd think that the link wilhelm provides looks pretty legit to basically everyone. [10:13:01.0000] <TabAtkins> AryehGregor: Not necessarily true. <iframe> hack in an ad-based attack, maybe? [10:13:02.0000] <wilhelm> It's a quite complicated attack vector, yes. [10:13:03.0000] <AryehGregor> I think that basically everyone doesn't look at URLs, and that the ones that do wouldn't be any more confused by "mail.google.com:/mail" than "http://mail.google.foo.com". [10:14:00.0000] <AryehGregor> TabAtkins, they're still viewing your malicious site. If the <iframe> isn't sandboxed, they can navigate the parent frame, no? [10:14:01.0000] <wilhelm> “mail.google.com:” seems to be enough. [10:14:02.0000] <AryehGregor> With the colon. So not a big deal at all. [10:15:00.0000] <Philip`> "mail.google.com:80" ? [10:15:01.0000] <AryehGregor> Schemes are apparently allowed to contain dots. [10:15:02.0000] <wilhelm> Philip`: Oh, that's ugly. That would trick me. [10:15:03.0000] <AryehGregor> But I don't think it would be a big deal if we banned dots from schemes for registerProtocolHandler(), unless people actually use them. [10:15:04.0000] <Philip`> "localhost:80" [10:16:00.0000] <AryehGregor> Philip`, I thought of that. In current Chrome, that wouldn't even display differently from http://mail.google.com:80/, right? [10:16:01.0000] <AryehGregor> Either in the URL bar or in the hover-over. [10:16:02.0000] <AryehGregor> Philip`, ouch. [10:16:03.0000] <wilhelm> http://tools.ietf.org/html/rfc3986#section-3.1 says dots are allowed. I'm not sure that's a great idea. [10:16:04.0000] <Philip`> People seem to put a lot of effort into avoiding IDNs that look a lot like ASCII domain names to avoid phishing, so it seems bad if you can put domain names anywhere else in the URL [10:16:05.0000] <Philip`> rather than saying it's "not much of an attack" [10:16:06.0000] <AryehGregor> There are some TLDs that resolve to websites too, like "to". [10:16:07.0000] <wilhelm> Disallowing dots won't help localhost:80. Hrm. [10:17:00.0000] <AryehGregor> Although Chrome seems to refuse to connect to "http://to/", it wants "http://to./". [10:17:01.0000] <AryehGregor> Disallow dots and special-case localhost. [10:17:02.0000] <AryehGregor> Philip`, I'm not saying that we shouldn't do something about it, but it's not a very severe attack. [10:17:03.0000] <AryehGregor> Initially I thought it was extremely bad. [10:17:04.0000] <AryehGregor> But it seems not. [10:18:00.0000] <Philip`> "anyserveronlocalnetwork:80" [10:18:01.0000] <AryehGregor> Okay, but that's already a very specialized attack right there. [10:18:02.0000] <AryehGregor> And I don't see what to do about it. [10:18:03.0000] <wilhelm> “192.168.1.1:80” [10:20:00.0000] <AryehGregor> wilhelm, dots. [10:20:01.0000] <AryehGregor> Don't allow dots. [10:20:02.0000] <Philip`> "[::1]:80" [10:20:03.0000] <AryehGregor> Brackets and colons aren't even allowed in schems. [10:20:04.0000] <AryehGregor> schemes. [10:20:05.0000] <Philip`> Alas [10:20:06.0000] <AryehGregor> It has to be [a-z][a-z+\-.]*. [10:21:00.0000] <Philip`> (That scheme doesn't have a colon, actually) [10:21:01.0000] <AryehGregor> Oh, it's just "[". [10:21:02.0000] <AryehGregor> I'm pretty sure that's not a valid URL regardless. [10:21:03.0000] <wilhelm> AryehGregor: That's what I was thinking too. [10:21:04.0000] <AryehGregor> Don't allow dots or "localhost", and don't allow invalid schemes per the RFC, and you should be fine. [10:21:05.0000] <AryehGregor> Does anyone use schemes with dots or minus signs? I've seen "svn+ssh". [10:22:00.0000] <AryehGregor> (for plus signs) [10:22:01.0000] <wilhelm> xmlrpc.beep, soap.beep, iris.beep are IANA-registered schemes using the dot. But I suppose that's not particularly useful for web browsers. [10:22:02.0000] <AryehGregor> "z39.50r" [10:22:03.0000] <AryehGregor> http://ftp.ics.uci.edu/pub/ietf/uri/rfc2056.txt [10:22:04.0000] <wilhelm> Oh, that one too. [10:22:05.0000] <Philip`> Hmm, digits aren't allowed? [10:23:00.0000] <AryehGregor> Oh, they are. [10:23:01.0000] <AryehGregor> I misremembered. [10:23:02.0000] <AryehGregor> Although not as the first character. [10:23:03.0000] <AryehGregor> http://labs.apache.org/webarch/uri/rfc/rfc3986.html#scheme [10:23:04.0000] <wilhelm> Yes, they are. [10:23:05.0000] <AryehGregor> [a-z][a-z0-9+\-.]* [10:23:06.0000] <Philip`> /me had just got to "ut2004" in the list [10:23:07.0000] <Philip`> "view-source:" [10:28:00.0000] <frrrances> quit [10:28:01.0000] <AryehGregor> gsnedders, so did you forward it to someone who can give an answer or what? [10:29:00.0000] <AryehGregor> Since I have WebKit on my side, I'm pretty sure that agreement by either Microsoft or Mozilla would be enough, but agreement by Opera couldn't hurt. [10:29:01.0000] <AryehGregor> (I'm pretty sure everyone will agree with me, but if not, then I'd be interested to hear what they have to say) [10:30:00.0000] <TabAtkins> I assume I'm off the hook, since Niwa and Hyatt already said no? [10:30:01.0000] <AryehGregor> TabAtkins, yes, I'm fine on WebKit. [10:31:00.0000] <AryehGregor> smaug____, since you asked before, I specced insertNode() yesterday: <http://html5.org/specs/dom-range.html#dom-range-insertnode> I have to review the test results a little more before I'll call the spec final, but I'm pretty sure it won't need substantial revision. [10:32:00.0000] <AryehGregor> smaug____, also, since you're here, would you happen to have any feedback on this? I don't know if you're the right person to ask, but figure I might as well. http://lists.w3.org/Archives/Public/www-style/2011Apr/0484.html [10:33:00.0000] <smaug____> AryehGregor: actually I'm trying to not be here today. I should recover from jetlag [10:33:01.0000] <AryehGregor> smaug____, ah, okay. Good luck at that. :) [10:34:00.0000] <AryehGregor> It's not urgent at all, I'm just being impatient. :) [10:41:00.0000] <smaug____> AryehGregor: so is it specified somewhere else in your spec what happens to the end offset [10:41:01.0000] <AryehGregor> smaug____, it just follows the regular range mutation rules. [10:41:02.0000] <smaug____> AryehGregor: especially when start and end offset are the smae [10:41:03.0000] <smaug____> er, same [10:41:04.0000] <smaug____> I mean, if the range is collapsed and you do insertNode [10:41:05.0000] <AryehGregor> /me looks [10:42:00.0000] <smaug____> AryehGregor: ok, I assume the mutation rules handle that correctly that neither of the offsets change [10:42:01.0000] <AryehGregor> smaug____, from the rules at <http://html5.org/specs/dom-range.html#range-behavior-under-document-mutation>: if the range is collapsed in an Element/Document/DocumentFragment, then the offset of the range doesn't change, so the node winds up outside the selection. [10:42:02.0000] <smaug____> ok [10:42:03.0000] <AryehGregor> If it's in a comment node, it will stay in the comment node, which will wind up after the node. [10:42:04.0000] <smaug____> that is compatible with DOM 2 Range [10:43:00.0000] <AryehGregor> If it's a text node, it will be split and wind up at the end of the first node, so before the new node. [10:43:01.0000] <AryehGregor> In no case will it contain the new node. [10:43:02.0000] <AryehGregor> However, this is one of the things that I was planning on looking at more closely today. [10:43:03.0000] <AryehGregor> I might decide to change that part, depending on my analysis of how current browsers behave and what makes sense. [10:43:04.0000] <AryehGregor> Since if the range isn't collapsed, then in most cases it will wind up containing the new node. [10:43:05.0000] <smaug____> AryehGregor: webkit does against DOM 2 Range [10:44:00.0000] <smaug____> Gecko does what DOM 2 Range says [10:44:01.0000] <AryehGregor> Well, new specs are allowed to contradict older ones, right? Especially if we don't have interop on the original spec. [10:44:02.0000] <smaug____> acid3 allows both behaviors [10:44:03.0000] <AryehGregor> Anyway, I'll let you know what I decide. Of course, it's subject to people actually being willing to implement it. [10:44:04.0000] <smaug____> I wouldn't want to special case mutation handling for one case [10:45:00.0000] <smaug____> consistency is a good thing [10:45:01.0000] <AryehGregor> We already have special cases for deleteContents() and extractContents(). [10:45:02.0000] <AryehGregor> And whoa, my tests became insanely faster when I passed info to iframes by setting a variable on the iframe's window instead of passing info in the hash. [10:46:00.0000] <AryehGregor> No navigation required. Now it's like 13 seconds in Chrome instead of a minute. [10:46:01.0000] <AryehGregor> Also, we have a special case for splitText(). [10:46:02.0000] <AryehGregor> I'd say that it makes the author-visible behavior sensible if we can allow an invariant like "after insertNode(), the new node will always be contained in the range". [10:46:03.0000] <AryehGregor> But we can't actually do that unless we split comments, which seems unreasonable. [10:47:00.0000] <AryehGregor> (and no browser does it) [10:47:01.0000] <AryehGregor> s/sensible/simpler/ [10:47:02.0000] <AryehGregor> So I'm inclined to say no special case right now, since we can't make really useful guarantees anyway. [10:47:03.0000] <AryehGregor> The start of the range will always have to fall before the new node in some cases and after in others, and so will the end. [10:48:00.0000] <AryehGregor> Because of comments. [10:48:01.0000] <smaug____> I need to look at what special cases you mean with delete/extractContents and splitText [10:48:02.0000] <smaug____> I'll [10:48:03.0000] <AryehGregor> delete/extractContents() guarantee that the range will be collapsed afterwards. [10:49:00.0000] <AryehGregor> That's only possible by special-casing, because you might have something like <b>foo[</b>]bar where nothing is actually deleted but the selection isn't collapsed, for instance. [10:50:00.0000] <AryehGregor> Gecko currently implements no special case for splitText(), but WebKit does, and I've specced it because it makes a lot of sense. In particular, I'd need to add at least one extra special case to execCommand() if splitText() didn't have the special case, so I figured it made the most sense to make the special case more generally applicable. [10:50:01.0000] <smaug____> what is the special case for splitText ? [10:51:00.0000] <AryehGregor> smaug____, if you have something like foo[bar]baz as one text node, and you called splitText(4), then without special cases it would become foo[b] arbaz (space denoting text node break). [10:52:00.0000] <AryehGregor> The special case is it becomes foo[b ar]baz instead, i.e., the endpoint gets moved to the new node if appropriate instead of being clamped. [10:52:01.0000] <AryehGregor> It's the first item here: <http://html5.org/specs/dom-range.html#range-behavior-under-document-mutation> [10:53:00.0000] <AryehGregor> There's one other special case I'm contemplating but haven't yet specced: if you have {foo} (range endpoints lying in the parent element, not in the text node) and split the node, you current get {fo } o, but {fo o} would make more sense. Not sure if it merits a special case, though, so I won't spec it unless I can come up with a solid justification for it. [10:54:00.0000] <AryehGregor> E.g., cases where execCommand() would have to special-case if I didn't special-case in splitText(). [10:54:01.0000] <AryehGregor> (roc agreed with the current spec's special case for splitText(), BTW) [10:55:00.0000] <AryehGregor> Oh, right. There are also different special cases for splitText() when the text node has a null parent. I could probably get rid of those, since that case is somewhat pathological anyway. [10:55:01.0000] <smaug____> hmm, need to test how that splittext special case works with mutation events [10:56:00.0000] <AryehGregor> Yeah, I'm totally ignoring mutation events right now. [10:56:01.0000] <AryehGregor> I'm hoping they'll go away, but even if they don't, we don't have a spec for them, so it's hard for me to spec anything about them. [10:56:02.0000] <smaug____> basically, at which point is the special case handled [10:56:03.0000] <AryehGregor> Since you can have mutation events firing in the middle of splitText() execution, right? [10:56:04.0000] <AryehGregor> That'll mess things up, yeah. [10:56:05.0000] <smaug____> right [10:57:00.0000] <AryehGregor> So I really need to write what to do right after the new node is inserted, and what to do right after the old node's data is truncated. [10:57:01.0000] <AryehGregor> Separately. [10:57:02.0000] <AryehGregor> As I said, I'll ignore it for now, but let me update the spec with an XXX to make it clearer. [10:57:03.0000] <smaug____> ok [10:58:00.0000] <AryehGregor> Thanks for the feedback. [10:58:01.0000] <smaug____> atm gecko range implementation doesn't have, IIRC, any dom mutation related special cases [10:58:02.0000] <smaug____> since it just uses internal mutation observer API [10:59:00.0000] <AryehGregor> Right, so I've been told. [10:59:01.0000] <smaug____> so when dom is mutated, range doesn't know what actually changed the dom [10:59:02.0000] <AryehGregor> Do mutation events fire on data changes, or do you use some other technique for that? [10:59:03.0000] <smaug____> mutation events happen after mutation observer API methods are called [10:59:04.0000] <smaug____> in general [11:00:00.0000] <smaug____> though things like splitTExt causes several dom mutations [11:00:01.0000] <smaug____> removing text data, and creating a new node with same data as what was removed... [11:00:02.0000] <AryehGregor> Ah, there's a DOMCharacterDataModified event. [11:01:00.0000] <AryehGregor> It's the insert that triggers the event, not the create, right? You can't detect the actual create? [11:01:01.0000] <AryehGregor> Or the change of the data on the newly-created node. [11:01:02.0000] <AryehGregor> Since it's not in a tree that you can have attached event handlers to. [11:01:03.0000] <smaug____> mutation events and range are still pretty bad combination, I admit. it is easy to crash webkit and there is at least a case when gecko goes to endless loop [11:02:00.0000] <smaug____> AryehGregor: right, insert triggers an event [11:08:00.0000] <wilhelm> Good. The mail.google.com:80 trick doesn't work in either Firefox or my internal Opera build. That's treated as hostname:port. (mail.google.com:/ isn't, though.) [11:12:00.0000] <AryehGregor> Would be good to spec that. [11:16:00.0000] <funkie> fml i suck [11:16:01.0000] <funkie> at html logic [11:16:02.0000] <funkie> so i have this website [11:16:03.0000] <funkie> its all done mostly [11:17:00.0000] <funkie> and I want to add a bade [11:17:01.0000] <funkie> badge that stays on the bottom left of the screen [11:17:02.0000] <funkie> and when hovered shows something [11:17:03.0000] <funkie> a tooltiop [11:17:04.0000] <funkie> the tooltip is done [11:17:05.0000] <funkie> but I can't get the image to go there :( [11:17:06.0000] <funkie> halp [11:17:07.0000] <aho> try #css or something [11:17:08.0000] <AryehGregor> Try #css. [11:17:09.0000] <aho> heh [11:17:10.0000] <bfrohs> funkie: position:fixed;bottom:0;left:0; [11:17:11.0000] <AryehGregor> You most likely want position: fixed. [11:18:00.0000] <AryehGregor> Works in all recent browsers, but I don't know about IE6. [11:19:00.0000] <AryehGregor> Man, browsers' misimplementation of DOMExceptions really creates loads of distracting failures. [11:20:00.0000] <funkie> doesn't work [11:20:01.0000] <funkie> :( [11:20:02.0000] <AryehGregor> funkie, post a link to the page so people can debug it, if possible. [11:21:00.0000] <AryehGregor> Actually, I have a CSS question. What's some CSS to make a table fixed-layout, so it doesn't take forever to render if it's huge? That will actually work in all the most recent browsers, obviously I mean. [11:21:01.0000] <funkie> okok [11:21:02.0000] <TabAtkins> table-layout:fixed [11:21:03.0000] <TabAtkins> Bases the rendering on only the first row, iirc. [11:22:00.0000] <AryehGregor> Is that actually supported in all browsers? [11:22:01.0000] <TabAtkins> Yes. [11:22:02.0000] <AryehGregor> I thought no one supported it in practice. [11:22:03.0000] <AryehGregor> Hmm. [11:22:04.0000] <AryehGregor> /me tests [11:22:05.0000] <TabAtkins> I've used it for years. [11:22:06.0000] <AryehGregor> If I specify percentage widths or such with that, will they actually be interpreted strictly instead of as guidelines? [11:23:00.0000] <TabAtkins> Dunno about that. Table layout is voodoo at the best of times. [11:23:01.0000] <bfrohs> AryehGregor: I believe so, yes [11:23:02.0000] <funkie> ok [11:23:03.0000] <funkie> nerd-migs [11:23:04.0000] <funkie> migos [11:25:00.0000] <AryehGregor> TabAtkins, I'm noticing no difference between the two tables here: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/930 [11:26:00.0000] <funkie> www.pezbanana.com/aquarella/ [11:30:00.0000] <TabAtkins> AryehGregor: Hrm. [11:32:00.0000] <bfrohs> AryehGregor: Add width:500px; to each table [11:32:01.0000] <bfrohs> You'll notice the difference then [11:33:00.0000] <AryehGregor> I'm mainly aiming to speed up table layout here. [11:33:01.0000] <AryehGregor> Because a lot of the time it takes my huge tests to run in jgraham's framework is just table layout time. [11:33:02.0000] <AryehGregor> As far as I can observe -- it displays the results, but then keeps using 100% CPU for a number of seconds, then reflows the whole thing. [11:34:00.0000] <AryehGregor> Maybe I should use a different display value? [11:34:01.0000] <Philip`> Can you just split the table after every ~100 rows (and add a new row of headings)? [11:34:02.0000] <bfrohs> AryehGregor: If you set a width on the table, the layout time is greatly reduced by using fixed table layout [11:34:03.0000] <TabAtkins> Oh yeah! 'auto' width tables automatically use the 'auto' layout algorithm, regardless fo what you specify. [11:34:04.0000] <AryehGregor> Philip`, that would only help if the table layout algorithm is worse than linear, which I'm not sure it is (is it?). [11:34:05.0000] <AryehGregor> Oh. [11:34:06.0000] <TabAtkins> AryehGregor: Yes, it is. [11:34:07.0000] <AryehGregor> So width: 100% will work? [11:34:08.0000] <TabAtkins> (worse than linear, that is) [11:34:09.0000] <bfrohs> AryehGregor: Yup [11:34:10.0000] <TabAtkins> Possibly? [11:35:00.0000] <AryehGregor> /me will try that in a second [11:35:01.0000] <TabAtkins> Answer: yes. [11:35:02.0000] <funkie> ok, here's the web in case you guys wanna check it out [11:36:00.0000] <funkie> www.pezbanana.com/aquarella [11:36:01.0000] <funkie> que ribbon doesn't show at all when set to position: fixed; [11:36:02.0000] <funkie> :/ [11:36:03.0000] <bfrohs> funkie: You have width and height set to 0 [11:37:00.0000] <bfrohs> funkie: Well, that's what it's computing to [11:37:01.0000] <AryehGregor> Why doesn't someone specify what exceptions are actually supposed to look like? Ugh. [11:37:02.0000] <AryehGregor> Like WebKit adds a "stack" string member, Gecko adds "lineNumber" and "fileName" . . . [11:38:00.0000] <AryehGregor> At least for some exceptions. [11:40:00.0000] <AryehGregor> Oh, Gecko does stack too. [11:40:01.0000] <funkie> oh [11:40:02.0000] <funkie> awesome, thanks a shitton [11:40:03.0000] <funkie> bfrohs [11:40:04.0000] <funkie> :D [11:41:00.0000] <AryehGregor> Formatted differently from WebKit, naturally. [11:41:01.0000] <bfrohs> funkie: np. Consider using Chrome or installing Firebug for Firefox--will allow you to right-click > inspect elements to find detailed information :) [11:41:02.0000] <funkie> thx [11:41:03.0000] <funkie> using coda to hand code stuff [11:41:04.0000] <funkie> my code is a mess [11:41:05.0000] <funkie> but I'm still learning T_T [11:48:00.0000] <AryehGregor> vim users: does anyone know how to tell vim to automatically adopt the tab convention of the file you're editing? [11:48:01.0000] <AryehGregor> E.g., look at the first X lines and try to figure out if it's tabs or spaces, and if spaces how many? [11:48:02.0000] <AryehGregor> Because I wind up leaving tabs littered in space-indented files if I'm not careful, and it's annoying. [11:52:00.0000] <TabAtkins> Hixie: You said that most tables that specify @border in the wild use border=0? [11:54:00.0000] <AryehGregor> TabAtkins, looks like table-layout: fixed plus width: 100% works for Chrome and IE9, but not Opera or Firefox. [11:54:01.0000] <AryehGregor> Oh well, it's an improvement. [11:55:00.0000] <bfrohs> AryehGregor: Using 3.6? Because it works in 4.0 for me. [11:55:01.0000] <bfrohs> (in firefox) [11:55:02.0000] <AryehGregor> bfrohs, using 4.0. [11:55:03.0000] <bfrohs> OS? [11:55:04.0000] <AryehGregor> Okay, let me try a simpler test case. [11:55:05.0000] <AryehGregor> Ubuntu, but I really doubt OS matters here. [11:55:06.0000] <bfrohs> Same here, so very weird [11:55:07.0000] <TabAtkins> Works for me in FF 3.6 on Linux. [11:56:00.0000] <Philip`> TabAtkins: I see border=0 about 10x as often as border=1 [11:56:01.0000] <Philip`> TabAtkins: and that 10x more than border=2 [11:56:02.0000] <AryehGregor> Hmm. [11:56:03.0000] <TabAtkins> Cool, thanks Philip`. [11:57:00.0000] <bfrohs> AryehGregor: Wait, are you saying table-layout:fixed; doesn't affect the final layout? Or that it doesn't solve the layout time? [11:57:01.0000] <TabAtkins> AryehGregor: I'm just taking your livedomviewer and adding a "<style>table { width:100%; }</style>" to it. I get a clear behavior difference. [11:57:02.0000] <AryehGregor> The behavior is different, but doesn't seem to be what I want unless I give explicit cell widths. [11:57:03.0000] <AryehGregor> As I'm reading the spec, any available horizontal space should be divided up equally among columns whose first cell has width: auto. [11:58:00.0000] <Philip`> TabAtkins: http://philip.html5.org/data/table-border-pages.txt [11:58:01.0000] <AryehGregor> But width: auto on any of the first row's cells seems to still make the column widths depend on cell contents after the first row. [11:58:02.0000] <TabAtkins> The spec algo is a fiction. [11:58:03.0000] <AryehGregor> One sec. [11:58:04.0000] <TabAtkins> Just set % widths on the cells. [11:59:00.0000] <jamesr> TabAtkins: what's supposed to happen if you have <div style="display:none"><iframe src"..."></iframe></div> ? [11:59:01.0000] <TabAtkins> jamesr: In terms of loading behavior for the iframe? [11:59:02.0000] <jamesr> in terms of layout inside the iframe [11:59:03.0000] <TabAtkins> Oh, the iframe is display:none, so it doesn't lay out. [12:00:00.0000] <TabAtkins> It should be like setting "window { display:none; }", if that was actually a thing you could do. [12:00:01.0000] <jamesr> so every computed layout size is 0 inside of it? ok [12:00:02.0000] <TabAtkins> Well, that's undefined. But 0 is a good answer. [12:00:03.0000] <jamesr> ok [12:01:00.0000] <jamesr> guess we gotta figure out how to do that now that we load the iframe [12:01:01.0000] <jamesr> pretend it's display:none on the inside without actually returning 'none' for getters to style.display [12:02:00.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/931 [12:02:01.0000] <AryehGregor> It looks like it's enough to specify explicit widths on all but one cell. [12:02:02.0000] <AryehGregor> The last will then be flexible. [12:03:00.0000] <AryehGregor> Ugh, my real-world case is still broken in Firefox 4.0. [12:03:01.0000] <AryehGregor> /me investigates [12:04:00.0000] <AryehGregor> Oh, maybe it's just not picking up the updated CSS file for some reason . . . ? [12:04:01.0000] <AryehGregor> Yeah, weird . . . [12:04:02.0000] <AryehGregor> Now it works. [12:05:00.0000] <AryehGregor> Dunno why it didn't fetch the file properly before. [12:05:01.0000] <AryehGregor> It did when I ran in Firebug. [12:05:02.0000] <AryehGregor> Ack, now it broke again?! [12:05:03.0000] <AryehGregor> No, not anymore. [12:05:04.0000] <AryehGregor> Okay, Firefox is still slow, but at least Chrome seems faster. [12:06:00.0000] <TabAtkins> Philip`: I just... I just don't understand what kind of confusion would cause someone to write border="width=95%". [12:07:00.0000] <mpilgrim> that's quite stunning [12:07:01.0000] <Philip`> They probably write something more like <table border= width=95%> [12:08:00.0000] <Philip`> which used to have some border value that got deleted [12:08:01.0000] <TabAtkins> Ah, that would make sense. [12:08:02.0000] <AryehGregor> That parses the same as border="width=95%"? I'd have thought it would be border="" width=95% or something. [12:08:03.0000] <AryehGregor> (Welcome to text/html, I guess.) [12:08:04.0000] <mpilgrim> tables would be cooler if you could use unicode characters to draw the border you want, inside the border attribute [12:09:00.0000] <TabAtkins> ASCII is sufficient for all layout purposes. [12:09:01.0000] <mpilgrim> works for the IETF [12:10:00.0000] <Philip`> AryehGregor: Whitespace is optional around the = [12:10:01.0000] <AryehGregor> Fascinating. [12:10:02.0000] <TabAtkins> I... didn't know that. [12:11:00.0000] <TabAtkins> So <table border =^^=> parses as <table border="^^=">? [12:11:01.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#unquoted [12:11:02.0000] <Philip`> "The attribute name, followed by zero or more space characters, followed by a single U+003D EQUALS SIGN character, followed by zero or more space characters, followed by the attribute value" [12:12:00.0000] <TabAtkins> Hm, I'd have to actually go look at the parsing algo to tell how my example is parsed, since it contains an =. [12:12:01.0000] <Philip`> It's what you said [12:12:02.0000] <bfrohs> "attribute value ... must not contain ... equals sign" [12:12:03.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#attribute-value-(unquoted)-state [12:12:04.0000] <TabAtkins> Oh, the "no = in the attr value" is just an author conformance? [12:13:00.0000] <Philip`> Only whitespace and '>' break out of it [12:13:01.0000] <Philip`> (and EOF) [12:13:02.0000] <TabAtkins> Ah, yup. [12:13:03.0000] <Philip`> Yeah, that whole section is just author conformance [12:13:04.0000] <mpilgrim> pfft, authors [12:14:00.0000] <AryehGregor> What's the easiest way to add a new style rule to the document? Just appending a style element, or is there some nicer way to do it via CSSOM? [12:14:01.0000] <Philip`> If authors want to write <table border =^^=>, who are we to deny them? [12:14:02.0000] <Ms2ger> AryehGregor, "nicer way to do it via CSSOM"? [12:14:03.0000] <Ms2ger> AryehGregor, you must be new here [12:14:04.0000] <AryehGregor> Heh. [12:15:00.0000] <Philip`> document.body.innerHTML += '<style>...</style>'; [12:15:01.0000] <Ms2ger> innerHTML += is evil [12:16:00.0000] <Philip`> /me shrugs [12:16:01.0000] <Philip`> HTML is evil [12:16:02.0000] <aho> well, it's the slowest thing you can possibly do [12:16:03.0000] <TabAtkins> Just make an HTMLStyleElement or whatever, set textContent, and append it. [12:16:04.0000] <Ms2ger> No, HTML is ugly, there's a subtle difference [12:18:00.0000] <Philip`> Emperor Palpatine was evil, and he was ugly [12:18:01.0000] <Philip`> There's not really any difference [12:18:02.0000] <AryehGregor> Philip`, innerHTML += will do fun things like reset the state of all the <video>s on the page, won't it? [12:18:03.0000] <Philip`> AryehGregor: Sure [12:19:00.0000] <Ms2ger> /.: Rivals Mock Microsoft's 'Native HTML5' Claims (http://rly.cc/E8bj) [12:19:01.0000] <Ms2ger> Oh no! [12:20:00.0000] <Philip`> (That link doesn't work) [12:20:01.0000] <mpilgrim> TabAtkins: this may be relevant to your interests http://www.mozdev.org/pipermail/greasemonkey/2005-July/003696.html [12:20:02.0000] <Ms2ger> http://rly.cc/E8bjy [12:20:03.0000] <mpilgrim> and ensuing discussion [12:21:00.0000] <mpilgrim> these days you should probably use document.head, if it exists [12:22:00.0000] <mpilgrim> it's a surprisingly tricky question [12:22:01.0000] <TabAtkins> AryehGregor: And kill event handlers, etc. You're throwing away and reparsing the entire page. [12:23:00.0000] <mpilgrim> holy shit, slashdot still exists! [12:23:01.0000] <Ms2ger> mpilgrim, no kidding! [12:23:02.0000] <AryehGregor> Ugh, I just want to not use table layout here. [12:24:00.0000] <mpilgrim> i always assume things stop existing once i stop looking at them [12:24:01.0000] <mpilgrim> like the HTML working group [12:24:02.0000] <mpilgrim> and we see how well that worked out [12:25:00.0000] <AryehGregor> mpilgrim, are you surprised whenever you figure out the sun rose in the morning? [12:25:01.0000] <mpilgrim> presentational attributes, shelley doing the whatwg weekly, cats living with dogs [12:25:02.0000] <mpilgrim> AryehGregor: i try not to go outside, it ruins my complexion [12:26:00.0000] <AryehGregor> The yellow face, it burns us? [12:27:00.0000] <mpilgrim> wow, i can not think of two people who deserve each other more than Dean Hachamovitch and Asa Dotzler [12:28:00.0000] <mpilgrim> i haven't been this entertained by trolls since Dave Winer learned that JSON was not XML [12:30:00.0000] <TabAtkins> mpilgrim: http://scripting.com/2006/12/20.html Heh, funny. [12:30:01.0000] <mpilgrim> oh, you thought I was kidding? [12:30:02.0000] <AryehGregor> If a resource is served with no caching headers, does that mean UAs are allowed to cache it at all? [12:31:00.0000] <TabAtkins> mpilgrim: No, I just hadn't seen that before. [12:33:00.0000] <mpilgrim> AryehGregor: http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.4 [12:33:01.0000] <mpilgrim> "A response received with a status code of 200, 203, 206, 300, 301 or 410 MAY be stored by a cache and used in reply to a subsequent request, subject to the expiration mechanism, unless a cache-control directive prohibits caching." [12:33:02.0000] <AryehGregor> mpilgrim, k, thanks. [12:34:00.0000] <mpilgrim> in practice, i don't think it will be cached very long [12:34:01.0000] <AryehGregor> It seems to be cached long enough to be annoying, for Firefox and Opera. [12:34:02.0000] <AryehGregor> I'll reconfigure the web server. [12:36:00.0000] <mpilgrim> lol https://bug649408.bugzilla.mozilla.org/attachment.cgi?id=525702 [12:39:00.0000] <Ms2ger> Yay, blink tags! [12:39:01.0000] <tw2113> long live the blink! [12:41:00.0000] <TabAtkins> @keyframes blink { 0% { opacity: 1; } 75% { opacity: 1; } 75.1% { opacity: 0; } 100% { opacity: 0; } } blink { animation: blink 1s infinite; } [12:43:00.0000] <Peter`> Be careful, one day that might end up in css reset sheets :-p [12:44:00.0000] <nimbupani> /me adds to html5boilerplate [12:44:01.0000] <paul_irish> +1 [12:48:00.0000] <Philip`> "75.1%" - that looks like an ugly hack - isn't there a way to do two separate keyframes in/out of a single instant? [12:48:01.0000] <TabAtkins> Nope. [12:48:02.0000] <Philip`> How silly [12:50:00.0000] <TabAtkins> Assuming that the steps() timing function is supported, you do it with that. But otherwise, sharp transitions require that sort of hack. [12:50:01.0000] <TabAtkins> The problem is that another design choice (allowing folding of similar keyframes together) required out-of-order keyframes to be allowed. Once you have that, you can't tell definitely that two keyframes at the same time represent a "before" and "after". [12:51:00.0000] <TabAtkins> (I really should have written my animation as just "0%,75% { opacity: 1; } 75.1%,100% { opacity: 0; }".) [13:07:00.0000] <jgraham> Persoanally I think we should all promote "Naked HTML5" [13:08:00.0000] <jgraham> Which, depending on your point of view is either just when you say "HTML5" and don't actually mean "CSS", or a special style of coding where you don't wear clothes [13:08:01.0000] <jgraham> and get a little badge to put on the site that says "I supposrt naked HTML5" [13:09:00.0000] <jgraham> AryehGregor: Why are you trying to add style rules dynamically? [13:09:01.0000] <jgraham> If this is for testharness.js, you could just edit the stylesheet [13:09:02.0000] <AryehGregor> jgraham, dynamically? [13:10:00.0000] <AryehGregor> jgraham, testharness.js was adding inline "display: none" to thousands of rows when you unchecked one of the boxes. This is rather slow on big tables. [13:10:01.0000] <jgraham> Weren't you asking how to add stylesheets to the page? [13:10:02.0000] <AryehGregor> jgraham, I committed some changes already, take a look and see if you like them. [13:10:03.0000] <AryehGregor> I just added some style elements, seems to work fine. [13:10:04.0000] <jgraham> OK [13:11:00.0000] <jgraham> Also, are you sure that it is table layout that takes a long time, not just building a table thousands of rows long? [13:11:01.0000] <AryehGregor> jgraham, not totally sure, no. [13:11:02.0000] <AryehGregor> Well, actually I'm sure it's layout. [13:11:03.0000] <jgraham> Also also, I really wish there was a proper review system for hg [13:11:04.0000] <AryehGregor> At least in Firefox. [13:11:05.0000] <AryehGregor> Because it's really slow to check or uncheck the boxes. [13:12:00.0000] <AryehGregor> I don't see how that could be anything but layout. [13:12:01.0000] <AryehGregor> While we're talking, do you know of any way to add a doctype to an existing document that has no doctype, in Opera? [13:12:02.0000] <AryehGregor> insertNode() seems to throw an exception. [13:13:00.0000] <jgraham> I have no idea [13:13:01.0000] <AryehGregor> NOT_SUPPORTED_ERR. [13:13:02.0000] <AryehGregor> Oh well. [13:13:03.0000] <jgraham> I would have to test or read the code :) [13:13:04.0000] <jgraham> (and I wouldn't trust my ability to read the code) [13:13:05.0000] <AryehGregor> I'd really like to not have to re-navigate my iframe whenever the doctype gets blown up. [13:15:00.0000] <AryehGregor> Alternatively, does anyone know if it's possible to directly set the contentDocument of an iframe, to some Document object I have, instead of having to give a URL? [13:18:00.0000] <AryehGregor> Whoa, WTF, Opera allows moving a doctype to illegal positions in the DOM. [13:18:01.0000] <AryehGregor> Like as the child of an Element. [13:18:02.0000] <AryehGregor> /me works around it [13:20:00.0000] <TabAtkins> Hixie: Do you remember you and I discussing some improvement to Error objects a few months ago? [13:20:01.0000] <TabAtkins> (Arun has some notes about an idea of mine, but I don't remember having any such idea.) [13:57:00.0000] <gsnedders> AryehGregor: There's plenty of other Opera people on the list [13:57:01.0000] <AryehGregor> gsnedders, none that I knew. [13:57:02.0000] <AryehGregor> At least I don't think I saw any. [13:57:03.0000] <gsnedders> Maybe not, but probably around half the layout group are. [14:00:00.0000] <AryehGregor> Then I guess they can answer? [14:04:00.0000] <GPHemsley> Hixie: typo "environements" around line 104722 [14:04:01.0000] <gsnedders> AryehGregor: Pretty much [14:17:00.0000] <Hixie> GPHemsley: thanks [14:17:01.0000] <Hixie> TabAtkins: i do not [14:26:00.0000] <AryehGregor> jgraham, is there some specific reason that there's no assert_not_equals()? [14:40:00.0000] <Hixie> this native html5 thing really is quite amusing [14:42:00.0000] <zcorpan> "Basically browsers are limited in what they can do with Java, so to execute complex script without bogging down you need plugins, such as the Adobe Flash plugin." http://html5.tmcnet.com/topics/html5/articles/164722-microsoft-decides-support-html-5-let-games-beg.htm [14:43:00.0000] <Hixie> it's like microsoft don't know how to compete without criticising the competition [14:45:00.0000] <AryehGregor> Sheesh, insertNode() took a lot longer than I expected. [14:45:01.0000] <AryehGregor> Mostly writing the tests . . . [14:45:02.0000] <othermaciej> their promotional posts for IE do seem to focus a lot on why the competition is supposedly bad [14:45:03.0000] <AryehGregor> Now I get to do surroundContents()! [14:46:00.0000] <Hixie> AryehGregor: you have no idea how much i am enjoying not having to do the work you're doing :-) [14:46:01.0000] <AryehGregor> Hixie, well, I'm happy doing it, so that's two of us. :) [14:47:00.0000] <Hixie> :-) [15:00:00.0000] <TabAtkins> AryehGregor: Regarding the @border=1 survey, would I be accurately summarizing one of your arguments as "@border=1 serves as a signal to non-CSS UAs that the table is non-presentational"? [15:00:01.0000] <AryehGregor> TabAtkins, yes. [15:00:02.0000] <TabAtkins> kk. Any particular reason the existing signal defined for that purpose (the presence or absence of @aria-role=presentation) is insufficient? [15:01:00.0000] <TabAtkins> Particularly given the current state of affairs, where presentational tables are okay if tagged in that way? [15:01:01.0000] <Hixie> only in the w3c copy of the spec :-P [15:02:00.0000] <TabAtkins> Well, yeah, but we're arguing about an HTMLWG decision, so the w3c copy is somewhat relevant. [15:02:01.0000] <Hixie> (since the rationale for that made absolutely no sense) [15:02:02.0000] <Hixie> fair enough [15:03:00.0000] <Hixie> the way the spec currently defines border=1 is that it is an explicit indicator that the table is not a layout table [15:03:01.0000] <AryehGregor> TabAtkins, that's a way to determine that the table *is* presentational, not that it's *not* presentational. [15:03:02.0000] <Hixie> frankly if you want to argue a decision i'd concentrate more on the tables-for-layout one, the case against that one is much stronger [15:03:03.0000] <AryehGregor> If you just write <table>, UAs can't safely assume it's non-presentational. [15:04:00.0000] <TabAtkins> Hixie: Yeah, I will, I'm just annoyed that a paragraph from my objection was misinterpreted in the decision. I'm debating about whether or not to respond to Lief seriously here. It's probably a bad idea. [15:04:01.0000] <TabAtkins> I think I'll instead just point out that he has no idea what he's talking about, and he should read the Rendering section again. [15:04:02.0000] <Hixie> dude the chairs have ignored entire e-mails of feedback, at least if they misinterpreted your paragraph that means they read it [15:07:00.0000] <TabAtkins> Given that Maciej authored the decision email, I have a (possibly mistaken?) hope that he'll respond reasonably. [15:08:00.0000] <Hixie> another decision i'm worried about is the weird one about focus rings [15:08:01.0000] <Hixie> i don't even understand that decision though [15:08:02.0000] <Hixie> so it's harder to know how to argue against it [15:16:00.0000] <Hixie> anyone know of a good online tool for drawing state transition graphs? [15:17:00.0000] <Hixie> doesn't have to have good exporting facilities [15:17:01.0000] <Hixie> i'm just trying to sketch something out and ascii art isn't cutting it [15:17:02.0000] <TabAtkins> SVG? [15:18:00.0000] <TabAtkins> Omnigraffle is offline, but is supposed to be really good. [15:21:00.0000] <Hixie> something like omnigraffle would work [15:22:00.0000] <Hixie> gliffy.com will do [15:22:01.0000] <Hixie> though it's not automatically placing the nodes as i had hoped [15:24:00.0000] <Hixie> PS. I hate how Flash steals keyboard focus [15:24:01.0000] <AryehGregor> I hate that too. [15:24:02.0000] <Philip`> Hixie: Maybe draw it with pencil and paper? [15:25:00.0000] <Philip`> /me usually finds that easier than drawing anything on a computer [15:27:00.0000] <AryehGregor> Did I seriously forget to specify that extractContents() et al. need to throw if the context object is detached? [15:27:01.0000] <AryehGregor> Feh. [15:27:02.0000] <AryehGregor> (the whole idea of being detached is ridiculous anyway) [15:27:03.0000] <AryehGregor> Oh, no, wait, I didn't. [15:28:00.0000] <AryehGregor> I'm just testing it differently. [15:28:01.0000] <AryehGregor> k, all is well. [15:30:00.0000] <jgraham> AryehGregor: No specific reason. Please add if you need it [15:30:01.0000] <AryehGregor> jgraham, k. [15:31:00.0000] <AryehGregor> How sneaky. Someone evaded my "spec inbox" filter by sending to w3c.org instead of w3.org. [15:32:00.0000] <AryehGregor> I suppose www.org would have been too confusing. [15:32:01.0000] <AryehGregor> Although they do own it. [15:33:00.0000] <jgraham> AryehGregor: For bonus points make it correct in the corner case where assert_equals is wrong [15:34:00.0000] <AryehGregor> What case is that? [15:34:01.0000] <jgraham> (hint: javascript has two zero values) [15:35:00.0000] <jgraham> (I will fix assert_equals at some point) [15:38:00.0000] <AryehGregor> I already worked around that in format_value(). [15:38:01.0000] <AryehGregor> It's roughly one line. [15:38:02.0000] <AryehGregor> So, it looks like IE is aiming to advertise itself as 10.0 in its UA string, not 9.8 or anything. Wonder how well that will go. [15:39:00.0000] <TabAtkins> I suspect they'll flinch when release time rolls around. [15:44:00.0000] <jgraham> AryehGregor: It also needs to be right in the assertions of course [15:44:01.0000] <AryehGregor> What do you mean? [15:44:02.0000] <AryehGregor> TabAtkins, or they'll just add all major affected sites to their compatibility list. [15:44:03.0000] <jgraham> like if (expected === 0) {assert(1/expected === 1/actual)} [15:45:00.0000] <jgraham> Because +0 === -0 [15:45:01.0000] <TabAtkins> AryehGregor: Sure, that's possible. [15:45:02.0000] <jgraham> But 1/+0 !== 1/-0 [15:46:00.0000] <AryehGregor> Why would anyone assert that? [15:46:01.0000] <AryehGregor> I mean, maybe in theory, but doesn't seem likely in practice, right? [15:46:02.0000] <jgraham> The point is that you might assert_equals(-0, 0), which should be false [15:47:00.0000] <jgraham> It seems unlikely in practice indeed [15:47:01.0000] <jgraham> That's why I said "corner case" [15:48:00.0000] <AryehGregor> It came up in my reflection tests in some capacity or other. [15:48:01.0000] <jgraham> But it would be nice to match the ES5 SameValue algorithm exactly [15:48:02.0000] <AryehGregor> Well, not exactly. [15:48:03.0000] <AryehGregor> Anyway, yeah. [16:15:00.0000] <AryehGregor> It appears your aim is to perpetuate the confusion about what HTML5 [16:16:00.0000] <AryehGregor> is, not for the good of anybody. [16:16:01.0000] <AryehGregor> Must say, you are doing a damned fine job. [16:16:02.0000] <AryehGregor> Surely that sort of comment violates the discussion policy. [16:16:03.0000] <AryehGregor> Or guidelines, whatever. [16:18:00.0000] <Hixie> AryehGregor: it certainly would be sufficient for a one-week ban if someone spoke to someone else in that manner on the whatwg list [16:20:00.0000] <TabAtkins> AryehGregor: Ping the chairs with the email? [16:21:00.0000] <AryehGregor> I considered it. [16:21:01.0000] <AryehGregor> Shrug. [16:21:02.0000] <AryehGregor> Maybe next time. [16:21:03.0000] <AryehGregor> It's at least the second like that I've seen in the last couple of days. [16:21:04.0000] <Philip`> Or just ignore it, because it's probably no less harmless than things people have said here [16:24:00.0000] <AryehGregor> Probably. [16:35:00.0000] <AryehGregor> Have any browsers considered just not serving Accept: headers anymore? They're a colossal waste of bytes, after all. [16:36:00.0000] <othermaciej> I think there are at least some sites that would break if you serve no Accept header at all [16:38:00.0000] <jgraham> Possibly some of the other Accept.+ headers are not needed though [16:39:00.0000] <AryehGregor> othermaciej, what if you serve */*? [16:39:01.0000] <othermaciej> AryehGregor: sadly, that breaks some sites too [16:39:02.0000] <AryehGregor> If it's totally useless for long enough, maybe people would stop using it eventually and then it could be dropped. [16:39:03.0000] <AryehGregor> Oh well. [16:40:00.0000] <othermaciej> there are servers that look for specific entries, even if you also have */* [16:41:00.0000] <othermaciej> we send: "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" [16:41:01.0000] <othermaciej> I think this is minimized for Web compatibility [16:41:02.0000] <othermaciej> some sites serve you bad content if you don't explicitly claim to support XHTML, or XML [16:42:00.0000] <othermaciej> note that for most sub resources, though, we serve "Accept: */*" [16:43:00.0000] <othermaciej> (I think it used to be necessary to mention PNG, but I think not any more) [16:43:01.0000] <othermaciej> Accept-Language and Accept-Encoding are also required by compatibility [16:44:00.0000] <othermaciej> wow, I don't think I've ever seen Google serve Flash on their homepage before [16:44:01.0000] <Hixie> didn't we serve flash for the pacman thing? [16:45:00.0000] <Hixie> and we've had youtube videos on there before [16:45:01.0000] <othermaciej> no, that was all done with real Web technology [16:45:02.0000] <othermaciej> and if you have plugins disabled, you just get a link to a search query [16:46:00.0000] <othermaciej> (presumably likewise for any case of "no Flash") [16:47:00.0000] <othermaciej> I may have missed previous cases of Flash YouTube videos [16:50:00.0000] <Hixie> i'm pretty sure the audio for pacman was flash [16:52:00.0000] <othermaciej> that's possible, I did not investigate beyond finding it was made out of divs 2011-04-16 [17:18:00.0000] <TabAtkins> Abusing gradients to draw things is just as much fun as abusing borders to draw things was back in the day: http://jsfiddle.net/jJ9fP/4/ [17:20:00.0000] <aho> yea... it's amazingly pointless :) [17:20:01.0000] <aho> and headache inducing [17:20:02.0000] <aho> woo! [17:22:00.0000] <bga_> nice [17:23:00.0000] <Hixie> that's messed up [17:23:01.0000] <Hixie> just like using borders for shapes :-P [17:24:00.0000] <Hixie> so i'm looking at adding events to media controllers to indicate when the slaves are ready, etc [17:24:01.0000] <Hixie> what events should fire when you add or remove a slave in a different state than the others? [17:25:00.0000] <Hixie> should we assume the author knows what he's doing when he adds a slave, and so not fire any events? [17:25:01.0000] <Hixie> should we act as if the slave had always been there but just switched from the state the others have to the state that it actually has? [17:25:02.0000] <Hixie> /me ponders [17:25:03.0000] <Hixie> i don't really know when someone would dynamically add slaves [17:25:04.0000] <Hixie> so it's hard to construct sample code to work out what's best [17:30:00.0000] <karlcow> lea verou has done many funky stuff with gradients [17:42:00.0000] <karlcow> any american citizen can be a dog with an ID online. http://news.cnet.com/8301-31921_3-20054342-281.html [17:43:00.0000] <karlcow> The leash… is what dogs have. [18:53:00.0000] <TabAtkins> karlcow: Interesting. The idea of a widespread open-id sort of thing has been floated before, and you need a large trusted id provider to make it work. Governments can play that function. [18:54:00.0000] <TabAtkins> Or rather, you need large trusted id providers, of which governments are one. [21:18:00.0000] <random_username> does html5 have any webcam/streaming features? ie <video> tag etc [05:37:00.0000] <karlcow> Marcos Caceres "Left Opera. If anyone needs a spec guy for a few months, let me know. Will spec for food." — http://twitter.com/marcosc/status/59191676845031425 [05:48:00.0000] <Ms2ger> I guess Hixie is usually in need of spec guys [13:04:00.0000] <hsivonen> TabAtkins: thanks for thf link where dave winer meets json [13:05:00.0000] <hsivonen> *the [13:06:00.0000] <hsivonen> great use of saddam's face next to discussion about a format THAT IS NOT EVEN XML [16:35:00.0000] <Philip`> Google result snippet says: "Current AMD64 implementations support a physical address space of up to 248 bytes of RAM" [16:35:01.0000] <Philip`> I wish it preserved the semantics of <sup> [16:36:00.0000] <jamesr> 248 bytes should be enough for everyone [16:39:00.0000] <zewt> heh [16:41:00.0000] <zewt> i have to use a stylesheet to remove superscripts from wikipedia, since they're overused to the point where it makes things unreadable... i guess I can limit that to footnotes since they do have a class set for those 2011-04-17 [18:45:00.0000] <csarven> Is there a way for a browser to grab the contents at a URI fragment identifier? I was hoping to use <object data="http://example.org/#foo"> however, the browser seems to only treat the URI excluding the fragment [08:22:00.0000] <jacobolus> using the canvas API, is there any way to make an arbitrary shape via a bunch of transformations, but then have the stroke transform/scale be relative to pixels? [08:23:00.0000] <jacobolus> e.g. if I want to stroke an oval with a 5px wide outline, it'd be nice if the line could have uniform thickness [08:24:00.0000] <jacobolus> instead of the stroke getting distorted along with the shape [08:25:00.0000] <tomasf> not afaik. you'd have to scale the line width yourself to compensate. 1/transformScale, I guess [08:26:00.0000] <Philip`> You could set up the transform, draw the shape, apply the inverse transform, then stroke it, I think [08:26:01.0000] <zewt> tomasf: doesn't help if you have a non-1:1 scale on the object you're drawing and then that scale applies to the stroke as well, i think [08:26:02.0000] <tomasf> zewt: yep [08:35:00.0000] <zewt> just resetting the transform to identity seems to work: http://zewt.org/~glenn/stroke.html [08:35:01.0000] <zewt> simpler version of what philip said, i think [08:41:00.0000] <jacobolus> Philip`: I tried doing setTransform(1, 0, 0, 0, 1, 0) and that seemed to make the whole thing stop working [08:41:01.0000] <jacobolus> zewt: oh, hmm [08:41:02.0000] <jacobolus> maybe I just put a typo in someplace or something [08:41:03.0000] <zewt> 1,0,0,1,0,0, not 1,0,0,0,1,0 [08:42:00.0000] <zewt> the argument order for that function is odd [08:42:01.0000] <zewt> (column-major, rather unintuitive) [08:43:00.0000] <jacobolus> oh, I see [08:43:01.0000] <jacobolus> that is weird [08:43:02.0000] <zewt> i take it stroke is really just transforming the line width by the transform to figure out the resulting width and then doing the actual operation in screen coordinates [08:43:03.0000] <jacobolus> I'm somewhat annoyed that these don't let people use a 3x3 matrix, but that ship has sailed I guess :) [08:44:00.0000] <zewt> it wouldn't have, if it was row-major :) [08:45:00.0000] <jacobolus> heh [08:45:01.0000] <zewt> two ships that sailed together [08:45:02.0000] <jacobolus> maybe they could just order it M00, M10, M20, M21, M11, M01, M02, M12, M22, for maximal confusion [08:46:00.0000] <jacobolus> "snake order" [08:47:00.0000] <jacobolus> great, that seems to work [08:47:01.0000] <jacobolus> zewt: thanks [08:47:02.0000] <jacobolus> Philip`, tomasf: thanks to you too :) [08:49:00.0000] <jacobolus> so now I have something like http://pastie.textmate.org/private/wgeqzabrzkghnsphwydsa [08:50:00.0000] <Philip`> zewt: It's not just multiplying the line width - you can have non-uniform scales or skews that affect the stroke [08:50:01.0000] <zewt> i don't even know what language this is, heh [08:50:02.0000] <jacobolus> zewt: coffeescript [08:50:03.0000] <jacobolus> :) [08:50:04.0000] <zewt> "obscure fadscript" :) [08:51:00.0000] <jacobolus> zewt: output, http://pastie.textmate.org/private/g09sud4d8ewurqptyialuq [08:51:01.0000] <jacobolus> zewt: less and less obscure all the time, and in my (few weeks) experience, a joy to work with [09:02:00.0000] <jacobolus> that the path shape is set according to the original transformation but the stroke distorted by the stroke-time transformation allows some interesting stuff [09:03:00.0000] <jacobolus> for example, in conjunction with round joins and line ends, can be used to have the stroke shape be an arbitrary ellipse [09:03:01.0000] <jacobolus> "caligraphic" style [09:04:00.0000] <jacobolus> er, *calligraphic [09:07:00.0000] <jacobolus> is all the "focus management' stuff in the canvas 2d context spec implemented widely? [09:07:01.0000] <Ms2ger> Not at all [09:07:02.0000] <jacobolus> one of those "someday" things? [09:08:00.0000] <Ms2ger> I hear there's an HTMLWG decision upcoming about it [09:11:00.0000] <smaug____> focus management in canvas? [09:11:01.0000] <smaug____> or a11y? [09:11:02.0000] <jacobolus> smaug____: http://dev.w3.org/html5/2dcontext/#focus-management [09:11:03.0000] <jacobolus> oh [09:11:04.0000] <smaug____> oh, huh. yet more to review [09:12:00.0000] <jacobolus> trying to draw focus rings in canvas seems like somewhat silly idea to me [09:13:00.0000] <zewt> yeah, it's not like native focus styles apply to curves, and many of them aren't simply dotted lines around objects like links [09:14:00.0000] <zewt> giving UA some control over it isn't a bad idea, but i doubt there's much it could actually do other than pick a stroke style [09:15:00.0000] <smaug____> drawFocusRing looks pretty useless to me [09:15:01.0000] <zewt> heard something about that being simplified, but i havn't been following canvas stuff [09:16:00.0000] <jacobolus> Hixie: by the way, CIECAM02 implementation https://github.com/jrus/chromatist [10:25:00.0000] <AryehGregor> There is a link on a page to a PDF I want to read, but it goes to http://10.58.170.5/. [10:25:01.0000] <AryehGregor> I mean, seriously? [10:26:00.0000] <AryehGregor> This is a public website: http://www1.cbs.gov.il/reader/?MIval=cw_usr_view_SHTML&ID=576 [10:27:00.0000] <AryehGregor> /me guesses the correct URL from nearby URLs [10:42:00.0000] <zewt> the "worksforme" testing methodology [10:45:00.0000] <Philip`> I like how pressing shift+down several times in Opera on a Google search results page causes it to select the Google logo image, and then to begin scrolling down within the image so you see a load of random icons in its place [10:46:00.0000] <Philip`> /me wonders if there will ever be non-hacky ways to do spriting [10:46:01.0000] <zewt> "no hacks to see here, folks" [16:26:00.0000] <jacobolus> is there a good way to clear a <canvas> without altering its context? [16:28:00.0000] <jacobolus> I guess I can do something like save context, zero out transform, clearRect the whole width/height, restore context [16:30:00.0000] <bga_> canvas.width = canvas.width [16:31:00.0000] <jacobolus> bga_: that kills my context [16:31:01.0000] <bga_> dirty hack by @kangax [16:31:02.0000] <jacobolus> bga_: I don't think I can do a save/restore around that can I? [16:31:03.0000] <jacobolus> I guess I can try and see [16:32:00.0000] <jacobolus> also, no longer too much a "dirty hack" when it's widely documented as the right way to do it :) [16:33:00.0000] <bga_> jacobolus gc do not kills your context => you will not lost it [16:33:01.0000] <bga_> i guess [16:33:02.0000] <jacobolus> I'm not sure what you mean [16:34:00.0000] <bga_> gc == garbage collector [16:34:01.0000] <jacobolus> if I do canvas.width = canvas.width, at least in Safari, my transform matrix is reset to the identity [16:34:02.0000] <bga_> heh [16:35:00.0000] <jacobolus> I can't save/restore around it either [16:35:01.0000] <jacobolus> so I'm going to try my way [16:35:02.0000] <jacobolus> :) [16:36:00.0000] <bga_> but you can get second clear context :) [16:36:01.0000] <bga_> may be its faster way [16:36:02.0000] <jacobolus> hm? [16:36:03.0000] <jacobolus> not sure what you mean [16:37:00.0000] <jacobolus> I have a context stack that I don't want to destroy, I just want to clear the whole canvas image [16:37:01.0000] <bga_> one canvas can have multi contexes [16:37:02.0000] <bga_> with different states [16:38:00.0000] <bga_> and types(2в/3d) [16:38:01.0000] <jacobolus> I can have multiple 2d contexts on a canvas? [16:38:02.0000] <bga_> *2d [16:38:03.0000] <bga_> yeah [16:38:04.0000] <jacobolus> how does that work? [16:39:00.0000] <jacobolus> I don't see any mechanism in the spec for switching contexts [16:39:01.0000] <bga_> sec [16:41:00.0000] <bga_> oh [16:41:01.0000] <bga_> fail in chome [16:41:02.0000] <bga_> context is singleton :( [16:42:00.0000] <bga_> soкry [16:42:01.0000] <bga_> *sorry [16:45:00.0000] <bga_> jacobolus another way to avoid save/restore state is do `clearRect` with infinite bounds %) 2011-04-18 [17:00:00.0000] <jacobolus> bga_: how do you do infinite bounds? [17:00:01.0000] <jacobolus> does that work? [17:00:02.0000] <jacobolus> as in context.clearRect(-Infinity, -Infinity, Infinity, Infinity) ?? [17:00:03.0000] <bga_> yeah [17:01:00.0000] <jacobolus> that works everywhere? [17:01:01.0000] <jacobolus> seems like an edge case that could easily blow up someplace [17:05:00.0000] <jcranmer> presumably most implementations would work by comparison [17:06:00.0000] <jcranmer> if they convert to internal integer coordinates, then it should map to max/min values [17:06:01.0000] <jacobolus> this seems to work just fine: http://pastie.textmate.org/1805281 [17:12:00.0000] <bga_> 'infinite' trick doesnt works in chrome and opera. fail #2 :) [17:22:00.0000] <Philip`> Non-finite or very large or (in some cases) quite large coordinates aren't at all interoperable [17:23:00.0000] <Philip`> e.g. some implementations seem to convert to some fixed-point data type [20:44:00.0000] <jacobolus> kind of unfortunate that canvas doesn't support dotted/dashed lines [20:45:00.0000] <jacobolus> I can manage in the straight line and arc cases easily enough, but manually doing dotted bezier curves is tricky enough to not be worth the effort [21:26:00.0000] <jacobolus> zewt, Philip`: so the "save context, set identity transformation, stroke, restore context" pattern is pretty great; too bad there's no similarly easy way to do text by first storing an "anchor" position and then setting a new transformation to apply to the actual text filling [21:30:00.0000] <jacobolus> if I could pull the matrix out, I could maybe do something like translate so the origin is where I want my anchor, then keep the translation part of the matrix constant while resetting the rest to the identity, and then restore afterward [06:25:00.0000] <hsivonen> the 2022 meme has made it to xkcd [07:04:00.0000] <MikeSmith> hsivonen: cool [07:04:01.0000] <MikeSmith> and only a few years after Jesus returns to earth [07:05:00.0000] <jgraham> Actually we're relying on him to finish off the testsuite [07:07:00.0000] <MikeSmith> /me puts Jesus in critical path on his testsuite Microsoft Project plan [07:10:00.0000] <MikeSmith> I just hope he's hip to IRC so that I can ping him and discuss problems in real time [07:35:00.0000] <zcorpan> MikeSmith: you won't need to discuss problems with him [07:35:01.0000] <MikeSmith> well, I mean personal problems [07:35:02.0000] <MikeSmith> like, when I need some life advice [07:36:00.0000] <MikeSmith> currently when I have a problem, I just ask myself, What would Jesus do? [07:36:01.0000] <zcorpan> ah [07:36:02.0000] <MikeSmith> but after he gets back, I can just ask him directly [07:36:03.0000] <MikeSmith> save myself a lot of thinking time [07:37:00.0000] <webr3> "why does jesus test us so much?" - btw I think it said he comes back twice, again in 2025 iirc [07:37:01.0000] <zewt> well, it may be of little help when his answer is invariably "change the gravitational constant of the universe" [07:37:02.0000] <wilhelm> I don't think I want to take life advice from a guy who ended up crucified at the will of an angry mob. [07:39:00.0000] <MikeSmith> he didn't really get crucified [07:39:01.0000] <MikeSmith> they actually crucified Judas (thinking he was Jesus) [07:40:00.0000] <wilhelm> Oh. Clever. [07:48:00.0000] <jgraham> webr3: Isn't coming back multiple times his best-known party trick? [07:50:00.0000] <webr3> jgraham: either that or the wine one [07:56:00.0000] <zcorpan> i read somewhere he wasn't crucified but just nailed to a pole [07:56:01.0000] <jgraham> webr3: I guess the wine one is better for picking up girls. It's a tough pickup tactic that needs a three day hiatus in a cave. [07:57:00.0000] <jgraham> so, erm, blas-for-me, blas-for-you [10:20:00.0000] <AryehGregor> Question to world: how do I get added as a member of the Web Apps WG? Do I contact the Google AC rep to add me, T. V. Raman? [10:20:01.0000] <jgraham> AryehGregor: Yes [10:20:02.0000] <AryehGregor> jgraham, thanks. [10:28:00.0000] <TabAtkins> AryehGregor: And I can save you some time by sending you the link for the webapps signup. TV will ask for it otherwise. ^_^ [10:28:01.0000] <AryehGregor> TabAtkins, heh, yeah, he asked me last time and I had no idea what he wanted. [10:28:02.0000] <AryehGregor> Forgot about that. [10:28:03.0000] <AryehGregor> What's the link? [10:29:00.0000] <TabAtkins> http://www.w3.org/Member/Mail/, find the group you want and click the "join" button. Send the url for that page to TV. [10:32:00.0000] <AryehGregor> Wait, I think I'm already in it. [10:32:01.0000] <AryehGregor> /me investigates [10:32:02.0000] <AryehGregor> No, I'm not. [10:32:03.0000] <AryehGregor> But the page is titled "Leaving the Web Applications Working Group". [10:33:00.0000] <AryehGregor> Maybe the participant list doesn't update right away? [10:33:01.0000] <karlcow> You are already part of it [10:33:02.0000] <jgraham> Maybe they're giving you a hint? [10:33:03.0000] <AryehGregor> Okay, so he must have added me already. [10:33:04.0000] <mpilgrim> it's a zen koan [10:33:05.0000] <AryehGregor> But I don't show up here: http://www.w3.org/2000/09/dbwg/details?group=42538&public=1&gs=1& [10:34:00.0000] <karlcow> you are the shadow DOM of WebApps [10:34:01.0000] <mpilgrim> the shadow DOM liveth forever and ever [10:35:00.0000] <mpilgrim> by cloning itself and appending itself to its parent shortly before removing itself from this world [10:41:00.0000] <AryehGregor> Deep clone or shallow clone? [10:43:00.0000] <AryehGregor> Ooh, I like this definition: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-clone-ext [10:43:01.0000] <AryehGregor> I want some definitions like that for DOM Range, for mutations. [10:43:02.0000] <AryehGregor> /me makes a mental note to write some up later. [10:44:00.0000] <AryehGregor> Another random comment: I love how all these Japanese people are always so incredibly polite. I wish Westerners were more polite. [10:46:00.0000] <karlcow> hmmm it is not really polite. It is the codification of the communication which is different. Difficult to explain. From a western point of view it *seems* polite. [10:46:01.0000] <zewt> seems more "distant" than "polite" to me [10:47:00.0000] <zewt> sort of like retail-employee "politeness" [10:47:01.0000] <AryehGregor> To me, "polite" means things like saying please and thank you, trying to phrase things non-critically, things like that. I'd say it's politeness, by that definition. [10:47:02.0000] <AryehGregor> Of course, it has downsides too. [10:47:03.0000] <AryehGregor> Bluntness can be useful. Israelis tend to be very blunt. [10:48:00.0000] <AryehGregor> Which is to say, not polite. [10:48:01.0000] <AryehGregor> There's a joke about that. [10:49:00.0000] <karlcow> communication protocols. :) [10:49:01.0000] <AryehGregor> A journalist goes up to four people -- an American, a Russian, a Chinese person, and an Israeli. The journalist asks them all, "What's your opinion on the recent meat shortage?" [10:49:02.0000] <AryehGregor> The American says "What's a 'shortage'?" [10:49:03.0000] <AryehGregor> The Russian says, "What's 'meat'?" [10:49:04.0000] <AryehGregor> The Chinese person says, "What's an 'opinion'?" [10:49:05.0000] <AryehGregor> The Israeli says, "What's 'excuse me'?" [10:49:06.0000] <AryehGregor> (maybe the joke was originally told before the Soviet Union's collapse, the Russian part makes more sense then) [10:50:00.0000] <TabAtkins> The joke would work better if the reporter had said "excuse me" at some point. ^_^ [10:50:01.0000] <AryehGregor> Dangit. [10:50:02.0000] <AryehGregor> It was supposed to say "Excuse, what's your opinion on the recent meat shortage?" [10:50:03.0000] <AryehGregor> I always ruin jokes that are more than about one line long. [10:50:04.0000] <AryehGregor> /me hangs his head in shame [10:50:05.0000] <TabAtkins> Boooo [10:51:00.0000] <AryehGregor> My father is an excellent joke-teller, but somehow I don't seem to have inherited it.] [10:51:01.0000] <AryehGregor> it. [10:51:02.0000] <Philip`> You could tell the jokes backwards, starting at the punchline, so you can be sure you'll set them up properly [10:51:03.0000] <AryehGregor> That's an excellent idea. I wonder why no one has ever thought of it before. [10:52:00.0000] <TabAtkins> AryehGregor: I like your much-more-polite versions of my responses to those bugs. [10:52:01.0000] <AryehGregor> TabAtkins, see, that's what I mean about being polite. [10:52:02.0000] <AryehGregor> It's not nice to say to some confused newbie "Why don't you read beyond the table of contents?" [10:52:03.0000] <karlcow> The Japanese answer could be something along: "We understand the issue. Thanks." [10:53:00.0000] <AryehGregor> The spec is several hundred pages long and incomprehensible to normal human beings. [10:53:01.0000] <AryehGregor> It's only polite to take thirty seconds to explain properly when someone has taken the effort to give feedback, even if the feedback is misguided. [10:53:02.0000] <TabAtkins> AryehGregor: I'm always somewhat torn. Yes, that's a rude thing to say. It's also rude to even *ask* that question without doing a little bit of research yourself, at which point the answer becomes obvious. [10:54:00.0000] <TabAtkins> Jeezus, Kyoto is a million miles away from Tokyo. [10:54:01.0000] <AryehGregor> Someone without web standards background is likely to be completely confused by the ambiguous terminology, and will have a lot of trouble successfully researching it themselves. [10:54:02.0000] <karlcow> The French answer might be "French meat is delicious" (completely unrelated and pulling it to French culture) or if the journalist is cute "Are you free tonight?" [10:55:00.0000] <AryehGregor> I'd agree with you somewhat more if it were a question like "What's the details element supposed to do?" where just Ctrl-Fing through the ToC would give you the answer easily. [10:55:01.0000] <karlcow> TabAtkins: not by shinkansen [10:55:02.0000] <AryehGregor> But over here you have "HTML" being used in two conflicting ways, which is confusing. [10:55:03.0000] <AryehGregor> Maybe we should officially start calling the syntax only "text/html" or something. [10:55:04.0000] <AryehGregor> Although that's also confusing, since then you're calling it by a MIME type. [10:56:00.0000] <TabAtkins> karlcow: I can't tell if http://goo.gl/maps/Ff8F is via shinkansen or not, because there's too much japanese. [10:57:00.0000] <karlcow> 140 min by Shinkansen from Tokyo to Kyoto [10:57:01.0000] <TabAtkins> Ooh, what's the price on that sort of trip (if you know off the top of your head) [10:57:02.0000] <AryehGregor> /me always sort of wonders if someone is trying to track him, when he's given a goo.gl URL [10:58:00.0000] <karlcow> 10,000 yens [10:58:01.0000] <karlcow> around [10:58:02.0000] <karlcow> depends on the time [10:58:03.0000] <TabAtkins> Nah, that's just what Maps popped out when I asked it for a link. [10:58:04.0000] <AryehGregor> Ah, I see. [10:58:05.0000] <AryehGregor> When I was considering applying to Google for a full-time job, I of course made sure that the URLs in my resume were shortened using goo.gl instead of tinyurl. [10:59:00.0000] <TabAtkins> ...Why were you shortening your urls at all in your resume? [10:59:01.0000] <AryehGregor> I thought it was funny that I'd be using goo.gl to spy on how many people were reading the resume I submitted to Google, where and when. [10:59:02.0000] <AryehGregor> (I never actually submitted it, though.) [10:59:03.0000] <AryehGregor> Um, I dunno. Let me look. [10:59:04.0000] <karlcow> Nozomi is the fastest bullet train between Tokyo and Kyoto [11:00:00.0000] <AryehGregor> Wow, I so totally never use word processing software. [11:00:01.0000] <karlcow> http://en.wikipedia.org/wiki/Nozomi_(Shinkansen) [11:00:02.0000] <AryehGregor> This is like six months old and it was #8 on recent documents. [11:00:03.0000] <AryehGregor> Anyway, it turns out it was a link to my reflection tests, which were relevant since I was going to apply for web standards work. [11:01:00.0000] <TabAtkins> AryehGregor: Why shorten the link, though? Shortened links are for twitter only, mostly. [11:01:01.0000] <AryehGregor> They're for print also. [11:01:02.0000] <karlcow> The train is leaving from Shinagawa station [11:01:03.0000] <karlcow> so you will have to go from Haneda to Shinagawa. [11:02:00.0000] <AryehGregor> I was asked for a PDF resume, IIRC, so I assumed that someone might be printing it somewhere along the line. [11:02:01.0000] <TabAtkins> karlcow: Apparently Google is sending us on JR新幹線のぞみ99号 for the long part of the trip. [11:02:02.0000] <TabAtkins> But for some reason it's got a 5-minute section before that for 7k yen. ?_? [11:02:03.0000] <karlcow> JR is the company [11:02:04.0000] <AryehGregor> I'm proud to say I recognize the character の from that line. It's hiragana for "no", usually meaning "of". [11:02:05.0000] <AryehGregor> I think. [11:02:06.0000] <TabAtkins> Yeah, that's the shinkansen. [11:02:07.0000] <AryehGregor> That's like the only character I ever recognize when I read Japanese. [11:02:08.0000] <AryehGregor> Sometimes the characters for "Japan" too. [11:02:09.0000] <AryehGregor> Or "person", or like three other words. [11:02:10.0000] <AryehGregor> But mostly "of". [11:03:00.0000] <karlcow> or more exactly one of the companies of Japan for train [11:04:00.0000] <AryehGregor> Logogramies make me sad. I like trying to read foreign languages even if I don't understand them, but with CJK I have no chance. [11:05:00.0000] <AryehGregor> I know the Greek alphabet, and can do okay on Cyrillic, plus of course I can read Hebrew. I should learn the Arabic alphabet. [11:05:01.0000] <karlcow> TabAtkins: this might help you http://www.shinkansen.co.jp/jikoku_hyo/en/ [11:06:00.0000] <AryehGregor> Alternatively, I should go find something useful to do instead of spamming IRC chats. [11:06:01.0000] <karlcow> for the timetable [11:07:00.0000] <karlcow> and also the very practical http://www.hyperdia.com/ [11:08:00.0000] <karlcow> example http://www.hyperdia.com/cgi/en/search.html?dep_node=HANEDA%20AIRPORT%20INTERNATIONAL%20BUILDING&arv_node=KYOTO&via_node01=&via_node02=&via_node03=&year=2011&month=04&day=18&hour=13&minute=12&search_type=0&search_way=&transtime=undefined&sort=0&max_route=5&ship=off&lmlimit=null&search_target=route&facility=reserved&sum_target=7 [11:10:00.0000] <TabAtkins> Ooh, that one's very useful, karlcow. [13:02:00.0000] <Hixie> wow, http://www.google.com/green/ uses a lot of new html features [13:02:01.0000] <Hixie> <video>, <nav>, <footer>, all kinds of stuff [13:09:00.0000] <AryehGregor> <div id="learn-space" class="floatleft width-230"> [13:09:01.0000] <AryehGregor> <video> with no fallback, at that. [13:10:00.0000] <AryehGregor> Only WebM and MP4. [13:10:01.0000] <AryehGregor> No Flash or anything. [13:10:02.0000] <AryehGregor> Unless JS adds fallback. [13:11:00.0000] <Hixie> haven't tested it in IE [13:11:01.0000] <Hixie> the page certainly still has the influence of media-specific presentation :-( [13:11:02.0000] <Hixie> and suffers from a case of divitis [13:13:00.0000] <zcorpan> the fallback (visually at least) is <img> [13:14:00.0000] <zcorpan> seems like that page calls for background-image:url(webm) [13:15:00.0000] <AryehGregor> <div class="blue data-center-content width-230 colorblock"> [13:15:01.0000] <AryehGregor> Terrible alt text, too: <img src="img/how-can-we-help-in-the-face-of-disasters.jpg" width="230" height="161" alt="How Can We Help In The Face Of Disasters" class="block-bg"> [13:15:02.0000] <AryehGregor> Oh, no, it isn't. [13:15:03.0000] <AryehGregor> It's good alt text. [13:15:04.0000] <AryehGregor> Since the image is just a picture of text. [13:15:05.0000] <AryehGregor> I think. [13:15:06.0000] <zcorpan> no it isn't [13:15:07.0000] <zcorpan> it repeats the heading [13:16:00.0000] <AryehGregor> No, it's not. [13:16:01.0000] <AryehGregor> Yeah, it repeats the heading. [13:17:00.0000] <zcorpan> i think i'd just do <p><a href>Can competition become cooperation?</a></p> [13:18:00.0000] <zcorpan> and the background video should be done in css (except css doesn't support that) [13:19:00.0000] <TabAtkins> It totally should. [13:19:01.0000] <zcorpan> TabAtkins: fix css [13:20:00.0000] <TabAtkins> Suggest to me background-image:url(movie) should work, and I will. [13:21:00.0000] <TabAtkins> Right now, you can do background-image: element(#the-video); with an out-of-document video. [13:21:01.0000] <zcorpan> i guess we should implement that first [13:21:02.0000] <TabAtkins> (For some definition of "can do".) [13:22:00.0000] <zcorpan> background-image:url(movie) wouldn't work so well with the current codec situation in practice [13:22:01.0000] <TabAtkins> True. [13:22:02.0000] <TabAtkins> background-image: image("movie.webm", "movie.mp4"); [13:23:00.0000] <zcorpan> image("movie.webm") format("video/webm"), ... [13:24:00.0000] <TabAtkins> I need a word for "according to specs you can, but nobody implements it yet so it's currently theoretical only". [13:24:01.0000] <TabAtkins> spec-can [13:24:02.0000] <zcorpan> "I'm high as a kite" [13:24:03.0000] <TabAtkins> "Right now, you speccan do ..." [13:30:00.0000] <webr3> "soon" [13:56:00.0000] <jgraham> TabAtkins: If you weren't going to Japan on Google's dollar it might be worth your while to know that you can (or could 6 years ago) get some kind of foreigners-only tourist train ticket that makes travelling about more affordable, at least if you travel a lot [13:56:01.0000] <TabAtkins> Interesting. [13:57:00.0000] <TabAtkins> My wife and friend are coming with me and not being paid for by Google, so it might still be good to look into. [13:57:01.0000] <jgraham> http://www.japanrailpass.net/ [13:59:00.0000] <jgraham> Seems to be not valid on at least some Shinkansen [13:59:01.0000] <jgraham> I am a bit hazy on what we did because we went with a japanese friend so mostly we just followed her instructions [14:00:00.0000] <TabAtkins> Seems like it wouldn't actually save me anything if we're just doing a single roundtrip between tokyo and kyoto. [14:01:00.0000] <jgraham> No, I doubt it in that case. We travelled quite a bit more than that (although we did do that as part of the trip) [14:01:01.0000] <TabAtkins> Yeah, seems like a great deal if you'll be taking the train a few times. [14:02:00.0000] <jgraham> /me wonders if anyone noticed the irony of using relatively-cpu-intensive video on a page about saving energy [14:03:00.0000] <AryehGregor> It's amazing how ironic environmentalism can often be. [15:11:00.0000] <AryehGregor> Hmm, ISSUE-80 decision is in. [15:11:01.0000] <AryehGregor> /me reads [15:38:00.0000] <Hixie> oh hey [15:38:01.0000] <Hixie> we're on xkcd today! [15:43:00.0000] <aho> oh... boy :> [15:45:00.0000] <mpilgrim> i see a new XKCD poster in my future [15:49:00.0000] <tndH> all that work, just to get to that last line... [15:52:00.0000] <TabAtkins> I like reading it as an actual future history. [15:53:00.0000] <Hixie> the temperature gradient in 2090 sounds painful [15:53:01.0000] <Hixie> also i'm taking my money out of dollars if that history is accurate [15:54:00.0000] <TabAtkins> What, the debt being 700% of GDP scares you? [15:54:01.0000] <Hixie> TabAtkins: no, the debt going up and down like a yoyo [15:54:02.0000] <TabAtkins> Heh, yeah. [15:55:00.0000] <AryehGregor> Is there actually such a thing as a blind photographer? Really? [15:55:01.0000] <AryehGregor> I mean . . . how? [15:55:02.0000] <Hixie> TV is blind and is a photographer [15:55:03.0000] <Hixie> TV Raman, i mean [15:55:04.0000] <AryehGregor> TV? [15:55:05.0000] <AryehGregor> Oh. [15:55:06.0000] <AryehGregor> Interesting. [15:55:07.0000] <Hixie> as i recall, he likes taking photos of things so his friends can describe where he was [15:55:08.0000] <Hixie> tohim [15:56:00.0000] <Hixie> later [15:56:01.0000] <AryehGregor> Makes sense. [15:56:02.0000] <Hixie> which seems like a pretty reasonable thing to me [15:56:03.0000] <AryehGregor> "Photographer" makes it sound like it's a professional thing. [15:56:04.0000] <Hixie> (and i just love the concept that he'd be required to include alt text to save himself from himself...) [15:56:05.0000] <TabAtkins> I think my favorite year is 2068. [15:57:00.0000] <AryehGregor> 2068 is pretty good, yeah. [15:57:01.0000] <AryehGregor> Lord Jesus ruling an entirely gay Earth. [15:57:02.0000] <TabAtkins> And then, apparently, legalizing public masturbation the next year. [15:57:03.0000] <Hixie> also the rfc number for http :-P [15:57:04.0000] <AryehGregor> Is it just me, or do climatologists really like the year 2100? [15:58:00.0000] <Hixie> round number [15:58:01.0000] <Hixie> everyone likes 2100 [15:58:02.0000] <TabAtkins> It's a good "medium future" number. [15:58:03.0000] <Hixie> it's like 2000 was a few decades ago [15:58:04.0000] <aho> it's a good "i'll be dead then LOL" date [15:58:05.0000] <AryehGregor> 2100 is "medium" future? [15:58:06.0000] <AryehGregor> I guess you're a sci-fi fan. [15:58:07.0000] <Hixie> i was just gonna say, 2100 sounds near-future to me :-P [15:59:00.0000] <AryehGregor> To me, 2100 is "so far in the future that I'm not really confident making any kind of prediction about it whatsoever" future. [15:59:01.0000] <TabAtkins> Depends on how singulatarian I'm feeling. [15:59:02.0000] <tw2113> AryehGregor in 2100, IE6 will still be installed on at least 1 computer [16:00:00.0000] <othermaciej> by 2100, most of us will be dead, unless there are major unforeseen advances in life extension technology [16:00:01.0000] <TabAtkins> I'm betting on mind virtualization by then. [16:00:02.0000] <tw2113> now to get better minds [16:00:03.0000] <othermaciej> a future with that level of advancement is almost by definition not predictable [16:00:04.0000] <AryehGregor> I'd be 112. That doesn't seem so unattainable, given the advances in biotech we've had in the last few decades. [16:01:00.0000] <othermaciej> I mean, megascale geo-engineering is probably easier than either major life extension or mind uploads [16:01:01.0000] <AryehGregor> I mean, open-heart surgery was first performed in 1952. [16:01:02.0000] <TabAtkins> othermaciej: Indeed, thus my comment. If I pretend that the singularity won't occur sometime in the next century, then 2100 is medium-future. [16:01:03.0000] <Hixie> AryehGregor: i that _successful_ open heart surgery, or any? ;-) [16:01:04.0000] <AryehGregor> Successful. [16:01:05.0000] <tw2113> too much of me fears repeating of the movie Idiocracy [16:01:06.0000] <othermaciej> 2100 is either far-future or you won't live to see your predictions about it [16:01:07.0000] <TabAtkins> The first reasonably successful one. Dude lived 3 days with his new heart. [16:02:00.0000] <AryehGregor> othermaciej, insightful point. [16:02:01.0000] <TabAtkins> othermaciej: That seems incorrect. Reasonable projections of biological life-extension can let you reach 2100 without the world changing to an unpredictable degree. [16:02:02.0000] <AryehGregor> I doubt we'll see any "singularity" in the sense of asymptotically rapid progress. [16:03:00.0000] <AryehGregor> It's possible, but I don't see any reason to believe it. [16:03:01.0000] <TabAtkins> Agreed; I'm referring more to virtualization becoming practical. [16:03:02.0000] <AryehGregor> It's not clear to me how likely that is. [16:03:03.0000] <AryehGregor> Because we'd have extremely high standards to consider it successful. [16:04:00.0000] <TabAtkins> I think it's an engineering problem at this point, and a solveable one. [16:04:01.0000] <AryehGregor> We'd consider an artificial heart successful as long as it can replicate the essential function of a heart, even if it does so very differently in practice. [16:04:02.0000] <TabAtkins> Just need a few more moore's law iterations, plus sufficient scanning-tech advances. [16:04:03.0000] <othermaciej> TabAtkins: life expectancy is not rising at better than a year per yer [16:05:00.0000] <Hixie> AryehGregor: hey you just described a "successful" heart operation as something that extends life by three days, according to Tab, so why would you have a higher bar for this? ;-) [16:05:01.0000] <AryehGregor> But if electronic copies of human brains have even moderately large personality changes or similar, we'd be unlikely to consider the subject really "the same person". [16:05:02.0000] <othermaciej> (I don't know if it is rising much at all in developed countries any more) [16:05:03.0000] <TabAtkins> Hixie: Once you've established that 3 days is possible, the rest is engineering. [16:05:04.0000] <Hixie> TabAtkins: sounds like the same applies here :-) [16:05:05.0000] <TabAtkins> othermaciej: I suspect we're on the rising cusp of biotech advancement, though. [16:05:06.0000] <TabAtkins> We'll get a nice sigmoid going on in the near future. [16:06:00.0000] <Hixie> watching TED talks, we're clearly on the rising cusp of biotech advancement [16:06:01.0000] <AryehGregor> othermaciej, current life expectancy rise is driven by incremental improvement in medicine. I'd say that if we see a really huge increase in lifespan within the next century, it will be because artificial organs become much cheaper and safer. [16:06:02.0000] <othermaciej> so you're postulating currently unknown dramatic technological improvement [16:06:03.0000] <othermaciej> we've been on the rising cusp of biotech advancement for a good 15 years now [16:06:04.0000] <Hixie> indeed [16:06:05.0000] <TabAtkins> Yes? [16:06:06.0000] <AryehGregor> At some point, it would be reasonable to do things like preemptively replace largely healthy hearts to avoid possible heart failure. [16:06:07.0000] <TabAtkins> And we've been 10 years away from AI for 50 years. ^_^ [16:06:08.0000] <TabAtkins> We're still closer to AI now than we were half a centure ago. [16:06:09.0000] <AryehGregor> And things like that. [16:06:10.0000] <zcorpan> maybe if i want to live longer, i should get some sleep [16:06:11.0000] <zcorpan> nn [16:07:00.0000] <AryehGregor> If you can replace failing organs cheaply and reliably, you could remove most common causes of natural death, other than brain failure. [16:07:01.0000] <TabAtkins> Yup. [16:07:02.0000] <AryehGregor> Alternatively, one can imagine a brain-in-a-vat scenario, where other organs become irrelevant. [16:08:00.0000] <TabAtkins> That seems less likely to me, personally, for social reasons if nothing else. [16:08:01.0000] <AryehGregor> Of course, brains fail too, in terms of senility and so on, but I could easily see a large lifespan increase along these lines within the next century. [16:08:02.0000] <othermaciej> you can imagine all sorts of things that are currently infeasible [16:08:03.0000] <AryehGregor> Sure. [16:08:04.0000] <othermaciej> if you assume such things, then claims of predicting the future beyond them are not credible [16:09:00.0000] <AryehGregor> Yes, that much I agree with. I don't trust any predictions beyond twenty years or so, unless they're very vague. [16:09:01.0000] <AryehGregor> Well, about society and such, I mean. [16:09:02.0000] <AryehGregor> I trust that Halley's comet will return in 2061. [16:10:00.0000] <othermaciej> unless grey goo nanobots convert the whole solar system to paper clips [16:11:00.0000] <AryehGregor> I'm pretty sure the worst-case scenario for nanobots doesn't include space travel. [16:11:01.0000] <AryehGregor> I do sort of wonder how likely it is that we'll destroy the world somehow. [16:11:02.0000] <AryehGregor> I'm betting not very, but who knows. [16:12:00.0000] <TabAtkins> Gray goo has fundamental problems with energy, I think. Molecular conversion is a pretty expensive process. [16:12:01.0000] <AryehGregor> Clearly, if there's any non-negligible chance of some endeavor destroying the world, we should avoid that endeavor at all costs. [16:12:02.0000] <TabAtkins> Maybe you can gray-goo a chip factory, but it would more or less stop when it hits concrete. [16:12:03.0000] <AryehGregor> Well, gray goo is a pretty unlikely scenario, yeah. [16:13:00.0000] <AryehGregor> Nanobots are also likely to be fragile. [16:13:01.0000] <TabAtkins> Yeah, one good EMP (or hell, a microwave burst) should fry them. [16:13:02.0000] <AryehGregor> Zap them with some EMP or a flamethrower or something, that should take care of them. [16:13:03.0000] <AryehGregor> They're a bit too small for shielding. [16:13:04.0000] <AryehGregor> So I don't think it's really worth worrying about. [16:13:05.0000] <AryehGregor> Strong AI is more worrying. [16:13:06.0000] <jcranmer> you assume they use electronic gates [16:13:07.0000] <TabAtkins> On the subject of runaway replicators, robo-miners are more credible. [16:13:08.0000] <AryehGregor> But we don't have to worry about that anytime soon. [16:14:00.0000] <TabAtkins> But that would just exhaust our asteroid belt or something. [16:14:01.0000] <TabAtkins> jcranmer: Flamethrower or microwave weaponry doesn't assume that. [16:14:02.0000] <jcranmer> EMP does [16:15:00.0000] <jcranmer> flamethrower assumes easy breakability [16:15:01.0000] <TabAtkins> No, it assumes that nanoscale machinery isn't immune to heat. [16:15:02.0000] <jcranmer> especially because they likely would design nanomachines to have good heat dissipation [16:15:03.0000] <TabAtkins> Yes, good heat dissipation for their own processes. [16:15:04.0000] <TabAtkins> The fact that I have a good heatsink on my CPU doesn't mean it can withstand a flamethrower. [16:16:00.0000] <AryehGregor> Nanomachines will automatically have a practically infinite ratio of surface area to volume. [16:16:01.0000] <AryehGregor> So they'll always be at the temperature of their ambient environment. [16:16:02.0000] <AryehGregor> But that doesn't help them if their ambient environment is 1000°F. [16:16:03.0000] <AryehGregor> TabAtkins, your CPU's heat dissipation is a joke compared to anything nanoscale. [16:17:00.0000] <AryehGregor> But it doesn't matter. [16:17:01.0000] <AryehGregor> Dissipation is only relevant for heat produced by the thing itself, not environmental heat. [16:17:02.0000] <AryehGregor> Nothing's going to stand in the way of high environmental temperature. [16:18:00.0000] <AryehGregor> Unless someone invents a good thermal insulator. Now *that* would have major engineering applications. [16:18:01.0000] <TabAtkins> AryehGregor: Of course, but my point was that dissipation is irrelevant in the presence of extreme heat, as you point out. [16:18:02.0000] <AryehGregor> It's not a question of extreme or not extreme, it's internal versus external. [16:18:03.0000] <AryehGregor> If you have good enough heat dissipation, you can tolerate arbitrarily large amounts of internal heat, by distributing it to your environment. [16:18:04.0000] <TabAtkins> Extreme in a relative sense. "Much hotter than operating temperature bounds". [16:19:00.0000] <AryehGregor> If your CPU had perfect heat dissipation, it could produce a megawatt of heat indefinitely with no ill effects. [16:19:01.0000] <AryehGregor> But it would still melt if the environment around it were too hot. [16:19:02.0000] <TabAtkins> You're going out of your way to interpret my statements in isolation, rather than in the obvious context of a flamethrower being applied. [16:20:00.0000] <AryehGregor> I'm just saying, flamethrowers are an external heat source, so dissipation is irrelevant. The place that the heat is being dissipated to is also being heated up, so the dissipation doesn't work. [16:20:01.0000] <AryehGregor> You need a temperature difference to dissipate heat. [16:21:00.0000] <Hixie> if you're putting a megawatt of heat into your environment, your environment will quickly get "too hot" :-P [16:21:01.0000] <TabAtkins> I'm perfectly aware of this, and it's precisely what I said originally. ^_^ [16:21:02.0000] <AryehGregor> Hixie, yeah, that's a detail. [16:21:03.0000] <Hixie> just sayin' ;-) [16:21:04.0000] <TabAtkins> Hixie: Not if your heat dump is a laser and you're in vacuum, for example. [16:21:05.0000] <AryehGregor> Would that work, thermodynamically? [16:21:06.0000] <Hixie> i thought we were talking about robots in a factory [16:21:07.0000] <Hixie> sorry, not paying that close attention here [16:21:08.0000] <AryehGregor> Well, you could always just radiate the heat, if you were in a vacuum. [16:22:00.0000] <TabAtkins> I'm not sure how heat-dissipation lasers work, but I've seen them enough in scifi that I assume they're possible. [16:22:01.0000] <AryehGregor> We *were* talking about nanorobots, but that was a while ago. [16:22:02.0000] <TabAtkins> If you're just radiating, you're stuck with blackbody efficiency at best. [16:22:03.0000] <AryehGregor> Yes, that's true. [16:22:04.0000] <AryehGregor> But I'm pretty sure you can't just radiate heat away using a laser. [16:23:00.0000] <AryehGregor> I mean, how much entropy is in a laser beam? [16:23:01.0000] <TabAtkins> I'd have to actually do some research to see if it's plausible. Like I said, I've just seen it in enough scifi, particularly hard stuff, that I assume it works somehow. [16:23:02.0000] <AryehGregor> Where's the entropy going? [16:23:03.0000] <jcranmer> laser beams are pretty much low entropy by definition [16:23:04.0000] <AryehGregor> Laser beams can contain lots of energy, but I don't see where the entropy is. [16:23:05.0000] <jcranmer> they're light amplified by having all the waves in the same direction [16:23:06.0000] <AryehGregor> And you need to dump the entropy someplace. [16:23:07.0000] <AryehGregor> Right, that's what I'd think. [16:24:00.0000] <AryehGregor> You'll create entropy if the laser hits something and heats it up, but that doesn't help you. [16:24:01.0000] <AryehGregor> You need to create it in the process of generating the laser. [16:24:02.0000] <jcranmer> a laser beam you can see is bad [16:24:03.0000] <jcranmer> the laser equipment is what gets hot [16:24:04.0000] <AryehGregor> Yeah, creating the laser will create lots of extra entropy. Surely more than any you lose by it. [16:25:00.0000] <AryehGregor> You can sink as much heat as necessary by radiation if you have enough surface area. [16:25:01.0000] <Philip`> /me thinks we ought to design computers to be entropy-efficient rather than just energy-efficient, since delaying the death of the universe seems a pretty important long-term goal [16:25:02.0000] <AryehGregor> If there were such a thing as a good thermal conductor, that would be trivial. [16:25:03.0000] <AryehGregor> But there are no good thermal insulators or conductors. [16:34:00.0000] <AryehGregor> Wow, top-posting is especially obnoxious when a) the poster starts a new thread so it's not auto-collapsed in Gmail, and b) the quoted post is like ten pages long. [16:34:01.0000] <TabAtkins> Faulkner is basically horrible at writing emails in every way. [16:34:02.0000] <TabAtkins> I shudder to think how his emails sound in a screen reader. [16:36:00.0000] <AryehGregor> Finally! https://bugs.webkit.org/show_bug.cgi?id=57942 [16:36:01.0000] <AryehGregor> Some browser should have done this a couple of years ago, when minification was becoming common. [16:36:02.0000] <TabAtkins> Yay! [16:36:03.0000] <TabAtkins> <3 Inspector Team. [16:39:00.0000] <AryehGregor> Asa Dotzler is . . . pretty concerned about privacy, isn't he? [16:40:00.0000] <othermaciej> Asa Dotzler is concerned about anything relating to non-Firefox browsers [16:43:00.0000] <AryehGregor> Currently he seems to be concerned mostly about search engines. [16:43:01.0000] <AryehGregor> At least judging by his blog. [16:43:02.0000] <AryehGregor> To the extent of repeatedly and enthusiastically endorsing Bing over Google, because of their allegedly superior privacy policy. [16:45:00.0000] <AryehGregor> Am I the only one who thinks Do-Not-Track is a complete waste of time? Advertisers know that the majority of their users don't want to be tracked if you ask them in the abstract without specifying any consequences for saying no, so what does DNT actually change? [16:45:01.0000] <AryehGregor> Of course if you ask people whether they'd like to be tracked, all else being equal, they'll say no. [16:46:00.0000] <zewt> i thought the main point was to act as an explicit "opt out" for purposes of opt-out legislation, but given that the spec allows browsers to send it by default, that seems out the window [16:46:01.0000] <AryehGregor> Yes, that's the killer problem. The site doesn't know if the user has actually opted out, or if something has opted out for them. [16:46:02.0000] <AryehGregor> If it's actually honored, every random piece of software out there is going to helpfully set it off. Why not? [16:47:00.0000] <zewt> well, it's not even *trying* since the spec explicitly allows UAs to send DNT: 1 as the default [16:47:01.0000] <AryehGregor> User tracking is a tradeoff of privacy versus utility, it can't be addressed by posing a one-sided question. [16:47:02.0000] <zewt> which is basically expending bits in every HTTP request to say "people don't like being spied on", which is just wasted bytes [16:47:03.0000] <AryehGregor> Pretty much. [16:48:00.0000] <zewt> may as well put a post-it on your car window, "do not smash" [16:48:01.0000] <zewt> DNS: 1 [16:49:00.0000] <AryehGregor> The real questions you have to ask are: Are you, a user, willing to use this site even though it might track you? And are you, as a website provider, willing to provide service to these users even though you can't track them? [16:49:01.0000] <AryehGregor> Those are the tradeoffs people face. [16:50:00.0000] <AryehGregor> In practice, websites use tracking that's hard to evade because it uses the same mechanism as things that users actually want, namely cookies. [16:50:01.0000] <AryehGregor> And similar things. [16:50:02.0000] <AryehGregor> Not to mention entirely server-side tracking by IP address or other fingerprinting. [16:50:03.0000] <kbrosnan> if people knew what kind of data ad/marketing agencies had on them i doubt many would be happy with the picture it paints of them [16:51:00.0000] <AryehGregor> kbrosnan, of course not. But sites track users because they need to generate revenue to provide a free or lower-cost service, and tracking helps generate revenue. [16:52:00.0000] <AryehGregor> If sites have less revenue, users suffer as a result. [16:52:01.0000] <AryehGregor> You could even go so far to say that users who deliberately try to generate less revenue, such as by opting out of tracking, are leeching off other users. [16:53:00.0000] <AryehGregor> They're refusing to compromise on their personal preferences while profiting from the fact that others are willing to compromise. [16:54:00.0000] <AryehGregor> I wouldn't go that far, but portraying tracking as evil certainly makes no sense to me. [16:54:01.0000] <AryehGregor> Or arguing that users should have some right to be exempt from it, while they're using services funded partly by tracking. [16:55:00.0000] <zewt> tracking information about me, without telling me you're doing it, what you're storing or giving me any way to erase your data--that's a blatant violation of privacy by a whole lot of people's measures [16:56:00.0000] <kbrosnan> maybe it finaly forces a pay for content model. guess we'll see where nytimes is in several months / couple years [16:56:01.0000] <AryehGregor> Not by mine. If I walk into a store, I expect that I might be videotaped and that information might be saved indefinitely. [16:56:02.0000] <AryehGregor> Anytime I provide information to someone else, I have no particular expectation that they won't save it and use it somehow. [16:56:03.0000] <AryehGregor> If I don't want them to, I should refrain from providing the information. [16:57:00.0000] <zewt> by wearing a bag over your head when you walk into the store? [16:57:01.0000] <AryehGregor> If I really wanted to, I'd have to wear a mask or something, yeah. Fortunately, I don't care. [16:57:02.0000] <kbrosnan> currently your only option is to stay out of the web completely and live a cash lifestyle [16:57:03.0000] <AryehGregor> I also have to go now. [16:57:04.0000] <AryehGregor> Bye. 2011-04-19 [19:21:00.0000] <OreoCookie> can anyoner point me to where on whatwg <a name> has been depriciated? It just started showing as a warning in the validator, I have no idea [19:21:01.0000] <OreoCookie> had* [22:17:00.0000] <jacobolus> is there any way to save the current canvas path and fetch it back later? [22:18:00.0000] <MikeSmith> jacobolus: if you don't get an answer here, you might also try asking over on #html5 [22:18:01.0000] <jacobolus> huh. I didn't know that existed. I guess I can join it :) [22:19:00.0000] <jacobolus> in this particular question, I'm not necessarily needing that function, just trying to figure out what's possible [22:19:01.0000] <jacobolus> I'm having a lot of fun writing canvas code in coffeescript [22:19:02.0000] <MikeSmith> coffeescript seems pretty cool [22:20:00.0000] <MikeSmith> I've not messed around with it yet at all [22:20:01.0000] <jacobolus> MikeSmith: I can do this kind of thing http://pastie.textmate.org/private/mwt5aikrepgnsl3eaz8cq [22:20:02.0000] <MikeSmith> pretty clean [22:21:00.0000] <jacobolus> and then later on http://pastie.textmate.org/private/nww6wsqfpftshry6pt0jg [22:21:01.0000] <jacobolus> MikeSmith: yeah, it's possible to make the code very clean [22:21:02.0000] <jacobolus> because creating anon functions is so syntactically cheap [22:22:00.0000] <jacobolus> it means I start using a lot more of them everywhere [22:23:00.0000] <sharksoda> it looks like pseudocode almost [22:23:01.0000] <MikeSmith> it's funny how syntax differences can affect programming style [22:23:02.0000] <jacobolus> yeah, it makes a huge difference [22:24:00.0000] <jacobolus> `function (args) { return foo; }` vs `(args) -> foo` [22:24:01.0000] <jacobolus> or in the case w/o args, even better, `function () { return foo; }` vs `-> foo` [22:24:02.0000] <jacobolus> makes it so that code doing tricky functional stuff is actually readable, instead of buried in a mass of syntax [22:25:00.0000] <jacobolus> I think for instance if you took the code in John Resig's Ninja book and translated to coffeescript, understanding what it was doing would be much less mental effort [22:26:00.0000] <jacobolus> [obviously doesn't apply to the whole book, some of which uses JS features like `with` not used in CS] [22:27:00.0000] <jacobolus> [though actually it would be possible to bring those features into CS by making a couple helper functions for them, as in CS it's possible to wrap raw JS in backticks] [22:29:00.0000] <MikeSmith> there does seem to be a lot of momentum behind CS now [22:29:01.0000] <jacobolus> I really like it [22:29:02.0000] <MikeSmith> one of those things that makes it a lot easier to program Web applications now then it used to be [22:30:00.0000] <MikeSmith> it's hard to imagine now writing a Web app without having Firebug or Web Inspector or whatever for debugging [22:30:01.0000] <jacobolus> I'm still not entirely convinced about any of the client-side structured GUI frameworks around, but that might just be lack of close familiarity [22:31:00.0000] <jacobolus> yes, with no debugger/repl programming is awful [22:31:01.0000] <jacobolus> that goes for pretty much any language [22:31:02.0000] <MikeSmith> yeah [22:32:00.0000] <MikeSmith> it was that way for Javascript for a long time though [22:32:01.0000] <jacobolus> I even think C would be a lot nicer to write code in if it had a widespread repl [22:32:02.0000] <MikeSmith> before Firebug [22:32:03.0000] <jacobolus> yeah, back when men were men &c. [22:32:04.0000] <MikeSmith> heh [22:32:05.0000] <jacobolus> also, browser inconsistencies were a lot more obnoxious at that point [22:33:00.0000] <jacobolus> and everything was semi-broken, it was easy to accidentally cause crashes or memory leaks, &c. &c. [22:33:01.0000] <jacobolus> JS in the browser is getting pretty nice [22:33:02.0000] <jacobolus> it's still not python, but it's getting better :) [22:34:00.0000] <MikeSmith> yeah, it's come a long way [22:34:01.0000] <MikeSmith> as far as a C repl, I guess I've never used a shell environment with a compiled language and don't have such a clear idea of how it would work [22:35:00.0000] <sharksoda> /me writes C daily [22:36:00.0000] <jacobolus> Hixie: we were talking about color spaces &c. the other day; I'm almost at the point where this CIECAM02 color picker is minimally useful http://imgur.com/pwlsn [22:37:00.0000] <MikeSmith> sharksoda: what kind of apps do you work on? [22:37:01.0000] <sharksoda> MikeSmith: games [22:38:00.0000] <MikeSmith> sharksoda: for what kinds of platforms? [22:39:00.0000] <sharksoda> win/mac/linux, no consoles [22:39:01.0000] <MikeSmith> ok [22:39:02.0000] <MikeSmith> have you done much browser-based game development? HTML+JS, I mean [22:40:00.0000] <sharksoda> not yet, it's on my list of things to check out though [22:40:01.0000] <MikeSmith> I ask because it's always useful to hear where game developers see deficiencies in the Web platform that would prevent them from developing Web-based games [22:41:00.0000] <jacobolus> MikeSmith: there are some things that are currently slow that it would be nice to speed up. I think getting the fast arrays and array math from webgl will be very nice [22:42:00.0000] <jacobolus> [though I haven't really played with it yet] [22:42:01.0000] <jacobolus> also, this isn't games exactly, but it'd be nice to have some native crypto accessible from JavaScript APIs [22:43:00.0000] <jacobolus> also, I'll be somewhat excited when more of the nifty parts of SVG are actually supported across browsers [22:48:00.0000] <MikeSmith> jacobolus: which parts of SVG? [22:48:01.0000] <MikeSmith> about crypto, I remember seeing a proposal about that on the whatwg list some time back [22:49:00.0000] <sharksoda> MikeSmith, a few common needs for games I can see being troublesome would be need for gamepads and fullscreen [22:49:01.0000] <jacobolus> MikeSmith: for example, the filter effects [22:50:00.0000] <sharksoda> (of course, I don't think i.e. flash can do gamepads either) [22:51:00.0000] <jacobolus> MikeSmith: for my part, I also really really wish there was a color-profile-supporting web drawing API [22:52:00.0000] <jacobolus> MikeSmith: I think I might at some point end up writing code for parsing PNG images and adding a profile to them (or when possible just setting the 'sRGB' flag), and then just draw on a canvas off-screen, get the PNG, add the profile, and show it w/ a data: url [22:53:00.0000] <jacobolus> but I haven't gotten around to reading enough of the PNG spec to figure out how to do the bits needed to accomplish that [22:54:00.0000] <jacobolus> oh, wow, it looks like the filter effects support in webkit has made substantial progress since last I looked [22:54:01.0000] <jacobolus> http://www.webkit.org/projects/svg/status.xml [22:54:02.0000] <jacobolus> [although "Requires build-webkit --filters to enable"] [22:54:03.0000] <jacobolus> [so still not really usable in production] [22:56:00.0000] <MikeSmith> I didn't know that code had made it in yet [22:56:01.0000] <MikeSmith> that was the big remaining thing the Webkit SVG support was lacking, I think [23:13:00.0000] <ako> <MikeSmith> [...] deficiencies in the Web platform [...] <- Audio is awful, lack of Ogg/Vorbis support in IE9+ and Safari is also annoying [23:14:00.0000] <aho> also missing: full screen and mouse grabbing [23:14:01.0000] <aho> and yea... gamepad support :> [23:14:02.0000] <MikeSmith> there is ongoing discussion about full screen [23:14:03.0000] <MikeSmith> and has been some about mouse grabbing [23:15:00.0000] <MikeSmith> gamepad support, I dunno [23:16:00.0000] <aho> it's also annoying that there isn't a lossy rgba format [23:16:01.0000] <aho> i still blame mozilla for that, by the way [23:16:02.0000] <aho> :> [23:17:00.0000] <aho> http://kaioa.com/node/104 <- splicing images together kinda works though [23:17:01.0000] <aho> but it's not really an option for background-images or regular images [23:18:00.0000] <aho> http://kaioa.com/b/1102/svgjng/index.html <- emulating it via svg also doesnt really work due to some quirk in the svg specs :/ [23:19:00.0000] <aho> about 50% of the renderers use linerRGB (which is technically correct, but silly) and the other half uses sRGB (which is technically wrong, but it's like masking works everywhere) [23:20:00.0000] <MikeSmith> a good place to discuss gamepad events would be on the public-webevents⊙wo mailing list [23:20:01.0000] <MikeSmith> http://lists.w3.org/Archives/Public/public-webevents/ [00:20:00.0000] <MikeSmith> hsivonen: http://bugzilla.validator.nu/ seems to be responding really really slowly the last couple days [00:24:00.0000] <hsivonen> MikeSmith: it responds reasonably to me, but let's see what's going on [00:25:00.0000] <hsivonen> MikeSmith: The validator process on that host is consuming > 90% of CPU [00:25:01.0000] <MikeSmith> wow [00:26:00.0000] <MikeSmith> some bot hitting it, maybe? [00:26:01.0000] <hsivonen> let's see... [00:31:00.0000] <hsivonen> looks like there's been a Firefox extension hitting it [00:31:01.0000] <hsivonen> but now the hits have stopped but the process still consumes CPU resources excessively [00:33:00.0000] <hsivonen> MikeSmith: it should be better now. [00:34:00.0000] <hsivonen> this looks bad, though, since it seems there's a way to get the validator entangled in excessive compute for at least 15 minutes after the validation request [00:42:00.0000] <MikeSmith> hsivonen: that does sound less than ideal [00:45:00.0000] <MikeSmith> hsivonen: coincidentally, I notice that the instance I have running on w3.org/html/check was right now logging massive numbers of messages like this: [00:45:01.0000] <MikeSmith> Desired survivor size 44695552 bytes, new threshold 7 (max 15) [00:45:02.0000] <MikeSmith> [PSYoungGen: 21029K->128K(305856K)] 34967K->14066K(1004928K), 0.0010770 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] [00:45:03.0000] <MikeSmith> 1005653.545: [Full GC (System) [PSYoungGen: 128K->0K(305856K)] [PSOldGen: 13938K->13990K(699072K)] 14066K->13990K(1004928K) [PSPermGen: 16922K->16922K(21248K)], 0.0715880 secs] [Times: user=0.07 sys=0.00, real=0.08 secs] [00:45:04.0000] <MikeSmith> 1005653.635: [GC [00:45:05.0000] <MikeSmith> oh wait [00:46:00.0000] <MikeSmith> that's another process [00:46:01.0000] <MikeSmith> which I just killed… [00:46:02.0000] <MikeSmith> oops [00:47:00.0000] <MikeSmith> somebody else was running it under the screen session I have set up for the validator.nu instance [00:47:01.0000] <MikeSmith> so, their bad for doing that [00:58:00.0000] <micheil> any editors of http://www.w3.org/TR/2011/WD-messaging-api-20110414/ about? [00:59:00.0000] <MikeSmith> micheil: I don't think any of them hang out on IRC on freenode, but dom is on #dap and #webapps on irc.w3.org, port 6665 [01:00:00.0000] <MikeSmith> oh [01:00:01.0000] <MikeSmith> maxf is on freenode on #w3c [01:03:00.0000] <micheil> hmm.. [01:03:01.0000] <micheil> well, yeah, essentially I really think that the API there is kinda crap. [01:04:00.0000] <jacobolus> oh, aho left. you can do lossy rgba by doing a jpg and then adding a mask [01:04:01.0000] <jacobolus> at least in webkit [01:05:00.0000] <MikeSmith> micheil: send comments to public-device-apis⊙wo [01:05:01.0000] <MikeSmith> http://lists.w3.org/Archives/Public/public-device-apis/ [01:06:00.0000] <MikeSmith> micheil: "This draft proposes a vastly different approach to the previously published version, using URI schemes as a way to address different messaging protocols instead of using separate methods. The group is specifically looking for feedback on which approach is felt like the most useful." [01:07:00.0000] <MikeSmith> I guess the previous version is http://www.w3.org/TR/2011/WD-messaging-api-20110120/ [01:08:00.0000] <micheil> hmm.. [01:08:01.0000] <micheil> I feel like the messaging interface should inherit from DOM Events [01:08:02.0000] <micheil> like the WebSocket object. [01:08:03.0000] <MikeSmith> that would be useful feedback I think [01:09:00.0000] <MikeSmith> looking at the commit logs for that draft, it seems like Dominique is the main one working on it these days [01:09:01.0000] <MikeSmith> so chatting with him about it might be useful [01:09:02.0000] <micheil> okay [01:10:00.0000] <hsivonen> http://news.ycombinator.com/item?id=2095083 interesting [01:10:01.0000] <MikeSmith> micheil: I don't think that draft has gotten much review outside of the DAP WG yet [01:10:02.0000] <micheil> okay [01:10:03.0000] <micheil> I just saw it through the latest Weekly WHATWG [01:11:00.0000] <MikeSmith> "Google just hired him full-time for a year to work solely on xvp8" [01:12:00.0000] <MikeSmith> micheil: I'll ask Dom to consider posting a message to the public-webapps list asking for comments [01:12:01.0000] <micheil> xvp8?> [01:16:00.0000] <MikeSmith> https://github.com/rbultje/x264/tree/xvp8 has still not be updated, though [01:17:00.0000] <MikeSmith> so if he's been working on it again for the last month, he must be maintaining the code elsewhere [01:31:00.0000] <MikeSmith> ah, it's 選挙カー season in Japan once again [01:31:01.0000] <MikeSmith> public nuisance [01:32:00.0000] <ezoe> it's shave we still use such old way. [01:32:01.0000] <ezoe> shame [01:32:02.0000] <ezoe> we can't use internet for policitial activities. [01:33:00.0000] <ezoe> oh wait, this is #whatwg. why there is a japanese in here. [01:42:00.0000] <micheil> MikeSmith: did I manage to send you a message before my connection dropped at 09:43? [01:43:00.0000] <micheil> (time based on log time) [01:43:01.0000] <micheil> so, about 5 minutes ago. [01:43:02.0000] <MikeSmith> micheil: last message I got here from you was at :18 [01:44:00.0000] <MikeSmith> or :17 [01:44:01.0000] <micheil> okay, would you be able to review a proposal for the messaging WebIDL? [01:44:02.0000] <MikeSmith> sure [01:44:03.0000] <micheil> cheers [01:44:04.0000] <micheil> just working on it. [01:44:05.0000] <MikeSmith> OK [01:44:06.0000] <MikeSmith> can't promise I can review it today/tonight [01:44:07.0000] <MikeSmith> but can tomorrow [01:45:00.0000] <MikeSmith> I have a bunch of phone conferences tonight [01:45:01.0000] <MikeSmith> and trying to get some validator changes in today [01:46:00.0000] <MikeSmith> which reminds me… [01:46:01.0000] <MikeSmith> hsivonen: I have a review request out to you still [01:46:02.0000] <MikeSmith> the one for checking URLs in meta refresh values [01:47:00.0000] <MikeSmith> there's still no rush on getting it reviewed [01:47:01.0000] <MikeSmith> because it's not blocking me on anything else [01:48:00.0000] <MikeSmith> just hadn't heard back from you on it, so wasn't sure if you remembered [01:48:01.0000] <jacobolus> I don't understand the mozGetAsFile / toBlob thing [01:48:02.0000] <jacobolus> what's wrong w/ PNGs? [01:50:00.0000] <hsivonen> MikeSmith: I didn't realize that there's an outstanding review request. sorry [01:50:01.0000] <MikeSmith> no problem [01:50:02.0000] <MikeSmith> should I re-send it? [01:52:00.0000] <hsivonen> MikeSmith: no, r=hsivonen. [01:52:01.0000] <MikeSmith> cool [01:52:02.0000] <MikeSmith> thanks [01:52:03.0000] <hsivonen> MikeSmith: sorry about missing it when you sent it [01:53:00.0000] <MikeSmith> no worries [01:53:01.0000] <MikeSmith> I forgot about it too, til now :) [01:57:00.0000] <micheil> what's the difference between a sequence<DOMString> and DOMString[] [01:57:01.0000] <micheil> ? [01:58:00.0000] <Lachy> micheil, that difference was just discussed on public-webapps recently [01:58:01.0000] <micheil> okay.. [01:59:00.0000] <Lachy> I'll get a link. [01:59:01.0000] <micheil> k, cheers [02:00:00.0000] <Lachy> micheil, start here http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0203.html [02:00:01.0000] <Lachy> and read the rest of the messages in that thread [02:04:00.0000] <micheil> so, for something like an set of file attachments [02:04:01.0000] <micheil> I'd probably go with sequence<Blob> [02:04:02.0000] <micheil> or sequence<File> [02:05:00.0000] <micheil> (referencing the File API where needed) [02:18:00.0000] <MikeSmith> the "clearly state that there must be only one character encoding declaration in a document" spec bug I filed has been open for a month now with no response [02:18:01.0000] <MikeSmith> http://www.w3.org/Bugs/Public/show_bug.cgi?id=12054 [02:18:02.0000] <MikeSmith> two months [02:35:00.0000] <jgraham> MikeSmith: You should talk to the team contact aboput how to escalate [02:35:01.0000] <MikeSmith> heh [02:36:00.0000] <micheil> MikeSmith: I think this is right: https://gist.github.com/ebd79f6cd4f620fc4fa7 [02:37:00.0000] <MikeSmith> /me looks now [02:37:01.0000] <micheil> Essentially the previous draft had a good API (only instead of create* they become constructors) [02:38:00.0000] <micheil> as we don't do: [02:38:01.0000] <micheil> createXMLHTTPRequest [02:38:02.0000] <micheil> we just do: [02:38:03.0000] <micheil> new XMLHTTPRequest() [02:40:00.0000] <MikeSmith> /me compares with IDL in that previous draft [02:41:00.0000] <micheil> The main changes are: [02:41:01.0000] <micheil> - the additional DOMEvents inheritance [02:42:00.0000] <micheil> - the change of things from being required DOMString[]'s to being optionally a DOMString or an Array of DOMString's [02:42:01.0000] <micheil> - same with EmailAddress[] [02:42:02.0000] <micheil> - uses sequence<Blob> for attachments [02:43:00.0000] <MikeSmith> yeah [02:43:01.0000] <micheil> SMSMessage should inherit from both SMSMessageProperties and Message [02:43:02.0000] <micheil> I wasn't sure whether the syntax for that was: [02:43:03.0000] <MikeSmith> what's the use case of allowing an Array? [02:43:04.0000] <micheil> SMSMessage : Message, SMSMessageProperties {} [02:44:00.0000] <micheil> MikeSmith: multiple recipients [02:44:01.0000] <micheil> I want to send a message directly to john, fred, and bob [02:44:02.0000] <MikeSmith> it seems strange they didn't allow for that before [02:44:03.0000] <hsivonen> dear lazy IRC, does XHR support XML parsing only for XML content types? [02:45:00.0000] <hsivonen> or does it allow, e.g. text/plain or text/html to be parsed as XML? [02:45:01.0000] <micheil> MikeSmith: the previous draft did. [02:45:02.0000] <MikeSmith> oh, OK [02:45:03.0000] <micheil> hsivonen: hmm.. I don't think it does even support XML parsing, does it? [02:45:04.0000] <hsivonen> micheil: it sure does [02:45:05.0000] <micheil> actually, yeah, it does: http://www.w3.org/TR/XMLHttpRequest/#document-response-entity-body [02:46:00.0000] <micheil> so, it has to have +xml in it. [02:46:01.0000] <micheil> text/xml, application/xml, text/foo+xml [02:47:00.0000] <hsivonen> ok. so in which spec will annevk be setting override MIME type to non-null? [02:48:00.0000] <hsivonen> http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#dom-xmlhttprequest-overridemimetype [02:49:00.0000] <micheil> MikeSmith: any thoughts on syntax? [02:50:00.0000] <hsivonen> I suppose there will be no one explaining XHR Level 2 design decisions to me until annevk returns [02:50:01.0000] <MikeSmith> micheil: no, it looks sane to me overall [02:50:02.0000] <hsivonen> yay for getting stuff done in Q2 [02:50:03.0000] <micheil> okay. [02:51:00.0000] <MikeSmith> micheil: I never looked at the original draft at all before today, so I don't have much to go on. but I think what you have at https://gist.github.com/ebd79f6cd4f620fc4fa7 is worth more review and discussion [02:51:01.0000] <hsivonen> I'm rather unhappy about the prospect of the MIME type of XHR getting overridden *after* the request has been initiated [02:51:02.0000] <micheil> MikeSmith: Do most of the JavaScript specs actually have people who write javascript on a daily or weekly basis on their authors list? [02:53:00.0000] <micheil> :/ I have a very awful feeling that my internet speed has been shaped [02:55:00.0000] <MikeSmith> micheil: if you mean the EcmaScript specs, I dunno [02:55:01.0000] <micheil> no, the JavaScript API's [02:55:02.0000] <MikeSmith> if you mean the W3C specs that have APIs with JS bindings [02:55:03.0000] <MikeSmith> oh [02:55:04.0000] <MikeSmith> no, those don't I guess [02:55:05.0000] <MikeSmith> mostly [02:55:06.0000] <micheil> eg, Geolocation, WebSockets, etc. [02:56:00.0000] <jgraham> micheil: Inevitably spec editors (of all types) tend to be langauge geeks rather than working authors [02:56:01.0000] <jgraham> Since working authors are, well, working as authors [02:56:02.0000] <micheil> if they don't, then they should probably put out an open hand to get people on board who use the languages [02:56:03.0000] <jgraham> In theory the open hand is there [02:56:04.0000] <MikeSmith> well, Hixie doesn't write JS on a weekly basis, but he seems to be able to write sane APIs [02:56:05.0000] <jgraham> Although the W3C hand is "open except where it isn't" [02:57:00.0000] <jgraham> And in general the problem is not that feedback is unwelcome but that there is a barrier to entry [02:57:01.0000] <MikeSmith> I guess the DAP list has less participation from working Web developers [02:57:02.0000] <MikeSmith> though they are trying to get more [02:57:03.0000] <jgraham> Caused by the fact that people don't know that feedback is welcome or don't have time to participate or whatever [02:57:04.0000] <micheil> MikeSmith: on hixie, "saner APIs" [02:58:00.0000] <micheil> I'd really love to see the W3C become entirely open. [02:59:00.0000] <micheil> So that individual developers have a say, rather than just individuals backed by corporations. [02:59:01.0000] <MikeSmith> I think the current crop of APIs in Web-platform specs are way better than ones we have had in the past, at least [02:59:02.0000] <micheil> there should be no private and public email lists, just public lists. [03:00:00.0000] <MikeSmith> as far as the area of W3C work that I'm involved in, we already pretty much have no private lists [03:00:01.0000] <MikeSmith> all technical discussion takes place on public lists that anyone can subscribe to and post to [03:00:02.0000] <_o> micheil, w3c feels pretty open to me, have never had a problem that way, and I am just an individual developer not backed by any corporation [03:00:03.0000] <MikeSmith> well, with the exception of the public-html list, which only members of the HTML WG can post to [03:01:00.0000] <MikeSmith> but there are good reasons for that [03:01:01.0000] <webr3> likewise public-rdf is the same, but both rdf and html have *-comments lists for community feedback [03:01:02.0000] <micheil> MikeSmith: to me, a lot of the working groups always have seemed incredibly closed communities. [03:01:03.0000] <jgraham> -comments lists are badness I think [03:01:04.0000] <webr3> (and are still publi) [03:02:00.0000] <micheil> at least public-html is publicly viewable. [03:02:01.0000] <webr3> micheil, strange, I agree - always thought the same, however found different when I put my assumptions to one side - wonder what it is that conveys that to the masses [03:03:00.0000] <hsivonen> I'm at times annoyed at charter reviews being secret and (especially) Team responses to charter review comments being secret [03:03:01.0000] <othermaciej> hsivonen: did this happen to one of your personal charter review comments? [03:04:00.0000] <MikeSmith> micheil: that culture has changed significantly during the last few years [03:04:01.0000] <webr3> sure as hell there are /many/ more people that are interested and would contrib to the work, but they don't even consider it as being a possibility - perhaps a throw back of older closed up tech groups for geeks-we-know only - as people do openly join and comment on open source projects all the time [03:04:02.0000] <micheil> I think all lists should be public (other wise we could almost have a cable-gate style hacker search for answers :P) [03:05:00.0000] <hsivonen> othermaciej: well, I don't send personal charter review comments [03:05:01.0000] <MikeSmith> e.g., the WebApps WG isn't really a unique community at all -- it's sorta several sometimes overlapping communities, and many of the same people who participate on the whatwg mailing list, and here [03:05:02.0000] <hsivonen> othermaciej: let's say it has happened with charter review comments that I am interested in [03:06:00.0000] <MikeSmith> micheil: some of the people who post the most useful technical feedback on W3C mailing lists -- stuff that actually results in spec changes -- are not members of any W3C working groups [03:07:00.0000] <MikeSmith> micheil: that lists that matter are all public [03:07:01.0000] <micheil> I think all lists fullstop should be public. [03:08:00.0000] <micheil> there shouldn't be that veil of secrecy [03:08:01.0000] <hsivonen> othermaciej: basically, I've never noticed any other organization than Mozilla making their charter review comments public [03:08:02.0000] <jgraham> MikeSmith: There are some things that are still very much closed e.g. only capital-M Members get any substantive voice in the spec licensing [03:08:03.0000] <hsivonen> othermaciej: and all responses to charter review comments are secret [03:08:04.0000] <MikeSmith> jgraham: yeah, true [03:08:05.0000] <MikeSmith> jgraham: well, not totally true [03:09:00.0000] <jgraham> Sure, there is feedback from the community [03:09:01.0000] <micheil> For instance, it's only recently that I've started asking questions and suggesting things in the WebSocket's discussions, as I didn't feel as though any of my comments were ever being heard, unless I spoke to hixie directly [03:09:02.0000] <MikeSmith> yeah, I would not say that are the only ones that get a substantive voice [03:09:03.0000] <jgraham> But it is possible for the Members to ignore that entirely if they choose [03:10:00.0000] <MikeSmith> jgraham: not exactly. because it's not being put a simple vote [03:10:01.0000] <jgraham> Oh, well maybe it is even more complex than I thought. [03:11:00.0000] <MikeSmith> micheil: not sure what to suggest about that. That's not a problem unique to W3C working groups. You can post to the whatwg list and never get responses either. It's mostly just a question of timing and people being too busy to respond [03:12:00.0000] <MikeSmith> micheil: have you posted to the hybi list? [03:12:01.0000] <jgraham> MikeSmith: (Hixie will later point out that he responds to all substantive comments to whatwg) [03:12:02.0000] <hsivonen> doh. I failed to put [XHR2] in the subject line of my email to public-webapps [03:12:03.0000] <jgraham> MikeSmith: (I can't verify this) [03:13:00.0000] <MikeSmith> jgraham: yeah, in my experience, he actually does [03:13:01.0000] <MikeSmith> though it may be a year or two before he does [03:14:00.0000] <jgraham> Indeed, the latency can be quite high [03:15:00.0000] <MikeSmith> I think it's lower these days, though [03:15:01.0000] <MikeSmith> for the last couple years [03:15:02.0000] <jgraham> It depends what you comment on, I think [03:15:03.0000] <MikeSmith> sure [03:18:00.0000] <benschwarz> MikeSmith: You're right about too busy. I'd love to be as involved as I was even a few months ago [03:18:01.0000] <benschwarz> so I think the answer is that organisations like the w3c and whatwg need to make it clear about the feedback that they're looking for… [03:18:02.0000] <benschwarz> in micro updates [03:18:03.0000] <benschwarz> perhaps tweets to discussion threads about given things here or there [03:19:00.0000] <MikeSmith> that requires people who have some time and enthusiasm for doing that [03:19:01.0000] <benschwarz> because I know what peices of web technology I feel strongly about if I see them in my twitter feed [03:19:02.0000] <MikeSmith> karl was great about getting information out when he was on the W3C team [03:19:03.0000] <benschwarz> and would act at the time [03:20:00.0000] <benschwarz> MikeSmith: perhaps its time that the w3c employed some "developer evanglists" like technology companies do [03:20:01.0000] <benschwarz> budgetry is hard, of course [03:21:00.0000] <benschwarz> there does need to be a change of mindset though [03:21:01.0000] <benschwarz> amongst the greater web™ [03:22:00.0000] <benschwarz> also, I've posted to whatwg and never had any replies [03:22:01.0000] <benschwarz> I guess you wonder why you bothered when that happens [03:23:00.0000] <MikeSmith> developer evangelism is something that everybody on the team is expected to do as part of their job, I guess [03:23:01.0000] <jgraham> benschwarz: The thing about microupdates is that the s/n is too low for people to follow [03:23:02.0000] <MikeSmith> I suppose Philippe and Doug do a lot more of it than I do [03:24:00.0000] <jgraham> benschwarz: If you are only interested in one message out of 100 you aren't going to subscribe [03:24:01.0000] <jgraham> And if you are interested in 50 / 100 then you should probably be on the list instead [03:24:02.0000] <jgraham> Plus the world isn't really organised like that [03:25:00.0000] <jgraham> I mean specs develop in parallel, so it's not like there is exactly one thing at any given time [03:25:01.0000] <MikeSmith> I think the focus more should be on trying to get features in specs actually implemented on deployed on a large scale [03:26:00.0000] <MikeSmith> anyway, I need to step away for a bit [03:26:01.0000] <MikeSmith> back later [03:32:00.0000] <micheil> benschwarz: I'd probably do it for free, in the vein that I want a better web. [03:32:01.0000] <micheil> Just like I contribute to Open-Source software, I want better software, libraries, platforms, frameworks, etc. [03:35:00.0000] <benschwarz> micheil, the very fact that you log here somewhat proves that [03:36:00.0000] <benschwarz> but thats true of all of us, isn't it? [03:36:01.0000] <micheil> benschwarz: fair point [03:49:00.0000] <jacobolus> so I'm finding in my current application that I really want to get at the content of the current transformation matrix in several places [03:49:01.0000] <jacobolus> in canvas [03:50:00.0000] <jacobolus> I think I'm going to just write helper functions wrapping up all the canvas transformation functions and simultaneously saving the current matrix in jquery.data [03:50:01.0000] <jacobolus> in a stack, that gets pushed to/popped from when I do save/restore [03:51:00.0000] <jacobolus> then I'll be able to get the current transformation at any time, and do various useful stuff with it, like figuring out the nearest pixel to a point so that I can draw along pixel boundaries and avoid antialiasing [03:53:00.0000] <jacobolus> and keeping the translation but resetting the scale/rotation, so that I can draw relative to device pixels, but at a given point in the current transformation space [03:54:00.0000] <jacobolus> I don't think using stuff that looks like "translate(context, ...)" will be too much worse than "context.translate(...)" [03:54:01.0000] <jacobolus> in terms of code readability [03:55:00.0000] <jacobolus> though it might make more sense to just make a "canvas wrapper" object and make all these things methods [03:56:00.0000] <jacobolus> in which case I wouldn't have to bother with jquery.data for saving the state [04:43:00.0000] <jacobolus> typo in css 2d transforms spec [04:43:01.0000] <jacobolus> "The CSSMatrix interface represents a 4x4 homogeneous matrix" [04:43:02.0000] <jacobolus> .... "Each of these attributes represents one of the values in the 3x2 matrix." [04:44:00.0000] <karlcow> benschwarz: does the work of shelley powers on the blog http://blog.whatwg.org/ or mine on http://www.w3.org/QA/archive/open_web/ help? [04:44:01.0000] <karlcow> Would you prefer something in addition of that? [04:50:00.0000] <hsivonen> browser vendors who maintain XML parsing capability might be interested in http://lists.w3.org/Archives/Public/public-xml-processing-model-comments/2011Apr/0005.html [04:51:00.0000] <jacobolus> who was it that was telling me yesterday about canvas matrices being written in column-major order? well bah, svg matrices are written row-major [04:51:01.0000] <jacobolus> annoying [04:52:00.0000] <jacobolus> is it possible to create/manipulate CSSMatrix objects from JavaScript? [04:53:00.0000] <jgraham> hsivonen: I presume we would collectively ignore any attempt to require procesing external entities [04:54:00.0000] <hsivonen> jgraham: they aren't really *requiring* it. they are using words that give more ammo to people who want to argue in bug reports. [04:54:01.0000] <jacobolus> oh, I guess that's not a typo in the css 2d transform spec; it's just really confusing [04:54:02.0000] <jacobolus> confusing since that spec doesn't explain why 4x4 [04:57:00.0000] <jgraham> hsivonen: Yeah. I am unconvinced that the cost of arguing upfront is not greater than the cost of wontfixing the bugs but maybe I am wrong [04:58:00.0000] <zcorpan> hsivonen: i see little value in the xml profiles spec to begin with [04:58:01.0000] <zcorpan> so i've put it on my ignore list [04:59:00.0000] <jacobolus> oh, I see, it's called WebKitCSSMatrix [05:00:00.0000] <jacobolus> I guess if I'm writing code for doing matrix math I should defer to that where available? [05:07:00.0000] <Philip`> jacobolus: You could probably override CanvasRenderingContext2D.prototype.translate or something, maybe, though that's probably evil [05:08:00.0000] <jacobolus> Philip`: override it? [05:09:00.0000] <Philip`> Like set it to a different function [05:09:01.0000] <Philip`> which will get called when you do ctx.translate() [05:09:02.0000] <jacobolus> hmm, I don't want to do that [05:09:03.0000] <jacobolus> that seems evil :) [05:09:04.0000] <Philip`> (I don't know if all browsers support that, though) [05:09:05.0000] <Philip`> It is :-) [05:09:06.0000] <jacobolus> I think the wrapper way is best maybe [05:09:07.0000] <jacobolus> just make a "SnazzyCanvas" class [05:10:00.0000] <jacobolus> Philip`: did you see some of my nifty coffeescript canvas bits? [05:10:01.0000] <Philip`> Someone should make a standard canvas wrapper class with all the nice API features that people ever ask for [05:10:02.0000] <Philip`> rather than everybody either writing their own or asking for it to be in the spec [05:11:00.0000] <jacobolus> Philip`: I've got helper functions like these: http://pastie.textmate.org/private/igg5gtdbue68crt6jjdrra [05:11:01.0000] <jacobolus> so I can then write stuff like http://pastie.textmate.org/private/o96lu7ppljzjd1feijzg [05:13:00.0000] <jacobolus> Philip`: I think a standard canvas wrapper is a good idea, though if I was writing it I'd be tempted to use a lot of anonymous functions that people using javascript instead of coffeescript might not be the biggest fans of, in in JS they're kind of syntactically heavy [05:16:00.0000] <jacobolus> [whoops, a couple typos in those, but they give the right idea] [05:24:00.0000] <MikeSmith> hsivonen: I see at least that "minimum XML processor profile" has at least changed to not require external entity processing [05:24:01.0000] <MikeSmith> originally, it did [05:24:02.0000] <MikeSmith> so there was no profile that browsers could match [05:24:03.0000] <hsivonen> MikeSmith: whoa. that was a pretty bad "originally" starting point [05:24:04.0000] <MikeSmith> yeah [05:25:00.0000] <zcorpan> i think it was in that state when i looked at it before [05:25:01.0000] <MikeSmith> http://www.w3.org/TR/2010/WD-xml-proc-profiles-20100518/#minProfile [05:25:02.0000] <MikeSmith> I remember commenting on that at time [05:25:03.0000] <MikeSmith> well, "commenting" here at least [05:25:04.0000] <MikeSmith> not on any list [05:33:00.0000] <jacobolus> Philip`: oh wow, speaking of canvas wrappers: in may 2008, john resig's processing.js was 1.7 KLOC. Now it's 19 KLOC [05:34:00.0000] <jacobolus> (700 KB. ooph) [05:36:00.0000] <jacobolus> anyway, though, if there are obvious "nice API features that people ask for", I'd love to hear about them [05:49:00.0000] <MikeSmith> hsivonen: anyway, it seems like the XML Profiles "Recommended" thing is a bit of a naming issue [05:49:01.0000] <MikeSmith> they could label it something else [05:50:00.0000] <MikeSmith> and it might actually be worthwhile to suggest another label for it [05:50:01.0000] <zcorpan> anyone know what problem they're solving with that spec? [05:50:02.0000] <zcorpan> MikeSmith: hsivonen already suggested 'Legacy' [05:51:00.0000] <MikeSmith> heh [05:51:01.0000] <MikeSmith> ah, I see that now [05:52:00.0000] <zcorpan> maybe rename the minimal profile to 'Minimal legacy' [05:52:01.0000] <MikeSmith> I guess I should have read his whole message, rather than jumping around [05:52:02.0000] <MikeSmith> I don't think "Legacy" is going to fly with that WG [05:52:03.0000] <zcorpan> jumping around is good for blood circulation [05:52:04.0000] <MikeSmith> heh [06:51:00.0000] <jacobolus> Philip`: oh, you probably know about this thing, but it's kind of neat http://code.google.com/p/canto-js/source/browse/trunk/canto.js [07:14:00.0000] <_bga> function C, function T, ... [07:14:01.0000] <_bga> APLer [07:16:00.0000] <_bga> also good smile ._. [08:21:00.0000] <wilhelm> Oh, this will be fun. Opera handles 204 MIME-types natively, of which only a limited subset should be overridable by registerContentHandler(). [08:22:00.0000] <hsivonen> wilhelm: whoa! is there a public list of the mime types? [08:22:01.0000] <wilhelm> hsivonen: Not at the moment. I'm grepping source code. (c: [08:22:02.0000] <hsivonen> wilhelm: does that include weird stuff like mechanisms that *ask* the cellular provider's transparent proxy to MITM HTTP connections for acceleration [08:23:00.0000] <hsivonen> BTW, that request header is pure bloat when the user is on a network that doesn't have that kind of transparent proxy [08:23:01.0000] <wilhelm> hsivonen: No, I don't think so. [08:24:00.0000] <wilhelm> Oh, it seems it's just 102. [08:24:01.0000] <wilhelm> /me digs in. [08:50:00.0000] <MikeSmith> wilhelm: nice catch (about Disallowing dots in the protocol argument of registerProtocolHandler() [08:51:00.0000] <erlehmann> hsivonen, usually, cell providers do that without asking. or so i experienced in in the germanies. [08:52:00.0000] <hsivonen> erlehmann: do what exactly? [08:52:01.0000] <wilhelm> MikeSmith: Thanks. register*Handler() are very nice, but they're disasters waiting to happen. We have to step very carefully here. (c: [08:53:00.0000] <hsivonen> erlehmann: Opera Mobile 11 sends an X-EBO-UA request header [08:54:00.0000] <MikeSmith> wilhelm: true, but it's a very useful feature, and most very useful features often seem to have some gotchas waiting [08:54:01.0000] <erlehmann> hsivonen, MITM HTTP connections. [08:54:02.0000] <erlehmann> i switched away from t-mobile for that reason. [08:54:03.0000] <wilhelm> MikeSmith: Absolutely. [08:54:04.0000] <erlehmann> the O2 salesman apparently figured out he can get me with „we respect net neutrality“ [08:54:05.0000] <hsivonen> erlehmann: If my googling skills work, this tells some proprietary product hosted by the network provider that Opera accepts stuff that has been munged by this EBO thing [08:54:06.0000] <erlehmann> hehehe [08:55:00.0000] <hsivonen> erlehmann: isn't there a law against the network conduit tampering with the messages in transit? [08:56:00.0000] <hsivonen> the value of the X-EBO-UA header is remarkably long [08:56:01.0000] <erlehmann> hsivonen, there should be, but i have no idea how it would apply. t-mobile also actually seemed to block voip and instant messaging services back then, charging to „enable it“ (probably still do it now) [08:57:00.0000] <hsivonen> erlehmann: wow. that sounds like U.S. badness--not something that should be happening in the EU [08:57:01.0000] <wilhelm> hsivonen: I wish there was. My favourite operator MITH munging bug was the one where an operator proxy looked at the DOCTYPE of the loaded document. If it was XHTML, it would serve it with an XML MIME type instead of text/html. [08:58:00.0000] <hsivonen> the European style is tampering with DNS to change the records of domains that the police doesn't approve of [08:58:01.0000] <wilhelm> s/MITH/MITM [08:58:02.0000] <hsivonen> wilhelm: bad craziness. what was that supposed to accomplish? [08:58:03.0000] <wilhelm> Since there are only five valid XHTML documents on the Web, every single Web page broke. [08:59:00.0000] <wilhelm> hsivonen: I have no idea. (c: [08:59:01.0000] <erlehmann> hsivonen, what i dislike most about those compressing proxies is that they use assumptions that work in 90% of cases and break stuff in the rest of cases. like, the admin tools for an imageboard i shall not name did not work anymore (we switched to HTTPS later) [09:00:00.0000] <wilhelm> So, uh, there are a couple of old Opera OEM deliveries that will always parse XML as HTML. :P [09:00:01.0000] <wilhelm> That was the lesser evil. [09:00:02.0000] <erlehmann> wilhelm, i find that funny. [09:00:03.0000] <erlehmann> those who live by the XHTML doctype, die by it. [09:01:00.0000] <wilhelm> Well, it was just Opera that did the dying. :P [09:01:01.0000] <erlehmann> oh well, yeah, some compressing proxies actually manage to invalidate perfectly fine XML documents by inserting bogus markup. [09:03:00.0000] <wilhelm> A related, very fun bug is that some IIS servers insist on sending text/xml instead of text/html to Opera. [09:03:01.0000] <erlehmann> >IIS [09:03:02.0000] <erlehmann> i see what you did there [09:03:03.0000] <wilhelm> Based on accept headers? No. Browser sniffing. [09:03:04.0000] <wilhelm> So all other browsers get text/html, and all works well. [09:06:00.0000] <wilhelm> Here's an example: http://home.mcafee.com/campaign.aspx?cid=77419&affid=0&ctst=1 [10:31:00.0000] <karlcow> wilhelm: sounds like http://my.opera.com/ODIN/blog/2011/03/30/improving-interoperability-the-story-of-a-bug [10:32:00.0000] <karlcow> yup [10:32:01.0000] <karlcow> Server: Microsoft-IIS/7.0 [10:32:02.0000] <karlcow> X-Powered-By: ASP.NET [10:33:00.0000] <karlcow> for curl -sI "http://home.mcafee.com/campaign.aspx?cid=77419&affid=0&ctst=1" [10:33:01.0000] <karlcow> http://www.rohanradio.com/getting-aspnet-to-play-nice-with-opera-wget [10:36:00.0000] <TabAtkins> Sigh. Abstraction is hard. [10:36:01.0000] <jgraham> Let's go shopping? [10:36:02.0000] <GarethAdams|Home> TabAtkins: Abstraction is (a kind of) hard [10:36:03.0000] <TabAtkins> Heh. [10:37:00.0000] <TabAtkins> Anyway, one of my team just found a problem with my Animations proposal, so I'm drawing a diagram to more clearly illustrate it (and have an excuse to improve my SVG), then I'll have to brainstorm around the issue. [10:40:00.0000] <hober> Hixie: you might get to publish HTML5 in HTML5 after all: http://www.w3.org/Bugs/Public/show_bug.cgi?id=9961#c3 [10:40:01.0000] <jgraham> /me learns to his amuement that the PC alternative to "brainstorm" is "mindshower" [10:40:02.0000] <jgraham> *amusement [10:41:00.0000] <TabAtkins> jgraham: Wut. [10:44:00.0000] <jgraham> TabAtkins: Apparently someone somewhere thinks that brainstorm might be offensive due to the fact that it can also mean "seziure" [10:44:01.0000] <TabAtkins> Someone is retarded. [10:45:00.0000] <TabAtkins> Also: anyone who calls a seizure a "brainstorm" is an idiot, because the term was already taken. [10:45:01.0000] <jgraham> /me always wonder if they do carefully controlled studies to determine stasistically significant deltas in offence taken for these cases [10:45:02.0000] <jgraham> *statistically [10:47:00.0000] <jgraham> TabAtkins: If I had access to the proper OED I could probably find out if you are right about the order in which the term was given each meaning [10:47:01.0000] <gsnedders> TabAtkins: And anyone who uses any euphemism is also an idiot, because all terms already existed? [10:47:02.0000] <gsnedders> jgraham: heh, good thought. *logs onto OED* [10:48:00.0000] <TabAtkins> gsnedders: Anyone who uses a euphemism that's already taken, and then gets offended by the previous usage, is. [10:48:01.0000] <jgraham> (obviously I agree that being offened in this case would be ridiculous) [10:48:02.0000] <TabAtkins> Similar to people getting offended by british-english speakers saying "fag". [10:48:03.0000] <jgraham> (but not nearly as ridiculous as using the term "mindshower" in public) [10:50:00.0000] <jgraham> (I mean honestly, "mindshower"?!) [10:50:01.0000] <gsnedders> TabAtkins: brainstorm seems to have meant a seizure first, so the term was already taken when it came to have its common meaning now [10:51:00.0000] <jgraham> (the only possible use of that has is "I just accidentially looked at goatse and now I need a mindshower") [10:51:01.0000] <TabAtkins> gsnedders: Darn, okay. Well then I have an alternate way to be offended! [10:52:00.0000] <TabAtkins> It's similar to the kerfuffle over Tiger Woods referring to himself as a "spaz", when the term has lost all negative connotations in american english (to the point where nearly all americans are unaware there even *is* a medically pejorative meaning). [10:53:00.0000] <jcranmer> there is a medically pejorative meaning? [10:54:00.0000] <TabAtkins> It refers to people who are spastic, with that referring to some type of neural disorder. [10:54:01.0000] <jcranmer> I that spazzing just meant freaking out [10:54:02.0000] <gsnedders> TabAtkins: What sense you use a word in is what determines whether it is offensive or not. Certainly, I think "fag" as an insult is still frequently used in much the same way as something more direct like "homo" is, at least when I've had it shouted at me. [10:54:03.0000] <jgraham> jcranmer: http://en.wikipedia.org/wiki/Spasticity [10:54:04.0000] <TabAtkins> gsnedders: Of course! Which is yet another layer of idiocy on the mindshower thing. [10:54:05.0000] <TabAtkins> I can use "chuwero" in an offensive manner, despite it being a nonsense racial epithet. [10:55:00.0000] <jcranmer> bullplop [10:58:00.0000] <MikeSmith> about http://html5.org/r/6008 - [10:58:01.0000] <MikeSmith> should <table border> be valid? [10:59:00.0000] <MikeSmith> that is, <table border> instead of <table border=""> [11:00:00.0000] <TabAtkins> Unless something went crazy with the decision (given that it was built from Leif's text, not impossible), the two are equivalent in every way. [11:00:01.0000] <MikeSmith> ok [11:02:00.0000] <micheil> hmm.. the guys behind the netinfo api should really talk with the sysinfo guys: http://dev.w3.org/2009/dap/system-info/Overview.html#network [11:28:00.0000] <TabAtkins> gsnedders: Quit abusing the spec feedback system http://www.w3.org/Bugs/Public/show_bug.cgi?id=12523 [11:28:01.0000] <gsnedders> Meow? [11:28:02.0000] <gsnedders> Meow. [11:28:03.0000] <jgraham> gsnedders: You are not shoelaces [11:29:00.0000] <gsnedders> TabAtkins: Just be glad you haven't seen me with friends here. We have whole conversations just meowing at each other. (And yes, we can tell what we mean.) ^_^ [11:30:00.0000] <TabAtkins> Well, sure, you can tunnel information through almost any communication medium. [11:31:00.0000] <jgraham> gsnedders actually does http over ssh over meow [11:31:01.0000] <jgraham> Whenever he wants to tell anyone something he has to phrase it as a POST [11:32:00.0000] <jgraham> Doing the decryption is a bitch though [11:32:01.0000] <gsnedders> Meow? [12:05:00.0000] <Hixie> benschwarz: when did you send the e-mail that you haven't gotten a reply to? [12:06:00.0000] <Hixie> benschwarz: with all the htmlwg stuff i haven't been able to respond to feedback at all for a few months now [12:06:01.0000] <Hixie> except for specific things like multitrack [12:42:00.0000] <TabAtkins> MikeSmith: I dunno who I should talk to, but the permissions on http://dev.w3.org/csswg/css3-content/Overview.html are suddenly borked. [12:42:01.0000] <TabAtkins> http://dev.w3.org/csswg/css3-content/Overview.src.html is still okay. [12:46:00.0000] <MikeSmith> TabAtkins: checking now [12:46:01.0000] <MikeSmith> weird [12:46:02.0000] <MikeSmith> all dev.w3.org content is public [12:47:00.0000] <MikeSmith> in my experience [12:47:01.0000] <TabAtkins> Indeed. [12:47:02.0000] <TabAtkins> Dunno how it got messed up. [12:48:00.0000] <TabAtkins> Last CVS-based change was over 6 months ago, and I know it was working normally a month or two ago. [12:49:00.0000] <MikeSmith> fantasai checked in that error page [12:49:01.0000] <MikeSmith> overwrote the actual content [12:49:02.0000] <MikeSmith> as far as I can see [12:49:03.0000] <TabAtkins> ... [12:49:04.0000] <TabAtkins> awesome [12:49:05.0000] <MikeSmith> http://dev.w3.org/cvsweb/csswg/css3-content/Overview.html [12:50:00.0000] <TabAtkins> Maybe last thing I checked was the TR? [12:50:01.0000] <TabAtkins> I'll fix it, then. [12:50:02.0000] <MikeSmith> http://dev.w3.org/cvsweb/csswg/css3-content/Overview.html.diff?r1=1.2;r2=1.3;f=h [12:50:03.0000] <MikeSmith> OK [12:50:04.0000] <TabAtkins> Ooh, I'll bet she used Chrome or something that makes another GET request to the resource when you do a Save. [12:51:00.0000] <MikeSmith> yup [12:51:01.0000] <TabAtkins> SO DUMB [12:51:02.0000] <MikeSmith> well, not dumb [12:51:03.0000] <MikeSmith> fantasai ain't dumb… [12:51:04.0000] <TabAtkins> /me keeps a Firefox up for the sole purpose of saving generated specs. [12:51:05.0000] <TabAtkins> No, Chrome is dumb. [12:51:06.0000] <MikeSmith> ah [12:51:07.0000] <TabAtkins> Fantasai made an easy mistake. Pretty sure I've done that before. [12:52:00.0000] <MikeSmith> me too [12:52:01.0000] <MikeSmith> browsers is dum [12:52:02.0000] <MikeSmith> /me kicks browsers [12:54:00.0000] <TabAtkins> Actually, she would have gotten a nearly-blank page with "unknown request" or whatever on it if she'd done that. [12:54:01.0000] <tw2113> /me read that with the intro to Beastie Boys' song "You Gotta Fight" [12:54:02.0000] <TabAtkins> I suspect she used one of the wget scripts without supplying proper auth. [12:55:00.0000] <gsnedders> If I wanted to be condesending and annoying, I'd call her a silly little girl at this point. [12:55:01.0000] <TabAtkins> What's the point in that? It was a simply mistake. [12:56:00.0000] <gsnedders> to be condesending and annoying [12:56:01.0000] <TabAtkins> The tools for generating our specs are annoying. [13:01:00.0000] <MikeSmith> respec is better than most [13:02:00.0000] <MikeSmith> OK, I just implemented support for the decision about table border [13:02:01.0000] <MikeSmith> http://html5.org/r/6008 [13:03:00.0000] <MikeSmith> value of border must be either 1 or empty string [13:03:01.0000] <bga_> i want 0, 2*Math.PI as default arguments in Canvas2D#arc [13:03:02.0000] <MikeSmith> if anybody cares to test it at http://www.w3.org/html/check [13:04:00.0000] <bga_> writing it each time so annoying [13:04:01.0000] <MikeSmith> and let me know if you find bugs [13:04:02.0000] <MikeSmith> and/or add comments at http://bugzilla.validator.nu/show_bug.cgi?id=825 (and reopen) [13:06:00.0000] <jgraham> gsnedders: If I wanted to be annoying I would laugh at you because they are using respec and not anolis [13:06:01.0000] <bga_> but can wrap .arc in Canvas.prototype [13:06:02.0000] <bga_> yeah [13:06:03.0000] <gsnedders> jgraham: I don't care about Anolis :P [13:09:00.0000] <wilhelm> Hixie: I would absolutely be more comfortable with a whitelist for registerProtocolHandler() – at least until we see how the feature will be used in the wild. [13:09:01.0000] <MikeSmith> I weep for Anolis, he is dead! [13:16:00.0000] <wilhelm> Hixie: The same applies to registerContentHandler(), really. Opera's default blacklist would have to be about 100 entries long – only including MIME-types the browser has native support for. We should probably blacklist some MIME-types covered by plugins too. |c: [13:20:00.0000] <MikeSmith> gsnedders: have you read James Kelman? [13:21:00.0000] <gsnedders> MikeSmith: no [13:21:01.0000] <MikeSmith> gsnedders: I'm reading "How late it was, how late" [13:22:00.0000] <MikeSmith> and this is just about the greatest book I have read in a gazillion years [13:29:00.0000] <TabAtkins> CSSWG doesn't use respec, though. We use a collection of perl scripts that Bert wrote, conveniently packaged into a cgi. [13:30:00.0000] <MikeSmith> TabAtkins: sadly, those ain't even perl scripts [13:30:01.0000] <MikeSmith> the source for those this a thing of wonder [13:31:00.0000] <MikeSmith> *is a thing of wonder [13:31:01.0000] <Hixie> wilhelm: yeah; harder to know what to do with the mime type case, realistically, since there are far more types that make sense to whitelist [13:31:02.0000] <gsnedders> TabAtkins: It's mainly C stuff [13:31:03.0000] <TabAtkins> Awesome. [13:31:04.0000] <MikeSmith> gsnedders: no it's not [13:31:05.0000] <jgraham> Oh, I thought it was a complex system of ants and tunnels [13:31:06.0000] <MikeSmith> it is from an era that predates perl and C [13:31:07.0000] <MikeSmith> jgraham: yah, more like that [13:32:00.0000] <MikeSmith> reading the source of it is an educational experience [13:33:00.0000] <jgraham> It educates you that you have better - or at least less mindbending - things to do with your life? [13:34:00.0000] <MikeSmith> it's cheaper than other mind-altering substances [13:34:01.0000] <MikeSmith> and less un-legal [13:34:02.0000] <jgraham> Ah, is that also why W3C strictly controls access? [13:35:00.0000] <MikeSmith> yes [13:35:01.0000] <MikeSmith> we cannot unleash the hallucinogenic power of boscode on the unwashed masses [13:36:00.0000] <jgraham> /me presumes "boscode" is an ant-powered analog of bytecode or machine code [13:38:00.0000] <MikeSmith> "boss" code (extra(neous) "s" removed for extra efficiency…) [13:39:00.0000] <MikeSmith> http://dev.w3.org/csswg/?C=M;O=D [13:39:01.0000] <MikeSmith> good god almighty [13:39:02.0000] <MikeSmith> and they claim that the HTML spec is too big and complicated [13:39:03.0000] <MikeSmith> modularization wtf [13:40:00.0000] <MikeSmith> solve the complexity problem by spreading it as widely as possible [13:42:00.0000] <TabAtkins> Basically, yeah. [13:42:01.0000] <TabAtkins> The ideal is a bunch of loosely-interacting modules, so you can read one without having to know too much about the others. [13:43:00.0000] <TabAtkins> This doesn't always happen. [13:43:01.0000] <hober> witness the N grid/layout drafts of late [13:43:02.0000] <TabAtkins> More than that, though, it's a hack around the W3C process. CSS found a way to get a Living Standard within the Rec process. [13:44:00.0000] <MikeSmith> +1 to living standards [13:44:01.0000] <MikeSmith> as opposed to dead ones [13:44:02.0000] <TabAtkins> The layout drafts are a good example of the "loosely-interacting modules", actually. The interaction surface is still somewhat badly defined, but I'm working on that within Flexbox, and what I learn should spread to Grid. [13:45:00.0000] <TabAtkins> And then to Table, when somebody writes that some day. [13:45:01.0000] <jgraham> TabAtkins: The hack being that you can stop taking anything to Rec and always have N-1 things left to work on? [13:45:02.0000] <TabAtkins> jgraham: I don't understand what you're trying to make fun of, unfortunately. [13:47:00.0000] <jgraham> Nothing really. I think The Process is pretty silly. But I am not sure the CSS approach is good either [13:48:00.0000] <jgraham> One effect seems to be that it is easy to ignore the conceptual bits and hope that someone fixes them later [13:48:01.0000] <TabAtkins> Well, it's already paying dividends with a few specs moving higher in the Rec track well before anything else. [13:48:02.0000] <TabAtkins> Yes, that's a side-effect we've discovered. [13:50:00.0000] <wilhelm> Hixie: Indeed. We could make a low-friction process for the whitelist, though. If we maintain a canonical whitelist accompanying the spec, deploying updated lists to at least Opera installations worldwide is trivial. Opera already phones home once per week, asking for an updated IDN whitelist, browser.js, UA string spoof list, etc. A MIME-type whitelist wouldn't add much overhead. (I don't know if other UAs do something similar, though. If they don't, disregar [13:51:00.0000] <TabAtkins> Chrome obviously does something similar. [13:51:01.0000] <wilhelm> That makes two… (c; [13:51:02.0000] <TabAtkins> And I'm pretty sure FF phones home for some lists. IE does for their compat lists. [13:52:00.0000] <gsnedders> wilhelm: " If they don't, disregar" [13:52:01.0000] <jgraham> Having to maintain a weekly list for such a little-used feature seems like a drag though [13:52:02.0000] <wilhelm> gsnedders: … disregard this suggestion. :) [13:53:00.0000] <wilhelm> 21:58 -!- Irssi: Loaded script splitlong [13:53:01.0000] <wilhelm> :P [13:53:02.0000] <gsnedders> wilhelm: Also, go and have fun today. :P [13:53:03.0000] <jgraham> wilhelm: I was about to say, it was you instructing on the use of that :p [13:53:04.0000] <Hixie> ooh how do we get splitlong! [13:53:05.0000] <Hixie> and why is it not a default [13:53:06.0000] <jgraham> gsnedders: Maybe this is his idea of fun [13:53:07.0000] <wilhelm> /load splitlong.pl [13:53:08.0000] <TabAtkins> Aw yus. [13:54:00.0000] <wilhelm> gsnedders: I am! I'm playing Dragon Age II. [13:54:01.0000] <Hixie> awesome [13:54:02.0000] <wilhelm> gsnedders: And eating cake. An as good birthday as any. (c; [13:54:03.0000] <jgraham> wilhelm: irc with one hand, games with the other and a cocktail balanced on your lap? [13:54:04.0000] <jgraham> Oh cake is better [13:55:00.0000] <tw2113> cake rocks [13:55:01.0000] <wilhelm> jgraham: Pretty much. (c: [13:55:02.0000] <gsnedders> /me is going bowling tomorrow… 9, 19… what's the difference? :) [13:58:00.0000] <jgraham> wikipedia claims that rock cakes are a common feature in Harry Potter [13:58:01.0000] <jgraham> Is that true? [13:59:00.0000] <jgraham> /me doesn't remember them appearing [14:00:00.0000] <TabAtkins> I recall seeing them at least once. [14:00:01.0000] <TabAtkins> Don't know where, but it definitely pings my memory. [14:00:02.0000] <TabAtkins> ...why? [14:01:00.0000] <jgraham> It just seems wrong. I mean they might pop up once or so [14:01:01.0000] <TabAtkins> I wouldn't call them a "common feature", no. [14:03:00.0000] <MikeSmith> Harry Potter books are a painful read [14:03:01.0000] <MikeSmith> but the movies are pretty good [14:04:00.0000] <MikeSmith> which seems to support the notion that bad books make good movies [14:04:01.0000] <MikeSmith> and good books don't [14:04:02.0000] <tw2113> i haven't read the books, just listened to someone else read them to me [14:05:00.0000] <MikeSmith> hard to imagine a movie version of "How late it was, how late" [14:05:01.0000] <TabAtkins> They're okay as books. Definitely pretty good for YA fiction. [14:05:02.0000] <gsnedders> Definitely far better than, e.g., Twilight. [14:06:00.0000] <MikeSmith> well [14:06:01.0000] <MikeSmith> lacking in humor, all [14:06:02.0000] <MikeSmith> nowhere like the Series of Unfortunate Events books [14:06:03.0000] <TabAtkins> Well, yeah, that's explicitly a humorous series. [14:06:04.0000] <MikeSmith> as far as young-adult fiction [14:07:00.0000] <MikeSmith> and that movie sucked [14:07:01.0000] <MikeSmith> because of that ass Jim Carrey [14:07:02.0000] <MikeSmith> who can ruin singlehandedly anything he's in [14:07:03.0000] <tw2113> i need to get myself re-listening to the 7th HP book [14:08:00.0000] <tw2113> now now, Eternal Sunshine = good [14:09:00.0000] <TabAtkins> http://en.wikipedia.org/wiki/Lemony_Snicket:_The_Unauthorized_Autobiography was a *really* confusing book to read when I hadn't yet heard of the SoUE series. [14:09:01.0000] <TabAtkins> (My aunt and uncle are friends of the author, so they gave me a free copy.) [14:15:00.0000] <jgraham> /me will have to agree to disagree with MikeSmith on this [14:16:00.0000] <jgraham> (not the Jim Carrey thing you understand, he really is an ass) [14:20:00.0000] <MikeSmith> well, there are certainly better books [14:20:01.0000] <MikeSmith> such as "How late it was, how late" by James Kelman [14:20:02.0000] <MikeSmith> which every young adult should read [14:21:00.0000] <MikeSmith> anyways, time for me to sleep [14:22:00.0000] <karlcow> おやすみなさい 2011-04-20 [17:33:00.0000] <Hixie> sweet jesus i hate bidi [17:34:00.0000] <Hixie> what happens if you have "english HEBREW HEBREW HEBREW english" and the HEBREW part is so long it splits into three lines? [17:34:01.0000] <Hixie> in ltr [17:34:02.0000] <Hixie> you get "e1 1h \n 2h \n 3h e2" right? [17:35:00.0000] <TabAtkins> Presumably? [17:35:01.0000] <TabAtkins> Which is weird, of coruse. [17:35:02.0000] <TabAtkins> Or, wait, is that logical or visual string order that you specified? [17:37:00.0000] <TabAtkins> If the logical text was "e1 H1 H2 H3 e2", presumably it would be displayed as "e1 H3 \n H2 \n H1 e2". [17:38:00.0000] <TabAtkins> Since linebreaking should be more-or-less a visual effect where you just break lineboxes, and if the text fit on one line it would display as "e1 H3 H2 H1 e2". [17:41:00.0000] <Hixie> that would be crazy, surely [17:41:01.0000] <Hixie> you never read up [17:41:02.0000] <TabAtkins> Which part is crazy? The one-line layout, or how it's broken into lineboxes? [17:41:03.0000] <Hixie> the part where you have to start reading by skipping a line and then reading up [17:41:04.0000] <TabAtkins> Man, I dunno. You shouldn't mix text directions in a single inline layout anyway. [17:42:00.0000] <Hixie> you don't have much choice when writing hebrew [17:42:01.0000] <Hixie> e.g. THE POPE SAID "whatever the pope said" WHICH IS SILLY [17:42:02.0000] <Hixie> if the quote is long, it'll split across many lines [17:42:03.0000] <Hixie> but you want the start of the quote to be on the first line [17:43:00.0000] <TabAtkins> Solution: stop being rtl, or switch everyone to rtl. [17:43:01.0000] <Hixie> good luck with that [17:53:00.0000] <Hixie> i'm clearly wrong somehow [17:54:00.0000] <zcorpan> hmm. http://html5.org/tools/web-apps-tracker?from=6007&to=6008 - i think several of those are not good indicators [17:54:01.0000] <zcorpan> lots of layout tables with <th> for instance [17:55:00.0000] <TabAtkins> ...why??? [17:55:01.0000] <zcorpan> this is the web? [17:55:02.0000] <tw2113> sparta? [17:55:03.0000] <TabAtkins> I hate people. [17:55:04.0000] <zcorpan> also lots of non-layout tables with cellspacing/cellpadding [17:55:05.0000] <Hixie> zcorpan: file a bug, i'll happily update this accordingly [17:56:00.0000] <Hixie> zcorpan: if we have data in particular that would be fantastic [17:56:01.0000] <zcorpan> it's an area i'd like to research more [17:59:00.0000] <Hixie> cool [17:59:01.0000] <Hixie> in other news: i hate bidi [17:59:02.0000] <zcorpan> still? [17:59:03.0000] <TabAtkins> yeah, I thought you were done with that. [18:00:00.0000] <Hixie> wtf is the difference between "xxx ‮ ab cd ef ‬ yyy" and "xxx HE BR EW yyy"? [18:00:01.0000] <TabAtkins> There... shouldn't be one? [18:00:02.0000] <zcorpan> filed a bug [18:00:03.0000] <zcorpan> nn [18:01:00.0000] <Hixie> nn [18:02:00.0000] <Hixie> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/937 [18:02:01.0000] <Hixie> oh man [18:02:02.0000] <Hixie> i forgot textarea is visual [18:02:03.0000] <Hixie> gah [18:02:04.0000] <Hixie> seriously. hate. bidi. [18:03:00.0000] <TabAtkins> Awesome. [18:03:01.0000] <TabAtkins> Man, I can't even tell which of the three represents the logical ordering. [18:03:02.0000] <Hixie> my brain hurts. [18:28:00.0000] <Hixie> TabAtkins: mail sent to public-css-testsuite [18:28:01.0000] <TabAtkins> kk [18:31:00.0000] <Hixie> christ, faulkner really can't stop himself from filing issues [18:31:01.0000] <Hixie> it's like he has issue turrets [18:32:00.0000] <TabAtkins> tourettes [18:32:01.0000] <Hixie> er, right [18:32:02.0000] <TabAtkins> rather, tourette's [18:32:03.0000] <aho> tourette's [18:32:04.0000] <aho> heh [18:32:05.0000] <aho> :> [18:32:06.0000] <TabAtkins> I like issue turrets, though. [18:32:07.0000] <aho> and torrents [18:40:00.0000] <aho> mh. looks like mozilla still didn't do an update notification for ff4 [18:40:01.0000] <aho> http://gs.statcounter.com/#browser_version-DE-daily-20110320-20110418 [18:40:02.0000] <aho> ff4 got already more than ie8 in germany :> [18:43:00.0000] <tw2113> woo [18:43:01.0000] <tw2113> aho i swear i know you from other freenode rooms [18:44:00.0000] <aho> yes, you do [18:44:01.0000] <tw2113> i just forget which ones [18:44:02.0000] <aho> whois me :P [18:44:03.0000] <tw2113> either LAS or the fedora stuff [18:44:04.0000] <tw2113> [07:48pm] »» [aho] #whatwg [18:44:05.0000] <tw2113> :P [18:45:00.0000] <aho> oh... is that hidden nowadays? :f [18:45:01.0000] <aho> * [aho] #fronteers #impactjs #vp8 #whatwg #commonjs #Node.js #webgl #go-nuts #haxe #fedora-art #inkscape.de #inkscape #lwjgl [18:46:00.0000] <tw2113> aha [18:46:01.0000] <tw2113> small world [18:48:00.0000] <aho> kinda [19:05:00.0000] <TabAtkins> Anyone know a good parser generator? Alternately, anyone want to write a parser for me? [19:07:00.0000] <TabAtkins> /me decides to play with PEG.js [19:18:00.0000] <doublec> TabAtkins: I wrote https://github.com/doublec/jsparse a while ago and it still gets some usage [21:55:00.0000] <MikeSmith> can somebody please try http://microformats.org/wiki/existing-rel-values and let me know if you get a response? [21:56:00.0000] <MikeSmith> for me, it's hanging [21:57:00.0000] <tw2113> on it [21:57:01.0000] <tw2113> connecting.... [21:57:02.0000] <tw2113> connecting.... [21:58:00.0000] <tw2113> hanging..... [21:58:01.0000] <tw2113> http://www.downforeveryoneorjustme.com/microformats.org/ [22:14:00.0000] <MikeSmith> hober: can somebody maybe give microformats.org a kick? [22:15:00.0000] <MikeSmith> it seems to not be responding to any requests at all [22:16:00.0000] <tw2113> /me kicks microformats.org's tires [22:30:00.0000] <heycam> do iframes delay the referencing document's load event? [22:31:00.0000] <roc> yes [22:32:00.0000] <heycam> thanks [22:56:00.0000] <kennyluck> That fantasai is the Webmaster of W3C remains on this page :p http://dev.w3.org/cvsweb/~checkout~/csswg/css3-content/Overview.html?rev=1.3;content-type=text%2Fhtml [00:45:00.0000] <MikeSmith> wow [00:45:01.0000] <MikeSmith> http://www.browsium.com/faqs/ [00:45:02.0000] <MikeSmith> "UniBrows is an innovative new product that removes a key impediment to enterprise upgrades by enabling millions of IE6-based line-of-business web applications to run unmodified on Windows 7 or on IE8 on Windows XP (a version designed to work with IE9 is under development). " [00:47:00.0000] <MikeSmith> (by way of hsivonen twitter feed) [01:08:00.0000] <MikeSmith> http://my.opera.com/hallvors/blog/2011/04/20/a-peculiar-cross-browser-onresize-quirk [01:09:00.0000] <MikeSmith> "a cross-browser compatible quirk" [01:16:00.0000] <hsivonen> jgraham: is it intentional that Ragnarök doesn't reset the form pointer when the parent chain of the <input> changes in http://software.hixie.ch/utilities/js/live-dom-viewer/saved/939 ? [01:57:00.0000] <jgraham> hsivonen: Not sure. It could just be a bug. But it is not 100% clear to me without reading the spec closely why 1 is wrong. [02:00:00.0000] <jgraham> Oh, but there is more magic elese where isn't there… [02:03:00.0000] <jgraham> So I guess we don't run the algorithm to reset the form owner of an element when we run the AAA [02:04:00.0000] <jgraham> And it is not really clear to me if we should per spec given the note "The HTML parser overrides this requirement when inserting form controls." [02:05:00.0000] <jgraham> But if it is needed for web-compat I guess we have to [02:05:01.0000] <hsivonen> jgraham: there is evidence suggesting that what Ragnarök does may be more Web-compatible than what Firefox and Chrome do [02:06:00.0000] <jgraham> Unexpected win! [02:08:00.0000] <jgraham> For my next trick I will try to work out what the spec has to say about http://testsuites.opera.com/script-execution/040.html [02:09:00.0000] <jgraham> (chrome, gecko and opera all have different behaviour) [02:10:00.0000] <jgraham> But IE9 matches Gecko [02:26:00.0000] <jgraham> So, I think the spec makes this case explicitly racy [02:26:01.0000] <jgraham> hsivonen: Do you have any opinions here? [02:27:00.0000] <hsivonen> jgraham: both Gecko's behavior and the behavior marked as expected on the test case could be explained to make sense. [02:28:00.0000] <hsivonen> jgraham: changing this is Gecko would be annoying and I wouldn't want to be the person changing things [02:28:01.0000] <hsivonen> jgraham: bz might have opinions [02:28:02.0000] <hsivonen> jgraham: also, if Gecko matches IE, it's a good reason not to change Gecko [02:28:03.0000] <jgraham> hsivonen: The other behaviour I think makes sense (moreso than the expected one) is internal script #1, end script #1, JS URL, frame script, inline script #2 [02:29:00.0000] <hsivonen> jgraham: we're not gonna do that [02:29:01.0000] <jgraham> hsivonen: Why? [02:29:02.0000] <hsivonen> jgraham: since that behavior would require synchronous parsing of the document it the iframe [02:30:00.0000] <jgraham> Rwally? [02:30:01.0000] <jgraham> *Really [02:30:02.0000] <hsivonen> /me opens the test case again [02:31:00.0000] <jgraham> Isn't it just the Gecko behaviour with the javascript: URI dereferenced before the second script is run rather than after> [02:31:01.0000] <hsivonen> jgraham: correction: it would require blocking scripts on the parent until scripts in the child frame have executed [02:31:02.0000] <hsivonen> hmm. [02:32:00.0000] <hsivonen> which I admit is kinda similar to blocking scripts on style sheet loads on another documnet [02:32:01.0000] <jgraham> Getting it consistently like that might make it blocking [02:33:00.0000] <jgraham> I guess I should test what happens if you have a slow non-javascript-uri resource in the iframe [02:33:01.0000] <hsivonen> blocking scripts on the parent until the child has run all its scripts would effectively mean blocking scripts on the parent until the whole iframed doc has loaded [02:33:02.0000] <hsivonen> which would be perf poison [02:33:03.0000] <jgraham> yes [02:34:00.0000] <jgraham> I assumed this case was inherently racy with javascript: URIs racing rather fast [02:34:01.0000] <hsivonen> yeah, seems so [03:15:00.0000] <jgraham> hsivonen: Does Gecko always wait to execute scripts in subframes until all the scripts on the main page have run? [03:17:00.0000] <jgraham> /me is sure he is doing something wrong [03:18:00.0000] <hsivonen> jgraham: I would imagine not, but I haven't tested [06:43:00.0000] <hsivonen> has anyone done the research on whether non-initial navigations to about:blank need to be synchronous? [08:23:00.0000] <MikeSmith> yee-hah http://microformats.org/wiki/existing-rel-values is back [08:24:00.0000] <MikeSmith> /me now starts to think about how to parse the needed info out of that page [08:24:01.0000] <hsivonen> /me battles with about:blank [08:25:00.0000] <jgraham> /me feels more sorry for hsivonen than MikeSmith, on the whole [08:25:01.0000] <MikeSmith> heh [08:25:02.0000] <MikeSmith> me too [08:25:03.0000] <MikeSmith> :) [08:26:00.0000] <MikeSmith> anyway, the taxonomy of maturity states on that wiki page is quite a bit more complicated than what the spec has [08:26:01.0000] <jgraham> Although unless they added lots of hidden metadata, that page doesn't look optimised for machine readability [08:26:02.0000] <jgraham> Which is ironic [08:27:00.0000] <MikeSmith> yeah [08:27:01.0000] <MikeSmith> is this a mediawiki? [08:28:00.0000] <MikeSmith> yeah, it is [08:28:01.0000] <jgraham> Indeed. It is surprisingly non-ugly for a media wiki install [08:28:02.0000] <jgraham> s/ // [08:29:00.0000] <MikeSmith> anyway, the spec implies the only statuses we need concern ourselves with are "proposed" or "ratified" and "discontinued" [08:29:01.0000] <MikeSmith> but here I find "brainstorming", "POSH", more [08:29:02.0000] <MikeSmith> and "dropped" rather than "discontinued" [08:30:00.0000] <MikeSmith> I guess those status levels were for the whatwg rel-values wiki page [08:35:00.0000] <hsivonen> Whoa! document.title on about:blank is non-blank in Opera! [08:40:00.0000] <zcorpan> about:blank isn't actually blank in opera [08:41:00.0000] <hsivonen> zcorpan: spec violation! [08:41:01.0000] <jgraham> hsivonen: We know :p [08:41:02.0000] <zcorpan> yes [08:42:00.0000] <jgraham> I think fixing it is non trivial for some reason) [08:42:01.0000] <jgraham> +( [08:42:02.0000] <hsivonen> hooray. non-Opera browsers don't perform non-initial navigation to about:blank synchronously [08:42:03.0000] <jgraham> (but I don't remember what that reason is so maybe I imagined it) [08:43:00.0000] <zcorpan> we also use standards mode for about:blank [08:43:01.0000] <MikeSmith> jgraham: sounds like a dispassionate violation [08:44:00.0000] <MikeSmith> if you're going to do some violation, make it passionate violation [08:44:01.0000] <zcorpan> you're right, we should be more passionate about our spec violations [08:44:02.0000] <MikeSmith> willful, with a flourish [08:45:00.0000] <zcorpan> get ready for some willful and passionate <time> violations [08:45:01.0000] <jgraham> zcorpan: Sshh, the time travel feature was supposed to be secret [08:45:02.0000] <zcorpan> oops [08:47:00.0000] <hsivonen> I'm failing at basic testing [08:47:01.0000] <hsivonen> iframe.contentWindow.addEventListener("load", iframeLoad, false); should work, right? [08:47:02.0000] <jgraham> hsivonen: If Opera is doing screy things with about:blank navigation, or navigation in general, it would be nice to know what we are doing wrong [08:47:03.0000] <hsivonen> to listen to load events inside the iframe? [08:48:00.0000] <zcorpan> yeah, should work i think [08:48:01.0000] <hsivonen> found the problem [08:53:00.0000] <jgraham> /me accidentially runs across the brilliant term "Eigenplot" to describe a store in which each of the character's unique traits, however normal, is required to overcome some obstacle that would otherwise be insurmountable [09:06:00.0000] <jgraham> So, how do people on touch devices browse xkcd? [09:08:00.0000] <Rik`> jgraham: m.xkcd.com [09:09:00.0000] <hsivonen> it's still more useful to have a user stylesheet that render the title attribute right away [09:11:00.0000] <jgraham> Rik`: Oh, interesting. s/xkcd/Girls with Slingshots/ or Abtruse Goose or some other comic that has started doing the same thing [09:12:00.0000] <jgraham> hsivonen: In this case the reason the title is used is explicitly because the UI makes it hidden until user interaction occurs [09:12:01.0000] <MikeSmith_> it's arguably even more useful to not use the title attribute for that to begin with [09:12:02.0000] <hsivonen> jgraham: I know. I fight the design with my user style sheet. [09:13:00.0000] <jgraham> MikeSmith: Sure, but it is easy so it's not surprising that people do it [09:13:01.0000] <jgraham> hsivonen: Why? Doesn't that rather weaken the payoff? [09:14:00.0000] <MikeSmith_> jgraham: yeah, but for a site like this that's used by so many people, you'd think doing something more than the easy thing would be worthwhile [09:15:00.0000] <jgraham> For xkcd maybe. Most of the people doing this are hardly experts though [09:15:01.0000] <MikeSmith> sure [09:15:02.0000] <jgraham> It seems unreasonable to expect webcomics authors to also master HTML and javascript and whatever [09:16:00.0000] <jgraham> Just to have a different-to-everyone-else-slightly-hidden-but-still-discoverable extra joke in the comics [09:16:01.0000] <MikeSmith> true, but I'm sure in this case he could get lots of help [09:16:02.0000] <MikeSmith> well, it's kind of a key feature of that particular comic [09:17:00.0000] <jgraham> I think Randall would likely be fine. But he's not the only person doing this [09:17:01.0000] <MikeSmith> yeah, I know [10:05:00.0000] <jgraham> gsnedders: Happy birthday BTW. Are you celebrating it on by being on IRC whilst playing computer games? [10:34:00.0000] <MikeSmith> I don't understand what the "IE10" column in http://crockford.com/javascript/performance.html represents [10:34:01.0000] <MikeSmith> oh [10:34:02.0000] <MikeSmith> now I do [10:34:03.0000] <MikeSmith> "relative to IE10"? [10:35:00.0000] <Rik`> that's my understanding too [10:36:00.0000] <MikeSmith> funny that Crockford has such deep insight into what JS engine developers are doing [10:36:01.0000] <MikeSmith> "lacking credible benchmarks, engine developers are tuning to what they have" [10:36:02.0000] <MikeSmith> if he says so, I guess it must be true [10:36:03.0000] <MikeSmith> because he is a true sage [10:36:04.0000] <jgraham> Lacking credible benchmarks, I decided that my program was obviously a credible benchmark [10:37:00.0000] <MikeSmith> heh [10:37:01.0000] <jgraham> Because I entirely missed the point of that Microsoft paper [10:37:02.0000] <Rik`> I'm surprised about the difference between IE9 and IE10 [10:38:00.0000] <Rik`> I don't remember any announcement around JS perf in IE10 [10:38:01.0000] <Rik`> maybe it's "native ES5" ? [10:38:02.0000] <MikeSmith> JS engine developers are clearly just a bunch of asses who have no clue what they are doing [10:38:03.0000] <jgraham> Since Crockford helpfully made it easy to rerun his test you cantry and reproduce his results [10:38:04.0000] <MikeSmith> they should all just be replaced by instances of Crockford [10:39:00.0000] <MikeSmith> browser projects should all hire Crockford to come in and educate their dev teams about how to develop JS engines propertly [10:39:01.0000] <MikeSmith> that would be fun [10:39:02.0000] <MikeSmith> I would pay real money personally to attend such sessions [10:40:00.0000] <MikeSmith> Crockford is like Eric Clapton during the Cream days [10:41:00.0000] <MikeSmith> except he doesn't even need a Jack Bruce and a Ginger Baker [10:41:01.0000] <MikeSmith> he is a world-class power trio solely on his own [10:41:02.0000] <MikeSmith> like the holy trinity [10:41:03.0000] <miketaylr> he's even on tour [10:41:04.0000] <MikeSmith> sweet [10:42:00.0000] <miketaylr> coming to brooklyn to speak at etsy next week [10:42:01.0000] <MikeSmith> well, count yourself blessed [10:43:00.0000] <MikeSmith> it will be the greatest thing that Brooklyn has seen since Walt Whitman [10:43:01.0000] <miketaylr> been a long time coming [10:44:00.0000] <MikeSmith> or at least since RZA [10:45:00.0000] <MikeSmith> Jim Jarmusch should do a "Coffee and Cigarettes" reprise with Crockford and RZA and DZA [10:45:01.0000] <miketaylr> nah, i think wu tang is all from staten island [10:46:00.0000] <MikeSmith> RZA and DZA is from Brooklyn [10:46:01.0000] <MikeSmith> I thikn at least [10:46:02.0000] <miketaylr> ah, wikipedia confirms [10:46:03.0000] <miketaylr> /me stands corrected [10:47:00.0000] <MikeSmith> not to knock the various islands and what not [10:47:01.0000] <MikeSmith> the Ramones were for Queens… [10:47:02.0000] <MikeSmith> *from [10:48:00.0000] <akahn> RZA is from staten island [10:48:01.0000] <akahn> oh i should read [10:48:02.0000] <akahn> :-$ [10:48:03.0000] <akahn> i don't know who DZA is though ;) [11:13:00.0000] <MikeSmith> goddammit [11:13:01.0000] <MikeSmith> I really hate browser caching behavior [11:14:00.0000] <karlcow> :) [11:14:01.0000] <MikeSmith> why the fuck browsers can't all make it easy for me to bypass their cache is beyond me [11:14:02.0000] <MikeSmith> jesus [11:14:03.0000] <MikeSmith> the hours of wasted time… [11:17:00.0000] <MikeSmith> the only thing that I have found that does it right is the Develop > Disable Caches option in Webkit/Safari [11:17:01.0000] <MikeSmith> everything else is fuckt [11:17:02.0000] <MikeSmith> sorry to have to say [11:17:03.0000] <MikeSmith> but it's the truth [11:18:00.0000] <wilhelm> Oh, that's a nice feature. [11:19:00.0000] <miketaylr> Preferences > Advanced > History and disabling disk & memory cache is a bit less friendly [11:19:01.0000] <Rik`> MikeSmith: I've heard that the Disable Caches option in Safari is not that reliable [11:19:02.0000] <miketaylr> (in opera) [11:19:03.0000] <Rik`> (but I have no source that I remember to support that) [11:22:00.0000] <MikeSmith> Rik`: you have heard wrong [11:22:01.0000] <MikeSmith> miketaylr: yeah, just a wee bit [11:26:00.0000] <TabAtkins> jgraham: On the subject of hidden jokes in comics, were you aware the Dinosaur Comics embeds 3 separate jokes? [11:26:01.0000] <TabAtkins> (I have a Chrome extension solely concerned with showing all three of them automatically. [11:27:00.0000] <jgraham> TabAtkins: I have to say I don't read Dinosaur Comics regularly [11:27:01.0000] <jgraham> so no [11:27:02.0000] <jgraham> This could be a failing on my part [11:28:00.0000] <TabAtkins> It is. [11:28:01.0000] <karlcow> /me doesn't even know what Dinosaur Comics [11:28:02.0000] <MikeSmith> I have a Chrome extension that tells me when the latest/next earthquake has happened [11:28:03.0000] <TabAtkins> qwantz.com [11:28:04.0000] <karlcow> MikeSmith already made my day today. [11:29:00.0000] <MikeSmith> yay for that [11:30:00.0000] <MikeSmith> though I have no idea what I did [11:30:01.0000] <MikeSmith> if I got something productive done today, it's a surprise to me [11:30:02.0000] <karlcow> handwritten manuscript [11:31:00.0000] <karlcow> Walt Whitman [11:35:00.0000] <MikeSmith> ah [13:14:00.0000] <gavin> is window.getSelection specced somewhere? [13:15:00.0000] <gavin> oh, http://www.w3.org/Bugs/Public/show_bug.cgi?id=10798 [13:15:01.0000] <gavin> /me reads http://html5.org/specs/dom-range.html [16:03:00.0000] <yuhong_> Here is a big site using real XHTML, BTW: http://us.battle.net/wow/en/ [16:04:00.0000] <gsnedders> http://www.tesco.com/ *used* to. [16:04:01.0000] <gsnedders> (It was fairly trivial to get it to output something non well-formed, though) [16:07:00.0000] <Philip`> http://us.battle.net/wow/en/search?q=potato%ef%bf%bf - that does look like XML [16:14:00.0000] <yuhong_> Old twitter used to generate well-formed XHTML, but then they added <meta http-equiv="X-UA-Compatible" without the slash. [16:14:01.0000] <yuhong_> I reported this to @twitter/team and they fixed it. [16:17:00.0000] <espadrine> Philip`: syntax error. ugly. [16:18:00.0000] <yuhong_> Here is an embarrassing one, BTW: [16:18:01.0000] <yuhong_> http://twitter.com/#!/yuhong2/status/60591084190969856 [16:29:00.0000] <TabAtkins> Yay for parser generators! In not too much time (most was just learning my way around), I built a parser for the stylesheet in Lists, so I can systematically rewrite it. [16:42:00.0000] <yuhong_> Sorry, this was a mistake, they are using HTML5 now. [16:48:00.0000] <yuhong_> Twitter's XHTML is broken again: They put "<meta http-equiv="X-UA-Compatible" content="IE=edge">" without the slash. [16:50:00.0000] <yuhong_> I mentioned this about how use of XHTML in gitweb prevented XSS: [16:50:01.0000] <yuhong_> http://www.no-ack.org/2010/12/cross-side-scripting-vulnerability-in.html [16:58:00.0000] <TabAtkins> Uh, no, that's not true at all, yuhong. By accident, this particular XSS hole is slightly harder to exploit, because the page spams the filename into the code twice. If anything, you should be saying that poor accessibility prevented an XSS, because they're using the filename as the @alt and @title value of an image. [16:58:01.0000] <aho> he left the building [16:59:00.0000] <TabAtkins> Ah well. I never understand what he's trying to say anyway. He comes in, spams some link that's vaguely about xhtml, then doesn't say anything else. [16:59:01.0000] <aho> using the file name for title and alt is kinda... uhm... pointless :> [16:59:02.0000] <aho> heh 2011-04-21 [17:08:00.0000] <yuhong_> http://my.opera.com/ODIN/blog/2011/03/30/improving-interoperability-the-story-of-a-bug [17:08:01.0000] <yuhong_> Fortunately Opera lets you reparse the broken page as HTML> [17:08:02.0000] <yuhong_> Fortunately Opera lets you reparse the broken page as HTML. [17:38:00.0000] <chriseppstein> TabAtkins: yt? [17:39:00.0000] <TabAtkins> chriseppstein: Yo. [17:39:01.0000] <chriseppstein> hi [17:39:02.0000] <chriseppstein> am I crazy or did radial gradients used to accept an angle [17:39:03.0000] <TabAtkins> They did. I removed it because it was kinda useless. [17:39:04.0000] <chriseppstein> whew [17:39:05.0000] <chriseppstein> ok [17:40:00.0000] <chriseppstein> i'll take that out of my code then [19:07:00.0000] <TabAtkins> Yay, I built a parser for the UA stylesheet in the Lists module (so I could do a transformation to all the rules). Not only did it work, but it uncovered a bunch of CSS errors in the stylesheet. [20:31:00.0000] <MikeSmith> hmm [20:31:01.0000] <MikeSmith> http://tools.ietf.org/html/draft-pbryan-json-patch-00 [20:32:00.0000] <MikeSmith> "A JSON Media Type for Describing Partial Modifications to JSON Documents" [20:39:00.0000] <heycam> MikeSmith, reminds me of REX [20:39:01.0000] <heycam> (for XML) [20:42:00.0000] <MikeSmith> heycam: ah yes, REX [20:42:01.0000] <MikeSmith> I hope this works out better [20:43:00.0000] <heycam> yeah.. [20:52:00.0000] <MikeSmith_> Gecko already enables filter effects in HTML, right? [20:52:01.0000] <MikeSmith_> https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/publish/Filters.html stuff I mean [20:57:00.0000] <heycam> MikeSmith, I believe so [20:57:01.0000] <MikeSmith> cool [20:58:00.0000] <MikeSmith> heycam: btw, did plh bug you recently about WebIDL [20:58:01.0000] <MikeSmith> with regard to the Selectors API draft? [20:59:00.0000] <heycam> MikeSmith, yeah he did [20:59:01.0000] <MikeSmith> ok [21:00:00.0000] <heycam> Selectors API doesn't make terribly heavy use of Web IDL, so if the timing is such that the normative dependency has to be removed, and we need to include just a line or two about the relevant requirements (like null converting to string or whatever), then that's fine, we can add the dependency back in later [21:00:01.0000] <MikeSmith> oh [21:00:02.0000] <MikeSmith> that sounds reasonable [21:02:00.0000] <MikeSmith> actually what would be more reasonable going forward is that we allow recs to have normative dependencies on non-rec drafts, and we update them later if we need to (if the dependency changes in some way that requires it) [21:03:00.0000] <MikeSmith> the W3C process doc does not explicitly prohibit that, as far as I can tell [21:03:01.0000] <heycam> yeah. many of the requirements from web idl aren't important in the context of selectors api in particular. [21:03:02.0000] <MikeSmith> yeah [21:03:03.0000] <heycam> and browsers are likely going to implement the web idl requirements all at once in their binding generation code, not per spec [21:04:00.0000] <MikeSmith> ok [21:04:01.0000] <heycam> so gating selectors api on the exact requirements for, say, prototype chains in web idl doesn't make much sense to me [21:05:00.0000] <MikeSmith> yep [21:05:01.0000] <MikeSmith> we really should just evaluate spec-dependency issues case-by-case [21:06:00.0000] <MikeSmith> there are cases where we really know it matters [21:06:01.0000] <MikeSmith> like the WebSocket protocol [21:07:00.0000] <MikeSmith> but there are a whole lot more where it's not really an issue [21:07:01.0000] <heycam> yeah [21:45:00.0000] <jacobolus> Hixie: I didn't show you this thing yet did I? http://www.hcs.harvard.edu/~jrus/colortheory/javascript/colorpicker.html [21:46:00.0000] <jacobolus> [back on the subject of color spaces from a bit ago] [21:46:01.0000] <jacobolus> [also note, this is an in-progress thing, not expected to look much like this in its final form; still a lot of parts to build] [21:56:00.0000] <yuhong_> "he left the building" Note that I read the whatwg IRC logs a lot. [21:57:00.0000] <yuhong_> And yea, without any XSS filter in most cases you are going to be exploited whether you use XHTML or not. [21:57:01.0000] <yuhong_> But most XSS filters are not free of bugs. [22:00:00.0000] <yuhong_> And evasion tactics. [23:22:00.0000] <jacobolus> oh whoops, network died just as I was sending before; not sure what went through [23:22:01.0000] <jacobolus> Hixie: I didn't show you this thing yet did I? http://www.hcs.harvard.edu/~jrus/colortheory/javascript/colorpicker.html [23:22:02.0000] <jacobolus> [back on the subject of color spaces from a bit ago] [23:22:03.0000] <jacobolus> [also note, this is an in-progress thing, not expected to look much like this in its final form; still a lot of parts to build] [23:29:00.0000] <Hixie> jacobolus: funky [23:29:01.0000] <Hixie> jacobolus: i ended up doing a heuristic that works ok, fwiw [23:30:00.0000] <Hixie> jacobolus: i'll probably blog it at some point [23:30:01.0000] <Hixie> in other news, how the heck do you get a mobile web browser to actually follow the specs and not lie about its window width, etc? [23:30:02.0000] <jacobolus> [this thing will be less funky (or maybe just as funky but more useful) in the near future hopefully [23:30:03.0000] <jacobolus> ] [23:30:04.0000] <jacobolus> mobile browsers lie about their width? [23:30:05.0000] <jacobolus> why? [23:31:00.0000] <Hixie> so that normal css works ok [23:31:01.0000] <jacobolus> can you make that part of the next ACID test? :) [23:31:02.0000] <Hixie> but when you're trying to target them it is really annoying [23:31:03.0000] <Hixie> ok looks like android's browser just ignores @media handheld altogether [23:46:00.0000] <Hixie> christ this browser is buggy [23:50:00.0000] <Hixie> ah screw it [23:50:01.0000] <Hixie> /me sticks in a name=viewport meta thingy as a workaround [23:51:00.0000] <hsivonen> Hixie: the Android default browser is the new IE6 [23:51:01.0000] <Hixie> are there browsers that _don't_ screw this up? [23:52:00.0000] <hsivonen> You need <meta name="viewport" content="width=device-width, initial-scale=1"> to signal that you really mean what you say [23:52:01.0000] <Hixie> well you only need width=device-width, but yes [23:53:00.0000] <Hixie> but are there browsers that don't need this? [23:53:01.0000] <hsivonen> Opera 8 maybe? [23:53:02.0000] <hsivonen> dunno [23:53:03.0000] <Hixie> your analogy with IE6 implied the other browsers were doing ok [23:53:04.0000] <Hixie> but to my knowledge they all suck [23:54:00.0000] <hsivonen> Hixie: I'm rather convinced that the Android browser sucks more on teh whole [23:54:01.0000] <hsivonen> Hixie: also, I believe that the browsers are doing here what's the most Web-compatible thing to do [23:54:02.0000] <hsivonen> being Web-compatible isn't sucking [23:54:03.0000] <hsivonen> Hixie: Support Existing Content! [23:55:00.0000] <Hixie> i don't mind supporting existing content, but when i have media queries and so forth, or when i have an explicit media=handheld, just follow the damn specs [23:55:01.0000] <hsivonen> Hixie: media=handheld is for crappy browsers that predate even Opera 8 [23:55:02.0000] <Hixie> or at least fix the specs to describe what you do [23:56:00.0000] <Hixie> not according to the specs [23:56:01.0000] <hsivonen> Hixie: IMO the CSS WG should get rid of media=handled, because it has been poisoned [23:56:02.0000] <Hixie> if they did, i would not be complaining about browsers ignoring it [23:57:00.0000] <Hixie> my point is just that the specs and the browsers should match [23:57:01.0000] <Hixie> so that i can have a hope in hell of getting the result i want [23:57:02.0000] <hsivonen> Hixie: maybe you should write an email to www-style [23:57:03.0000] <Hixie> i'll let TabAtkins take care of it [23:57:04.0000] <Hixie> :-) [23:58:00.0000] <Hixie> man, position:fixed and background-position:fixed are a mess too [23:59:00.0000] <Hixie> aren't these things running like GHz processors? [23:59:01.0000] <Hixie> i had 486s that could do scrolling of multiple independent layers [00:04:00.0000] <hsivonen> Hixie: they had more suitable UI for selecting which layer to scroll [00:05:00.0000] <Hixie> how do you mean? [00:10:00.0000] <hsivonen> Hixie: you 486 had scrollbars and a pointing device precise enough to hit a scroll bar [00:13:00.0000] <Hixie> so? [00:13:01.0000] <Hixie> my phone has a whole screen i can scroll with my finger [00:13:02.0000] <Hixie> where's the problem here [02:22:00.0000] <beowulf> on android, adding the device-width viewport thingy works most of the time to get a correct innerWidth, but sometimes you also need to move the viewport as well [02:53:00.0000] <jgraham> Hah jslint uses spans inside table cells as checkboxes [02:53:01.0000] <jgraham> That is so full of fail [02:53:02.0000] <jgraham> I mean they even look ugly compared to normal checkboxes [02:54:00.0000] <hsivonen> jgraham: how dare you question the Good Parts [02:55:00.0000] <jgraham> Apparently HTML: The Good Parts wouldn't include [02:55:01.0000] <jgraham> media independence [02:57:00.0000] <Rik`> jslint is already dead btw [02:58:00.0000] <jgraham> In what sense? [02:58:01.0000] <Rik`> http://jshint.com/ [02:58:02.0000] <Rik`> more flexible for your own needs instead of doing what crockford believes right [02:59:00.0000] <hsivonen> Rik`: is it an independent codebase or a fork of jslint? [02:59:01.0000] <Rik`> a fork [02:59:02.0000] <Rik`> see at the bottom [03:00:00.0000] <Rik`> http://anton.kovalyov.net/2011/02/20/why-i-forked-jslint-to-jshint/ [03:00:01.0000] <hsivonen> Rik`: ok [03:00:02.0000] <jgraham> I thoght jslint was All Rights Reserved [03:01:00.0000] <jgraham> Oh no it's just the webpage that says that [03:01:01.0000] <hsivonen> jgraham: I thought it had Crockford's special "Good not Evil" license [03:02:00.0000] <jgraham> Yeah, it has the scary license [03:02:01.0000] <hsivonen> let's see if he decides jshint is "evil" [03:02:02.0000] <hsivonen> Rik`: “move ‘var’ declarations to the top of the function” Wow. [03:03:00.0000] <jgraham> Anyway jshint is obviously a failure because it can't lead a double life as the One True Javascript Benchmark [03:04:00.0000] <Rik`> wow, Apple geolocation file makes the top headline on http://www.lemonde.fr/ [03:07:00.0000] <hsivonen> In the French context, I'd be more worried about the state's hostility towards technical designs that make surveillance harder. [03:08:00.0000] <hsivonen> exhibit A: GSM. exhibit B: the bill about that effectively requires unhashed passwords [03:09:00.0000] <Rik`> yeah the amount security and surveillance laws in the last 9 years is really scary [03:15:00.0000] <othermaciej> wow, Crockford is mean to his users [03:15:01.0000] <othermaciej> (from reading stuff linked from that post) [04:30:00.0000] <hsivonen> jgraham: the output from hg push to the W3C test repo just managed to scare me quite a bit [04:31:00.0000] <hsivonen> what's the deal with getting lines like [04:31:01.0000] <jgraham> hsivonen: In what way? [04:31:02.0000] <hsivonen> remote: html/tests/submission/PhilipTaylor/tools/canvas/gentest.py [04:31:03.0000] <hsivonen> remote: html/tests/submission/PhilipTaylor/tools/canvas/spec.yaml [04:31:04.0000] <hsivonen> when pushing something unrelated [04:31:05.0000] <jgraham> hsivonen: I'm not sure [04:31:06.0000] <hsivonen> jgraham: it made it look like I had overwritten everything by accident [04:31:07.0000] <jgraham> I saw that yesterday but couldn't see that I had done anything bad [04:32:00.0000] <jgraham> It didn't happen a few weeks back [04:32:01.0000] <hsivonen> jgraham: thanks for the insertAdjacentHTML test conversion [04:32:02.0000] <hsivonen> jgraham: I tweaked it a little bit, created an XHTML variant and pushed [04:32:03.0000] <jgraham> Maybe it is from one of the commit hooks [04:32:04.0000] <jgraham> hsivonen: np [04:32:05.0000] <jgraham> Thanks for pushing [04:32:06.0000] <hsivonen> so now I'm supposed to send email to the list, I gather [04:33:00.0000] <jgraham> Yeah, something like that [04:41:00.0000] <hsivonen> jgraham: do I need to request review from a particular person, or will stuff just happen now that I've thrown the tests over the wall? [04:41:01.0000] <jgraham> hsivonen: In theory magic will now happen [04:41:02.0000] <hsivonen> jgraham: cool [04:42:00.0000] <jgraham> In practice the review system is somewhat dysfunctional [04:42:01.0000] <hsivonen> :-( [04:42:02.0000] <jgraham> Sad face indeed [04:44:00.0000] <jgraham> Basically the problem is that not many people are paying attention, doing review is not very interesting, and no one gets paid to do it [04:45:00.0000] <hsivonen> I had thought Microsoft was paying krisk to do it [04:45:01.0000] <jgraham> I don't really know how to solve any of that, but I would like it if we could solve the technical problems like "doing review by email sucks" [04:45:02.0000] <hsivonen> what's the MANIFEST about under Ms2ger's dir? [04:45:03.0000] <hsivonen> do I need a MANIFEST? [04:46:00.0000] <jgraham> I don't know exactly what proportion of his time krisk gets to spend on HTMLWG testsuite stuff or what he does in that time [04:46:01.0000] <jgraham> He does, admittedly, do some review and spends some time doing the busywork that the whole approved/submitted system needs [04:47:00.0000] <jgraham> hsivonen: No. It is needed by the harness to pick up tests [04:48:00.0000] <jgraham> But I think someone else will create it once the tests get approved [04:48:01.0000] <jgraham> (we should probably change the system so that you *do* have to submit a manifest file. But that isn't the current system) [04:52:00.0000] <jgraham> hsivonen: I can't review since I touched the tests, but I expect it will be suggested that you remove the bugzilla references [04:53:00.0000] <jgraham> I could be wrong though [05:40:00.0000] <hsivonen> is http://crockford.com/javascript/performance.html an accidental or intentional troll? [05:45:00.0000] <jgraham> The cynical view is that it is an attempt to advertise JSLint by getting it included in benchmarks [05:47:00.0000] <espadrine> Well, everybody knows that javascript is mainly used for javascript parsing, so those benchmarks are important. [05:47:01.0000] <espadrine> Plus, they explain very specifically how they are managed, with a clear understanding of statistics. [05:50:00.0000] <espadrine> /me wonders how we can get clear IE javascript measuring without a standalone executable. [05:50:01.0000] <Philip`> JS is probably used for parsing more than it's used for e.g. raytracing [05:51:00.0000] <Philip`> so parsing seems as useful a thing to include in benchmark suites as what they already include [05:52:00.0000] <Philip`> (Extrapolating a single figure to proclaim overall "JavaScript performance" is not useful, though) [05:53:00.0000] <Philip`> (and failing to provide an easy way to reproduce the figures makes it impossible to trust at all) [05:55:00.0000] <espadrine> I checked, the explanation of how he got the numbers is not hidden in the page's source code. [05:57:00.0000] <Philip`> There's no doctype in the page's source code either, which doesn't inspire great trust [05:58:00.0000] <Philip`> (Does IE still use its old zillion-times-slower JS engine in quirks mode?) [05:59:00.0000] <gsnedders> Philip`: (No. Chakra's behaviour vary's upon mode) [05:59:01.0000] <gsnedders> *varies [05:59:02.0000] <zcorpan> oh, they backported JScript quirks? [06:01:00.0000] <jgraham> Philip`: To be fair a raytracer is probably closer to the applications for which javascript performance is the main bottleneck [06:01:01.0000] <gsnedders> zcorpan: Seemingly so [06:01:02.0000] <jgraham> Which are often games and so on [06:04:00.0000] <Philip`> jgraham: I'm not particularly familiar with the details, but I don't think they're really that close - raytracing is mostly about searching spatial data structures, whereas normal games are more about iterating over arrays of data, or something like that [06:05:00.0000] <jgraham> Oh. Well I was thinking of arithmetic operation performance [06:05:01.0000] <jgraham> But maybe that isn't the real bottleneck [06:05:02.0000] <jgraham> /me thinks that http://benfirshman.com/projects/jsnes/ is a more fun benchmark [06:06:00.0000] <gsnedders> jgraham: It's not the arithmetic that's the bottleneck, it's what you have around the arithmetic (type checks, etc.) where perf is won/lost, which depends upon data structures you're doing it on far more. [06:06:01.0000] <Philip`> Multiplying numbers is usually trivial compared to reading them from memory, even when you're writing in C and reading them from memory doesn't involve potential dynamic property lookups [06:10:00.0000] <jgraham> gsnedders: Well clearly the datastructure matters. I would nevertheless be surprised if optimising a raytracer didn't help more with a typical game than optimising a javascript parser [06:11:00.0000] <Philip`> I'd expect the same, since presumably the parser is all string operations and games rarely use strings [06:11:01.0000] <gsnedders> Also, it's jslint running on jslint. Because testing yourself is what all code does! [06:12:00.0000] <Philip`> but I'd expect it to help much less than directly optimising the game, since the bottlenecks are likely in very different places [06:12:01.0000] <jgraham> Fair enough [06:12:02.0000] <Philip`> Not that my expectations actually mean anything, of course [06:14:00.0000] <Philip`> /me has only cared about performance in about one JS thing he wrote, and that seemed to be entirely limited by canvas image-drawing performance which he could do nothing about [06:14:01.0000] <gsnedders> Philip`: That's very much been what I've seen, FWIW [06:15:00.0000] <Philip`> I expect WebGL would typically change things around - GPUs are stupidly fast, so the problem is getting data from JS to the GPU [06:16:00.0000] <gsnedders> (Not that there haven't been things where JS engines could optimize better and make such modifications unneeded) [06:16:01.0000] <gsnedders> (e.g., gaussian-blur in Kraken) [06:18:00.0000] <jgraham> I think that's very unfair. There are plenty of games that awful on older javascript engines but quite playable on new ones. I am at least reasonably sure that it is not all down to canvas optimisations [06:19:00.0000] <jgraham> Unless it happened that all the browsers with highly optimised javascript implementations also had highly optimised canvas [06:19:01.0000] <jgraham> Which would make it hard to tell [06:20:00.0000] <gsnedders> jgraham: Well, there's the fact that ImageData nowadays is mostly implemented at a JS-engine level. [06:21:00.0000] <Philip`> jgraham: Yeah, my one was not representative of all games, since it pretty only did graphics and trivial collision-detection and didn't have any actual gameplay [06:21:01.0000] <jgraham> Yes. But that is not the only thing [06:21:02.0000] <Philip`> s/pretty/pretty much/ [06:23:00.0000] <jgraham> (alternative evidence for extreme case: try disabling JIT for some games and see what happens) [06:25:00.0000] <gsnedders> (JS is fun, though, because scripts tend to have such short execution times you can scarcely afford to do much optimization) [06:28:00.0000] <Philip`> /me remembers that he has another game with lots of JS code that is sometimes quite slow, so he should probably try porting it to run in a browser [06:35:00.0000] <Philip`> /me wonders if there's some trick to disabling JIT in Opera, like whether you have to reload the page or open a new tab or restart the browser [06:38:00.0000] <gsnedders> Philip`: It should pretty much insantly stop running JIT'd code [06:41:00.0000] <Philip`> I tried running some random tests like http://jsperf.com/caching-array-length/7 and don't see any significant differences when toggling the EcmaScriptJIT setting :-( [06:41:01.0000] <Philip`> (with 11.10 on 64-bit Linux) [06:42:00.0000] <Philip`> /me wonders if Opera doesn't bother JITting on 64-bit yet [06:42:01.0000] <Philip`> (Hmm, sounds like it ought to work) [06:43:00.0000] <Philip`> Also it could be that jsperf.com is useless [06:43:01.0000] <Philip`> /me knows nothing about this [06:44:00.0000] <gsnedders> Philip`: Hmm, seems like reloading is needed [06:44:01.0000] <gsnedders> /me thought it affected stuff insantly, not just when creating a new document [06:45:00.0000] <gsnedders> (shows how much I time I spend debugging stuff like that :P) [06:45:01.0000] <Philip`> Oh, I think I'm being stupid (unsurprisingly) [06:45:02.0000] <Philip`> I didn't realise there was a "save" button on opera:config and assumed it applied immediately [06:46:00.0000] <gsnedders> Philip`: You still need to reload the page [06:47:00.0000] <Philip`> Yeah [06:47:01.0000] <Philip`> Seems to be the case [06:47:02.0000] <Philip`> http://canvex.lazyilluminati.com/83/play.xhtml with JIT probably enabled: up to about 96fps; with JIT probably disabled: up to about 92fps [06:49:00.0000] <Philip`> /me wouldn't be surprised if the bottleneck now was the setInterval [06:49:01.0000] <jgraham> http://benfirshman.com/projects/jsnes/ 59ish FPS with JIT 10ish without [06:52:00.0000] <Philip`> /me expects emulators are entirely different to any non-emulated games, though it's nice for emulators to be fast for their own sake [06:52:01.0000] <Philip`> Finding representative applications is hard :-( [06:54:00.0000] <jgraham> That is true [10:38:00.0000] <MikeSmith> https://bugzilla.mozilla.org/show_bug.cgi?id=651888 [10:38:01.0000] <MikeSmith> Rik`: ↑ [10:39:00.0000] <Rik`> MikeSmith: maybe submit this idea to the devtools team [10:39:01.0000] <MikeSmith> ok [10:39:02.0000] <MikeSmith> how do I do that? [10:40:00.0000] <Rik`> well, I don't know the component :) [10:40:01.0000] <TabAtkins> Oh man, WebP finally has alpha, largely because Firefox complained that they wouldn't implement it without that. ^_^ [10:40:02.0000] <Rik`> product: Firefox component: developer tools [10:41:00.0000] <MikeSmith> Rik`: OK, I will also post it on #devtools [10:41:01.0000] <MikeSmith> or Moz irc [10:43:00.0000] <MikeSmith> Rik`: hmm, bugzilla UI does not seem to be offering me a "developer tools" component [10:43:01.0000] <Rik`> MikeSmith: Change product to Firefox and then submit the bug [10:43:02.0000] <Rik`> you'll see the Firefox components later [10:43:03.0000] <Rik`> (which is ugly) [10:44:00.0000] <MikeSmith> thanks [10:44:01.0000] <MikeSmith> done [10:55:00.0000] <Rik`> MikeSmith: again, bz answers in less than 30 minutes :) [10:58:00.0000] <MikeSmith> Rik`: heh :) [10:59:00.0000] <MikeSmith> I guess I knew about that shortcut [10:59:01.0000] <MikeSmith> but I thought I'd found that it doesn't always seem to work as expected [10:59:02.0000] <MikeSmith> but I could be wrong [11:17:00.0000] <MikeSmith> um [11:17:01.0000] <MikeSmith> can somebody please tell me how do I submit a Chrome enhancement request? [11:18:00.0000] <MikeSmith> because I seem to not be able to figure it out on my own [11:20:00.0000] <espadrine> Isn't this the same way as creating a bug request? [11:20:01.0000] <espadrine> http://code.google.com/p/chromium/issues/list or something? [11:20:02.0000] <MikeSmith> the Template select control at http://code.google.com/p/chromium/issues/entry does not provide anything appropriate for enhancements [11:26:00.0000] <AryehGregor> MikeSmith, I'm pretty sure "Defect report from user" is correct for enhancement requests. [11:35:00.0000] <jgraham> AryehGregor: You wanted assert_not_equals, right? [11:35:01.0000] <AryehGregor> jgraham, yeah. [11:38:00.0000] <jgraham> I added it [11:38:01.0000] <jgraham> (I meant to write that the first time rather than leave a dangling question) [11:38:02.0000] <jgraham> (but forgot) [11:42:00.0000] <AryehGregor> Thanks. [11:49:00.0000] <AryehGregor> jgraham, thanks. [11:52:00.0000] <AryehGregor> This is so typical of IEBlog: IE9 is clearly better at resisting web page hangs than two of the three competing browsers, and they could have written a totally fair post that made IE look great, but they had to write one that was half FUD instead. [11:52:01.0000] <AryehGregor> (this is actually one of my major gripes with Firefox, although I'm kind of atypical in the number of sites I visit with long-running scripts . . .) [11:53:00.0000] <AryehGregor> (by which I mean that most of the time I use Firefox I'm visiting a page with long-running script) [11:53:01.0000] <jgraham> Hmm, what does IE do? [11:53:02.0000] <AryehGregor> IE is tab-per-process, so in IE9 it has no problem tolerating any kind of per-tab hang. [11:54:00.0000] <jgraham> Oh, you mean like that [11:54:01.0000] <AryehGregor> So tabs can't hang the main UI, no matter what they do (in theory). [11:54:02.0000] <jgraham> OK [11:54:03.0000] <AryehGregor> As opposed to Firefox, which completely freezes while script is running in any tab. [11:54:04.0000] <AryehGregor> Apparently Opera doesn't freeze on long-running script, but they say it can freeze on other types of tab hangs. Not sure what that actually means. [11:54:05.0000] <AryehGregor> If anything. [11:55:00.0000] <jgraham> Well it means that we don't freeze on long running scripts [11:55:01.0000] <jgraham> But if you manage to, say, hang the parser it can freeze [11:55:02.0000] <AryehGregor> But that would only be due to a weird bug of some kind, right? [11:55:03.0000] <AryehGregor> Not something that's likely to be deliberately trigger-able. [11:55:04.0000] <AryehGregor> As opposed to while (true);. [11:57:00.0000] <jgraham> Well it is possible to make badness happen in the HTML5 algorithm I think [11:57:01.0000] <jgraham> Even with the limits [12:07:00.0000] <espadrine> As a matter of fact, Opera does hang quite a lot with huge pages with lots of nodes... [12:15:00.0000] <MikeSmith> AryehGregor: ok (about enhancement filing) [12:18:00.0000] <othermaciej> I'm guessing you can hang the engine in any browser if you force style resolution of many complex selectors in a giant document [13:35:00.0000] <AryehGregor> Can anyone explain to me why this is valid? http://validator.nu/?doc=data%3Atext%2Fhtml%2C%3C%21doctype+html%3E%3Ctitle%3E%3C%2Ftitle%3E%3Cimg+src%3Dx%3E&showsource=yes [13:36:00.0000] <AryehGregor> The img has no alt, and I can't see any applicable exception. [13:38:00.0000] <Hixie> looks like a bug [13:39:00.0000] <jgraham> I am suspicious that hsivonen has wanted to avoid messing about with the <img alt> stuff since it is clearly a huge rathole [13:40:00.0000] <othermaciej> AryehGregor: I think the validator implements the older rule of never reporting missing alt as an error [13:40:01.0000] <AryehGregor> Oh. [13:40:02.0000] <othermaciej> (it has the "image report" feature to give purely advisory guidance) [13:40:03.0000] <AryehGregor> I didn't know there was such a rule. [13:40:04.0000] <othermaciej> I believe that is 2 years obsolete now [13:40:05.0000] <othermaciej> at least [14:15:00.0000] <AryehGregor> So apparently my cell phone number is now available to all W3C members. [14:15:01.0000] <AryehGregor> Would be nice if the profile editing page made that just a bit clearer. [14:15:02.0000] <TabAtkins> I'm *this* close to being able to read Chinese and Japanese numbers, without consciously trying to learn this. [14:16:00.0000] <TabAtkins> I can already kinda read Tamil, because it was an interesting system that I spent a lot of time on. [14:16:01.0000] <AryehGregor> I can more or less read Japanese numbers. [14:16:02.0000] <TabAtkins> Also: it's pretty. [14:17:00.0000] <wilhelm> They mostly use Arabic numerals, though. :P [14:19:00.0000] <AryehGregor> Doesn't everyone? [14:19:01.0000] <AryehGregor> Israelis mostly use Arabic numerals, and they're even backwards. [14:19:02.0000] <TabAtkins> Cultural homogenization ftw [14:20:00.0000] <AryehGregor> Well, to be fair, it's a better system. [14:20:01.0000] <AryehGregor> You know, positional notation. [14:20:02.0000] <TabAtkins> That's why it's a win. [14:21:00.0000] <AryehGregor> Practically every other system can handle only fairly small numbers, totally useless for things like serial numbers. [14:21:01.0000] <TabAtkins> Yup. [14:21:02.0000] <TabAtkins> Generally 6 digits or less. [14:21:03.0000] <AryehGregor> There's like one language that MediaWiki supports (and it supports a ridiculous number of languages) that wants a different default <ol> list-style-type, IIRC. [14:22:00.0000] <TabAtkins> Which is? [14:22:01.0000] <AryehGregor> http://www.mediawiki.org/wiki/Localisation_statistics [14:22:02.0000] <AryehGregor> Maybe Persian? [14:22:03.0000] <AryehGregor> Sort that table in descending order by percentage translated. [14:23:00.0000] <AryehGregor> 11 languages with >99% translation, 37 with >95%. Wikis are awesome for translation. [14:23:01.0000] <TabAtkins> Yeah. 2011-04-22 [17:54:00.0000] <TabAtkins> ...I just caught myself trying to send an email by hitting "Ctrl+X" then "Y" (the chords to save a file in nano). [17:55:00.0000] <TabAtkins> /me has been submitting to many commit messages today. [17:55:01.0000] <Hixie> you should use pine [17:55:02.0000] <Hixie> ctrl+x y is how you send mail in pine :-) [17:56:00.0000] <Hixie> (not coincidentally, since nano is a reimplementation of pico, which is pine's mail editor, and they thus all share the same control scheme) [17:57:00.0000] <TabAtkins> I'm plenty happy with Gmail, thank you. [22:18:00.0000] <MikeSmith> fyi - http://lists.w3.org/Archives/Public/public-iri/2011Apr/0043.html [22:19:00.0000] <MikeSmith> IETF IRI WG discussion [22:19:01.0000] <MikeSmith> "possible path is to put all the parsing/processing stuff into Adam's document, fast-track that document, and work on 3987bis in parallel" [22:20:00.0000] <MikeSmith> Adam's document being abarth http://tools.ietf.org/html/draft-abarth-url-00 [22:32:00.0000] <othermaciej> it's interesting that HTML5 doesn't even need an external definition of valid [23:04:00.0000] <MikeSmith> othermaciej: you mean of "valid URL" ? [23:05:00.0000] <othermaciej> yeah [05:42:00.0000] <MikeSmith> even in HTML4, id values are matched case-sensitively, right? [05:59:00.0000] <MikeSmith> checking http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html in validator.nu, I get some "Text run is not in Unicode Normalization Form C" errors [05:59:01.0000] <MikeSmith> seems like due to 〈 and 〉 [06:00:00.0000] <MikeSmith> U+2329 and U+232A [06:02:00.0000] <Philip`> Would be convenient if the validator told you what the normalised form would be [06:04:00.0000] <MikeSmith> Philip`: indeed [06:04:01.0000] <MikeSmith> I guess that would need to be done in the htmlparser code [06:06:00.0000] <MikeSmith> ah [06:06:01.0000] <MikeSmith> or not [06:07:00.0000] <MikeSmith> ./syntax/non-schema/java/classes/org/whattf/checker/NormalizationChecker.java [06:08:00.0000] <MikeSmith> that doesn't look like fun code :( [06:08:01.0000] <MikeSmith> import com.ibm.icu.text.Normalizer [06:12:00.0000] <bga_> i have <script src="a.js# b.js c"> [06:13:00.0000] <bga_> but in FF3.6 script.src == 'a.js#%20b.js%20c' [06:13:01.0000] <bga_> is it bug? [06:17:00.0000] <espadrine> bga_: looks like an escape bug, yes [06:17:01.0000] <espadrine> /me wonders whether script.src is treated specially in this respect. [06:22:00.0000] <bga_> espadrine in FF4 too [06:36:00.0000] <david_carlisle> MikeSmith: 9001, that;s a spec bug, the text has been changed to use the (Unicode 3.1) replacement U+27E8, but the numeric reference to make the glyph is still using the deprecated U+2329 character [06:41:00.0000] <david_carlisle> http://www.w3.org/2003/entities/2007doc/Overview.html#diff-xhtml1 [13:27:00.0000] <Hixie> othermaciej: what did you mean by "HTML5 doesn't even need an external definition of valid [URL]"? [13:38:00.0000] <othermaciej> Hixie: I mean it already defines valid URL based on existing specs [13:38:01.0000] <Hixie> ah right [13:38:02.0000] <othermaciej> so it's not a required interface point for a new spec that defines URL processing [13:38:03.0000] <Hixie> yeah, the only thing we need but don't have yet is rules for parsing and resolving [13:39:00.0000] <Hixie> though actually we even have that now, it's just very buggy [13:42:00.0000] <othermaciej> yep [13:42:01.0000] <othermaciej> Adam is trying to do his best to define less buggy rules [13:42:02.0000] <othermaciej> and Julian is doing his best to stop him [13:42:03.0000] <Hixie> oh? [13:42:04.0000] <Hixie> i didn't realise julian was active in this area any more [13:43:00.0000] <othermaciej> http://lists.w3.org/Archives/Public/public-iri/2011Apr/thread.html [13:45:00.0000] <Hixie> sigh [14:30:00.0000] <AryehGregor> Yay, I've gotten embroiled in a controversial and probably fruitless discussion on public-html. [14:32:00.0000] <AryehGregor> /me abides by the "only look at a discussion once per day" rule [14:33:00.0000] <TabAtkins> This is the best rule. [14:33:01.0000] <TabAtkins> As long as the discussion isn't clearly useful. [14:33:02.0000] <AryehGregor> Right. [14:33:03.0000] <AryehGregor> Or even if it is clearly useful, but time-consuming. [14:33:04.0000] <TabAtkins> Yes. [14:34:00.0000] <othermaciej> if the discussion isn't useful, you probably should not participate [14:35:00.0000] <othermaciej> AryehGregor: I appreciate that you gave a first-hand testimonial of the validation pressure effect on authoring tool implementors [14:35:01.0000] <othermaciej> if that is the discussion you mean [14:35:02.0000] <othermaciej> I do think it might be getting past the point of usefulness [14:53:00.0000] <AryehGregor> othermaciej, I'll be cautious in replying further when I next look at the discussion, on Sunday. [14:54:00.0000] <AryehGregor> It would be nice if the accessibility people and the other people could actually understand each other's viewpoints properly, but I don't have much of any hope for that, so arbitration via Change Proposal seems like the best course for the time being. [14:54:01.0000] <othermaciej> hober: we should probably do a survey of HTML authoring tools at Apple and what they do about alt, and what reasons their owners give for that [14:55:00.0000] <AryehGregor> othermaciej, FWIW, the apple.com homepage appears to have exactly correct alt text for every image, while microsoft.com has terrible alt text. [14:55:01.0000] <hober> othermaciej: good idea; added to my todo list [14:55:02.0000] <othermaciej> hober: we have a lot of those (Mail, TextEdit, iWeb, iPhoto (photo web page export), wiki server…) [14:55:03.0000] <othermaciej> probably more that I am not thinking of [14:56:00.0000] <hober> *nod( [14:56:01.0000] <othermaciej> AryehGregor: our Web designers are very particular [14:56:02.0000] <AryehGregor> Also, a blind MediaWiki user I once spoke to told me that the built-in screen reader in OS X is one of the best out there, and the ones for Windows and Linux are terrible (plus the Windows ones are unreasonably expensive). [14:56:03.0000] <AryehGregor> (he said something like "the Linux ones are also terrible, but at least they're free") [14:56:04.0000] <othermaciej> however, we don't expect non-professional end users to necessarily meet the same standards we set for ourselves [14:57:00.0000] <othermaciej> hober: I guess Pages, Numbers and Keynote also all have HTML export [14:57:01.0000] <AryehGregor> I think the MediaWiki user interface itself has consistently appropriate alt text (although probably not 100% consistent since we have no formal review for this sort of thing). It's mainly the uploaded images that are the issue. [14:57:02.0000] <AryehGregor> By contrast, last time I looked at vBulletin's alt text, the interface also had bad alt text. [14:58:00.0000] <AryehGregor> (note: some of the interface on Wikipedia is built by local admin-supplied JavaScript, not MediaWiki, so it probably has worse alt text) [15:01:00.0000] <othermaciej> sadly apple.com doesn't validate (though one of those is just a bug and should totally be fixed in the markup) [15:02:00.0000] <AryehGregor> microsoft.com doesn't validate, but it comes pretty close. [15:02:01.0000] <AryehGregor> www.wikipedia.org validates as HTML5, because I fixed it so it would validate. :P [15:04:00.0000] <AryehGregor> Wait, <th> only accepts phrasing content children? Why? [15:04:01.0000] <Hixie> same reason <h1> does [15:05:00.0000] <AryehGregor> http://en.wikipedia.org/wiki/ puts an <h2> as a child of a <th>. Isn't that potentially reasonable? [15:05:01.0000] <AryehGregor> Never mind the fact that it's in a layout table. [15:05:02.0000] <AryehGregor> I've seen articles where a large chunk of the article is a table, which has headings stuck in periodically to break it up. [15:06:00.0000] <AryehGregor> Seems like that's reasonable, if you don't want to break it into multiple tables (maybe it's logically one big table). [15:11:00.0000] <TabAtkins> I've *wanted* to do that before, when I had multiple tables which really wanted to all have the same size columns. I ended up just manually calculating a reasonable width and applying it directly. [15:11:01.0000] <TabAtkins> (It was for a pivot-table-like report, where you split up a single large table into several smaller tables based on one of the fields.) [15:13:00.0000] <AryehGregor> I can't remember where I saw it on Wikipedia. I think maybe it was one big table ordered by date and divided up by year or something. [15:13:01.0000] <AryehGregor> Maybe I'm imagining it. [15:14:00.0000] <TabAtkins> No, that sounds like a reasonably and believable case. [15:14:01.0000] <AryehGregor> The reason it came to mind is probably because I gave it repeatedly as a counterexample to users who wanted sections to be wrapped in their own <div> automatically (or in HTML5 terms, <section>, I guess). [15:14:02.0000] <AryehGregor> You can't do that automatically if headings can be nested in other elements, like tables. [15:15:00.0000] <AryehGregor> And MediaWiki doesn't use anything approaching a real HTML parser, so figuring out where it won't work is not so easy. [15:25:00.0000] <AryehGregor> Random observation: I maintain my synagogue's website. Somewhat else wrote it and it's totally not standards-compliant, but I don't have any reason to fix it. I would not bother checking existing content for correct alt text, which I'm sure it doesn't have, because there's only one person who goes to my synagogue regularly who's even close to blind, and he's well into his eighties and I'm almost sure he doesn't use computers, and anyway all [15:25:01.0000] <AryehGregor> of the info anyone has reason to care about (like the schedule) is text. [15:26:00.0000] <AryehGregor> Somehow I just cannot bring myself to view this as a situation where I have any moral or practical reason to care about the alt text quality. (Although I'd still write correct alt text for images I added myself, if practical.) [15:26:01.0000] <AryehGregor> (Just because, why not?) [15:41:00.0000] <TabAtkins> Because some of us are weird enough that theoretically grammatical purity matters. [15:41:01.0000] <AryehGregor> That sentence doesn't even conform to regular old grammatical purity. [15:43:00.0000] <TabAtkins> s/theoretically/theoretical/ [15:44:00.0000] <AryehGregor> That's better. [15:44:01.0000] <AryehGregor> I'm fine with theoretical grammatical purity as long as the person evaluating the purity actually knows what they're talking about. [15:44:02.0000] <AryehGregor> Meaning, like, a linguist, not an English major. [15:44:03.0000] <AryehGregor> English majors are totally clueless about grammar. [15:45:00.0000] <AryehGregor> Unfortunately, they don't realize this. [15:45:01.0000] <TabAtkins> I was talking about grammars of computer languages. [15:45:02.0000] <AryehGregor> Oh. [15:45:03.0000] <TabAtkins> But yes to what you said, too. [15:46:00.0000] <AryehGregor> I know bugger all about those. [15:46:01.0000] <TabAtkins> I mean like HTML. [15:46:02.0000] <AryehGregor> (although probably more than I know about theoretical grammatical purity of human languages) [15:46:03.0000] <Hixie> AryehGregor: what if a potential new recruit is blind and the lack of good alt text turns him away? [15:47:00.0000] <AryehGregor> Hixie, then I guess we lost someone. Good thing it's a totally hypothetical situation and I estimate the probability at being close enough to zero that it doesn't matter. [15:47:01.0000] <AryehGregor> I mean, you can come up with hypothetical scenarios for why anything could be bad. [15:48:00.0000] <Hixie> well as an aethist i certainly have no problem with that i guess :-P [15:48:01.0000] <Hixie> aetheist even [15:48:02.0000] <Hixie> atheist even [15:48:03.0000] <AryehGregor> Maybe a potential new recruit has a vicious and irrational hatred for blind people and refuses to use websites that have adequate alt text. [15:48:04.0000] <Hixie> jesus [15:48:05.0000] <AryehGregor> I like your choice of imprecation there. [15:48:06.0000] <AryehGregor> Very ironic in all directions. [15:48:07.0000] <Hixie> :-P [15:51:00.0000] <AryehGregor> Okay, does anyone know what's up with Bruce Schneier's Squid Blogging Fridays? [15:51:01.0000] <AryehGregor> Does he just like squid or something? [15:51:02.0000] <AryehGregor> /me almost capitalized "squid" out of reflex, since he's almost always talking about the HTTP proxy software instead of the sea-dwelling invertebrate when he uses the word [15:52:00.0000] <TabAtkins> Maybe he got it from PZ Myers? [15:52:01.0000] <TabAtkins> Hixie: aetheist: Someone who doesn't believe in the luminiferous aether. [15:53:00.0000] <Hixie> wait wait hold on, i just realised what AryehGregor said about his synagogue [15:53:01.0000] <AryehGregor> TabAtkins, that should be an aaetheist. [15:53:02.0000] <Hixie> AryehGregor: you'd rather have someone who has a vicious and irrational hatred for blind people than a blind person? :-P [15:53:03.0000] <TabAtkins> AryehGregor: If I wasn't trying for a pun, sure. [15:53:04.0000] <AryehGregor> An aetheist should be someone who *does* believe in the lumiferous aether. [15:54:00.0000] <AryehGregor> Hixie, no, but maybe my scenario is true and yours isn't. I mean, we're not going to turn away members just because they have a vicious and irrational hatred of blind people, are we? They can still pray here. [15:54:01.0000] <Hixie> AryehGregor: your synagogue, your rules. :-) [15:54:02.0000] <Hixie> AryehGregor: i know which i'd rather have in my community though :-) [15:54:03.0000] <Hixie> and it ain't the hater :-) [15:55:00.0000] <AryehGregor> But what if a blind-person-hater views the website, and no blind person does? Then we'd lose the blind-person-hater and gain nothing. [15:55:01.0000] <AryehGregor> I mean, my point was just that hypothetical scenarios are useless here unless you realistically evaluate their likelihood. [15:56:00.0000] <AryehGregor> You've got to weigh cost against benefit, not just demonstrate that there is some benefit in principle. [15:56:01.0000] <AryehGregor> Because there's also some cost, and you have to evaluate that too. [15:57:00.0000] <AryehGregor> (it should also be mentioned that my synagogue is tiny and dying, so the possibility of attracting any new members at all is kind of marginal) [15:59:00.0000] <othermaciej> AryehGregor: in the physical world, there are different standards of accommodation required for public facilities and large businesses vs. private facilities and small businesses [15:59:01.0000] <othermaciej> for example, if you build a multi-story apartment building, it must have an elevator; but it's not legally required that every private home has to have an elevator [15:59:02.0000] <othermaciej> or even a ramp, if it has front steps [16:00:00.0000] <AryehGregor> On the other hand, in web standards, no distinction is drawn, and all pages are required to have things like alt attributes. [16:00:01.0000] <AryehGregor> Which I don't necessarily object to as a policy measure. [16:00:02.0000] <othermaciej> I tend to think this logic should apply to the Web as well - Amazon is clearly a public accommodation just like a brick and mortar Barnes & Noble store, but a private person's photo blog is not [16:00:03.0000] <AryehGregor> But I have an issue with people who seem to assume that anything non-accessible is morally wrong. [16:01:00.0000] <othermaciej> but on the other hand, in the electronic world, the cost of accommodation is generally lower [16:01:01.0000] <AryehGregor> Even proportionally? [16:01:02.0000] <AryehGregor> It's much more expensive to build a ramp than to add alt text, but it's also much more expensive to build a building than to put up photos on Flickr. [16:01:03.0000] <AryehGregor> If you're uploading a bunch of photos from your camera without annotating them, adding alt text would actually be much more expensive than the act of uploading itself. [16:02:00.0000] <AryehGregor> Whereas I assume few to no physical accessibility measures come close in cost to the total cost of construction. [16:03:00.0000] <AryehGregor> (unless perhaps your building is grandfathered in and a legal obligation to provide accessibility is triggered by renovations, or something) [16:03:01.0000] <othermaciej> cost of private construction, at least in the US, is often dominated by one form or another of regulatory costs [16:03:02.0000] <AryehGregor> Yeah, but most of that is things like safety codes, not accessibility requirements. [16:03:03.0000] <AryehGregor> At least as far as I know (which is not very far). [16:09:00.0000] <othermaciej> building codes, and in some cases getting the needed permits [16:52:00.0000] <Anon226> Hi [16:53:00.0000] <Anon226> ... [16:58:00.0000] <TabAtkins> Damn, I actually spent a little bit of time finding a page that explained why you should just ask your question. [16:59:00.0000] <TabAtkins> And now the Anon's up and left. 2011-04-23 [21:06:00.0000] <jacobolus> who was it I was talking to about canvas wrappers? Philip` maybe? I hadn't realized there's a nice wiki page listing them over here https://github.com/bebraw/jswiki/wiki/Canvas-wrappers [10:05:00.0000] <MikeSmith> gsnedders: you around? [10:05:01.0000] <MikeSmith> or jgraham [10:06:00.0000] <MikeSmith> I wanted to ask what anolis options http://pimpmyspec.net/ uses [10:07:00.0000] <MikeSmith> I'm trying to figure out what causes the bug in http://www.w3.org/Bugs/Public/show_bug.cgi?id=12539 [10:08:00.0000] <MikeSmith> it seems to happens for me in my environment both when I use anolis and the spec-splitter [10:08:01.0000] <MikeSmith> but afaict happens for Hixie 's spec build only for the spec-splitter part [10:09:00.0000] <MikeSmith> but not the anolis / pimpmyspec part [10:10:00.0000] <MikeSmith> which makes me wonder if it has something to do with what options get fed to anolis and splitter [10:10:01.0000] <MikeSmith> and so, what different python libraries it might be using, based on those options [10:15:00.0000] <MikeSmith> /me wonders who Masatoshi Kimura is and if he's ever met him [10:16:00.0000] <MikeSmith> huh [10:16:01.0000] <MikeSmith> Mozilla committer? [10:24:00.0000] <gsnedders> MikeSmith: ask jgraham [10:25:00.0000] <MikeSmith> hai [10:25:01.0000] <MikeSmith> gsnedders: btw, you're a glasgow native, right? [10:29:00.0000] <gsnedders> MikeSmith: No, from St Andrews [10:29:01.0000] <MikeSmith> ah [10:29:02.0000] <MikeSmith> that explains things [10:29:03.0000] <MikeSmith> I can actually understand you when you speak [10:50:00.0000] <gsnedders> MikeSmith: Heh. If I switch to speaking Scots, I don't think that will make much difference. [10:53:00.0000] <MikeSmith> well, I'm not complaining [10:54:00.0000] <MikeSmith> but if you switched to speaking like Sammy in "How late it was, how late", that would be Ok by me [10:54:01.0000] <MikeSmith> James Kelman, man [10:55:00.0000] <MikeSmith> I don't know why I never read any of his books before now 2011-04-24 [20:30:00.0000] <Yuhong_> After IE6 was released, WaSP took a gentle leave of absence, claiming that "Browser makers are no longer the problem": http://archive.webstandards.org/ [20:30:01.0000] <Yuhong_> Before that: http://archive.webstandards.org/ie55.txt [20:31:00.0000] <Yuhong_> Then only years later came http://www.positioniseverything.net/explorer.html [20:32:00.0000] <Yuhong_> http://www.impressivewebs.com/no-standards-compliant-browser/ [12:44:00.0000] <bga_> plz anybody help me. http://www.webdevout.net/test?01v [12:45:00.0000] <bga_> seems bug in canvas api [12:46:00.0000] <bga_> browser does not clear old path [12:51:00.0000] <Philip`> bga_: You need to call ctx.beginPath() to clear the old path and start a new one [12:54:00.0000] <bga_> Philip` unfortunelly ctx.closePath() does not helps [12:56:00.0000] <bga_> Philip` ah. hm. thanks. its works [13:04:00.0000] <Philip`> closePath is unrelated [13:05:00.0000] <Philip`> It probably should be called closeSubpath, if I remember correctly 2011-04-25 [00:52:00.0000] <MikeSmith> Hixie: just fyi, W3C bugzilla is not responding at the moment [00:52:01.0000] <MikeSmith> for the last 10-15 minutes or so now [00:53:00.0000] <MikeSmith> (in case you planning to do any bug responding today) [01:00:00.0000] <Ms2ger> (which might not have been a bad idea, looking at the queue :)) [01:14:00.0000] <MikeSmith> heh [01:27:00.0000] <MikeSmith> the FF Nightly icon is pretty cool [01:28:00.0000] <MikeSmith> though the old Minefield icon was more fun [01:34:00.0000] <Ms2ger> Aurora's is pretty nice too [06:31:00.0000] <karlcow> http://w3ctech.com/2011/html5 another version of the logo with angel wings [06:32:00.0000] <Dashiva> Summon the lawyers! [06:34:00.0000] <karlcow> Dashiva: why? [06:35:00.0000] <Dashiva> Angel wings might be trademarked [06:48:00.0000] <kennyluck> lol [07:00:00.0000] <MikeSmith> what is the airplane doing to that cloud? [07:15:00.0000] <matijsb> :') [08:26:00.0000] <MikeSmith> ah, a CC0 vs MIT bikeshed [08:26:01.0000] <MikeSmith> breaking new ground [08:28:00.0000] <cooto> tell us more :) [08:30:00.0000] <MikeSmith> cooto: I should shut up about it actually, because I'm clearly lacking the capacity to understand how much of an essential improvement CC0 is over the MIT license the rest of us have been using like fools for so long without seeing how deeply inadequate it is [08:30:01.0000] <MikeSmith> hmm [08:30:02.0000] <MikeSmith> I probably should have shut up before I typed that [08:31:00.0000] <MikeSmith> I think what's really needed here is a Maoist-style "struggle session" [08:32:00.0000] <cooto> hahaha, ok you right [08:32:01.0000] <MikeSmith> where the MIT-license advocates are required to wear dunce caps with stuff like "Class Traitor" and "Reactionary" written on them [08:33:00.0000] <MikeSmith> while the CC0 party members scream educational slogans at them [08:34:00.0000] <MikeSmith> it's like Jaws 5 -- "just when you thought the waters could not be muddied any more than they already have been, we find a way to muddy them further!" [08:35:00.0000] <MikeSmith> grand achievement, that [08:48:00.0000] <karlcow> It's always interesting how these discussions tend to shut up some opinions. The cost of having to push your opinions and the likely violence of the answers of some people make it harder in some contexts. [08:48:01.0000] <karlcow> Basically, it is shutting off participation because people are extreme about their opinions, or binary. [08:50:00.0000] <karlcow> (but then I should probably shut up about that too because this comment will attract discussions I do not want necessary to have :) ah life;) [08:55:00.0000] <MikeSmith> karlcow: btw, thanks for your message on the qa-dev list [08:56:00.0000] <MikeSmith> about the w3c markup validator checking id values case-insensitively [08:57:00.0000] <MikeSmith> I guess I had heard the reason for that before, but had since forgotten [08:57:01.0000] <MikeSmith> and will likely forget it again [08:59:00.0000] <MikeSmith> karlcow: anyway, to me, it's just yet another deficiency in the existing SGML-driven validator that shows why it needs to be replaced [09:03:00.0000] <MikeSmith> karlcow: btw, please take a look at http://www.w3.org/wiki/BrowserTechnologies [09:03:01.0000] <MikeSmith> karlcow: and if there is anything missing there, please add it [11:33:00.0000] <ezoe> HTML5 specification said "a leading newline character immediately following the pre element start tag is stripped." [11:34:00.0000] <ezoe> what about a newline immediately preceeding </pre>? [11:42:00.0000] <Philip`> ezoe: Only the leading newline is handled specially [11:55:00.0000] <ezoe> so if i have <pre>[newline]text[newline]<pre> [11:55:01.0000] <ezoe> i got text[newline] [11:56:00.0000] <hober> yes [11:56:01.0000] <ezoe> so if I render it. it will be [11:56:02.0000] <ezoe> text [11:56:03.0000] <ezoe> right? [11:57:00.0000] <rafaelw> MikeSmith: I emailed public-webapps⊙wo on Friday. Hixie says I should ping you to help get my first email unstuck. [11:57:01.0000] <ezoe> it's interesting why HTML5 has this rule. [11:57:02.0000] <ezoe> only IE9 implement this behavior so this rule wasn't from existing behavior. [11:58:00.0000] <ezoe> but even the IE9 also strip a last newline character. [12:05:00.0000] <ezoe> all browser except IE9 strip first following and last preceeding newline character. IE9 strip last preceeding newline. [12:05:01.0000] <ezoe> Should I blame all browser? [12:06:00.0000] <ezoe> well, at least, in the latest version of IE, Chrome, Opera, Safari and Firefox. [12:24:00.0000] <bga_> hm [12:24:01.0000] <bga_> nice idea [12:25:00.0000] <bga_> UA should read orientation from exif data [12:25:01.0000] <bga_> and rotate image [14:17:00.0000] <Philip`> ezoe: I think some (all?) browsers did the newline-skipping in the renderer, rather than in the parser [14:17:01.0000] <Philip`> so they should give the same appearance as what HTML5 specified, though with a different DOM [14:18:00.0000] <Philip`> /me doesn't remember the details, though [14:18:01.0000] <Philip`> (nor the reason for HTML5 doing what it does) [14:42:00.0000] <ezoe> if there is a markup <pre>\ntext\n</pre> where \n is newline character. [14:43:00.0000] <ezoe> innerText should be "text\n". [14:45:00.0000] <Philip`> innerText is a whole extra layer of complexity, I think [14:45:01.0000] <gsnedders> innerText is just a mindfuck [14:45:02.0000] <Philip`> Better to stick with textContent for testing :-) [14:45:03.0000] <ezoe> same. [14:46:00.0000] <ezoe> all major browser except IE don't strip first newline. [14:47:00.0000] <ezoe> if It's stripped in HTML syntax level. I expect i don't see it from DOM. [14:47:01.0000] <gsnedders> innerText has only a limited amount to do with the DOM, however [14:48:00.0000] <ezoe> i tested it against textContent. [16:47:00.0000] <Hixie> jgraham: pms is dead for w3c site [16:47:01.0000] <Hixie> jgraham: i get an xml error [16:48:00.0000] <Hixie> othermaciej: i'm blocking w3c publication until pms works again (will try periodically) [16:52:00.0000] <wilhelm> Perhaps it's not that time of the month. [16:54:00.0000] <othermaciej> Hixie: ok [16:55:00.0000] <othermaciej> Hixie: btw I recently had occasion to crawl through revision history and there seem to be quite a few revs over time that are Python errors [16:55:01.0000] <Hixie> yeah sometimes i just don't notice and my script checks it in [16:55:02.0000] <Hixie> depends how much attention i'm paying [16:56:00.0000] <Hixie> typically i won't notice for changes that are trivial, because i don't review the changes for those, i just do ./build;./commit [16:56:01.0000] <Hixie> i guess i could have my script check for the signature of a python error and avoid doing the checkin in those cases 2011-04-26 [17:12:00.0000] <Hixie> othermaciej: so for bug 11239 you want me to play a game of guesswork where i guess what the wg wants, provide a diff, get shouted at by the a11y guys, then try to guess again, rince repeat? [17:13:00.0000] <Hixie> othermaciej: because that's what i tried with 10066 and that wasn't any fun. [17:13:01.0000] <othermaciej> /me has to look up which bugs those are [17:13:02.0000] <Hixie> 10066 is the aria one [17:14:00.0000] <TabAtkins> You could try just asking what they want before making the edit. You'll still get yelled at by the a11y guys (same as last time), but at least it's less work for you. [17:14:01.0000] <Hixie> 11239 is the drawFocusRect one [17:14:02.0000] <Hixie> TabAtkins: i tried, and i didn't understand any of the answers [17:14:03.0000] <TabAtkins> Sigh, yeah. [17:15:00.0000] <othermaciej> if you just post a diff to the bug (11239) and mail the list that you have done so, I will do my best to run interference and keep any shouting in check [17:15:01.0000] <othermaciej> e.g. if people complain about things other than being inconsistent with the decision [17:16:00.0000] <othermaciej> for example if anyone complains about the decision itself [17:16:01.0000] <othermaciej> you can also make up something reasonable, check it in, and just press your luck, but that seems to have slightly higher odds of resulting in flamage [17:17:00.0000] <Hixie> yeah so what i want is for you to tell me what to change [17:17:01.0000] <Hixie> the CP is incoherent, and the decision is a vague change to the CP [17:17:02.0000] <Hixie> there's just no way i want to play this game [17:18:00.0000] <othermaciej> if I were to do that, I would want to make a diff and post it to the WG first to avoid getting flamed myself, and that will probably both be lower quality and take considerably longer [17:23:00.0000] <Hixie> i wouldn't want a diff, just a bullet point list of what needs changing [17:23:01.0000] <Hixie> i honestly have no idea what i'm supposed to change at this point [17:23:02.0000] <Hixie> the CP is incoherent and the decision is vague [21:28:00.0000] <AlexNRoss> Okay, I would like to confirm something and would like link references for an answer, I can't find a solid answer on this. [21:29:00.0000] <AlexNRoss> Using HTML5 DTD with XHTML mark-up. Should the HTTP and meta content-type be text/html or application/xhtml+xml ? [21:29:01.0000] <AlexNRoss> I've heard conflicting stories. [21:30:00.0000] <AlexNRoss> Using text/html with XHTML DTD is incorrect, but with HTML5 it is DTD-less. [22:35:00.0000] <hober> AlexNRoss: there is no HTML5 DTD. [00:21:00.0000] <hsivonen> Let's see if Gruber mentions http://www.webm-ccl.org/ at all... [00:26:00.0000] <erlehmann> hsivonen, i wonder what gruber, pritlove et al are going to say if at some time in the future people use webm. it may be fun to watch. [00:27:00.0000] <roc> you mean other than Youtube [00:27:01.0000] <roc> ? [00:35:00.0000] <erlehmann> roc, like when / if it becomes obvious that apple fails by not supporting it. [00:35:01.0000] <roc> you never get satisfaction from people like Gruber, they'll never admit they were wrong [00:36:00.0000] <roc> you can only ignore them and move on [00:42:00.0000] <erlehmann> roc, so what do their followers say then? [00:51:00.0000] <hsivonen> erlehmann: Gruber's followers probably don't mind the selectiveness of the stories that appear [00:52:00.0000] <hsivonen> Gruber has very insightful posts when the insightfulness aligns with Apple's strategy [00:54:00.0000] <hsivonen> e.g. http://daringfireball.net/2010/08/getting_there_from_here says it like it is [00:58:00.0000] <roc> except "Flash is never going to decrease in popularity so long as all web browsers support it. " is not true [01:03:00.0000] <hsivonen> roc: it seems to me it's quite close to true. The popularity of Flash comes from being easy to author for, so even if users hated it but Adobe didn't feel the need to retarget their tools to browser native features, Flash could stick around thanks to the authoring tools [01:04:00.0000] <roc> maybe [01:04:01.0000] <roc> but the open Web is starting to pass Flash in capability [01:04:02.0000] <roc> especially with Microsoft coming up to speed [01:05:00.0000] <roc> an unequivocal prediction that "Flash is never going to decrease in popularity so long as all web browsers support it." cannot be justified IMHO [01:05:01.0000] <hsivonen> roc: I also think that Danish banks would continue to require Java for login regardless of browser capabilities forever unless popular computing enviroments that simply don't have Java wake them up [01:06:00.0000] <roc> that may be true, but it's a different prediction [01:06:01.0000] <roc> "Some sites may keep requiring Flash as long as all Web browsers support it" is almost certainly true [01:07:00.0000] <hsivonen> roc: fair enough [01:08:00.0000] <hsivonen> roc: my point about Java is that there will be important sites using plug-ins when there's absolutely no good reason to do so if there is an opportunity to do so [01:08:01.0000] <hsivonen> roc: so to stop that kind of hostility against users, the opportunity needs to be taken away [01:09:00.0000] <hsivonen> because a single user opting not to install something doesn't have leverage [01:09:01.0000] <hsivonen> so users who don't want bad software need to unionize somehow [01:10:00.0000] <hsivonen> getting an iOS device is like joining an anti-Flash union [01:10:01.0000] <hsivonen> with the collateral damage of also joining an anti-Firefox union and an anti-Opera union [01:13:00.0000] <roc> hsivonen: do you think we should not be working on Flash support for Firefox-Android? [01:13:01.0000] <hsivonen> roc: probably not [01:14:00.0000] <hsivonen> roc: at least I'm unhappy that while we don't have it, the PR line is "not supported yet" and not just "it's not supported" [01:14:01.0000] <hsivonen> roc: if we go get it, I sure hope it defaults to tap-to-activate [01:15:00.0000] <hsivonen> I wish plug-in support in Firefox in general defaulted to click-to-activate [01:15:01.0000] <hsivonen> in the case of Flash for the resource usage annoyance [01:15:02.0000] <hsivonen> in the case of everything else for the attack surface [01:17:00.0000] <hsivonen> what's more likely these days: that a user wants to use a Java applet or that a user got Java as a side effect of something else and is being subjected to an exploit in an outdated JRE? [01:17:01.0000] <roc> gotta go, but two things that worry me more than Flash right now are the locked iOS ecosystem and Webkit monoculture on mobile [01:17:02.0000] <hsivonen> roc: those are bad things, too [01:25:00.0000] <jgraham> What is worrying is the number of people who actively promote the idea of a WebKit monoculture [01:29:00.0000] <hsivonen> jgraham: yeah. and it's sad that some of those people were against a Trident monoculture [01:34:00.0000] <jgraham> /me idly wonders if anyone has considered a Apache-style license for the spec [02:09:00.0000] <jgraham> Hixie: Did PMS start magiaclly working BTW? I don't see a problem but I might not be using the right settings [02:11:00.0000] <hsivonen> jgraham: Ragnarök runs the script that does w('FAIL') here: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/950 [02:11:01.0000] <hsivonen> jgraham: I believe it shouldn't per spec [02:13:00.0000] <zcorpan> innerHTML sets the 'already executed' flag? [02:16:00.0000] <hsivonen> zcorpan: yes [02:16:01.0000] <hsivonen> "If the parser was originally created for the HTML fragment parsing algorithm, then mark the script element as "already started". (fragment case)" [02:18:00.0000] <jgraham> I have a feeling we have a generic bug about changinf script.src causing scripts to reexecute [02:19:00.0000] <jgraham> Alhough 11.10 doesn't FAIL so maybe a regression [02:19:01.0000] <jgraham> /me will investigate [02:19:02.0000] <jgraham> hsivonen: BTW your chosen style for escaping </script> is rather hard to read :) [02:21:00.0000] <hsivonen> jgraham: thanks [02:21:01.0000] <hsivonen> jgraham: the escaping style is the simplest rule that's also safe [02:22:00.0000] <hsivonen> or rather, the simplest rule that's safe and that passes JSLint [02:24:00.0000] <jgraham> It is harder to read than "<" + "/script>" and much moreso than "<\/script>" although I guess JSLint would complain about the letter [02:24:01.0000] <jgraham> *latter [02:24:02.0000] <zcorpan> i just do <\/script> [02:25:00.0000] <hsivonen> zcorpan: how do you escape <!--? [02:25:01.0000] <zcorpan> <\!-- [02:25:02.0000] <hsivonen> zcorpan: ok. I'm pretty sure JSLint hates that one [02:26:00.0000] <zcorpan> i don't use jslint :) [02:26:01.0000] <hsivonen> zcorpan: also, I was unable to work out from the spec if \! is conforming or not [02:27:00.0000] <hsivonen> the ES spec isn't particularly clear on program text conformance [02:27:01.0000] <zcorpan> it parses in all browsers, so if the spec has a problem with it, i'll say it's the spec's problem, not mine :) [02:27:02.0000] <jgraham> Really I am only concerened about JSLint or similar when they point out errors that could easilly tuen into bugs [02:28:00.0000] <jgraham> Since <\/script> is used in some of the worst javascript on the planet, I surmise that it must be pretty hard to screw it up [02:29:00.0000] <hsivonen> jgraham: I use \u003C, because I try to practice what I preach and I try to preach things that pass JSLint so that I don't need to deal with fanmail telling me that what I preach doesn't work with what Crockford preaches [02:30:00.0000] <hsivonen> but now I get feedback asking me to use syntaxt that doesn't pass JSLint [02:31:00.0000] <hsivonen> (your feedback isn't the first instance) [02:32:00.0000] <zcorpan> does it pass jshint? [02:32:01.0000] <hsivonen> no idea [02:33:00.0000] <hsivonen> also, jshint has configurability [02:33:01.0000] <zcorpan> Line 1var foo = '<\!--'; [02:33:02.0000] <zcorpan> Bad escapement. [02:33:03.0000] <zcorpan> boo [02:34:00.0000] <zcorpan> /me files a bug [02:40:00.0000] <zcorpan> argh. github ate my bug [02:40:01.0000] <zcorpan> i hate typing the same thing twice [02:43:00.0000] <zcorpan> and now github ate my backslashes [02:45:00.0000] <zcorpan> https://github.com/jshint/jshint/issues/141 [03:10:00.0000] <jgraham> I wonder is someone will object to Ms2ger reviewing hsivonen's tests [03:10:01.0000] <jgraham> *if [03:26:00.0000] <jgraham> zcorpan: If you added Hixie to the CC of your websockets email it isn't obvious [03:29:00.0000] <zcorpan> uh. lemme check [03:29:01.0000] <zcorpan> Cc: "hybi⊙io" <hybi⊙io>, "Ian Hickson" <ian⊙hc> [03:30:00.0000] <jgraham> Oh [03:30:01.0000] <jgraham> OK [03:30:02.0000] <zcorpan> i think the hybi list is eating Cc or something [03:31:00.0000] <zcorpan> i noticed it didn't show up emoller as cc with the original email either [03:31:01.0000] <jgraham> In that case I will stop trying to QA the assertions in your mail about recipients :) [03:32:00.0000] <zcorpan> heh [04:38:00.0000] <MikeSmith> jgraham: in http://krijnhoetmer.nl/irc-logs/whatwg/20110426#l-35 [04:38:01.0000] <MikeSmith> what is "pms"? [04:52:00.0000] <jgraham> MikeSmith: http://pimpmyspec.net/ [04:53:00.0000] <jgraham> MikeSmith: It's a frontend to Anolis [04:53:01.0000] <MikeSmith> yeah, I know [04:53:02.0000] <MikeSmith> just didn't make the connection to the abbreviation [04:53:03.0000] <MikeSmith> so is it working now? [04:53:04.0000] <jgraham> With a tendency to get upset if things get slow [04:53:05.0000] <MikeSmith> ah [04:53:06.0000] <MikeSmith> OK [04:55:00.0000] <jgraham> Yeah, I don't really know if it is working now. But often it can be a problem if the W3C or WHATWG sites are slow because it times out trying to generate the issue markers [04:55:01.0000] <MikeSmith> oh [04:55:02.0000] <MikeSmith> that's probably what it was yesterday [04:55:03.0000] <MikeSmith> W3C site was having some load problems [04:56:00.0000] <MikeSmith> Philip`: btw, http://www.w3.org/Bugs/Public/show_bug.cgi?id=12539 [06:02:00.0000] <Philip`> MikeSmith: Hmm, I think I'm using the lxml HTML parser which might be what's causing that [06:03:00.0000] <MikeSmith> Philip`: oh [06:03:01.0000] <MikeSmith> the parser, not the serializer? [06:04:00.0000] <MikeSmith> I'm running the splitter with the html5lib-serialiser option [06:04:01.0000] <MikeSmith> because I think I ran into other borkedness if I don't use that use that option [06:05:00.0000] <MikeSmith> and I think I'm not using the html5lib-parser option because it makes the script run much slower [06:05:01.0000] <MikeSmith> when run on the HTML5 spec [06:06:00.0000] <MikeSmith> but I guess I can try that now and see if it fixes it [06:06:01.0000] <Philip`> Without --html5lib-parser it'll use lxml which I presume may parse ⟨ into U+2329, and then the html5lib serialiser will output 〈 [06:06:02.0000] <MikeSmith> yeah [06:07:00.0000] <Philip`> Probably the most robust solution would be to not use "⟨" in the spec [06:07:01.0000] <MikeSmith> true that [06:07:02.0000] <MikeSmith> but not much I can do about that [06:07:03.0000] <Philip`> (rather than hacking some solution into the splitter, or forcing the splitter to be very slow) [06:08:00.0000] <MikeSmith> earthquake [06:08:01.0000] <Philip`> Someone can ask Hixie to change it, I guess :-) [06:08:02.0000] <MikeSmith> sure [06:09:00.0000] <MikeSmith> but I guess I tend to assume if Hixie is doing something a certain way, he's got a well-considered reason [06:09:01.0000] <MikeSmith> but maybe that's not always the right assumption… [06:28:00.0000] <zcorpan> file a spec bug [06:32:00.0000] <zcorpan> oh there was a spec bug [06:40:00.0000] <karlcow> http://www.webm-ccl.org/ [06:40:01.0000] <karlcow> "By joining the CCL, member organizations likewise agree to license patents they may have that are essential to WebM technologies to other members of the CCL." [06:40:02.0000] <karlcow> ? [07:05:00.0000] <hsivonen> hmm. validator.nu is having a DNS outage [07:47:00.0000] <matjas> what should <img src=foo><base href="http://example.org/blah/"><img src=foo> do? [07:48:00.0000] <matjas> (re: http://html5.org/tools/web-apps-tracker?from=5710&to=5711) [07:49:00.0000] <matjas> I’ve made a simple test case: http://mathiasbynens.be/demo/base but implementations greatly differ [07:49:01.0000] <hsivonen> matjas: both images should resolve to http://example.org/blah/foo [07:49:02.0000] <matjas> hsivonen: Firefox gets it right then [07:49:03.0000] <hsivonen> matjas: of course :-) [07:49:04.0000] <matjas> as the only browser [07:50:00.0000] <hsivonen> whoa. I thought we specced Chrome's behavior [07:50:01.0000] <matjas> Most browsers display 1-2 [07:50:02.0000] <matjas> Even IE6 [07:50:03.0000] <matjas> IE7, 8 and 9 just ignore the base and display 1-1 [07:50:04.0000] <matjas> Same goes for IE10pp1, if that’s any indication [07:50:05.0000] <hsivonen> hmm. was the spec change based on incorrect data about Chrome's behavior? [07:51:00.0000] <matjas> I don’t know, there’s no bug ID and I’m unaware of the history here [07:52:00.0000] <hsivonen> matjas: Firefox had behavior close to IE6. Then in the Firefox 4 product cycle, it changed to then-spec, which was similar to IE7 through 10 [07:52:01.0000] <hsivonen> then both spec and Firefox were changed and, IIRC, they supposedly changed to match Chrome [07:53:00.0000] <matjas> Woah. [07:55:00.0000] <hsivonen> abarth: see above. what's going on here? [07:55:01.0000] <hsivonen> has Chrome changed since September or did I mistest back then? [08:05:00.0000] <zewt> wouldn't doing that cause browsers to start fetching and rendering a resource with the original base, then have to cancel and switch to the correct one? [08:53:00.0000] <zewt> FF4 is racy with using <base> like that: if it's already started loading an image with the original base, it does not *reload* it if it sees a <base> later [08:53:01.0000] <zewt> (tested it because I was wondering if it would--because if it did that would have weird implications for eg. <img onload>) [08:56:00.0000] <abarth> hsivonen: not sure [09:49:00.0000] <MikeSmith> hmm [09:50:00.0000] <MikeSmith> /me wonders when "the figure element has no text node descendants other than inter-element whitespace, and no embedded content descendant other than the img element" qualifying language got added to the criteria for the figcaption exception [09:53:00.0000] <MikeSmith> hsivonen: dunno if you are still around today but that bit there really complicates implementation of alt-text checking [09:55:00.0000] <MikeSmith> though I guess it would be pretty straightforward to check with schematron/xpath [10:00:00.0000] <jgraham> Is there some specific distinction between "support" and "advocate" that I am missing [10:00:01.0000] <jgraham> ? [10:01:00.0000] <webben> jgraham: where? [10:01:01.0000] <gsnedders> advocate implies actually trying to convince others? [10:03:00.0000] <jgraham> "I expect poll survey from Apple representatives would support an MIT license" vs "we have yet to have somebody specifically advocate for [the MIT license]" [10:03:01.0000] <webben> ah [10:06:00.0000] <zewt> advocating takes more work than supporting :) [10:06:01.0000] <TabAtkins> Even if you charitably assume that's what's meant, CC0 definitely has advocates. [10:09:00.0000] <jgraham> The question is whether merely having supporters rather than advocates should be sufficient to exclude an option from the poll [10:09:01.0000] <jgraham> That seems like an insane policy in a consensus driven environment [10:09:02.0000] <jgraham> (which maybe licensing discussions aren't but still) [10:11:00.0000] <jgraham> It is quite easy to imagine that there are people who can live with the MIT that cannot live with CC0 but prefer an Option X license and people who cannot live with an Option X license, can live with MIT, but prefer CC0 [10:12:00.0000] <jgraham> It seems Apple may be an example of the former and Mozilla of the latter [10:12:01.0000] <jgraham> Note: *may* [10:13:00.0000] <jgraham> Obviously I don't actually know what these organisations will say [12:12:00.0000] <Hixie> hsivonen, matjas: actually that's not quite right (re <base>) [12:13:00.0000] <Hixie> hsivonen, matjas: what matters is the <base> *when the image url is resolved*, which is typically when the element is created, and so the two images would have different URLs [12:13:01.0000] <matjas> What exactly? Tell me more :) [12:14:00.0000] <matjas> Yeah, that’s what I had expected to be honest [12:14:01.0000] <Hixie> hsivonen, matjas: see "update the image data" in the spec and note that nothing causes that to trigger when the base url changes [12:15:00.0000] <matjas> http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#update-the-image-data [12:15:01.0000] <matjas> So Firefox 4 is in fact wrong [12:15:02.0000] <matjas> And most browsers are already doing it right (incl. IE6) [12:15:03.0000] <matjas> That makes sense. [12:15:04.0000] <zewt> matjas: fyi, http://zewt.org/~glenn/test-firefox-racy-base/ [12:16:00.0000] <Hixie> if you look at the source of the spec you'll notice it mentions this in a comment often [12:17:00.0000] <zewt> sort of a strange mechanism to have within body (though it makes sense in head), seems like it would have been cleaner as an attribute, eg. <div base=url><img src=file.jpg></div> so it's scoped [12:17:01.0000] <matjas> zewt: Interesting. [12:17:02.0000] <Hixie> <base> isn't allowed in body [12:17:03.0000] <Hixie> but we still have to define how it works [12:17:04.0000] <Hixie> when people do it anyway [12:18:00.0000] <zewt> either it's defined and allowed or defined to do nothing (and so disallowed), defining something and then saying it's disallowed doesn't make much sense :) [12:19:00.0000] <Hixie> sure it does [12:19:01.0000] <matjas> zewt: http://www.w3.org/TR/html-design-principles/#support-existing-content [12:19:02.0000] <Hixie> there are many things that have stupid behaviours due to legacy error handling that we have to define that way but that we say are non-conforming because the results are crazy and confusing [12:23:00.0000] <zewt> when something is defined and compliant browsers are required to support it, it's just sort of meaningless to then call it "non-confirming"; it sounds like you're using "non-conforming" to mean something in the spirit of "deprecated" in other contexts (without the implication that it'll be removed), which is more along the lines of "we recommend against using this", but not "this isn't allowed" [12:26:00.0000] <hsivonen> Hixie: is there a reason why base URL changes don't trigger img re-resolution? [12:27:00.0000] <zewt> hsivonen: that seems like really nasty behavior [12:27:01.0000] <Hixie> when i specced that, or suggested that i would, vendors were uniform in telling me that that was way too much complexity and that they wouldn't implement it [12:27:02.0000] <Hixie> (if you actually follow the implications through it is quite painful) [12:28:00.0000] <zewt> you'd end up making a bunch of requests to bogus URLs before the base changes, showing image errors, firing onerror (or perhaps loading the wrong image entirely) ... [12:29:00.0000] <hsivonen> zewt: with speculative loading, there's always an opportunity to fetch the wrong images [12:29:01.0000] <zewt> yeah, but that would do it for the entire page up to that point [12:30:00.0000] <hsivonen> Hixie: anyway, it seems that bz, I and possibly sicking too looked at the spec and failed to realize that the spec didn't mean to make <base> affect earlier <img>s [12:31:00.0000] <hsivonen> Hixie: so clearly, the spec failed to work well for random access [12:31:01.0000] <hsivonen> Hixie: might be worthwhile to put a Note about this in the spec [12:32:00.0000] <Hixie> hsivonen: where does the spec say that anything should happen? [12:32:01.0000] <Hixie> hsivonen: i considered making the non-requiremente explicit, that's why the spec has the statement about it not having an effect commented out everywhere it would be relevant [12:33:00.0000] <Hixie> hsivonen: but making that explicit would be a massive amount of extra material with minimal benefit since it would only help a dozen people, each once [12:34:00.0000] <Hixie> hsivonen: if you have a suggestion for a specific note to add to the spec e.g. in the <base> section I'm happy to do that too, but I couldn't come up with a readable yet correct note  [12:34:01.0000] <jgraham> As someone who might be one of those dozen, I like the idea of it being explicit [12:35:00.0000] <jgraham> :) [12:35:01.0000] <Hixie> well file a bug saying what you want [12:53:00.0000] <otherarun> Does anyone know why XHR2 defines mechanisms for inflating and deflating a DOMString? Why was that deemed necessary? [13:31:00.0000] <Hixie> jgraham: still getting xml errors, fwiw [13:31:01.0000] <Hixie> jgraham: let me know if you need the output [13:32:00.0000] <Hixie> othermaciej: why are we adding caretBlinkRate as a method to the 2D Canvas object? [13:32:01.0000] <Hixie> that makes no sense [13:32:02.0000] <Hixie> shouldn't it be an attribute on Navigator or Window or something? [13:33:00.0000] <othermaciej> Hixie: that's what the proposal said, and no one proposed putting it somewhere different [13:33:01.0000] <Hixie> i proposed not having it at all [13:33:02.0000] <Hixie> which seems better than having it on canvas [13:34:00.0000] <Hixie> and clearly you were ok with changing what people proposed [13:34:01.0000] <Hixie> since you did [13:34:02.0000] <othermaciej> I would guess a separate change to move the API somewhere more central would probably not be a problem [13:35:00.0000] <Hixie> also wtf is up with this ridiculous example i'm supposed to put in [13:41:00.0000] <jgraham> Hixie: The output would be nice. Or the exact URL you are loading [13:46:00.0000] <TabAtkins> I suspet it's the "canvascarseldecision20110426.html" file attached to Richard's email in the "Re: CP is incoherent..." thread. [13:48:00.0000] <Hixie> TabAtkins: he meant the xml error, different thing :-) [13:48:01.0000] <TabAtkins> Ah, never mind. [14:15:00.0000] <roc> caretBlinkRate??? [14:21:00.0000] <othermaciej> roc: if Mozilla is unwilling or unable to implement such a thing, that would be relevant information [14:29:00.0000] <roc> where is caretBlinkRate being proposed? [14:33:00.0000] <Philip`> roc: http://lists.w3.org/Archives/Public/public-html-a11y/2011Apr/att-0129/HTML_Canvas_2DContext20110415.html via http://www.w3.org/html/wg/wiki/ChangeProposals/CaretSelection via http://lists.w3.org/Archives/Public/public-html/2011Apr/0271.html [15:11:00.0000] <Hixie> jgraham: still broken [15:40:00.0000] <Hixie> othermaciej: why does this api change drawFocusRing() to draw the focus ring even if you give it an element that isn't focused? (the CP checks the ancestor chain as well) [15:42:00.0000] <othermaciej> Hixie: that I do not know - I guess I should have read the text and diffed it against the spec instead of just relying on the bullet points [15:42:01.0000] <othermaciej> one thing I can imagine is a single element may be focused but you want to draw focus rings around all the pieces; but that doesn't really make sense, you could just construct a path like that in the first place [15:45:00.0000] <TabAtkins> Basically, it seems like when the issue is "you should design an API for this", the decision process is extremely ill-suited, as it requires people to bundle up the "I think this is an area we should cover" with a specific API design. [15:45:01.0000] <Hixie> that the system is broken is clear [15:46:00.0000] <TabAtkins> Well, I mean it's *extra* broken when the issue needs API design work. [15:46:01.0000] <TabAtkins> Because you have people with no API design skills being forced to design an API so that they have a precise description of the desired change. [15:46:02.0000] <karlcow> http://marcdrummond.com/xhtml/2011/04/26/when-standards-go-awry [15:46:03.0000] <TabAtkins> And then that precise API is required to be pulled into the spec. [15:47:00.0000] <Hixie> it's not just api design skills that are lacking. i presume i'm supposed to fix grammatical mistakes but i've no idea what this sentence that i'm supposed to add is trying to say: "If the given element is focused or a descendant of the element with focus, draws a focus ring around the current path, following the platform conventions for focus rings." [15:48:00.0000] <TabAtkins> That's clear to me (I dunno if it's sensical in context). [15:48:01.0000] <Hixie> oh, wait, i think i understand what it's saying [15:48:02.0000] <Hixie> it's just overly long [15:48:03.0000] <Hixie> ok [15:50:00.0000] <Hixie> this api doesn't make sense [15:50:01.0000] <Hixie> what happens if someone just calls drawFocusRing() but nothing else? [15:50:02.0000] <Hixie> does it not magnify the focused element? [15:59:00.0000] <richardschwerdtf> because some applications manage focus for their children [15:59:01.0000] <richardschwerdtf> what does not make sense is the fact that your existing api falls through when someone draws custom focus rings and a special system setting is not set to draw a focus ring a certain way [16:00:00.0000] <richardschwerdtf> when that happens NO magnifier gets notified of the change [16:00:01.0000] <richardschwerdtf> if you had read the change proposal you would have seen the bug. [16:01:00.0000] <richardschwerdtf> candrawcustom is stupid anyway. [16:02:00.0000] <richardschwerdtf> all you need to do is set up your drawing path before making the call and if the system has not configured a specific drawing style drawfocusring simply draws it the way the author has specified. [16:04:00.0000] <TabAtkins> yo, richardschwerdtf, while you're here, can I request that you send your emails as plaintext instead of HTML? Your emails are distractingly and sometimes unreadably styled. [16:04:01.0000] <richardschwerdtf> how do you mean? [16:05:00.0000] <richardschwerdtf> are you wanting to have monospaced fonts? [16:05:01.0000] <TabAtkins> Your emails are HTML. Your editting system sets custom font and size, and occasionally color, which makes it hard for me to rea. [16:05:02.0000] <richardschwerdtf> Lotus Notes. - I will see what I can do, sure [16:06:00.0000] <richardschwerdtf> thanks for letting me know [16:06:01.0000] <TabAtkins> The color thing is really bad - occasionally the text is black or dark blue, which is unreadable in my Gmail theme of green-text-on-black [16:06:02.0000] <TabAtkins> Cool. [16:06:03.0000] <richardschwerdtf> wow. that would dreadful [16:07:00.0000] <TabAtkins> Yeah. It's often hard to tell whether your text is 'black' or 'automatic' in most GUI editors, unless you manually check the text color. [16:07:01.0000] <richardschwerdtf> I updated to a new version of Notes this past week. so, something must have been enabled i did not notice. [16:08:00.0000] <TabAtkins> Nah, this is something that's always been true. [16:08:01.0000] <richardschwerdtf> hmm. ok [16:08:02.0000] <TabAtkins> Like I said, the color thing doesn't always happen; it's occasional. The font/size thing, though, is always true, and somewhat randomly inconsistent - one email will be slightly larger font-size for no reason I can tell. [16:09:00.0000] <richardschwerdtf> ugh. that is distracting. - sorry [16:09:01.0000] <TabAtkins> It's cool. Most email editors can be told to send plaintext instead of HTML. That makes everything easy, because then there's no way for accidental styling to creep in. [16:11:00.0000] <richardschwerdtf> digging into notes now [16:11:01.0000] <aho> emails should be plain text [16:12:00.0000] <TabAtkins> aho: I'm of the opinion that email readers should be like RSS readers, and just strip/ignore styles from the document. [16:13:00.0000] <aho> my email client is configured to show messages as plain text [16:13:01.0000] <aho> images are also not shown :> [16:13:02.0000] <TabAtkins> Gmail used to have a lab to do that, but they removed it. >_< [16:14:00.0000] <Philip`> TabAtkins: That'd break the reading of some emails that only differentiate quoted text by style [16:14:01.0000] <TabAtkins> Philip`: People who do that should be shot. Simple. ^_^& [16:14:02.0000] <aho> another problem solved :) [16:15:00.0000] <richardschwerdtf> tab, just send you an email let me know if it came out alright [16:15:01.0000] <TabAtkins> It's still being sent as HTML. [16:15:02.0000] <richardschwerdtf> ugh [16:15:03.0000] <richardschwerdtf> ok [16:16:00.0000] <TabAtkins> And, because email readers are lowest-common-denominator, it's styled with <font>. ^_^ [16:18:00.0000] <richardschwerdtf> yes. I chose plain text for internet email. need to dig further. [16:25:00.0000] <zewt> heh, my #1 problem with gmail is there's no way to restrict what people can do with fonts, particularly font size [16:25:01.0000] <zewt> people on yahoo mail in particular seem to like sending mails in 35pt [16:26:00.0000] <TabAtkins> YES [16:26:01.0000] <TabAtkins> argh [16:26:02.0000] <zewt> which isn't really their fault--I tried searching to find out how to reset it (to give one of them a hint), and I couldn't even figure it out [16:26:03.0000] <wilhelm> mutt sucks, but at least it got that part right. (c: [16:26:04.0000] <wilhelm> /me is an unhappy mutt user. [16:27:00.0000] <heycam> isn't every mutt user an unhappy mutt user? :) [16:28:00.0000] <wilhelm> I would think so. (Not that the alternatives are any better. Email sucks. :) [16:38:00.0000] <hober> gnus ftw :) [16:44:00.0000] <wilhelm> hober: As an atheist, I'm keeping a safe distance from the Church of Emacs. (c: [16:48:00.0000] <TabAtkins> Darn, why is our EventSource implementation broken? Now I know why I couldn't ever get it to work. [16:49:00.0000] <TabAtkins> It just polls the page for you. If you hold the connection open and send data incrementally, there'll never be a 'message' event. [16:49:01.0000] <TabAtkins> That's kinda useless. 2011-04-27 [17:47:00.0000] <zewt> aho: by the way re: multiple range requests and reading multiple files out of a zip in one request, http://tools.ietf.org/html/draft-ietf-httpbis-p5-range-06#page-11 [17:47:01.0000] <aho> heh [17:47:02.0000] <zewt> (we were confused before since we were looking at Content-Range, the response header, rather than the request header) [17:50:00.0000] <aho> gonna stick with gzipped (simple index + concatinated data) for now though... well, for my games, that is [17:51:00.0000] <aho> do you happen to know how to make xhr get cachable with opera? [17:51:01.0000] <zewt> don't know any workaround for that [17:51:02.0000] <aho> far future expires headers do nothing [17:51:03.0000] <aho> well... i could just stick all of that into local storage, but that looks kinda silly [17:52:00.0000] <zewt> you shouldn't have to reimplement http caching with web storage, heh [17:52:01.0000] <aho> also with a few games on one site that 5mb limit will be broken easily [17:53:00.0000] <aho> i probably should just ignore it for now [17:53:01.0000] <zewt> i think some mobile versions of google sites, like images.google, cache javascript in localStorage [17:53:02.0000] <zewt> pretty... gross, heh [17:53:03.0000] <aho> it works in any other browser and opera's market share is kinda small [17:53:04.0000] <aho> yea they pump js, css, and whatever into local storage in order to bypass awkward limitations of mobile browsers [17:54:00.0000] <aho> eg the iphone won't cache anything >25kb [17:54:01.0000] <aho> (or >15kb... depends on the version of the os) [17:54:02.0000] <zewt> that's another strangeness--if you're on a cell connection caching is even more important than usual, so it's strange that they don't cache as aggressively as available storage allows [17:55:00.0000] <aho> well, i can imagine why they did that [17:55:01.0000] <zewt> on early generation phones which had more limited storage, okay [17:55:02.0000] <aho> latency is very high... so they rather try to cache as many of those tiny files as possible [17:55:03.0000] <zewt> i don't know how much caching androidbrowser does, either [17:55:04.0000] <aho> personally, i think they should have differenciated between images and js though [17:58:00.0000] <aho> ah found it on reddit: http://www.reddit.com/r/javascript/comments/guj5m/the_mobile_version_of_bing_uses_localstorage_to [17:59:00.0000] <aho> also this thing: http://www.phpied.com/iphone-caching/ [17:59:01.0000] <aho> mobile browsers are disgusting :) [18:00:00.0000] <zewt> it's pretty fundamentally nonsensical to stop caching based on size--it means that optimizing loads by combining scripts into one file can lead to it not being cached [18:02:00.0000] <aho> yea [18:02:01.0000] <aho> or sprites... or merged css files [18:02:02.0000] <aho> (spritesheets) :> [18:03:00.0000] <aho> speaking of optimizations, i'm really looking forward to webp with alpha [18:03:01.0000] <aho> finally we will have some kind of lossy rgba image format on the web [18:03:02.0000] <zewt> i'm pretty badly unimpressed with webp [18:03:03.0000] <aho> (i still wish mozilla hadn't killed jng back then...) [18:04:00.0000] <aho> http://my.opera.com/chooseopera/blog/on-a-horse-opera-turbo-to-the-rescue [18:04:01.0000] <aho> it's somewhat smaller at usual quality and quit a lot smaller at somewhat acceptable quality [18:04:02.0000] <aho> well, the key point for me is lossy+alpha [18:04:03.0000] <zewt> it's aggrevating that with google in a position to push a newer image format, they're pushing a half-baked, narrow-focus one that isn't actually a general replacement for jpeg [18:05:00.0000] <aho> that's the only raison d'être it needs [18:05:01.0000] <aho> afaict it's at least as good as jpg [18:06:00.0000] <zewt> i remember off-hand that it has smaller resolution limitations; recall there being some other limitations but don't recall them off-hand [18:07:00.0000] <aho> 16383x16383 [18:08:00.0000] <aho> big enough for the web [18:08:01.0000] <aho> jpg is probably 64k x 64k [18:08:02.0000] <aho> (like png) [18:08:03.0000] <zewt> see, that's a narrow-minded focus, which is very different from the mindset of making a *general-purpose* image format [18:08:04.0000] <zewt> yep [18:09:00.0000] <zewt> i don't want to see an "image format for the web"; i want to see a general-purpose lossy image format, with one major use being the web [18:09:01.0000] <aho> lots of png loaders break apart at 32k though :> [18:10:00.0000] <aho> 16k is enough for most things though [18:10:01.0000] <aho> web, games, photos... [18:10:02.0000] <zewt> but it's smaller than jpeg, which means there are uses which jpeg handles and webp does not, which means jpeg isn't completely obsoleted [18:11:00.0000] <aho> print (up to A4, i guess) [18:11:01.0000] <aho> true [18:11:02.0000] <zewt> i don't want to see "use the new format, unless you need to do this list of uncommon but valid things:" [18:12:00.0000] <aho> well, you won't need to tell that anyone. webp simply won't be available as option if the dimensions are too big [18:13:00.0000] <aho> or if the bitdepth is too high [18:13:01.0000] <zewt> and now they have to worry about the differences between the formats, instead of forgetting about the obsolete format; and they'll have to do this effectively forever [18:14:00.0000] <zewt> which is the main problem--if webp gains traction we'll probably not see a new generation of lossy still image compression for 20+ years [18:14:01.0000] <aho> well, we can use jp2 in about 10 years :> [18:14:02.0000] <aho> (jpeg2000) [18:16:00.0000] <aho> either way, this is my primary concern: http://kaioa.com/b/1011/jng_decision_matrix.svgz [18:16:01.0000] <aho> thing is, people do it anyways and the pages get *amazingly* fat [18:17:00.0000] <zewt> i wonder how it handles alpha-channel artifacting; if artifacts cause pixels to become partially opaque where they were originally fully transparent, it effectively displays undefined pixels in the color channels [18:18:00.0000] <aho> yes, but that doesn't really matter [18:19:00.0000] <aho> there are wrong colors, but the opacity will be very low [18:19:01.0000] <zewt> it matters if you jack the compression level up high enough to create nontrivial artifacts [18:19:02.0000] <aho> http://kaioa.com/b/1102/svgjng/index.html <- take a look (with opera) [18:19:03.0000] <zewt> which is less of a problem with better compression, but it's always possible [18:20:00.0000] <zewt> i guess it'd probably not look any more wrong than the other rgb compression artifacts that would also happen [18:21:00.0000] <aho> webp will most likely support two modes for alpha: lossy and lossless (similar to jng) [18:22:00.0000] <aho> the quality of the alpha channel can be changed independently [18:22:01.0000] <aho> so, you do have some control how broken the result will look [18:26:00.0000] <zewt> also, i assume webp doesn't address animations and sprites; animations aren't so important but they're logically identical to sprites, which are [18:27:00.0000] <aho> foo.webp#bar foo.webp#baz etc would be cool [18:28:00.0000] <aho> well... probably the wrong place ;) [18:28:01.0000] <zewt> well, less concerned about how it's exposed at the higher level as there being support for it within the file format--if it's supported by the format then web APIs using it will follow, if it's finalized and deployed without it, well... [18:30:00.0000] <aho> feel free to discuss that with the people over at #vp8 [18:30:01.0000] <aho> skal is the dude who's working on alpha, by the way [18:31:00.0000] <aho> i for one don't really know if having multiple "pages" makes much sense with that format [18:38:00.0000] <aho> on a somewhat related note, i wonder if i should write some canvas based jpg+jpg or jpg+png splicing thing, which uses localStorage to store the result [18:38:01.0000] <aho> would be fun, i guess [18:39:00.0000] <aho> but it also got some kind of passive-aggressive martyr taste to it :> [19:23:00.0000] <Hixie> MikeSmith: let me know when you need me to regen the spec for publication [19:25:00.0000] <MikeSmith> hai [19:27:00.0000] <Hixie> i'll try to avoid having any big patches outstanding this time so i can actually do it unlike last time :-) [19:29:00.0000] <MikeSmith> heh [19:30:00.0000] <MikeSmith> so everything on the W3C cvs side is ready [19:30:01.0000] <MikeSmith> the boilerplate [19:31:00.0000] <MikeSmith> and I have not made any changes since last time, so there should be no cvs conflicts [19:31:01.0000] <MikeSmith> I think [19:47:00.0000] <MikeSmith> is there are use case for a nested <figure> ? [19:52:00.0000] <aho> http://i.imgur.com/DTJtA.jpg [19:52:01.0000] <aho> :I [19:52:02.0000] <aho> other than that... no [19:56:00.0000] <karlcow> MikeSmith: there is http://1.bp.blogspot.com/_zuKg9DRLTjI/TE81sUrCcvI/AAAAAAAABBM/sM52ZHhhXFY/s1600/mise_en_abyme.jpg ;) [19:56:01.0000] <MikeSmith> heh [22:08:00.0000] <karlcow> http://arstechnica.com/web/news/2011/04/google-builds-webm-patent-pool-of-its-own-to-fight-back-against-mpeg-la.ars [22:54:00.0000] <Hixie> MikeSmith: did you commit the new headers? [22:55:00.0000] <Hixie> MikeSmith: i did cvs up but it didn't do anything [22:56:00.0000] <ben_h> hey dudes [23:00:00.0000] <MikeSmith> Hixie: I didn't make any changes to the headers, because I thought the plan was just to regen a new ED [23:00:01.0000] <Hixie> oh ok [23:00:02.0000] <MikeSmith> should I be flipping it to WD? [23:00:03.0000] <Hixie> sorry i thought they wanted a WD [23:00:04.0000] <Hixie> i dunno [23:00:05.0000] <MikeSmith> hmm [23:00:06.0000] <MikeSmith> yeah, I'm not sure either [23:00:07.0000] <othermaciej> no [23:00:08.0000] <MikeSmith> but I don't think they want to do a new WD [23:00:09.0000] <Hixie> ok [23:00:10.0000] <othermaciej> the request was just to update the ED [23:00:11.0000] <Hixie> well then nevermind! [23:00:12.0000] <MikeSmith> heh [23:00:13.0000] <othermaciej> since it was out of sync [23:01:00.0000] <Hixie> oh right, it's still out of sync [23:01:01.0000] <MikeSmith> I'm good at neverminding [23:01:02.0000] <Hixie> let me try regenning [23:01:03.0000] <MikeSmith> Hixie: I hope the changes I committed for the April 05 WD publication didn't bork up the regen process [23:02:00.0000] <Hixie> no, it's some xml problem with pms [23:02:01.0000] <MikeSmith> but if it did, I would imagine you'd be seeing conflict messages from csv [23:02:02.0000] <Hixie> nothing to do with the cvs stuff [23:02:03.0000] <MikeSmith> *cvs [23:02:04.0000] <Hixie> yeah [23:02:05.0000] <MikeSmith> ok [23:03:00.0000] <MikeSmith> ben_h: hey Lads [23:03:01.0000] <Hixie> ooh, it worked [23:03:02.0000] <Hixie> cool [23:03:03.0000] <ben_h> :) sup mike? [23:04:00.0000] <MikeSmith> ben_h: too much excitement, I think I'm going to change careers and become a gardener [23:05:00.0000] <ben_h> ha! [23:05:01.0000] <ben_h> who's been causing all the ruckus? [23:06:00.0000] <MikeSmith> the Web platform [23:06:01.0000] <MikeSmith> if the Web platform could just be sensible and easier to work with, we'd all be much happier [23:07:00.0000] <MikeSmith> ben_h: you guys making the pilgrimage to Japan again this summer? [23:09:00.0000] <ben_h> most definitely [23:09:01.0000] <MikeSmith> sweet [23:09:02.0000] <ben_h> i mean, nothing's organised or booked - but i'm going [23:10:00.0000] <ben_h> i get this nostalgic feeling when i think of japan [23:10:01.0000] <MikeSmith> me too [23:10:02.0000] <ben_h> something about it. what a place [23:10:03.0000] <MikeSmith> and I live here! [23:10:04.0000] <ben_h> hahaha [23:10:05.0000] <ben_h> even though i've only spent a month there :) [23:10:06.0000] <MikeSmith> you all should stay in my neighborhood again [23:10:07.0000] <ben_h> mmm, would love to [23:11:00.0000] <ben_h> might get an apartment for during the conference, and then stay in a couple of ryokans [23:11:01.0000] <ben_h> no hotels this time :) [23:11:02.0000] <MikeSmith> yeah, hotels are boring [23:11:03.0000] <ben_h> mmm [23:11:04.0000] <MikeSmith> speaking of summer, Robert Frost once wrote a poem about the Web platform. he called it "The Oven Bird" [23:12:00.0000] <MikeSmith> The bird would cease and be as other birds / But that he knows in singing not to sing. / The question that he frames in all but word / Is what to make of a diminished thing. [23:13:00.0000] <TabAtkins> Dammit, now I'm bleeding. [23:14:00.0000] <MikeSmith> TabAtkins: did you fall upon the thorns of life again? [23:14:01.0000] <TabAtkins> Fell off my bike on the way back to the office. [23:14:02.0000] <TabAtkins> It'll teach me not to talk to rollerbladers while riding on the sidewalk. [23:15:00.0000] <MikeSmith> heh [23:15:01.0000] <MikeSmith> you should claim it as a genuine crash, instead of a falling off [23:16:00.0000] <MikeSmith> crashing is cool, like Evel Kneivel [23:16:01.0000] <TabAtkins> True. [23:16:02.0000] <MikeSmith> he even looks like you! [23:16:03.0000] <MikeSmith> http://upload.wikimedia.org/wikipedia/commons/5/5e/At_Home_With_Evel_Knievel.jpg [23:16:04.0000] <TabAtkins> ...yes. He looks exactly like me. [23:16:05.0000] <MikeSmith> or maybe it's just the similar clothing [23:17:00.0000] <MikeSmith> Thomas Hardy also once wrote about poem about the Web Platform [23:18:00.0000] <MikeSmith> or more precisely I guess about that the work related to getting it standardized [23:18:01.0000] <MikeSmith> he called his poem "The Convergence of the Twain" [23:18:02.0000] <MikeSmith> and he used the term "vaingloriousness" in it [23:18:03.0000] <MikeSmith> which is one of the greatest words in the language [23:19:00.0000] <MikeSmith> "The intimate welding of their later history" [23:19:01.0000] <TabAtkins> I remember that poem. And that word. [23:19:02.0000] <MikeSmith> yeah, it is seriously great [23:19:03.0000] <MikeSmith> "consummation comes, and jars two hemispheres" [23:20:00.0000] <MikeSmith> the even better thing about that word is that in the poem, the people who use it are fishes [23:20:01.0000] <MikeSmith> so even fishes know the word "vaingloriousness" [23:22:00.0000] <MikeSmith> the actual original line that Hardy wrote for the fishes was, "WTF this vaingloriousness down here?" [23:22:01.0000] <MikeSmith> but his editor made him change it [23:22:02.0000] <MikeSmith> it's not clear why [23:22:03.0000] <TabAtkins> Fucking editors. [23:22:04.0000] <MikeSmith> maybe he thought that fishes don't know about "WTF" [23:23:00.0000] <MikeSmith> TabAtkins: amen [23:23:01.0000] <MikeSmith> edtors, as a class, are absolutely nothing but trouble and a massive PITA [23:23:02.0000] <paul_irish> TabAtkins: fine work tonight [23:23:03.0000] <TabAtkins> Can't live with 'em. [23:23:04.0000] <TabAtkins> paul_irish: Thanks! [23:26:00.0000] <MikeSmith> btw, I finished implementing http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#guidance-for-conformance-checkers in my validator.nu workspace today [23:26:01.0000] <MikeSmith> and pushed it to http://www.w3.org/html/check for testing [23:27:00.0000] <MikeSmith> so if anybody has time and interest in helping to test it, please test it there [23:27:01.0000] <MikeSmith> it's pretty straightforward except for the stuff related to figure and figcaption [23:28:00.0000] <MikeSmith> which I think I have right but not sure [23:57:00.0000] <MikeSmith> othermaciej: Hixie commit to http://dev.w3.org/html5/spec/ done [02:52:00.0000] <zcorpan> MikeSmith: is it publication time? [02:53:00.0000] <MikeSmith> zcorpan: no, just getting W3C copy synced up [02:53:01.0000] <zcorpan> oh [02:54:00.0000] <zcorpan> lemme know when i should get html-differences up to speed; i don't always read public-html :) [02:58:00.0000] <MikeSmith> ok [03:01:00.0000] <othermaciej> zcorpan: I don't think there will be another publication before LCWD, unless that gets dragged out [03:01:01.0000] <zcorpan> othermaciej: ok [03:02:00.0000] <othermaciej> which reminds me that I should raise the topic of CR exit criteria [03:02:01.0000] <othermaciej> maybe it would be good to write those before 1st LC [03:10:00.0000] <jgraham> /me wonders if "CR exit criteria" are "criteria for reaching CR" or "criteria for reaching PR" [03:10:01.0000] <othermaciej> traditionally CR exit criteria are the criteria to exit CR [03:10:02.0000] <othermaciej> the spec is supposed to fulfill them to exit CR [03:11:00.0000] <othermaciej> usually it's something about test suite, implementations, yada yada [03:11:01.0000] <jgraham> PR entrance criteria [03:11:02.0000] <othermaciej> however I believe the spec has to contain (as opposed to fulfill) them before entering CR [03:11:03.0000] <jgraham> The process document doesn't really talk about exit criteria afaict [03:19:00.0000] <othermaciej> it seems we do need to prepare a list of "at risk" features [03:20:00.0000] <othermaciej> and a "a report of present and expected implementations" [03:20:01.0000] <othermaciej> Also PR entrance criteria include: [03:21:00.0000] <othermaciej> 2. Shown that each feature of the technical report has been implemented. Preferably, the Working Group should be able to demonstrate two interoperable implementations of each feature. If the Director believes that immediate Advisory Committee review is critical to the success of a technical report, the Director may accept to Call for Review of a Proposed Recommendation even without adequate implementation experience; [03:21:01.0000] <othermaciej> 3. Satisfied any other announced entrance criteria (e.g., any included in the request to advance to Candidate Recommendation, or announced at Last Call if the Working Group does not intend to issue a Call for Implementations). [03:21:02.0000] <othermaciej> #3 is presumably what is often called CR exit criteria but which in the Process document are PR entrance criteria [03:23:00.0000] <othermaciej> CSS specs seem to say "Candidate Recommendation Exit Criteria" but then "For this specification to enter Proposed Recommendation, the following conditions must be met:" [03:23:01.0000] <othermaciej> so it does seem to be a Process thing, though any requirement beyond the general one about interoperable implementations of each feature seems to be optional [03:23:02.0000] <jgraham> That one is strictly optional too [03:24:00.0000] <jgraham> Since it starts "preferably" [03:24:01.0000] <jgraham> It seems like a good idea however [03:25:00.0000] <jgraham> Or, rather, the other option there seems irrelevent [03:27:00.0000] <jgraham> So CSS required two complete interoperable implementaions, not two per feature. [03:27:01.0000] <othermaciej> hmm, I was going to site the Selectors API CR exit criteria [03:27:02.0000] <othermaciej> which I believe are like the CSS ones [03:27:03.0000] <othermaciej> but they are not in the spec [03:28:00.0000] <othermaciej> I like "two complete interoperable implementations" personally, even though for HTML5 that is a tall order [03:28:01.0000] <othermaciej> but it might be that the test suite is the hard part [03:30:00.0000] <zcorpan> have we got any tests from selling t-shirts yet? [03:31:00.0000] <jgraham> I like it in principle, but I think it could create a lot of negative pressure at the end to cut features or make worse tests [03:31:01.0000] <jgraham> At the moment we don't even knoww what a complete implementation would look like [03:32:00.0000] <othermaciej> I think every feature that doesn't yet have at least one reasonable implementation (maybe any that doesn't have two) should be marked "at risk" [03:32:01.0000] <othermaciej> then future generations can make the tradeoff between finalizing HTML5 faster vs having more things in HTML5 rather than deferred to 5.1/6/whatever [03:32:02.0000] <jgraham> That seems fair [03:33:00.0000] <jgraham> But I think there will be a lot of perfectly reasonable implementations of things that don't quite pass the testsuite [03:33:01.0000] <jgraham> If the testsuite is any good [03:33:02.0000] <jgraham> Which it is mostly not so far [03:33:03.0000] <othermaciej> this is why I think the test suite may be the hard part [03:34:00.0000] <jgraham> I fully agree that the testsuite will be the hard part [03:34:01.0000] <othermaciej> I don't even know how to reasonably express test suite adequacy in the exit criteria [03:34:02.0000] <othermaciej> I wonder how thorough something like the JCK is compared to the standard we might want for the HTML5 test suite [03:34:03.0000] <jgraham> Well ideally I would like to have some metric for spec coverage [03:34:04.0000] <jgraham> Like percentage of assertions in the spec [03:35:00.0000] <jgraham> that have tests [03:35:01.0000] <jgraham> ignoring cross dependencies [03:35:02.0000] <jgraham> Which would be something like a normal code coverage metric [03:35:03.0000] <othermaciej> I would guess you'd want 100% of testable assertions to have tests [03:35:04.0000] <jgraham> Yes [03:35:05.0000] <othermaciej> but then you have to sort out which MUSTs are relevant to the conformance class being tested, and which are in fact testable [03:36:00.0000] <jgraham> The problem is that making such a metric turns out to be highly non-trivial on its own [03:36:01.0000] <jgraham> Philip` did it for the 2D API spec, but it is non trivial to scale [03:37:00.0000] <jgraham> http://philip.html5.org/tests/canvas/suite/tests/spec.html [03:39:00.0000] <Philip`> Will we need to have two complete interoperable implementations of HTML5 validators too? [03:40:00.0000] <othermaciej> well that is another interesting question - which conformance classes are relevant? [03:41:00.0000] <jgraham> Do we need two interoperable implementations of HTML authors? [03:41:01.0000] <jgraham> Because I have never seen two authors agree on correct usage :) [03:42:00.0000] <othermaciej> "Web browsers and other interactive user agents" are an almost-superset of the requirements for many of the other conformance classes [03:42:01.0000] <othermaciej> conformance checkers are the only other class that is even plausibly testable [03:46:00.0000] <jgraham> Are there *any* existing tests for conformance checkers? [03:47:00.0000] <Philip`> I'm sure I've seen some conformance tests for validator.nu [03:49:00.0000] <Philip`> It seems hard to test the spec comprehensively when it doesn't distinguish between document conformance requirements that are mechanically verifiable and those that aren't [03:53:00.0000] <jgraham> Is that something that needs interpretation, or just something that can be mechanically deduced from the conformance requirment? [03:55:00.0000] <othermaciej> I don't think it can be deduced by machine which document conformance requirements are machine-testable [03:57:00.0000] <MikeSmith> there are some vaiidator/document-conformance test documents here: [03:57:01.0000] <MikeSmith> https://bitbucket.org/validator/syntax/src/tip/relaxng/tests/ [03:57:02.0000] <MikeSmith> and here: http://dev.w3.org/html5/tests/validation/full/ [04:00:00.0000] <MikeSmith> speaking of validator testing, I have what I hope is complete support for the current alternative-text checking criteria in the current spec [04:00:01.0000] <MikeSmith> at http://www.w3.org/html/check for testing [04:00:02.0000] <MikeSmith> http://www.whatwg.org/specs/web-apps/current-work/multipage/embedded-content-1.html#guidance-for-conformance-checkers <- this section [04:01:00.0000] <MikeSmith> zcorpan: ↑ (if you have any time to try it) [04:01:01.0000] <MikeSmith> hey david_carlisle [04:03:00.0000] <david_carlisle> MikeSmith: hi [04:04:00.0000] <MikeSmith> thanks for the help on the 〈 thing [04:05:00.0000] <david_carlisle> didn't help much, just dumped it in bugziila for you to sort out:-) [04:06:00.0000] <MikeSmith> I hope Hixie will sort it out upstream so that I don't have to hack around it [04:06:01.0000] <hsivonen> someone has missed a memo: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12563 [04:06:02.0000] <MikeSmith> Philip`: btw, I tried running the splitter with --html5lib-parser [04:07:00.0000] <MikeSmith> and I get: [04:07:01.0000] <MikeSmith> File "html5-tools/spec-splitter/spec-splitter.py", line 82, in <module> [04:07:02.0000] <MikeSmith> doctitle = doc.find('.//title').text [04:07:03.0000] <MikeSmith> AttributeError: 'NoneType' object has no attribute 'text' [04:07:04.0000] <MikeSmith> but I don't get that when I omit that switch [04:08:00.0000] <david_carlisle> MikeSmith: You know you should all have used xmlspec xml and tools to generate the specs, your lives would be so much happier, all this html and python will lead to tears [04:08:01.0000] <MikeSmith> heh [04:08:02.0000] <MikeSmith> no thanks [04:16:00.0000] <AryehGregor> "If Google would prefer a patent pool approach, then we would also agree to join a patent pool for VP8 on reasonable licensing terms so long as Google joins the pool and is able to include all other major providers of playback software and devices." http://blogs.msdn.com/b/ie/archive/2011/02/02/html5-and-web-video-questions-for-the-industry-from-the-community.aspx [04:17:00.0000] <AryehGregor> $ wget -qO- http://www.webm-ccl.org/members/ | grep Microsoft; echo $? [04:17:01.0000] <AryehGregor> 1 [04:17:02.0000] <AryehGregor> Hmm. [04:17:03.0000] <AryehGregor> I guess "all other major providers of playback software and devices" is a tall order. [04:17:04.0000] <MikeSmith> hsivonen: the patch I sent you for review today is up to date with both the spec and the recent WG decision about conformance criteria for alternative text (I think) [04:20:00.0000] <Philip`> MikeSmith: Hmm, I'm sure --html5lib-parser worked at some point in the past [04:20:01.0000] <Philip`> but I don't know which point [04:21:00.0000] <othermaciej> I wonder how many of the companies on the list even have any video-related patents [04:21:01.0000] <MikeSmith> maybe still works, just not in my environment [04:21:02.0000] <MikeSmith> or something [04:21:03.0000] <othermaciej> since you don't get told what patents are in the pool, I guess it is hard to find out [04:21:04.0000] <AryehGregor> The way the pool is set up, it seems like the companies themselves might not know which of their patents are in the pool, right? [04:22:00.0000] <AryehGregor> MPEG LA needs you to list the exact patents because they don't want to give you royalties if you don't really have an applicable patent. [04:22:01.0000] <hsivonen> MikeSmith: ok. Looking now. [04:22:02.0000] <AryehGregor> "Persons joining the WebM Community Cross-License will not be required to identify Covered Patents. " [04:23:00.0000] <othermaciej> W3C also doesn't require you to list patents that you won't assert on a spec [04:24:00.0000] <hsivonen> MikeSmith: this is going to make schematron and SchematronEquiv diverge, right? [04:27:00.0000] <hsivonen> s/SchematronEquiv/Assertions/ [04:29:00.0000] <MikeSmith> hsivonen: I have not tried to write it up in schematron yet [04:30:00.0000] <MikeSmith> are there parts of it that aren't implementable in schematron? [04:31:00.0000] <hsivonen> MikeSmith: dunno yet [04:31:01.0000] <MikeSmith> OK [04:32:00.0000] <MikeSmith> anyway, I think there is at least one other case of something I added to the Assertions checker that I did not add to the schematron stuff, because it was not practical (or maybe not even possible) to implement it in schematron/xpath as far as I could see [04:32:01.0000] <MikeSmith> but I can't remember right now what that was [04:40:00.0000] <hsivonen> MikeSmith: I sent you email about the patch [04:40:01.0000] <MikeSmith> thanks [06:54:00.0000] <wilhelm> Hixie: So, should we go for blacklists or whitelists for register*Handler()? (c: [08:29:00.0000] <AryehGregor> Okay, back to work for me. [08:49:00.0000] <AryehGregor> . . . Google has disappeared from my search engine list in Firefox 5.0a2, and I can't see any way to get it back. [08:52:00.0000] <AryehGregor> Plus Firebug disabled itself. [08:52:01.0000] <AryehGregor> /me switches back to Firefox 4 [08:59:00.0000] <jgraham> Google seems to be in the search engine list for me (in 6) [08:59:01.0000] <AryehGregor> Firefox 6? [09:00:00.0000] <AryehGregor> I thought they were only up to 5, even in nightlies. [09:00:01.0000] <jgraham> Yeah [09:00:02.0000] <jgraham> No, 5 is Auora [09:00:03.0000] <AryehGregor> Or is Aurora 5, and nightly is 6? [09:00:04.0000] <AryehGregor> Oh. [09:00:05.0000] <jgraham> I had to futz to get firebug working [09:00:06.0000] <jgraham> fb .18 should work in 5 it seems [09:01:00.0000] <jgraham> *1.8 [09:01:01.0000] <jgraham> But you have to disable the compat check in 6 [09:20:00.0000] <AryehGregor> Weird. Why does surroundContents(docfrag) raise an INVALID_NODE_TYPE_ERR in all browsers? [09:21:00.0000] <TabAtkins> Useless answer: Because a docfrag is an invalid node type? [09:21:01.0000] <AryehGregor> Hmm, the insertNode() thing should fail somehow. [09:22:00.0000] <AryehGregor> When it calls insertBefore(). [09:22:01.0000] <AryehGregor> But that should be a HIERARCHY_REQUEST_ERR or something, not an INVALID_NODE_TYPE_ERR . . . [09:22:02.0000] <AryehGregor> /me will investigate further [09:30:00.0000] <smaug____> So http://mdv.googlecode.com/svn/trunk/docs/design_intro.html is effectively JS-fied XForms :) [09:30:01.0000] <TabAtkins> The "JSified" is the important part! [09:31:00.0000] <smaug____> not sure why [09:32:00.0000] <TabAtkins> Because it's what you actually want, given the common and appropriate paradigm of JS being your canonical source of data. [09:32:01.0000] <AryehGregor> Oh, DOM 2 Range says it should raise an INVALID_NODE_TYPE_ERR in that case . . . [09:32:02.0000] <AryehGregor> I have no idea why, but . . . [09:33:00.0000] <hsivonen> TabAtkins: huh? not RDF as the canonical source of data? [09:33:01.0000] <TabAtkins> hsivonen: ::shudder:: [09:33:02.0000] <TabAtkins> Anyway, I meant in the context of a running application. Your data storage can be RDF or SQL or whatever. [09:34:00.0000] <TabAtkins> The point is that the data is canonical in the JS, not the DOM, so the DOM is just a view of the data. [09:50:00.0000] <jgraham> /me wonders if the {{ }} syntax will cause problems with common server-side templating langauges [09:53:00.0000] <AryehGregor> Do common server-side templating languages often use {{}}? Other than wikitext . . . [09:54:00.0000] <jgraham> Dunno. Some use ${} which is slightly uncomfortably close [10:00:00.0000] <Philip`> Django uses {{...}} [10:00:01.0000] <Philip`> http://docs.djangoproject.com/en/dev/topics/templates/#variables [10:19:00.0000] <Philip`> /me thinks http://blogs.msdn.com/b/ie/archive/2011/04/27/ie9-compat-inspector.aspx looks like a nice idea since it gives useful error messages (suggesting upgrading specific JS libraries etc, instead of just moaning that there's an error), and also it doesn't suggest x-ua-compatible or attempt to disparage other browsers [10:20:00.0000] <gsnedders> Philip`: I wonder if they change whether they list depending on libraries are loaded [10:23:00.0000] <jgraham> Philip`: Yes, indeed. Foregoing marketing-driven mudslinging and instead providing helpful technical insight ftw [10:24:00.0000] <Philip`> gsnedders: They don't (except for one test that's conditional on window.jQuery, reporting a bug in old jQuery versions) [10:25:00.0000] <Philip`> I presume if you're maintaining a site then you probably already know what JS libraries it's using (or can easily find out) [10:26:00.0000] <gsnedders> Philip`: Hm, okay. I guess that's reasonable (libraries bound to different variables, etc.). [10:26:01.0000] <Philip`> and it seems to have a separate thing that tells you what libraries it detects anyway [10:26:02.0000] <Philip`> (but doesn't use that detection to alter any of the error messages) [10:47:00.0000] <AryehGregor> + if (y !== y) [10:47:01.0000] <AryehGregor> + { [10:47:02.0000] <AryehGregor> + //NaN case [10:47:03.0000] <AryehGregor> + return y !== y; [10:47:04.0000] <AryehGregor> + } [10:47:05.0000] <AryehGregor> jgraham, I guess you mean return x !== x there? [10:47:06.0000] <AryehGregor> I'll fix it. [10:48:00.0000] <gsnedders> x and y being expected and actual? [10:48:01.0000] <AryehGregor> Yes. [10:49:00.0000] <AryehGregor> Fix pushed. [10:49:01.0000] <gsnedders> Ergh, can we not have one letter variables? [10:49:02.0000] <AryehGregor> Well, it's actually a same_value(x, y) function. [10:49:03.0000] <AryehGregor> So the two values are interchangeable, strictly. [10:50:00.0000] <AryehGregor> It happens to be that it's primarily used for expected and actual, but it doesn't have to be. [10:50:01.0000] <AryehGregor> So x and y are fairly appropriate here. [10:51:00.0000] <Philip`> for (var iterator = 0; iterator < 10; ++iterator) alert('I sometimes like short variable names'); [10:55:00.0000] <jgraham> AryehGregor: Thanks [10:56:00.0000] <jgraham> gsnedders: As long as you don't use one letter variables in your programming-by-hand exams :p [10:57:00.0000] <jgraham> (unless it is in Fortran. Then you are required to use one letter variables by the law of unreadable scientific code) [10:57:01.0000] <jgraham> (you can use two letters when you run out of one letters) [10:57:02.0000] <gsnedders> jgraham: I did only in lambdas, and where the questions gave arguments one-letter names. [10:58:00.0000] <gsnedders> jgraham: Or do what GWT does and just vary case [11:00:00.0000] <jgraham> That still only gives you 52 ascii letters to play with [11:00:01.0000] <jgraham> Naming things pWz or similar is encouraged [11:01:00.0000] <AryehGregor> jgraham, you know that instanceof appears to always return false in WebKit, in some cases? [11:01:01.0000] <AryehGregor> Specifically, ones I keep hitting in my tests. [11:01:02.0000] <AryehGregor> /me investigates [11:02:00.0000] <AryehGregor> Things like e instanceof Object being false, where e is a DOMException. [11:02:01.0000] <Philip`> jgraham: 52 is loads - x86 only gives you about 8 'variables' you can use at once, and that works fine [11:02:02.0000] <AryehGregor> Six, if you don't want to mess with the stack. [11:02:03.0000] <Philip`> You just need a separate array to overflow your set of variables into [11:02:04.0000] <jgraham> Point [11:03:00.0000] <jgraham> AryehGregor: That sounds like a bug [11:03:01.0000] <jgraham> In WebKit [11:03:02.0000] <AryehGregor> jgraham, yeah, it does, doesn't it? [11:03:03.0000] <AryehGregor> /me doesn't really want to make a reduced test case from several thousand lines of code, but it would be nice to be able to work around this better . . . [11:04:00.0000] <jgraham> You might be able to work out what is going on it Web Inspector [11:05:00.0000] <jgraham> wilhelm: You should file the Gecko bug you found btw [11:05:01.0000] <gsnedders> AryehGregor: If only jgraham's framework had something like QuickCheck's reduce functionality [11:05:02.0000] <AryehGregor> What does that do? [11:05:03.0000] <AryehGregor> Hmm, yeah, let me try Web Inspector first. [11:05:04.0000] <AryehGregor> Although I think I tried it before and didn't get what was going on. [11:05:05.0000] <gsnedders> AryehGregor: It's reduces the Haskell down to a minimal TC it can programmatically find that fails [11:06:00.0000] <jgraham> gsnedders: Well you could use it with one of the tools for doing that to js [11:06:01.0000] <jgraham> I guess it likely won't be as elegant as QuickCheck [11:07:00.0000] <AryehGregor> Okay, so in the console I've got !(e instanceof Object) and typeof e == "object". [11:07:01.0000] <AryehGregor> Any ideas on what to look at from here? [11:07:02.0000] <AryehGregor> Oh, hmm. [11:07:03.0000] <AryehGregor> I think the exception was thrown in a different window. [11:07:04.0000] <AryehGregor> In an iframe, specifically. [11:07:05.0000] <AryehGregor> Maybe that's it? [11:08:00.0000] <AryehGregor> So the interface objects aren't equal on the different windows? [11:08:01.0000] <AryehGregor> /me tests [11:08:02.0000] <jgraham> Oh yes, that is a known issue [11:08:03.0000] <AryehGregor> Yeah, e instanceof actualIframe.contentWindow.Object is true. [11:08:04.0000] <AryehGregor> So any way to work around that? [11:09:00.0000] <jgraham> I… don't remember [11:09:01.0000] <gsnedders> ES doesn't interact well with multiple globals [11:09:02.0000] <jgraham> I thought I was going to provide a way to pass in a window object [11:09:03.0000] <jgraham> Did I? [11:10:00.0000] <Philip`> /me presumes the interfaces couldn't be equal else you could do "Object.foo = 1" in one iframe and read it back in another and get cross-origin communication [11:10:01.0000] <jgraham> That's not how instanceof is specced to work in WebIDL I think [11:10:02.0000] <AryehGregor> Evil. [11:11:00.0000] <jgraham> But... yeah [11:13:00.0000] <AryehGregor> Does WebIDL actually define instanceof? [11:13:01.0000] <AryehGregor> /me looks in ES5 [11:13:02.0000] <Ms2ger> I hope so! [11:14:00.0000] <AryehGregor> Ah, [[HasInstance]]. [11:14:01.0000] <jgraham> AryehGregor: [[HasInstance]] [11:14:02.0000] <jgraham> too slow :( [11:14:03.0000] <AryehGregor> "If V is a host object that implements the interface for which O is the interface prototype object, return true." [11:14:04.0000] <AryehGregor> But "If O and V refer to the same object, return true." [11:15:00.0000] <AryehGregor> It doesn't seem to have thought of this case. [11:15:01.0000] <jgraham> I think only heycam really understands what is going on ;) [11:15:02.0000] <jgraham> But yeah, he said it hadn't considered this case [11:16:00.0000] <jgraham> http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295 [11:18:00.0000] <jgraham> Is it surprising the things that come upo really quickly when you start testing stuff that are otherwise quite obscure [11:18:01.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/961 [11:18:02.0000] <AryehGregor> Only works in Firefox. [11:18:03.0000] <AryehGregor> I mean, logs "true" in Firefox, "false" in everyone else. [11:19:00.0000] <AryehGregor> I don't suppose objects are associated with a particular window that we can get, or anything like that? [11:23:00.0000] <AryehGregor> Okay, so for now we want to just remove all instanceof checks from testharness.js. [11:23:01.0000] <AryehGregor> Since the behavior isn't really defined. [11:28:00.0000] <AryehGregor> Done [11:28:01.0000] <AryehGregor> . [11:37:00.0000] <AryehGregor> jgraham, regarding r239, why did you remove the e.name === code_or_object check? The spec does require it. [11:37:01.0000] <AryehGregor> Just because it makes all the assertions fail in some browsers? [11:42:00.0000] <wilhelm> jgraham: Yes, will do. [11:50:00.0000] <AryehGregor> Hmm, every use of assert_throws in DOM Range tests is apparently wrong. [11:50:01.0000] <AryehGregor> At least, the ones that don't test DOMExceptions. [11:50:02.0000] <AryehGregor> Which is a minority. [11:54:00.0000] <jgraham> AryehGregor: Because of sekrit backchannel information from annevk [11:54:01.0000] <jgraham> (that the spec might change) [11:54:02.0000] <AryehGregor> jgraham, more specifically? [11:54:03.0000] <AryehGregor> Oh. [11:54:04.0000] <AryehGregor> To what? [11:54:05.0000] <AryehGregor> The current spec seems sane. [11:55:00.0000] <jgraham> Yeah, I like it [11:55:01.0000] <AryehGregor> Saner than what any browser does, anyway. [11:55:02.0000] <AryehGregor> Also, I just convinced some people in the Web Apps WG to copy it for their own exception types. [11:55:03.0000] <jgraham> I think it might be closer to what some browser does [11:55:04.0000] <AryehGregor> I think approximately one browser actually implements it correctly. [11:55:05.0000] <AryehGregor> WebKit, perhaps? [11:55:06.0000] <jgraham> Well since annevk is not here, take it up with Ms2ger [11:55:07.0000] <jgraham> :) [11:56:00.0000] <Ms2ger> ? [11:56:01.0000] <AryehGregor> I don't think we should actually test it, but only because it would make almost all browsers fail every assert_throws(). [11:56:02.0000] <AryehGregor> Which is obnoxious clutter. [11:56:03.0000] <Ms2ger> I agree [11:57:00.0000] <AryehGregor> But let's leave it commented out with a note to enable it once the latest version of everyone converges on it. [11:57:01.0000] <Ms2ger> And not even because it's Gecko which fails :) [11:57:02.0000] <jgraham> It would be nice to put it back in if people start to get it right [11:57:03.0000] <jgraham> But I am sure if I do that someone will complain [11:58:00.0000] <jgraham> I already get hate mail for fixing bugs (not really) [11:58:01.0000] <jgraham> (but I did cause confusion by fixing a bug that the Web Performance people were relying on) [11:58:02.0000] <AryehGregor> A harness bug? [11:59:00.0000] <jgraham> Yeah [12:00:00.0000] <Ms2ger> So, WebIDL claims e.name == "DOMException" [12:01:00.0000] <AryehGregor> I don't think anyone does that. [12:02:00.0000] <AryehGregor> We seem to have interop on the .name of a TypeError being "TypeError". [12:02:01.0000] <jgraham> Is that required by ES5? I forget [12:02:02.0000] <AryehGregor> But no interop on the .names of DOMExceptions or RangeExceptions. [12:02:03.0000] <jgraham> Really DOMExceptions should behave much like native Errors [12:03:00.0000] <AryehGregor> You know, assert_throws() really makes no sense. [12:03:01.0000] <AryehGregor> The mode where you pass an object doesn't actually do anything except verify that the .name attribute matches. [12:03:02.0000] <AryehGregor> Which is useless for anything but TypeErrors. [12:04:00.0000] <AryehGregor> DOM Range tests are littered with incorrect usages. [12:04:01.0000] <AryehGregor> Could we make it more useful? Like either allow only a string and special-case the error types we care about, or actually allow the passed object to do something useful? [12:05:00.0000] <AryehGregor> Like "for each property of the passed object, the thrown exception must have that property with the same value"? [12:05:01.0000] <AryehGregor> Also, the error text right now is confusing, because it doesn't actually say what part of the assertion failed. [12:05:02.0000] <jgraham> Hmm, where does the platform throw non-ES-Errors or non-DOMExceptions? [12:06:00.0000] <AryehGregor> DOM Range throws RangeExceptions. [12:06:01.0000] <AryehGregor> I'm pretty sure IndexedDB throws its own exceptions too. [12:06:02.0000] <AryehGregor> And maybe others. [12:06:03.0000] <jgraham> A RangeException isn't an instanceof a DOMException? [12:07:00.0000] <jgraham> Or is there some basic Exception type? [12:07:01.0000] <Ms2ger> No [12:07:02.0000] <jgraham> Oh. Who designed this platform? [12:07:03.0000] <Ms2ger> How about I kill RangeExceptions? [12:08:00.0000] <jgraham> Do browsers already support them? [12:09:00.0000] <Ms2ger> Gecko does, but I think I can convince sicking :) [12:10:00.0000] <jgraham> Can you convince him to kill IDBDatabaseException? :) [12:10:01.0000] <sicking> actually [12:11:00.0000] <sicking> the DOMException design is horrible, we need to abandon it [12:11:01.0000] <jgraham> Which part in particular? [12:11:02.0000] <Ms2ger> So you agree less classes with that design is good? :) [12:11:03.0000] <sicking> Ms2ger: no, the opposite [12:12:00.0000] <sicking> first off DOMExceptions aren't very javascripty [12:12:01.0000] <Ms2ger> The DOM isn't [12:12:02.0000] <sicking> we're trying to fix that though [12:12:03.0000] <sicking> normal javascript exceptions can be checked by just checking .type, or by using instanceof [12:12:04.0000] <sicking> they have one interface per exception type [12:13:00.0000] <jgraham> I don't mind many classes if there is some Exception type they all inherit from [12:13:01.0000] <sicking> jgraham: yup, there should be [12:13:02.0000] <sicking> second, the fact that DOMException is code based means that authors have to check both interface name and code number [12:14:00.0000] <sicking> unless we somehow manage to never have two specs use overlapping codes. So far we've failed at this [12:15:00.0000] <sicking> webidl is getting better exception support, we should use it [12:15:01.0000] <Ms2ger> Not for existing exceptions [12:15:02.0000] <jgraham> So the proposal is what? Kep it basically the same but with non-sucky inheritance models? [12:15:03.0000] <jgraham> *Keep [12:15:04.0000] <jgraham> Or add stuff to the existing API? [12:15:05.0000] <sicking> Ms2ger: why not? If we can do it in a backwards compat manner [12:15:06.0000] <jgraham> We can't really subtract stuff... [12:16:00.0000] <sicking> I think all we need is .code to remain backwards compat, and "e instanceof DOMException" [12:17:00.0000] <sicking> so just define new exception interfaces which all inherit from DOMException [12:17:01.0000] <sicking> and that have .code set to what DOMException uses now [12:18:00.0000] <sicking> and do the same for other exception interfaces if we think it's needed [12:19:00.0000] <jgraham> It sounds like it could work [12:20:00.0000] <AryehGregor> That sounds good. [12:20:01.0000] <AryehGregor> Except, what about if the exception was thrown in another window? [12:20:02.0000] <AryehGregor> Then instanceof breaks. [12:20:03.0000] <jgraham> AryehGregor: So I guess I need to fix up testharness.js in the meantime [12:20:04.0000] <jgraham> any particular API you like? [12:20:05.0000] <AryehGregor> I guess sicking didn't see: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12295 [12:20:06.0000] <AryehGregor> jgraham, one sec, I'm writing a patch. [12:21:00.0000] <jgraham> AryehGregor: I doubt I will do it right now :) [12:21:01.0000] <sicking> AryehGregor: that's already the case. And you can still check .type [12:21:02.0000] <AryehGregor> Hmm, right. [12:22:00.0000] <AryehGregor> But then .type is the only reliable piece of info, so why bother with the inheritance stuff? [12:22:01.0000] <AryehGregor> jgraham and Ms2ger, quick proposed patch: http://pastebin.com/TgX0YNyf [12:23:00.0000] <jgraham> AryehGregor: You have to be sure to check against the interface object in the right global scope [12:24:00.0000] <jgraham> which is not *usually* a problem [12:24:01.0000] <AryehGregor> How are you supposed to know what the right global scope is, in general-purpose code? [12:24:02.0000] <jgraham> Well that is an interesting question [12:24:03.0000] <AryehGregor> It's not usually a problem in the sense that it will very rarely come up, so nobody will code for it and they'll get inscrutable errors and assume browsers are crazy. [12:24:04.0000] <jgraham> istr that a goal of ES5 was to make that hard :) [12:24:05.0000] <AryehGregor> (which is what I did) [12:24:06.0000] <AryehGregor> (although I'd have figured it out sooner if Firefox matched other browsers here) [12:26:00.0000] <jgraham> AryehGregor: I don't think I like that approach [12:27:00.0000] <AryehGregor> My patch? [12:27:01.0000] <jgraham> Yeah [12:27:02.0000] <AryehGregor> The error messages are slightly confusing because they no longer mention the expected interface. [12:27:03.0000] <AryehGregor> That could be fixed easily, though. [12:27:04.0000] <jgraham> I think it makes things more magic rather than less [12:27:05.0000] <AryehGregor> Do you have a proposal for making things less magic without adding lots of verbosity to callers? [12:27:06.0000] <jgraham> Good question [12:27:07.0000] <AryehGregor> Do you think it's even possible to make things less magic? [12:28:00.0000] <jgraham> Well sure [12:28:01.0000] <AryehGregor> Especially if we want to be able to easily switch what we're testing in the future, if the spec for DOMException or such is changed? [12:28:02.0000] <AryehGregor> E.g., testing .name or .type or something. [12:28:03.0000] <jgraham> assert_throws_dom("code", exception_obj, func) for example [12:29:00.0000] <jgraham> like assert_throws("INVALID_REQUEST_ERR", DOMException, func) [12:29:01.0000] <jgraham> +_dom [12:29:02.0000] <jgraham> It is more verbose though [12:29:03.0000] <AryehGregor> How would that work for RangeExceptions? [12:29:04.0000] <AryehGregor> My approach isn't extensible at all, it's true. [12:30:00.0000] <jgraham> assert_throws_dom("SOME_CODE", RangeException, func) [12:30:01.0000] <jgraham> and it neatly solves the global problem by making the caller deal with it [12:30:02.0000] <AryehGregor> Hmm. [12:30:03.0000] <AryehGregor> Now that's a thought. [12:31:00.0000] <AryehGregor> Except, is it actually specced what global the thrown exception should be part of? [12:31:01.0000] <AryehGregor> If I get a Node object from another window, and call a method on it in this window, is the thrown exception from that window or this one? [12:31:02.0000] <jgraham> Oh, I remember running into that too [12:31:03.0000] <AryehGregor> Come to think of it, this must be why any non-Firefox browsers passed my tests. [12:31:04.0000] <jgraham> It's all good fun this :) [12:32:00.0000] <AryehGregor> I guess WebKit throws from the Node's window, and IE from the current window. [12:33:00.0000] <AryehGregor> So as a design goal, do we want users to be able to easily extend assert_throws() to support their own exceptions without forking the library? [12:33:01.0000] <AryehGregor> If so, then we should have it accept a callback to determine if the exception is correct. [12:33:02.0000] <AryehGregor> Then third parties can write their own wrappers that pass in a callback. [12:34:00.0000] <AryehGregor> But the core library can provide some convenience wrappers for DOM exception types that need to be shared between specs. [12:34:01.0000] <jgraham> Why do we need a callback [12:34:02.0000] <jgraham> ? [12:34:03.0000] <AryehGregor> Because the caller might want to verify arbitrary things about the exception. [12:34:04.0000] <AryehGregor> Since no two specs agree on what properties exceptions have to have. [12:34:05.0000] <jgraham> No, I don't think that's needed [12:35:00.0000] <jgraham> I think assert_throws should be about chacking that an exception of the right type was thrown [12:35:01.0000] <AryehGregor> For what definition of "type"? [12:35:02.0000] <jgraham> If you want to do something more complex, use assert_equals [12:36:00.0000] <AryehGregor> Then you have to write your own boilerplate try/catch with multiple asserts. [12:36:01.0000] <jgraham> Interface+code for dom exceptions, object type for ES Exceptions [12:36:02.0000] <jgraham> Yeah, but only once per exception type or so [12:36:03.0000] <jgraham> You probably don't need to do that every time you test an exception is thrown [12:37:00.0000] <AryehGregor> We can't test interface. We could test that all the expected interface members are present and have the right types, I suppose. [12:37:01.0000] <AryehGregor> Anyone want to write a WebIDL parser in JS? :) [12:37:02.0000] <jgraham> instanceof tests interfaces [12:37:03.0000] <AryehGregor> Not reliably, because of the cross-window problem. [12:37:04.0000] <jgraham> at least it tests what I meant when I said interafces [12:38:00.0000] <jgraham> The cross-window problem is a problem, I agree [12:38:01.0000] <AryehGregor> I just removed instanceof checks from testharness.js because it was causing mass spurious test failures in WebKit. [12:38:02.0000] <jgraham> But the solution is probably to fix the browsers to agree on the right behaviour [12:38:03.0000] <AryehGregor> In the long term, maybe, but that doesn't help us for the present. [12:39:00.0000] <AryehGregor> I agree that testing instanceof is in principle ideal, but I don't think it's practical. [12:39:01.0000] <jgraham> In the present I would like to keep using the interfaces until people complain louded [12:39:02.0000] <jgraham> *louder [12:39:03.0000] <AryehGregor> Unless we can figure out how to work around browser bugs. [12:39:04.0000] <jgraham> Then maybe have some way to use the string representation [12:39:05.0000] <AryehGregor> That's not standardized. [12:40:00.0000] <jgraham> Does it work? If it does then it ought to be standardised [12:40:01.0000] <jgraham> and is good enough [12:40:02.0000] <AryehGregor> No, every browser has a different string representation. [12:40:03.0000] <AryehGregor> My mockup tests that e[code] == myinterface[code] and e.code == myinterface[code]. That actually works reasonably reliably in all browsers. [12:40:04.0000] <AryehGregor> I don't think we have interop on anything more. [12:41:00.0000] <AryehGregor> (for DOMException and RangeException) [12:41:01.0000] <AryehGregor> It's also what assert_throws tests right now for DOMException, right? [12:41:02.0000] <AryehGregor> Although not RangeException. [12:42:00.0000] <AryehGregor> The current implementation is totally broken, anyway. The DOMException case generates confusing error messages, and the non-DOMException case makes no sense (object is passed and then only one hardcoded property is tested and this isn't documented anywhere). [12:43:00.0000] <AryehGregor> Plus also generates confusing error messages. [12:43:01.0000] <AryehGregor> My proposed patch is backward-compatible, has succinct syntax for the caller, and generates better error messages, plus is already written. [12:44:00.0000] <jgraham> Nevertheless [12:44:01.0000] <jgraham> I think it is the wrong approach [12:44:02.0000] <jgraham> Since it makes the unerlying problem (the methhod is too magic) worse rather than better [12:45:00.0000] <AryehGregor> I don't think the method being magic is a problem, and if it is, we can break out the magic parts into a separate convenience function and expose the non-magic parts separately. [12:45:01.0000] <AryehGregor> What's wrong with the callback idea, then? [12:46:00.0000] <jgraham> I also think it might be possible to hack around the frame bug. The stringification of the interface objects is quite standard I expect [12:47:00.0000] <AryehGregor> Hmm, that's a thought. [12:47:01.0000] <AryehGregor> Although it's orthogonal. [12:47:02.0000] <jgraham> So one can say "pass in the interface object in the frame that generates the caller" and we can look up the same object in the local window [12:48:00.0000] <AryehGregor> The string representation actually isn't very standard. [12:48:01.0000] <AryehGregor> I mean, you can just special-case it. [12:49:00.0000] <AryehGregor> WebKit does function DOMException() { [native code] }, everyone else is [object DOMException]. [12:50:00.0000] <AryehGregor> I wish there were a better way to get the actual interface object, though. [12:50:01.0000] <AryehGregor> s/better // [12:50:02.0000] <AryehGregor> . . . still, that's orthogonal. [12:50:03.0000] <jgraham> Well that sucks [12:50:04.0000] <AryehGregor> Insofar as I would like to fix the DOM Range tests so that they actually work, and cannot do that with the current implementation of assert_throws(), what do you suggest I do? [12:51:00.0000] <AryehGregor> Since you don't want me to special-case RangeException the way DOMException is special-cased. [12:51:01.0000] <AryehGregor> I mean, look at it this way. If you rewrite it to some generalized form, you're going to have to support old callers anyway. [12:51:02.0000] <AryehGregor> So is it really a big deal to support old callers using RangeException as well as DOMException? [12:52:00.0000] <AryehGregor> I'd like to fix the DOM Range tests right now, and I can't without fixing assert_throws() to actually sanely accept non-DOMException inputs. [12:52:01.0000] <jgraham> For now could you just add RangeException in the most non-invasive way posible whilse I think about it? [12:52:02.0000] <jgraham> *possib;e [12:53:00.0000] <AryehGregor> Well, if I'm allowed to refactor assert_throws() in unrelated ways at the same time to improve its error reporting, that would be my patch minus the TypeError stuff. :) [12:53:01.0000] <jgraham> Sure, but don't be too surprised if I change it again :) [12:53:02.0000] <AryehGregor> As long as you don't break back-compat without telling me. [12:54:00.0000] <AryehGregor> Also, it just occurred to me: [12:54:01.0000] <AryehGregor> In most cases, the exception will actually be from the current window. [12:54:02.0000] <AryehGregor> So we can test that if e instanceof Object, e instanceof DOMException (or whatever) also. [12:54:03.0000] <AryehGregor> Like assert(e instanceof DOMException || !(e instanceof Object), ...) [12:54:04.0000] <AryehGregor> Not perfect, but better than nothing. [12:55:00.0000] <jgraham> Maybe [12:55:01.0000] <jgraham> It is times like these that I hate the CaJa people [12:58:00.0000] <AryehGregor> CaJa? [12:59:00.0000] <jgraham> http://en.wikipedia.org/wiki/Caja_project [13:00:00.0000] <AryehGregor> . . . why do you hate them? [13:00:01.0000] <jgraham> They were the main drivers behind requirments on it being impossible to get at the global object [13:00:02.0000] <AryehGregor> Oh. [13:01:00.0000] <AryehGregor> According to that page, they restrict themselves to a subset of JS anyway, so why do they care? They can just leave out the way to get at the global object. [13:01:01.0000] <jgraham> I don't really recall [13:01:02.0000] <jgraham> Possibly they wanted the main lanuage to enforce more of their invariants for them [13:02:00.0000] <jgraham> *language [13:02:01.0000] <jgraham> Or maybe it is hard to enforce by restricting features [13:05:00.0000] <AryehGregor> Oh . . . Firefox breaks on the assumption that it will be an instanceof Object/DOMException on the same windows. [13:05:01.0000] <AryehGregor> Sigh. [13:06:00.0000] <gsnedders> Basically nothing around the existance of multiple globals is speced [13:09:00.0000] <gsnedders> jgraham: Check [[Class]] of the exception object? [13:15:00.0000] <AryehGregor> jgraham, okay, pushed. [13:16:00.0000] <AryehGregor> Tell me if you want to break it. [13:16:01.0000] <AryehGregor> (so I can fix the DOM Range tests) [13:21:00.0000] <AryehGregor> Ack. [13:22:00.0000] <AryehGregor> Ms2ger, you know that the RangeException removal breaks compat, right? [13:23:00.0000] <AryehGregor> And tests? [13:23:01.0000] <AryehGregor> What's the reasoning for that? [13:24:00.0000] <AryehGregor> I mean, granted that it shouldn't have existed in the first place, but it does, and everyone implements it. [13:25:00.0000] <Ms2ger> I think it's worth trying to kill it [13:26:00.0000] <AryehGregor> Why? There are vastly more horrible things we don't bother trying to kill. [13:26:01.0000] <AryehGregor> Do you think you have implementer buy-in? [13:26:02.0000] <AryehGregor> I really don't see it as worth it. [13:34:00.0000] <AryehGregor> Ms2ger, we should at least put an XXX in the spec. [13:34:01.0000] <AryehGregor> If you want to keep it this way, though, I'll update the tests. [13:37:00.0000] <sicking> Ms2ger, AryehGregor: I think a better solution is to create two new exceptions which both inherit from RangeException. This would follow the better new WebIDL pattern and be backwards compatible [13:38:00.0000] <AryehGregor> As far as my tests go, that would be the same as the status quo ante, and I'm fine with it. [13:38:01.0000] <sicking> we *might* even be able to get away with making the new exceptions not inherit RangeException or have .code, but that would break backwards compat [13:38:02.0000] <AryehGregor> Although that pattern does break confusingly in the presence of multiple globals. [13:38:03.0000] <sicking> AryehGregor: no more or less than current behavior [13:39:00.0000] <AryehGregor> Well, with the current behavior the only way to more-or-less reliably test that it's the right error code is something like e.code == e.INVALID_NODE_TYPE_ERR, which happens to sidestep the interface issue. [13:40:00.0000] <AryehGregor> Your way would encourage authors to do e instanceof InvalidNodeTypeException or whatever the case may be, which will break in weird corner cases. [13:40:01.0000] <AryehGregor> Currently there's no real reason to do e instanceof RangeException, it's not realistically going to pass e.code == e.INVALID_NODE_TYPE_ERR otherwise. [13:40:02.0000] <gsnedders> AryehGregor: And what do you do about the Object/Array case? [13:40:03.0000] <AryehGregor> gsnedders, what? [13:41:00.0000] <gsnedders> AryehGregor: {} instanceof otherglobal.Object returns false [13:41:01.0000] <gsnedders> AryehGregor: This behaviour is consistent with everything in JS varying on globals [13:41:02.0000] <AryehGregor> On an unrelated note: I guess there's no way in hg to just throw away my local commits, like git rebase --hard some_commit && git pull? [13:42:00.0000] <AryehGregor> gsnedders, well, yeah. So I'm saying instanceof is broken and we shouldn't encourage authors to rely on it. [13:42:01.0000] <sicking> AryehGregor: Actually, right now you should both check |e instanceof DOMException && e.code = e.INVALID_...| [13:42:02.0000] <AryehGregor> sicking, you should, but the e instanceof DOMException part is superfluous in practice. [13:42:03.0000] <sicking> AryehGregor: but we don't need to encourage people to use instanceof. We can just tell them to use .type [13:42:04.0000] <sicking> AryehGregor: it's not, there are multiple exception types floating around [13:43:00.0000] <AryehGregor> Yeah, but how many of them have an error code called INVALID_NODE_TYPE_ERR? [13:43:01.0000] <sicking> AryehGregor: SVGException, RangeException, DOMException, I'm sure there are more [13:43:02.0000] <sicking> hmm... [13:43:03.0000] <gsnedders> AryehGregor: But it's not broken, they're fundementally different objects [13:43:04.0000] <AryehGregor> If authors should rely on .type, why define the extra interfaces at all? [13:43:05.0000] <sicking> that is a good point actually [13:43:06.0000] <gsnedders> AryehGregor: Someone could've mutated the object in one global scope but not another [13:43:07.0000] <sicking> AryehGregor: to follow javascript patterns [13:43:08.0000] <AryehGregor> Well, I guess that's a fair reason. [13:44:00.0000] <sicking> AryehGregor: not all code crosses globals [13:44:01.0000] <AryehGregor> Yeah, very little does, which is why the bug will be extremely confusing when it happens. [13:44:02.0000] <gsnedders> AryehGregor: The point of instanceof is to tell whether something is in the prototype chain, and hence any property that exists on an object that instanceof returns true for exists on that object. You're violating that semantic with the behaviour you want. [13:44:03.0000] <AryehGregor> Okay, so is there any way in hg to just throw out some local commits, or do I have to reclone? [13:45:00.0000] <AryehGregor> gsnedders, I didn't say I wanted it to behave differently, I just said authors should avoid it. [13:45:01.0000] <sicking> i agree that instanceof is problematic. But the way we're heading now is bad too. And checking .type seems to solve all problems [13:45:02.0000] <AryehGregor> Yeah, a .type property would be great if everyone implemented it. [13:45:03.0000] <AryehGregor> Of course, so would a .name property, or any other property, if everyone implemented it consistently . . . [13:45:04.0000] <AryehGregor> But I'm fine with ES5 compat. [13:45:05.0000] <sicking> err.. [13:45:06.0000] <sicking> sorry, it's called .name actually [13:45:07.0000] <AryehGregor> Oh. [13:45:08.0000] <AryehGregor> Well, that's convenient, isn't it? [13:45:09.0000] <sicking> i don't know why i keep thinking it's .type [13:46:00.0000] <AryehGregor> That's what the spec already says, then. [13:46:01.0000] <AryehGregor> Other than the extra interfaces. [13:46:02.0000] <gsnedders> AryehGregor: http://stackoverflow.com/questions/4172753/how-to-get-rid-of-some-changeset-in-hg [13:46:03.0000] <AryehGregor> sicking, what do you think about Ms2ger's change to get rid of RangeException entirely? Do you think Gecko would do that? [13:46:04.0000] <sicking> AryehGregor: what does the spec say .name should be on current exceptions? [13:47:00.0000] <AryehGregor> sicking, http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-domexception-name [13:47:01.0000] <sicking> AryehGregor: i'd be fine with trying to get rid of RangeException, but only if it's replaced with something better [13:47:02.0000] <AryehGregor> Well, actually that conflicts, right? [13:47:03.0000] <sicking> AryehGregor: so "DOMException" then? [13:47:04.0000] <AryehGregor> Because the ES way would have .name be IndexSizeErrException or something? [13:47:05.0000] <sicking> AryehGregor: that's not what i'm proposing [13:47:06.0000] <AryehGregor> No, like "INDEX_SIZE_ERR". [13:47:07.0000] <sicking> no [13:48:00.0000] <sicking> IndexSizeException is what i'd propose [13:48:01.0000] <sicking> all exceptions are errors, no need to include "Err" [13:48:02.0000] <AryehGregor> Okay, so you're proposing that browsers change the meaning of .name on DOMException? Because it already exists and has a different value from that. [13:49:00.0000] <sicking> AryehGregor: yup, that's what i'm proposing [13:50:00.0000] <AryehGregor> Well, no two browsers currently agree on the meaning of .name for DOMException, so I guess it's not too bad . . . [13:50:01.0000] <AryehGregor> Chrome gives "HIERARCHY_REQUEST_ERR", Gecko gives "NS_ERROR_DOM_HIERARCHY_REQUEST_ERR", Opera gives "Error", IE gives undefined. [13:51:00.0000] <AryehGregor> It makes me a bit less enthusiastic about the proposal. [13:51:01.0000] <AryehGregor> gsnedders, yeah, so as I expected, it's not supported. Yay hg, as usual. [13:52:00.0000] <AryehGregor> So what I have to do is wipe out the whole repo and make a new one. That's so much better than in git, where the commits would be accessible for the next few weeks until garbage-collected in case I wanted them. [13:53:00.0000] <AryehGregor> And of course, the clone command also changes hgrc, and possibly other things that I'm not aware of. [13:55:00.0000] <AryehGregor> Seems like there's no good bridge for git users who are forced to use Mercurial, only the other way around. [14:03:00.0000] <jgraham> AryehGregor: I think you can do waht you want with mq but that is deep magic to me [14:04:00.0000] <AryehGregor> mq is a separate queue on top of hg, not a way of managing hg commits, right? [14:04:01.0000] <AryehGregor> So it would only work if I didn't actually commit locally yet? [14:05:00.0000] <Philip`> There's a way to convert hg commits into mq patches, so you can edit them and re-commit them [14:06:00.0000] <Philip`> (See hg qimport --help) [14:06:01.0000] <Philip`> (I think) [14:06:02.0000] <AryehGregor> Personally, I'm still going to go with hating hg and wishing I could use git. [14:08:00.0000] <jgraham> I think in this case git is better [14:09:00.0000] <AryehGregor> I have yet to find any nontrivial case where I consider hg better. [14:09:01.0000] <AryehGregor> And I've been using it for a few months now. [14:09:02.0000] <jgraham> In general I have come over to the idea that git's more mutable history is better for team work than mercurial's desire to preserve everything [14:10:00.0000] <Philip`> /me likes Hg because it works better in trivial cases, and almost everything he does is trivial cases [14:10:01.0000] <AryehGregor> I don't find it works better in trivial cases. [14:10:02.0000] <jgraham> because the commits that you want to make locally are not usually the same as the ones you eant to share [14:10:03.0000] <jgraham> *want [14:10:04.0000] <AryehGregor> Well, I should say that git has sometimes gotten me into some crazy state where I have no idea what it's doing, but on the other hand, hg has eaten my data, so it's more than equal. [14:10:05.0000] <AryehGregor> git is certainly harder to understand. [14:13:00.0000] <jgraham> I wonder how easy it is to delete commits using the internal api [14:13:01.0000] <jgraham> The mercurial internal API turns out to be quite easy to understand [14:48:00.0000] <jamesr> heycam: yt? [14:50:00.0000] <heycam> hi jamesr [14:51:00.0000] <jamesr> are you in the web perf call or planning to dial in to the second half? [14:51:01.0000] <heycam> I'm going to dial in for the second half [14:51:02.0000] <jamesr> k, me too. i want to propose that we try to keep technical discussions on the mailing list and not the telecon [14:51:03.0000] <jamesr> but i'm not sure how that will go over [14:51:04.0000] <jamesr> what's your preference? [14:51:05.0000] <heycam> yes, I agree with that [14:53:00.0000] <heycam> I also agree I'm not sure how it will go over :) [14:53:01.0000] <heycam> there didn't seem to be too much push back when it was mentioned at the f2f [14:53:02.0000] <jamesr> philippe seemed skeptical later on in email [14:53:03.0000] <heycam> I guess it is up to the chairs, anyway [14:54:00.0000] <heycam> I think we may need to demonstrate that we can make good progress without having technical discussion on the calls [14:54:01.0000] <jamesr> yeah [14:54:02.0000] <heycam> i.e. drive mailing list discussion of issues [14:54:03.0000] <jamesr> guess the best thing is to lead by example [14:54:04.0000] <heycam> yep [14:54:05.0000] <Hixie> if you just don't call in... :-) [14:54:06.0000] <heycam> :) [15:04:00.0000] <jgraham> technical discussion in mail ++ [15:06:00.0000] <jgraham> (also I very occasionally read Web Perf. mail and I can't do that if it is hidden away) [15:06:01.0000] <jgraham> (as telecon) [15:17:00.0000] <AryehGregor> Hmm, Opera has non-standard default styles for <blockquote>. [15:17:01.0000] <AryehGregor> I should write some tests for HTML5's Rendering section. [15:17:02.0000] <AryehGregor> That would be useful. [15:24:00.0000] <jamesr> heycam: i'd be a lot happier if this discussion started on the mailing list [15:24:01.0000] <jamesr> and/or ended there [15:24:02.0000] <jamesr> i've just zoned uot [15:24:03.0000] <heycam> me too. this isn't being minuted very well either. [15:25:00.0000] <AryehGregor> CSS question: why does a <br> immediately after a <div> take effect, while one immediately before a <div> does not? http://software.hixie.ch/utilities/js/live-dom-viewer/saved/962 [15:26:00.0000] <AryehGregor> Is this specced somewhere? IIRC, CSS doesn't have too much to say about <br>. [15:26:01.0000] <AryehGregor> (in that link, there's extra whitespace between "Foo" and "Bar", but not "Bar" and "Baz", in the browsers I tested in) [15:27:00.0000] <AryehGregor> /me looks in CSS 2.1 [15:27:01.0000] <TabAtkins> I think it's because of whitespace collapsing. [15:27:02.0000] <TabAtkins> That migh not make sense. [15:27:03.0000] <jamesr> here we go again [15:28:00.0000] <AryehGregor> "Line boxes that contain no text, no preserved white space, no inline elements with non-zero margins, padding, or borders, and no other in-flow content (such as images, inline blocks or inline tables), and do not end with a preserved newline must be treated as zero-height line boxes for the purposes of determining the positions of any elements inside of them, and must be treated as not existing for any other purpose." [15:29:00.0000] <AryehGregor> That's probably it, somehow. [15:29:01.0000] <AryehGregor> Although I don't know how. [15:32:00.0000] <AryehGregor> So it seems like the last <br> in a block box is eaten, but not the first. [15:32:01.0000] <TabAtkins> Yeah, that's it. The first <br> creates an empty linebox, but the linebreak is preserved (due to being generated by a <br>). The second <br>'s linebreak, though, is on the same line as "Bar". The third line box which would otherwise be created has no preserved whitespace, so it's killed. [15:32:02.0000] <bfrohs> AryehGregor: I've always see it as <br> moves the insertion point from the current location to the next line (but takes up no space). So "text<br><div></div>" would move the insertion point from end of "text" to a new line, and the div would be inserted there. Since <br> takes up no space, the div remains on that new line. However, with "<div></div><br>text", the <br> is moved onto the next line automatically because <div> is a block element. The [15:32:03.0000] <bfrohs> n, it adds an additional lines... and the text follows that. [15:32:04.0000] <AryehGregor> TabAtkins, ah -- that must be it. [15:33:00.0000] <AryehGregor> It's kind of weird. You wouldn't think of a newline as being part of any line box at all, really. [15:33:01.0000] <AryehGregor> Thanks. [15:33:02.0000] <TabAtkins> Np. [15:33:03.0000] <TabAtkins> Characters aren't allowed to exist outside of lineboxes, and \A is a character. [15:33:04.0000] <AryehGregor> bfrohs, also makes sense, but not really precise in the sense of CSS 2.1. [15:33:05.0000] <AryehGregor> Anyway, either way is good enough for me. [15:34:00.0000] <bfrohs> AryehGregor: Yeah, just how I've always made sense out of it in my head based on what browsers actually do ;) [15:42:00.0000] <jamesr> heycam: do you use anolis? [15:43:00.0000] <heycam> jamesr, I do not, but many other people here do [15:43:01.0000] <heycam> would you rather switch to that from my custom xslt thingo? [15:43:02.0000] <jamesr> yeah, or teach me how your xslt thing works [15:43:03.0000] <heycam> either way is fine with me [15:44:00.0000] <heycam> as long as the output looks nice :) [15:45:00.0000] <heycam> if you are more familiar with anolis I'm happy to switch to that [15:45:01.0000] <jamesr> k, then i'll try to construct a version of your most recent draft minus the native animation stuff, get it into a format anolis likes, and then push that to HG once i figure out how that works [15:45:02.0000] <jamesr> is the idea we'd check in the input and output to HG? [15:45:03.0000] <heycam> great, thanks! [15:45:04.0000] <heycam> I think so, so that we can view the final form document on http://dvcs.w3.org/ [15:47:00.0000] <heycam> jamesr, btw we'll probably be making some changes to align with the webkit version: https://bugzilla.mozilla.org/show_bug.cgi?id=647517 and https://bugzilla.mozilla.org/show_bug.cgi?id=647518 [15:50:00.0000] <jamesr> ah ok [15:51:00.0000] <jamesr> i could add in my text for those too [15:52:00.0000] <heycam> yeah, I think that's fine [16:08:00.0000] <AryehGregor> Plaintext e-mail has RTL in visual order, not logical? Really? [16:09:00.0000] <TabAtkins> Plaintext doesn't mean "see the bytes in order". It just means no styling. Bidi algorithms aren't styling. [16:10:00.0000] <AryehGregor> I guess I have to test. [16:13:00.0000] <AryehGregor> Testing turned out to be too tiresome, what with encoding issues, so I'll live in ignorance. [16:13:01.0000] <AryehGregor> There's such a thing as encoding RTL in visual order, although it makes no sense if you have to do line breaking. I just saw someone say that the convention for plaintext e-mail is visual rather than logical. [16:14:00.0000] <AryehGregor> I mean, plaintext e-mail does predate the Unicode RTL algorithm by a wide margin. [16:14:01.0000] <TabAtkins> Am I crazy, or is wikipedia completely unstyled now? [16:15:00.0000] <AryehGregor> You're crazy. [16:15:01.0000] <TabAtkins> Hm. [16:15:02.0000] <AryehGregor> (if it persists, #wikimedia-tech) [16:15:03.0000] <TabAtkins> Let's check another browser. [16:18:00.0000] <TabAtkins> Okay, my computer just went crazy and lost my network drive. [16:42:00.0000] <TabAtkins> My computer has gone totally crazy. Time to reboot, I guess. 2011-04-28 [17:11:00.0000] <TabAtkins> ...huh. I'm not sure how this happened, but somehow an unsaved file persisted in my text editor across two reboots. [17:22:00.0000] <TabAtkins> People come up with the craziest hacks. I've got an email from somebody who is trying to avoid preloading all their slide images individually by first compiling them all into a video, one slide per frame, then drawing the video to <canvas> to extract the images back out. [17:51:00.0000] <erlehmann> TabAtkins, madness. you should start a blog, html5fail or something like that :> [20:34:00.0000] <MikeSmith> abarth: congrats on the RFC publication [23:29:00.0000] <abarth> MikeSmith: thanks! [23:32:00.0000] <MikeSmith> abarth: btw, tools.ietf.org doesn't seem to have the draft-abarth-url-01 yet [23:32:01.0000] <abarth> http://tools.ietf.org/html/draft-abarth-url-01 [23:32:02.0000] <abarth> works for me [23:32:03.0000] <MikeSmith> ah [23:33:00.0000] <MikeSmith> I was going to http://tools.ietf.org/html/draft-abarth-url-00 [23:33:01.0000] <MikeSmith> and expecting it to have an 01 link there [23:33:02.0000] <MikeSmith> after Versions: [23:33:03.0000] <abarth> i see the 01 link [23:33:04.0000] <MikeSmith> ah dammit [23:33:05.0000] <MikeSmith> caching [23:34:00.0000] <MikeSmith> yeah, wfm now too [23:36:00.0000] <MikeSmith> abarth: btw, I don't quite know what to make of Julian's comment about the draft not "having any resemblance to the kind of document the WG should deliver" [23:36:01.0000] <MikeSmith> http://lists.w3.org/Archives/Public/public-iri/2011Apr/0059.html [23:37:00.0000] <MikeSmith> I've not gotten the impression that others in the IRI group see it that way [23:37:01.0000] <abarth> he doesn't like the document because it's different from previous specs [23:37:02.0000] <abarth> it's not clear anyone besides browsers should care about this document [23:38:00.0000] <MikeSmith> well, both those things are somewhat true about a lot of recent specs [23:39:00.0000] <MikeSmith> I think the answer to the last one is, applications that what to interoperate with browser behavior should do know what browsers do, and do it too [23:39:01.0000] <MikeSmith> *want to interoperate [23:39:02.0000] <abarth> that's true [23:39:03.0000] <abarth> my plan is to just continue working on the doc [23:39:04.0000] <MikeSmith> good [23:40:00.0000] <abarth> i think there's a good chance that the working group won't like it in the end [23:40:01.0000] <abarth> or it will get knocked down to informational [23:40:02.0000] <abarth> or whatever [23:40:03.0000] <abarth> but that's all fine [23:40:04.0000] <abarth> the important part is to get it written down and get folks to improve their interoperability [23:40:05.0000] <MikeSmith> yes [23:41:00.0000] <MikeSmith> to and to have something that the HTML5 spec can reference [23:49:00.0000] <Hixie> wget should care about this document [23:50:00.0000] <Hixie> google's crawler should care about this document [23:50:01.0000] <Hixie> wysiwyg editors should care about this document [01:45:00.0000] <MikeSmith> touch events landed in mozilla central? [01:46:00.0000] <MikeSmith> does it need be enabled through a compile flag, or is it enabled by default? [01:46:01.0000] <MikeSmith> hmm, user pref? [02:16:00.0000] <zcorpan> should we add ownerWindow to everything so that we can do foo instanceof foo.ownerWindow.Bar ? [02:18:00.0000] <zcorpan> or call it defaultView to match up with document.defaultView [02:18:01.0000] <jgraham> zcorpan: That sounds mildly hideous [02:19:00.0000] <zcorpan> have a better suggestion? :) [02:20:00.0000] <jgraham> /me wonders if the model driven views people have thought of using attributes and elements for their templating rather than {{foo}} [02:21:00.0000] <jgraham> zcorpan: Realise it is an edge case you only hit when running tests and move on? [02:21:01.0000] <hsivonen> was the model-driven views thing a plan for a JS lib or for a Chrome feature_ [02:21:02.0000] <hsivonen> ? [02:21:03.0000] <jgraham> (as gsnedders pointed out it wouldn't help for ES builtins) [02:21:04.0000] <jgraham> hsivonen: AIUI it is a plan for a platform feature [02:22:00.0000] <jgraham> that has been demoed as a js lib [02:22:01.0000] <zcorpan> jgraham: i like that suggestion [02:22:02.0000] <hsivonen> jgraham: so why does it need to be a platform feature rather than a JS lib? [02:22:03.0000] <MikeSmith> jgraham: pimpmyspec is generating 2010 in the W3C copyright [02:23:00.0000] <jgraham> hsivonen: "FAQ item also coming for this. [02:23:01.0000] <jgraham> " [02:23:02.0000] <jgraham> MikeSmith: Umm, does that have anything to do with me? Where does it get that year from? [02:23:03.0000] <MikeSmith> from anolis [02:23:04.0000] <MikeSmith> doesn't it? [02:24:00.0000] <MikeSmith> oh wait [02:24:01.0000] <jgraham> No idea [02:24:02.0000] <MikeSmith> maybe my fault [02:24:03.0000] <jgraham> I just provide the hosting :p [02:24:04.0000] <MikeSmith> probably I have to change it in the boilerplate [02:28:00.0000] <othermaciej> hsivonen: the guy working on it thinks it should be a Web platform feature [02:29:00.0000] <othermaciej> not all folks in the WebKit community are necessarily in tune with his thinking [02:29:01.0000] <othermaciej> I asked him what is wrong with leaving it a library and he had a very short list of things that couldn't be made efficient from pure JS/DOM code [02:29:02.0000] <othermaciej> and I said, "why not just make a modest platform enhancement to fix those few things, so all the existing JS library templating systems can benefit" [02:30:00.0000] <othermaciej> he didn't really have a good argument except for his belief that his JS templating library that he just invented is better than all others ever written [02:32:00.0000] <hsivonen> othermaciej: I was guessing it was something like that. :-( [02:33:00.0000] <othermaciej> well, if other folks in the relevant standards body express similar views, then it will likely influence the direction of what gets standardized and/or implemented [02:33:01.0000] <jgraham> I haven't studied it in detail but it seems like something that is becoming increangly common, but might be a world of pain to implement in the browser [02:34:00.0000] <othermaciej> hsivonen: I even told him the parable of querySelector() and how it seems more important to make a feature that can be smoothly adopted by JS libs than one that aims to replace them through direct use [02:34:01.0000] <othermaciej> there's also the fact that this is similar to but not quite the same as XBL [02:34:02.0000] <othermaciej> I wasn't clear on why it needs to be separate [02:35:00.0000] <jgraham> Like all the special casing they seem to want for their stuff is freaking me out a bit [02:37:00.0000] <jgraham> Oh and they want magic comments :( [02:45:00.0000] <othermaciej> /me makes a mental note to read this thread [02:57:00.0000] <othermaciej> ok, replied to it [03:19:00.0000] <zcorpan> does transitioning between height:0 and height:auto work yet? [03:21:00.0000] <jgraham> I don't think so [03:21:01.0000] <jgraham> It really needs to though [03:22:00.0000] <zcorpan> yeah. truly annoying [03:23:00.0000] <zcorpan> that's basically the only thing i want to transition [03:23:01.0000] <zcorpan> well that and opacity [04:56:00.0000] <hsivonen> Has the Chrome team yet announced which Chrome release train will drop H.264? [06:21:00.0000] <mpilgrim> hsivonen: no. last i heard, google was still "working with partners" and get them to convert to webm or something [06:22:00.0000] <mpilgrim> not sure which partners, and i probably couldn't tell you even if i was in the loop, which i'm not [06:23:00.0000] <hsivonen> mpilgrim: I see. Thanks. [06:23:01.0000] <mpilgrim> but it's still in the cards, AFAIK [06:23:02.0000] <mpilgrim> "real soon now" :) [06:25:00.0000] <jgraham> I guess I was naive to assume it already happened months ago [06:26:00.0000] <hsivonen> It seems to me that in Finland, WebM-enabled browser have already surpassed H.264-enabled browsers in StatCounter usage share, but the numbers would be more impressive if Chrome didn't count towards both [06:26:01.0000] <hsivonen> *browsers [06:27:00.0000] <MikeSmith> hsivonen: really? that's pretty surprising [06:28:00.0000] <hsivonen> MikeSmith: Safari 3.1 or higher plus IE9: 9% [06:29:00.0000] <hsivonen> MikeSmith: Opera 10.6 or higher plus Firefox 4: 15% [06:29:01.0000] <mpilgrim> my dog is sleeping on my foot [06:29:02.0000] <mpilgrim> and now my foot is asleep [06:29:03.0000] <mpilgrim> the circle of life [06:30:00.0000] <hsivonen> MikeSmith: excludes phone browsers but includes iPad, AFAICT [06:30:01.0000] <mpilgrim> chrome 12.0.742.9 dev still supports H.264, that's the latest version i have [06:34:00.0000] <hsivonen> I'm now at the point with about:blank where I can't trust test cases because getElementsByTagName and getElementById stopped working [06:34:01.0000] <jgraham> ? [06:35:00.0000] <hsivonen> jgraham: I have no idea, either [06:38:00.0000] <MikeSmith> mpilgrim: I wishes I had a dog that falls asleep on my foot [06:38:01.0000] <MikeSmith> I want a french bulldog that slobbers all over everything [06:39:00.0000] <MikeSmith> hsivonen: I am struggling with this case of nested figure/figcaption and determining if the have text content that makes img alt required [06:40:00.0000] <hsivonen> MikeSmith: putting the flags on the stack node didn't help? [06:41:00.0000] <mpilgrim> i have a 48 lb. beagle/basset named Beauregard who slobbers all over everything [06:41:01.0000] <mpilgrim> he's awesome [06:42:00.0000] <MikeSmith> hsivonen: it helps but when I am in the characters method, I don't know how to check for text nodes only within the nested figure/figcaption, rather than all the way up through all the figure/figcaption in the tree [06:43:00.0000] <MikeSmith> mpilgrim: if I had a 48 lb dog in my apartment in tokyo, I would have little room left to move around [06:44:00.0000] <MikeSmith> the biggest living thing I've had staying in my apartment is Anne [06:44:01.0000] <MikeSmith> who's just slightly more than 48 lb. [06:45:00.0000] <hsivonen> MikeSmith: you need to walk up the stack and flip flags on all the figcaptions or figures on the stack if I've understood the requirements right [06:45:01.0000] <MikeSmith> ok [06:45:02.0000] <MikeSmith> dammit [06:45:03.0000] <MikeSmith> I thought that's what you were going to say [06:45:04.0000] <MikeSmith> this thing is a PITA man [06:45:05.0000] <MikeSmith> fwiw, I knew I hadn't addressed the nested case when I sent you the patch for review [06:46:00.0000] <MikeSmith> I just think the nested case if pathological [06:46:01.0000] <MikeSmith> but oh well [06:47:00.0000] <MikeSmith> it's not unique in that regard [07:09:00.0000] <MikeSmith> wilhelm_: ping [07:11:00.0000] <wilhelm_> MikeSmith: Pong. [07:12:00.0000] <MikeSmith> wilhelm_: are you in Sweden or in Oslo? [07:13:00.0000] <MikeSmith> I'm trying to figure out when would be the best time to visit to talk to you all about testing stuff [07:14:00.0000] <MikeSmith> and I can go to Oslo if needed, but going to Linköping would be easier [07:15:00.0000] <wilhelm_> MikeSmith: Oslo. [07:15:01.0000] <wilhelm_> Linkøping is in the neighbourhood, though. Doesn't matter much to me. (c: [07:15:02.0000] <MikeSmith> hmm [07:15:03.0000] <MikeSmith> you cats can just al come and visit me [07:15:04.0000] <MikeSmith> ok [07:15:05.0000] <wilhelm_> Oh, yes. An excuse to come to Japan? (c; [07:16:00.0000] <MikeSmith> yeah man [07:16:01.0000] <MikeSmith> come here and sweat the pounds away during the summer time [07:17:00.0000] <gsnedders> Talk about a hard sell. [07:18:00.0000] <MikeSmith> wilhelm_: basically, what I want to do is this summer is either get some kind of common testing framework set up -- cross-WG/ cross-spec -- or… [07:18:01.0000] <MikeSmith> the "or…" part I dunno [07:19:00.0000] <MikeSmith> Philippe will kick my ass if we don't manage to get something set up [07:19:01.0000] <MikeSmith> or maybe by that time I'll be working somewhere else anyway [07:20:00.0000] <MikeSmith> wilhelm_: gsnedders and jgraham have been a big help so far in getting some useful stuff set up [07:21:00.0000] <MikeSmith> so would really be great to see if we can get their help and yours on expanding things a bit further [07:21:01.0000] <MikeSmith> Peter Lins has also been doing great stuff with getting test automation set up for CSS specs [07:22:00.0000] <MikeSmith> so it would also make a lot of sense to take a look at what he's done and see if we can generalize it [07:22:01.0000] <MikeSmith> or whatever the proper term is [07:24:00.0000] <wilhelm_> MikeSmith: Sounds great. [07:26:00.0000] <MikeSmith> wilhelm_: OK, so please get approval for you and jgraham and gsnedders to fly to Tokyo this summer for a visit [07:26:01.0000] <MikeSmith> and also zcorpan [07:27:00.0000] <jgraham> Heh [07:27:01.0000] <MikeSmith> I'll make some arrangements for accomodations [07:27:02.0000] <zcorpan> wait what? [07:27:03.0000] <MikeSmith> heh [07:28:00.0000] <MikeSmith> zcorpan: you are coming to Tokyo! [07:28:01.0000] <zcorpan> oh! [07:28:02.0000] <zcorpan> nice! [07:28:03.0000] <MikeSmith> yes [07:28:04.0000] <MikeSmith> thanks to wilhelm_ [07:28:05.0000] <MikeSmith> we gonna have a great time [07:29:00.0000] <zcorpan> how are we gonna fit in your apartment if you can't fit a dog? [07:29:01.0000] <MikeSmith> you dudes are going to have to all curl up [07:29:02.0000] <MikeSmith> snuggle [07:30:00.0000] <jgraham> /me doesn't like this plan much now [07:30:01.0000] <MikeSmith> or we can sleep in the park [07:30:02.0000] <MikeSmith> it'll be like a camping trip [07:31:00.0000] <MikeSmith> is gsnedders planning to go to Linköping this summer? [07:32:00.0000] <jgraham> No, apparently [07:32:01.0000] <jgraham> Or at least not for much of the summer [07:33:00.0000] <MikeSmith> hmm [07:33:01.0000] <MikeSmith> well, that sucks [07:33:02.0000] <MikeSmith> what the hell is he doing that's so important? [07:34:00.0000] <zcorpan> /me has 5 open bugs on html-differences, all seem trivial [07:36:00.0000] <MikeSmith> zcorpan: glad to see you closed out a bunch of them a couple weeks back [07:36:01.0000] <MikeSmith> those other ones [07:37:00.0000] <MikeSmith> so, thanks for that [07:38:00.0000] <gsnedders> MikeSmith: Sex, drugs, rock and roll. [07:39:00.0000] <MikeSmith> word. [07:39:01.0000] <froggy> Hello [07:39:02.0000] <gsnedders> MikeSmith: tl;dr version: I'll be in Oslo 15th–30th June, and then Göteborg till 4th July. I'll probably also be in Oslo near the end of the summer. [07:40:00.0000] <MikeSmith> huh? [07:40:01.0000] <jgraham> gsnedders: Liquorice is not a drug [07:40:02.0000] <MikeSmith> why Göteborg ? [07:41:00.0000] <MikeSmith> will jgraham and zcorpan and wilhelm_ be in Göteborg then too? [07:41:01.0000] <gsnedders> jgraham: huh? [07:41:02.0000] <gsnedders> jgraham: Oh, duh [07:41:03.0000] <MikeSmith> gsnedders: btw, in place of "sex", you need to "nastiness" [07:41:04.0000] <gsnedders> MikeSmith: Iron Maiden are playing. I have ticket from when I planned to be in Lkpg over the summer. [07:41:05.0000] <zcorpan> http://www.w3.org/Bugs/Public/show_bug.cgi?id=10036 - should i remove the pointer to public-html-comments altogether? [07:41:06.0000] <jgraham> MikeSmith: I will be in England [07:42:00.0000] <jgraham> When gsnedders is in Göteborg [07:42:01.0000] <zcorpan> and i may be in one of Örebro, Linköping or Göteborg [07:42:02.0000] <jgraham> Well I might not be in England [07:43:00.0000] <jgraham> But I won't be in Göteborg [07:43:01.0000] <gsnedders> But you will be in !Lkpg [07:43:02.0000] <MikeSmith> seeing Iron Maiden perform live trumps everything [07:43:03.0000] <MikeSmith> no joke [07:44:00.0000] <zcorpan> >> !Lkpg [07:44:01.0000] <zcorpan> false [07:44:02.0000] <MikeSmith> Bruce Dickison is a god walking the earth [07:44:03.0000] <gsnedders> MikeSmith: There's a slight temptation to just see them here instead, but the SCEE is a terrible venue. [07:45:00.0000] <jgraham> zcorpan right shifted by !Lkpg gives false? [07:45:01.0000] <jgraham> What kind of messed up type system do you have? [07:45:02.0000] <MikeSmith> zcorpan: about bug 10036 [07:45:03.0000] <MikeSmith> I don't know what t suggest [07:46:00.0000] <MikeSmith> other than, "use your discrection" [07:47:00.0000] <MikeSmith> jgraham: making it difficult for me [07:48:00.0000] <MikeSmith> I am personally very happy to be in the same place as you all at the same time [07:48:01.0000] <MikeSmith> … [07:48:02.0000] <gsnedders> :D [07:48:03.0000] <MikeSmith> if we can find a place and time [07:48:04.0000] <gsnedders> MikeSmith: Are you still limited to May, or what's the plan now? [07:49:00.0000] <MikeSmith> I have no limits [07:50:00.0000] <MikeSmith> other than, I may have to pay the flight costs from my own pocket [07:50:01.0000] <gsnedders> Ow. [07:50:02.0000] <MikeSmith> no [07:50:03.0000] <MikeSmith> I am happy to do that if we can actually get together f2f and talk [07:58:00.0000] <gsnedders> MikeSmith: From my POV anytime apart from the above dates (or over them, for that matter, but given those specific locations) and the few days following them WFM. [08:00:00.0000] <MikeSmith> gsnedders: "above dates" = what? [08:01:00.0000] <gsnedders> MikeSmith: 14:44 < gsnedders> MikeSmith: tl;dr version: I'll be in Oslo 15th–30th June, and then Göteborg till 4th July. [08:03:00.0000] <gsnedders> MikeSmith: Of course, if wilhelm_ gets us all to Tokyo, all the better :P [08:03:01.0000] <MikeSmith> no joke [08:04:00.0000] <MikeSmith> youse should all just come to Tokyo for a couple weeks [08:04:01.0000] <MikeSmith> you will learn something [08:05:00.0000] <jgraham> How to survive an earthquake? [08:06:00.0000] <gsnedders> How to train your dragon? [08:06:01.0000] <MikeSmith> heh [08:08:00.0000] <MikeSmith> anyway, wring i Japan, you can focus on developing products according to actual paying-customer requiremenrts (rather than vague notions about end-users needs) [08:09:00.0000] <gsnedders> Customers? Pff. [08:10:00.0000] <MikeSmith> exactley [08:10:01.0000] <MikeSmith> let them eat cake [08:10:02.0000] <wilhelm_> Mm. Cake. [08:11:00.0000] <gsnedders> MikeSmith: You know, saying that the week after Portal 2 came out… [08:11:01.0000] <bfrohs> The cake is a lie. [08:11:02.0000] <Philip`> That game's got almost nothing to do with cake :-( [08:12:00.0000] <zcorpan> Zarro Boogs found. [08:12:01.0000] <zcorpan> w00t [08:12:02.0000] <jgraham> Zarro Cake also [08:12:03.0000] <jgraham> :( [08:13:00.0000] <zcorpan> mmm, cake. reminds me, time to stop working, make coffee, wake up wife and eat cake [08:13:01.0000] <jgraham> I take it she is working quite strange hours? [08:14:00.0000] <zcorpan> she's a baker [08:14:01.0000] <jgraham> Otherwise it sounds a bit like Marie Anoinette [08:14:02.0000] <jgraham> Well yes, I know [08:14:03.0000] <zcorpan> not so strange hours if you're a baker :) [08:14:04.0000] <gsnedders> jgraham: Better than sounding like Othello, though [08:15:00.0000] <jgraham> zcorpan: Fair enough [08:17:00.0000] <jgraham> gsnedders: Get back to work! [08:17:01.0000] <gsnedders> jgraham: Yeah, true, I have an exam tomorrow. [08:18:00.0000] <gsnedders> jgraham: But I had to go and get a copy of Still Alive [08:18:01.0000] <Philip`> Tomorrow morning, or do you still have plenty of time? [08:18:02.0000] <gsnedders> Philip`: 9:30 tomorrow morning [08:19:00.0000] <Philip`> Ah, not so much then [08:26:00.0000] <gsnedders> Philip`: Also: Portal has *plenty* to do with cake. GLaDOS keeps promising me some. :'( [08:28:00.0000] <Philip`> But Portal 2 doesn't, because Valve are better at moving on from tired memes than the rest of the internet is :-p [08:30:00.0000] <gsnedders> Philip`: I have exams. I am avoiding playing Portal 2 until at least tomorrow afternoon. :P [08:31:00.0000] <Philip`> Pfft, you could start it now and finish it before going to bed [08:31:01.0000] <gsnedders> Philip`: I HAVE AN EXAM AT 9:30 TOMORROW MORNING. GO AWAY. [08:33:00.0000] <Philip`> (Might not have enough time for the co-op, though) [08:34:00.0000] <jgraham> gsnedders: YOU HAVE AN EXAM AT 9:30 TOMORROW MORNING. GO AWAY. [09:41:00.0000] <erlehmann> interesting idea: don't load full image information when scaling the image down. implementors, does something like this already exist? <http://freigeist.org/2011/04/28/interlaced-images-for-dynamic-image-sizes> [09:46:00.0000] <Philip`> erlehmann: That seems non-ideal for quality, since it's effectively nearest-neighbour filtering [09:49:00.0000] <erlehmann> Philip`, it is more about bandwith anyway, i did not write that article. i suggest you comment there, if you think the idea is bogus – otherwise the poor soul might just implement it. ;) [09:49:01.0000] <bfrohs> On that note, what about sending a width and/or height header when fetching an image? [09:49:02.0000] <TabAtkins> Philip`: That's not necessarily true. You can use better interpolation methods than NN. [09:50:00.0000] <erlehmann> bfrohs, requires massive infrastructure change. range requests exist. [09:52:00.0000] <Philip`> TabAtkins: Not when using interlaced formats, since the point of interlacing is you receive one source pixel per NxN block, I think [09:53:00.0000] <TabAtkins> Philip`: Yes, I understand, but that's roughly identical to scaling up an image. We can and do perform more attractive scaling than NN. [09:53:01.0000] <Philip`> (Presumably progressive JPEG is different though, and not interlacing in image space) [09:53:02.0000] <TabAtkins> Oh, hm, wait, you're right. [09:53:03.0000] <TabAtkins> Never mind. [09:54:00.0000] <Philip`> I mean that if the browser has a whole 2x2 block it can use nice filtering to scale it to 1 pixel on the display, but the interlaced format only gives you one pixel so you have no choice [09:54:01.0000] <TabAtkins> I wasn't thinking correctly - when the iamge is smaller than normal and you just use enough of the interlaced data to fill the pixels you need, yeah, that's NN-based scale-down. [09:55:00.0000] <TabAtkins> I was caught on the idea that you can display a full-size image progressively with more attractive scaling than NN. [09:55:01.0000] <TabAtkins> Which is effectively a scale-up. [10:30:00.0000] <zewt> it's effectively nearest-neighbor with PNG, but it's more useful with JPEG, where reading fewer scans effectively just lowers the JPEG compression quality [10:49:00.0000] <Workshiva> So who enjoys reading the es5 spec? [10:50:00.0000] <bfrohs> No one? [10:50:01.0000] <Workshiva> I'm sure there's someone [10:50:02.0000] <jgraham> "enjoy"? [10:51:00.0000] <jgraham> Not really [10:51:01.0000] <jgraham> But what is the question? [10:51:02.0000] <Workshiva> I'm looking into the interaction between global namespace pollution from element ids and global variables [10:51:03.0000] <Workshiva> From my reading it looks like <div id=a></div><script>var a;</script> will leave a pointing to the div [10:52:00.0000] <jgraham> I have a feeling this is a aknown bug [10:52:01.0000] <jgraham> in HTML5 [10:53:00.0000] <Workshiva> Could be. Is there a known bug report too? [10:54:00.0000] <jgraham> Ah I am thinking of what bz said "The id lookup happens after all other property resolution in browsers (but NOT in the current spec text, note), so if you had <div id="location"> and accessed window.location you would get a Location object, not the <div>." [10:54:01.0000] <Workshiva> That's different [10:54:02.0000] <jgraham> Dunno if there is a bug [10:54:03.0000] <Workshiva> (Your case is global property first, then element appears. My case is element appears, then global property appears.) [10:54:04.0000] <jgraham> Because the order is different? [10:55:00.0000] <jgraham> Yeah [10:55:01.0000] <Workshiva> bz's case should actually work as expected I think [10:56:00.0000] <Workshiva> (Becauase HasProperty will be true when the named property for the element is attempted created) [10:58:00.0000] <jgraham> Yes WebIDL seems to have fixed up that case [11:04:00.0000] <Workshiva> I'm not sure how to fix the other case short of a willful violation [11:07:00.0000] <jgraham> Workshiva: How do you figure it's not supposed to work? [11:08:00.0000] <jgraham> Because the getter is [[Configurable]] false? [11:09:00.0000] <Workshiva> Variable declarations are parsed in es5 10.5. Step 8 says not to set the variable to undefined if it already exists. [11:11:00.0000] <jgraham> Does an accessor property count as a binding? It isn't really clear to me how ES5 interacts with WebIDL here [11:11:01.0000] <jgraham> I sort of think this can't happen in ES5 [11:11:02.0000] <Workshiva> WebIDL defines the accessor using [[DefineOwnProperty]] on the global object [11:12:00.0000] <Workshiva> And the global environment uses a object environment record based on the global object [11:14:00.0000] <jgraham> Is the text in [[DefineOwnProperty]] "Create an own accessor property named P of object O whose..." equivalent to creating a mutable binding? [11:15:00.0000] <Workshiva> Yes, CreateMutableBinding actually delegates to DefineOwnProperty [11:15:01.0000] <Workshiva> (10.2.1.2.2) [11:15:02.0000] <jgraham> Yes I just found that [11:15:03.0000] <jgraham> I was reading the wrong CreateMutableBinding [11:17:00.0000] <jgraham> OK, I agree this case doesn't work [11:18:00.0000] <jgraham> (I assume it *does* work in browsers?) [11:19:00.0000] <Workshiva> It fails in webkit, apparently [11:19:01.0000] <Workshiva> http://code.google.com/p/chromium/issues/detail?id=80591 [11:21:00.0000] <jgraham> Nice [11:21:01.0000] <mven> hixie you here ? [11:24:00.0000] <Hixie> mven: am now, what's up? [11:24:01.0000] <mven> hey was browsing the html5 spec [11:24:02.0000] <mven> particularly http://www.whatwg.org/specs/web-apps/current-work/#a-quick-introduction-to-html [11:24:03.0000] <mven> the part where it says n the following fragment, however, the attribute's value is actually "?art?", not the intended "?art© [11:25:00.0000] <mven> i think its missing the semicolon [11:25:01.0000] <mven> or i could be reading it wrong [11:25:02.0000] <mven> heh [11:27:00.0000] <Workshiva> Hixie: By the way, should I make a separate report for the outdated WebIDL terminology? [11:28:00.0000] <bfrohs> mven: That is referring to the example provided below that sentence where, in fact, © is provided *without* a semicolon. [11:29:00.0000] <bfrohs> mven: It's basically explaining why it's important to use & instead of just & [11:30:00.0000] <Workshiva> /me cries at non-multipage spec links [11:31:00.0000] <Hixie> mven: looking... [11:31:01.0000] <mven> ah so '©' is renders the same as '©' [11:31:02.0000] <bfrohs> http://www.whatwg.org/specs/web-apps/current-work/multipage/introduction.html#syntax-errors [11:32:00.0000] <Hixie> Workshiva: just add multipage/ to the URL [11:32:01.0000] <Hixie> Workshiva: or use a better browser [11:32:02.0000] <bfrohs> Under 'Errors involving fragile syntax contructs' [11:33:00.0000] <Hixie> mven: the fact that the semicolon is missing is the point :-) [11:33:01.0000] <Hixie> mven: i'll see if i can clarify this [11:33:02.0000] <mven> ah k. yea, I was a bit confused but it could've been just me. but thanks for clarifying. [11:38:00.0000] <Hixie> mven: reload, tell me if it's more clear now [11:38:01.0000] <mven> loading [11:39:00.0000] <mven> Yep. Much more explicit. Thanks! [11:42:00.0000] <Hixie> np [11:43:00.0000] <Workshiva> Want to fix "indexed for property retrieval" while you're at it? :) [11:47:00.0000] <Hixie> Workshiva: file a bug, i was only able to fix the other one because i was briefly in a state where i didn't have a major change ongoing :-) [11:47:01.0000] <Hixie> i thought i'd fixed all the "indexed for property retrieval" things to use the latest terminology, though [11:47:02.0000] <Hixie> did i miss one? [11:48:00.0000] <Workshiva> Oh, maybe I'm just reading the wrong terminology then [11:49:00.0000] <Hixie> i might well have missed one [11:50:00.0000] <Workshiva> Oh, I see. The indexing fragment refers to a different thing. [11:50:01.0000] <Workshiva> What I should have said is that "return the value obtained using the following steps" doesn't specify that it refers to "determine the value of a named property" [11:51:00.0000] <Workshiva> But that's minor [11:51:01.0000] <Hixie> file a bug :-) [11:51:02.0000] <Hixie> there's a litle widget in the spec to make it easy :-) [11:51:03.0000] <Hixie> easier even than irc :-P [11:52:00.0000] <Workshiva> Man, I have a bugzilla account, I feel like I'm doing it wrong when I use the widget :P [11:52:01.0000] <Hixie> i just got a question from a guy writing an html5 book asking me if html's syntax was strict like xml or loose like older versions of html [11:52:02.0000] <Hixie> /me has a little concern for the quality of said book [11:53:00.0000] <bfrohs> /me isn't surprised... sadly [11:53:01.0000] <gsnedders> Hixie: Just "a little"? [11:53:02.0000] <Workshiva> I'm still working on teaching all my team members that <html> is an optional tag [11:56:00.0000] <Philip`> That sounds like a waste of effort [11:57:00.0000] <Philip`> since usually you'll want to add a lang and can't make use of the optionality [11:58:00.0000] <Philip`> Better to just teach them that </head> is optional, because that's a rule you can always apply, and it's much more fun because it'll randomly break certain pages in old browsers [11:59:00.0000] <AryehGregor> Even if you add <body>? [11:59:01.0000] <Philip`> Hmm, probably not in that case [11:59:02.0000] <Hixie> </head> being optional is a pain when the first thing in the <body> is something that goes in <head> too (e.g. <script>) [11:59:03.0000] <Philip`> but only crazy people add <body> [11:59:04.0000] <Hixie> that's why the live dom viewer starts with "..." in the body :-) [12:00:00.0000] <AryehGregor> Philip`, MediaWiki adds about four million classes to <body>. [12:00:01.0000] <AryehGregor> Why it doesn't add them to <html>, I don't know. [12:00:02.0000] <AryehGregor> Probably too late to change. [12:01:00.0000] <AryehGregor> Will old browsers not auto-open <body> on hitting a <div> or something? [12:02:00.0000] <Philip`> They won't on hitting a <header>, I think [12:03:00.0000] <AryehGregor> Yeah, that's an issue. [12:03:01.0000] <AryehGregor> Where "old" means "IE8". [12:03:02.0000] <AryehGregor> Or maybe only IE7? [12:05:00.0000] <Workshiva> I'm too busy supporting IE5 to care [12:06:00.0000] <Workshiva> Hixie: The issue with fixing it in WebIDL isn't that heycam won't cooperate, it's that I don't see how WebIDL _can_ fix it [12:06:01.0000] <mpilgrim> you could always insert a div id=body to trigger the implicit body rule [12:07:00.0000] <hober> AryehGregor: <head class> was invalid in HTML4, so people used to use <body class> instead [12:07:01.0000] <AryehGregor> hober, you mean <html class> was invalid? [12:07:02.0000] <hober> sorry, yes [12:07:03.0000] <AryehGregor> That would explain it. [12:07:04.0000] <hober> <html> only took dir="" and lang="" [12:08:00.0000] <mpilgrim> don't forget xml:lang! [12:08:01.0000] <Ms2ger> Like style@class [12:26:00.0000] <Hixie> Workshiva: if a browser can implement it, it can be specced [12:28:00.0000] <Workshiva> Yeah, but I think it should be in HTML, not WebIDL [12:29:00.0000] <Hixie> why? [12:31:00.0000] <Ms2ger> Hixie, that's not a question I'd ever expected you to ask ;) [12:31:01.0000] <Workshiva> Because it's a caused by window == global object, which is also in HTML [12:31:02.0000] <Hixie> so it wouldn't happen on HTMLFormElement? [12:32:00.0000] <Hixie> if you made an HTMLFormElement be the ThisBinding of a function that had a 'var', you'd want different behaviour than if you did it for Window? [12:33:00.0000] <Workshiva> It's specific to object environment records, so it would have to be with (formel) {} [12:33:01.0000] <Workshiva> And when you're doing with (anything) you get that behavior [12:35:00.0000] <Hixie> i have no idea what what you just said means :-) [12:35:01.0000] <Workshiva> To put it another way, when using with people expect exactly that behavior [12:35:02.0000] <Workshiva> It's a problem with element id lookups because those pollute the global object from the outside [12:36:00.0000] <Hixie> oh, |with| [12:36:01.0000] <Hixie> sorry i didn't realise that was a keyword there [12:36:02.0000] <Workshiva> Ah. Yes. [12:36:03.0000] <Hixie> that made your sentences very hard to parse :-) [12:36:04.0000] <Workshiva> ... I can see that now. [12:36:05.0000] <Hixie> it doesn't have to be with |with| [12:36:06.0000] <Hixie> consider .apply() [12:37:00.0000] <Hixie> or even form.foo = function () { var x; ...; return x; }; form.foo(); [12:37:01.0000] <Hixie> no? [12:37:02.0000] <Workshiva> Functions use declarative environment records, not object environment records [12:39:00.0000] <Workshiva> If you have an object with a propery x, doing object.method(); requires you to do this.x, just x won't work so it can't collide with var x. [12:39:01.0000] <Hixie> ah [12:39:02.0000] <Hixie> well i don't really see what you want HTML to say [12:40:00.0000] <Hixie> it's the WebIDL algorithms that make this all happen, no? [12:41:00.0000] <Workshiva> jgraham summarized the wanted behavior neatly as "id lookup should happen after all other property resolution" [12:41:01.0000] <Workshiva> WebIDL tries to integrate it with the normal variable environment, but this doesn't work because that has no concept of two levels, so the necessary shadowing can't happen [12:42:00.0000] <Workshiva> I guess you could say the global environment actually has an outer environment which is the evil global namespace polluting element access environment [12:43:00.0000] <Workshiva> So to make this work, it would be necessary to define a deviation from es5 on that or a similar level [12:44:00.0000] <Workshiva> It's not specific to named property access, it just happens to manifest there [12:44:01.0000] <Hixie> it has to happen like webidl says it to some extent so that |'foo' in window| works, no? [12:45:00.0000] <Workshiva> Yeah [12:45:01.0000] <Hixie> i mean, it has to actually have a property [12:45:02.0000] <Hixie> i think the solution is just to have 'var' override the property in this case [12:45:03.0000] <Hixie> so whatever check 'var' does should not return true or whatever when it's being done for 'var' for these properties [12:46:00.0000] <Workshiva> That sounds like it would solve the problem, but there's no existing mechanism that gives that behavior [12:47:00.0000] <Workshiva> And we don't want this to happen when an object is used with |with|, so it can't be a general mechanism [12:51:00.0000] <Hixie> Workshiva: my suggestion would be for a mechanism like this to be added to WebIDL, keyed on some attribute i can put on Window, then [12:51:01.0000] <Hixie> or somethig like that [12:51:02.0000] <Hixie> unless you're saying Window shouldn't act like this ever for 'var' [12:52:00.0000] <Hixie> what browsers do what you want, again? is it just IE? or IE and Firefox? [12:53:00.0000] <Workshiva> IE, Firefox and Opera do it my way. [12:54:00.0000] <Workshiva> Safari and Chrome do it the other way. [12:55:00.0000] <Hixie> yeah so clearly we just need to make the spec match everyone but WebKit [12:56:00.0000] <Hixie> so post to public-webapps that we need to do this, get heycam to say how he thinks we should fix it, and then we'll fix it [12:58:00.0000] <otherarun> On another note, DOMException has lots of error codes on it, and some things should just be NOT_ALLOWED. I'm wondering whether we should have a separate exception called NotAllowedException and just throw that. [12:59:00.0000] <otherarun> In particular, for multiple reads (reader.readAsxxx) on the same Blob by the same FileReader [13:00:00.0000] <Hixie> i just use INVALID_STATE_ERR or similar in those cases [13:08:00.0000] <otherarun> Hixie, do you disagree with a separate exception? Would you prefer to reuse? [13:09:00.0000] <Hixie> personally i'm a fan of all of our APIs using only DOMException [13:31:00.0000] <Hixie> anyone know if anything is going on with the tab visibility api? [14:03:00.0000] <jamesr> Hixie: yeah [14:03:01.0000] <jamesr> Hixie: the web perf WG added it to its charter and has a draft up [14:03:02.0000] <jamesr> http://www.w3.org/2011/04/webperf.html [14:03:03.0000] <jamesr> Hixie: i was gonna reply to the thread [14:07:00.0000] <jgraham> jamesr: No, the right response was "Tab has his own API now?" [14:16:00.0000] <jwalden> AryehGregor: if you want to have cross-window-safe-instanceof, you could take your exception, walk the prototype chain to Object.prototype with Object.getPrototypeOf, grab a function off that, get the Function constructor from that, evaluate (Function("return this")()), then extract the relevant interface constructor from that [14:16:01.0000] <AryehGregor> . . . wow. [14:16:02.0000] <jwalden> AryehGregor: although that's going to fail in Firefox right now, I think, for the cross-window case, in some cases [14:16:03.0000] <AryehGregor> Um, good to know? [14:16:04.0000] <jwalden> bug 631135 [14:16:05.0000] <AryehGregor> jgraham, ^^ [14:20:00.0000] <jwalden> this makes a fair handful of assumptions and/or requirements on what tests must not do [14:21:00.0000] <jwalden> but no test should be mutating a prototype chain with __proto__ = ..., tests shouldn't be deleting Function.prototype.constructor (or such tests could probably be made to not use this method), and tests probably generally wouldn't delete a DOM constructor from the global object and then need to test with it [14:21:01.0000] <jwalden> or something [14:46:00.0000] <zcorpan> Philip`, Hixie: including </head> does not help with the <script> case if you omit <body> anyway [14:51:00.0000] <jgraham> jwalden: Evil! I like it ;) [14:51:01.0000] <jwalden> :-) [14:52:00.0000] <jwalden> arguably it would have been better to have windows be entirely separate creatures, maybe with message passing as the only interface between them [14:52:01.0000] <jwalden> then instanceof wouldn't be half-broken for this case [14:53:00.0000] <jwalden> sixteen years too late [14:53:01.0000] <Hixie> jamesr: k cool [14:54:00.0000] <jamesr> Hixie: i'm pretty confident that the web perf wg will end up with something fairly dumb [14:54:01.0000] <zcorpan> jwalden: sounds like an acid test in itself [14:55:00.0000] <jwalden> zcorpan: dunno, I'm pretty sure all of those bits (except Object.getPrototypeOf, or a __proto__-based backwards-compatibility hackaround, so I guess the trick excludes <IEmumble) should be reliable [14:56:00.0000] <Hixie> jamesr: hopefully if it's dumb it won't be implemented [14:56:01.0000] <jwalden> "good will triumph because dumb is dumb" [14:57:00.0000] <AryehGregor> Hixie, that's only a possibility if the people coming up with it aren't implementers. Is that the case? [14:57:01.0000] <AryehGregor> Seems unlikely. [14:58:00.0000] <jamesr> well i can't tell what the IE implementors in the group think [14:58:01.0000] <jamesr> or how likely they are to implement dumb things [14:58:02.0000] <AryehGregor> IE team members are ever inscrutable. [15:31:00.0000] <jamesr> given w3 spec stored in hg and i have a link to the latest ED with 'tip' in the URL, how do i get a permalink to this draft? [15:36:00.0000] <AryehGregor> jamesr, use hgweb to find the current revision id and substitute that for "tip". [15:36:01.0000] <AryehGregor> jamesr, what's the specific example? [15:37:00.0000] <jamesr> http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html [15:38:00.0000] <jamesr> mkay, it's http://dvcs.w3.org/hg/webperf/rev/62eb533e186b so i want http://dvcs.w3.org/hg/webperf/raw-file/62eb533e186b/specs/PageVisibility/Overview.html [15:38:01.0000] <jamesr> thanks! [15:38:02.0000] <AryehGregor> At http://dvcs.w3.org/hg/webperf/, if you click at the latest rev you get http://dvcs.w3.org/hg/webperf/rev/b51b296242fc. [15:39:00.0000] <AryehGregor> 62eb533e186b is old, but maybe it's the last commit that touched your file or something. [15:39:01.0000] <AryehGregor> Doesn't seem so. [15:39:02.0000] <AryehGregor> You probably want b51b296242fc. [15:39:03.0000] <jamesr> yeah later commits were to other files [15:39:04.0000] <jamesr> ah yeah [15:40:00.0000] <jamesr> actually c46bff617f9e [15:40:01.0000] <AryehGregor> (prefixes of revision id's work too, even as short as "b5" in this case, as long as they're unique) [15:40:02.0000] <jamesr> b51b was to a different spec [15:40:03.0000] <AryehGregor> Doesn't matter, it's the same repo, so it will still work. [15:40:04.0000] <AryehGregor> The latest in the repo is fine for your purposes. [15:47:00.0000] <AryehGregor> Stuff like Array.prototype.every.call(foo, ...) is a pain in the neck. Why can't array-like objects just inherit these methods somehow, the way you'd do it in standard OO? [15:51:00.0000] <AryehGregor> . . . have I mentioned before that IE9 has the best URL bar of any current browser? [15:51:01.0000] <Lachy> AryehGregor, what's so good about it? [16:01:00.0000] <AryehGregor> Lachy, it provides high-quality suggestions from your history, unlike Chrome; but seems to respond more quickly than Firefox's awesome bar; Shift-Enter lets you go to the first result, instead of Googling it; it has good UI for enabling search suggestions (clearly visible option on every search, one click to enable, but with a pretty clear indication of the privacy implications). [16:01:01.0000] <jamesr> what's best practice for the type attribute on script? [16:01:02.0000] <jamesr> are you supposed to set it? if so, to what? [16:01:03.0000] <wilhelm_> Hixie: Will the spec land on blacklists or whitelists for register*Handler()? (c: [16:01:04.0000] <Hixie> wilhelm_: dunno, haven't gotten to that thread yet [16:02:00.0000] <AryehGregor> jamesr, just omit it, assuming the script is JS. [16:02:01.0000] <AryehGregor> It's pointless. [16:03:00.0000] <Hixie> wilhelm_: for protocols it seems like a(n open-ended with a known ok prefix) whitelist is the obvious way to go [16:03:01.0000] <jamesr> also should example snippets in specs have a <!DOCTYPE html> declaration? [16:03:02.0000] <AryehGregor> Lachy, for instance, one of the most common pages I've been visiting in all four browsers I'm using is <http://aryeh.name/spec/editcommands/autoimplementation.html>. When I type "auto" in the search bar, Chrome and Opera don't suggest it; Firefox 4.0 and IE9 do. [16:03:03.0000] <Hixie> wilhelm_: for content types, i have no idea what to do [16:04:00.0000] <AryehGregor> jamesr, if it's meant to be a complete document, yes, otherwise no. [16:04:01.0000] <AryehGregor> Lachy, Firefox is second-best IMO, but IE's is a bit more polished. [16:04:02.0000] <Hixie> chrome's guessing of urls seems poor to me too [16:04:03.0000] <Hixie> it takes forever for it to learn urls that i use a lot [16:05:00.0000] <AryehGregor> Chrome seems very biased toward showing search results, which are usually much less useful than history pages, and it only seems to look at small parts of history pages. [16:05:01.0000] <AryehGregor> Like the domain name. [16:05:02.0000] <AryehGregor> Firefox and IE seem to look at the title, at the least. [16:05:03.0000] <wilhelm_> Hixie: Alright. Then we'll do a whitelist for protocols without a yet to be defined prefix. (We're implementing this this week.) [16:05:04.0000] <AryehGregor> And possibly parts of the path. [16:06:00.0000] <AryehGregor> Oh, Chrome looks at parts of the path, at leas.t [16:06:01.0000] <AryehGregor> least. [16:07:00.0000] <AryehGregor> "editco" gets me the auto-running execCommand() page in Firefox and IE as the first result, nothing at all in Opera, and in Chrome it takes several seconds to display the editcommands/ pages and they're at the bottom, while useless Google searches are at the top. [16:08:00.0000] <AryehGregor> Maybe better to say IE's is about as good as Firefox's, but with slightly more polish. [16:08:01.0000] <wilhelm_> Hixie: For content types, our current implementation allows any MIME-type to be overriden except those the browser handles natively. Feeds are currently the only exception to this. [16:08:02.0000] <wilhelm_> It's not a definite list of content types – it's dynamically determined based on which content types the browser knows about. [16:10:00.0000] <zcorpan> what about types that plugins know about? [16:11:00.0000] <wilhelm_> That's the next thing we need to look at. I don't know. |c: [16:11:01.0000] <Hixie> wilhelm_: i think there was a prefix proposed at some point [16:11:02.0000] <zcorpan> knee-jerk reaction is to disallow them as well [16:11:03.0000] <Hixie> wilhelm_: web+ or something [16:12:00.0000] <wilhelm_> Hixie: Yes, you mentioned that in your email. web+ plus only alphanumeric characters is a lot less scary. (c: [16:12:01.0000] <Hixie> wilhelm_: yeah for content types i dunno what the right thing is but blacklisting most of the ua's known types, allowing only some like feeds and pdfs, seems reasonable [16:12:02.0000] <zcorpan> perhaps even block well-known plugin types even if the user doesn't have that plugin [16:12:03.0000] <Hixie> wilhelm_: seems good to me. if it's in the thread then that's what i'll probably do [16:13:00.0000] <Hixie> wilhelm_: if you come up with a good whitelist or blacklist for either of these let me know and i'll put it in the spec [16:13:01.0000] <wilhelm_> OK. Then our implementation will match that. [16:13:02.0000] <wilhelm_> Hixie: Sure. I have a list. Most of it has been mentioned publicly already. [16:15:00.0000] <Hixie> cool [16:15:01.0000] <wilhelm_> Writing a test suite for this sucks, though. Opera knows about different content types depending on its feature set. |c: [16:15:02.0000] <zcorpan> list the list on the list! [16:15:03.0000] <wilhelm_> Will do. (c: [16:21:00.0000] <zcorpan> nn 2011-04-29 [17:01:00.0000] <AryehGregor> Why is <form action=""> invalid? [17:04:00.0000] <othermaciej> jamesr: only if they are a complete document [17:04:01.0000] <othermaciej> (I<O) [17:04:02.0000] <othermaciej> er, IMO [17:19:00.0000] <Philip`> AryehGregor: Probably because it doesn't do what you should expect it to do [17:19:01.0000] <AryehGregor> Philip`, because it ignores <base>, or something else? [17:19:02.0000] <AryehGregor> It's equivalent to just <form>, right? [17:19:03.0000] <Philip`> (It's the document's address, not the document's current address) [17:19:04.0000] <Philip`> (so it's not the same as resolving the relative URL "") [17:20:00.0000] <Philip`> Yeah, <form> seems to be the same [18:59:00.0000] <Hixie> TabAtkins: yt? [19:01:00.0000] <TabAtkins> Hixie: Yup [19:01:01.0000] <Hixie> cool [19:01:02.0000] <Hixie> so about the CSS Element Reference Identifiers thing [19:01:03.0000] <Hixie> i'm fine the way it is [19:02:00.0000] <Hixie> just wanted to exlpain where i was coming from on the first thing [19:02:01.0000] <TabAtkins> That's cool. [19:02:02.0000] <Hixie> which is: [19:02:03.0000] <Hixie> isn't it any element that is a replaced element that you can use here? [19:02:04.0000] <Hixie> or something like that? [19:03:00.0000] <TabAtkins> Maybe? My brain tells me there was some reason why replaced elements in general weren't a good thing to use, but I don't remember what the reasoning was. [19:04:00.0000] <TabAtkins> I think maybe it's that something like a detached iframe isn't rendered, but using it in element() would require it to be? [19:05:00.0000] <Hixie> i dunno [19:05:01.0000] <Hixie> from the html side i don't see anything special about these elements [19:05:02.0000] <Hixie> it seems the specialness is a rendering-side thing [19:05:03.0000] <Hixie> so i figured there might be some more generic thing on the rendering side that you could use [19:05:04.0000] <Hixie> if there isn't, then that's fine :-) [19:05:05.0000] <TabAtkins> Yeah. I know that the criteria I used was "all the relevant display information is available without doing a layout". [19:06:00.0000] <TabAtkins> I just don't remember precisely why I chose that criteria. [19:07:00.0000] <TabAtkins> I should ask for impl feedback on the list, to see if it's a reasonable sort of thing. [19:08:00.0000] <Hixie> let me know if it should change again, obviously [19:08:01.0000] <Hixie> i'm fine with it the way it is [19:08:02.0000] <TabAtkins> kk [19:08:03.0000] <Hixie> just thought i'd mention this [19:27:00.0000] <othermaciej> TabAtkins: what are the elements where all relevant display information is available without doing a layout? [19:27:01.0000] <TabAtkins> img, video, and canvas [19:27:02.0000] <othermaciej> so when you say "layout" are you excluding style resolution? [19:27:03.0000] <othermaciej> (since that is necessary to determine their size and aspect ratio) [19:27:04.0000] <TabAtkins> They all have intrinsic sizes which are used when detached. [19:28:00.0000] <othermaciej> img may not have an intrinsic size if it points to SVG [19:28:01.0000] <othermaciej> or other scalable formats [19:29:00.0000] <TabAtkins> That's handled by the spec. Replaced elements have a default sizing area of 300x150. [19:29:01.0000] <othermaciej> svg also requires a layout of the "inside" part to the same extent as iframe [19:29:02.0000] <TabAtkins> That's true. [19:30:00.0000] <TabAtkins> So then perhaps <iframe>s are indeed okay. [19:31:00.0000] <othermaciej> (I don't have enough of the context to understand why restrictions are useful) [19:31:01.0000] <TabAtkins> Yeah, that's why i specifically pinged some of the FF people in the www-style thread, since they've already implemented it. [19:32:00.0000] <TabAtkins> (I'm out for the day now.) [19:32:01.0000] <othermaciej> later! [00:00:00.0000] <hsivonen_> Wow. the edits I made to the HTML5 video article on Wikipedia yesterday haven't been reverted by the usual suspect! [00:01:00.0000] <tw2113> take away their bacon [00:15:00.0000] <othermaciej> now I am intrigued [00:16:00.0000] <othermaciej> hsivonen: I see recent edits from you, but nothing reverting them, in the history [00:16:01.0000] <othermaciej> am I missing something? [00:16:02.0000] <othermaciej> oh [00:16:03.0000] <othermaciej> you said "haven't" [00:17:00.0000] <othermaciej> but now I wonder who the usual suspect is and what they have reverted in the past [00:20:00.0000] <hsivonen> othermaciej: the reverter had wanted to say that Theora support in Safari is "No" even though there are other cases in the table where installing codecs into a system media framework gets the "Depends" color [00:20:01.0000] <othermaciej> it looks like the table is still inconsistent [00:21:00.0000] <hsivonen> othermaciej: H.264 for Konqueror and Epiphany or something else? [00:21:01.0000] <othermaciej> for example it says "No" for H.264 in Knoqueror but "Depends" for Epiphany, even though both can use GStreamer [00:21:02.0000] <tw2113> i stand by my bacon comment [00:21:03.0000] <othermaciej> unless I misunderstand the situation [00:21:04.0000] <hsivonen> othermaciej: yeah, that looks bogus, but I didn't fix it because I didn't have time to verify yesterday [00:21:05.0000] <othermaciej> also there is a WebM QuickTime component, it appears [00:21:06.0000] <othermaciej> so unless for some reason that does't work in Safari, it should be a "Depends" [00:22:00.0000] <hsivonen> othermaciej: does the WebM component work in Safari now? last I tried, the December release didn't work in Safari. It just managed to confuse canPlayType [00:22:01.0000] <othermaciej> what would probably make the most sense is a column indicating whether that particular browser supports format pluggability [00:23:00.0000] <hsivonen> IIRC, they even said the December release was encode-only and didn't support decode properly yet [00:23:01.0000] <othermaciej> I'm also not clear on the distinction between "Manual Install" and "Depends" [00:23:02.0000] <othermaciej> ok, it might be that whatever is out does not work yet [00:24:00.0000] <othermaciej> I also recall that Opera uses GStreamer on at least some platforms, so is presumably format-extensible on those [00:24:01.0000] <hsivonen> othermaciej: I think "supports installable codecs and has codec Foo available" is much more informative that "support installable codecs" [00:24:02.0000] <hsivonen> othermaciej: the edit history of the page claims that Opera removed that pluggability [00:24:03.0000] <hsivonen> othermaciej: I have no idea if they really did. I suppose foolip would know. [00:24:04.0000] <othermaciej> it certainly is, though it's hard to parse what "Depends" means [00:25:00.0000] <othermaciej> I wonder also why Internet Explorer says "No" for "Others" [00:25:01.0000] <hsivonen> I think the "Others" column is entirely useless [00:25:02.0000] <hsivonen> othermaciej: the reference points to Dean's blog post [00:26:00.0000] <hsivonen> which, IIRC, said they'll allow WebM if installed but not arbitrary stuff [00:26:01.0000] <othermaciej> I was going to ask if that is actually true (would be extremely weird to support Media Foundation plugins but only whitelisted to one type!) but then I realized that is irrelevant for Wikipedia purposes [00:27:00.0000] <hsivonen> hmm. actually the reference is to a different blog post [00:27:01.0000] <hsivonen> othermaciej: I don't know if it is actually true [00:27:02.0000] <othermaciej> in the cited blog post it does say "In its HTML5 support, IE9 will support playback of H.264 video only." [00:27:03.0000] <hsivonen> but yeah, wikitruth is rather frustrating [00:28:00.0000] <othermaciej> but clearly WebM is a counter-example [00:31:00.0000] <hsivonen> othermaciej: IIRC, there's another blog post by Dean that seems to suggest they'd allow WebM pluggability but not Theora pluggability [00:32:00.0000] <hsivonen> othermaciej: I don't have a link at hand and I don't know what they shipped [00:32:01.0000] <othermaciej> this post: http://blogs.msdn.com/b/ie/archive/2010/05/19/another-follow-up-on-html5-video-in-ie9.aspx [00:32:02.0000] <hsivonen> maybe someone should make a Media Foundation component for Ogg/Theora [00:32:03.0000] <othermaciej> claims that VP8 will be supported if a codec is installed [00:32:04.0000] <othermaciej> but it doesn't really make clear if that's exclusive [00:34:00.0000] <hsivonen> othermaciej: fwiw, from quick testing, it seems at least plausible that Konqueror is so broken that codec pluggability is semi-random [00:35:00.0000] <othermaciej> heh [00:35:01.0000] <hsivonen> othermaciej: so it's not a given that the Konq/Epiphany discrepancy is wrong [00:36:00.0000] <hsivonen> anyway, even if I found a way to make Konq actually play H.264, it would be Original Research, which would be inadmissible [00:36:01.0000] <othermaciej> that is true [00:36:02.0000] <othermaciej> you'd need to convince someone to blog about it before it would be admissible [00:39:00.0000] <hsivonen> in general, video support in Konqueror is very, very broken [00:52:00.0000] <hsivonen> hah. Wikipedia has an annotation for [non-primary source needed] [00:52:01.0000] <hsivonen> they count W3C Bugzilla as a primary source about HTML5 bugginess [00:53:00.0000] <othermaciej> so wait, a w3c bug would be original research, but a blog post about it wouldn't be? [00:53:01.0000] <othermaciej> or are blogs excluded for some other reason? [00:54:00.0000] <hsivonen> othermaciej: not original research but a primary source :-) [00:54:01.0000] <hsivonen> the Wikipedia approach to sources is just weird, though [00:55:00.0000] <othermaciej> are primary sources bad? [00:55:01.0000] <hsivonen> othermaciej: http://en.wikipedia.org/wiki/Wikipedia:No_original_research#Primary.2C_secondary_and_tertiary_sources [00:55:02.0000] <othermaciej> "primary sources are permitted if used carefully" [00:56:00.0000] <othermaciej> I hate rules that say "be careful" [00:56:01.0000] <othermaciej> that's not a useful guideline, it just makes you feel bad if you make a mistake [00:56:02.0000] <Hixie> sicking: your second e-mail is very confusing, i think due to your use of the word 'focus' for several distinct yet concepts, and possibly due to a misunderstanding about what the APIs do [00:56:03.0000] <Hixie> sicking: but i'm not sure what you meant so it's hard to say [00:57:00.0000] <sicking> Hixie: i could be talking out of my ass for sure [00:58:00.0000] <Hixie> so i think there are two main problems that they are trying to solve here [00:58:01.0000] <Hixie> or two main problem areas, more than two actual distinct problems [00:59:00.0000] <Hixie> the first area is about focus. the need is to be able to draw a focus ring in whatever fashion the OS wants, or let the author do it as he wishes, if he wishes to do it in a fancy way and the user doesn't have special focus ring needs [00:59:01.0000] <Hixie> the api is designed to basically have drawFocusRing() work like stroke(), but it only does anything if the given element is focused [00:59:02.0000] <sicking> Hixie: also, it draws with a OS-specific style, right? [00:59:03.0000] <Hixie> which means you can do if (c.drawFocusRing(element, true)) { c.stroke() } [01:00:00.0000] <sicking> hmm.. second argument in spec isn't a bool [01:00:01.0000] <Hixie> spec is out of date [01:00:02.0000] <Hixie> which would draw nothing if element wasn't focused, and otherwise would draw either an OS ring if the user needs a special style, or the author's strokeStyle otherwise [01:01:00.0000] <Hixie> let me regen with the suggested edits, hold no [01:01:01.0000] <Hixie> on [01:01:02.0000] <Hixie> now the second thing is the magnification accessibility ui [01:01:03.0000] <Hixie> this has to follow focus, for widgets like checkboxes, and for widgets with a selection or a caret, follow the selection or caret [01:02:00.0000] <sicking> Hixie: err.. if you don't give it any coordinates, where does it draw? [01:02:01.0000] <Hixie> current path [01:02:02.0000] <sicking> ah [01:02:03.0000] <Hixie> so for the former case, checkboxes and buttons and so on, you want it to just automatically do it if drawFocusRing() did something (i.e. if the element is focused) [01:02:04.0000] <Hixie> in the latter case, selection/caret, you apparently need to give a rect of the selection/caret, and this is what setSelectionCaretRectWhateverItIsCalled() is for [01:03:00.0000] <Hixie> spec is regenned if you want to see the new text [01:03:01.0000] <sicking> Hixie: right, so my suggestion is that drawFocusRing should by default draw+call setSelectionCaretRect [01:04:00.0000] <sicking> Hixie: but you can opt out, or at least override that, and call setSelectionCaretRect yourself [01:04:01.0000] <sicking> Hixie: and just get the drawing part [01:04:02.0000] <Hixie> that's what the spec has now, essentially -- it moves the magnifier unless you call setSelectionCaretRect in the same task [01:05:00.0000] <Hixie> another way to put it is it waits until the event loop spins (the rendering happens) and moves the magnifier to the last place that wanted it moved [01:05:01.0000] <Hixie> the current text isn't perfectly clear on this, i wasn't able to come up with a good way to say that yet [01:05:02.0000] <Hixie> i'll probably tweak it later to be clearer [01:05:03.0000] <sicking> Hixie: http://dev.w3.org/html5/2dcontext/ still isn't updated [01:05:04.0000] <Hixie> yeah i'm not comitting these changes, rich would lynch me [01:05:05.0000] <Hixie> look at the whatwg copy [01:06:00.0000] <Hixie> (in general i don't ever recommend looking at the w3c copy, it has all kinds of problems of various kinds) [01:06:01.0000] <Hixie> (s/copy/copies/ being one of the problems!) [01:06:02.0000] <sicking> Hixie: so i'm still not sure what part of my email is confused [01:07:00.0000] <Hixie> it might just be me being confused [01:07:01.0000] <Hixie> your sample code didn't make sense to me [01:07:02.0000] <Hixie> closePath() doesn't do anything [01:07:03.0000] <Hixie> (other than add a line to the path) [01:07:04.0000] <sicking> Hixie: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#2dcontext ? [01:08:00.0000] <Hixie> yes [01:08:01.0000] <sicking> Hixie: still not updated, second argument is a coordinate [01:08:02.0000] <Hixie> oh, right, that's the multipage copy. that won't update til i commit either, sorry. [01:09:00.0000] <sicking> Hixie: yeah, the code is bogus, i very rarely write canvas code so i forget how it works [01:09:01.0000] <Hixie> the other thing in your mail i didn't really understand is "drive user focus" [01:09:02.0000] <Hixie> i assume you mean drive the magnification [01:09:03.0000] <sicking> Hixie: yes [01:09:04.0000] <Hixie> ok [01:09:05.0000] <Hixie> i understand what you meant now [01:10:00.0000] <Hixie> i love that anyone thinks authors are going to be enabling text selection on their canvases [01:10:01.0000] <Hixie> it's so optimistic [01:13:00.0000] <sicking> Hixie: so can you give me a very short code example? [01:13:01.0000] <Hixie> to do what? [01:13:02.0000] <sicking> Hixie: assuming you have a 2dcontext already [01:14:00.0000] <sicking> Hixie: to draw a square focus rectangle [01:14:01.0000] <sicking> Hixie: assuming I don't feel the need for overriding OS style [01:14:02.0000] <Hixie> c.beginPath(); c.rect(x,y,w,h); c.drawFocusRect(widget); [01:15:00.0000] <sicking> no closePath? [01:15:01.0000] <Hixie> (will only draw it if |widget| is actually focused) [01:15:02.0000] <Hixie> rect() autocloses the path [01:15:03.0000] <sicking> cool [01:16:00.0000] <sicking> so what were the coordinates in the old (currently committed to w3c) syntax? [01:16:01.0000] <Hixie> they were the center of the caret [01:16:02.0000] <sicking> also, should that be "Ring" rather than "Rect"? [01:16:03.0000] <Hixie> (the idea was that whenever you moved the caret, you would redraw the ring and give the new caret coords) [01:16:04.0000] <Hixie> yes [01:22:00.0000] <sicking> Hixie: is removing the coordinates something that richard has requested? Or is otherwise part of the WG decision? [01:23:00.0000] <Hixie> yeah it's the main part of his request as far as i can tell [01:23:01.0000] <Hixie> the main problem with the old style is it required using a clipping region to avoid repainting the focus ring every time the caret moves [01:23:02.0000] <Hixie> and it doesn't give a way to show selections [01:24:00.0000] <Hixie> of course imho you shouldn't be using canvas at all for carets, so it's rather moot to me, and i'd be fine simply not supporting this use case at all [01:24:01.0000] <Hixie> (focus rings around buttons, etc, is fine, obviously) [01:24:02.0000] <sicking> yeah, focus rings make a lot of sense, carets not so much [01:25:00.0000] <othermaciej> both carets and selection do have non-editing uses [01:25:01.0000] <othermaciej> whether anyone will use canvas for such, I don't know [01:25:02.0000] <othermaciej> canvas does let you draw text, and on Mac OS X, non-selectable text makes people sad, since it is very common to make even static error message text in dialogs selectable [01:26:00.0000] <Hixie> there's tons of non-selectable text on Mac OS X [01:26:01.0000] <Hixie> title bars, menus, tooltips -- and that's just what's on my screen right now :_) [01:27:00.0000] <othermaciej> yes, things that are active (i.e. draggable or clickable) are generally not selectable [01:28:00.0000] <Hixie> axis labels in grapher (a typical case of what you'd put on canvas) aren't selectable [01:29:00.0000] <Hixie> i don't really know what a good example of something you'd put in canvas as text is that is selectable in its native equivalent [01:29:01.0000] <Hixie> anyway i should sleep [01:29:02.0000] <Hixie> nn [01:29:03.0000] <othermaciej> they are in Keynote [01:30:00.0000] <othermaciej> what program makes graphs and won't let you select the label text? [01:40:00.0000] <jacobolus> people should just use prorovis :) [01:40:01.0000] <jacobolus> er, protovis [01:40:02.0000] <jacobolus> trying to make the canvas include selections seems like overengineering [01:40:03.0000] <jacobolus> there are better solutions for selectable text in the browser [02:14:00.0000] <jgraham> othermaciej: It would be nice to get a clear answer on the list about whether the poll is per organization or per individual [02:15:00.0000] <othermaciej> jgraham: chairs discussed it in email and I didn't see anything clear enough that I felt I could make an unambiguous statement [02:15:01.0000] <othermaciej> note that from a mechanical POV, the poll is configured as per individual [02:15:02.0000] <othermaciej> (it is possible to make WBS to enable per-org) [02:15:03.0000] <jgraham> Yes, I noted that already [02:16:00.0000] <jgraham> Which will make it pretty confusing later if it is announced that it is per-organisation [02:16:01.0000] <jgraham> But the discussion on the topic so far was organization-focused [02:19:00.0000] <othermaciej> well [02:19:01.0000] <othermaciej> there is going to be an AC survey after this [02:20:00.0000] <othermaciej> at that point, the W3C AC Reps can express the official POV of their respective orgs [02:20:01.0000] <othermaciej> the goal of this survey is to get a sense of the WG [02:22:00.0000] <othermaciej> I think it's likely that the chairs will interpret it as per-individual, but I would say in any case, at this stage, there's nothing wrong with responding as an individual [02:22:01.0000] <othermaciej> and just noting if you intend to express views on behalf of an organization [02:23:00.0000] <jgraham> OK [02:57:00.0000] <jgraham> TabAtkins: Where did you get """The <body> element is supposed to be the "default article" for the page""" from? [06:00:00.0000] <roc> jgraham: perhaps Steve Faulkner is only objecting to including that text *as part of the canvas-accessibility change* [06:15:00.0000] <jgraham> roc: Perhaps. But then I don't understand why he doesn't say that. And why th process pedantry is needed [06:16:00.0000] <roc> yeah I'm being optimistic [06:23:00.0000] <hsivonen> /me is reading week-old public-html email, seeing alt discussion going around in the same old circles after Decisions [06:42:00.0000] <zcorpan> is FALLBACK:\noffline.html valid? or do you need to specify a fallback namespace? [06:46:00.0000] <zcorpan> seems you need the fallback namespace [06:54:00.0000] <hsivonen> /me reaches the thread where sicking says he can patch a browser to do X and Steve argues back that no browser does X. [06:57:00.0000] <zcorpan> lol [07:05:00.0000] <hsivonen> that discussion in rather prototypical of the communcation problem between browser developers and accessibility advocates :-( [09:08:00.0000] <TabAtkins> jgraham: From the fact that the <body> has the semantics of <article>. [09:13:00.0000] <AryehGregor> I have received five identical form e-mails in the last 24 hours from the Google Apps Team informing me that recent announced changes that I never heard of don't affect the various sites I have signed up to Google Apps, so I don't have to worry about them. This strikes me as inefficient. [09:13:01.0000] <AryehGregor> I wonder what happens to people who have thousands of sites on Google Apps. [09:13:02.0000] <AryehGregor> To be fair, the five e-mails were sent to five different addresses that all forward to me, so maybe they're only sending one per e-mail address. [09:13:03.0000] <jcranmer> don't worry, it's Google's attempts to challenge the CAN-SPAM act [09:14:00.0000] <zcorpan> Coming soon: Better spam in Gmail [09:14:01.0000] <jcranmer> I turned on one of the advertising things in Gmail just to laugh at it when it goes through my spam filter [09:14:02.0000] <jcranmer> er, folder [09:46:00.0000] <bga_> http://docs.codehaus.org/display/GROOVY/Groovy%2B1.8%2Brelease%2Bnotes#Groovy1.8releasenotes-CommandchainsfornicerDomainSpecificLanguages [10:10:00.0000] <jgraham> TabAtkins: ]citation needed] [10:11:00.0000] <jgraham> s/]/[/ [10:12:00.0000] <MikeSmith> hsivonen: just sent you an updated version of the alternative-text checking patch [10:12:01.0000] <gsnedders> jgraham: Mismatched brackets. [10:12:02.0000] <MikeSmith> hsivonen: which deals properly with the nested-figure case [10:14:00.0000] <Philip`> gsnedders: Not if you have a non-stupid regexp engine [10:15:00.0000] <gsnedders> Philip`: I don't have one of those. :'( [10:17:00.0000] <espadrine> Philip`: by the way, /a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?aaaaaaaaaaaaaaaaaaaaaaaa/.exec('aaaaaaaaaaaaaaaaaaaaaaa') takes forever to *run* in chrome and opera [10:17:01.0000] <espadrine> and fast in firefox [10:18:00.0000] <espadrine> which one is non-stupid? [10:18:01.0000] <gsnedders> /me wonders how that is fast in Firefox [10:21:00.0000] <AryehGregor> I get 0 ms for both Firefox and Opera, but 100+ ms for Chrome. [10:21:01.0000] <AryehGregor> How can that possibly take 100+ ms to evaluate? [10:21:02.0000] <AryehGregor> Oh, I guess it's trying to check all the possibilities and doesn't realize lots are the same . . . [10:21:03.0000] <espadrine> I think they detect this kind of regexp, or something [10:21:04.0000] <AryehGregor> 2^18? [10:22:00.0000] <gsnedders> AryehGregor: Backtracking. [10:22:01.0000] <AryehGregor> Does changing it to a?b?c?... make it slower? [10:22:02.0000] <AryehGregor> Oh, but that would mean you wouldn't have to backtrack, maybe? [10:22:03.0000] <AryehGregor> /me doesn't know how these things work, clearly [10:23:00.0000] <AryehGregor> Regex is like a CPU: I know how it works in a black-box sort of way, but the innards are pure magic. [10:23:01.0000] <AryehGregor> (okay, I understand the innards of regex and CPUs a little bit) [10:23:02.0000] <gsnedders> AryehGregor: a?a? you may just optimize to a{0,2}, so that's how you make that case quick [10:24:00.0000] <gsnedders> AryehGregor: but a?b?c? you can't, unless you transform the NFA you create to a DFA (and creating a DFA is potentionally O(n^2), and JS RegExp isn't actually entirely regular, so not all RegExp can be converted to DFA) [10:25:00.0000] <Philip`> Does /(a?)(a?)(a?).../ go slow in more browsers? [10:25:01.0000] <AryehGregor> But a?b?c?... wouldn't be slow with the given string, since none of the letters after the first occur, so you don't have to backtrack, right? [10:25:02.0000] <gsnedders> AryehGregor: So you have a trade-off between compiling to a DFA (O(n^2) worst-case) and then O(n) runtime, or 0 compiling time and worst-case O(x^n) runtime… [10:25:03.0000] <gsnedders> AryehGregor: No existing JS impl compiles to a DFA, though [10:26:00.0000] <Philip`> I think DFAs are O(2^n), not O(n^2) [10:26:01.0000] <gsnedders> Philip`: Entirely possible my memory is wrong :) [10:26:02.0000] <espadrine> hmm, yep, I think it is exponential complexity... [10:27:00.0000] <AryehGregor> Philip`, with (a?) it's just as fast in Firefox and Opera for me. [10:27:01.0000] <gsnedders> Yeah, wikipedia says Philip` is right [10:28:00.0000] <espadrine> AryehGregor: putting parenthesis is still slow in chrome [10:29:00.0000] <AryehGregor> espadrine, he was asking if that made it slower, not if it made it faster. [10:29:01.0000] <AryehGregor> I assume it will only ever make it slower. [10:29:02.0000] <Philip`> /me was just guessing it might defeat optimisations that detect that particular pattern [10:29:03.0000] <espadrine> ah, yes [10:29:04.0000] <AryehGregor> It should defeat simple tricks like replacing it with a{0,18} or such. [10:29:05.0000] <AryehGregor> Since you have to provide eighteen separate matches. [10:30:00.0000] <AryehGregor> (assuming I counted right, which is not a reliable assumption) [10:30:01.0000] <Philip`> (Maybe they cleverly detect that you're ignoring the return value of the regexp?) [10:30:02.0000] <AryehGregor> I wondered about that. [10:32:00.0000] <gsnedders> Philip`: That would be quite hard to do [10:32:01.0000] <AryehGregor> Philip`, also, the return value is null in this case. [10:35:00.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/967 [10:35:01.0000] <AryehGregor> Firefox and Opera are 0 ms in all four cases. [10:35:02.0000] <AryehGregor> Chrome gets me around 50 ms in the first two cases (no match), 5 ms in the last two (match). [10:36:00.0000] <AryehGregor> /me concludes V8 regex is just slow [10:36:01.0000] <AryehGregor> (at least in this case) [10:38:00.0000] <gsnedders> AryehGregor: We cache results for regexp, so that might help there [10:38:01.0000] <AryehGregor> That's probably why Chrome speeds up when I do more iterations. [10:38:02.0000] <AryehGregor> But the basic effect is still visible with a single iteration. [10:38:03.0000] <gsnedders> I know when Carakan shipped we were the only ones to cache results, dunno about now. [10:41:00.0000] <AryehGregor> Chrome is pretty clearly doing *something* to speed up repeated regexes. [10:42:00.0000] <AryehGregor> Not fully caching the result, that's clear, but the first call to the slow regex takes 100+ ms and subsequent calls take only 50 ms. [10:43:00.0000] <AryehGregor> Maybe it does some kind of time-consuming optimized compile of the regex, and caches the compiled version, or something. [10:45:00.0000] <MikeSmith> ah, wonderful - Joyent has trademarked "Node.js" and released a statement saying stuff like "Use of a trademark in a domain name (e.g., nodeconsultingservices.com)" is now prohibited [10:47:00.0000] <AryehGregor> nodeconsultingservices.com was just registered anonymously today. [10:47:01.0000] <AryehGregor> And redirects to http://www.dchest.org/node.html. [10:47:02.0000] <MikeSmith> heh [10:47:03.0000] <MikeSmith> beautiful [11:33:00.0000] <AryehGregor> Regex for e-mail addresses on eichlers.com: /^[\w\.-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]{2,3}$/ [11:33:01.0000] <AryehGregor> So they assume that + isn't valid in addresses, and also that TLDs are either 2 or 3 characters long. [11:34:00.0000] <AryehGregor> This foils all my unique-addressing schemes. [11:34:01.0000] <jcranmer> can't do .uk then :-) [11:34:02.0000] <AryehGregor> Why not? [11:34:03.0000] <jcranmer> oh, 2 characters [11:34:04.0000] <AryehGregor> That looks like it will work. [11:34:05.0000] <jcranmer> can't do .info then [11:34:06.0000] <AryehGregor> Or .name. [11:34:07.0000] <AryehGregor> Like, you know, aryeh.name. [11:34:08.0000] <jcranmer> or .invalid [11:34:09.0000] <AryehGregor> . . . it's not really necessary to allow .invalid. [11:34:10.0000] <AryehGregor> But there's .museum. [11:34:11.0000] <AryehGregor> I could make aryehgregor.com a CNAME for aryeh.name. [11:34:12.0000] <jcranmer> .google [11:35:00.0000] <AryehGregor> Pretty sure that one's not registered yet. [11:35:01.0000] <jcranmer> it's almost surely coming [11:35:02.0000] <AryehGregor> Surely it's redundant, though. Isn't everything useful on the Internet already owned by Google? [11:35:03.0000] <jcranmer> .microsoft, or would the opt for .ms? or .m$? [11:36:00.0000] <AryehGregor> .m$ would be invalid. [11:38:00.0000] <AryehGregor> Why doesn't Gmail use minus-addressing instead of plus-addressing? A lot more sites accept minuses. [11:38:01.0000] <AryehGregor> Although I've seen one that didn't. [11:40:00.0000] <jcranmer> I've had my dad's email get rejected because it is @l-3.com or something similar [11:43:00.0000] <webben> I tend to caution against validating more than something like /^[^@]+@[^@]+$/ [11:43:01.0000] <AryehGregor> Mediawiki used to do /@/ or such. [11:44:00.0000] <AryehGregor> <input type=email> is a reasonable compromise, plus it's easy to use. [11:44:01.0000] <AryehGregor> If it were only properly implemented. [11:44:02.0000] <webben> It's not like you're going to catch all invalid email addresses (and valid email addresses that are typos are uncatcheable but just as likely) so the main effect of overvalidation is to annoy people, especially potential customers. [11:44:03.0000] <AryehGregor> MediaWiki is now a bit more demanding, IIRC, but not too narrow. [11:44:04.0000] <AryehGregor> <input type=email> does prohibit some technically valid addresses. [11:45:00.0000] <webben> I think it's okay for large codebases like MediaWiki or browsers to do it. [11:45:01.0000] <webben> ... on the perhaps over-optimistic idea they'll do it right. [11:45:02.0000] <AryehGregor> Like where the host part is a bracketed IP address instead of a domain. [11:45:03.0000] <Ms2ger> AryehGregor, how about adding "this site was optimized for Gecko 2+"? :) [11:45:04.0000] <AryehGregor> Ms2ger, as well as a JavaScript shim to disable it in WebKit and Presto? Sounds good to me. [11:46:00.0000] <AryehGregor> (I haven't checked if current WebKit has a horrifyingly broken <input type=email> implementation) [11:46:01.0000] <Ms2ger> (Me neither, but I assume so) [11:46:02.0000] <AryehGregor> Oh, it seems to actually have UI in Chrome 12 dev? [11:46:03.0000] <AryehGregor> Interesting. [11:47:00.0000] <AryehGregor> Doesn't seem too terrible at first glance. [11:47:01.0000] <AryehGregor> Doesn't alert you until submit, that's bad. [11:47:02.0000] <AryehGregor> Also doesn't flag invalid fields until submit. [11:47:03.0000] <webben> I use the FILTER_VALIDATE_EMAIL in PHP http://www.php.net/manual/en/filter.filters.validate.php ... mind you I tend to assume that's probably wrong. [11:47:04.0000] <AryehGregor> But it seems about on par with Opera, except less ugly. [11:47:05.0000] <AryehGregor> webben, one problem is the RFCs are wrong. [11:47:06.0000] <AryehGregor> They prohibit some addresses that are usable and used in practice. [11:48:00.0000] <AryehGregor> Like ones starting or ending in dots, or with multiple consecutive dots. [11:48:01.0000] <AryehGregor> They also probably allow some addresses that in practice are not going to be routable. [11:48:02.0000] <webben> orly? didn't realize they prohibited addresses in use. [11:48:03.0000] <AryehGregor> The RFCs do, yeah. [11:48:04.0000] <AryehGregor> See the note in HTML5. [11:49:00.0000] <AryehGregor> http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address [11:49:01.0000] <AryehGregor> "Note: This requirement is a willful violation of RFC 5322, which defines a syntax for e-mail addresses that is simultaneously too strict (before the "@" character), too vague (after the "@" character), and too lax (allowing comments, white space characters, and quoted strings in manners unfamiliar to most users) to be of practical use here." [11:50:00.0000] <webben> ah yes [12:19:00.0000] <aho> ah yea... had a scary thought yesterday. what if there were css media queries for... the subpixel ordering of the display [12:19:01.0000] <aho> :> [12:20:00.0000] <aho> (there is subpixel aware image resizing for example) [12:54:00.0000] <Hixie> some of the comments on http://www.w3.org/2002/09/wbs/40318/html5-license-poll-v3/results are unintentionally funny [12:54:01.0000] <Hixie> e.g. arguing that we should not have a forking spec because " A national governnment could create its own intentionally incompatible national version of the html specification in order to prevent general Web access from within that country." [12:54:02.0000] <Hixie> surely if a national government had the power to force everyone to use a particular web browser that implemented their spec, they would also have the power to ignore copyright? [12:55:00.0000] <AryehGregor> I find that almost any use-case involving malicious governments is ridiculous. [12:57:00.0000] <webben> There are plenty of malicious governments, but incompetence is more likely to bite people. [12:57:01.0000] <webben> Korea's dependence on activex for example [12:58:00.0000] <Hixie> i just lose the idea that the copyright we put on the spec would be more powerful than a national goverment [12:58:01.0000] <webben> But sure ... violating W3C's copyright seems somewhat down the list of government crimes against humanity in a typical totalitarian state... [12:59:00.0000] <gsnedders> Hixie: Doesn't the Berne convention prevent that? [12:59:01.0000] <gsnedders> Hixie: Assuming said goverment was a signee of it, ofc [12:59:02.0000] <AryehGregor> gsnedders, how do you enforce it? [12:59:03.0000] <Hixie> what AryehGregor said [12:59:04.0000] <AryehGregor> There's no international court with the authority to enforce the Berne convention. [12:59:05.0000] <AryehGregor> Countries that ratified it are just saying that they'll implement it in their local laws. [13:00:00.0000] <gsnedders> Indeed, it's a good point. [13:00:01.0000] <Hixie> even governments that have signed on to international thingies can just say they changed their mind [13:00:02.0000] <AryehGregor> In fact, in United States law, you explicitly cannot cite the Berne Convention directly. It's not self-enforcing. [13:00:03.0000] <AryehGregor> You have to cite the relevant law that may happen to implement it. [13:00:04.0000] <Hixie> i mean, if the US can go to war without UN authority, i'm pretty sure a country would have no problem breaking copyright [13:00:05.0000] <AryehGregor> What can happen is that other countries will gang up and menace you a bit if you're too lax on IP laws, or other laws that affect them, but that has limited teeth to it. [13:01:00.0000] <Hixie> i also love the implication that the spec will enforce particular implementations [13:01:01.0000] <AryehGregor> It's not going to do anything about isolated incidents, unless they're big enough to actually cause a diplomatic incident. [13:01:02.0000] <Hixie> the whole concept of the argument i quoted is just unrealistic [13:01:03.0000] <AryehGregor> Which they won't be. [13:02:00.0000] <AryehGregor> Because realistically, when dealing with evil governments, we have bigger fish to fry. [13:02:01.0000] <AryehGregor> We don't even try to pressure them much on imprisoning and torturing political dissidents. [13:03:00.0000] <AryehGregor> International intervention is typically limited to cases of mass slaughter of civilians, and even that's not assured. [13:03:01.0000] <Hixie> yeah [13:03:02.0000] <Hixie> pretty much [13:03:03.0000] <Hixie> that and the risk that oil delivery might be blocked [13:04:00.0000] <gsnedders> When the country doing the blocking doesn't have nukes [13:04:01.0000] <AryehGregor> Yeah, that part's tricky. [13:04:02.0000] <AryehGregor> Nukes do a lot to ensure peace. [13:05:00.0000] <AryehGregor> Realistically, anyone with oil is going to be selling as much as they can, though, so the thing that's most likely to block oil delivery is actually war . . . [13:05:01.0000] <AryehGregor> Or blockade. [13:05:02.0000] <AryehGregor> Unless we specifically exempt large quantities of oil from the blockade, like in Saddam's Iraq. [13:06:00.0000] <Hixie> they might be selling it for too much, or to the wrong people [13:06:01.0000] <AryehGregor> Anyway, forking specs doesn't factor into it. [13:06:02.0000] <Hixie> or the oil company selling it might be the "wrong" company [13:06:03.0000] <gsnedders> AryehGregor: Russia cut off supply to Ukraine a while back, through which a lot of oil in Europe runs from [13:06:04.0000] <Hixie> it's not like a government would even fork the spec to do that case [13:06:05.0000] <Hixie> they'd make a new browser without a spec [13:06:06.0000] <AryehGregor> They sell it for market price, to whoever will pay the most, and if they don't sell to whoever pays the most then the buyer will just resell it at a higher price. Oil is very fungible. [13:07:00.0000] <AryehGregor> Trying to control who buys it is kind of silly. Like laws requiring Alaska to sell oil to the US instead of Russia, even though Russia is much closer and it would make more sense to sell to Russia and use the money to buy more oil from elsewhere. [13:07:01.0000] <Hixie> i mean seriously, what are the odds that a government would be pro-competition (need a spec to get interoperable implementations), but anti-competition (implementations not allowed to implement the other spec) at the same time? [13:07:02.0000] <AryehGregor> Oh well. Economics. [13:10:00.0000] <Ms2ger> Hixie, why does the WHATWG approve of such governments by having a sane license? :) [13:12:00.0000] <Hixie> Ms2ger: i suppose it's because we want the web to fall apart [13:12:01.0000] <Hixie> Ms2ger: so that flash and .net can take over [13:14:00.0000] <mpilgrim> wtf did i just walk into? [13:14:01.0000] <mpilgrim> /me reads logs [13:14:02.0000] <AryehGregor> Wow, the survey results so far are staggeringly lopsided toward the free licenses. [13:14:03.0000] <mpilgrim> oh, licensing [13:17:00.0000] <mpilgrim> wow [13:17:01.0000] <mpilgrim> "W3C is the best place to develop html specs. It is an open and fair standards org. We do not want others to fork W3C specs." [13:17:02.0000] <Hixie> TabAtkins: it would be convenient if you could give the "In the absence of more specific rules" algorithm in http://dev.w3.org/csswg/css3-images/ a more distinctive name that i could reference directly [13:18:00.0000] <mpilgrim> none of those 3 sentences are true [13:18:01.0000] <Hixie> mpilgrim: well the last sentence is presumably true [13:18:02.0000] <Hixie> mpilgrim: for their definition of "we" [13:18:03.0000] <Hixie> mpilgrim: and the first might be true, given a particular definition of "best" that prioritises differently than we do [13:19:00.0000] <mpilgrim> well, they're all opinion statements, so i should clarify: i disagree vehemently with each of those 3 sentences. [13:19:01.0000] <Hixie> mpilgrim: the bigger problem is that even if you grant all three premises, it still doesn't mean a non-forking license [13:19:02.0000] <Hixie> mpilgrim: on the contrary, it increases the power of a free licenses [13:20:00.0000] <Hixie> s/s$// [13:20:01.0000] <mpilgrim> wow, those results really are lopsided [13:20:02.0000] <Hixie> mpilgrim: as if the w3c is the best place to develop specs, then nobody will want to fork [13:20:03.0000] <Hixie> mpilgrim: and if people _can_ fork, the w3c is motiviated to _remain_ the best place [13:20:04.0000] <Hixie> mpilgrim: and to _remain_ open and fair [13:21:00.0000] <Hixie> mpilgrim: so imho someone with that opinion should want a free license [13:21:01.0000] <Hixie> /me stops preaching to the choir [13:22:00.0000] <mpilgrim> thanks, my neck was beginning to hurt from all the aggressive nodding i was doing [13:22:01.0000] <mpilgrim> oh well, back to actually improving the web [13:22:02.0000] <mpilgrim> i'm contributing to webkit now [13:23:00.0000] <Hixie> nice [13:23:01.0000] <mpilgrim> webkit's indexeddb implementation is less buggy than it was last week [13:23:02.0000] <TabAtkins> Hixie: Yes, I was thinking I should. I'll do so in a bit. [13:23:03.0000] <Hixie> TabAtkins: i'm using the section title for now, let me know if i should change that [13:24:00.0000] <Hixie> TabAtkins: though actually, i'm thinking maybe i should just copy the part i need into html. i'm only actually using the very last two bullet points of the algorithm. [13:24:01.0000] <Hixie> (context is http://www.w3.org/Bugs/Public/show_bug.cgi?id=11488 btw) [13:25:00.0000] <TabAtkins> Yeah, thought so. [13:26:00.0000] <TabAtkins> Those points definitely aren't going to change, so if you just want to copy them, go for it. Or, copy the sizing algorithm for list-style-image in 2.1, which is a simpler version. [13:26:01.0000] <Hixie> well i went for reference for now [13:26:02.0000] <Hixie> regenning so you can see it, one moment [13:28:00.0000] <Hixie> TabAtkins: first paragraph after the green box in http://www.whatwg.org/specs/web-apps/current-work/complete.html#images [13:28:01.0000] <Hixie> if you have a stable ID in that spec I can link straigth to it [13:29:00.0000] <TabAtkins> http://dev.w3.org/csswg/css3-images/#default-sizing [13:29:01.0000] <Hixie> roger [13:33:00.0000] <mven> anybody know if any browsers supports the video stream api yet? Been trying to look online for the past day. Came up nil [13:36:00.0000] <Hixie> opera nightlies have something iirc [13:36:01.0000] <Hixie> lachy knows about it, if he comes back [13:37:00.0000] <gsnedders> Pretty much just the old device element, AFAIK [13:37:01.0000] <gsnedders> But I don't really know much what goes on outside of ecmascript nowadays [13:37:02.0000] <mven> Hixie: great, thanks. [14:54:00.0000] <zcorpan> i wonder why people claim Hixie isn't following the process when there's a change they disagree with [14:55:00.0000] <TabAtkins> I'm guessing you want to hear something other than "They're dishonest and incapable of understanding that they may be wrong."? [14:59:00.0000] <TabAtkins> I suppose I should be fair. It could be malice *or* incompetence. [15:02:00.0000] <zcorpan> hmm, maybe a better approach with <form action=""> is for validators to issue a warning when there's a <base> and they see either <form> or <form action=""> [15:11:00.0000] <Hixie> othermaciej: so does rich's answer mean i can apply the patch? [15:14:00.0000] <othermaciej> Hixie: thanks for updating the patch - since Faulkner also objected to an earlier version, I think it would be good to give him a chance to reply too - I'll ask him on-list [15:14:01.0000] <Hixie> k, let me know when i can check it in [15:15:00.0000] <othermaciej> will do [15:16:00.0000] <jgraham> He could have been answering "yes" to "can you review" [15:17:00.0000] <Hixie> that's why i asked maciej and didn't just assume one way or the other... [15:19:00.0000] <jgraham> zcorpan: I think the essential point is that when you are arguing about process you have already lost [15:21:00.0000] <TabAtkins> Pound on the facts, pound on the law, or pound on the table? [15:22:00.0000] <TabAtkins> I'm guessing this translates over to "pound on research, pound on design, or pound on process". [15:25:00.0000] <Hixie> wow there's nothing quite like the kind of annoyance that testing onbeforeunload involves [15:25:01.0000] <Hixie> it's not a lot of annoyance, just a special kind [15:25:02.0000] <TabAtkins> Because the feature is intrinsically annoying, or it's just confusing and inconsistent? [15:25:03.0000] <TabAtkins> Or you have to close a window to test it? [15:25:04.0000] <Hixie> neither, that's why it's a special kind [15:25:05.0000] <Hixie> every time you reload the page to test it, you get the prompt that you're testing [15:26:00.0000] <Hixie> but is it the new prompt or the old prompt? [15:26:01.0000] <Hixie> and you made the prompt say not to ok the prompt but should you ok it because it's not part of the test now or not because it is gah [15:26:02.0000] <TabAtkins> The old one. Hitting Refresh exercises the prompt for the current page, presumably? [15:26:03.0000] <Hixie> yeah i mean it's always understandable, but it keeps trying to confuse you [15:26:04.0000] <TabAtkins> Gotcha. [15:27:00.0000] <Hixie> and then when you're done you close the browser and BOOM, prompt again [15:31:00.0000] <zcorpan> javascript:(function(){onbeforeunload=null})() [15:34:00.0000] <zcorpan> mven: http://my.opera.com/core/blog/2011/03/23/webcam-orientation-preview [15:47:00.0000] <sicking> Hixie: i bet you can write an extension that adds a 'reload-without-unload-prompt' button :) [15:47:01.0000] <Hixie> i have bigger fish to fry :-) [15:48:00.0000] <zewt> writing an extension that modifies what you're testing is also a fantastic testing methodology :) [15:51:00.0000] <Hixie> yeah that does seem to be asking for trouble [15:53:00.0000] <zcorpan> i'd be satisfied with the STFU bookmarklet above :) [15:53:01.0000] <zcorpan> unless you're testing iframes and stuff [15:54:00.0000] <zcorpan> which i guess would be a good thing to test [15:54:01.0000] <sicking> fortunately that wasn't what i proposed :) [15:54:02.0000] <sicking> it'd only modify the page you're no longer testing [15:54:03.0000] <sicking> but it's still probably more work than it's worth [16:39:00.0000] <AryehGregor> Okay, so my first draft at a response to the licensing survey is about 1500 words. I'll have to take some time to cut it down a bit. [16:39:01.0000] <AryehGregor> (it seems no one gave a thorough response yet) [16:42:00.0000] <mven> zcorpan: thanks. much obliged [16:42:01.0000] <Hixie> AryehGregor: are you going to mention the things that were discussed in #whatwg earlier? 2011-04-30 [17:10:00.0000] <othermaciej> Wayne Carr's objection to CC0 and MIT license is interesting [17:12:00.0000] <Hixie> did you see the comments on it earlier in #whatwg? [17:12:01.0000] <Lachy> Wayne's objection ignores the fact that specs like http://developers.whatwg.org/ are also forks, and yet I don't see anyone complaining about forks like that. [17:12:02.0000] <Hixie> wayne's objection is fractacally wrong [17:13:00.0000] <Hixie> even if we grant the premises of the objection, which are certainly not a given, the conclusion still does not follow [17:13:01.0000] <Lachy> who is he? Does he represent some organisation or just an invited expert? [17:15:00.0000] <Hixie> othermaciej: earlier discussion started at http://krijnhoetmer.nl/irc-logs/whatwg/20110429#l-793 [17:16:00.0000] <othermaciej> the part I find fascinating is - he thinks an authoritarian country would want fork HTML to control what its citizens can see, but yet would be dissuaded byc copyright law [17:16:01.0000] <Hixie> yeah, that was the point i raised earlier [17:17:00.0000] <Lachy> Hixie, surely, no government would ever ignore copyright... http://www.techdirt.com/articles/20080730/1120081839.shtml :-) [17:18:00.0000] <Hixie> indeed [17:18:01.0000] <Lachy> An interesting and slightly more plausible scenario like this was given to me earlier today. [17:19:00.0000] <zewt> "it is an open organization, so we do not want the specs to be open" [17:19:01.0000] <zewt> a fascinating combination [17:21:00.0000] <Lachy> This came from Chaals, so I hope I remember it correctly. Say some company, like Philips or Samsung or whoever wanted to create their own derivative version of HTML, and set up a certification group to certify implementations of that spec. Then they demand that for Opera to be deployed on those devices, we have to get certified, for a significant cost that just helps them get money for no other reason. [17:22:00.0000] <Lachy> It was claimed that preventing forks would help stop that, by being able to send them a cease and desist letter, or other legal measures, for violating copyright. [17:22:01.0000] <zewt> they could create their own spec unrelated to HTML to do the same thing, though; say, an alternate <script> language or a plugin [17:22:02.0000] <Hixie> or you could tell them to take a running jump [17:22:03.0000] <Hixie> preventing forks doesn't stop that at all [17:22:04.0000] <Hixie> they could just write a diff spec [17:22:05.0000] <Lachy> zewt, yeah, they could create a delta spec or whatever they like, really. [17:22:06.0000] <Hixie> delta spec [17:22:07.0000] <Hixie> and opera can't write a c&d for a w3c spec anyway [17:23:00.0000] <zewt> or they could say "give us money if you want your application on our platform" without any spec make-believe--same thing [17:23:01.0000] <Hixie> and since the deal would probably be under NDA, you couldn't tell the w3c about it [17:23:02.0000] <Hixie> so nobody could send a c&d [17:23:03.0000] <Hixie> so basically that example is bogus :-) [17:23:04.0000] <Hixie> zewt: indeed [17:23:05.0000] <Lachy> If I understand the situation correctly, the DLNA does exactly that, since they just write specs that reference other W3C/IETF/Whatever specs and define profiles, and then require payment for certificatino [17:24:00.0000] <Lachy> Hixie, the idea is that ther W3C could write a C&D letter [17:24:01.0000] <Hixie> how would the w3c know to do so? [17:24:02.0000] <Lachy> since the W3C seems so intent on stopping forks [17:24:03.0000] <Hixie> EvilCorp would just keep everything under NDA so you couldn't tell them [17:24:04.0000] <Lachy> well, presumably Chaals would raise the issue with the advisory board or something [17:24:05.0000] <Hixie> anyway, as it stands the W3C is the one publishing these forks (under the title "profile") [17:24:06.0000] <Hixie> so it's not clear they'd even want to stop it [17:24:07.0000] <Hixie> chaals couldn't raise it in the AC [17:25:00.0000] <Hixie> EvilCorp wouldn't do such a thing without an NDA [17:25:01.0000] <zewt> well, I'm not sure an NDA can legally require people to hide copyright infringement--but that's call-your-lawyer territory :) [17:25:02.0000] <Lachy> He compared the situation with CE-HTML, where he said they apparently did fork it. Yet the W3C did nothing then for whatever reasons [17:25:03.0000] <Hixie> the w3c didn't do anything when the ISO forked it either (via a delta spec in their case) [17:25:04.0000] <wilhelm_> Is “HTML” a trademark? If preventing pretender specs is a goal, that might be a more efficient tool. “EvilCorpML” is significantly harder to sell. (c: [17:26:00.0000] <Lachy> wilhelm_, no trademark on HTML [17:26:01.0000] <Lachy> Hixie, chaals was just arguing with me as he informed me that Opera's official company policy is that we don't want to permit forks [17:27:00.0000] <zewt> frankly all of the "people might do evil things if we let them fork" arguments just seem thin contravances to hide other rationales, like "we want to own HTML, nobody else can have it" [17:28:00.0000] <wilhelm_> Lachy: Indeed. You're right: http://www.w3.org/Consortium/Legal/2002/trademarks-20021231.html [17:31:00.0000] <Lachy> besides, all arguments against preventing forks of W3C HTML are moot, since they can just fork WHATWG HTML, ironically under a copyright licence written and supported by Opera [17:31:01.0000] <Lachy> so our policy against forking is self defeating in this case [17:38:00.0000] <zewt> gmail may be the only website I'm aware of that uses a big, empty textarea as a ... button [17:39:00.0000] <Lachy> zewt, wtf? [17:39:01.0000] <Lachy> where? [17:41:00.0000] <zewt> the empty box at the bottom of the thread view; it looks like a "quick reply" box, but when you click it it just opens up the full reply box [17:41:01.0000] <zewt> so it's really just a button [17:42:00.0000] <zewt> (i'm guessing it used to be a real quick-reply box, they removed the quick-reply feature and left the box in to accomodate user habits--but the resulting UI is bizarre) [18:13:00.0000] <Dashiva> I was just shown http://publib.boulder.ibm.com/infocenter/wsdatap/v3r8m1/index.jsp?topic=/xs40/convertingbetweenjsonandjsonx05.htm [18:20:00.0000] <zewt> is that satirical? [18:21:00.0000] <ako> http://www.reddit.com/r/programming/comments/h0chx/need_more_enterprise_introducing_jsonx_an_ibm/ [18:45:00.0000] <TabAtkins> ...wut [18:46:00.0000] <TabAtkins> The PLIST vocabulary is a superset of JSON-in-XML already. [18:47:00.0000] <ako> the thing i like most about json is that it's not xml :> [18:54:00.0000] <othermaciej> JSONx can't possibly be real [18:54:01.0000] <othermaciej> can it? [18:54:02.0000] <TabAtkins> othermaciej: Welcome to the world. Shit just got real. [18:55:00.0000] <TabAtkins> Dammit, missed the opportunity to say "You've been living in a dream world, othermaciej. Welcome to the desert of the real." [18:56:00.0000] <aho> "Reminds me of the horror movie Jason X." [18:56:01.0000] <othermaciej> Whoah. [18:56:02.0000] <aho> heh [18:56:03.0000] <aho> also, yo dawg [18:58:00.0000] <hober> jsonx is so, so gross. [19:00:00.0000] <zewt> well there's only one thing it needs [19:00:01.0000] <zewt> a COM+ API to access it [19:18:00.0000] <Hixie> Lachy_: that wasn't opera's policy until a few months after chaals was hired, fwiw [19:21:00.0000] <jwalden> anyone aware of source code on the web somewhere that uses the reviver argument to JSON.parse? I'm searching in vain for anything that does so except an example in json2.js [20:06:00.0000] <jamesr> what i wanna know is how to write JXpathXJ - json xml representation of xpath json queries [20:14:00.0000] <othermaciej> One thing I wonder about is whether the W3C intends to take action against the ISO HTML, XHTML-MP, CHTML, XHTML Basic, XHTML 2, WML, WTVML, XHTML-Print, WHATWG HTML, or HDML forks of HTML [20:47:00.0000] <Hixie> othermaciej: indeed [20:48:00.0000] <othermaciej> oh, I forgot to mention CE-HTML (not to be confused with CHTML) [20:50:00.0000] <Hixie> othermaciej: also, the epub profile of xhtml [20:52:00.0000] <othermaciej> good point [20:52:01.0000] <othermaciej> the epub 3 dialect of HTML includes both removals and additions [23:39:00.0000] <MikeSmith> so, about the WG decision on http-equiv=Content-Language, and the related spec change [23:40:00.0000] <MikeSmith> the existing validator.nu behavior for http-equiv=Content-Language is to emit a message "The Content-Language state is obsolete. Consider specifying the language on the root element instead." [23:40:01.0000] <MikeSmith> as a warning (because this case was previously obsolete-but-conforming) [23:41:00.0000] <MikeSmith> should we still emit that message, but as an error instead? [23:41:01.0000] <MikeSmith> because if not, the error message will just be a generic "Bad value Content-Language for attribute http-equiv on element meta." [23:41:02.0000] <MikeSmith> with no additional guidance [12:27:00.0000] <Hixie> MikeSmith: more guidance is always better