2011-06-01 [17:31:00.0000] anything any implementors need resolving soon? [17:33:00.0000] i guess i'll go back to last in first out [17:38:00.0000] Hixie: I'll have some minor comments and a whitelist for register*Handler() next week (I'm technically on vacation this week :), but no rush. Our implementation (and soon-to-be-published test suite) is done, and disagrees with Firefox on a couple of points. [17:38:01.0000] wilhelm: You're on vacation? Oh. :) [17:39:00.0000] … Yes. [17:52:00.0000] The_8472, something like
aligns all descendant blocks too, to arbitrary levels of nesting. [17:53:00.0000] AryehGregor, use selectors [17:53:01.0000] div * ... [17:54:00.0000] The_8472, I don't think the effect is fully expressible using selectors either. At least, the HTML5 spec uses prose to define it, not selectors. [17:54:01.0000] But it doesn't help me anyway, because I'm writing an execCommand() spec, and execCommand() has to output only inline style. [17:54:02.0000] (Example of difference: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cdiv%20style%3D%22width%3A20em%3Bborder%3A1px%20solid%20blue%22%3E%0A%3Cdiv%20align%3Dright%3E%3Cdiv%20style%3D%22width%3A2em%3Bborder%3A1px%20solid%20black%22%3Eabc%3C%2Fdiv%3Edefghi%3C%2Fdiv%3E%0A%3C%2Fdiv%3E%0A%3Cdiv%20style%3D%22width%3A20em%3Bborder%3A1px%20solid%20blue%22%3E%0A%3Cdiv%20style%3D%22text-align%3A%20right%3B%20margin-lef [17:54:03.0000] t%3Aauto%22%3E%3Cdiv%20style%3D%22width%3A2em%3Bborder%3A1px%20solid%20black%22%3Eabc%3C%2Fdiv%3Edefghi%3C%2Fdiv%3E%0A%3C%2Fdiv%3E) [17:54:04.0000] err... yeah [17:55:00.0000] (should have saved it and gotten a numeric URL) [17:55:01.0000] http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1012 [17:56:00.0000] whose brilliant idea was it to bring those things that have already been deprecated back to html5? [17:56:01.0000] protip: spec authors can't deprecate things! [17:57:00.0000] but everyone except legacy people moved on to css [17:57:01.0000] so why support it [17:59:00.0000] The_8472, browsers have to support it. [17:59:01.0000] Otherwise old web pages break. [17:59:02.0000] wilhelm: cool, i look forward to the feedback. not sure i can do anything on the spec on that until we've shipped something and tested it, really. [17:59:03.0000] but not for *new* standards [17:59:04.0000] So HTML5 tells browsers how to support it to render webpages correctly. [17:59:05.0000] Which new standards were you thinking of? [17:59:06.0000] html5 [17:59:07.0000] HTML5 is meant to tell browsers how they have to behave to process all conten.t [17:59:08.0000] content. [17:59:09.0000] The_8472: Browsers don't want different rendering modes for each version of HTML. [17:59:10.0000] if you want old pages... use html4 [17:59:11.0000] Browsers process old content the same as new content. [17:59:12.0000] html doesn't allow align="" [17:59:13.0000] They don't want to have to write separate code, and anyway, it would just break when people copy-paste HTML. [18:00:00.0000] The_8472: Browsers want to have as few modes as possible. [18:00:01.0000] but it does say what should happen in browsers if authors ignore the spec [18:00:02.0000] which means there is a "well-defined" behavior that you can suddenly use [18:00:03.0000] good job [18:01:00.0000] Previously, there was also a basically well-defined behavior, just no one documented it, so browsers had to reverse-engineer it. [18:02:00.0000] And any differences in behavior contributed to lock-in. [18:02:01.0000] Because it meant authors would write pages for browsers with the most market share and ignore the others. [18:02:02.0000] So it would only work in the biggest browsers, and not work in others. [18:02:03.0000] and everyone did it differently, things broke, providing incentive to actually write standards-compliant markup [18:02:04.0000] It never provided enough incentive to make a big difference. [18:03:00.0000] Browsers were mostly interoperable in practice. [18:03:01.0000] then things didn't break enough [18:03:02.0000] Great, so feel free to write a browser where 90% of web pages break. [18:03:03.0000] See how well it does, get back to us on that one. [18:03:04.0000] Browsers can't get away with breaking pages, because then people stop using that browser. [18:03:05.0000] The_8472: sorry dude, but we're not going to break cnn.com [18:03:06.0000] Or don't upgrade. [18:03:07.0000] We don't have a choice here, these features have to be supported in real-world browsers if they want people to actually use them. [18:04:00.0000] div align=...? [18:04:01.0000] Given that, the least evil by far is if it's clearly documented how they work, so that browsers behave the same way. Then browsers can compete on things they can actually improve, like performance and usability. [18:04:02.0000] Yes. [18:04:03.0000] that wasn't even standard iirc [18:05:00.0000] Line 256 on http://www.cnn.com/:
[18:05:01.0000] doesn't matter what was standard [18:05:02.0000] matters what people use [18:05:03.0000] The_8472: You can't win that way. If you write a web site that breaks in a certain browser, the users blame you. If you write a web browser that breaks certain sites, the users blame you and switch to a different browser. (c: [18:05:04.0000] /me sighs [18:05:05.0000] Actually, it was part of HTML 4.01: http://www.w3.org/TR/html401/struct/global.html#h-7.5.4 [18:05:06.0000] But that's neither here nor there. [18:06:00.0000] Maybe it would be great if we could rewrite everything and get rid of all the legacy cruft, but browsers can't do that. [18:06:01.0000] So we have to live with it, forever. [18:06:02.0000] Nobody likes it, but that doesn't mean anyone can change it. [18:06:03.0000] For several decades, at least. Some of the old cruft is actually disappearing. Very, very slowly. [18:07:00.0000] Although FWIW, HTML's align attributes (and
, same deal) are among the things that CSS still really doesn't do as well. [18:07:01.0000] Stick something in
and everything's centered, no way to do that with CSS. [18:07:02.0000] But I'm off for the night, bye. [18:08:00.0000] well, flexboxes get close [18:08:01.0000] but hey, until that's supported everywhere years will pass [18:10:00.0000] wilhelm: it's my intent that the spec be usable in 1000 years to write a browser that renders pages from the mid 90s [18:10:01.0000] wilhelm: so i don't plan to ever remove anything from the implementation section so long as any significant number of pages ever used it [18:11:00.0000] madness [18:12:00.0000] Oh, it's madness. And the only reasonable option here. (c; [18:12:01.0000] yeah, see the /topic [18:12:02.0000] also, the complexity will just increase over time [18:12:03.0000] we're well aware that it's crazy :-) [18:12:04.0000] Either you are mad when you start working on browsers, or you turn mad along the way. [18:12:05.0000] well yeah, even if we never add anything bad to the platform, it'll get more complicated over time [18:13:00.0000] how could anything like the web ever get _simpler_ over time? [18:13:01.0000] by removing obsolete things of course [18:14:00.0000] if we never added anything bad, there'd be nothing obsolete [18:14:01.0000] you know, like we don't have watering places for horse carriages anymore [18:14:02.0000] you think transport now is simpler than when we had horses?! [18:14:03.0000] have you _seen_ the state of transport these days?! [18:14:04.0000] a car is easier to assemble than a horse [18:14:05.0000] ok i'm going to go back to work now [18:14:06.0000] ^^ [18:15:00.0000] have you ever tried to build a horse from scratch? [18:18:00.0000] Hixie: I suppose “any significant number” are the keywords here. Are , , <multicol>, <blink> or <marquee> deliberately missing from the spec? (c: [18:18:01.0000] <wilhelm> The latter should probably defined. [18:18:02.0000] <Philip`> The_8472: Creating new horses is so easy that even horses can do it [18:18:03.0000] <Hixie> wilhelm: <blink>, <marquee>, and <plaintext> aren't missing [18:19:00.0000] <Hixie> wilhelm: <layer> and <multicol> were not used sufficiently to matter for archeologists [18:19:01.0000] <wilhelm> Oh, I'm just blind, then. (c: [18:19:02.0000] <Hixie> <marquee> has its own huge section [18:19:03.0000] <Philip`> <layer> is used loads [18:19:04.0000] <Philip`> See e.g. http://www.imdb.com/ [18:19:05.0000] <wilhelm> Ah, there it is. Good, good. [18:20:00.0000] <wilhelm> It's widely used in several Asian countries still. [18:20:01.0000] <Hixie> <layer> is not used in a way that requires more support from browsers than what hte HTML spec requires [18:23:00.0000] <The_8472> Philip`, still missing the point. even if todays system is more complex we still removed obsolete parts [18:25:00.0000] <The_8472> there even are govt incentives to replace old cars (at least here there are) [18:28:00.0000] <wilhelm> A government! Now, that would be useful on the Web. And horrible. And impossible. (c: [18:30:00.0000] <The_8472> /me puts that on his evil overlord to-do list. require all citizens to run modern browsers. so they can all read my proclamations with the proper layout [18:33:00.0000] <Hixie> if we could enforce behaviour, this would be far easier... [18:35:00.0000] <wilhelm> Indeed. Threats of violence (and the proper tools to carry out said threats) is probably the only way to force everyone to actually do what the spec says. (c: [18:36:00.0000] <wilhelm> On the other hand, we'd be missing out in other areas. I have reluctantly accepted that the Web really is a case of “worse is better”. [18:40:00.0000] <The_8472> sometimes it seems like it's someone is trying to specify an operating system down to every library before it's even implemented. [18:40:01.0000] <The_8472> and where nobody trusts a user [18:43:00.0000] <Hixie> we write the spec usually after it's implemented [18:43:01.0000] <Hixie> that's why it's ugly :-) [22:52:00.0000] <cgcardona> nice work https://sites.google.com/site/webrtc/ :) [22:52:01.0000] <cgcardona> stokage [00:45:00.0000] <hsivonen> Hixie: Validator.nu allows the rel values in the spec and the rel values in this (currently one-item) table: http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions [00:55:00.0000] <hsivonen> Hixie: I suppose in principle I should make V.nu allow all rel values that have the right columns on the entire page, but only that table currently has the right columns [01:57:00.0000] <zcorpan> so has it been figured out yet which things in the DOM turn null to "null" and which turn null to ""? [01:59:00.0000] <Ms2ger> All turn into "" now, I guess [02:00:00.0000] <zcorpan> we implemented that and it broke stuff [02:00:01.0000] <Ms2ger> Hah [02:00:02.0000] <zcorpan> or i'm not sure what it broke but we have a bug about it being wrong [02:01:00.0000] <Ms2ger> Anything that needs changing in DOM Core? [02:01:01.0000] <zcorpan> i'll have to figure it out [02:02:00.0000] <zcorpan> seems we want methods to give "null" and attributes to give "" ? [02:03:00.0000] <zcorpan> Ms2ger: is CDATASection needed for compat? [02:03:01.0000] <Ms2ger> I'm actually not sure where that will end up [02:29:00.0000] <hendry> does anyone have opinions on "BrowserMark" http://browsermark.rightware.com/browsermark/ they want to share? [02:50:00.0000] <Onderhond> Hey guys, got a question about data- attributes [02:50:01.0000] <Onderhond> http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data-with-the-data-attributes [02:51:00.0000] <Onderhond> The spec states: These attributes are not intended for use by software that is independent of the site that uses the attributes. [02:51:01.0000] <Onderhond> But it fails to explain why exactly this requirement was added [02:51:02.0000] <Onderhond> Any ideas? [02:54:00.0000] <Ms2ger> To avoid it being used by microformat-style specs [02:55:00.0000] <Ms2ger> Their point is to always be reserved for the page author, and the author shouldn't need to bother about conflicts [03:29:00.0000] <jgraham> Any opinions on what http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1013 should log? I think true, [object HTMLImageElement], undefined, but no browser agrees with me [03:29:01.0000] <jgraham> So I could be misreading WebIDL [03:51:00.0000] <Onderhond> Ms2ger: thanks for the reply. [03:52:00.0000] <Onderhond> So is there something that _can_ be used to inform external script of data that is not relevant to the user (and shouldn't be added to the content of the html?) [04:04:00.0000] <jgraham> AryehGregor: Really your reflection tests would be more useful if they weren't set up to all fail [04:05:00.0000] <jgraham> Or, if you like, if they seperated out the different possible reasons for failure into different tests [04:32:00.0000] <mikekelly> is it a lot of work to introduce @rel for iframe elements [04:32:01.0000] <mikekelly> ? [05:45:00.0000] <hsivonen> Interesting how instead of saying "here's a spec and one Open Source implementation", http://sites.google.com/site/webrtc/reference is so clear on the intention that there's a bunch of code that you put in your browser [05:47:00.0000] <aho> is there any way to do string concatenation inside attr() or url()? [05:48:00.0000] <aho> calc() doesn't seem to allow it... mh [05:53:00.0000] <ako> e.g. attr(data-foo, url)... what if i don't always want to repeat the whole url in those data attributes? what if i want to make that url partially depending on media queries (without resorting to multiple different data attributes of which each one specifies the whole url)? [05:54:00.0000] <Ms2ger> That isn't implemented anywhere, is it? [05:54:01.0000] <ako> content:attr(data-bla, url) works in opera [05:54:02.0000] <ako> (yes, even without before or after) [05:55:00.0000] <ako> http://nicolasgallagher.com/responsive-images-using-css3/ [06:02:00.0000] <aho> so... i need to wait for variables if i want something like that? [06:03:00.0000] <aho> heh. i often wish css were a real programming language. [06:04:00.0000] <aho> don't like doing layouts with floats? write your own layout manager or pick one from github :> [06:04:01.0000] <Ms2ger> Make sure Bert Bos doesn't hear that :) [06:10:00.0000] <hsivonen> I find it interesting that when both validator.w3.org and validator.nu link to the meta name and rel registries and say they are wikis, people rather file bugs asking for stuff to be registered than edit the wikis themselves [06:12:00.0000] <hsivonen> Hixie: requiring registrations to have a spec URL is a great filter against bogus stuff, btw [06:12:01.0000] <hsivonen> where bogus is either something someone just made up and no one cares to implement or stuff that's used by cargo cult but no one has proof anyone implements [06:23:00.0000] <MikeSmith> /me only now comes around to realizing that the cause of the can't-submit-feedback-form-because-no-JS problem is in the "boilerplate" files used to generate the W3C copies of the upstream spec content [06:23:01.0000] <Philip`> hsivonen: Maybe people want the confirmation of an authority agreeing with them - if they edit the page themselves with no discussion or approval then it doesn't feel proper [06:24:00.0000] <MikeSmith> Ms2ger: I will fix the boilerplate now, and that'll fix the problem with the webstorage spec and everywhere, after Hixie pushes again [06:24:01.0000] <Ms2ger> Ta [06:25:00.0000] <Ms2ger> And btw, I made anolis generate the trailing slashes you added to the DOM Core WD once and for all [06:30:00.0000] <hsivonen> Philip`: it's more likely that authorities will disagree, so seeking approval seems like a bad strategy if you want your gunk to be valid [06:43:00.0000] <hsivonen> is for each a SpiderMonkeyism in JS? [06:44:00.0000] <gsnedders> hsivonen: Yes. [06:45:00.0000] <hsivonen> gsnedders: thanks [06:45:01.0000] <hsivonen> also learned today: Mochitest doesn't work in Opera [06:45:02.0000] <gsnedders> Uh, it should. [06:46:00.0000] <gsnedders> Like, we have some version of it in our regression tracking system. Whether Mozilla's branch works or not is a separate matter, seeming a lot of Moz tests seem to depend upon non-standard Moz stuff. [06:46:01.0000] <jgraham> gsnedders: We have Mochikit, sure. But is that actually using Mochitest? [06:46:02.0000] <hsivonen> the sample at http://ted.mielczarek.org/code/mozilla/mochitest-maker/ works in Firefox and Chrome but not in Opera [06:47:00.0000] <hsivonen> /me tries to gather data to argue that a particular behavior isn't interoperable so changing a test should be ok [06:48:00.0000] <gsnedders> jgraham: Oh, good point. I'm being silly and forgetting that Mochitest isn't the normal Mochikit test harness. [07:04:00.0000] <jgraham> hsivonen: var s = document.createElementNS(kXULNSURI, 'script'); [07:04:01.0000] <jgraham> One has to wonder why [07:20:00.0000] <hsivonen> jgraham: you mean that's in ted's copy of mochitest? [07:20:01.0000] <hsivonen> jgraham: I thought that's supposed to throw in Firefox 4 or later [07:25:00.0000] <jgraham> hsivonen: Yes [07:26:00.0000] <jgraham> hsivonen: I suppose it is not impossible that Opera gets thrown down that codepath and others don't [07:27:00.0000] <hsivonen> jgraham: I would be entirely unsurprised if Opera got sniffed onto a broken codepath [07:28:00.0000] <hsivonen> jgraham: mochikit browser sniffs [07:28:01.0000] <jgraham> I know :( [07:28:02.0000] <hsivonen> (which I think is a terrible idea in code that's used for testing browsers) [07:30:00.0000] <jgraham> What magic do I have to do to make firebug work in Gecko nightly? [07:32:00.0000] <Ms2ger> Set the extensions.checkCompatibility.nightly pref, I assume [07:32:01.0000] <hsivonen> jgraham: installing https://addons.mozilla.org/en-US/firefox/addon/add-on-compatibility-reporter/ might set the pref for you [07:33:00.0000] <hsivonen> /me has no idea why https://addons.mozilla.org/en-US/firefox/addon/add-on-compatibility-reporter/ isn't included in nightlies by default, since it is needed for reasonable operation [07:34:00.0000] <Ms2ger> I'm not sure if it's updated to use the new pref already [07:34:01.0000] <jgraham> Ms2ger: Thanks [07:36:00.0000] <hsivonen> I kinda wish Firebug was part of the product and all other extensions had to use JetPack & jsctypes and were banned from doing XPCOM stuff [07:37:00.0000] <Ms2ger> They're going to be happy to hear that :) [07:37:01.0000] <hsivonen> Ms2ger: who is they? [07:38:00.0000] <Ms2ger> Extension developers [07:38:01.0000] <jgraham> hsivonen: Oh, I was wrong. It looks like it document.writes a normal HTML script element [07:38:02.0000] <hsivonen> Ms2ger: well, stuff is sort of creeping to that direction now that every release requires recompilation of binaries [07:39:00.0000] <jgraham> Dunno why that should fail in Opera [07:39:01.0000] <hsivonen> Ms2ger: maybe wishing that JS didn't touch XPCOM is too harsh, but other browsers have more JetPack-y APIs [07:39:02.0000] <Ms2ger> jgraham, did you guys ever implement document.write? :) [07:39:03.0000] <gsnedders> jgraham: DSE? [07:39:04.0000] <jgraham> Ms2ger: Doh! If only we had done that! [07:39:05.0000] <Ms2ger> Sure would make our work easier [07:39:06.0000] <jgraham> gsnedders: In desktop? [07:40:00.0000] <gsnedders> jgraham: Well, you could've enabled it… [07:40:01.0000] <gsnedders> To test something, or something. [07:40:02.0000] <jgraham> gsnedders: Possibly, but I haven't and I doubt hsivonen has [07:40:03.0000] <gsnedders> True. [07:40:04.0000] <gsnedders> But that's my first thought when document.write doesn't work :P [07:43:00.0000] <jgraham> In unrelated questions, is there some easy way in mercurial to set the contents of some files in the working copy to be whatever they were in some specified revision? [07:43:01.0000] <Ms2ger> hg revert? [07:43:02.0000] <jgraham> Like git checkout /path/to/file -- HEAD^ [07:44:00.0000] <jgraham> Ms2ger: Yes [07:44:01.0000] <jgraham> I seem to remember I knew that once before git destroyed my brain [07:44:02.0000] <Ms2ger> You use git? [07:44:03.0000] <Ms2ger> I feel sorry [07:44:04.0000] <jgraham> Local branches are pretty awesome [07:45:00.0000] <jgraham> I haven't worked out if mercurial bookmarks are actually useful or not yet because they seem to work in such a half-assed way [07:46:00.0000] <jgraham> (note: *seem*. I'm sure I haven't worked out how to use them correctly yet) [07:53:00.0000] <AryehGregor> jgraham, that's like a three-line change, I could do it pretty easily. The original harness works that way. [07:53:01.0000] <AryehGregor> /me looks [08:02:00.0000] <AryehGregor> jgraham, okay, fixed in tip (352:2da6dcfaf2a1). [08:03:00.0000] <jgraham> AryehGregor: Thanks! [08:03:01.0000] <AryehGregor> Now Opera fails only 27817/87266. [08:04:00.0000] <Ms2ger> And Fx? [08:04:01.0000] <jgraham> Yeah, but at least we can check we don't regress those 87266-27817 [08:05:00.0000] <AryehGregor> Ms2ger, I was trying to test, but my machine started swapping, so I killed Firefox. [08:05:01.0000] <AryehGregor> I'm pretty sure my original harness didn't use that much RAM. [08:05:02.0000] <AryehGregor> /me tries again [08:05:03.0000] <Ms2ger> It runs fine on my .5GB of RAM, so I'd assume not [08:06:00.0000] <AryehGregor> Which, my original harness or the tesharness.js version? [08:06:01.0000] <Ms2ger> Original [08:06:02.0000] <AryehGregor> Meaning reflection-original.html? [08:06:03.0000] <Ms2ger> Sounds right [08:06:04.0000] <jgraham> It could be building the table. Or it could be leakyness in testharness.js [08:07:00.0000] <AryehGregor> Wow, Firefox takes a long time to run reflection-onepage.html now. [08:07:01.0000] <AryehGregor> That was one reason I had the tests fail early, so there would be fewer tests . . . [08:09:00.0000] <AryehGregor> There must be some bug in Firefox or something, because it's taking minutes to run them, and Chrome and Opera took much less. [08:09:01.0000] <jgraham> Can you run the individual subsections? [08:09:02.0000] <AryehGregor> Oh, wait, it just finished. [08:10:00.0000] <AryehGregor> 15377/87266 failed. [08:10:01.0000] <AryehGregor> In 5.0a2. [08:10:02.0000] <AryehGregor> Firefox always did substantially better than any other browser. [08:10:03.0000] <AryehGregor> Now I closed the tab and it's started using 100% CPU again, and hasn't freed the memory . . . [08:11:00.0000] <AryehGregor> You guys moving to process-per-tab anytime soon, Ms2ger? :) [08:11:01.0000] <Ms2ger> Soon? Not really [08:12:00.0000] <Ms2ger> /me doesn't really follow that [08:13:00.0000] <AryehGregor> It's still the table layout that takes by far the most time in all browsers for testharness.js. [08:13:01.0000] <AryehGregor> Anyway, Chrome 13 dev fails 23125/87266. [08:13:02.0000] <AryehGregor> Not much better than Opera. [08:16:00.0000] <AryehGregor> Oh, the tests don't run in IE9 anymore. Sigh. [08:18:00.0000] <AryehGregor> The -original ones do, just not -onepage. [08:22:00.0000] <AryehGregor> BTW, running -original in Chrome takes about 6.5s to run, including display time. about:memory says it uses 31,168k of memory, as compared to 383,812k for -onepage. [08:22:01.0000] <AryehGregor> Part of that is surely because the size of the resulting page is vastly smaller -- not only are successes not recorded anywhere in the DOM, but they're aggregated very heavily, in some cases with >100 failures per line. [08:23:00.0000] <AryehGregor> Part also might be because of the use of <ul>s instead of tables. [08:23:01.0000] <jgraham> What happens if you remove the <div id="log"></div>? [08:23:02.0000] <AryehGregor> Worth investigating. [08:23:03.0000] <Philip`> /me suggests <pre> and ASCII art for the output, since that would be much more efficient [08:25:00.0000] <AryehGregor> jgraham, then it takes about the same time as -original, and uses much less memory than before but still over twice as much as -original (51,652k vs. 22,372k). [08:25:01.0000] <AryehGregor> Of course, -original doesn't have many actual features, it's just a custom-tailored thing that does exactly what I want, so it's not like it's a fair comparison. [08:25:02.0000] <jgraham> Before you said 31,168k [08:26:00.0000] <AryehGregor> Hmm. [08:26:01.0000] <AryehGregor> I might have been reading from the wrong line. [08:26:02.0000] <AryehGregor> about:memory in Chrome has the tab name left-aligned and the memory usage right-aligned, so there's a huge gap. [08:26:03.0000] <AryehGregor> /me closes the tab and opens a new one to check [08:27:00.0000] <AryehGregor> Now it's 32,844k. [08:27:01.0000] <AryehGregor> And -onepage has dropped to 43,916k. [08:27:02.0000] <AryehGregor> Curious. [08:27:03.0000] <AryehGregor> Maybe it's doing GC in the background? [08:27:04.0000] <jgraham> So it uses about 50% more memory without output [08:27:05.0000] <AryehGregor> Anyway, the memory usage is higher but acceptably so, it's the log that causes all the problems. [08:27:06.0000] <jgraham> That's not too surprising [08:28:00.0000] <AryehGregor> It'd be interesting to try making the log a big <ul> and see how that works. It might not be a very big improvement, since it could just be the number of nodes in the DOM that's causing the problem. [08:28:01.0000] <jgraham> I'm not sure what to do about it. The log could be generated lazily for big testsuites [08:28:02.0000] <AryehGregor> Or big testsuites could opt into an alternative log that doesn't even add passed tests to the DOM, for instance. [08:28:03.0000] <AryehGregor> Adding them but hiding them doesn't seem to help the memory usage. [08:28:04.0000] <jgraham> Yes, that would work too [08:29:00.0000] <AryehGregor> Is the log meant to be used by machines, or only people? [08:29:01.0000] <Ms2ger> Only people [08:29:02.0000] <jgraham> Only people [08:29:03.0000] <AryehGregor> Then test suites could also specify some mechanism of aggregating similar errors, the way my original harness does. [08:29:04.0000] <AryehGregor> But that would be more involved. [08:30:00.0000] <AryehGregor> Not adding passed tests to the DOM should be pretty simple. [08:30:01.0000] <AryehGregor> And for the reflection tests, it would cut the size of the DOM by 80% or so. [08:30:02.0000] <AryehGregor> Anyway, later, have to go now. [08:30:03.0000] <Ms2ger> That would make the log look rather sad :) [08:31:00.0000] <AryehGregor> Well, you could remove the "Fail" column and just have the table titled "Test failures (passes not reported)" or something. [08:36:00.0000] <matjas> hsivonen: What are your thoughts on adding `apple-touch-icon` to http://microformats.org/wiki/existing-rel-values? Feels dirty, but only as dirty as `shortcut`, amirite [08:40:00.0000] <smaug____> how do I CC someone to a chromium bug? [08:41:00.0000] <smaug____> I can't find any UI for that [08:44:00.0000] <paul_irish> smaug____: users cannot, but i can if you want [08:46:00.0000] <smaug____> users cannot, huh [08:46:01.0000] <smaug____> strange UI [08:46:02.0000] <smaug____> paul_irish: do you access to security bugs? [08:46:03.0000] <paul_irish> nope. [08:47:00.0000] <paul_irish> if its a security ticket, just mention that someone should be cc'd in the report [08:47:01.0000] <smaug____> k [08:47:02.0000] <smaug____> thanks [08:47:03.0000] <paul_irish> np [08:47:04.0000] <hsivonen> oh. matjas already left [08:48:00.0000] <hsivonen> matjas: in case you are reading the logs: I'd have expected someone to register apple-touch-icon by now and find it interesting that it hasn't been registered, yet [08:48:01.0000] <hsivonen> even tough apple-* meta names have already been registered [08:50:00.0000] <Peter`> smaug____: there is a little star you can click on each issue. That was you can cc yourself. [08:51:00.0000] <Peter`> For other people you need contributor access, or as Paul said, mention it in the ticket itself. [08:52:00.0000] <smaug____> Peter`: it was a google employee who asked to be CC'ed to a bug [08:52:01.0000] <hsivonen> OK, now I realize why the microformats.org registry isn't getting new values [08:55:00.0000] <hsivonen> The surrounding wiki page confuses people [08:56:00.0000] <hsivonen> e.g. Dom added apple-touch-icon but not to the HTML5 extension table [08:56:01.0000] <hsivonen> and the table that it got added to doesn't have the right columns for HTML5 registrations [09:00:00.0000] <hsivonen> /me pinged Dom to ask if he meant not to register those values for HTML5 use [09:00:01.0000] <hsivonen> given that he did register meta names *for HTML5 use* at the same time [09:43:00.0000] <David_Bradbury> When something in the spec says "Warning! Likely to change!" - Such as the gradiant stops in the Canvas element - does that mean if I'm developing a product now that uses that feature, I may have to change it in the future for it to work? [09:45:00.0000] <Philip`> David_Bradbury: Where does it say that? [09:47:00.0000] <Philip`> David_Bradbury: The only warning I see near there in the WHATWG spec is point at the "serialization of a color" algorithm [09:47:01.0000] <David_Bradbury> Philip`: Actually, my apologies, I thought it was pointing to the gradiant stops - It was pointing to serialization [09:47:02.0000] <Philip`> Ah, okay [09:47:03.0000] <David_Bradbury> :) [09:48:00.0000] <Philip`> That's something that's already inconsistent between browsers, I think [09:48:01.0000] <Philip`> so you can't rely on the spec's behaviour anyway [09:48:02.0000] <David_Bradbury> I just found out about whatwg today - I've always gone to the W3C - This is a nice resource! [11:21:00.0000] <Hixie> hsivonen: thanks [11:21:01.0000] <Hixie> MikeSmith: the JS was required to avoid spam bugs [11:21:02.0000] <Hixie> MikeSmith: so if you make JS no longer required, it may dramatically increase the level of spam [11:21:03.0000] <Ms2ger> Hixie, the JS was broken [11:21:04.0000] <Hixie> ah ok [11:21:05.0000] <Hixie> well then nevermind [11:31:00.0000] <Hixie> heycam|away: could you send a reply to the mail with subject line "What is the intended behaviour for undefined mandatory arguments"? [11:42:00.0000] <Hixie> oh hey, there's some sort of cvs conflict with the w3c html spec [11:42:01.0000] <Hixie> MikeSmith: is it safe for me to blow away whatever is causing that conflict? [11:54:00.0000] <beowulf> is window.innerWidth part of any whatwg spec or future spec? [11:54:01.0000] <matjas> hsivonen: I went ahead and registered `openid.server` and `openid.delegate`. [11:54:02.0000] <Hixie> beowulf: it's part of cssom view [11:58:00.0000] <beowulf> Hixie: thanks [12:07:00.0000] <beowulf> where would i be best sending a query on cssom view? [12:08:00.0000] <Ms2ger> www-style [12:08:01.0000] <Ms2ger> But the editor is touring in South America, so it might be a while [12:12:00.0000] <beowulf> 'k [13:16:00.0000] <zewt> eddie's baaaack [13:21:00.0000] <Ms2ger> I wonder how long it'll take him to figure out spamming doesn't work [13:22:00.0000] <Hixie> let me know if he does anything that requires, uh, moderator supervision [13:23:00.0000] <zewt> he's just ... noisy, heh [13:23:01.0000] <zewt> never seems to post in any threads but his own so he's easy to ignore [13:25:00.0000] <Hixie> k [13:26:00.0000] <Hixie> if anyone gets too noisy on the list let me know and i'll take care of it [13:26:01.0000] <Hixie> i don't read the list in realtime so it's hard for me to spot that kind of thing [14:02:00.0000] <jgraham> AryehGregor: So the reason to dislike implicitly adding scripts in the background is that it can be confusing [14:02:01.0000] <AryehGregor> How so? [14:02:02.0000] <jgraham> e.g. if I do document.getElementsByTagName("script")[1] in a test no realising that the test harness has inserted a script of its own [14:03:00.0000] <Ms2ger> That^ [14:03:01.0000] <jgraham> *not [14:03:02.0000] <jgraham> /me doesn't want to sound Scottish [14:04:00.0000] <AryehGregor> Hmm. [14:06:00.0000] <AryehGregor> I think that's better than requiring the extra tag, especially if lots of different people are writing a limited number of tests. [14:06:01.0000] <AryehGregor> As long as the tag is inserted unconditionally, it's easy to figure out what the problem is if you happen to hit it, which you probably won't. [14:09:00.0000] <jgraham> I think that explicit is better than implicit and that it is very few keystrokes to copy and paste the <script src="testharness.js"></script> line and add the string "report" [14:09:01.0000] <zewt> explicit isn't better than implicit when it's explicit boilerplate that's the same in everything [14:09:02.0000] <AryehGregor> Right. [14:10:00.0000] <AryehGregor> If you're worried about messing up the DOM, how about it inserts the script tag and then immediately removes it? [14:10:01.0000] <AryehGregor> The script still runs, right? [14:13:00.0000] <jgraham> zewt: Well that's a matter of taste. Python's explicit self could be seen as unnecessary boilerplate, for example [14:14:00.0000] <zewt> it's also a matter of degree [14:14:01.0000] <jgraham> AryehGregor: I would generally like to avoid doing non-obvious DOM manipulation before running tests [14:14:02.0000] <jgraham> Unless there is a compelling reason [14:14:03.0000] <jgraham> I don't think "I don't want to copy one line" is very compelling [14:17:00.0000] <AryehGregor> I think it is. :) [14:18:00.0000] <AryehGregor> I think complaints about non-obvious DOM manipulation, on the other hand, are not compelling at all unless you can give specific cases where something might break. [14:19:00.0000] <AryehGregor> Which you did for the case where the script is added and left there, but not when it's removed. [14:19:01.0000] <AryehGregor> That seems extremely harmless given that except if implementers install a custom one, the script will do nothing. [14:19:02.0000] <AryehGregor> I can't see what negative effect it could possibly have. [14:20:00.0000] <jgraham> Since the whole point is for implmentors to install a custom one, that doesn't seem like a good premise :) [14:20:01.0000] <jgraham> But the point is that if you break something to do with DOM manipulation you will sudenly get a whole bunch of test fails [14:21:00.0000] <The_8472> <AryehGregor> I can't see what negative effect it could possibly have. <- famous last words [14:21:01.0000] <jgraham> And someone (possibly me) ill have to spend their time looking at the failed tests and working out what actually went wrong [14:21:02.0000] <jgraham> *will [14:22:00.0000] <jgraham> Not doing unnecesary DOM manipulation was a design principle for the test runner [14:22:01.0000] <AryehGregor> Why is it more likely that you'll break something having to do with DOM manipulation than having to do with regular <script>s? [14:22:02.0000] <jgraham> Because script scheduling is hard? [14:23:00.0000] <jgraham> Also because in general the ECMAScript engine is a rather seperate component [14:23:01.0000] <jgraham> Changes outside the ES engine rarely break things inside the ES engine [14:23:02.0000] <AryehGregor> What kind of bug in DOM manipulation could possibly break adding and removing a script element without breaking everything anyway? [14:24:00.0000] <jgraham> I don't really want to find out :) [14:25:00.0000] <The_8472> why not ajax-load and window.eval the script? i found that to be a somewhat decent replacement for loading <script> tags into the dom [14:25:01.0000] <jgraham> But one can imagine the script failing to execute, for example, so all the tests pass but no results are reported [14:25:02.0000] <jgraham> The_8472: No. :) [14:26:00.0000] <The_8472> or rather: window.eval.apply(window,...) to set the context [14:26:01.0000] <AryehGregor> jgraham, wouldn't that break four bajillion sites as well? [14:26:02.0000] <AryehGregor> It seems like awfully basic functionality. [14:26:03.0000] <Philip`> Seems like the common case (a hundred thousand hand-written mostly-simple test cases containing the boilerplate) will be far more common than the rare case where the browser severely breaks script loading and doesn't already have loads of lower-level tests that will help identify the problem [14:27:00.0000] <Philip`> Can't the main .js file just have a "// >>>>>>>>>>>>>>>>>>>>>>> Browser vendors insert your custom code here: ... // <<<<<<<<<<<<<<<<<<<< Don't dare touch anything below this line or you'll get merge conflicts" in it? [14:27:01.0000] <AryehGregor> Right. You're arguing for a slight burden for the overwhelmingly common case, which adds up to a lot of burden if you multiply it out. In exchange for avoiding a hypothetical and unquantifiable problem, which wouldn't affect non-implementers no matter what and would only affect implementers in very implausible situations. [14:28:00.0000] <AryehGregor> That's another possibility. [14:28:01.0000] <AryehGregor> I don't think the extra include makes any sense. [14:28:02.0000] <jgraham> Philip`: The problem is that when you get a regression report with hundreds of regressions, it's hard to tell which are the simple ones that clearly identify the bug, and which are the complex ones that fail as a side efect of the bug [14:28:03.0000] <Philip`> Then the cost is just proportional to the number of browsers and the number of updates to the harness, which should be much less than the number of test cases [14:30:00.0000] <jgraham> Really, the cost per test of including one extra line is tiny. It probably takes < 1s per testcase [14:30:01.0000] <jgraham> s/case/ file/ [14:31:00.0000] <Philip`> It costs much more when you forget to include it [14:31:01.0000] <Philip`> which will probably not be uncommon [14:35:00.0000] <jgraham> 1) create a test-template.html file tht people can use for a starting point 2) make the tests not run if you fail to include it [14:36:00.0000] <jgraham> That seems to solve all those problems [14:38:00.0000] <jamesr> (sorry to jump in lacking context) are these tests intended to be completely automated (i.e. you click, it tells you how many passed)? [14:38:01.0000] <AryehGregor> jamesr, yes. [14:39:00.0000] <AryehGregor> Except without the "click" part. [14:39:01.0000] <jamesr> sure [14:39:02.0000] <AryehGregor> It runs when you load the page. [14:39:03.0000] <jamesr> and how many (order of magnitude) tests? [14:40:00.0000] <jgraham> jamesr: Unknown. Maybe 100,000 but not in 100,000 files [14:41:00.0000] <jgraham> Probably more like 1000 files [14:41:01.0000] <AryehGregor> jamesr, currently the number of test files is on the order of maybe a couple hundred, I think. [14:41:02.0000] <AryehGregor> Most only contain a few tests and run almost instantly. [14:41:03.0000] <AryehGregor> My reflection tests are one file with tens of thousands of tests, and I plan to write more like that. [14:41:04.0000] <heycam> Hixie, will do later today [14:41:05.0000] <AryehGregor> My DOM Range tests are already somewhat similar. [14:42:00.0000] <jgraham> Also the html5lib tests [14:42:01.0000] <AryehGregor> Are those also zillions of tests in one file? [14:43:00.0000] <jgraham> heycam: 04:33 < jgraham> Any opinions on what http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1013 should log? I think true, [object HTMLImageElement], undefined, but no browser agrees with me [14:43:01.0000] <jgraham> AryehGregor: Between 1 and about 5000 [14:44:00.0000] <heycam> jgraham, will check that a bit later too [14:45:00.0000] <jamesr> heycam: thanks for editing the callback stuff. i've been completely slammed [14:46:00.0000] <heycam> jamesr, no problem, I only resolved the easiest issue anyway ;) [14:49:00.0000] <jgraham> heycam: great, thanks [14:50:00.0000] <Hixie> heycam: thanks [14:53:00.0000] <Philip`> The canvas tests are 800 files already [14:54:00.0000] <Philip`> Most could probably be merged into one file easily, but some might depend on loading order so they're probably trickier [14:57:00.0000] <jgraham> Having one test per file isn't a problem [14:59:00.0000] <jamesr> heycam: i'm gonna have to skip the call, but feel free to ping me here if anything interesting comes up [14:59:01.0000] <jamesr> the agenda looked dry [15:00:00.0000] <heycam> jamesr, sure [16:17:00.0000] <AlexNRoss> Odd... W3 Validator reports: "Bad valuedofollow for attribute rel on element a: Keyword dofollow is not registered." [16:18:00.0000] <AlexNRoss> I know it's not in the HTML5 spec, however it is an initiative done by Google that was initiated some time ago; would have thought that it would have been added to the spec already. [16:44:00.0000] <heycam> /me removes "Hixe the Pixie" from the CC list of his mail [16:44:01.0000] <heycam> *Hixie 2011-06-02 [17:57:00.0000] <Hixie> AlexNRoss: did you mean "nofollow"? [18:03:00.0000] <AlexNRoss> No, I meant "dofollow". [18:03:01.0000] <Hixie> oh [18:03:02.0000] <Hixie> never heard of it [18:04:00.0000] <AlexNRoss> http://www.inlineseo.com/dofollowdiver/ [18:05:00.0000] <AlexNRoss> It encourages bots to follow the link. [18:05:01.0000] <AlexNRoss> nofollow discourages them. However, they can still go to the link. [18:06:00.0000] <AlexNRoss> It is a SEO initiative that started months ago. It's irritating that it hasn't been implemented into the spec yet; I even submitted it to the spec to be added. [18:07:00.0000] <eightfold> i'm here for the pseudo-class action [18:08:00.0000] <eightfold> a:visited:after { content: "(you've been here before)"; } [18:08:01.0000] <eightfold> should be valid? [18:09:00.0000] <heycam> jgraham, re your test, I did some similar testing recently for array index properties http://www.w3.org/mid/20110503052431.GN2576⊙wmia [18:09:01.0000] <heycam> jgraham, and I think the answer should depend on what comes out of that thread [18:10:00.0000] <heycam> the current way that named/indexed properties are handled sucks a bit [18:10:01.0000] <heycam> it's a little awkward having to look at what own properties already exist on the object, whether they're configurable or not, etc., so that they can be explicitly overwritten [18:11:00.0000] <heycam> having a [[Get]] & [[Put]] layer over the top of the object seems cleaner and easier to understand [18:12:00.0000] <heycam> I did change the spec to this "looking at what properties exist on the object and having real properties set on the object when collection elements are added" way because TC39 folks were unhappy with the custom [[Get]]/[[Put]] semantics that used to exist in the spec [18:12:01.0000] <heycam> but now they seem to be ok with it [18:12:02.0000] <heycam> (with the Proxy proposal moving forward) [18:13:00.0000] <kevogod> eightfold, Is valid code according to http://jigsaw.w3.org/css-validator/validator at least [18:13:01.0000] <heycam> jgraham, so to answer a slightly different question: what I want that test to log is true, [object HTMLImageElement], true [18:14:00.0000] <Philip`> AlexNRoss: That page says "DoFollow doesn't technically exist, instead, it is the absense of the "nofollow" tag in a link." [18:14:01.0000] <Philip`> AlexNRoss: Bots follow all links anyway (and sometimes follow things that aren't even links), there's no point explicitly marking any as followable [18:15:00.0000] <AlexNRoss> Philip`: I'm aware of this, but using "dofollow" is basically putting a big "follow this link" sign right on it. [18:16:00.0000] <Philip`> AlexNRoss: Since bots have no reason to ever care about such a sign, why put it up? [18:17:00.0000] <AlexNRoss> Philip`: It's an initiative, if people start using it, bots will use it more widely. [18:17:01.0000] <Philip`> Why would bots use it, instead of just following all links (like they do already)? [18:17:02.0000] <AlexNRoss> Philip`: https://encrypted.google.com/search?q=google+dofollow&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-CA:official&client=firefox-a [18:18:00.0000] <Philip`> That doesn't seem to be answering any questions :-p [18:20:00.0000] <AlexNRoss> Google already acknowledges it. That is what I was showing. [18:20:01.0000] <AlexNRoss> So, if it becomes official in the spec, more search engines are likely to make use of this. [18:20:02.0000] <Philip`> Where do they acknowledge it? [18:20:03.0000] <AlexNRoss> Read the search findings. [18:21:00.0000] <kevogod> ... [18:21:01.0000] <AlexNRoss> http://www.verticalmeasures.com/miscellaneous/googles-take-on-nofollow-vs-dofollow-2/ [18:21:02.0000] <AlexNRoss> Perfect example. [18:22:00.0000] <Philip`> That's just a load of people using it as a kind of pun for a phrase meaning not-nofollow [18:22:01.0000] <Philip`> i.e. for <a href> [18:22:02.0000] <Philip`> which happens to be a perfectly good way of marking up links that bots should follow [18:52:00.0000] <Hixie> AlexNRoss: nofollow doesn't actually mean "don't follow the link", it means "don't give this link any credibility" [18:52:01.0000] <Hixie> AlexNRoss: i can't find anything that suggests "dofollow" would do anything useful [19:00:00.0000] <erlehmann> nofollow is a pretty bad choice for that kind of attribute value [19:01:00.0000] <Hixie> no argument from me there [19:01:01.0000] <Hixie> heycam: btw i really think we should reconsider this foo? syntax in WebIDL [19:02:00.0000] <Hixie> heycam: having to put question marks in every IDL block is going to take me weeks [19:02:01.0000] <kevogod> Hixie, To answer eightfold's question, is a:visited:after { content: "(you've been here before)"; } valid? I do not see anything in the spec saying pseudo-elements can work with pseudo-classes. [19:02:02.0000] <Hixie> heycam: can't we do it the other way around? have an exclamation mark for the opposite case? [19:02:03.0000] <Hixie> kevogod: which spec? [19:02:04.0000] <erlehmann> kevogod, history sniffing, do you know it? i believe this will not work. [19:03:00.0000] <kevogod> Hixie, http://www.w3.org/TR/CSS2/ [19:03:01.0000] <Hixie> good lord [19:03:02.0000] <Hixie> CSS2 is over 13 years obsolete [19:03:03.0000] <Hixie> don't look at that [19:03:04.0000] <erlehmann> kevogod, i had that same trick (with a check mark :after :visited links) ruined by the history sniffing countermeasures. [19:03:05.0000] <heycam> Hixie, weeks? of course it is possible to do it the other way around for types that previously had "null" as part of them. I chose this way to avoid having both "?" and "!". [19:03:06.0000] <Hixie> kevogod: :hover::after { content: '<has hover!' } should work fine [19:03:07.0000] <heycam> Hixie, let me take a look at the html spec and determine how many "?"s would really be needed [19:03:08.0000] <erlehmann> kevogod, i believe :visited changes can only affect color. [19:04:00.0000] <Hixie> kevogod: with :link it's a bit more dodgy because of the history thing as erlehmann says [19:04:01.0000] <erlehmann> but i am too lazy looking it up. have to work on a minecraft clone. [19:04:02.0000] <erlehmann> :3 [19:04:03.0000] <Hixie> kevogod: but anyway, http://dev.w3.org/csswg/selectors3/ is where you want to go for selectors [19:04:04.0000] <Hixie> heycam: i think i would want it everywhere [19:05:00.0000] <erlehmann> kevogod, oh well. read this <http://dbaron.org/mozilla/visited-privacy> [19:05:01.0000] <heycam> Hixie, there are really no cases where you want to throw if null is passed as an argument where an object is expected? [19:05:02.0000] <Hixie> heycam: since that's what was assumed until now, so all the prose assumes null is always allowed [19:05:03.0000] <Hixie> heycam: i'm sure there's lots of cases. but they already throw. [19:05:04.0000] <heycam> Hixie, I see [19:05:05.0000] <Hixie> i could see slowly one-by-one moving them to using IDL instead of prose to require it [19:06:00.0000] <heycam> which you could do with "!"... [19:06:01.0000] <Hixie> right [19:06:02.0000] <heycam> ok, I'll think it over :) [19:06:03.0000] <dbaron> Hixie, follow the CSS2 link, it's updated [19:07:00.0000] <heycam> Hixie, do you mind to file a bug on it? [19:07:01.0000] <erlehmann> hey, dbaron, nice job ruining our :visited selector ;D [19:07:02.0000] <Hixie> dbaron: the css2 link should point to http://www.w3.org/Style/Group/css2-src/cover.html :-P [19:07:03.0000] <Hixie> heycam: sure [19:07:04.0000] <heycam> thanks [19:08:00.0000] <kevogod> Hixie, http://dev.w3.org/csswg/selectors3/#gen-content refers to the CSS 2.1 spec so it does not necessarily clarify that ::before or :after can be applied to pseudo-classes. [19:09:00.0000] <Hixie> heycam: reopened http://www.w3.org/Bugs/Public/show_bug.cgi?id=10640 [19:10:00.0000] <heycam> k [19:10:01.0000] <Hixie> heycam: if you do want to give me a diff (against the .../source file) then i probably wouldn't complain either [19:10:02.0000] <Hixie> heycam: (per your comment in there) [19:10:03.0000] <Hixie> heycam: you're one of hte few people i'd trust to not screw something like that up :-) [19:10:04.0000] <heycam> :) [19:11:00.0000] <heycam> if even with prose changes most types still get a "?", then changing to "!" would be better [19:11:01.0000] <kevogod> Nor do I see where it says a pseudo-element can be applied to a pseudo-class in http://dev.w3.org/csswg/selectors3/#pseudo-elements [19:11:02.0000] <heycam> so I will check that first [19:11:03.0000] <Hixie> there's 183 idl blocks in the spec [19:12:00.0000] <Hixie> kevogod: it's not applied to a pseudo-class [19:12:01.0000] <Hixie> kevogod: every selector can have one pseudo-element [19:12:02.0000] <Hixie> kevogod: and any number of combinators, pseudo-classes, normal classes, ids, attribute selectors, etc [19:12:03.0000] <Hixie> kevogod: (and one type selector per "chain") [19:12:04.0000] <kevogod> OK, that clears it up. Thanks Hixie. [19:13:00.0000] <Hixie> np [19:13:01.0000] <The_8472> too bad we can't style with xpath [19:13:02.0000] <Hixie> /me shudders [19:14:00.0000] <The_8472> think about it. absolutely position -> not in the flow -> i have to give the container some extra class/id just to give it dimensions [19:14:01.0000] <The_8472> with xpath that would go away [19:15:00.0000] <The_8472> but i guess that would be too expensive to parse [19:15:01.0000] <Hixie> how would you do it with xpath? [19:15:02.0000] <The_8472> ancestor axis [19:16:00.0000] <Hixie> oh well we can add that to selectors too [19:16:01.0000] <Hixie> that's not an xpath vs selectors thing [19:16:02.0000] <Hixie> selectors has intentionally avoided having such a feature because it's a perf nightmare [19:16:03.0000] <The_8472> i thought things are only supposed to go downwards/forwards in CSS [19:16:04.0000] <Hixie> right, i'm just saying that if that's what you're missing, it'd be easier to add it to selectors than replace selectors with xpath [19:17:00.0000] <The_8472> yeah, but that's just one example. i might want to do something with previous siblings instead... sibling axis [19:17:01.0000] <Hixie> my :matches(...#...) proposal handles all of that [19:17:02.0000] <The_8472> m'kay [19:18:00.0000] <TabAtkins> The_8472: Both of those are perfectly compatible with CSS, we've just avoided them for performance reasons, like Hixie said. [19:18:01.0000] <Hixie> a:matches(#+b) matches an a followed by a b sibling [19:18:02.0000] <TabAtkins> The downwards/forwards restriction means you can match selectors against an element *while* parsing a document, using only the information you've already parsed. [19:18:03.0000] <Hixie> a:matches(#>b) matches an a followed by a b child [19:18:04.0000] <The_8472> also, someone slap google for putting w3schools ontop of the results for anything web standard related [19:18:05.0000] <The_8472> their site is horrible [19:19:00.0000] <zewt> at least google finally added an "ignore this site forever" thing, heh [19:19:01.0000] <Hixie> The_8472: when you get a result, click it, hit back, then hit "block this site" [19:19:02.0000] <zewt> been wanting that for years [19:19:03.0000] <The_8472> mhm... but then i have to allow cookies for google [19:19:04.0000] <zewt> (now if only they'd stop fuzzing searches to death so i have to +prefix +every +word +of +every +search +to +make +it +not +add +typos +for +me) [19:19:05.0000] <TabAtkins> Google is your friend. Do what Google says. [19:19:06.0000] <Hixie> you really should log in to google anyway, it makes your results way better [19:20:00.0000] <Hixie> (disclaimer, tab and i work for google) [19:20:01.0000] <kevogod> Google tricks me into searching while logged in due to their universal log-in. [19:21:00.0000] <kevogod> :) [19:26:00.0000] <The_8472> Hixie, so... i could use that to select the previous sibling of a specific type too? [19:27:00.0000] <The_8472> ah, yeah. neat [19:27:01.0000] <The_8472> <TabAtkins> The downwards/forwards restriction means you can match selectors against an element *while* parsing a document, using only the information you've already parsed. <- just like C was designed to for a single-pass compiler. and we're all using multi-pass ones today ;) [19:28:00.0000] <The_8472> imo the runtime complexity class is more important than having to wait for the document to finish to load for (some) selectors. [19:29:00.0000] <The_8472> but it doesn't look like one can construct NP-hard statements with that ^^ [19:29:01.0000] <Hixie> it's not so much to allow single-pass (you already can't do that with e.g. :last-child) [19:30:00.0000] <Hixie> it's to allow you to style the document without having to do a full crawl of the entire document for each element [19:30:01.0000] <TabAtkins> The_8472: That's why there isn't any inherent restriction against that sort of thing. It's just not possible with currently-defined syntax, is all. [19:30:02.0000] <Hixie> consider *:matches(.foo) { }, for example, which would match any element if the document had a class=foo element in it [19:30:03.0000] <Hixie> for every element, you'd have to walk the entire document (modulo caching) [19:31:00.0000] <The_8472> well, but that is traversing the entire document once [19:31:01.0000] <The_8472> you could try to evaluate all those conditions at once [19:32:00.0000] <TabAtkins> Which isn't really a problem once the entire document is present, but it means that you can't determine if that selector matches until the entire document loads. [19:32:01.0000] <Hixie> or :matches(.foo .bar ~ .baz #) which for every element would require crawling huge parts of the dom and would be very difficult to cache efficiently [19:32:02.0000] <TabAtkins> ...Hixie, that's equivalent to just omitting :matches(). [19:32:03.0000] <The_8472> TabAtkins, that should be acceptable i think. fancy javascript stuff doesn't load either until the dom is there [19:32:04.0000] <Hixie> TabAtkins: that's not such a big problem, document load is just like dynamic changes to the dom [19:32:05.0000] <TabAtkins> The_8472: It's not acceptable. [19:33:00.0000] <Hixie> er, i had my example backwards [19:33:01.0000] <Hixie> i meant :matches(# .foo ~ .bar .baz) [19:33:02.0000] <TabAtkins> The_8472: You want to be able to display a page *as* it loads. [19:33:03.0000] <TabAtkins> And preferably as complete as possible, to minimize visual jank. [19:33:04.0000] <The_8472> so just display it based on the the forward-evaluateable rules [19:34:00.0000] <The_8472> you already have to do that, think of nth-last-child [19:34:01.0000] <TabAtkins> Those are *very* rarely used. [19:34:02.0000] <TabAtkins> And they do indeed slow the document down when you use them. [19:34:03.0000] <The_8472> should do that on a separate thread [19:34:04.0000] <Hixie> they don't slow the document down anywhere near as much as :matches() would :-) [19:34:05.0000] <The_8472> snapshot the graph and do some traversing to match the selectors [19:35:00.0000] <TabAtkins> Doesn't help. You're still doing multiple layouts over the same tree. Once a new selector is found to match, you have to throw away most of your progress over the subtree and start again. [19:35:01.0000] <The_8472> of course nobody designed/implemented dom with multithreading in mind :/ [19:35:02.0000] <TabAtkins> Because one value changing can percolate down via inheritance, etc. [19:35:03.0000] <The_8472> TabAtkins... same when JS does dynamic stuff on dom ready [19:36:00.0000] <The_8472> simple sites won't need it and complex sites will already be... complex [19:36:01.0000] <The_8472> but yes, it'll certainly not work well with naive implementations [19:37:00.0000] <TabAtkins> The problem is that people don't think of CSS as complex. We'd prefer that the performance impact be small before adding them. [19:37:01.0000] <Hixie> bbl [19:37:02.0000] <TabAtkins> s/naive/all current/ [19:40:00.0000] <The_8472> the loops that this combined with calc() might create are far more interesting [19:40:01.0000] <The_8472> mh, nvm [19:41:00.0000] <The_8472> it would just override it [06:24:00.0000] <karlcow> http://forums.silverlight.net/forums/p/230502/562113.aspx :D [09:07:00.0000] <MikeSmith> Hixie: I reverted the Overview.html copy in cvs to a version which you should be able to commit over without conflicts [09:08:00.0000] <MikeSmith> but if you do get conflicts, then, yeah, please do feel free to just blow it away and replace it [09:48:00.0000] <gsnedders> CSSOM View defines offsetTop giving the offset to the body element (in the case where there's no position properties). How do you find the offset of the body element to the viewport? (Or the offset of an arbitrary element to the viewport?) [11:41:00.0000] <AryehGregor> So Google's finally come out behind microdata instead of RDFa for search results, it seems. [11:42:00.0000] <AryehGregor> Apparently Microsoft and Yahoo! too, if they're backing schema.org, although I notice the whois goes to Google. [11:43:00.0000] <AryehGregor> (they clearly are backing schema.org, they've got blog posts announcing it too) [11:44:00.0000] <AryehGregor> http://schema.org/docs/faq.html#14 [11:44:01.0000] <AryehGregor> "Focusing on microdata was a pragmatic decision. Supporting multiple syntaxes makes documentation for webmasters more complex and introduces more overhead in terms of defining new formats. Microformats are concise and easy to understand, but they don't offer an open extensibility mechanism and the reuse of the class tag can cause conflicts with website CSS. RDFa is extensible and very expressive, but the substantial complexity of the language [11:44:02.0000] <AryehGregor> has contributed to slower adoption. Microdata is the most recent well-known standard, created along with HTML5. It strikes a balance between extensibility and simplicity, and is most suitable for building the schema.org. Google and Yahoo! have in the past supported both microformats and RDFa for certain schemas and will continue to support these syntaxes for those schemas. We will also be monitoring the web for RDFa and microformats adoption [11:44:03.0000] <AryehGregor> and if they pick up, we will look into supporting these syntaxes. Also read the section on the data model for more on RDFa." [11:44:04.0000] <AryehGregor> Ack, too long. I do that too often. [11:45:00.0000] <AryehGregor> The discussion group is also a Google Group. [11:46:00.0000] <erlehmann> AryehGregor, didn't hixie tell us that microdata was easier to author and understand than RDFa? [11:47:00.0000] <erlehmann> i wonder what CC is doing now for licensing information, i did my wordpress plugin for GSoC with RDFa. [11:47:01.0000] <AryehGregor> Well, yes, but until recently, Google's rich snippets mostly focused on RDFa, or at least as much as microdata. [11:50:00.0000] <AryehGregor> Awesome, a PAM update on Ubuntu a couple of days ago broke cron and at. How many systems will that wind up completely wrecking, I wonder? [12:18:00.0000] <AryehGregor> Hmm. [12:18:01.0000] <AryehGregor> In the execCommand() use-case, is there really any notable difference between <div align=right> and <div style="text-align: right">? [12:19:00.0000] <AryehGregor> The only obvious differences I can think of involve things like fixed-width block descendants, which you can't really get in a normal contenteditable setup. [12:21:00.0000] <Ms2ger`> Tables? [12:21:01.0000] <AryehGregor> There's no way to make those with execCommand() either, actually, that I've seen. Although you'd think there should be. [12:21:02.0000] <AryehGregor> Seems like a pretty obvious feature to add. [12:23:00.0000] <AryehGregor> I guess I'll spec it as text-align across the board for now, and change it if any problems arise. [12:56:00.0000] <erlehmann> AryehGregor, it is ubuntu. whoever runs that should know that updates break stuff, even deliberately, see unity. [12:56:01.0000] <AryehGregor> That's a major version upgrade, not a security update. [12:59:00.0000] <zewt> heh, i stopped using ubuntu after yet another major update totally hosed my system ... don't think I've ever had one go well [13:14:00.0000] <Philip`> I always mix up "microformats" and "microdata" when reading [13:14:01.0000] <Philip`> Probably would have been good if they'd had distinct prefixes [13:23:00.0000] <Hixie> "microdata" wasn't really ever intended to be a brand [13:24:00.0000] <Hixie> that one just kinda got away from me [13:24:01.0000] <Hixie> it was just meant to be descriptive, the same way that the html spec uses "microsyntax" [14:44:00.0000] <linclark> can itemprop take multiple values? [15:07:00.0000] <The_8472> mhhh... do border images support gradients instead of url() images? [15:13:00.0000] <The_8472> i guess not [15:15:00.0000] <The_8472> well, the css3 border spec and the css3 images spec contradict each other [15:16:00.0000] <The_8472> i see , they use the css2.1 definition [15:26:00.0000] <Hixie> linclark: "The itemprop attribute, if specified, must have a value that is an unordered set of unique space-separated tokens that are case-sensitive, representing the names of the name-value pairs that it adds. The attribute's value must have at least one token." [15:26:01.0000] <Hixie> linclark: in other words, "yes" [15:27:00.0000] <linclark> Hixie: thanks! [16:02:00.0000] <zcorpan> Hixie: how would you name microdata had you intended to give it a brand? [16:13:00.0000] <Hixie> zcorpan: i dunno, that's one of those things that takes careful thought [16:13:01.0000] <jgraham> Not die-rdfa-die-data then? :) [16:15:00.0000] <AryehGregor> Am I the only one who thinks it's crazy whenever people say how bad localStorage is and imply everyone should use IndexedDB instead? [16:15:01.0000] <AryehGregor> IndexedDB is *horrifyingly* complicated. [16:16:00.0000] <AryehGregor> And there's no persistent storage either implemented, specced, or planned other than IndexedDB and localStorage, that I know of (leaving aside WebSQL, since it has no future). [16:17:00.0000] <Hixie> cookies? :-) [16:17:01.0000] <Hixie> zewt: implementation complexity does matter [16:17:02.0000] <AryehGregor> Fine, no persistent storage that a) actually persists, b) does not have to be sent on every HTTP request, c) can be more than a few KB. [16:18:00.0000] <zewt> other than the annoying global lock problem, i don't think there's anything bad about localStorage; it's very natural to the platform [16:18:01.0000] <AryehGregor> zewt, it's synchronous. That's bad if you need to do a bunch of disk access. [16:18:02.0000] <AryehGregor> Because it freezes the UI. [16:18:03.0000] <zewt> well, that and the fact that everything's forever stuck at 5MB, because when you say "we'll set it at 5MB and increase it later", that apparently means "we'll set it at 5MB and then never change it" [16:18:04.0000] <AryehGregor> I don't know if that's a big problem, though. [16:18:05.0000] <AryehGregor> Yeah, but that's probably going to be true for IDB and everything else too. [16:18:06.0000] <zewt> 5MB is just patently absurd, heh [16:20:00.0000] <zewt> that can still be fixed, though, it's nothing baked in--just nobody's bothering to do so (as far as I know) [16:20:01.0000] <AryehGregor> It should really be more flexible. [16:20:02.0000] <AryehGregor> It would be better if there were no guarantees that the storage would be permanent, then you could be much more generous up front. [16:21:00.0000] <AryehGregor> There realistically aren't any guarantees that the storage is permanent anyway. [16:22:00.0000] <zewt> and there's pushback from implementors from exposing whether it is (eg. chrome's porn mode) [16:22:01.0000] <zcorpan> AryehGregor: flash cookies? [16:22:02.0000] <zewt> i don't think making it bigger but nonpersistant is much of a win, though; the entire point is persisting [16:23:00.0000] <zewt> 50MB would be a saner default than 5MB, though, really [16:23:01.0000] <AryehGregor> zewt, it only persists until the user clears cookies, or uses a different browser or whatever. [16:23:02.0000] <AryehGregor> So typical uses can't rely on it persisting anyway. [16:23:03.0000] <pdr3> Persisting? Or caching? :) [16:23:04.0000] <zewt> depends on what you mean by "persist", but yeah [16:23:05.0000] <AryehGregor> It really depends how many sites use it. [16:24:00.0000] <AryehGregor> Twenty sites all using close to the 50 MB limit would make users quite unhappy. [16:24:01.0000] <Hixie> localStorage, IndexDB, and Cookies had better all have the same lifetime [16:24:02.0000] <zewt> i really don't see every site filling up 50MB (or even 1MB) of localStorage if 50MB is given by default [16:24:03.0000] <AryehGregor> At least some users. [16:24:04.0000] <AryehGregor> Realistically, most wouldn't notice, but . . . [16:24:05.0000] <Hixie> otherwise you get cookie resurrection [16:24:06.0000] <AryehGregor> You don't need every site to do it, you just need a small percentage. [16:24:07.0000] <zewt> i mean, I get the concern of not wanting every site a user visits taking up 50MB (for example) of space, but I don't think that's a likely end result [16:24:08.0000] <Hixie> zewt: the problem isn't hte good sites [16:24:09.0000] <Hixie> zewt: the problem is the hostile sites [16:24:10.0000] <AryehGregor> Even if you visit the site only once, it will persist forever, after all. [16:24:11.0000] <Hixie> zewt: the good sites you can grant GBs of access to [16:25:00.0000] <AryehGregor> I'm not even considering DoS here. [16:25:01.0000] <AryehGregor> Just accumulation over time. [16:25:02.0000] <zewt> sure, I just don't see giving 50MB to all sites as something likely to blow up [16:25:03.0000] <Hixie> my point is the 5MB isn't intended to be used by the good sites [16:25:04.0000] <Hixie> it's just supposed to be enough to do minor stuff that isn't problematic [16:25:05.0000] <Hixie> like storing prefs [16:25:06.0000] <Hixie> if you're serious about using the site, you grant it more [16:25:07.0000] <Hixie> much more [16:26:00.0000] <zewt> that would be fine, except as far as I know implementations don't implement the "grant it more" path [16:26:01.0000] <Hixie> file bugs [16:26:02.0000] <zewt> yelling out my window feels as likely to help :) [16:30:00.0000] <zewt> is localStorage sync per spec? doesn't seem like it needs to be--would make more sense to only guarantee atomicity, and to make updates async [16:31:00.0000] <AryehGregor> Well, it's sync in the JavaScript sense. [16:31:01.0000] <AryehGregor> Just because the API is sync. [16:31:02.0000] <AryehGregor> Of course browsers don't have to do sets synchronously. [16:31:03.0000] <AryehGregor> I assume they don't. [16:31:04.0000] <AryehGregor> They probably write it and return immediately without fsync()ing. Or I'd hope they do, anyway. [16:31:05.0000] <Hixie> filing bugs does help [16:32:00.0000] <AryehGregor> But for gets, kind of hard to avoid synchronous disk reads if the API is synchronous. [16:32:01.0000] <zewt> could just read the whole thing in on the first read--which is still sync, but just once [16:32:02.0000] <zewt> (given that, even putting aside the 5MB thing, localStorage is not going to be huge) [16:33:00.0000] <zewt> my experience with filing bugs on Firefox is that I get annoying bugzilla mails for years and that's about it, heh [16:33:01.0000] <zewt> i find it amusing that when I unsubscribe from a bug because it emails me too much, it emails everyone else on the bug telling them that I unsubscribed [16:35:00.0000] <Hixie> what if there's more data stored than memory available? [16:35:01.0000] <Hixie> it only e-mails them if they opted in to getting mails about changed to the cc list [16:36:00.0000] <zewt> having that much data doesn't seem like a case for localStorage (but of course browsers can decide whether to pre-cache localStorage heuristically) [16:39:00.0000] <zewt> i guess there are also the more complex structured clone cases, like File, where you may have to cross-check mtimes or whatever--so even in 5MB, you may have thousands of File objects that would need to be verified synchronously 2011-06-03 [17:58:00.0000] <Hixie> foolip: yt? [17:58:01.0000] <Hixie> or anyone who has opinions on video really [17:58:02.0000] <Hixie> consider a video that has one frame per minute [17:58:03.0000] <Hixie> with lots of audio [17:59:00.0000] <Hixie> the UA manages to download half of this file, but stops exactly on the boundary between two frames [17:59:01.0000] <Hixie> so it has frames 1 and 2, say, along with their audio, but doesn't have frame 3 or any of its audio [17:59:02.0000] <Hixie> where should playback stop? as frame 3 starts, or as frame 2 starts? [18:00:00.0000] <Hixie> i presume "as frame 3 starts" [18:00:01.0000] <Hixie> hmm [18:07:00.0000] <nessy> yes, I think so [18:07:01.0000] <nessy> what's the consequence? where are you changing things? [18:07:02.0000] <zewt> Hixie: you should print all of your batch emails and sell the Hixie-opedia [18:09:00.0000] <Hixie> nessy: just trying to clean up a mess i did a few months ago [18:09:01.0000] <Hixie> zewt: he [18:09:02.0000] <Hixie> h [18:09:03.0000] <nessy> yeah, your batch emails are epic :-) [18:10:00.0000] <Yuhong> I posted a bit about the history of presentational markup on Slashdot: [18:10:01.0000] <Yuhong> http://slashdot.org/comments.pl?sid=2201100&cid=36304692 [18:17:00.0000] <zewt> quote on the left page, hixie response on the right; flip through and see how many pages just say "indeed" :) [18:20:00.0000] <Yuhong> zewt: What are you referring to? [18:20:01.0000] <zewt> just the hixie-indeed :P [18:21:00.0000] <nessy> Hixie: as you just looked at chapters/captions etc - I just noticed in http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#sourcing-out-of-band-text-tracks a weird action [18:21:01.0000] <nessy> where chapters are turned on, it says: [18:21:02.0000] <nessy> "If there is a http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#text-track in the http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#media-element's http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#list-of-text-tracks whose http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#text-track-mode is http://www.whatwg.o [18:22:00.0000] <Hixie> um [18:22:01.0000] <Hixie> can you paste that without hte urls? :-) [18:22:02.0000] <nessy> ah damned Adium [18:22:03.0000] <nessy> If there is a text track in the media element's list of text tracks whose text track mode is showing by default, the user agent must furthermore change that text track's text track mode to hidden. [18:23:00.0000] <nessy> I read that as: when a chapter track is turned on it turns off all other tracks [18:23:01.0000] <nessy> no matter what kind they are [18:23:02.0000] <nessy> is that intended? [18:23:03.0000] <Yuhong> zewt: I mean, what page are you referring to? [18:24:00.0000] <zewt> err, any of hixie's Big Emails [18:24:01.0000] <zewt> (it was just a random comment as I'm reading through one of said Emails, there was no deeper meaning, heh) [18:25:00.0000] <Hixie> nessy: looking [18:26:00.0000] <Hixie> nessy: hm yeah that's bogus. will fix. [18:26:01.0000] <nessy> ta [18:28:00.0000] <Hixie> fixed. [18:30:00.0000] <nessy> also a question: what happens when there are more than one chapter track - is none of them enabled or the first one? [18:38:00.0000] <Yuhong> ". They seem to work with HTML, because text/html user agents are lenient and try to cope with broken HTML. The most common mistakes involve not escaping markup-significant characters or escaping them twice." [18:39:00.0000] <Yuhong> What do you think most XSS attacks come from? [18:39:01.0000] <Hixie> nessy: that seems to be defined by those steps already [18:39:02.0000] <Hixie> nessy: is it not clear? [18:40:00.0000] <nessy> Hixie: I assume when there are more then one, none is active - that's how I read it [18:40:01.0000] <Yuhong> Of course, there is also the U+FFFF problem in XML. [18:40:02.0000] <nessy> Hixie: but I think if we turn one on when there is only one, we should also turn one on when there are several [18:41:00.0000] <nessy> Hixie: or we should allow the default attribute on them to choose it, in addition to a subtitle/caption track [18:41:01.0000] <Hixie> nessy: i don't understand how you read the current text to mean what you describe [18:42:00.0000] <Yuhong> hsivonen: I think you should mention U+FFFF in http://hsivonen.iki.fi/producing-xml/ [18:42:01.0000] <nessy> Hixie: I'm also taking in the information from the bug 11842 that you posted: "For "chapters", one chapter track is always enabled regardless of the "default" [18:42:02.0000] <nessy> > attribute, so adding this doesn't seem useful." [18:43:00.0000] <nessy> Hixie: I read this to mean that one chapter track is always showing [18:43:01.0000] <Yuhong> considering it is common even in application/xhtml+xml [18:43:02.0000] <nessy> Hixie: maybe I am misreading - what is your intention? [18:43:03.0000] <Hixie> nessy: the spec is all that matters, don't listen to what i say :-) [18:43:04.0000] <nessy> lol [18:44:00.0000] <nessy> Hixie: so I cannot turn a chapter track on by default as well as a subtitle track using the default attribute? [18:44:01.0000] <Hixie> "default" can only be set on one text track at a time [18:44:02.0000] <Hixie> but there's no need to set a chapter track to be the default track [18:45:00.0000] <nessy> why not? [18:45:01.0000] <nessy> if I want one of a set of chapter tracks to be on as well as one of a set of subtitles? [18:46:00.0000] <Hixie> it'll be one anyway [18:46:01.0000] <Hixie> s/one/on/ [18:51:00.0000] <nessy> Hixie: and what will be on when there are several chapter tracks? [18:52:00.0000] <Hixie> whichever is the most appropriate one for the user [18:52:01.0000] <Hixie> is the spec really not clear about this? [18:52:02.0000] <Hixie> i don't understand what is confusing about the spec text [18:55:00.0000] <nessy> Hixie: it's when you have multiple tracks of the same language and the UA cannot decide which one is most appropriate for the user that it becomes a random decision and incompatible between browsers, IIUC [18:55:01.0000] <nessy> (possibly incompatible) [18:56:00.0000] <nessy> I assumed it meant that none is active [18:57:00.0000] <Hixie> it wouldn't be random [18:57:01.0000] <Hixie> why would it be random? [18:57:02.0000] <Hixie> the spec is completely deterministic here [18:58:00.0000] <nessy> re-reading… : the first one of the appropriate language? [18:58:01.0000] <Hixie> right [18:58:02.0000] <nessy> OK, my bad :-) thanks [21:59:00.0000] <eboyjr|mobile> Does anyone know what software is used to create this? http://hixie.ch/specs/html/server-sent-events/server-sent-events [21:59:01.0000] <eboyjr|mobile> Just like the w3c specs [22:00:00.0000] <eboyjr|mobile> Hixie: hello :) [22:15:00.0000] <heycam> eboyjr|mobile, http://anolis.gsnedders.com/ I believe [22:17:00.0000] <eboyjr|mobile> heycam: yeah that looks like that's it, thanks for finding it [01:21:00.0000] <MikeSmith> so the new Google +1 button relies on an "g:plusone" element? [01:48:00.0000] <hober> yeah, groan [01:54:00.0000] <nessy> does somebody here have access to the whatwg mailing lists and can make sure the "video feedback" email from Hixie is archived? [01:54:01.0000] <nessy> I can only find Glenn's answer in the archives, but not Hixies original one on that thread: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-June/031898.html [01:54:02.0000] <nessy> I think it may be stuck in moderation because it's very long [01:58:00.0000] <Ms2ger> /me sets mode: +b webben!~benjamin⊙1scc [02:00:00.0000] <foolip> Hixie, I think it should stop on the (time of) last frame it actually has, otherwise it doesn't make sense to display that last frame, which we certainly want to [02:20:00.0000] <zewt> i'd expect playback to stop as soon as something is needed for playback that isn't there [02:21:00.0000] <zewt> which would be when frame 3 starts [06:11:00.0000] <smaug____> Hixie: ping [06:22:00.0000] <smaug____> Hixie: just curious why any other interface than Function uses FunctionOnly. [06:44:00.0000] <hsivonen> why did Google switch from hyphened-words to camelCase for Rich Snippets? [06:46:00.0000] <Ms2ger> /me sets mode: -b webben!~benjamin⊙1scc [08:10:00.0000] <hsivonen> does anyone know if rel=pgpkey is supported by anything other than Jacques Distler's blog? [08:18:00.0000] <matjas> hsivonen: Thanks for your comment. I simply forgot to register apple-touch-icon-precomposed as well; my bad. Registering now. [08:20:00.0000] <matjas> hsivonen: Oh and since you asked, -precomposed actually works. Android doesn’t fully support that one though. Read http://mathiasbynens.be/notes/touch-icons#effects if you’re interested. [08:20:01.0000] <hsivonen> matjas: ok. [08:21:00.0000] <hsivonen> so which UAs actually implement rel processing per spec? [08:21:01.0000] <matjas> hsivonen: just edited http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions [08:21:02.0000] <hsivonen> if IE and Mobile Safari don't [08:21:03.0000] <hsivonen> is correct processing a Gecko & Opera thing or something? [08:21:04.0000] <matjas> That’s a good question. [08:23:00.0000] <hsivonen> matjas: the validator will be aware of -precomposed once it finishes its deployment dance [08:24:00.0000] <matjas> hsivonen: yay! [08:24:01.0000] <matjas> I’ve also added openid.delegate and openid.server; have you added those as well? [08:24:02.0000] <hsivonen> matjas: yes. I also added the openid2 thingis [08:24:03.0000] <hsivonen> *thingies [08:25:00.0000] <hsivonen> even though it's not a good sign that a group (OpenID) is so quick to push an incompatible version of their initially successful protocol [09:23:00.0000] <MikeSmith> hsivonen: the openoffice user experience is so painful that I find a hard time caring who's in charge of it [09:48:00.0000] <sephr> Hixie: why do some events use detail:any and some use data:any? e.g. MessageEvent.data:any vs CustomEvent.detail:any [09:50:00.0000] <smaug____> sephr: in that particular case, .detail makes IMO more sense for CustomEvent since it is "detail" of that event. Messages need some data, so .data [09:50:01.0000] <smaug____> sephr: also, in practice CustomEvent interface is really old [09:50:02.0000] <sephr> yeah, but why was detail chosen to begin with? [09:50:03.0000] <sephr> because MessageEvent.data is "detail" of message events too [09:50:04.0000] <sephr> but it's data, not detail [09:51:00.0000] <smaug____> sephr: ask someone who edited DOM 3 Events 10 years ago [09:51:01.0000] <sephr> heh [09:52:00.0000] <smaug____> .detail feels quite natural in DOM 3 Events, since also UIEvents have .detail [09:52:01.0000] <sephr> yeah [09:52:02.0000] <sephr> maybe it's messageevent that is "wrong" [09:52:03.0000] <smaug____> .data sounds right in message events [09:52:04.0000] <smaug____> message events are containers for some data [09:53:00.0000] <sephr> smaug____: then .message would make the most sense [09:53:01.0000] <sephr> with customevents you don't know anything about what they will contain, so data seems more generic [09:54:00.0000] <Ms2ger> Meh, names [09:54:01.0000] <smaug____> anyway, these interfaces are something which probably can't be changed anymore [09:54:02.0000] <smaug____> at least their .data/.detail attributes [09:56:00.0000] <MikeSmith> earthquake [09:56:01.0000] <MikeSmith> 5. [09:57:00.0000] <MikeSmith> 5.9 u Fukushima [09:59:00.0000] <karlcow> hmm [10:05:00.0000] <karlcow> http://www.jma.go.jp/en/quake/2/20110604010419391-040100.html [10:07:00.0000] <Philip`> Their colours for "4" and "1" look almost identical to me :-( [10:14:00.0000] <karlcow> ah interesting [10:14:01.0000] <karlcow> I would have thought 3 and 2 [11:19:00.0000] <AryehGregor> /me notes that Gecko and WebKit accept {delete: 1} as a valid object initializer, but IE and Opera throw a syntax error [11:20:00.0000] <AryehGregor> I'm pretty sure ES5 supports Gecko and WebKit. [11:20:01.0000] <AryehGregor> Actually, almost totally sure. [11:21:00.0000] <AryehGregor> No, wait, my bad, IE supports it. [11:22:00.0000] <AryehGregor> Only Opera doesn't. [11:23:00.0000] <AryehGregor> Opera also seems to not like x.delete. [11:25:00.0000] <AryehGregor> /me would file a bug at this point if he were able to track its progress, since it seems like something that would be relatively likely to get fixed soon if reported, but . . . [11:29:00.0000] <Philip`> AryehGregor: The likelihood of it getting fixed is probably independent of your ability to track its progress, if it's something simple like that, and merely satiating your personal curiosity over progress seems less important than leading the web to its full potential by getting such bugs fixed [11:31:00.0000] <AryehGregor> Philip`, getting such a bug fixed is a sufficiently small contribution toward leading the web to its full potential that I have no qualms about not doing it if I don't have a more personal stake in the matter. Particularly since a) I would have to interrupt work I'm being paid for on an hourly basis to file the bug; and b) I mentioned it in a channel where lots of Opera employees hang out, and they would in fact be able to file it on paid ti [11:31:01.0000] <AryehGregor> me. [11:34:00.0000] <othermaciej> AryehGregor: ES5 has the concept of contextual keywords [11:35:00.0000] <othermaciej> AryehGregor: ones that are not treated as keywords when they appear in a position like a property name in an object initializer [11:35:01.0000] <AryehGregor> othermaciej, really? Where does it say that? As far as I can see, it's more like *nothing* is a keyword when used as a property name in an object initializer, because it's an IdentifierName instead of an Identifier. [11:35:02.0000] <othermaciej> that might be true [11:36:00.0000] <AryehGregor> Actually, if I read the spec correctly, {null: "a"} is the same as {"null": "a"}. Which is slightly confusing. [11:36:01.0000] <othermaciej> /me has no idea [11:36:02.0000] <othermaciej> why is that confuing? [11:36:03.0000] <othermaciej> property names are always strings, so obj[null] is by definition the same as obj["null"] [11:36:04.0000] <AryehGregor> Because I'd expect that {null: "a"} means "use the special value null as a key", not "use the string 'null' as a key and just don't bother with the quotes". [11:36:05.0000] <AryehGregor> Oh, I see. [11:37:00.0000] <othermaciej> it would only be confusing maybe if there was a keyword that has a different value than its own stringification [11:37:01.0000] <AryehGregor> So it's like PHP, foo[1] is the same as foo["1"]. [11:37:02.0000] <othermaciej> yes [11:37:03.0000] <AryehGregor> That's not confusing, then, no. [11:37:04.0000] <othermaciej> though of course implementations optimize the heck out of numeric property names, at least for arrays [11:37:05.0000] <AryehGregor> Well, that's not like PHP, then. ;) [11:38:00.0000] <AryehGregor> /me has not noticed anything optimized the heck out of in PHP [11:38:01.0000] <AryehGregor> Tim Starling is MediaWiki's resident PHP performance guru, and he tells everyone not to use objects, strings, numbers, arrays, or booleans, because all of them are horribly inefficient. [11:39:00.0000] <AryehGregor> Instead, we should use MySQL result resources, because those are actually efficient. [11:39:01.0000] <zewt> (i just threw up a little in my mouth) [11:39:02.0000] <AryehGregor> (this is taken slightly out of context and may be overgeneralized compared to his original statement) [11:39:03.0000] <AryehGregor> (but MediaWiki does try to use MySQL result resources whenever possible instead of converting them to arrays, because they use ridiculously less memory than any built-in type) [11:40:00.0000] <AryehGregor> (e.g., we have Title objects to represent page titles, and instead of keeping arrays of Titles, we have a TitleArray class which just keeps a MySQL result resource you feed it and generates the Title objects on the fly as you request them) [11:40:01.0000] <AryehGregor> (I think I remember hearing that minimum size of an array in PHP is something like 80 bytes per item) [11:41:00.0000] <AryehGregor> /me gets curious, tests [11:43:00.0000] <AryehGregor> http://pastebin.com/2WwB83k2 [11:44:00.0000] <AryehGregor> This outputs 103.5 on my 32-bit desktop, and 199 on my 64-bit server. [11:45:00.0000] <AryehGregor> That's the number of megabytes PHP uses when I create a million-element array whose keys are the integers from 0 to 999999 and whose values are all 0. [11:45:01.0000] <AryehGregor> /me tries something like that in JS [11:47:00.0000] <AryehGregor> A similar-ish test in Chrome suggests around 4.5 MB, although it's not really an apples-to-apples comparison. [11:47:01.0000] <AryehGregor> But 4.5 MB is only slightly more than you'd get in C, so pretty good. [11:47:02.0000] <AryehGregor> /me gets back to work [12:07:00.0000] <rudak> http://d-cent.org/fsw2011/ [12:36:00.0000] <Hixie> foolip: yt? [12:46:00.0000] <AryehGregor> Does Opera not yet support SVG in <img>? [12:47:00.0000] <AryehGregor> It seems like it does, but it's not working on this page, hmm. [12:48:00.0000] <AryehGregor> Oh, it seems to not like it if I set width/height on it. [12:48:01.0000] <AryehGregor> No, that's not it . . . [12:49:00.0000] <AryehGregor> Oh, now it's working. Oh well. [13:31:00.0000] <AryehGregor> Opera also doesn't let var parent shadow window.parent, which all other browsers do. [13:33:00.0000] <Hixie> there's some bug on exactly how to specify that [13:35:00.0000] <Hixie> AryehGregor: see bug 12100 for a question (at the bottom) [13:38:00.0000] <AryehGregor> Hixie, I don't see where you changed atob()/btoa(). [13:39:00.0000] <AryehGregor> Basically DOMStrings are arrays of 16-bit integers, and btoa()/atob() should work fine as long as you don't do anything silly like assume DOMStrings have anything to do with UTF-16. [13:39:01.0000] <AryehGregor> Probably everything that references to characters and code points should be ripped out of all DOM-related specs. [13:40:00.0000] <AryehGregor> s/references/refers/ [13:40:01.0000] <AryehGregor> (except where the string actually needs to be displayed, then you need to convert it to Unicode somehow for display) [13:40:02.0000] <AryehGregor> (also maybe during parsing or something) [13:41:00.0000] <AryehGregor> (but not regular old DOM methods, those don't deal with Unicode at all in practice) [13:41:01.0000] <Hixie> what i did was remove the stuff that said to "convert DOMString to unicode" [13:42:00.0000] <AryehGregor> That should make everything correct, except maybe for stuff that actually displays things on the screen. [13:42:01.0000] <AryehGregor> Like alert(). Although I don't know if that uses the spec's algorithm or some other algorithm. [13:42:02.0000] <Hixie> yeah i don't know what to do about that [13:42:03.0000] <AryehGregor> When you parse a document, does all the text wind up being valid Unicode in the DOM? [13:43:00.0000] <Hixie> what do you mean by "valid unicode"? [13:43:01.0000] <AryehGregor> It doesn't matter, you can always get a DOM that contains invalid UTF-16 by setting it programmatically. [13:43:02.0000] <Hixie> what do you mean by "UTF-16"? [13:44:00.0000] <AryehGregor> I mean you can set a text node's content to contain arbitrary DOMStrings, including unpaired surrogates. [13:44:01.0000] <AryehGregor> And browsers have to deal with that anyway. [13:44:02.0000] <Hixie> yes [13:44:03.0000] <AryehGregor> So presumably, however they deal with it, they deal with alert() the same way. [13:44:04.0000] <AryehGregor> I imagine alert() is actually displayed using the DOM in at least some browsers. [13:44:05.0000] <AryehGregor> Not if they use OS modal pop-ups, I guess. [13:45:00.0000] <AryehGregor> But it seems fair to say that unpaired surrogates in alert() get handled the same as unpaired surrogates in text nodes, as Henri says. [13:45:01.0000] <AryehGregor> Is behavior defined for the latter? [13:45:02.0000] <Hixie> not as far as i can tell [13:46:00.0000] <The_8472> utf-16 strikes me as an odd choice considering that it's 32bit wide now. you have no character-counting benefits or anything from wasting those bytes. might as well use utf-8... [13:46:01.0000] <AryehGregor> So then we're probably fine, unless we want to define that behavior. [13:46:02.0000] <AryehGregor> Which is low-priority at best, since it only matters in weird situations and the effects are only visual. [13:47:00.0000] <AryehGregor> As long as browsers don't do something stupid like throw an exception or refuse to display anything at all, interop is unlikely to be essential here. [13:47:01.0000] <AryehGregor> The_8472, yeah, we'd all love it if JavaScript used UTF-8, but it's way way way too late to change, so here we are. [13:47:02.0000] <Hixie> what is 32 bit wide? [13:47:03.0000] <The_8472> the unicode planes [13:47:04.0000] <Hixie> unicode is 21 bit wide [13:48:00.0000] <Hixie> (with holes) [13:49:00.0000] <The_8472> well, the point is that with utf-32 you at least have 1 word per character, which makes some calculations easier. utf16 doesn't have that benefit [13:50:00.0000] <AryehGregor> Yes, UTF-16 was a terrible mistake and should never have existed. UTF-8 is superior in essentially all respects. [13:50:01.0000] <Hixie> yeah, utf-16 is pretty much pointless. but we're like 15 years too late to fix that. [13:50:02.0000] <The_8472> yeah :/ [13:50:03.0000] <AryehGregor> So everything new uses UTF-8 only. [13:50:04.0000] <Hixie> (for the web) [13:50:05.0000] <AryehGregor> Like WebSockets, right? [13:50:06.0000] <AryehGregor> But old stuff is stuck. [13:50:07.0000] <Hixie> websockets is complicated in all manner of ways but i'll let the hybi people deal with that [13:50:08.0000] <Hixie> their encoding issues are Not My Problem [13:51:00.0000] <The_8472> websockets are crazy anyway. using http means you can't just implement old protocols in javascript... they should have specified a proper socket API, including listening ports [13:51:01.0000] <The_8472> then we could run IRC in javascript or fun things like that [13:52:00.0000] <AryehGregor> Um, WebSockets doesn't use HTTP. [13:52:01.0000] <The_8472> really? maybe i was thinking of the wrong standard then [13:52:02.0000] <AryehGregor> At least last I checked. [13:52:03.0000] <Hixie> arbitrary sockets in JS would be such a security disaster [13:53:00.0000] <Hixie> websockets can be viewed as using http and viewed as not using http [13:53:01.0000] <Hixie> if you're an ietf person, you will view it as using http [13:53:02.0000] <The_8472> http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07 <- sure looks like HTTP to me [13:53:03.0000] <Hixie> in reality it's just a lie though [13:54:00.0000] <Hixie> it's really just doing stuff that vaguely looks like http [13:54:01.0000] <The_8472> same difference [13:54:02.0000] <The_8472> the point is that you have to deal with those pre-defined headers [13:56:00.0000] <Hixie> if you mean "there's a handshake", then yeah, there'd better be [13:56:01.0000] <Hixie> otherwise like i said, security dis-as-ter [13:56:02.0000] <The_8472> i don't see how [13:57:00.0000] <Hixie> say you're in an intranet environment [13:57:01.0000] <The_8472> unless someone would be so silly and would automatically let all sites use sockets. operating systems don't do that either (anymore) [13:57:02.0000] <Hixie> and you go to hostile.com [13:57:03.0000] <Hixie> now hostile.com can read your intranet [13:57:04.0000] <The_8472> well, i didn't allow hostile.com to make any connections [13:57:05.0000] <Hixie> how do you propose to prevent it? [13:57:06.0000] <The_8472> just like i didn't allow gimmickyprogramijustdownloaded.exe to go through my firewall [13:57:07.0000] <zewt> your mom probably does [13:58:00.0000] <The_8472> my mom doesn't sit in my company's network [13:58:01.0000] <zewt> so? [13:58:02.0000] <Hixie> no but she sits on her network and it's just as bad, because now any website can use your computer to launch a worm against any vulnerable services on your network [13:58:03.0000] <Hixie> s/your/her/ [13:58:04.0000] <The_8472> again, this is a solved problem [13:59:00.0000] <The_8472> just like we have software firewalls in the operating system you can have the same type of whitelisting in the browser [13:59:01.0000] <AryehGregor> The_8472, we're talking about letting any website you visit open a connection. [13:59:02.0000] <The_8472> add a blacklist for the local network to protect yourself [13:59:03.0000] <The_8472> AryehGregor, no we aren't [13:59:04.0000] <AryehGregor> We are. Maybe you aren't. [13:59:05.0000] <AryehGregor> Any website can use WebSockets. [13:59:06.0000] <The_8472> some people here don't seem to understand the concept of "opt-in" [14:00:00.0000] <AryehGregor> That's not what WebSockets is designed for. [14:00:01.0000] <AryehGregor> If you want that, write a browser extension and use real sockets. [14:00:02.0000] <AryehGregor> Or just write a real program. [14:00:03.0000] <The_8472> designing web APIs on an opt-out basis have lead to such things as ever-lasting tracking cookies. someone should have realized by now that that's a bad idea [14:01:00.0000] <zewt> having the user decide whether to allow a site/program to open a socket to a particular host is guaranteed not to work; users don't know what sockets are [14:01:01.0000] <AryehGregor> The entire point of WebSockets is that any website can use them. Thus they have to be safe. [14:01:02.0000] <Hixie> software firewalls whitelisting apps is _not_ a solved problem [14:01:03.0000] <Hixie> it's a huge problem [14:01:04.0000] <zewt> you can do that for some things (users understand "let this website know where I am" for geoip), but for network communications? not a chance [14:01:05.0000] <Hixie> users do not understand the prompts and allow everything [14:01:06.0000] <AryehGregor> What alternative do you propose to allowing tracking cookies, asking the user whether they want to accept every single cookie that a site tries to set? [14:01:07.0000] <zewt> (geolocation, rather) [14:01:08.0000] <The_8472> well, then they shot themselves in the foot [14:01:09.0000] <AryehGregor> That's just not sane as default behavior. You can configure your browser that way if you want. [14:01:10.0000] <The_8472> their own problem [14:01:11.0000] <zewt> asking the user permission for everything is the worst last-ditch almost guaranteed-failure security mechanism [14:01:12.0000] <AryehGregor> No, not their own problem, it's everyone's problem. [14:01:13.0000] <Hixie> The_8472: it's OUR problem [14:02:00.0000] <zewt> no, having a platform where every user is expected to be a network security expert would not be their problem [14:02:01.0000] <AryehGregor> Our goal is to design standards that make the web better and safer, not push all responsibility off to the user. [14:02:02.0000] <Hixie> The_8472: being responsible stewarts is what makes it our problem [14:02:03.0000] <zewt> the web is not only for programmers and netadmins [14:02:04.0000] <The_8472> well, you failed. *points at tracking cookies* [14:02:05.0000] <zewt> ... [14:02:06.0000] <Hixie> The_8472: having their networks become spam sources makes it our problem [14:02:07.0000] <zewt> (troll?) [14:02:08.0000] <AryehGregor> What alternative do you propose to allowing tracking cookies? [14:02:09.0000] <The_8472> no, i'm serious [14:02:10.0000] <Hixie> The_8472: having their networks become sources for DOS attacks makes it our problem [14:02:11.0000] <AryehGregor> Sites need a way to track the user so that they can, e.g., remember that the user is logged in. [14:03:00.0000] <AryehGregor> Any such mechanism can necessarily be used for tracking too. [14:03:01.0000] <Hixie> you don't need cookies for tracking [14:03:02.0000] <The_8472> AryehGregor, the problem is that this feature is always on and not just when you actually need it [14:03:03.0000] <AryehGregor> That too, you can use all sorts of fingerprinting. [14:03:04.0000] <The_8472> so even sites where you don't want to log in can use it [14:03:05.0000] <AryehGregor> You can track just fine without cookies, cookies just make it easier (but they're not as reliable as other methods). [14:03:06.0000] <The_8472> just more things to fix [14:03:07.0000] <AryehGregor> The_8472, https://panopticlick.eff.org/ [14:04:00.0000] <AryehGregor> No cookies needed. [14:04:01.0000] <AryehGregor> What do you propose, the browser provide a prompt every time a site tries to set a cookie? [14:04:02.0000] <AryehGregor> Prompts are annoying, users don't want them. Also, most users won't understand and will make a more or less random choice. [14:04:03.0000] <AryehGregor> After they figure out that sites break if they say no, they'll just say yes all the time. [14:05:00.0000] <The_8472> AryehGregor, it could do something smart. maybe only store cookies for sites that you also store passwords for or something like that [14:05:01.0000] <AryehGregor> "Do something smart" is not a particularly useful suggestion. [14:05:02.0000] <The_8472> just a "remember me on this site" button going along with logins [14:05:03.0000] <Hixie> it's trivial to make the browser store a password for a site [14:05:04.0000] <AryehGregor> Sites need to legitimately store info about you even if you don't enter a password or such. [14:05:05.0000] <The_8472> i have cookies off by default [14:05:06.0000] <AryehGregor> For instance, say you rearranged some things on the site without logging in. [14:06:00.0000] <The_8472> you can use sessions for that [14:06:01.0000] <AryehGregor> vBulletin's forum home page lets you collapse sections of forums, and remembers what you collapsed using cookies. [14:06:02.0000] <AryehGregor> Um, sessions use cookies. [14:06:03.0000] <The_8472> or session IDs [14:06:04.0000] <AryehGregor> Which are stored in cookies. [14:06:05.0000] <The_8472> or in the url [14:06:06.0000] <AryehGregor> Unless you mean appending to the query string? [14:06:07.0000] <AryehGregor> Then it only works until you leave the site and come back again. [14:07:00.0000] <AryehGregor> Tons of sites allow non-logged-in users to save some types of preferences using cookies. [14:07:01.0000] <The_8472> that's the idea [14:07:02.0000] <zewt> (not to mention all the other horrible problems of storing session IDs in the URL; go back a decade or so and see how bad it was) [14:07:03.0000] <Hixie> turning off cookies is just silly, it doesn't help anything and it just breaks sites [14:07:04.0000] <The_8472> i have them off and most things work just fine [14:07:05.0000] <AryehGregor> Great, so you're saying websites should not be able to store info for non-logged-in users beyond one session, and should only be able to store the info within a session by appending query strings everywhere? [14:08:00.0000] <AryehGregor> Hixie, it does stop tracking if sites assume that cookie-based tracking works and don't bother with more sophisticated methods, which is doubtless the case. [14:08:01.0000] <The_8472> AryehGregor, some properly managed session cookies might be ok too [14:08:02.0000] <Hixie> specifically, sites that want to track you against your will still can, and sites that want to provide you with personalisation will break [14:08:03.0000] <AryehGregor> The_8472, what's "properly managed"? [14:08:04.0000] <Hixie> AryehGregor: hostile sites don't just use cookies [14:08:05.0000] <Hixie> AryehGregor: only benign sites rely on cookies for tracking [14:08:06.0000] <The_8472> i have flash, local storage and cross-domain requests off too [14:08:07.0000] <AryehGregor> Hixie, some users don't want to be tracked even by "benign" sites. [14:08:08.0000] <AryehGregor> Cross-domain requests? Like all cross-domain loads? [14:09:00.0000] <AryehGregor> Doesn't that break any site that uses a CDN? [14:09:01.0000] <The_8472> it does [14:09:02.0000] <Hixie> e.g. if you turn off cookies, your google results will get measurably worse [14:09:03.0000] <AryehGregor> Okay, so do you see why this is totally not a viable solution for the average web user? [14:09:04.0000] <Hixie> AryehGregor: that's silly [14:09:05.0000] <Hixie> AryehGregor: if they're benign then by definition it doesn't matter if you're tracked by them [14:09:06.0000] <AryehGregor> Hixie, that's why I said "benign". [14:09:07.0000] <AryehGregor> I agree that there's no reason to worry about tracking, but not everyone agrees. [14:10:00.0000] <Hixie> there's plenty of reasons to worry about tracking [14:10:01.0000] <AryehGregor> Some people would view any statistics-gathering as non-benign. [14:10:02.0000] <Hixie> i'm just saying that turning off cookies doesn't help [14:10:03.0000] <The_8472> AryehGregor, if it were the default the CDNs would just run on the sub-domain and you could easily use the same-domain policy instead of a same-host policy [14:10:04.0000] <The_8472> anyway, i know i'm slightly paranoid [14:10:05.0000] <AryehGregor> The_8472, yes, and all the tracking stuff would just run on a subdomain too, so you've made things harder for authors and gained nothing. [14:10:06.0000] <The_8472> but most things still work. maybe with 1-2 extra clicks [14:10:07.0000] <The_8472> AryehGregor, it wouldn't work across domains [14:11:00.0000] <AryehGregor> Why would it have to? [14:11:01.0000] <The_8472> e.g. i have zero google analytics, anywhere [14:11:02.0000] <zewt> ... 1-2 extra clicks adds up to a lot of pointless UI noise [14:11:03.0000] <AryehGregor> Things like Analytics would just tell you make a CNAME pointing to their domain, and load Analytics off a subdomain of your own site (which actually points to Google's servers). [14:11:04.0000] <AryehGregor> So if cross-domain loads didn't work at all by default, everything would just be "same-domain". [14:12:00.0000] <AryehGregor> It would only stop you from including content from parties that didn't cooperate, which isn't the use-case you're worried about at all. [14:12:01.0000] <AryehGregor> And again, normal users don't have any idea what a "domain" is and don't want to, and the web is not meant to be something only nerds can use correctly. [14:12:02.0000] <Hixie> The_8472: how do you have zero analytics? [14:13:00.0000] <AryehGregor> We can't dictate what the web looks like, we're limited to what browsers can feasibly implement, and they're restricted by user demand. [14:13:01.0000] <The_8472> yeah, they want their data harvested and sold by facebook and google instead. [14:13:02.0000] <AryehGregor> Correctg. [14:13:03.0000] <AryehGregor> Correct. [14:13:04.0000] <Hixie> The_8472: (and what harm does google analytics do to you? just curious) [14:13:05.0000] <AryehGregor> The large majority of users would prefer that data about them be collected and sold, than that they have to put up with extra hassle or confusing dialogs. [14:13:06.0000] <Hixie> or having to pay to view the sites :-) [14:13:07.0000] <AryehGregor> That too. [14:13:08.0000] <The_8472> i don't know. that's the issue. maybe it's completely harmless. maybe they sell that information to advertisers... maybe they use it to create personalized profiles. who knows. [14:14:00.0000] <AryehGregor> They do have a privacy policy, you know. [14:14:01.0000] <AryehGregor> You can read it. [14:14:02.0000] <Hixie> The_8472: i don't understand (a) how you prevent it and (b) what the harm is in having more targetted ads [14:14:03.0000] <The_8472> as if companies ever adhere to their own privacy policies [14:14:04.0000] <AryehGregor> Perhaps they don't follow it, but that's pretty unlikely, given the liability it would expose them to. [14:14:05.0000] <AryehGregor> Large companies do, because otherwise they'll get sued and take a huge PR hit. [14:14:06.0000] <AryehGregor> Small companies, yeah, probably they aren't so careful. [14:15:00.0000] <zewt> (or they just follow the Dropbox model, and quietly change their privacy policy when it's inconvenient) [14:15:01.0000] <AryehGregor> But if Google were flagrantly ignoring its own privacy policy, all it would take is one employee to anonymously leak the story to the media. [14:15:02.0000] <AryehGregor> Then of course people would sue them and find out the truth during discovery. [14:15:03.0000] <The_8472> or someone to lift the database and dump it on bittorrent *cough*sony*cough* [14:15:04.0000] <AryehGregor> Sure. [14:16:00.0000] <The_8472> data avoidance helps with that [14:16:01.0000] <AryehGregor> But that hasn't happened, and Google has very good reason to not to want it to happen, so it's pretty safe to assume they're following their privacy policy. [14:16:02.0000] <AryehGregor> Which you might not like, of course. [14:16:03.0000] <The_8472> Hixie, by blocking cross domain requests. [14:16:04.0000] <AryehGregor> I'm pretty sure it says they can release data to other parties as long as those parties also agree to keep it secret, or something to that effect. [14:17:00.0000] <The_8472> AryehGregor, also. google has handed over search records to the govt several times. they fought to anonymize them, but other search companies just caved in. [14:17:01.0000] <AryehGregor> But anyway, there's no way we can prevent tracking by default. If you care about being tracked, you should prefer the status quo, because it makes it much easier for you not to be tracked. [14:17:02.0000] <AryehGregor> Well, yeah, any data is going to be subject to subpoena. [14:17:03.0000] <Hixie> The_8472: you block cross-domain requests? how? [14:17:04.0000] <The_8472> and considering that the US has a court that can hand out such orders *in secret* i have no certainty that they aren't forced to do so without disclosing it. [14:18:00.0000] <The_8472> Hixie, request policy addon for firefox. [14:18:01.0000] <AryehGregor> Entirely possible. [14:18:02.0000] <AryehGregor> If you never learn about it, though, it's kind of unlikely you were materially harmed by the disclosure. Possible, but quite unlikely. [14:18:03.0000] <The_8472> so why let google track me if all that could possibly happen is that data somehow getting in the wrong hands. [14:18:04.0000] <Hixie> The_8472: either your addon is broken, or you must have a pretty warped experience browsing the web, because pretty much EVERYTHING on the web uses cross-domain requests [14:19:00.0000] <The_8472> or you must have a pretty warped experience browsing the web <- that [14:19:01.0000] <AryehGregor> Hixie, these things typically prompt you when you load the page. [14:19:02.0000] <AryehGregor> At least NoScript does. [14:19:03.0000] <AryehGregor> Or can be configured to. [14:19:04.0000] <The_8472> it's in the addon bar, so i can manually allow requests [14:19:05.0000] <AryehGregor> So you use a whitelist. [14:19:06.0000] <AryehGregor> Which you build over time. [14:19:07.0000] <The_8472> yeah, like amazon -> amazon-images [14:19:08.0000] <AryehGregor> Analytics and ads and so on get knocked out very early, others get permanently whitelisted if they look reasonable. [14:19:09.0000] <The_8472> yep [14:20:00.0000] <AryehGregor> For random sites you might have to click a few times, but they'll work. [14:20:01.0000] <AryehGregor> Just a bit of extra inconvenience. [14:20:02.0000] <The_8472> and it also has a "add exception temporarily" thing [14:20:03.0000] <The_8472> i have the same for cookies, flash, etc. [14:20:04.0000] <AryehGregor> The_8472, anyway, I hope you realize that most people are not interested in going to all this effort to avoid tracking, and it doesn't make sense to try setting up the web to work like this by default. [14:20:05.0000] <AryehGregor> And also that it only works so well for you because it's *not* set to work like this by default. [14:20:06.0000] <AryehGregor> Because if most users did it, sites would work around it. [14:21:00.0000] <AryehGregor> Like by putting Analytics on subdomains that point to Google's servers, etc. [14:21:01.0000] <Hixie> given how much more pleasant the web is with well targetted ads than with untargetted ads, that seems like a whole lot of pain for nothing [14:21:02.0000] <AryehGregor> Hixie, um, I assume he blocks all ads. [14:21:03.0000] <The_8472> what ads? [14:21:04.0000] <AryehGregor> Those are generally cross-site. [14:21:05.0000] <_bga> gsnedders http://www.dark-masters.tk/index.php/articles/8-fulldisclosure/15-stealing-files-using-a-malicious-html-file [14:22:00.0000] <AryehGregor> Also, I find that targeted ads tend to be more amusing than actually helpful, like ads for Microsoft SQL Server training and things like that in my case. [14:22:01.0000] <Hixie> well let's hope you stay in the minority, otherwise the web will become economically unsustainable :-/ [14:22:02.0000] <AryehGregor> Technically it's *close* to appropriate, but in fact it's about as useful to me as ads for 18,000-square-foot mansions in Madagascar. [14:22:03.0000] <AryehGregor> I.e., it's not. [14:22:04.0000] <The_8472> most ads i've seen are completely pointless. advertising stuff sold on the wrong continent. [14:23:00.0000] <Hixie> The_8472: not surprised, if you block tracking! [14:23:01.0000] <AryehGregor> You don't need tracking to do geolocation. [14:23:02.0000] <Hixie> AryehGregor: then it's not a well targetted ad [14:24:00.0000] <The_8472> for ads to be well-targeted they'd need a personal profile of me. and i don't see why whole ad-networks supplying thousands of companies worldwide should know about me. [14:24:01.0000] <AryehGregor> Hixie, sure. But almost none of the ads I see are well-targeted. Google isn't smart enough yet to distinguish essential subtleties like "Windows sysadmin" and "Linux sysadmin". [14:24:02.0000] <AryehGregor> That's not quite true -- I see Linux ads too, probably disproportionately. [14:24:03.0000] <AryehGregor> But most of those are useless to me too, like ads for IDEs, or . . . [14:24:04.0000] <AryehGregor> /me looks at Gmail [14:24:05.0000] <AryehGregor> "Server Protocols - License Our IP - Make Your Software Work with Microsoft Protocols! - www.Microsoft.com/Protocols" [14:24:06.0000] <AryehGregor> That's just *so* ironic. [14:24:07.0000] <The_8472> well... gmail... i don't use that. that's like handing google the key to the town [14:25:00.0000] <AryehGregor> "GoDaddy #1 domain names - $7.99 .COM Domains - Save Today Free Hosting, Blogcast, Email, More - GoDaddy.com" Like I wouldn't know where to go if I wanted domain names. [14:25:01.0000] <Hixie> AryehGregor: yeah. it's early days yet. [14:25:02.0000] <AryehGregor> "Google NY is Looking For - Software Engineers with great aspirations. Send your resume now! - www.google.com/jobs" Definitely close to the mark, but not usefully so in my case. :) [14:25:03.0000] <The_8472> for targeted advertising to work they basically have to strip you naked [14:26:00.0000] <Hixie> AryehGregor: that seems pretty perfect to me :-) [14:26:01.0000] <AryehGregor> "Compare to GMC Sierra - Compare the GMC Sierra to the Competition. Get Details. - www.GMC.com/Sierra" Don't have a driver's license. [14:26:02.0000] <AryehGregor> Etc. [14:26:03.0000] <Hixie> early days [14:26:04.0000] <Hixie> it'll get better [14:26:05.0000] <AryehGregor> Yep. [14:26:06.0000] <AryehGregor> As long as they can build up sufficiently detailed profiles. [14:26:07.0000] <AryehGregor> Which, fortunately, the large majority of people will let them do. [14:26:08.0000] <AryehGregor> While people like The_8472 will just freeload. [14:27:00.0000] <The_8472> but hey, people are getting conditioned. feeling your crotch at airports? no problem. having your boss see your party pictures on facebook? every weekend... [14:27:01.0000] <AryehGregor> Well, this is unless data tracking laws get out of hand. [14:27:02.0000] <zewt> well, the basic problem is that's such a blatant violation of privacy [14:27:03.0000] <AryehGregor> Assuming you think privacy is worth caring about, which I don't. [14:27:04.0000] <AryehGregor> Lots of people do, so we'll have to see how it goes. [14:27:05.0000] <The_8472> mind if i film you with your girlfriend? [14:27:06.0000] <Hixie> The_8472: i have a huge problem with the airport "security" stuff, and don't have a facebook account. But I don't think those even compare to analytics. [14:28:00.0000] <AryehGregor> Sigh. [14:28:01.0000] <The_8472> Hixie, the difference is not so big. the latter just requires more data mining [14:28:02.0000] <jgraham> AryehGregor: Should be a known bug. At least I ran into it in the past so I guess I reported it [14:28:03.0000] <Hixie> The_8472: i don't even see any similarity [14:28:04.0000] <jgraham> Maybe I should just try and fix it sometime :) [14:29:00.0000] <The_8472> Hixie, i think a sufficiently intelligent GA could learn more about me than an airport screener could [14:29:01.0000] <The_8472> especially if i were one of the unwashed masses [14:29:02.0000] <jgraham> Is there some Godwins law equivalent for privacy discussions involving the person who brings up cameras in the bedroom forfeiting the argument? [14:30:00.0000] <jgraham> Because if not I propose such [14:30:01.0000] <zewt> unless it's backdooring my phone it's not likely to get nude photos of me standing in a demeaning pose, as is standard practice in airports now, heh [14:30:02.0000] <AryehGregor> I don't care about privacy violations unless they stand some chance of materially harming me, which includes being embarrassed. [14:30:03.0000] <AryehGregor> But not things that I won't know about, or things like targeted ads that don't actually harm me. [14:30:04.0000] <Hixie> The_8472: why is learning about you a problem? [14:30:05.0000] <zewt> (and while my phone might manage to get a picture, I'm probably not going to be in the Airport Backscatter Pose, either) [14:30:06.0000] <Hixie> The_8472: my problem with airport security isn't that they learn about me [14:30:07.0000] <The_8472> jgraham, if people say "i don't care about privacy" then this argument is simply used to show them that their statement is not correct. they DO care about privacy, they just don't know when they have implcit privacy expectations [14:31:00.0000] <Hixie> The_8472: my problem with it is that they touch me, or x-ray me, and make me queue for no benefit. [14:31:01.0000] <AryehGregor> Put another way: I don't care about privacy. I care about embarrassment and other forms of harm. [14:31:02.0000] <The_8472> Hixie, privacy. [14:31:03.0000] <AryehGregor> The_8472, I don't care about the privacy, I care about the embarrassment. [14:31:04.0000] <The_8472> well, then just get used to it. after a while you'll stop being embarrassed [14:31:05.0000] <Hixie> The_8472: privacy? [14:32:00.0000] <zewt> i do care about privacy, but comparing "tracking your amazon searches" to airport security is just overstating the case by orders of magnitude [14:32:01.0000] <The_8472> you know that concept, right? [14:32:02.0000] <AryehGregor> Maybe so, but until then I'm still going to be embarrassed. [14:32:03.0000] <AryehGregor> So I'm still going to have a problem with that. [14:32:04.0000] <Hixie> The_8472: sure, what's it got to do with either case here? [14:32:05.0000] <Hixie> The_8472: what do _you_ mean by it? [14:32:06.0000] <AryehGregor> In some hypothetical future where there are ubiquitous video cameras that post their data publicly to the Internet in real time and everyone can see anything that anyone else does, then maybe I won't be embarrassed and won't care. [14:33:00.0000] <AryehGregor> But that's not the world we live in, so it's not relevant to my preferences right now. [14:33:01.0000] <The_8472> that my life is my own business and nobody should amass data about me. [14:33:02.0000] <Hixie> The_8472: do you have a credit card? [14:33:03.0000] <AryehGregor> Right, see, you value privacy per se. [14:33:04.0000] <The_8472> i pay cash [14:33:05.0000] <AryehGregor> You pay cash online? [14:33:06.0000] <jgraham> The_8472: It always struck me that the point of that argument was to derail the conversation by targetting (sterotypically) American prudishness [14:33:07.0000] <AryehGregor> Or don't buy things online? [14:33:08.0000] <The_8472> AryehGregor, i can pay on delivery [14:33:09.0000] <AryehGregor> jgraham, no, it's just an argumentum ad absurdum. [14:33:10.0000] <Hixie> The_8472: i don't understand why you care about people amassing data about you [14:34:00.0000] <AryehGregor> The_8472, what online merchants let you pay on delivery? [14:34:01.0000] <The_8472> amazon does [14:34:02.0000] <jgraham> AryehGregor: Yeah, but the absurdity is carefully chosen [14:34:03.0000] <AryehGregor> Really? Never knew. [14:34:04.0000] <The_8472> well, the delivery service they use in germany does [14:34:05.0000] <AryehGregor> Hixie, it's terminal utility, not instrumental utility. He wants privacy for its own sake, not because of any other benefits that accrue from it. [14:34:06.0000] <jgraham> It's the privacy equivalent of "won't somebody think of the children" [14:34:07.0000] <jgraham> AryehGregor: Also, the bug is already filed [14:35:00.0000] <AryehGregor> Most people feel that way to some degree. [14:35:01.0000] <Hixie> AryehGregor: apparently [14:35:02.0000] <zewt> ... i want privacy because it's something that rarely comes back when it's lost, heh [14:35:03.0000] <AryehGregor> jgraham, yeah, but any argumentum ad absurdum is going to be chosen to have maximum impact. That doesn't mean it's invalid. [14:35:04.0000] <The_8472> <AryehGregor> jgraham, no, it's just an argumentum ad absurdum. <- i'm not the person making the absurd statement. someone claiming "i don't need privacy" is [14:35:05.0000] <AryehGregor> zewt, that's not a reason to want privacy by itself. Ignorance also doesn't come back so easily when it's lost, but that's not an argument in favor of ignorance. [14:35:06.0000] <Hixie> personally i'm more than happy to trade personal information for making my life better [14:36:00.0000] <Hixie> i care about liberty, happiness, being productive [14:36:01.0000] <AryehGregor> At least not by itself. [14:36:02.0000] <Hixie> privacy is a tool to achieve these things [14:36:03.0000] <Hixie> it's not a goal in and of itself [14:36:04.0000] <zewt> Hixie: as am I, sometimes, but if I don't have a choice in the matter, it's harder to see it as an even exchange [14:36:05.0000] <AryehGregor> The_8472, um, right, that's what "argumentum ad absurdum" means. [14:36:06.0000] <AryehGregor> "ad" means something like "to", not "of" or anything. [14:36:07.0000] <The_8472> AryehGregor, ah... i was thinking of reductio ad absurdum [14:36:08.0000] <AryehGregor> It's the same thing. [14:37:00.0000] <zewt> and, unless I'm going to tin-foil-hat like 8472 here, I really don't have a choice [14:37:01.0000] <AryehGregor> Probably the latter is a more common name. [14:37:02.0000] <The_8472> but i didn't perform any reduction [14:37:03.0000] <The_8472> i just provided an extreme case [14:37:04.0000] <The_8472> that's a difference [14:37:05.0000] <jgraham> AryehGregor: "Invalid" isn't the point. It's generally doesn't move the conversation forward [14:37:06.0000] <AryehGregor> Well, that's basically what a reductio ad absurdum means. [14:37:07.0000] <jgraham> Everyone cares somewhat about privacy [14:37:08.0000] <The_8472> reducing it would mean following down a slippery slope from the original statement [14:38:00.0000] <AryehGregor> That you show that if you hold X, then it implies you hold Y, and you clearly don't hold Y, so you can't hold X. [14:38:01.0000] <AryehGregor> No, slippery slopes are a different story. They're fallacious. [14:38:02.0000] <AryehGregor> Reductio ad absurdum is not. [14:38:03.0000] <AryehGregor> Mathematicians usually call the latter an argument by contradiction. [14:38:04.0000] <The_8472> well, then i mixed those two up [14:38:05.0000] <AryehGregor> It's a perfectly valid type of argument. [14:38:06.0000] <The_8472> now we're talking [14:39:00.0000] <AryehGregor> Slippery slopes are sometimes valid, sometimes not. [14:39:01.0000] <AryehGregor> jgraham, in this case it did move the conversation forward. I clarified what I meant. [14:39:02.0000] <zewt> Hixie: and your "early days" only made me think: "we can do better! all we need is even more information about you"--sorry if I'm skeptical :) [14:40:00.0000] <The_8472> and that's exactly what i wanted to achieve. for you to step away from such a silly, absolute statement. [14:40:01.0000] <AryehGregor> As I said, I do not care about privacy. I only care about privacy violations insofar as they're likely to entail other types of harm, like embarrassment or monetary loss. [14:40:02.0000] <AryehGregor> The_8472, it's not silly at all. I stand by it: I don't care about privacy. [14:40:03.0000] <jgraham> AryehGregor: If we are going to be technical about it, I think the problem with the statement is that it suffers from the fallacy of the excluded middle [14:40:04.0000] <AryehGregor> jgraham, how so? [14:40:05.0000] <Hixie> zewt: not necessarily more information [14:40:06.0000] <The_8472> AryehGregor, but you can't know in advance what total transparency would entail. so it's saner to default to privacy if in doubt. [14:40:07.0000] <zewt> not necessarily, but likely [14:41:00.0000] <Hixie> zewt: i'm sure that targetting can be made massively better without increasing the amount of data collected already [14:41:01.0000] <The_8472> imagine if everyone had preconceived opinions of you because they know your personal tastes, hobbies, etc. [14:41:02.0000] <AryehGregor> The_8472, no, it's just something I have to take into my cost-benefit analysis. There's some chance that using Gmail will cause harm to me down the road, via letting Google have lots of info about me, but I deem that the benefits outweigh the risk. [14:41:03.0000] <The_8472> what benefits? [14:42:00.0000] <jgraham> Because it is an example of what most people would consider an extreme privacy violation. Using it to argue against lesser violations ignores all the middle ground between the two things [14:42:01.0000] <The_8472> i have a mail server, it works just fine. [14:42:02.0000] <Hixie> the gmail priority inbox is a huge benefit already [14:42:03.0000] <Hixie> man i wish pine had that [14:42:04.0000] <AryehGregor> That it's a good e-mail client? And that it's the one I use, and switching is a hassle? And that to get any privacy I'd really have to host my own e-mail, which is much more hassle/less reliable/fewer features/etc.? [14:42:05.0000] <AryehGregor> On the other hand, I see extremely little chance of harm from using it. [14:42:06.0000] <Hixie> gmail has all kinds of crazy cool features no other mail client does [14:42:07.0000] <AryehGregor> Yeah, priority inbox is *awesome*. [14:42:08.0000] <The_8472> that's just a reverse spamfilter [14:43:00.0000] <zewt> i turned priority inbox on for a minute; it decided that the "WELCOME TO PRIORITY INBOX" mail was "high priority", which I took as ludicrous enough that I turned it off again, heh [14:43:01.0000] <AryehGregor> jgraham, but that's fair in this case, because I made a very absolute statement: that I don't care about privacy at all. It's fair to call me out on that and challenge me to back down to a more moderate statement if I didn't mean it. [14:43:02.0000] <AryehGregor> zewt, you have to train it. [14:43:03.0000] <zewt> (presumably hixie receives ... somewhat more email than I do, however) [14:43:04.0000] <AryehGregor> Give it a few weeks of training and it's very reliable. [14:44:00.0000] <AryehGregor> The_8472, as for everyone having preconceived notions about me: that would be a cost I'd take into consideration if it were relevant. For instance, I'm careful what I post on the public Internet about myself under names that are traceable to me. [14:44:01.0000] <The_8472> see, most people don't even think about that [14:44:02.0000] <jgraham> AryehGregor: Fair enough. In most contexts where I see the bedroom example used no one has made such an unreasonable statement [14:44:03.0000] <zewt> AryehGregor: yeah, but it was just a really bad first impression that they didn't set it up to not decide that an automated welcome mail was "important", heh (eg. train it against its own automatic mails to start) [14:44:04.0000] <AryehGregor> It's not relevant to using Gmail except in the case where Gmail's mail databases get posted publicly somehow, which is possible but exceptionally unlikely, and probably less likely than the database of my own mail server getting hacked. [14:44:05.0000] <AryehGregor> jgraham, I don't think the statement is unreasonable, though. :) [14:44:06.0000] <The_8472> jgraham, the "i don't have anything to hide" statement comes up pretty often in discussions about privacy [14:44:07.0000] <AryehGregor> zewt, it's more or less random at the start, IIRC. [14:45:00.0000] <Hixie> i agree with AryehGregor here. I care about privacy only to the extent that it affects my personal liberty, happiness, and productivity (and that of people I care about). I definitely don't care about it as a goal in and of itself. [14:45:01.0000] <zewt> someone who has nothing to hide is probably a rather boring individual :P [14:45:02.0000] <AryehGregor> Hixie, but we're weird. Most people care about privacy per se at least to some extent. [14:45:03.0000] <Hixie> i think it depends on the culture [14:46:00.0000] <jgraham> AryehGregor: I expect it is unreasonable because I expect if you talk to some psycologists/anthropologists/whatever they will tell you than some degree of privacy is needed to maintain human social interactions [14:46:01.0000] <Hixie> in germany clearly more people care than in america, for example [14:46:02.0000] <jgraham> s/whatever/biologists/ I guess [14:46:03.0000] <zewt> but if I can't decide what parts of "privacy" are important for what my "personal liberty"--if that decision is taken out of my hands and put in the hands of advertisers and websites--then it's not going to be made in my interests [14:46:04.0000] <AryehGregor> zewt, I have nothing to hide in the sense that I would have no problem if all information about me were made available to, say, computer programs run by the government or Google or whatever, if I had good assurance that the information would go no further (which might not be the case in real life). Of course, I have lots of things I'd like to hide *from the general public*. [14:46:05.0000] <The_8472> we have some history with intrusive, orwellian govts.... [14:47:00.0000] <The_8472> now the large corps do the data harvesting and the govt just accesses the data when it seems fit, thus side-stepping laws that forbid the govt to collect unnecessary data. [14:47:01.0000] <AryehGregor> jgraham, as soon as we're talking about people I know, embarrassment and similar things immediately mean that I care a lot about what they know about me. Not because of the privacy, but because of the practical implications it would have if people I knew knew all this stuff about me. [14:48:00.0000] <AryehGregor> The_8472, ah, you're German? [14:48:01.0000] <The_8472> and it's even worse... the US govt could get my data from google despite not being an american citizen [14:48:02.0000] <Hixie> zewt: information that could impact my personal liberty would be things like my passwords and bank account details [14:48:03.0000] <The_8472> i am [14:48:04.0000] <AryehGregor> Makes sense. [14:48:05.0000] <AryehGregor> Germans are crazy strict about privacy (understandably . . .). [14:48:06.0000] <Hixie> zewt: and i don't give those to advertisers and websites other than those who already have them (e.g. my bank) or who can give me serious benefits from having them (e.g. mint.com) [14:49:00.0000] <AryehGregor> Hixie, I bet in the Far East people care less about privacy than in the West. [14:50:00.0000] <The_8472> AryehGregor, actually, they're very afraid about "losing face". So they act very strict in public and only "free" at home [14:50:01.0000] <AryehGregor> Interesting. [14:50:02.0000] <The_8472> so privacy is quite important to them [14:51:00.0000] <The_8472> they're coming more from your embarrassment angle [14:51:01.0000] <AryehGregor> /me solicits MikeSmith 's opinion on whether he thinks privacy is valued more or less in Japan than, say, America [14:54:00.0000] <The_8472> anyway. the more "the web" knows about you the more likely it becomes that that information will harm you some day. by accident, due to shady agreements, due to policy changes... whatever. something always happens [14:54:01.0000] <AryehGregor> Sure. But I also get benefit from it. [14:54:02.0000] <AryehGregor> And the harm is unlikely to be terribly large, in my case. [14:54:03.0000] <jgraham> /me notes that googling for interesting articles about privacy in primate social structures is hindered by all the sites having privacy policies [14:54:04.0000] <AryehGregor> So I'm not going to trade away clear-cut benefit for the sake of long-term hypothetical risk that doesn't seem very large. [14:55:00.0000] <The_8472> people have been fired over some information on facebook. what if some embarassing data becomes visible because facebook changes their policies once again? or because someone crawls semi-public and dumps it in a way for google to index? [14:56:00.0000] <AryehGregor> I don't use Facebook, and if I did I'd be smart enough not to post anything I didn't want my boss to know. [14:56:01.0000] <The_8472> AryehGregor, and they know that and exploit it. they start to make an interesting/beneficial service and then look how much you're willing to put up with to get as much data as they can [14:56:02.0000] <AryehGregor> Sure. I'm not claiming there's no risk. [14:57:00.0000] <Hixie> privacy is not all or nothing. You have to weigh the risks. In my case, I don't think Facebook's benefits outweigh its risks. [14:57:01.0000] <Hixie> In GMail's case, I think they do. [14:57:02.0000] <The_8472> and i'm tech-savy enough that the supposed benefits aren't really that big to me [14:57:03.0000] <Hixie> In the case of better ads, I think they do. [14:57:04.0000] <Hixie> In the case of buying things by credit card on amazon or iTunes, I think they do. [14:58:00.0000] <The_8472> ads are totally useless. i want to make informed opinions, not to be manipulated into buying things on a subconscious level [14:58:01.0000] <The_8472> *informed decisions [14:58:02.0000] <AryehGregor> Incidentally, I find it unlikely that anything I've told people privately would get me fired. People getting fired or otherwise harmed due to what they posted on Facebook is mostly when they do things that are illegal or immoral or reflect very badly on them in others' eyes. [14:58:03.0000] <AryehGregor> I'm sure there are exceptions. [14:58:04.0000] <The_8472> and as for amazon, like i said... i can pay on delivery [14:58:05.0000] <jgraham> /me might be prepared to trade cameraa in the bedroom for open-access science journals for everyone :( [14:59:00.0000] <jgraham> s/aa/as/ [14:59:01.0000] <AryehGregor> But I don't do anything I think of that anyone I care about would find really objectionable. [14:59:02.0000] <AryehGregor> But I don't do anything I can think of that anyone I care about would find really objectionable. [14:59:03.0000] <The_8472> jgraham, open access would be even better [14:59:04.0000] <AryehGregor> Of course, people who regularly do things that others would find highly objectionable have a greater need for privacy. [14:59:05.0000] <AryehGregor> Like people who lose custody of their children in divorce cases because they posted pictures on Facebook of themselves smoking weed or whatever. [14:59:06.0000] <The_8472> well, i do have voiced opinions that i don't want to be associated with my person [15:00:00.0000] <AryehGregor> I have too, because some people would find them extremely offensive. Particularly political and religious opinions. But they're mainstream enough that I don't foresee that I'd come to any actual harm if they were known. [15:01:00.0000] <Hixie> The_8472: ads don't have to manipulate you into buying things at a subconscious level. The best ones don't. [15:01:01.0000] <Hixie> The_8472: useful ads are those that give you information you wanted, when you wanted it, and that you didn't previously have. [15:01:02.0000] <gsnedders> AryehGregor: People who post pictures of FB of stuff that's illegal are just stupid. [15:01:03.0000] <The_8472> i call that "searching for something" [15:01:04.0000] <Hixie> The_8472: some of the best ads around are the ones that appear in response to a search, yes [15:02:00.0000] <AryehGregor> The_8472, example of ads that are often useful: Amazon recommendations. Often they're useless, but sometimes I've browsed through my recommendations and found things like that an author I like published a new book in a series I've read, that I didn't know about. [15:02:01.0000] <The_8472> well, those don't need profiling, since they have the information right from the search [15:02:02.0000] <jgraham> It does sound a bit like Hixie is drinking deeply from the Google koolaid [15:02:03.0000] <jgraham> :) [15:02:04.0000] <AryehGregor> I wouldn't have searched for it, it wouldn't have occurred to me. [15:02:05.0000] <The_8472> i was talking about Hixie's case [15:02:06.0000] <jgraham> But Amazon recommendations are a good example [15:02:07.0000] <AryehGregor> But Amazon was clever enough to suggest it proactively. [15:02:08.0000] <AryehGregor> Google ads are almost never that useful. [15:02:09.0000] <AryehGregor> Because they don't have info on what you've bought. [15:02:10.0000] <Hixie> The_8472: yeah, i pointed out earlier that improving ads doesn't necessarily mean getting more user data [15:03:00.0000] <jgraham> Although I really wish they would stop recommending things I *just bought* [15:03:01.0000] <Hixie> The_8472: note though that giving better search results _does_ require user tracking to a large extent [15:03:02.0000] <AryehGregor> Google's trying to make them more useful. I don't know how well they'll succeed. [15:03:03.0000] <Hixie> The_8472: google results are measurably better if you're logged in with a history than if you are not logged in without a history [15:03:04.0000] <zewt> i don't foresee stock google ads ever being useful; if google knows something I want, they'll presumably show it to me when I make a search--there's nothing gained by it being shown by www.randomsite.com as well [15:03:05.0000] <AryehGregor> But I think it's safe to say that what Google really *wants* is to show you one ad a week for something you really want but never would have thought to search for, then you buy it and Google gets a $5 commission and everyone wins. [15:03:06.0000] <zewt> (google ads on other sites, I mean) [15:04:00.0000] <AryehGregor> To do that, though, they need way more info than they have. [15:05:00.0000] <AryehGregor> If the ads become useful enough, you won't have to show them to people when they're viewing other sites at all. People will want to view them of their own accord. [15:05:01.0000] <zewt> the cases where sites can actually show an ad to me that I'd ever actually find interesting, which I'd actually need to go to that site to see, is exceptionally rare--and in practice almost exclusively tied to searches (again, Amazon) [15:05:02.0000] <AryehGregor> Just like I've sometimes read through my Amazon recommendations voluntarily. [15:05:03.0000] <smaug____> Google is sure trying to get more data [15:05:04.0000] <AryehGregor> Amazon is mostly tied to purchase history, not searches. That's why it's so effective. [15:05:05.0000] <AryehGregor> Purchases predict purchases way better than searches predict purchases. [15:06:00.0000] <AryehGregor> Plus, ads in search often just suggest the thing you're searching for, which you'd find anyway in the first result or two. [15:06:01.0000] <smaug____> I wonder if Google already changes ads if you use speech recognizer. Google could recognize gender etc. [15:06:02.0000] <karlcow> if you are logged in, Google will give more expected results, which is entirely different than better results… though we would have to define what we consider better. etc etc etc. yadayada [15:07:00.0000] <zewt> the vast majority of sites aren't selling you anything, though--after all, that's usually the point of ads [15:07:01.0000] <The_8472> well, yeah. i make a new login every time i buy at amazon. if i could i'd have it delivered to a different address too. but moving for every amazon purchase is quite inconvenient [15:07:02.0000] <Hixie> as i understand it you can see exactly what google knows about you for ads by looking at http://www.google.com/ads/preferences/view [15:07:03.0000] <The_8472> and i can't use the packet station if i want to pay in cash [15:07:04.0000] <zewt> (that is, ad revenue for sites that don't have an end-user-buys-something-from-them business model) [15:08:00.0000] <zewt> 8472: heh I'm sorry, but you're pretty hard to take seriously :) [15:08:01.0000] <The_8472> disposable paypal accounts would be great [15:08:02.0000] <Hixie> karlcow: do you have any data to back that up? [15:08:03.0000] <smaug____> Google sure knows more than that [15:08:04.0000] <karlcow> Hixie: to back up what ? [15:08:05.0000] <The_8472> zewt, i am aware that i'm acting quite paranoid [15:08:06.0000] <zewt> i just expect the next thing you'll say is "every time I make a purchase I put on a disguise and make the purchase from a randomly-selected internet cafe" [15:08:07.0000] <Hixie> karlcow: your last statement [15:09:00.0000] <karlcow> Hixie: what have you understood of my last statement? [15:09:01.0000] <Hixie> karlcow: did you not mean what you wrote? [15:09:02.0000] <The_8472> zewt, it's the least i would do if i were trading illegal goods. [15:09:03.0000] <zewt> on amazon? heh [15:09:04.0000] <The_8472> not amazon, lol [15:10:00.0000] <zewt> their new service, Amazon Controlled Substances [15:10:01.0000] <The_8472> well, i guess in some countries you could get arrested for buy stuff from amazon [15:10:02.0000] <karlcow> *I* meant what I wrote, which might be different of what *you* think I meant. [15:10:03.0000] <AryehGregor> Hixie, if that's *all* the data Google knows about me, I've really lost a lot of respect for them. :) [15:10:04.0000] <The_8472> order porn to saudi arabia or something ^^ [15:10:05.0000] <Hixie> karlcow: if you meant what you wrote, then i am just curious as to whether you have any data to support your statement or not [15:11:00.0000] <karlcow> Basically, experiment take two persons with a long history of searches and let them do the same query. Do you get the same results or not. [15:11:01.0000] <AryehGregor> It thinks I'm 25-34. I guess I'll take that as a compliment on my maturity. :) [15:11:02.0000] <Hixie> AryehGregor: yeah, people don't realise that google doesn't associate the data collected via one's google login with one's activity on the web and thus what google uses for ads on the web [15:12:00.0000] <Hixie> AryehGregor: but as far as i am aware, that page lists everything google knows with respect to the showing of ads [15:12:01.0000] <AryehGregor> That's silly of them. But I guess they're forced to cripple themselves like that because people are so worried about privacy. [15:12:02.0000] <Hixie> karlcow: how would that affect your statement? [15:13:00.0000] <zewt> Hixie: fyi, that page just says "click here to opt in" with no info [15:13:01.0000] <zewt> for me [15:13:02.0000] <karlcow> That Google return results which are targeted to your profile instead of just results. [15:13:03.0000] <karlcow> what I call expected results [15:13:04.0000] <Hixie> zewt: i guess that means you're not getting any targetted ads :-( [15:14:00.0000] <Hixie> karlcow: that statement seems entirely vacuous [15:14:01.0000] <zewt> whereas google does seem to have some data; when I disable abp and load a random mail in gmail, it's showing Java ads (and I've been doing a lot of Java searches lately; that language is just as horrible as I remember) [15:14:02.0000] <karlcow> do the experiment same IP, same place, different profiles. [15:14:03.0000] <karlcow> or Google is delivering a random results page :) [15:15:00.0000] <karlcow> based on coriolis movement [15:15:01.0000] <zewt> karlcow: the strange thing is when I do a search, some mailing list post by me three years earlier pops up on top, I think "must be targetted", and ... it's not :o [15:15:02.0000] <Hixie> karlcow: if a biologist looking for animals searches for "lion", and a mac developer looking for OS X information searches for "lion", then returning big cats for the former and operating systems for the latter is obviously "better" [15:15:03.0000] <karlcow> for you [15:15:04.0000] <Hixie> karlcow: for them [15:16:00.0000] <karlcow> cf my comment of definition of better [15:16:01.0000] <Hixie> karlcow: i don't understand what point you were trying to make then [15:16:02.0000] <karlcow> as usual [15:16:03.0000] <Hixie> karlcow: you might want to consider being clearer :-) [15:16:04.0000] <karlcow> I'm clear [15:16:05.0000] <Hixie> no, uou're not [15:16:06.0000] <karlcow> different wired brain [15:16:07.0000] <Hixie> you, even [15:16:08.0000] <karlcow> well I'm not clear to you [15:17:00.0000] <karlcow> that is obvious [15:17:01.0000] <karlcow> but as usual [15:17:02.0000] <Hixie> "if you are logged in, Google will give more expected results, which is entirely different than better results [but we don't define better]" is completely vacuous [15:17:03.0000] <Hixie> it is an illogical, trollish statement [15:17:04.0000] <Hixie> "in condition A, B will occur, and B != C, but we don't define C" [15:17:05.0000] <The_8472> but what do you do if you're a mac os developer but are looking for the big cats? [15:18:00.0000] <karlcow> it is not trollish, you confirmed it [15:18:01.0000] <karlcow> [17:20] <Hixie> karlcow: if a biologist looking for animals searches for "lion", and a mac developer looking for OS X information searches for "lion", then returning big cats for the former and operating systems for the latter is obviously "better" [15:18:02.0000] <Hixie> karlcow: it's unconfirmible, since you confirmed it didn't mean anything! [15:18:03.0000] <Hixie> karlcow: you specifically said you didn't define the term that you were comparing to [15:18:04.0000] <AryehGregor> The_8472, adjust the query so that it clarifies your intent. [15:18:05.0000] <AryehGregor> I do that all the time, Google handles it very well. [15:19:00.0000] <karlcow> I will use the word that I didn't want to use initially. "Serendipidity". [15:19:01.0000] <Hixie> would you like to use that word in a sentence? :-) [15:19:02.0000] <karlcow> Discovering, being surprised, etc. [15:19:03.0000] <Hixie> i know what it means [15:20:00.0000] <The_8472> well, i guess you could do -"os x" [15:20:01.0000] <karlcow> basically getting results which are not necessary the ones you were expecting. [15:20:02.0000] <Hixie> karlcow: yes, we know what it means [15:20:03.0000] <The_8472> i think his issue is akin to groupthink, google being the rest of the group, sortof. [15:21:00.0000] <Philip`> Hmm, Google says I like "Beauty & Fitness - Fashion & Style - Fashion Designers & Collections" [15:21:01.0000] <Hixie> The_8472: if he has an issue, i'm sure he'll get around to telling us :-) [15:21:02.0000] <karlcow> Philip`: which sites did you read lately? :) [15:22:00.0000] <The_8472> /me hands Philip` a shake-weight [15:22:01.0000] <Philip`> Surely Google can't be wrong, so I'll have to start caring slightly more about fashion now [15:22:02.0000] <karlcow> ahah [15:23:00.0000] <karlcow> The_8472: "his issue" <- me? [15:23:01.0000] <The_8472> yes [15:23:02.0000] <karlcow> aaaah [15:23:03.0000] <The_8472> /me assumed context-inference capability [15:23:04.0000] <Hixie> The_8472: that isn't a given with karl :-( [15:23:05.0000] <karlcow> hmmm it is somehow, on the philosophical level it is about us becoming our own robots. [15:24:00.0000] <karlcow> beasically by getting more and more things which are closer to our own initial thinking, we are reducing the accidents [15:24:01.0000] <karlcow> and then we answer to our own program [15:24:02.0000] <karlcow> we become robots. [15:25:00.0000] <Philip`> It's lucky that this unwanted cookie tracking thing has already been solved by new laws as per http://blog.silktide.com/2011/05/cookie-law-makes-most-uk-websites-illegal-what-you-need-to-know/ so we just need to get the rest of the world to adopt a similar approach [15:25:01.0000] <karlcow> it works also with maps and direction [15:25:02.0000] <The_8472> karlcow, if google becomes sufficiently intelligent it's no different from teaching your own children! [15:25:03.0000] <The_8472> until they know more than you do and you're an old man shaking his stick "get off my search results" [15:25:04.0000] <karlcow> not exactly the same thing. [15:26:00.0000] <karlcow> Usually you should be teaching to a child how to tell you "NO". [15:26:01.0000] <karlcow> (gross summary) [15:26:02.0000] <Hixie> karlcow: this concept of "filter bubble" as it is more commonly known is pretty widely discussed, but so far i've never seen any evidence that it's a real risk. In particular, I have not seen any evidence that Google's personalisation of search results is resulting in any kind of loss of serendipity, if anything I'd say it was quite the opposite. [15:26:03.0000] <Philip`> If Google's algorithms become indistinguishable from our own thoughts, that doesn't mean we're robots, it means Google has become alive [15:27:00.0000] <The_8472> karlcow, instead of "no!" it is just more polite and says "didn't you mean to ..." [15:27:01.0000] <Hixie> hear hear [15:28:00.0000] <Philip`> (Once Google has emulated your brain patterns it will presumably then destroy the more inefficient of the redundant copies, i.e. you, to optimise the world's resource usage) [15:28:01.0000] <Hixie> Philip`: surely having lots of redundant copies is better for making money from ads :-P [15:29:00.0000] <karlcow> Philip`: heh. (apart of the nice dark side of the fiction) there is a bit of that. [15:29:01.0000] <The_8472> Philip`, that would mean a more efficient copy of my brain patterns would run on google. i don't see the problem there [15:29:02.0000] <karlcow> I like Wall-E for this. the part where humans had forgotten they had a pool [15:29:03.0000] <The_8472> unless they can search through your brain [15:29:04.0000] <The_8472> which they probably could... [15:29:05.0000] <The_8472> damn [15:29:06.0000] <Hixie> lol [15:30:00.0000] <karlcow> ah another notion [15:30:01.0000] <karlcow> more efficient. [15:30:02.0000] <karlcow> I do not always wish to be more efficient. [15:30:03.0000] <The_8472> efficiency is important considering limited resources [15:30:04.0000] <karlcow> not really [15:30:05.0000] <The_8472> just kill another human and you can afford to be inefficient [15:31:00.0000] <The_8472> in the grand scheme of things it is important [15:31:01.0000] <karlcow> You have to believe in grand schemes :) [15:32:00.0000] <The_8472> most ecological issues are essentially caused by human inventions being significantly less efficient than their natural equivalents (just exceling in one aspect) and due to externalized costs [15:33:00.0000] <The_8472> so increasing efficiency decreases costs, even if they're "just" external ones [15:33:01.0000] <Philip`> Hixie: Google can make money by getting its cloned people to buy things from ads, and those cloned people can get money by doing the same kind of work as their inferior template organisms did but much more efficiently, so it's better to allocate all finite resources to the clones (given that it's trivial to duplicate a clone so you'll never run out and you can easily replace an organism with multiple clones) [15:33:02.0000] <karlcow> definitely but humans are basically killing the biodiversity that makes them alive. They will not kill earth (there is still a possibility of major catastrophe) [15:34:00.0000] <karlcow> so the risk is that humans might disappeared or reduced a lot at a point. That might happen indeed. [15:34:01.0000] <The_8472> of course not, the ecosphere is pretty resilient and will probably survive us. so protecting it in its current state is also a self-interest [15:34:02.0000] <karlcow> But not sure I want to be efficient as a program to achieve equilibrium and peace [15:35:00.0000] <The_8472> well, that's science fiction at the moment. for now we can concentrate on more mundane efficiency increases [15:36:00.0000] <karlcow> R.U.R. (Rossum's Universal Robots) [15:36:01.0000] <The_8472> Philip`, i think a human-usefulness-index based on the contribution to civilisational progress would be a crueld and yet very interesting measure. [15:37:00.0000] <karlcow> yirk [15:39:00.0000] <The_8472> we need some backup-planets so we can experiment more [15:39:01.0000] <gsnedders> _bga: https://bugs.opera.com/wizard/ is where you should report security issues in future [15:39:02.0000] <The_8472> see what works and what doesn't [15:39:03.0000] <_bga> ok [15:41:00.0000] <karlcow> The_8472: too far so far [15:41:01.0000] <The_8472> sorry, now i'm the one missing context [15:42:00.0000] <karlcow> backup planets are too far, so far with our technologies [15:43:00.0000] <The_8472> oh. yes [15:43:01.0000] <The_8472> before that we need sustainable energy and a space elevator or equivalent technology. [15:43:02.0000] <The_8472> almost all problems can be solved by throwing more energy at them [15:44:00.0000] <karlcow> I would prefer to grow peas going very high in the sky and so high that they would reach another planet. [15:44:01.0000] <The_8472> that has been tried, it didn't seem to work [15:45:00.0000] <karlcow> let's try harder ;) [15:45:01.0000] <The_8472> maybe if we anchor the beanstalk to an asteroid in GEO and replace the cellulose with carbon nanotubes.... [15:58:00.0000] <Hixie> anyone remember why i removed "In any case, events targeted at form controls (or other interactive elements, e.g. links) within a label must not be handled by the label itself." from the spec? [16:20:00.0000] <Dashiva> Hixie: Wouldn't that lead to double processing otherwise? 2011-06-04 [17:51:00.0000] <Hixie> Dashiva: yeah, i put it back for that reason... was wondering why i'd dropped it in the first place [19:40:00.0000] <MikeSmith> AryehGregor: about privacy in Japan, maybe valued more than in US [19:40:01.0000] <MikeSmith> in some ways at least [19:41:00.0000] <MikeSmith> e.g., there was a bigger fuss about Google Streetview here [23:26:00.0000] <hober> "Why would Google, Bing, and Yahoo! choose Microdata rather than doing what Facebook did and use a simpler RDFa?" -- http://lists.w3.org/Archives/Public/public-lod/2011Jun/0032.html [23:26:01.0000] <hober> hahahahaha. [23:47:00.0000] <Hixie> hober: "making order of attributes significant" o_O [23:48:00.0000] <Hixie> hober: the opinion in that criticism would have more weight if the facts in that criticism were correct... [23:54:00.0000] <hober> Hixie: my eyes did o_O pretty literally when I read that [23:57:00.0000] <othermaciej> Hixie: I was wondering about that - didn't sound right to me [23:58:00.0000] <Hixie> you know, when i first did the work on what became these item* attributes, i did a ton of research on microformats, rdfa, rdf, and a raft of other ideas in the space [23:59:00.0000] <Hixie> some of the rdfa guys have returned the favour and even given quite useful feedback [00:00:00.0000] <Hixie> others, though, i get the impression they're quite happy to throw stones without even trying to understand what we're doing here [00:00:01.0000] <Hixie> not that it matters at the end of the day, but it seems disrepectful, somehow [00:02:00.0000] <zewt> (can we boot this guy that's filled up the last 10 pages with join/excess flood? he doesn't appear likely to stop, heh) [00:03:00.0000] <Hixie> eh, it's not like we're having much of a conversation [00:04:00.0000] <zewt> fills up the log with noise [00:10:00.0000] <KevinMarks> I understand what you're doing, Hixie, it's the schema.org crew I don't really follow [00:10:01.0000] <Hixie> what i was talking about above was mostly about the e-mail hober linked to, which was someone criticising microdata, not schema.org [00:11:00.0000] <Hixie> /me wasn't involved in schema.org, and doesn't really know anything about it [00:11:01.0000] <Hixie> KevinMarks: sup, btw? i hear you on twig occasionally, good stuff :-) [00:12:00.0000] <Hixie> KevinMarks: grats on your recent job change [00:12:01.0000] <KevinMarks> well, schema.org saying only microdata and FUDing use of microformats and RDFa alongside microdata is tacky [00:12:02.0000] <KevinMarks> thanks - hoping to do some open standards good there [00:13:00.0000] <Hixie> /me looks at schema.org to see what it says about rdfa [00:13:01.0000] <KevinMarks> but the real oddness is the 'we just made up a buncha vocabularies without talking to anyone in public, and we might invite you later' [00:14:00.0000] <KevinMarks> http://schema.org/docs/faq.html is the bit that needs a Pilgrim 'high as a kite' translation [00:15:00.0000] <Hixie> the "why microdata" question? doesn't seem fuddy, what's wrong with it? [00:18:00.0000] <KevinMarks> hm, did they remove the bit about 'don't mix types' ? [00:25:00.0000] <Hixie> can't disagree that openly developed standards are the better way to go, but microdata was always meant to be mainly used by private vocabularies, so it doesn't really surprise me [00:26:00.0000] <Hixie> i don't see anything about mixing types, not sure what you mean [00:27:00.0000] <KevinMarks> when I read the site yesterday it said "don't mix microdata and microformats on the same page, it will confuse our parsers" [00:27:01.0000] <othermaciej> lame [00:27:02.0000] <Hixie> that would certainly be lame if it's there [00:27:03.0000] <Hixie> i don't see anything like that there now [00:28:00.0000] <KevinMarks> I wonder where the repository of the edit history is [00:28:01.0000] <KevinMarks> oh, wait [00:28:02.0000] <othermaciej> micro data the feature could be a building block for micro formats in the sense of defined conventions on using standard HTML attributes [00:29:00.0000] <othermaciej> damnmit, autocorrect doesn't like the words "microdata" or "microformat" [00:32:00.0000] <othermaciej> it is sad for the W3C that the schema.org members did not feel the W3C was a good venue for their work [00:36:00.0000] <hober> othermaciej: indeed [00:37:00.0000] <othermaciej> KevinMarks: I'm curious if pilgrim himself would do that on a piece of writing that Google was partially or fully responsible for [00:38:00.0000] <KevinMarks> I suspect not; I migjt have to do it... [00:38:01.0000] <KevinMarks> ah, here's the quote: http://googlewebmastercentral.blogspot.com/2011/06/introducing-schemaorg-search-engines.html If you’ve already done markup on your pages using microformats or RDFa, we’ll continue to support it. One caveat to watch out for: while it’s OK to use the new schema.org markup or continue to use existing microformats or RDFa markup, you should avoid mixing the formats together on the same web page, as this [00:38:02.0000] <KevinMarks> can confuse our parsers. [00:39:00.0000] <othermaciej> KevinMarks: that just sounds like Google saying they are bad programmers [00:39:01.0000] <othermaciej> (which honestly I'm surprised to hear) [00:40:00.0000] <Hixie> yeah that seems lame [02:04:00.0000] <MikeSmith> kinda surprised schema.org doesn't have a mailing list [02:04:01.0000] <MikeSmith> maybe nobody thought to set one up yet [02:06:00.0000] <MikeSmith> oh [02:06:01.0000] <MikeSmith> http://groups.google.com/group/schemaorg-discussion [02:17:00.0000] <MikeSmith> the answer to the "Is schema.org a standards body like the W3C or IETF ?" question in the FAQ is interesting [02:17:01.0000] <MikeSmith> every new standards body seems to start out with an assertion that it's not a standards body [02:19:00.0000] <MikeSmith> but it's hard to see how an organization set up to provide and maintain a standard set up schemas is not actually a de facto standards body [02:21:00.0000] <MikeSmith> "Changing to the new markup format could be helpful over time because you will be switching to a standard that is accepted across all three companies" [02:26:00.0000] <othermaciej> http://manu.sporny.org/2011/false-choice/ [02:28:00.0000] <MikeSmith> as far as I can see at this point, it seems like schema.org is not any more of a formal organization that whatwg.org is [02:28:01.0000] <MikeSmith> in particular, it has no patent policy nor any documented organizational process for deciding things [02:28:02.0000] <MikeSmith> yes, Microsoft is participating in it [02:29:00.0000] <MikeSmith> s/yes/yet/ [02:31:00.0000] <MikeSmith> so that would seem to indicate that Microsoft can, if the choose to, participate in work on developing standards within a relatively informal organization that does not have a patent policy [02:31:01.0000] <MikeSmith> *if they choose to [03:09:00.0000] <Onderhond> Hi guys, asked this before but might've missed the answer [03:10:00.0000] <Onderhond> If data- attributes can't be used for external scripts, what would be a good alternative? [03:10:01.0000] <Onderhond> In other words, what would be the best way to include data for an external script that isn't user-content? [03:11:00.0000] <Onderhond> fe: <div class="movie review" data-imdbid="0267287"> [03:13:00.0000] <erlehmann> microformats? [03:16:00.0000] <Onderhond> Isn't that just adding classes for html-content? [03:16:01.0000] <Onderhond> Thing is that I don't want the imdb-code as content. [03:16:02.0000] <Onderhond> It's only purpose is meta-data for scripts, so no point in making it show up if fe you would disable css. [04:31:00.0000] <Philip`> Onderhond: If the content and the scripts are controlled by separate people then you ought to write some standard they should both follow so they can interoperate, and I guess that standard could be built on top of microdata with a standard vocabulary URL [04:32:00.0000] <Philip`> like in http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#global-identifiers-for-items [04:35:00.0000] <Onderhond> But doesn't that mean you're limited to just one property? [04:35:01.0000] <Onderhond> Or could you tuck away multiple data properties in one itemid ? [04:36:00.0000] <Philip`> You can use itemprop to specify more properties [04:37:00.0000] <Philip`> (You may or may not want to put the ISBN in an itemprop instead of using itemid, I guess) [04:37:01.0000] <Onderhond> Myeah, but that would put the data in the html as content again, no? [04:37:02.0000] <Philip`> You can do <meta itemprop="isbn" content="whatever"> [04:38:00.0000] <Philip`> for hidden metadata [04:38:01.0000] <Onderhond> Oh, now that is cool. [04:38:02.0000] <Onderhond> I thought <meta> elements could only be used within the <head> of a page. [04:39:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-meta-element has special rules for where <meta itemprop> is permitted [04:41:00.0000] <Onderhond> Thanks for the info!! [04:41:01.0000] <Onderhond> Very useful indeed :) [04:43:00.0000] <Philip`> (The problem with data-imdbid if you don't control both content and script is that you have way to know that other people's content is using data-imdbid in the way you expect, instead of using it for something totally different, whereas microdata (or RDFa etc) uses the itemtype URL to disambiguate) [04:48:00.0000] <Onderhond> Yeah, it's starting to dawn on me :) [04:49:00.0000] <Onderhond> I wonder if microdata will ever become a real standard though. [04:49:01.0000] <Onderhond> It's a bit complex for what it does. [04:50:00.0000] <Onderhond> It's okay for front-end devvers, but I still need to explain to back-end devvers why <p class="title"> is no good :p [04:51:00.0000] <Philip`> What does "real standard" mean? :-) [04:51:01.0000] <Dashiva> Onderhond: You can teach them through monoelement xml [04:52:00.0000] <Onderhond> Philip`: something that will actually be used and recognized as a working standard. [04:52:01.0000] <Onderhond> It's so much easier to just use a data- attribute and ignore the spec. [04:53:00.0000] <Onderhond> Hoping it will turn into a "paving the cowpath" situation. [04:54:00.0000] <Philip`> If you want to ignore the spec there's no need to even use data-, just use <div imdbid="..."> or whatever [04:54:01.0000] <Onderhond> Yeah, but I'll never do that because it won't validate. [04:54:02.0000] <Onderhond> It's like using the <address> element for an actual element. [04:55:00.0000] <Onderhond> It's not permitted, but at least the validator won't complain :D [04:56:00.0000] <Dashiva> What's wrong with <div class="imdbid:x">? :( [04:56:01.0000] <Philip`> It has a colon in it >:-( [04:59:00.0000] <Dashiva> I guess this is why we should be using xhtml [05:00:00.0000] <Onderhond> You can practically taste the awkward silence following that remark :p [05:00:01.0000] <Onderhond> But thanks for the info, at least now I know why you guys made the difference between internal/external scripts [05:01:00.0000] <Dashiva> It's okay, nobody here listens to me anyway :) [05:01:01.0000] <Philip`> Onderhond: You could just stick with the class attribute in a microformat-ish way, but then you have to define how to extract the metadata from an HTML page, which is complex if you have non-trivial data structures - the purpose of microdata is to define a single way of extracting generic structured data from HTML so you don't have to worry about that problem yourself [05:03:00.0000] <Philip`> (Your code doesn't have to care about <meta> or <link> or itemscope or itemprop or anything, it just uses a microdata parser library which returns a simple JSON-ish structure or whatever, or at least it would if such libraries existed yet) [06:30:00.0000] <Ms2ger`> So, which space characters need to be trimmed when parsing a text/uri-list file? [06:56:00.0000] <hsivonen> othermaciej: why are you sad about the schema.org partners not using the W3C as their venue? the whole point of Distributed Extensibility is that the W3C enables the non-use of the W3C venue for coordination. [06:56:01.0000] <The_8472> Ms2ger`, doesn't that depend on the language used? the asians use a different space character for their scripts i think [06:57:00.0000] <hsivonen> Philip`: have you already tested if the schema.org participants implement microdata consumption correctly? [06:57:01.0000] <Ms2ger`> I though the point was to enable other WGs within the W3C to do their thing while ignoring the rest of the W3C? [06:57:02.0000] <Ms2ger`> The_8472, there is no human language involved [06:58:00.0000] <Dashiva> hsivonen: I think there's an implied "but it should be done at W3C if W3C wants to do it" in DE [06:58:01.0000] <The_8472> oh, i thought you were talking about IDN character blacklisting [07:00:00.0000] <hsivonen> Ms2ger`, Dashiva: you are probably right. However, DE is also OK for enterprise vendors. [07:00:01.0000] <hsivonen> maybe DE isn't OK for search engines. dunno. [07:00:02.0000] <hsivonen> but is for social networks [07:01:00.0000] <hsivonen> hard to infer how this is supposed to work [07:02:00.0000] <Dashiva> Let's not read too much into a single off-hand comment [07:20:00.0000] <Philip`> hsivonen: I haven't looked at that at all [07:21:00.0000] <Philip`> /me barely even knows what the current microdata syntax is [09:03:00.0000] <nessy> gah, my message is stuck in moderation for being 50KB long, when 40KB is the limit :( [10:29:00.0000] <hsivonen> Philip`: ok [12:32:00.0000] <othermaciej> hsivonen: I didn't say I am sad - I said that it is sad for the W3C [13:09:00.0000] <salty-horse> is there a reason why "data:text/html,<article><h1>H1</h1><h2>H2</h2></article>" should have H1 and H2 be the same size? (firefox nightly) [13:23:00.0000] <hsivonen> othermaciej: I see [14:26:00.0000] <otherarun> Can anyone point to any part of the HTML spec. that discusses when exactly it is safe to access document.hash or onhashchange, etc.? Is it before the DOM tree is officially constructed? [14:27:00.0000] <Dashiva> What do you mean by safe? [14:27:01.0000] <otherarun> /me spends too little time looking at layout stuff in spec. [14:27:02.0000] <otherarun> Dashiva, I misspoke. Instead of "safe" I basically mean, *when* can you access document.hash or onhashchange, etc. [14:27:03.0000] <otherarun> Does a DOM tree need to be in place first, or is access to hash in script fairly instantaneous? [14:28:00.0000] <otherarun> And, does the spec govern any portion of this? [14:28:01.0000] <Dashiva> Unless there's an explicit restriction, I don't see why it would be limited [14:28:02.0000] <Dashiva> The hash is a property of the document location, which is set before the document begins to load [14:31:00.0000] <otherarun> Dashiva, I'm inclined to think so too [14:32:00.0000] <otherarun> Just checking to see if there's something within HTML that is explicit about *when* the fragment portion of the URL is applied. [14:36:00.0000] <Dashiva> Well, there is leniency in when the browser actually scrolls [14:37:00.0000] <Dashiva> "After creating the Document object, but before any script execution, certainly before the parser stops, the user agent must update the session history with the new page." [14:37:01.0000] <otherarun> Dashiva, cool :) [14:37:02.0000] <otherarun> Can you dump a ref here for me to read? [14:38:00.0000] <Dashiva> I don't think that affects .hash or hashchange, though [14:38:01.0000] <Dashiva> It's just for managing the history [14:39:00.0000] <otherarun> ~ Hmmm [14:41:00.0000] <Dashiva> If you check 6.4.3 The Location interface [14:41:01.0000] <Dashiva> The Location interface also has the complement of URL decomposition IDL attributes, protocol, host, port, hostname, pathname, search, and hash. These must follow the rules given for URL decomposition IDL attributes, with the input being the current address of the associated Document object, as an absolute URL [14:42:00.0000] <Dashiva> There's no condition about the document's load state [14:46:00.0000] <otherarun> thanks much. [14:46:01.0000] <otherarun> /me goes to contemplate Location interface, History, etc. [16:20:00.0000] <nonge> I need a field for entering a year (YYYY). Am I correct that I can't use the type "number" (because it's for floating integers) nor any of the date types (because there is none for year only)? [16:27:00.0000] <Dashiva> Hmm? [16:29:00.0000] <Dashiva> "The step scale factor is 1. The default step is 1 (allowing only integers, unless the min attribute has a non-integer value)." [16:37:00.0000] <nonge> Dashiva, mhh … when I set »min="2000" max="3000"«, Chromium converts (for example) the number 2011 to 2.011 [16:42:00.0000] <Dashiva> nonge: Are you sure that's not just a thousands separator? [16:44:00.0000] <nonge> Dashiva, ah yes -- that's it. Any chance to disable that display (of the thousand separator)? you wouldn't want one not only for years but for serial numbers or something like that, too … [16:48:00.0000] <Dashiva> I don't think there's CSS developed for input[number] presentation, but there might be some chrome/webkit-specific 2011-06-05 [17:00:00.0000] <The_8472> css and form elements is a horror anyway [17:10:00.0000] <Philip`> jamesr_: Ping [02:21:00.0000] <hsivonen> mobile.twitter.com/t/status/77083691414863872 [02:22:00.0000] <hsivonen> grr. Opera Mobile ate http:// [02:23:00.0000] <Ms2ger> Hmm, I guess the W3C should sue now [02:24:00.0000] <Dashiva> How can it be a fork when it isn't a replacement? [02:28:00.0000] <hsivonen> I'm disappointed that google dumps ad hoc values into html attributes without even notifying html wg or whatwg [02:29:00.0000] <hsivonen> that particular attribute was not supposed to be DE territory [02:30:00.0000] <Hixie> they say they're looking for feedback... http://schema.org/docs/feedback.html [02:30:01.0000] <Hixie> (or alternatively, drop me a mail at ianh⊙gc and i'll ping them on monday) [02:31:00.0000] <Dashiva> I'm disappointed they don't specify how to have more than one time range, e.g. different times on Saturdays [02:32:00.0000] <hsivonen> do they even spec duratioon processing? [02:43:00.0000] <Dashiva> Only informally, it seems [04:47:00.0000] <MikeSmith_> Ms2ger: Space, tab, LD [04:47:01.0000] <MikeSmith_> Oops [05:09:00.0000] <Ms2ger> MikeSmith? [05:10:00.0000] <MikeSmith> Ms2ger: fat-fingered while I was trying to type on iPad [05:11:00.0000] <Ms2ger> Yet another reason not to get an iPad :) [05:11:01.0000] <MikeSmith> heh [05:12:00.0000] <erlehmann> touchscreen typing is so hilariously bad [05:12:01.0000] <erlehmann> i still cling to my G1 phone, because it has a somewhat sane keyboard 2011-06-06 [23:05:00.0000] <hsivonen> Hixie: OK if I consolidate the "Registered Extensions" and "Proposals" sections on the MetaExtensions page considering the Proposals section has a status column? [23:05:01.0000] <hsivonen> it seems to me that no-email-collection fails the requirements for registration due to being URL-valued [23:24:00.0000] <Hixie> hsivonen: yeah, do with that page whatever you think is most helpful for you and the web in general [23:24:01.0000] <hsivonen> Hixie: ok [23:28:00.0000] <hsivonen> Hixie: why does HTML(5) allow rel=tag on <link> when the microformats.org spec for rel=tag says implementations SHOULD NOT support it on <link>? [23:29:00.0000] <Hixie> probably just my sucking [23:29:01.0000] <hsivonen> also, what word is being tagged in the <link> case? the one in the title attribute? [23:29:02.0000] <Hixie> file a bug, i can fix that np [23:29:03.0000] <hsivonen> Hixie: ok [23:29:04.0000] <hsivonen> Hixie: btw, all the HTML 4 link types got registered [23:30:00.0000] <Hixie> interesting [23:30:01.0000] <Hixie> even the ones the wg rejected? [23:30:02.0000] <hsivonen> which WG? [23:30:03.0000] <Hixie> and did anyone include a link to a spec that actually defines them? (i.e. a spec more detailed than html4) [23:30:04.0000] <Hixie> w3c html wg [23:30:05.0000] <hsivonen> Hixie: the link is to HTML 4 [23:30:06.0000] <Hixie> fail [23:31:00.0000] <Hixie> we're definitely going to have to move to a model where there's a review step after regstration, i guess [23:31:01.0000] <Hixie> i mean, the idea here was to stop people wasting their time [23:31:02.0000] <Hixie> if the types that people commonly waste their time with get registered, ... :-( [23:34:00.0000] <hsivonen> Hixie: well, Tantek registered them and he is in charge of review. :-) [23:35:00.0000] <Hixie> ah [23:35:01.0000] <Hixie> well then we'll need to speak to tantek :_) [23:36:00.0000] <hsivonen> btw, which relations did the W3C HTML WG reject? [23:38:00.0000] <Hixie> i forget. index? up? something like that? [23:39:00.0000] <hsivonen> "up" might be it [23:39:01.0000] <hsivonen> "up" wasn't registered [23:39:02.0000] <hsivonen> hmm. nofollow got registered for <link> but HTML(5) bans it on <link> [23:47:00.0000] <othermaciej> to be specific W3C HTML WG rejected them from the core spec [23:47:01.0000] <othermaciej> it didn't say "never register these as extensions" [23:48:00.0000] <othermaciej> though I personally tend to think the navigation-type relations are not very useful and are basically a failed experiment [23:49:00.0000] <hsivonen> hmm. XFN is an interesting case of use of the global namespace [23:50:00.0000] <hsivonen> XFN was grandfathered in to microformats [23:50:01.0000] <hsivonen> I wonder if stuff like rel=date would make it through the Process now [23:51:00.0000] <hsivonen> (rel=date being a person being dated--not any kind of calendar thing) [23:51:01.0000] <othermaciej> probably not with that name [23:51:02.0000] <othermaciej> well I hope not [23:52:00.0000] <hsivonen> also, rel=parent [23:52:01.0000] <hsivonen> means parent as in a person [23:52:02.0000] <hsivonen> not a parent of the document in a hierarchy [23:52:03.0000] <Hixie> othermaciej: well presumably if the wg couldn't find a good reason to have the relations, then (short of a new reason coming along) there's not a good enough reason to have it in the registry either [23:52:04.0000] <othermaciej> hsivonen: you're starting to convince me of the merits of namespace prefixes [23:53:00.0000] <hsivonen> othermaciej: scary [23:53:01.0000] <othermaciej> Hixie: well, if there is a distinction between "registered [23:53:02.0000] <othermaciej> " and "approved" [23:53:03.0000] <othermaciej> then there are probably good reasons for such relations to be in the former state even if not the latter [23:53:04.0000] <othermaciej> since they do get used in a fair amount of places, and there is no need to hide that [23:53:05.0000] <hsivonen> othermaciej: what practical differenc would the distinction make? [23:54:00.0000] <hsivonen> other than pedants feeling a bit better about something not being Approved [23:54:01.0000] <othermaciej> less pressure for implementors to waste time implementing arguably silly UI features? [23:54:02.0000] <hsivonen> othermaciej: good point [23:54:03.0000] <Hixie> othermaciej: oh certainly if a new relation comes along we definitely need a way to be able to reserve the name [23:54:04.0000] <Hixie> othermaciej: but i'm talking about an existing but presumably useless relation [23:55:00.0000] <othermaciej> less encouragement for broader use of relations that the community doesn't widely consider useful [23:55:01.0000] <othermaciej> /me is listing reasons a distinction between "registered" and "approved" might be useful [23:57:00.0000] <danbri> that distinction would be useful [23:57:01.0000] <Hixie> i think we should move towards a world where we have trivial registration, less trivial (but still non-bureaucratic) approval, and things that don't get approved lose their registration status [23:57:02.0000] <danbri> 'registered' could cover cases like 'yeah, we know about that one, ... it was tried but kinda failed' [23:57:03.0000] <Hixie> validators would ok anything in either category, and may give more specific advice about things that were once registered but were then rejected [23:58:00.0000] <hsivonen> danbri: btw, do you happen to know if GRDDL really meant to register rel=transformation for <a> in addition to <link>? [23:58:01.0000] <danbri> i've no idea [23:58:02.0000] <danbri> it sounds like a doc-level construction [23:58:03.0000] <hsivonen> danbri: ok. [23:58:04.0000] <othermaciej> I could imagine having a "rejected" category for cases where it's important to tombstone the name [23:58:05.0000] <danbri> /me nods [23:58:06.0000] <othermaciej> as opposed to making that identical to "never registered" [23:59:00.0000] <danbri> we've been using 'archaic' in some other contexts (foaf, rdfwg); it seems to capture some intuitions [23:59:01.0000] <danbri> i.e. this is old-fashioned usage; but not as harsh as deprecated/rejected [23:59:02.0000] <othermaciej> HTML5 says "obsolete" [23:59:03.0000] <othermaciej> opinions on the harshness of that vary [00:00:00.0000] <Hixie> othermaciej: i don't mind what we call them. categories a, b, and c, for the sake of argument. [00:00:01.0000] <danbri> can i get a bookmark to this discussion from a logger bot somewhere? useful stuff [00:00:02.0000] <Hixie> see /topic [00:01:00.0000] <othermaciej> the topic has links to full logs [00:01:01.0000] <danbri> /me curses limechat's display of /topic, clicks around [00:02:00.0000] <danbri> got it [00:04:00.0000] <hsivonen> what's the wiki syntax for linking to an anchor on the same wiki page? [00:05:00.0000] <Hixie> wiki link syntax drives me batty [00:05:01.0000] <Hixie> mediawiki, anyway [00:05:02.0000] <MikeSmith_> [[foo]] [00:05:03.0000] <hsivonen> [[#See also|different text]] [00:05:04.0000] <danbri> should the schema.org folk put their relationship types thru this registration process? [00:05:05.0000] <MikeSmith_> I think [00:05:06.0000] <Hixie> it has like three different ways of doing links [00:06:00.0000] <Hixie> danbri: do they have rel types? i thought they only used microdata [00:06:01.0000] <danbri> they are types of relationship; but expressed as microdata yeah [00:06:02.0000] <danbri> 'cos it's a full uri, no need to register? [00:06:03.0000] <danbri> /me RTFMs, finds " Note that URL-valued properties must not be registered as meta names but should be registered as rel keywords instead." [00:06:04.0000] <Hixie> microdata doesn't use the rel="" attribute at all [00:07:00.0000] <hsivonen> danbri: Microdata uses full URIs, so it's Distributed Extensibility with no registration [00:07:01.0000] <Hixie> and "URL-valued properties" are an entirely separate thing again :-) [00:07:02.0000] <danbri> (they're types of real-world relationship) [00:07:03.0000] <danbri> pardon my confusion :) [00:08:00.0000] <nessy> if my email is stuck in moderation for being too long, should I wait till somebody authorizes it or remove it and resend multiple? [00:08:01.0000] <MikeSmith_> nessy: which list? [00:09:00.0000] <nessy> whatwg [00:09:01.0000] <Hixie> i approved it [00:09:02.0000] <Hixie> i don't get notified when things get caught [00:09:03.0000] <nessy> oh! thanks! [00:09:04.0000] <Hixie> so if you get something caught, let me know :-) [00:09:05.0000] <Hixie> mine got caught too [00:09:06.0000] <Hixie> that's why it didn't go into the archives at first [00:10:00.0000] <Hixie> (i let mine through when i saw your www-archive mail) [00:10:01.0000] <nessy> yeah, strangely though it came to the list [00:10:02.0000] <Hixie> nah it went to you directly [00:10:03.0000] <Hixie> i bcc everyone who i reply to [00:10:04.0000] <Hixie> whom [00:10:05.0000] <nessy> ah! that explains it [00:10:06.0000] <nessy> thanks heaps [00:10:07.0000] <Hixie> np [00:14:00.0000] <nessy> you'll really like this page that Ronny from leanbackplayer has developed: http://leanbackplayer.com/other/webvtt.html [00:14:01.0000] <hsivonen> grr. bitbucket pulls hang [00:16:00.0000] <Hixie> nessy: let him know he misspelt A:start and A:end :-) [00:16:01.0000] <nessy> oh!? [00:16:02.0000] <Hixie> (he wrote A:left and A:right in an example) [00:17:00.0000] <Hixie> the diagram for L:50% is wrong [00:17:01.0000] <Hixie> L:50% means vertically centered [00:17:02.0000] <Hixie> same idea as T:50% [00:18:00.0000] <Hixie> (with A:middle) [00:18:01.0000] <Hixie> actually ignore what i said about T:50%/A:middle [00:18:02.0000] <Hixie> L:50% means vertically centered [00:18:03.0000] <Hixie> 50% point of box should be 50% of the way down [00:19:00.0000] <Hixie> i was going to say that there's no <u>, but i guess i did add that after all, when we added <u> to html proper [00:20:00.0000] <nessy> yeah, we were discussion how L:50% works - right no he has the bottom of the subtitle box vertically centered, not the middle [00:20:01.0000] <Hixie> L:x% means to line up the point x% of the way along the box x% of the way along the viewport [00:20:02.0000] <Hixie> so L:50% centers vertically, L:0% goes to the top, L:100% goes to the bottom [00:21:00.0000] <nessy> are we anchoring top left corner then and not bottom? [00:21:01.0000] <Hixie> you're not anchoring either [00:21:02.0000] <Hixie> you're anchoring the point x% of the way along the box [00:22:00.0000] <nessy> what I meant is: where does 0% start [00:23:00.0000] <nessy> I thought T:0% and L:0% would be bottom left corner [00:23:01.0000] <Hixie> i don't understand the question [00:23:02.0000] <nessy> will get Ronny to fix it [00:23:03.0000] <nessy> (A:left and A:right are already fixed :-) [00:23:04.0000] <Hixie> nice [00:24:00.0000] <nessy> so, the T: and A: examples are correct? [00:25:00.0000] <nessy> ah, probably not [00:25:01.0000] <Hixie> the examples don't give me enough information to determine their accuracy [00:26:00.0000] <nessy> do you want 50% markers etc? [00:26:01.0000] <Hixie> i'd like to see the whole cue [00:27:00.0000] <nessy> ah, ok - those are meant to have nothing but the one or two cue settings that are given there [00:27:01.0000] <nessy> the arabic example is rtl text, the English one ltr [00:29:00.0000] <Hixie> so why is the first one not as wide as the box? [00:30:00.0000] <nessy> the A:start example with the "Hello everybody" example? [00:30:01.0000] <Hixie> yeah [00:30:02.0000] <nessy> the green and red boxes are the video viewport [00:30:03.0000] <Hixie> the grey box is like 40% [00:30:04.0000] <Hixie> it should be 100% [00:30:05.0000] <Hixie> no? [00:30:06.0000] <Hixie> width wise [00:31:00.0000] <nessy> oh! no, I think that's overkill [00:31:01.0000] <nessy> it should only be as wide as the max string of the subtitle string [00:31:02.0000] <Hixie> ? [00:31:03.0000] <Hixie> the spec says it's 100% wide [00:31:04.0000] <nessy> oh! [00:31:05.0000] <nessy> I don't like that because the subtitle box then obscures more than it needs to [00:32:00.0000] <Hixie> i'm not saying i like it, i'm saying it's what the spec says [00:32:01.0000] <nessy> why can't we have it just the bounding box around the text [00:32:02.0000] <Hixie> *shrug* dunno, send mail [00:32:03.0000] <nessy> can we change that? do you want on on-list discussion about that? [00:32:04.0000] <Hixie> i'm just trying to review this document with respect to the spec here :-) [00:32:05.0000] <nessy> ok, will send email [00:32:06.0000] <Hixie> i don't have the editor open or anything [00:32:07.0000] <nessy> very much appreciated! [00:33:00.0000] <nessy> we'll make some fixes and I'll send another email [00:33:01.0000] <nessy> we could even use some of the images that Ronny makes in the spec eventually [00:33:02.0000] <LBP> hi there. [00:33:03.0000] <nessy> hi Ronny :-) [00:34:00.0000] <Hixie> hi [00:34:01.0000] <LBP> you are discussing my thoughts? ;-) [00:34:02.0000] <Hixie> nice doc :-) [00:35:00.0000] <LBP> the specs is great, webvtt is great but some times I need some more visual informations like a screenshot, so there is ;-) [00:35:01.0000] <Hixie> yeah, the spec is sorely lacking in examples and stuff [00:35:02.0000] <LBP> mainly to make it easier for me to write the parsers. [00:35:03.0000] <Hixie> i tend to avoid making informative text until after we have implementations because before we do the spec keeps changing and i end up spending twice as much time working on the examples as fixing the spec [00:36:00.0000] <nessy> I think we're getting there :-) [00:36:01.0000] <nessy> I've had the request for examples from others, too, and Ronny's doc will certainly help [00:37:00.0000] <LBP> Hixie.you wrote about the subtitle box should be 100%? [00:38:00.0000] <Hixie> yeah the default "text track cue size" is 100% according to step 27 of the parser [00:39:00.0000] <LBP> I have no TV so most times I only use subs at the web/pc and most players going to make the box only the width of the text within! [00:39:01.0000] <Hixie> the spec might be wrong, i'm just saying what the spec says :-) [00:39:02.0000] <LBP> ;-) [00:39:03.0000] <Hixie> if teh spec is wrong, mail the list [00:39:04.0000] <Hixie> or file a bug [00:40:00.0000] <nessy> is that what the "S:" setting refers to, too? [00:40:01.0000] <nessy> the size of the subtitle box? [00:41:00.0000] <LBP> that is not a problem, I have also a subtitle area of 100% and the box containing the subtitle text within there has a fixed width (and perhaps a background). but it should be clear which of the areas/boxes are the part that should be aligned and positioned through settings. [00:41:01.0000] <nessy> /me is confused [00:41:02.0000] <Hixie> what do you mean by "subtitle box" exactly? [00:41:03.0000] <nessy> the box within which the subtitles are rendered on top of the video viewport [00:41:04.0000] <LBP> let me show you the player (if Silvia not yet has done). [00:42:00.0000] <LBP> http://leanbackplayer.com/test/webvtt.html [00:42:01.0000] <Hixie> nessy: the subtitles are rendered within at least 5 nested boxes in the simplest case, so "the box" is insufficiently precise for these purposes [00:43:00.0000] <LBP> there is a box at the bottom containing a box with subs. last one is colored and I think last one is also the box that should be aligned/positioned?! [00:43:01.0000] <nessy> the visual effect is a dark grey box on top of the video viewport - that's the box that I referred to [00:44:00.0000] <LBP> that is way (for me) it is important to have some examples/images to resolve. [00:44:01.0000] <Hixie> the dark gray box could come from a variety of places [00:45:00.0000] <Hixie> one of which might be the one whose size you're setting with S: [00:45:01.0000] <Hixie> depends on how you style it [00:45:02.0000] <nessy> in a normal horizontal box with S:20%, for example, would that size the width of that box? [00:45:03.0000] <LBP> yes,thats the point. let me update the css of the player showing the areas/boxes. [00:46:00.0000] <Hixie> nessy: depends how you style it [00:46:01.0000] <nessy> given no additional CSS [00:46:02.0000] <nessy> just using the cue settings [00:46:03.0000] <Hixie> given no additional css, there is no single box with a grey background [00:46:04.0000] <LBP> now there is a background 0.2 black and the subtitle is 0.4 black so you can see, the 0.2 box is 100% [00:47:00.0000] <Hixie> there is one inline box per line box, each with a grey background; these boxes have the width of the text [00:47:01.0000] <Hixie> these boxes might differ in width from each other for a single cue [00:48:00.0000] <LBP> one inline box per line box,ok. [00:48:01.0000] <nessy> background of the cue is by default set to rgba(0,0,0,0.8) , which will create the grey background for all the line boxes inside, no? [00:48:02.0000] <Hixie> no [00:48:03.0000] <Hixie> well yes, but it's not one box [00:48:04.0000] <Hixie> it's the background boxes, which are inline, not block [00:48:05.0000] <Hixie> the way it's currently specced, actually, there's no way to set a background on the box whose size is set by S: [00:49:00.0000] <Hixie> (though you can see its size by setting the 'outline' property) [00:50:00.0000] <nessy> but S: does indeed size the width of the cue box and not the font size? [00:50:01.0000] <nessy> sorry, but that spec keeps confusing me :-) [00:51:00.0000] <nessy> must be because I never wrote a CSS spec ;-) [00:51:01.0000] <nessy> or I am trying to read stuff into it that doesn't exist [00:51:02.0000] <LBP> the width of the box grows with font-size I would have thought (without any other setting). [00:52:00.0000] <Hixie> font size? why would S: affect the font size? [00:52:01.0000] <Hixie> before reading the webvtt rendering spec you really need to understand css :-) [00:52:02.0000] <nessy> the other way around: the font size affects the cue's size [00:52:03.0000] <Hixie> and before implementing the webvtt rendering rules you _definitely_ need to know css [00:53:00.0000] <Hixie> what do you mean by "size"? [00:53:01.0000] <nessy> I have an understanding of CSS, but no-where near the in-depth that you have [00:53:02.0000] <nessy> width when horizontal, height when vertical [00:53:03.0000] <Hixie> this stuff depends on an understanding of the css box model generation, and css selector matching [00:54:00.0000] <Hixie> font-size has no effect on the width when horizontal. But since the width is 100% by default, and cannot go bigger than 100%, it's unclear to me what it would mean for it to have an effect. [00:54:01.0000] <nessy> yeah, I understand those sufficiently (FAIK) [00:55:00.0000] <nessy> what if you do S:20% but your text is wider than 20%? [00:56:00.0000] <nessy> actually, I think we can live without "S:" if we just do a bounding box around the text - I'll raise that on list [00:57:00.0000] <Hixie> assuming you mean, if the shrink-wrap width of the inline boxes is greater than the maximum width of the box generated for the /list of WebVTT Node Objects/, then the answer is the shrink-wrap width isn't used, so it doesn't matter. [00:57:01.0000] <Hixie> text is force-wrapped at the S: width [00:57:02.0000] <Hixie> do bounding box around the text for what? [00:57:03.0000] <Hixie> the background is on a per-line basis behind the text only [00:57:04.0000] <Hixie> unless you use 'outline' on the root of the cues, you can't see the S: size at all [00:58:00.0000] <Hixie> except for its indirect effect on wrapping [01:01:00.0000] <nessy> I see - so S: is used where we want to wrap text in a restricted area, which could be placed anywhere on the screen [01:01:01.0000] <Hixie> typically, yes [01:02:00.0000] <nessy> fair enough - we do need it then [01:02:01.0000] <nessy> LBP: we need some more examples [01:06:00.0000] <nessy> thanks Hixie for clarifying! [01:07:00.0000] <Hixie> np [01:18:00.0000] <zewt> heh, replying to these 20-page mails on whatwg in gmail is stalling ff for seconds at a time [01:20:00.0000] <nessy> zewt: my gmail refuses to display Hixie's video feedback email and instead tells me to go to this special text link for reading it ;-) [01:22:00.0000] <zewt> my onboard sound adds free invisible progress bars to gmail [01:22:01.0000] <zewt> there's so much bus noise, when I deleted a big block of text (and it froze up for a few seconds), I hear a progressively higher-pitched noise out my headphones [03:39:00.0000] <karlcow> http://blog.geoiq.com/2011/05/31/geocommons-2-0/ [03:39:01.0000] <karlcow> Cross-browser platform Support – view your maps anywhere from IE to your iPad. We’ve added support for HTML5 and Flash. [04:09:00.0000] <espressive> Hi there everyone [04:09:01.0000] <hsivonen> hi [04:09:02.0000] <espressive> Very curious to know what some people in here think of schema.org [04:10:00.0000] <hsivonen> I have a blog post about it coming up [04:10:01.0000] <hsivonen> not quite done yet [04:11:00.0000] <espressive> I am very torn, understand the concept but, the amount od extra markup that needs to be added for this just seems to go against the idea of creating lighter web pages that make for a faster web [04:11:01.0000] <hsivonen> espressive: if you don't need the SEO, don't use it [04:12:00.0000] <espressive> hsivonen, jip, I get that but, even if you do, this is not something that is going to be simple for content creators to add. [04:12:01.0000] <espressive> I wrote something up here : http://goo.gl/42SVK would love to read yours once published [04:12:02.0000] <espressive> I am thinking marketers working via a CMS with a simple web editor [04:19:00.0000] <espressive> Do you know if there is any current work regarding tools or integration with current web wysiwyg editors? [04:21:00.0000] <espressive> Also, comments on Tantek's tweets? [04:21:01.0000] <espressive> http://tantek.com/2011/155/t5/schemaorg-html5-fork-smoke-openinghours-time-duration [04:21:02.0000] <espressive> http://tantek.com/2011/155/t4/schemaorg-google-ms-duopoly-forking-html5 [04:28:00.0000] <hsivonen> espressive: it's not cool that they just dumped invalid stuff into <time> element attributes without (as far as I've noticed) sending feedback to the WHATWG or the HTML WG ahead of time [04:29:00.0000] <espressive> agreed [04:31:00.0000] <espressive> Also, is the scema completely open to, for example, the WHAT-WG getting involved and enhancing/improving this or, is this governed by Google, Yahoo and Bing? [04:33:00.0000] <espressive> I believe the following line has some people wondering about the openness of this: "We strongly encourage schema developers to develop and evangelize their schemas. As these gain traction, we will incorporate them into schema.org." [04:39:00.0000] <eightfold> could pubdate be used with the <time> element in a <li> of articles? the <li>'s has no <article> element? should there always be an element with an <article> parent when using pubdate? [04:41:00.0000] <karlcow> espressive: I have the feeling schema.org has for a goal to align everyone on one type of description which is good for them (G+M+Y) but not necessary good for small distributed communities. [04:42:00.0000] <karlcow> Then I guess the issue is not necessary that it matters that these small independent communities exist in SEO land, but more that the schema.org will likely drive the creation of tools or reduce the surface of other tools. [04:42:01.0000] <karlcow> That will be interesting to see how it will evolve. [04:43:00.0000] <karlcow> schema.org is just a Britney Spears ontology. [04:43:01.0000] <espressive> I would just have hoped that it would evolve in a open space where everyone can contribute from experience of using the schema [04:43:02.0000] <espressive> karlcow ;) [04:44:00.0000] <karlcow> or schema.org is just a Justin Bieber ontology. (for other fans) [05:12:00.0000] <mikekelly> is the 'offline web applications' bit still alive or has it been removed? [05:13:00.0000] <MikeSmith> mikekelly: alive [05:13:01.0000] <mikekelly> ok thanks, fwiw I've proposed an alternative here: http://blog.stateless.co/post/6246070973/how-offline-web-apps-should-work [05:14:00.0000] <mikekelly> MikeSmith: who came up with the current propsal, do you know? [05:16:00.0000] <MikeSmith> what current proposal? you mean what's already been implemented? [05:16:01.0000] <mikekelly> yeah [05:19:00.0000] <mikekelly> MikeSmith: any ideas? I'd like to find out some of the background on it if possible [05:28:00.0000] <MikeSmith> that's something more than a proposal at this point. support for it has shipped in multiple browser engines, and production sites rely on it, [05:28:01.0000] <MikeSmith> and it's simple [05:30:00.0000] <MikeSmith> so it would seem like the genesis of it would be just mostly be of historical interest only at this point [05:31:00.0000] <MikeSmith> anyway, Hixie wrote the spec for it [05:31:01.0000] <MikeSmith> like most everything else in the html5 spec [05:32:00.0000] <MikeSmith> there may have been somebody else who wrote the original proposal for it [05:33:00.0000] <MikeSmith> if so I don't personally remember [06:06:00.0000] <karlcow> mikekelly: being a big lover of HTTP, I like the proposal of Cache-Storage. The issue is a question of authority for authors. [06:06:01.0000] <karlcow> The Web servers are not in the control of authors. Let's say the hierarchy goes to something very similar to System Engineers > Back End Developers > Front-End Developers > Webmasters > Authors [06:06:02.0000] <karlcow> It is difficult for people right now to have controls on HTTP headers if they are not close to the actual server management. [06:06:03.0000] <karlcow> Unfortunately. [06:07:00.0000] <karlcow> I have the feeling it is one of the reasons why so many things have been pushed to the client side. [06:12:00.0000] <mikekelly> karlcow: I actually considered proposing it as part of an html doc rather than an http header [06:13:00.0000] <mikekelly> i.e. metadata in <head> of the application entry point [06:14:00.0000] <mikekelly> but again, I guess that doesn't really alleviate the concerns re: cache control headers [06:16:00.0000] <mikekelly> creating an /offline_assets folder in apache and creating necessary settings in .htaccess is pretty simple though [06:21:00.0000] <checkers> oh, pyhtml5lib is part of the *real* whatwg? nice! [06:21:01.0000] <hsivonen> karlcow: judging from Twitter, Justin Bieber seems to have quite a following. Will schema.org? [06:24:00.0000] <karlcow> hsivonen: yes. [06:24:01.0000] <karlcow> SEO porn [06:25:00.0000] <gsnedders> checkers: Well, it's written by people who've been around here for ages (and nowadays maintained mostly by random Opera people, coincidently, though both of us worked on it before working for Opera), and there tends to be people around here who know about it, thus the pointing of people here for it. [06:28:00.0000] <smaug____> is anne back from holiday? [06:29:00.0000] <gsnedders> smaug____: No. [06:30:00.0000] <gsnedders> smaug____: Back in two weeks, I believe. [06:30:01.0000] <smaug____> gsnedders: I assume he has written http://tc.labs.opera.com/apis/EventSource/ ? [06:30:02.0000] <smaug____> apparently there are some bugs in the tests [06:30:03.0000] <smaug____> but I'll go through them once anne is back [06:34:00.0000] <gsnedders> smaug____: Yeah, annevk wrote them. But, well, it depends how urgent it is. If you have any real need for it to be done sooner, I (or someone else) can deal with them. [06:35:00.0000] <smaug____> I don't think it is urgent [06:37:00.0000] <jquerier> can i ask a adsense question here? [06:42:00.0000] <karlcow> jquerier: not sure it is the right channel for this. [06:43:00.0000] <karlcow> or more exactly the right crowd, but you can still try. [06:46:00.0000] <checkers> gsnedders: i see python3 in the repository but no mention of it in the docs.. is python 3 supported? [06:47:00.0000] <gsnedders> checkers: Not really. It's an old 2to3 based port, and quite out of sync. [06:47:01.0000] <checkers> ok [14:21:00.0000] <zcorpan> hsivonen: "Note that updates of the wiki data in the validator are manual and do not happen in real time." doesn't seem particularly relevant [14:22:00.0000] <zcorpan> hsivonen: the message could be clearer about the possibility to register rel values [14:22:01.0000] <zcorpan> hsivonen: (updates to the spec are manual too but isn't mentioned anywhere) [14:24:00.0000] <zcorpan> /me tries to edit the microsyntaxdescriptions page [14:32:00.0000] <zcorpan> edited [14:38:00.0000] <zcorpan> hsivonen: i moved the real time note to the microformats wiki page [15:02:00.0000] <zcorpan> hsivonen: does v.nu implement "A document must not contain any items for which crawling the properties of the element, with an empty list as the value of memory, either fails or returns an error count other than zero." for microdata? [15:57:00.0000] <sicking> Hixie: ping [15:57:01.0000] <Hixie> yo [15:58:00.0000] <sicking> Hixie: why does the websockets API spec say this: "Act as if the user agent had received a set-cookie-string for the document's address, consisting of the cookies set during the server's opening handshake"? [15:58:01.0000] <Hixie> sicking: you mean, why is it phrased that way, why is that requirement there, or something else? [15:58:02.0000] <sicking> Hixie: doesn't that mean that if site A opens a websocket to site B, then site B can set cookies for A's domain [15:59:00.0000] <Hixie> ah, you mean "why is it bogus" [15:59:01.0000] <Hixie> uh yeah i suck [15:59:02.0000] <Hixie> let me fix that [16:14:00.0000] <Hixie> sicking: fixed (should be up in a few seconds) [16:14:01.0000] <sicking> Hixie: thanks! [16:15:00.0000] <Hixie> np [16:44:00.0000] <heycam> Hixie, can you tell me what I need to build the Web Applications spec? [16:44:01.0000] <Hixie> "build"? [16:44:02.0000] <heycam> convert source to index [16:44:03.0000] <Hixie> my password to log in to my machine, probably [16:44:04.0000] <heycam> and complete.html I guess [16:44:05.0000] <heycam> oh :( [16:44:06.0000] <Hixie> it's a huge rube goldberg machine [16:45:00.0000] <Hixie> invokes multiple other hosts, scripts, all kinds of things [16:45:01.0000] <Hixie> i can probably generate you a version if you need something though [16:45:02.0000] <Hixie> what's up [16:45:03.0000] <heycam> oh I was just going to work on the patch for the nullable web idl thing [16:45:04.0000] <Hixie> aah [16:46:00.0000] <heycam> it's probably not vital to be able to build it [16:46:01.0000] <heycam> since I probably won't be editing anything magical, just plain content [16:46:02.0000] <Hixie> if you need to review the output i can regen the spec, just mail me the diffs or whatever [16:46:03.0000] <heycam> and the idl fragments [16:46:04.0000] <heycam> ok, sure [16:46:05.0000] <Hixie> the file is html though, you can open it as is if you stick an HTML header on the top of it [16:46:06.0000] <Hixie> should work fine [16:46:07.0000] <heycam> ok [16:46:08.0000] <heycam> cool [16:47:00.0000] <Hixie> copy http://www.whatwg.org/specs/web-apps/current-work/header-whatwg-html onto its head [16:47:01.0000] <Hixie> should give you something to work with [16:47:02.0000] <heycam> k [16:47:03.0000] <Hixie> don't hesitate to ask if i can help in any way [16:48:00.0000] <Hixie> i'm eager to make this easy for you :-) [16:48:01.0000] <heycam> sure :) 2011-06-07 [17:12:00.0000] <heycam> does anyone implement cssElementMap yet? [17:12:01.0000] <Hixie> dunno, tabatkins would know [17:13:00.0000] <heycam> that was for the element() thing, yeah? [17:17:00.0000] <heycam> hi TabAtkins [17:17:01.0000] <Hixie> wow that was good timing [17:17:02.0000] <heycam> I assume you telepathically paged him or something [17:17:03.0000] <heycam> (with your google brain implants) [17:18:00.0000] <Hixie> no, i went to the loo. [17:18:01.0000] <Hixie> so... [17:54:00.0000] <heycam> Hixie, fwiw there are two instances of "initialised" in the document [17:54:01.0000] <Hixie> where? [17:54:02.0000] <Hixie> oh wait [17:54:03.0000] <Hixie> i was narrowed on the websockets section [17:54:04.0000] <Hixie> fixed [18:05:00.0000] <heycam> Hixie, createPattern is defined to throw a TYPE_MISMATCH_ERR if you give it an element that's not img/canvas/video. Web IDL already makes it so that a TypeError will be thrown, though. [18:05:01.0000] <heycam> so if it's necessary that TYPE_MISMATCH_ERR is thrown, you may have to widen the argument type (and remove the overloading) [18:06:00.0000] <Hixie> heycam: TYPE_MISMATCH_ERR only fires for null [18:06:01.0000] <Hixie> heycam: i don't mind if you change that so webidl fires TypeError [18:07:00.0000] <heycam> Hixie, great, will do [18:07:01.0000] <heycam> there are only a couple of instances where I'm making these changes to throw TypeError instead of throwing some DOMException [18:07:02.0000] <heycam> you can let me know if any of them can't be done for compat reasons [18:07:03.0000] <heycam> (but I would be surprised if particular exception types were relied on) [18:08:00.0000] <Hixie> mention them here and i'll let you know if any are problematic [18:08:01.0000] <heycam> ok [18:08:02.0000] <Hixie> but i'm gonna guess they're all fine [00:32:00.0000] <zcorpan> ah so now websocket.onerror is not for bogus frames but for "fail the websocket connection" [00:35:00.0000] <zcorpan> Hixie: for us following along at home, what's the rationale for the new onerror? [00:58:00.0000] <Hixie> zcorpan: ian asked me to expose the case where the connection closed because the client closed the connection due to an error. [01:00:00.0000] <zcorpan> ok [01:00:01.0000] <hsivonen> zcorpan: V.nu doesn't implement the microdata check you asked about [01:01:00.0000] <zcorpan> hsivonen: ok. any plans? [01:14:00.0000] <hsivonen> zcorpan: only vague plans. nothing concretely scheduled [03:53:00.0000] <kost-bebix> Hi everyone! I just wanted to ask about sanitization sules http://wiki.whatwg.org/wiki/Sanitization_rules . I mean, for example -- the "style" attribute. [03:53:01.0000] <kost-bebix> That's not safe from XSS, isn't it? [03:53:02.0000] <kost-bebix> So what's the purpose of that sanitization rules? [03:55:00.0000] <kost-bebix> Or should that "style" be removed? [04:13:00.0000] <jgraham> In some versions of IE you can include script in style rules [04:34:00.0000] <hsivonen> jgraham: also in Gecko [04:34:01.0000] <hsivonen> via XBL [04:35:00.0000] <jgraham> hsivonen: Oh, nice [04:35:01.0000] <hsivonen> which is why we need to sanitize styles in pastes to contenteditable [04:37:00.0000] <kost-bebix> jgraham: oh, got it [04:37:01.0000] <kost-bebix> we're in safe [04:37:02.0000] <kost-bebix> html5lib also parses "style" attribute [04:37:03.0000] <kost-bebix> so your css-expressions and other stuff will be sanitized [04:48:00.0000] <jgraham> Yes [05:14:00.0000] <hsivonen> turns out that there are now very, very few rel keywords in the old registry that aren't already in the new registry and meet the registration requirements [05:14:01.0000] <hsivonen> I'm going to register those few rel keywords [05:29:00.0000] <hsivonen> what's the deal with W3C specs that define rel keywords making those sections informative rather than normative? [05:29:01.0000] <hsivonen> FAIL [05:32:00.0000] <jgraham> Some W3C groups are surprisingly poor at writing specs [05:32:01.0000] <jgraham> Which is surprising given that is the whole point of them existing [05:36:00.0000] <hsivonen> also, a bunch of the old registrations linked to a spec that defined the format of the resoure the link was supposed to point to but didn't spec the rel keyword at all [05:37:00.0000] <hsivonen> I didn't reregister those. [05:37:01.0000] <hsivonen> since they failed the requirements [05:37:02.0000] <hsivonen> since the claimed spec didn't actually say anything about the rel keyword [05:37:03.0000] <hsivonen> not even informatively [05:41:00.0000] <kost-bebix> I need to modify sanitizer a little to allow youtube video's embed. Hope I'll find out how to do that safety)) [05:41:01.0000] <kost-bebix> s/safety/safely/ [05:45:00.0000] <hsivonen> zcorpan: thanks for fixing the wikis regarding registry usability [05:55:00.0000] <karlcow> hsivonen: @forstall said that "“we took Apple's Safari engine and open-sourced it”" at a specific recorded place? [05:55:01.0000] <karlcow> cf http://twitter.com/hsivonen/status/78065920316153856 [05:55:02.0000] <hsivonen> karlcow: in the official keynote recording. I didn't make note of the timecode [05:55:03.0000] <karlcow> wiiiiiz [05:56:00.0000] <karlcow> thanks [05:56:01.0000] <hsivonen> karlcow: but I rewinded to make sure I heard it right [05:56:02.0000] <karlcow> khtml community must be happy [05:57:00.0000] <Workshiva> karlcow: Imagine if Apple hadn't opensourced it, then khtml would be stealing Apple's code! [05:57:01.0000] <karlcow> heh [11:15:00.0000] <jgraham> Hmm, the latest Device Orientation spec specifies that a compassneedscalibartion event is only fired if there are event listeners registered for the deviceorientation event [11:15:01.0000] <jgraham> This seems bad, but I'm not really sure what to suggest [11:16:00.0000] <jgraham> http://dev.w3.org/cvsweb/~checkout~/geo/api/spec-source-orientation.html?rev=1.22;content-type=text%2Fhtml [11:16:01.0000] <Ms2ger> I'd suggest "Don't do that" [11:16:02.0000] <zewt> that sounds similar to the webgl stuff that was fixed recently, the sort of thing people who don't understand dom events spec [11:17:00.0000] <zewt> awkward-looking spec... [11:17:01.0000] <zewt> yeah this is just backwards and needs the same fix webgl did [11:17:02.0000] <jgraham> The spec improved at lot in the last revision :) [11:17:03.0000] <jgraham> What fix did WebGL do? [11:17:04.0000] <zewt> well, maybe not, hmm [11:18:00.0000] <zewt> webgl had something like "if anything is listening for this event, lost contexts are automatically restored", which is the same thing--a side-effect of event registration (bad) [11:20:00.0000] <zewt> the fix was to make it "if you want to restore the event, cancel the event", which is a little odd but a lot saner [11:20:01.0000] <zewt> similar here would be "if you want to display the calibration UI, cancel the event" [11:20:02.0000] <zewt> it's odd for cancellation to *cause* something rather than to stop the default handler, but registration itself having side-effects is broken [12:17:00.0000] <AryehGregor> When I run this in Opera 11.11, hitting backspace will sometimes decide to navigate backwards in history: http://aryeh.name/spec/editcommands/backspacetest.html [12:17:01.0000] <AryehGregor> Doesn't seem to happen in other browsers. [12:38:00.0000] <jgraham> AryehGregor: Hmm, well it didn't for me, but I assume it is a race condition [12:38:01.0000] <AryehGregor> What sort of race condition might it be? [12:38:02.0000] <jgraham> If you hit it fast enough it might navigate before the editable content is focused, or something [12:38:03.0000] <jgraham> /me hasn't looked at the source [12:39:00.0000] <AryehGregor> I'm hitting it quite slowly. [12:39:01.0000] <AryehGregor> /me tries clearing the cache and doing it again [12:39:02.0000] <gsnedders> /me couldn't reproduce it [12:39:03.0000] <jgraham> (what's the "store new result" stuff?) [12:40:00.0000] <AryehGregor> Oh, now it works. [12:40:01.0000] <AryehGregor> Maybe I changed the code at some point. [12:40:02.0000] <AryehGregor> jgraham, the second column is the results my spec say should happen. I use it for regression-testing the spec. If you store the new result, it will put it in localStorage, and on subsequent runs will alert you if the new result differs from the old. [12:41:00.0000] <AryehGregor> It will also alert for random other things, like if the DOM doesn't round-trip through text/html serialization. [12:42:00.0000] <jgraham> Oh, it is local-only [12:43:00.0000] <AryehGregor> Yeah. [12:43:01.0000] <AryehGregor> I've somewhat thought of making it centralized, because that way I don't have to reconfirm new results separately on every browser I use. [12:43:02.0000] <AryehGregor> But it seems like too much hassle for the benefit. [13:30:00.0000] <jgraham> Huh. The W3C is planning to release the author-only view of the HTML5 draft as a seperate normative document? [13:30:01.0000] <jgraham> That seems... confusing [13:31:00.0000] <Philip`> What could possibly go wrong with two separate documents normatively specifying the same subject? [13:31:01.0000] <Ms2ger> They need a replacement for HTML4, I guess [13:37:00.0000] <jgraham> 1 [14:43:00.0000] <jwalden> /me wonders where rel="archives" went, or if it was ever present [14:49:00.0000] <Philip`> jwalden: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11486 [14:50:00.0000] <jwalden> hm, why is that complaining it's hidden? and why am I not getting prompted for a member login or somesuch, which I could provide? [14:51:00.0000] <Philip`> jwalden: Doesn't look hidden to me [14:51:01.0000] <jwalden> strange; I get the " Sorry, Insufficient Access Privileges" page [14:52:00.0000] <jwalden> /me tunnels somewhere to retry [14:53:00.0000] <jwalden> bizarre [14:53:01.0000] <jwalden> it works from an MIT IP address, but not from the Mozilla network [14:54:00.0000] <jwalden> /me tries asking IT about it [15:01:00.0000] <jgraham> It's an evil conspiracy to block Mozilla from W3C! [15:37:00.0000] <jamesr> doesn't work for me either [15:48:00.0000] <jwalden> heh, that almost makes me wonder if it only works from MIT (W3C being there) [15:49:00.0000] <jwalden> nope, works from a dreamhost server [15:52:00.0000] <Hixie> w3c regularly automatically block google [15:52:01.0000] <Hixie> maybe they did the same to mozilla this time for some reason [15:53:00.0000] <Hixie> (it's part of their rather over-zealous DOS protections) [15:55:00.0000] <jamesr> how do i firewalled NAT? [16:10:00.0000] <AryehGregor> jwalden, I think what happens is that people use XML-processing programs that automatically request DTDs when processing XML files. They don't notice the four billion network requests to W3C's servers that happen every time they run through their database of XHTML files or whatever. So the W3C detects this and blocks such sites at the firewall automatically. [16:11:00.0000] <jwalden> "hoisted by their own petard", as it were [16:31:00.0000] <Hixie> if you go to a page that serves a 500 but declares a manifest, we cache it [16:31:01.0000] <Hixie> the next time you go there, you see the cached copy, and we try to update it [16:32:00.0000] <Hixie> but we find it's 500, so we don't update its entry in the cache (we update the rest of the cache) [16:32:01.0000] <Hixie> this continues forever, with you seeing the first 500 rather than any later updates, until it either becomes 200, 404, or 410, or the manifest becomes 410 [16:32:02.0000] <Hixie> now the question is: [16:33:00.0000] <Hixie> if it's a 200 page with no-store, instead of a 500 page: [16:33:01.0000] <Hixie> should we do the same thing? [16:38:00.0000] <Hixie> i guess i'll treat it like a 410/404 [16:39:00.0000] <Hixie> which is kinda weird already [16:47:00.0000] <AryehGregor> Hixie, wait, so there's a whole section that normatively explains authoring conformance requirements for the HTML syntax, but conformance checker requirements are totally different? What happens if there are contradictions? Conformance checkers are required to report things that aren't authoring conformance errors, or are required not to report things that are? [16:47:01.0000] <AryehGregor> (Are there known contradictions?) [16:48:00.0000] <Hixie> there had better not be contradictions [16:48:01.0000] <Hixie> technically i suppose i could have the spec not require that validators use the parser spec [16:48:02.0000] <Hixie> at the time i wrote that they should use it, i hadn't written the other section, and we already had validators [16:54:00.0000] <AlexNRoss> Speaking of validators.... I wish that W3C Jigsaw (CSS) Validator would recognise browser-specific entities such as -moz-* and -webkit-* and -ms-* and -khtml-* [16:54:01.0000] <AryehGregor> "Recognize" in what fashion? [16:54:02.0000] <AryehGregor> Claim that vendor-specific, nonstandard extensions are valid? [16:54:03.0000] <AryehGregor> Or give a more informative error message, or what? [16:54:04.0000] <AlexNRoss> In the sense that it won't give an error. [16:54:05.0000] <paul_irish_> AlexNRoss: there is an option to allow them, now [16:54:06.0000] <AryehGregor> That wouldn't make much sense, since CSS says they're invalid. [16:54:07.0000] <AlexNRoss> paul: Oh? Where's that? [16:55:00.0000] <paul_irish_> Vendor Extensions: Warnings [16:55:01.0000] <paul_irish_> http://paulirish.com/i/5e71.png [16:56:00.0000] <AlexNRoss> paul: That still doesn't help. [16:56:01.0000] <paul_irish_> why not [16:56:02.0000] <AlexNRoss> http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2F76.11.58.232%2Fcss%2Fscreen.css&profile=css3&usermedium=all&warning=1&vextwarning=true&lang=en [16:57:00.0000] <paul_irish_> looks right to me. it doesnt recognize vendor prefixed gradient syntax [16:57:01.0000] <paul_irish_> and the others are marked as warnings [16:58:00.0000] <AlexNRoss> It's still irritable. 2011-06-08 [17:00:00.0000] <paul_irish_> i will not disagree. [17:00:01.0000] <paul_irish_> AlexNRoss: the css validator team is looking for help maintaing the codebase to keep up with these changes, if you're interested [17:01:00.0000] <AlexNRoss> Sure. It is something I strive to do; keeping up to the latest in web initiatives and standardizations created by the browsers. [17:02:00.0000] <Hixie> AlexNRoss: it's supposed to be irritable. The whole point of vendor prefixes is to irritate authors so that they won't use them except when experimenting to give feedback to the working group and browser vendors. [17:02:01.0000] <paul_irish_> AlexNRoss: http://lists.w3.org/Archives/Public/www-validator-css/ shoot a message onto this list and ask if anything could be done and how you could help [17:15:00.0000] <zewt> Hixie: that's ... just silly, heh [17:15:01.0000] <Hixie> what's silly? [17:16:00.0000] <zewt> annoying people isn't going to stop them from using the APIs; it'll just annoy them [17:16:01.0000] <AlexNRoss> paul: I just e-mailed. [17:16:02.0000] <paul_irish_> :) [17:16:03.0000] <Hixie> zewt: how can we stop them from using the apis? [17:16:04.0000] <AryehGregor> It's already annoying enough that you have to write the same markup four times to get it to work in all browsers. [17:16:05.0000] <zewt> i've always seen the api prefixes as just to localize any dependancies on early behavior to that prefix and that vendor, so they don't have to affect the final API [17:16:06.0000] <AryehGregor> No more annoyance than that is necessary. :) [17:16:07.0000] <zewt> ... you can't, of course [17:16:08.0000] <AryehGregor> Hixie, if you want to stop them from using the APIs, then don't implement them. [17:16:09.0000] <AryehGregor> Easy. [17:16:10.0000] <Hixie> AryehGregor: we need to implement them to get implementation experience [17:16:11.0000] <AryehGregor> Then don't enable them. [17:16:12.0000] <zewt> i was annoyed when WebKit prefixed (iirc) the URL interface when it was previously unprefixed, but the only affect was to make me grumble for a minute and then update my code [17:17:00.0000] <AryehGregor> Now, if you want *authoring* experience too, well, you want people using them. [17:17:01.0000] <Hixie> AryehGregor: we need to enable them to get authoring experience [17:17:02.0000] <AryehGregor> Okay, so then you do want people using them. [17:17:03.0000] <AryehGregor> Presumably on production sites, so they get real-world experience. [17:17:04.0000] <Hixie> to a small extent [17:17:05.0000] <AryehGregor> To a large extent, because no matter what, only a tiny percentage of authors will provide any feedback. [17:17:06.0000] <Hixie> but they're still proprietary technologies, so we don't want them used like regular features [17:17:07.0000] <zewt> (as an addendum to the above--another point being as a clear declaration to authors that the API is unstable) [17:17:08.0000] <Hixie> anyway i'm not sure what we're arguing ehre :-) [17:18:00.0000] <AryehGregor> Anything that works will be used like a regular feature. [17:18:01.0000] <AryehGregor> If it doesn't work, it won't be used and you won't get authoring feedback. [17:18:02.0000] <AryehGregor> Take your pick. [17:18:03.0000] <Hixie> i'm happy with the current situation [17:18:04.0000] <AryehGregor> In practice authors use them and it works out fine, as long as the prefix gets dropped reasonably soon. [17:19:00.0000] <AryehGregor> (you know, unlike border-radius) [17:19:01.0000] <Hixie> border-radius is mainly funny because it's taken so long that the trend for rounded corners has kinda passed already :-) [17:19:02.0000] <The_8472> sometimes it would be nice if feature-detection would be easier. e.g. if i have to apply some custome javascript magic for <meter> elements or if the browser already styles it for me. things like that [17:20:00.0000] <Hixie> yeah that's a harder problem without js [17:20:01.0000] <The_8472> need js to style the meter element atm. since i can't use attr() inside calc() [17:21:00.0000] <The_8472> the progress bar look has to depend on the min/max/value attributes after all [17:22:00.0000] <Hixie> if you have js it's pretty easy to just stick a class on the elements that need styling [17:22:01.0000] <The_8472> yeah [17:22:02.0000] <The_8472> but you need to figure out if the browser doesn't do it already for you [17:23:00.0000] <The_8472> or think of input[type=number] ... do i add a spinner manually or does the browser already provide one? [17:25:00.0000] <The_8472> modernizr helps with most things though [17:34:00.0000] <heycam> jwalden, I'm told the w3.org/Bugs/ access is fixed now [17:34:01.0000] <heycam> jwalden, something to do with their preparations for world ipv6 day -- from the mozilla network is was connecting via ipv6 [17:35:00.0000] <jwalden> heh [17:36:00.0000] <jwalden> /me is not quite certain that making a spec change that suddenly declares common wordpress templates not-valid is a good idea, but meh [17:36:01.0000] <jwalden> I can probably update my templates in about five minutes to remove it, if I feel motivated [17:42:00.0000] <AryehGregor> Aren't lots of the common Wordpress templates invalid anyway? [17:43:00.0000] <Hixie> heycam: oh that makes sense, google's network is also ipv6 [17:44:00.0000] <The_8472> still 11 minutes to v6 day [17:45:00.0000] <Hixie> oh wow that's today? [17:45:01.0000] <Hixie> i had no idea [17:45:02.0000] <AryehGregor> /me watches the process argument between othermaciej and Roy T. Fielding with interest [17:45:03.0000] <AryehGregor> Aw, I'm going to miss the start of IPv6 day by a matter of minutes. Oh well, no helping it. [17:46:00.0000] <othermaciej> AryehGregor: I'm gonna have to duck out cause I can only spend so much time in email during WWDC [17:47:00.0000] <jwalden> AryehGregor: plausible [17:48:00.0000] <jwalden> /me knows he's barely touched his as far as validity's concerned in ages [17:48:01.0000] <jwalden> had to fiddle with a [caption] shortcode I implemented to wrap up figure/figcaption, but I was well aware I was on the bleeding edge doing that [17:48:02.0000] <jwalden> which was figure/legend when I first wrote it [21:01:00.0000] <[tm]> /me waves from Beijing [00:23:00.0000] <hsivonen> Hixie: I notice that the microdata vocabularies use microformats.org URLs. What kind of Microformat community participation was there when formulating the Microdata versions of the vocabs? [01:38:00.0000] <Akilo> héhé [01:38:01.0000] <Akilo> /me from atelier cym [01:38:02.0000] <Akilo> /me impressioné par la déco ;) [04:10:00.0000] <jgraham> gsnedders: You there? [04:54:00.0000] <kost-bebix> Hi everyone! Hope someone will help me) https://groups.google.com/forum/#!topic/html5lib-discuss/MOvXMzQRMzE [04:59:00.0000] <Workshiva> Keep in mind that this makes you vulnerable if there's a redirection servlet on youtube.com [05:07:00.0000] <jgraham> kost-bebix: Umm, I would probably have to look over the sanitizer code a bit to help you, which I don't really have time to do right this moment [05:08:00.0000] <kost-bebix> Workshiva: no, in future (if that would work) I'd just take by [a-zA-Z0-9] regexp youtube video ID and build <iframe> "from scratch" [05:09:00.0000] <kost-bebix> jgraham: it's not sanitizer. I mean, sanitizer works like it should. It returns this token for youtube one and "data" token (where iframe is a text) as text one [05:09:01.0000] <kost-bebix> jgraham: it's serializer, i guess [05:10:00.0000] <jgraham> kost-bebix: I think you need to allow the first </iframe> you see after the <iframe> you allow [05:11:00.0000] <jgraham> It does look like there might be another bug in the serializer, but that should fix the issue for you [05:11:01.0000] <kost-bebix> jgraham: i did that, don't remember what was the result, but still, will that be safe? I mean, if there won't be any closing tag or something? [05:12:00.0000] <kost-bebix> /me went doing that first iframe thing [05:13:00.0000] <jgraham> Well it's a bit hard. If something else already closed the iframe you could end up with a stray </iframe>. But I don't think that should be harmful unless you are outputting this inside another iframe [05:13:01.0000] <kost-bebix> or some content inside that iframe [05:14:00.0000] <jgraham> Anyway, what you have there can't work [05:19:00.0000] <kost-bebix> http://paste.pocoo.org/show/402719/ [05:20:00.0000] <kost-bebix> ok, I'll just put some extra testing on that in next couple minutes [05:27:00.0000] <danbri> hsivonen, thanks for writing up http://hsivonen.iki.fi/schema-org-and-communities/ :) [05:27:01.0000] <danbri> can't say I entirely agree on all points, but it's good to have your perspective there so clearly [05:27:02.0000] <hsivonen> danbri: you're welcome [05:28:00.0000] <danbri> (for example, after FB launched opengraph with their own made-up vocab, loads of rdf folk were quite bothered by that too, ... and by 'pedantic web' issues such as that the OG properties were technically written in rdfa to make them properties of the page, ... not the thing-that-the-page-describes... [05:29:00.0000] <danbri> but fortunately a lot of that energy got channeled into collab w/ fb folk on mappings etc, rather than ranting about corporate evil [05:29:01.0000] <hsivonen> danbri: there might be a big difference between long-time RDF folks and RDFa folks who are eager to see adoption of RDFa [05:29:02.0000] <danbri> you're quite right of course that if schema.org were using rdfa, ... it would be being celebrated by rdf folk more heavily now. Still it's been welcomed by a bunch of us... [05:29:03.0000] <danbri> yeah maybe [05:30:00.0000] <danbri> i wouldn't mind if schema.org used microdata, i just use toby inkster's parser and treat it as rdf ... [05:30:01.0000] <danbri> ... but it does bug me that they say 'don't use microformats or rdfa' [05:30:02.0000] <danbri> googlebing can probably afford to parse both [05:31:00.0000] <danbri> /me wonders how small the design gap between microdata and 1.1 flavour of rdfa really is [05:31:01.0000] <danbri> the example in http://schema.org/docs/datamodel.html is encouraging [05:31:02.0000] <hsivonen> danbri: the gap is probably rather small for RDFa 1.1 with certain syntax options [05:32:00.0000] <hsivonen> as I said in the blog post, part of the problem with RDFa are the rest of the syntax options [05:32:01.0000] <hsivonen> danbri: the data model gap is large [05:32:02.0000] <danbri> do you have a feel for a what an 'rdfa1.1-lite' microdata-esque profile might look like? [05:33:00.0000] <kost-bebix> jgraham: thanks for your help anyway) [05:33:01.0000] <danbri> data model: 'cos properties are bundled with types in microdata? [05:33:02.0000] <hsivonen> danbri: it would be awesome if googlebing could afford to write down how to consume microformats and stuff claimed to be RDFa but that isn't :-) [05:33:03.0000] <hsivonen> danbri: tree vs. graph [05:33:04.0000] <hsivonen> danbri: I don't have a good feel about the looks of a profile [05:34:00.0000] <danbri> when properties in the tree have URI values, ... different trees that mention the same things can be joined / aggregated to form a graph ... that's enough for me [05:38:00.0000] <danbri> is http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#microdata the latest, greatest version of the microdata spec? [05:38:01.0000] <hsivonen> danbri: yes [05:39:00.0000] <danbri> from that link ... 'Properties can also have values that are URLs' seems enough to make graphs [05:39:01.0000] <danbri> /me assumes relative URIs are allowed, which should help verbosity [05:40:00.0000] <hsivonen> danbri: there URLs are Web addresses. they aren't the abstract kind of URLs that occur as RDF predicates [05:40:01.0000] <hsivonen> danbri: or RDF objects [05:41:00.0000] <hsivonen> in Microdata, an item is more like a bnode and a URL can be be one of its properties [05:41:01.0000] <hsivonen> danbri: like in the licensing case, the URL of the work is a property of the item [05:41:02.0000] <danbri> yup [05:42:00.0000] <hsivonen> instead of the item itself being the URL [05:42:01.0000] <danbri> this reminds me of the old Microsoft SOAP graph data model; it doesn't privilege URI identifiers as special node labels; if you want 'em, you have to put them in as properties explicitly [05:42:02.0000] <danbri> just like any other data [05:42:03.0000] <danbri> benefit there is you can more easily have two urls (uris, ahem whatever) for same entity [05:43:00.0000] <danbri> http://schema.org/docs/gs.html Here is the book's <a itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye">Wikipedia page</a>. ... so that's ok [05:43:01.0000] <danbri> and if another part of the page had 'Dan's favourite book is <a itemprop="faveBook" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye">Catcher in the Rye</a>. ' [05:44:00.0000] <danbri> ...the nodes would join, but the descriptions would be in terms of pages about the book, not some more abstract "identifier for the book itself". right? [05:44:01.0000] <danbri> so it's a graph but a graph that encourages the nodes to be modelled as Web pages not real-world-things [05:50:00.0000] <hsivonen> danbri: in the Microdata model, the nodes wouldn't join [05:50:01.0000] <hsivonen> danbri: mapped to RDF, I suppose they would [05:50:02.0000] <danbri> that sounds reasonable [05:50:03.0000] <danbri> an editor built over a document DOM wouldn't want them joined; but a query answering system might [05:53:00.0000] <danbri> btw this Perl works to parse and query schema.org's schema as rdf: https://gist.github.com/1012713 [05:53:01.0000] <danbri> ...with a bit more fiddling -> http://foaf.tv/tellyclub/schema.org/protovis-3.2/ex/den3.html (ok unreadable, but a start on visualizing the chaos) [05:58:00.0000] <hsivonen> it will be interesting to see how the taxonomy of everything (down to BowlingAlley and TattooParlor) works out [05:59:00.0000] <danbri> the sooner they bridge it to wikipedia/dbpedia or freebase the saner it'll be [05:59:01.0000] <danbri> that was one reason i tried the radial visualization ... to show an outer layer from those sources, when the mappings come thru [05:59:02.0000] <danbri> hmm reading spec, ... is itemscope always needed? does presence of an itemtype imply a new scope? [06:01:00.0000] <hsivonen> danbri: afaict, it's not implied [06:01:01.0000] <hsivonen> that may have something to do with the usability test [06:01:02.0000] <danbri> 'The relevant type for a typed item is the item's item type, if it has one, or else is the relevant type of the item for which it is a property's value.' --> say that 3 times fast after a couple of drinks :) [06:04:00.0000] <danbri> ah 'The itemtype attribute must not be specified on elements that do not have an itemscope attribute specified.', ... seems itemscope is needed then, yup. [06:06:00.0000] <danbri> /me notices that properties are partially ordered (same-name properties remember their order); again something that wouldn't pass into the rdf representation... guess that's ok? [06:06:01.0000] <Workshiva> hsivonen: Are you interested in editorial bugs in your schema.org text? [06:07:00.0000] <hsivonen> Workshiva: yes [06:17:00.0000] <Workshiva> People sure like confusing microdata and the schema.org vocabulary with each other [06:21:00.0000] <hsivonen> Workshiva: did I? [06:21:01.0000] <Workshiva> No, other people did [06:23:00.0000] <danbri> /me sends whatwg mail re microdata data model [06:41:00.0000] <MikeSmith> anybody know where the editors draft of http://www.w3.org/TR/animation-timing/ is at? [06:41:01.0000] <MikeSmith> heycam: ↑ [06:47:00.0000] <karlcow> MikeSmith: http://dvcs.w3.org/hg/webperf/ ? [06:48:00.0000] <karlcow> http://dvcs.w3.org/hg/webperf/file/8bf49567d58d/specs/NavigationTiming [06:49:00.0000] <MikeSmith> karlcow: yup [06:49:01.0000] <MikeSmith> thanks [06:49:02.0000] <MikeSmith> http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/RequestAnimationFrame/Overview.html [06:49:03.0000] <karlcow> http://dvcs.w3.org/hg/webperf/file/tip/specs/NavigationTiming/Overview.html [06:50:00.0000] <karlcow> :) [06:50:01.0000] <karlcow> my inner brain search engine [06:50:02.0000] <karlcow> :p [06:55:00.0000] <gsnedders> jgraham: am now [07:00:00.0000] <MikeSmith> reading "if the Sponsors have patent claims that are necessarily infringed by including markup of structured data in a webpage, where the markup is based on and strictly complies with the Schema, they grant an option to receive a license under reasonable and non-discriminatory terms without royalty" [07:01:00.0000] <MikeSmith> and then, "solely for the purpose of including markup of structured data in a webpage, where the markup is based on and strictly complies with the Schema" [07:01:01.0000] <MikeSmith> does that mean if I build schema.org vocab support into a product -- e.g., an editing application -- that I don't necessarily get granted a royalty-free license? [07:02:00.0000] <MikeSmith> that is, I only get granted a royalty-free license if I am the published of the content that contains the markup? [07:03:00.0000] <MikeSmith> and incidentally, what does "receive a license under reasonable and non-discriminatory terms without royalty" mean? [07:03:01.0000] <MikeSmith> isn't that an oxymoron? [07:03:02.0000] <MikeSmith> why not just say, "receive a royalty-free license"? [07:04:00.0000] <Philip`> You could have unreasonable terms that don't require a royalty but do require something else [07:04:01.0000] <kost-bebix> when you make iframe acceptable everything inside becomes allowed? Please help https://groups.google.com/forum/#!topic/html5lib-discuss/X5UY6JITmJU [07:05:00.0000] <MikeSmith> Philip`: OK [07:05:01.0000] <Philip`> /me is just guessing, though [07:06:00.0000] <MikeSmith> I don't think I've ever seen the words "reasonable and non-discriminatory" used in any royalty-free license statement [07:08:00.0000] <Philip`> http://en.wikipedia.org/wiki/Reasonable_and_non-discriminatory_licensing says "The RAND-Z (RAND with zero royalty) or RAND-RF (RAND Royalty Free) licensing means that the company promises to license the technology at no charge, but implementers still have to get the licenser's permission to implement." [07:10:00.0000] <Philip`> kost-bebix: Anything inside <iframe> is parsed as text, not as markup, so <iframe><script>... means an iframe element containing the text "<script>" [07:11:00.0000] <karlcow> it is a question of respiration… everything will go through at one point. [07:12:00.0000] <kost-bebix> Philip`: oh, so that should be safe? [07:12:01.0000] <Philip`> /me has absolutely no idea what karlcow is talking about [07:12:02.0000] <karlcow> rand license [07:12:03.0000] <kost-bebix> Philip`: oh, sorry, that can't be safe)) [07:13:00.0000] <Philip`> kost-bebix: It's safe since it'll never create a script element (unless you accidentally parse the document as XHTML instead of as text/html) [07:14:00.0000] <kost-bebix> Philip`: so this code is ok? https://groups.google.com/forum/#!topic/html5lib-discuss/MOvXMzQRMzE [07:14:01.0000] <kost-bebix> Philip`: if I'll return not just token, but some safe <iframe> structure? [07:18:00.0000] <jgraham> If it creates </iframe> inside the iframe without escaping that is a bug [07:20:00.0000] <kost-bebix> jgraham: thanks for tip. So I should just close next /iframe I see and everything should be (at least now) safe and bugless? [07:21:00.0000] <Philip`> Is it actually possible to escape the text "</iframe>" in an iframe? [07:22:00.0000] <Philip`> It seems to be RAWTEXT so I don't think you can [07:22:01.0000] <Philip`> Also the point of the fallback content is to be for browsers that don't support iframe, and it's not much good if your sanitizer produces content that falls back to something dangerous in such browsers [07:22:02.0000] <kost-bebix> Philip`: I think it should be just stripped out maybe? Or spec says it should be there? [07:24:00.0000] <kost-bebix> Philip`: all I need is a sanitizer that doesn't strip out <iframe>'s that have src="http://www.youtube.com... . I thought that's quite popular problem) [07:24:01.0000] <Philip`> I expect the safer thing to do is for the sanitizer to maintain some "is currently in iframe" flag, which is set when you accept a YouTube iframe start token; then if you see an iframe end token while that flag is set, you accept the token and reset the flag; and if you see anything else while that flag is set (including text tokens) you reject them [07:25:00.0000] <kost-bebix> Philip`: yeah, that's what I did and that seems to work [07:25:01.0000] <kost-bebix> Philip`: I was just looking at that <script> inside <iframe> that wasn't escaped anymore [07:25:02.0000] <kost-bebix> and thought that's a bug and insecure [07:26:00.0000] <Philip`> Explicitly dropping the fallback content inside the iframe element seems the best way to be secure here [07:26:01.0000] <jgraham> I think the important point is to reject anything other than </iframe> tokens once you see an iframe you want to accept [07:26:02.0000] <Philip`> rather than relying on escaping [07:26:03.0000] <kost-bebix> jgraham: good point, i'll do that) [07:30:00.0000] <kost-bebix> works like a charm http://paste.pocoo.org/show/402771/ [07:30:01.0000] <kost-bebix> thank you everyone )) [07:31:00.0000] <Philip`> You should probably just make next_iframe_safe a field of the HTMLSanitizerMixin class [07:32:00.0000] <kost-bebix> Philip`: maybe. At that time I didn't know how instance of that is created. Thanks. [07:32:01.0000] <Philip`> especially since it won't get reset to False if you parse a document that omits the </iframe> [07:32:02.0000] <kost-bebix> oh, yeah, that's true [07:41:00.0000] <kost-bebix> class HTMLTokenizer should be newstyle class [07:44:00.0000] <kost-bebix> and do super(HTMLTokenizer, self).__init__() [07:44:01.0000] <gsnedders> kost-bebix: It's slower. [07:44:02.0000] <foolip> Philip`, <video> is still in the iframe section: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#the-video-element [07:44:03.0000] <foolip> I like this kind of BTS :) [07:45:00.0000] <kost-bebix> gsnedders: but thanks to that I can't make my sanitizer mixin's __init__() that does self.next_iframe_safe = False [07:45:01.0000] <kost-bebix> gsnedders: if you use multiple inheritance you should use newstyle classes [07:46:00.0000] <kost-bebix> otherwise your constructor won't be called) [07:46:01.0000] <gsnedders> kost-bebix: Blame Philip` :) [07:46:02.0000] <Philip`> Why me? :-( [07:47:00.0000] <kost-bebix> Philip`: so what about adding that? (1. making HTMLTokenizer new-style 2. calling super(HTMLTokenizer, self).__init__()) ? [07:47:01.0000] <gsnedders> Philip`: Didn't you change it to being an old-style class? [07:47:02.0000] <Philip`> gsnedders: How should I remember something like that? :-p [07:48:00.0000] <kost-bebix> gsnedders: where can I read about slowness? [07:49:00.0000] <kost-bebix> and please someone tell me should I search for that or it will always be old style class? [07:49:01.0000] <kost-bebix> ) [07:49:02.0000] <Philip`> http://code.google.com/p/html5lib/source/detail?r=decbf3278e3b197865b76fc30860b3a88c618813&path=/python/src/html5lib/inputstream.py [07:49:03.0000] <Philip`> Oh, it was me [07:50:00.0000] <kost-bebix> > (It seems unlikely that anyone will be depending on the new-style class [07:50:01.0000] <kost-bebix> semantics here.) [07:50:02.0000] <kost-bebix> haha) [07:51:00.0000] <gsnedders> kost-bebix: It was done by Philip` benchmarking it with the HTML5 spec, I believe. :P [07:52:00.0000] <kost-bebix> ok, I'll just try to do that withoug mixining (multiple inheritance) somehow, or something else [07:53:00.0000] <gsnedders> kost-bebix: You can see how big the perf difference is. If it's not too big, I have no objection to changes it back. [07:53:01.0000] <kost-bebix> found the dirty solution: write __init__ that sets [07:53:02.0000] <kost-bebix> self.next_iframe_safe = False [07:53:03.0000] <kost-bebix> for HTMLSanitizer, do the rest in Mixin [07:53:04.0000] <kost-bebix> gsnedders: yeah, that's big (10-15%) for parser like this [07:54:00.0000] <Philip`> Maybe newer Pythons are faster and have less of a difference [07:54:01.0000] <Philip`> /me has no idea what affects the performance [07:54:02.0000] <jgraham> Maybe PyPy is the future! [07:54:03.0000] <Philip`> Hasn't it been the future since about a decade ago? [07:54:04.0000] <kost-bebix> it's like a year of linux on desktop [07:54:05.0000] <jgraham> Yeah, but now it seems to actually work, which is nice. [07:54:06.0000] <Philip`> /me wonders if it's actually usable for real yet [07:55:00.0000] <jgraham> I should try it I guess [07:55:01.0000] <gsnedders> PyPy JIT makes html5lib quick, at least [07:55:02.0000] <kost-bebix> ok, here's the resulting code http://paste.pocoo.org/show/402784/ [07:55:03.0000] <kost-bebix> yeah, pypy is nice, my home projects run on that [07:55:04.0000] <kost-bebix> (still it's slow for things like intensive work with mongodb, since there's BSON encoder written in C) [07:56:00.0000] <kost-bebix> thank you everyone again [07:59:00.0000] <Workshiva> 2011 really is the year of linux on the desktop, now that it runs in the browser [07:59:01.0000] <gsnedders> Workshiva: (on little endian arches) [08:01:00.0000] <Philip`> (How many big-endian desktops are there?) [08:01:01.0000] <gsnedders> Philip`: (Mostly old Macs, I guess) [08:02:00.0000] <Philip`> (Do any modern browsers still support old Macs?) [08:08:00.0000] <kost-bebix> Philip`: only firefox 3.6, but maybe 5.0 will be [08:13:00.0000] <kost-bebix> gsnedders: have you tried using __slots__ in that test? [08:13:01.0000] <kost-bebix> or that doesn't help? [08:25:00.0000] <danbri> foolip, http://foolip.org/microdatajs/ http://foolip.org/microdatajs/live/ is handy! care to put some opensource license statement on the code? [08:25:01.0000] <gsnedders> kost-bebix: For perf? I haven't at least. [08:26:00.0000] <kost-bebix> gsnedders: yeah, for perf [08:26:01.0000] <kost-bebix> i don't remember what happens to inheritance with __slots__ (need to read), but it should be faster [08:26:02.0000] <foolip> danbri, https://gitorious.org/microdatajs/microdatajs/blobs/master/LICENSE [08:27:00.0000] <gsnedders> kost-bebix: Feel free to test/create bug with patch [08:27:01.0000] <foolip> perhaps a link from the demo to the git repo would be in order... [08:27:02.0000] <kost-bebix> gsnedders: is it somewhere in source repository? [08:27:03.0000] <gsnedders> kost-bebix: On Google Code [08:27:04.0000] <danbri> thanks foolip! [08:27:05.0000] <kost-bebix> gsnedders: ok, thanks. I'll do my best [08:27:06.0000] <danbri> yes please [08:27:07.0000] <danbri> do you consider it up-to-date re latest whatwg spec? [08:28:00.0000] <foolip> mostly, yes [08:28:01.0000] <foolip> I've deliberately not implemented the logic the spec suggests for eliminating itemref loops, because I don't think it makes sense [08:28:02.0000] <foolip> and the guy implementing it natively in Opera sent out feedback on that topic today, so it's likely to change again [08:29:00.0000] <danbri> do you implement property value order preservation? [08:30:00.0000] <danbri> -> http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-June/031959.html ""Within an item, the properties are unordered with respect to each other"" [08:31:00.0000] <foolip> danbri, yes, they will be in tree-order because that's the order the algorithm crawls [08:31:01.0000] <danbri> ok, so you don't respect itemref there either? [08:31:02.0000] <foolip> itemref is followed and tree order is preserved even then [08:31:03.0000] <foolip> the only thing about itemref is when you have loops (which is invalid) [08:32:00.0000] <foolip> the spec suggests one complicated way of ensuring that they aren't exposed to the API, and I've implemented another, which is probably different in minute ways [08:32:01.0000] <foolip> unless you plan to write invalid markup with itemref loops, I wouldn't worry about it [08:32:02.0000] <danbri> in 5.2.3 Names: the itemprop attribute the 4th example, ... you get ', the "a" property has the values "1" and "2"' ? [08:32:03.0000] <zcorpan> http://remysharp.com/2011/06/08/link-elements-block-dom-parsing-too/ - i'm pretty sure no browser blocks parsing for <link>, but how to prove it with black-box testing? [08:33:00.0000] <danbri> i'm curious how much meaning publishers will expose thru this ordering mechanism, eg. a list of authors ranked by importance... [08:33:01.0000] <foolip> danbri, try pasting it into http://foolip.org/microdatajs/ and look at the JSON view [08:33:02.0000] <zcorpan> apparently DOMContentLoaded/readyState waits for the stylesheet [08:33:03.0000] <foolip> (or give me a direct link to the example :) [08:34:00.0000] <danbri> /me finds closest anchor - > http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#names:-the-itemprop-attribute [08:34:01.0000] <jgraham> /me should try to follow the loops duscussion [08:34:02.0000] <jgraham> *discussion [08:34:03.0000] <danbri> ok it fails [08:34:04.0000] <jgraham> Presumably it is a requirement to be able to say that A is a friend of B and B is a friend of A [08:35:00.0000] <foolip> danbri, did you find a bug? [08:35:01.0000] <danbri> i think so... how does https://gist.github.com/1014546 seem to you? [08:35:02.0000] <danbri> ...you're supposed to go chasing the reference first, it seems [08:36:00.0000] <foolip> I think the example is wrong [08:36:01.0000] <foolip> or I have not understood the crawling algorithm [08:37:00.0000] <danbri> could you check opera's internal impl too? [08:37:01.0000] <foolip> I'm not involved with that, but I can ask that they check this example [08:37:02.0000] <danbri> thanks [08:38:00.0000] <foolip> in http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#crawl-the-properties you'll see that step 6 is "Sort results in tree order." [08:38:01.0000] <foolip> I'll also file a spec bug then [08:40:00.0000] <danbri> can you post a link here when you do? [08:42:00.0000] <foolip> yes [08:47:00.0000] <foolip> danbri, http://www.w3.org/Bugs/Public/show_bug.cgi?id=12911 [08:47:01.0000] <danbri> thanks :) [08:48:00.0000] <kost-bebix> I don't get it. I do hg clone https://html5lib.googlecode.com/hg/ html5lib , and in your file there's no parser= attr http://code.google.com/p/html5lib/source/browse/python/src/html5lib/html5parser.py?r=decbf3278e3b197865b76fc30860b3a88c618813#87 , but in mine there is one (and tests fail). [08:48:01.0000] <kost-bebix> Branch is default. [08:51:00.0000] <jgraham> kost-bebix: You have latest tip? [08:51:01.0000] <kost-bebix> jgraham: 1702:7d147d0cb759 [08:51:02.0000] <kost-bebix> hg log -l 1 shows me latest one [08:51:03.0000] <kost-bebix> (changeset) [08:51:04.0000] <kost-bebix> that's strange [08:56:00.0000] <kost-bebix> jgraham: oh, sorry, I think I looked at older file at google code (didn't use google code to view sources before) [09:01:00.0000] <kost-bebix> ok, so still, I run html5lib/tests/test_sanitizer.py and it gives me a bit bunch of errors like this http://paste.pocoo.org/show/402835/ [09:01:01.0000] <kost-bebix> am I doing something wrong or is it broken? [09:03:00.0000] <kost-bebix> self.tokenizer_class is html5lib.sanitizer.HTMLSanitizer at that point of failure [09:04:00.0000] <kost-bebix> and it really doesn't take any parser argument) [09:04:01.0000] <jgraham> It is quite possible that test has bitrotted [09:06:00.0000] <gsnedders> Almost certainly I broke it, I expect [09:06:01.0000] <gsnedders> If it wasn't broken before, that is :P [09:07:00.0000] <kost-bebix> oh, I ran that test by mistake) [09:07:01.0000] <kost-bebix> what I needed is test_tokenizer.py as I understand [09:07:02.0000] <kost-bebix> :-D [09:09:00.0000] <kost-bebix> on new-style HTMLTokenizer tests run about the same time [09:09:01.0000] <gsnedders> kost-bebix: They're not going to show the cost difference, really. Try tokenizing the spec. [09:10:00.0000] <kost-bebix> gsnedders: sorry, tokenizing the spec? [09:10:01.0000] <gsnedders> kost-bebix: As in the HTML5 spec [09:11:00.0000] <kost-bebix> gsnedders: you mean like take super-big html page and parse it 100 times and count how fast was that? [09:11:01.0000] <gsnedders> kost-bebix: Parse it once. It takes long enough. :) [09:11:02.0000] <kost-bebix> gsnedders: ok) [09:12:00.0000] <gsnedders> Now, go annoy other people, seeming I'm heading out into town. (And no, you're not actually annoying.) [09:16:00.0000] <foolip> danbri, license and link now added to http://foolip.org/microdatajs/live/ (and some other minor fixes committed) [09:16:01.0000] <danbri> great, thanks! [09:17:00.0000] <danbri> /me hopes jenit might integrate it with rdfquery js library [09:17:01.0000] <jgraham> gsnedders: You were supposed to be code reviewing for me dammit! [09:26:00.0000] <kost-bebix> oh, so it looks like it's really-really broken now) not just tests [09:31:00.0000] <kost-bebix> I've updated to tag 0.90 and there isn't even __init__.py there. hmm.. [09:37:00.0000] <jgraham> I wouldn't look at 0.9 or anything other than tip [09:40:00.0000] <kost-bebix> real 0m41.488s [09:40:01.0000] <kost-bebix> user 0m40.560s [09:40:02.0000] <kost-bebix> sys 0m0.590s [09:40:03.0000] <kost-bebix> real 0m39.232s [09:40:04.0000] <kost-bebix> user 0m37.820s [09:40:05.0000] <kost-bebix> sys 0m0.800s [09:40:06.0000] <kost-bebix> maybe I did something wrong [09:41:00.0000] <kost-bebix> but new-style classes seem faster [09:43:00.0000] <kost-bebix> no, looks like it's all correct [09:43:01.0000] <kost-bebix> code: http://paste.pocoo.org/show/402862/ [09:44:00.0000] <kost-bebix> file: [09:44:01.0000] <kost-bebix> http://www.whatwg.org/specs/web-apps/current-work/ [09:46:00.0000] <kost-bebix> hmm [09:46:01.0000] <kost-bebix> pypy [09:46:02.0000] <kost-bebix> real 0m38.438s [09:46:03.0000] <kost-bebix> user 0m37.590s [09:46:04.0000] <kost-bebix> sys 0m0.350s [09:46:05.0000] <kost-bebix> I definitely do something wrong [09:46:06.0000] <kost-bebix> anyway [09:46:07.0000] <kost-bebix> see you tomorrow, maybe we'll discuss it) [09:46:08.0000] <kost-bebix> thanks for help [10:35:00.0000] <gsnedders> jgraham: I'm sorry, but I like food. [11:50:00.0000] <asmodai> Mmm, the 3DS' browser scores 101 on the html5test.com site [11:51:00.0000] <Ms2ger> What a broken site that is, too [11:54:00.0000] <asmodai> In what sense? [11:55:00.0000] <gsnedders> asmodai: The points given to things is random, it tests things not in HTML5 (e.g., H.264 support) [11:55:01.0000] <asmodai> Ah [11:55:02.0000] <asmodai> Mmm, oh, the 3DS browser's built on NetFront [11:56:00.0000] <gsnedders> WTF? [11:56:01.0000] <gsnedders> And it does that well? [11:56:02.0000] <asmodai> *chuckle* [11:56:03.0000] <asmodai> Well enough it seems [11:56:04.0000] <gsnedders> asmodai: Try running the jQuery testsuite in it. [11:56:05.0000] <jgraham> gsnedders: I thought netfront used webkit these days [11:57:00.0000] <Ms2ger> Also, promotes the broken kind of implementations webkit usually ships [11:57:01.0000] <asmodai> gsnedders: http://view.jquery.com/tags/1.3.2/test/ ? [11:57:02.0000] <gsnedders> jgraham: They have two browsers. [11:57:03.0000] <jgraham> gsnedders: Also, to be fair, (I don't plan to make a habit of it, don't worry) it lists H.264 as a bonus point [11:57:04.0000] <gsnedders> jgraham: One of which uses WebKit, this is true. [11:58:00.0000] <gsnedders> jgraham: Their own is still diabolical (myself and Tarquin were playing around with this a couple of months back). [11:58:01.0000] <gsnedders> asmodai: Go for 1.6 [11:58:02.0000] <gsnedders> Ms2ger: Yeah, it generally screws around with browser prioritization. Yay marketing… [11:59:00.0000] <asmodai> Ah duh, of course [11:59:01.0000] <jgraham> The main problem with html5test.com is that the tests are extremely shallow so favour crappy implementations over honesty, and the scoring system is exhibit A in the case against ranking browsers based on test scores [11:59:02.0000] <jgraham> s/is/are/ [11:59:03.0000] <jgraham> s/problem/problems/ [12:00:00.0000] <jgraham> (the points-per-feature aren't correlated to dificulty of implementation or usefulness to authors or, as far as I can tell, much of anything at all) [12:04:00.0000] <asmodai> gsnedders: Trying to locate the 1.6 test suite :S [12:08:00.0000] <asmodai> http://jquery.bassistance.de/validate/test/?jquery=1.6.1 <-- this one? [12:11:00.0000] <gsnedders> asmodai: that'll do [12:12:00.0000] <asmodai> gsnedders: 613 passed of 613 [12:13:00.0000] <jgraham> (that is a test for the validate plugin not for jQuery itself) [12:13:01.0000] <gsnedders> asmodai: Definely WebKit/NetFront then [12:13:02.0000] <gsnedders> jgraham: (Yes, but NetFront's own browser is so broken with jQuery it'd totally break) [12:17:00.0000] <Hixie> hsivonen: none, the url was just what tantek asked me to use [12:17:01.0000] <asmodai> gsnedders: that's positive in a way [12:18:00.0000] <gsnedders> asmodai: Yeah, definitely. I think they still push their own engine primarily on platforms that need memory safety, or at least that's my guess. [12:19:00.0000] <jgraham> I imagine they will quietly drop their own engine [12:20:00.0000] <gsnedders> jgraham: And drop everywhere they sell to which needs OOM handling? I doubt it was a small amount they got paid for, e.g., the PS3. [12:21:00.0000] <jgraham> It seems very unlikely that there will continue to be a market for browsers that don't work on any useful websites [12:22:00.0000] <jgraham> Anyway if Webkit is acceptable for 3DS I have a hard time believing that next generation consoles couldn't run presto/webkit/gecko [12:22:01.0000] <jgraham> Or that a mini-like solution wouldn't be better if they really can't [12:24:00.0000] <gsnedders> jgraham: Well, for the PS3 it's an interesting question why not. It has a HDD, so could quite easily have swap space, which I presume is what is done in the 3DS. [12:24:01.0000] <asmodai> Ok, so what would be a better test to see what this little browser does support or not? It seems it uses a sandboxed iframe at least, that's nice [12:26:00.0000] <gsnedders> jgraham: But still, a lot of products that could trivially run a proper browser (e.g., PS3) just want a browser as a selling point, not caring if it works. [12:26:01.0000] <gsnedders> NetFront claims a min memory footprint of 2MB, which is insane. [12:29:00.0000] <gsnedders> (For comparison, Opera Devices SDK 2.8 claims 7MB footprint on ARM, with 2–15MB per runtime, 1–5MB per widget, 2–10MB per tab.) [12:30:00.0000] <gsnedders> (<http://www.opera.com/media/b2b/Opera_Devices_SDK_PS.pdf>) [12:33:00.0000] <asmodai> gsnedders: insane in what they claim is min? [12:33:01.0000] <asmodai> (as in impossible?) [12:34:00.0000] <gsnedders> asmodai: Well, there's a very obvious reason why they manage to reach such a low number (it doesn't work with anything). [12:36:00.0000] <wilhelm> I worked on a couple of devices with 8-16 MB RAM around 2004. It worked great, until you loaded an image-heavy site. (c: [13:39:00.0000] <hober> hsivonen: #schema here on freenode for the http://www.w3.org/2001/sw/wiki/SemTech2011BOF going on right now [14:30:00.0000] <mpilgrim> here's an odd request: i need some problematic javascript strings [14:30:01.0000] <mpilgrim> are there any unicode characters disallowed in javascript? [14:31:00.0000] <mpilgrim> or characters that are allowed but that might trip up a storage system? [14:32:00.0000] <Ms2ger> I hear some browsers dislike nulls [14:32:01.0000] <RichardJ> mpilgrim: try any unicode character that is not in the basic multilangual plane [14:32:02.0000] <mpilgrim> null is good [14:32:03.0000] <mpilgrim> how do i denote a non-BMP character in javascript? [14:33:00.0000] <Philip`> JS is sort of UTF-16 [14:33:01.0000] <Philip`> so you need a string of length 2, like "\ud800\udc00" or whatever the syntax is [14:33:02.0000] <RichardJ> strings *should* be encoded in UTF-16 [14:34:00.0000] <Philip`> You could include things like unpaired surrogates to trip up any storage system that foolishly thinks JS strings are really UTF-16 [14:34:01.0000] <RichardJ> I believe some testsuites (like ACID3 perhaps) have tests for this as well [14:35:00.0000] <Philip`> U+FFFE and U+FFFF are always fun, too [14:36:00.0000] <Philip`> If string length isn't too limited, you could just use a string with all 64K possible character values [14:36:01.0000] <mpilgrim> checking if string length is limited... [14:36:02.0000] <Philip`> or 64K one-character strings [14:37:00.0000] <mpilgrim> "any string value" [15:12:00.0000] <karlcow> http://inliner.leftlogic.com/ [15:27:00.0000] <linclark> hsivonen: read your blog post, I have a question about your graph data model comment [15:27:01.0000] <linclark> I would have left a comment on the post, but I didn't see the option [15:34:00.0000] <jgraham> linclark: hsivonen is probably sleeping for the next 7 hours or so [15:34:01.0000] <linclark> jgraham: ah cool, thanks 2011-06-09 [17:28:00.0000] <roc> hsivonen: epic blog post! Thanks a lot [17:37:00.0000] <jamesr> mpilgrim: try unmatched surrogate pairs [17:37:01.0000] <jamesr> mpilgrim: and other non-valid utf16 [17:38:00.0000] <jamesr> ah that was already suggested [17:38:01.0000] <jamesr> high ascii can also sometimes be trouble [17:39:00.0000] <zewt> because there's no such thing? :P [17:39:01.0000] <jamesr> extended ascii? [17:39:02.0000] <jamesr> whatever it's called [17:42:00.0000] <zewt> "high ascii" is what people tended to call "some 8-bit character set" back before people knew what character sets were--in javascript I'm not sure what it would mean (since strings are wide, not 8-bit) [18:16:00.0000] <jamesr> zewt: i mean any characters in the 128..255 range [18:17:00.0000] <Hixie> should i spec what happens to the cursor and selection when you reset a text input or textarea's value? [18:17:01.0000] <Hixie> and if so, should i spec a particular behaviour, or should i say it's a platform-specific reset? [18:22:00.0000] <Hixie> can someone on windows load up some browsers, go to http://software.hixie.ch/utilities/js/live-dom-viewer/ click "download", quickly click on the "1234567" text in the text box under "Rendered view", and then tell me what happens to the text selection and cursor position after two seconds? [18:22:01.0000] <Hixie> on mac, all the browsers i've been able to test move the cursor to the end and remove the selection (if any) [18:22:02.0000] <Hixie> if anyone is on a non-mac non-windows os that would be useful too [18:23:00.0000] <Hixie> (i changed it to 5 seconds) [18:26:00.0000] <zewt> holy gross, abp does some nasty stuff to the DOM in chrome [18:26:01.0000] <zewt> https://zewt.org/~glenn/erk.png ... heh [18:28:00.0000] <zewt> does the same for me in FF4/O11 in Windows (both of them leave the cursor at the end but scroll the text all the way to the left, which is pretty strange) [18:28:01.0000] <zewt> (same as what you described) [18:29:00.0000] <Hixie> cool, thanks [18:29:01.0000] <zewt> same in chrome 12 (after turning off that mess) [18:29:02.0000] <Hixie> any chance of testing IE? [18:29:03.0000] <Hixie> that's the one i haven't tested on any platform yet [18:29:04.0000] <zewt> need to load a VM, will take a minute [18:30:00.0000] <Hixie> you need a VM to load IE on windows? what kind of weird setup do you have over there :-) [18:30:01.0000] <zewt> xp64 [18:31:00.0000] <zewt> ie9 only supports versions of windows which require lots of memory to run, which makes them fantastically wasteful in VMs [18:31:01.0000] <Hixie> funky [18:31:02.0000] <zewt> xp runs in half a gig; i need like a gig and a half for win7 [18:31:03.0000] <Hixie> jeez [18:32:00.0000] <zewt> same [18:33:00.0000] <Hixie> cool, thanks [18:33:01.0000] <Hixie> i guess i'll just spec it [18:34:00.0000] <zewt> pretty oddball that they all mismatch the scroll position and the cursor [18:35:00.0000] <Hixie> yeah that's what makes me thing it might be needed for interop somehow and why it needs speccing [18:36:00.0000] <Hixie> if you've still got some browsers up can you try it again? i changed it to a textarea [18:36:01.0000] <Hixie> looks like it's the same on mac [18:39:00.0000] <Hixie> woot, i am now up to march in dealing with feedback of a non-feature-request nature [18:39:01.0000] <zewt> uh, ie9 seems to be caching the old one through reloads [18:40:00.0000] <Hixie> weird [18:40:01.0000] <zewt> same in the others, but i'm still seeing type=text in ie9 [18:40:02.0000] <Hixie> if you have sent feedback (not counting feedback asking for new features, but including bugs) that you send before march, and i haven't replied to it, please let me know [18:41:00.0000] <zewt> gah chrome's "copy text in the address bar you didn't ask for" thing drives me crazy (tried to copy the hostname to tcpdump and I got a http:// prefix that I didn't ask for) [18:41:01.0000] <Hixie> yeah man that drives me batty [18:41:02.0000] <zewt> software trying to be more clever than it actually is [18:41:03.0000] <Hixie> ok, i'm outta here [18:41:04.0000] <Hixie> bbl [18:41:05.0000] <zewt> later [18:43:00.0000] <zewt> same in IE9 [20:07:00.0000] <karlcow> http://insidesearch.blogspot.com/2011/06/authorship-markup-and-web-search.html [21:06:00.0000] <mpilgrim> Philip`: good call. it took me 2 hours, but i finally found a place in webkit's indexeddb implementation that fails on "\ufffe" [21:22:00.0000] <yuhong> I submitted and posted some comments on "CSS 2.1 becomes W3C Recommendation"/ [21:22:01.0000] <yuhong> http://slashdot.org/~yuhong [22:42:00.0000] <Hixie> what's with bjoern quoting my name? weird [22:44:00.0000] <jamesr> as in "Ian Hickson"? [22:44:01.0000] <Hixie> as in "Hixie" [22:45:00.0000] <jamesr> the so-called "Hixie" says [22:45:01.0000] <Hixie> pretty much [22:55:00.0000] <zewt> i've been tempted to put "timeless" in quotes in several mails, heh [22:59:00.0000] <jamesr> so "Hixie", "timeless", and "fantasai" walk into a bar... [23:40:00.0000] <paul_irish> anyone have a rough idea when innerHTML began to be specified? [23:43:00.0000] <paul_irish> which.. i imagine just means the general parsing algo [23:44:00.0000] <Hixie> 2008? 2009? [23:44:01.0000] <Hixie> 2009 i think [23:44:02.0000] <Hixie> it was in january, whatever year it was [23:45:00.0000] <paul_irish> k. good enough for me. i can work with that. thx [23:49:00.0000] <zcorpan> http://www.whatwg.org/specs/web-apps/2007-10-26/#innerhtml0 [23:49:01.0000] <paul_irish> :D [23:49:02.0000] <Hixie> holy cow, that's far before what i expected [23:49:03.0000] <zcorpan> it wasn't specified in http://www.whatwg.org/specs/web-apps/2006-01-01/ so sometime between those dates [23:49:04.0000] <Hixie> must have been 2007 that we specified the parser then [23:49:05.0000] <Hixie> wow [23:49:06.0000] <Hixie> time flies [23:50:00.0000] <paul_irish> yeah.. http://blog.whatwg.org/2007/03 is when html5lib 0.9 came out [23:50:01.0000] <Hixie> can anyone think of any reason i shouldn't specify window.status as a readonly replaceable property on Window that always returns the empty string? [23:52:00.0000] <zcorpan> do sites expect empty string (rather than undefined)? [23:52:01.0000] <Hixie> every browser seems to return empty string [23:52:02.0000] <Hixie> and i know i've written code that broke because i forgot that window.status existed [23:52:03.0000] <zcorpan> ah [23:53:00.0000] <zcorpan> is it repleaceable in browsers too? [23:53:01.0000] <Hixie> i thought it was, and it is in chrome, but it appears not to be in firefox [23:53:02.0000] <Hixie> firefox seems to always return '' regardless [23:53:03.0000] <zcorpan> i guess replaceable makes sense [23:54:00.0000] <Hixie> wait [23:54:01.0000] <Hixie> i'm wrong [23:54:02.0000] <Hixie> window.status = {}; window.status returns the _string_ "[object Object]" [23:55:00.0000] <Hixie> in chrome & opera [23:55:01.0000] <zcorpan> yeah [23:56:00.0000] <zcorpan> which means there's a setter i guess [23:57:00.0000] <zcorpan> opera seems to allow sites to set the status by default (but has a pref to disable it) [23:59:00.0000] <zcorpan> http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-08 [00:00:00.0000] <Hixie> anyone got IE to test with? I don't have IE at home [00:02:00.0000] <zcorpan> hold on [00:02:01.0000] <Hixie> what's the latest version of web notifications? the editor's draft seems to be more outdated than the TR/ page? [00:03:00.0000] <zcorpan> Hixie: ie9 seems to always return the empty string [00:03:01.0000] <Hixie> k [00:04:00.0000] <zcorpan> unless i do var status [00:04:01.0000] <Hixie> sure, var is another issue altogether [00:04:02.0000] <Hixie> but it doesn't throw? [00:04:03.0000] <Hixie> so i guess a setter that does nothing is the way to go [00:04:04.0000] <zcorpan> doesn't throw [00:05:00.0000] <zcorpan> same in ie quirks [00:05:01.0000] <zcorpan> and ie7compat [00:05:02.0000] <Hixie> yeah if gecko and ie match we're good here [00:30:00.0000] <Hixie> huh [00:30:01.0000] <Hixie> /me notices a revert request that he'd somehow missed [00:31:00.0000] <Hixie> good thing i happened to browse the archives [00:31:01.0000] <Hixie> /me tries to work out what he's supposed to be reverting [00:33:00.0000] <Hixie> aha, something to make validators not catch inaccessible content [00:33:01.0000] <Hixie> the mind boggles [00:38:00.0000] <zcorpan> what's accessible is an opinion [00:53:00.0000] <danbri> foolip, when I paste entire source of http://schema.org/TVSeries into http://foolip.org/microdatajs/live/ then try the tabs, the entire page goes blank [00:53:01.0000] <danbri> (though there doesn't actually seem to be any MD in it) [00:54:00.0000] <danbri> ... if I cut from <div id="mainContent"> and below, the UI still works and I see { "items": [] } [00:56:00.0000] <jgraham> Hixie: I think the TR page probably is the latest web notifications draft. That spec seems to have stalled [00:57:00.0000] <Hixie> ah [00:58:00.0000] <jgraham> Also, isn't timeless' name just "tim eless"? That would rather seem to exclude him from a "three people who go by pseudonyms walk into a bar" joke [00:59:00.0000] <Hixie> um, no [00:59:01.0000] <jgraham> Oh [00:59:02.0000] <Hixie> his name is josh soref :-) [00:59:03.0000] <jgraham> Ah. Well he's back in the joke then [00:59:04.0000] <jgraham> Dunno where I got the other idea from [01:00:00.0000] <zcorpan> hsivonen: is ==date-or-time-content== used anywhere? http://wiki.whatwg.org/wiki/MicrosyntaxDescriptions [01:00:01.0000] <jgraham> (especially since I recognise his real name now you mention it) [01:02:00.0000] <zcorpan> hsivonen: also what's with the claims that the formats differ from the spec? [01:06:00.0000] <hsivonen> zcorpan: looks like it's dead code [01:06:01.0000] <hsivonen> zcorpan: there used to be some element (<time>?) that accepted date or times in element content [01:06:02.0000] <Hixie> yeah <time> did that for aw hile [01:07:00.0000] <Hixie> <meter> and <progress> also had similar magic with numbers [01:13:00.0000] <zcorpan> removed it [01:13:01.0000] <zcorpan> that page still needs stuff filled in [01:24:00.0000] <hsivonen> zcorpan: thanks [01:34:00.0000] <jamesr> Hixie: i don't thikn we should have args in HTML spec [01:34:01.0000] <jamesr> it's not interoperable [01:35:00.0000] <Hixie> really? [01:35:01.0000] <Hixie> who doesn't do it? [01:36:00.0000] <jamesr> IEs don't, iirc [01:36:01.0000] <jamesr> and mozilla provides another argument [01:36:02.0000] <jamesr> to the callback [01:36:03.0000] <Hixie> well if it's just IE then they can get with the programme [01:36:04.0000] <jamesr> before the user specified argument(s) [01:36:05.0000] <Hixie> really? [01:37:00.0000] <jamesr> https://developer.mozilla.org/En/Window.setTimeout [01:37:01.0000] <jamesr> see "lateness" [01:37:02.0000] <Hixie> window.setTimeout(function(a,b,c) { alert('a=' + a + '\nb=' + b + '\nc=' + c) }, 1000, 1, 2, 3); [01:37:03.0000] <Hixie> ...alerts "a=1 b=2 c=3" [01:37:04.0000] <Hixie> in firefox [01:37:05.0000] <jamesr> what's arguments.length? [01:38:00.0000] <Hixie> and opera [01:38:01.0000] <Hixie> and chrome [01:38:02.0000] <Hixie> seems interoperable to me! [01:39:00.0000] <Hixie> 3 in opera and chrome, 4 in firefox [01:39:01.0000] <jamesr> so they stick it after the user-supplied args? [01:39:02.0000] <Hixie> yup [01:40:00.0000] <zcorpan> should we implement lateness in opera and chrome? [01:41:00.0000] <jamesr> why? can't you do it yourself in script? [01:41:01.0000] <zcorpan> i guess the script could do new Date yeah [01:41:02.0000] <jamesr> grab date.now() when setting, grab it when the callback runs, subtract the delay you specified... [01:41:03.0000] <Hixie> i have heard pretty much zero authoring interest in this argument [01:41:04.0000] <Hixie> to the point that i never had even heard of it :-) [01:42:00.0000] <Hixie> jamesr: that doesn't work if the machine was suspended in between [01:42:01.0000] <jamesr> well nobody uses arguments [01:42:02.0000] <Hixie> i use them all the time :-) [01:42:03.0000] <jamesr> Hixie: depends on how the implementation handles that [01:42:04.0000] <jamesr> nobody who authors and has to care about IE does :) [01:42:05.0000] <Hixie> does the monotonic clock from web perf increment when timeouts don't? [01:42:06.0000] <Hixie> people who care about IE don't use a _lot_ of the stuff in this spec [01:42:07.0000] <jamesr> the monotonic clock from web perf isn't actually specified [01:42:08.0000] <zcorpan> jamesr: you could use lateness without using arguments [01:42:09.0000] <jamesr> so nobody knows wtf it does [01:43:00.0000] <Hixie> well ok then [01:43:01.0000] <Hixie> someone should get on that [01:43:02.0000] <Hixie> :-P [01:43:03.0000] <Hixie> /me calls "not it" [01:43:04.0000] <jamesr> yeah it's just microsoft guys [01:43:05.0000] <jamesr> who keep bothering me to put a "implementations should not ..." section into a normative section [01:43:06.0000] <jamesr> i explained that wouldn't mean anything and their response was "we're fine with that" [01:44:00.0000] <zewt> normative shoulds make me want to hit things [01:44:01.0000] <zewt> at least, after dealing with the XMPP specs where half the spec is shoulds [01:44:02.0000] <Hixie> jamesr: well hopefully you don't have an actual "should" in a non-normative section [01:45:00.0000] <jamesr> i haven't put the sentence anywhere cos it's a dumb requirement [01:45:01.0000] <jamesr> it'll end up being implementation advice in a note [01:45:02.0000] <Hixie> aah [01:45:03.0000] <Hixie> push back against bad ideas [01:45:04.0000] <Hixie> don't give in! [01:46:00.0000] <Hixie> ok i should go sleep [01:46:01.0000] <Hixie> nn [01:47:00.0000] <KevinMarks> is a normative Should a passive aggressive spec? [01:49:00.0000] <jamesr> i can see that you are satisfying the minimum required requirements of this standard, but do you really want to just be a minimally compliant implementation? [01:49:01.0000] <jamesr> Stan over there is meeting 37 individual requirements... [02:31:00.0000] <kost-bebix> Good morning everyone! So can anyone please review me with speed testing of making HTMLTokenizer a new-style object? [02:32:00.0000] <kost-bebix> code: http://paste.pocoo.org/show/402862/ [02:32:01.0000] <kost-bebix> file index.html: http://www.whatwg.org/specs/web-apps/current-work/ (it's big) [02:33:00.0000] <kost-bebix> results are ~40 seconds everywhere (old-style, new-style, pypy) [02:33:01.0000] <kost-bebix> so maybe my code is wrong or what [02:43:00.0000] <jgraham> kost-bebix: In general I am happy to make new-style classes. Unless it makes a huge difference weird version-specific-CPython-specific performance hacks at the expense of best practices seem wrong [02:44:00.0000] <jgraham> /me afk for a bit [02:57:00.0000] <kost-bebix> jgraham: 40 seconds for new-style vs 37 sec. for old-style [02:58:00.0000] <kost-bebix> jgraham: but for new-style I will write topic about "how to make safe wysiwyg ckeditor with html5lib" and won't be a shame to show it's code)) [02:59:00.0000] <kost-bebix> jgraham: also, what about fixing html5lib in default? It's currently broken a bit. Should I investigate that or could you please do that? [02:59:01.0000] <gsnedders> jgraham: Broken in what way? [03:00:00.0000] <gsnedders> kost-bebix even [03:00:01.0000] <kost-bebix> gsnedders: even? [03:00:02.0000] <gsnedders> kost-bebix: Broken in what way? [03:00:03.0000] <kost-bebix> oh, sorry, those 40 and 37 secs were for pypy, whong virtualenv)) [03:01:00.0000] <kost-bebix> gsnedders: something like this http://paste.pocoo.org/show/402835/ [03:01:01.0000] <kost-bebix> gsnedders: but even not for tests [03:03:00.0000] <kost-bebix> gsnedders: here's fresh error http://paste.pocoo.org/show/403315/ for this test-code [03:11:00.0000] <kost-bebix> gsnedders: so will you look at that please? [03:13:00.0000] <gsnedders> kost-bebix: Maybe. [03:13:01.0000] <gsnedders> /me is rather busy at the moment [03:13:02.0000] <kost-bebix> oh, ok [03:14:00.0000] <gsnedders> The soonest I'm likely to do anything is while travelling next Wednesday. [03:14:01.0000] <kost-bebix> ok, I'll look at that [03:20:00.0000] <mhausenblas> any microdata people around? [03:21:00.0000] <mhausenblas> /me might benefit from your help re https://github.com/mhausenblas/schema-org-rdf/blob/master/tools/schema-mr-gateway/microdata-parser.py [03:21:01.0000] <mhausenblas> (using edsu's MD parser https://github.com/edsu/microdata) [03:22:00.0000] <kost-bebix> ok, seems I fixed that [03:22:01.0000] <kost-bebix> how do I do pull request in google code?) [03:22:02.0000] <kost-bebix> http://code.google.com/r/kost88-html5lib-fixes/source/checkout [03:23:00.0000] <jgraham> kost-bebix: No idea. [03:23:01.0000] <kost-bebix> jgraham: maybe I should just send patches? [03:23:02.0000] <mhausenblas> kost-bebix good question (re pull request in Google code) - if you find out pls let me know as well ;) [03:23:03.0000] <jgraham> kost-bebix: That should work [03:24:00.0000] <jgraham> If the patches look good you can benefit from our hippie commit-access policy [03:24:01.0000] <kost-bebix> jgraham: http://paste.pocoo.org/show/403324/ [03:25:00.0000] <kost-bebix> jgraham: I should run tests now, I guess [03:25:01.0000] <kost-bebix> to make sure nothing is broken) [03:26:00.0000] <kost-bebix> jgraham: fail) super(HTMLTokenizer, self).__init__(object) should be fixed to super(HTMLTokenizer, self).__init__() [03:26:01.0000] <mhausenblas> jgraham, you're not into MD, are you? [03:27:00.0000] <jgraham> kost-bebix: Attaching patches to a bug is best I guess [03:27:01.0000] <jgraham> mhausenblas: A little, but possibly not enough to review code and do real work at the same time :) [03:28:00.0000] <mhausenblas> he he, fair enough [03:28:01.0000] <kost-bebix> jgraham: ok, I'll go and create issues for that [03:28:02.0000] <mhausenblas> /me trying to figure on his own - would be cool to learn what chaps to ask around here ... [03:29:00.0000] <gsnedders> I'd say I could look, but then jgraham would probably start finding more work for me. :) [03:31:00.0000] <mhausenblas> gsnedders, please look :P [03:31:01.0000] <mhausenblas> srsly, got a sec, gsnedders? [03:31:02.0000] <mhausenblas> /me won't tell jgraham [03:31:03.0000] <gsnedders> Disclaimer: it's been a while since I've looked at MD closely [03:31:04.0000] <mhausenblas> he he, fair enough - same for me ;) [03:32:00.0000] <mhausenblas> so, in https://github.com/mhausenblas/schema-org-rdf/blob/master/tools/schema-mr-gateway/microdata-parser.py I'm trying to dump the items [03:32:01.0000] <mhausenblas> now, what I don't really get is the cascading [03:33:00.0000] <mhausenblas> that is, how items can have other nested items [03:33:01.0000] <mhausenblas> /me should maybe read the spec more closely? ... but I'm a slacker, hence [03:34:00.0000] <gsnedders> mhausenblas: The other item is defined by the nesting, pretty much, IIRC [03:34:01.0000] <mhausenblas> yes, that I get - but what is the relationship? ;) [03:34:02.0000] <mhausenblas> or is there none [03:34:03.0000] <mhausenblas> you see what I'm trying to understand? [03:35:00.0000] <mhausenblas> I have (in my own weird pretty print style): [03:35:01.0000] <mhausenblas> ITEM (http://example.org/event123) of type (http://schema.org/Event) [03:35:02.0000] <mhausenblas> and [03:37:00.0000] <mhausenblas> ITEM (anonymous) of type (http://schema.org/AggregateOffer) [03:37:01.0000] <mhausenblas> how is http://example.org/event123 related to the second item? [03:37:02.0000] <gsnedders> Depends upon the itemprop [03:37:03.0000] <mhausenblas> /me bangs head on desk [03:37:04.0000] <mhausenblas> sure thing - it's 'offers' [03:37:05.0000] <mhausenblas> sry for the stupid question [03:37:06.0000] <mhausenblas> there you go - you did help me gsnedders ;) [03:37:07.0000] <mhausenblas> case close - let's move on [03:37:08.0000] <gsnedders> I KNOW STUFF. [03:37:09.0000] <mhausenblas> thx, over and out [03:37:10.0000] <gsnedders> :D [03:37:11.0000] <mhausenblas> well, that I wouldn't say, but ... [03:37:12.0000] <mhausenblas> you're a nice guy, at last ;) [03:38:00.0000] <kost-bebix> that's for broken default: http://code.google.com/p/html5lib/issues/detail?id=184 [03:38:01.0000] <zcorpan> gsnedders is just making stuff up [03:38:02.0000] <mhausenblas> btw, as I have some 3 more min for chit chatting - how's it going, gsnedders - still up in Scandinavia or what are you after these days? [03:38:03.0000] <gsnedders> zcorpan: Pretty much. But if it makes people think I know stuff… [03:39:00.0000] <gsnedders> mhausenblas: Studying in Glasgow, working remotely for Opera still (though part-time now) [03:39:01.0000] <mhausenblas> right [03:39:02.0000] <mhausenblas> well, sounds good - KUTGW! [03:41:00.0000] <zcorpan> KUTGSAWYAD [03:43:00.0000] <kost-bebix> http://code.google.com/p/html5lib/issues/detail?id=185 for new-style HTMLTokenizer [03:43:01.0000] <kost-bebix> god, bitbucket + pull requests would be so much easier)) [03:44:00.0000] <gsnedders> zcorpan: ? [03:55:00.0000] <karlcow> KITTY [04:09:00.0000] <jgraham> zcorpan: What's accessible might well be a measurable quantity. But no one much seems interested in doing the measurements [04:09:01.0000] <jgraham> /me just saw that in the logs [04:22:00.0000] <karlcow> https://github.com/edsu/microdata/blob/master/microdata.py [04:29:00.0000] <karlcow> http://go-to-hellman.blogspot.com/2011/06/our-metadata-overlords-and-that.html [06:40:00.0000] <smaug____> http://www.w3.org/2004/04/webapps-cdf-ws/papers/opera.html from Mozilla and Opera is still surprisingly valid [06:40:01.0000] <hsivonen> krijnh: is back. watch you tongue, folks :-) [06:41:00.0000] <smaug____> hsivonen: my link was public :) [06:41:01.0000] <roc> when you've got W3C leadership insisting they never did anything wrong, then clearly lessons from past mistakes have not been learned, and that reduces trust [06:41:02.0000] <karlcow> hsivonen: taboo? in your own illusions :) That's the point of such an organization. Organizations which tie people who are likely minded are sects, not fora for discussing, debating, etc. [06:42:00.0000] <karlcow> roc: someone is a member of TAG and someone can't have different ideas ? One neuron brain? Role vs personal opinions. [06:42:01.0000] <karlcow> my goodness… sectarism. [06:42:02.0000] <hsivonen> karlcow: I have a feeling I got frowns when I last talked about disjoint communities but [citation-needed] and I don't remember what the context was [06:44:00.0000] <roc> karlcow: so you think it's a good thing to have people on the TAG who are wrong about important issues. OK. I don't. [06:45:00.0000] <roc> he's not just wrong about opinions or strategy, he's wrong about facts, as smaug pointed out [06:46:00.0000] <karlcow> I think it is a good thing to have people with diverse opinions. I do not think there is only one side of a story. I think people can have a role and opinions (it is called compromise). [not saying that I agree with him, but that is totally unrelated to his tag position] [06:49:00.0000] <jgraham> Diverse opinions can be good. Being in denial of facts isn't [06:52:00.0000] <karlcow> Will one day computing engineers be human… really. It mesmerizes me as something strange. We are all of us humans. yes we lie, we are emotional, have notions of truth, recollection of memories. etc. He might be wrong, he might be right, etc. That's part of the game. Now putting him, his role and the organization in a single entity is quite frightening. it's why I say sectarism. Ministry of thoughts. [06:52:01.0000] <karlcow> anyway, reality catches me up. I have a meeting. [07:42:00.0000] <Workshiva> karlcow: As the saying goes, you're allowed your own opinions but you are not allowed your own facts [07:43:00.0000] <Workshiva> ... and I was one screen away from the bottom of the conversation [08:06:00.0000] <karlcow> Workshiva: people have different recollections. Basically people do not see the same facts because of their own moral values, history, memory recollections, etc. Once again not taking side here. [08:08:00.0000] <hsivonen> karlcow: I think you are taking relativism pretty far [08:08:01.0000] <Workshiva> Misremembering something doesn't change what actually happened... [08:08:02.0000] <karlcow> hsivonen: possibly. [08:09:00.0000] <jgraham> Wander too far down this path and you end up with holocaust deniers and all sorts of nastiness [08:09:01.0000] <jgraham> /me wonders if that implicity invokes Godwin [08:09:02.0000] <karlcow> we reached godwin [08:09:03.0000] <Workshiva> scientologists :P [08:09:04.0000] <Workshiva> What is true is what you, yourself, decide is true for you. [08:10:00.0000] <karlcow> Workshiva: it's how science is working. Collectively aggreeing on a framework and working in that framework to make assertions. [08:11:00.0000] <karlcow> newton, simple relativity, general relativiy, etc. [08:11:01.0000] <karlcow> when the model doesn't work to answer the questions we have to solve, we change the model. [08:12:00.0000] <jgraham> I think there is a great deal that is interesting about the philosophy of Science but I'm not sure I get any of it from that statement [08:12:01.0000] <Workshiva> karlcow: The difference is that science describes reality, it doesn't define it [08:12:02.0000] <karlcow> /me has to admit he is influenced by Kuhn [08:13:00.0000] <karlcow> Worshiva: yup agreed whatever reality is ;) [08:14:00.0000] <karlcow> I was referring to this Kuhn http://en.wikipedia.org/wiki/Thomas_Kuhn [08:15:00.0000] <Workshiva> I didn't know there were other famous Kuhns [08:16:00.0000] <Workshiva> Anyhoo [08:16:01.0000] <karlcow> http://en.wikipedia.org/wiki/Kuhn [08:17:00.0000] <asmodai> cute: http://www.touchtrigonometry.org/ [08:17:01.0000] <Workshiva> A Nobel Prize winner, I guess that counts as famous [08:18:00.0000] <karlcow> asmodai: nice! [08:35:00.0000] <asmodai> You see the flash dumping happening all over [08:35:01.0000] <asmodai> interesting to see the uptake [11:00:00.0000] <Hixie> is marcos around? [11:01:00.0000] <Hixie> ah, he's in #webapps [11:48:00.0000] <jcranmer> out of curiosity [11:48:01.0000] <Hixie> yes? [11:48:02.0000] <jcranmer> if I do <a>foo<span>bar</a>baz</span> [11:48:03.0000] <jcranmer> what happens? [11:48:04.0000] <Hixie> per spec? [11:49:00.0000] <jcranmer> <!DOCTYPE html>, so yes [11:49:01.0000] <Hixie> the doctype doesn't affect this i think [11:49:02.0000] <Hixie> http://software.hixie.ch/utilities/js/live-dom-viewer/?%20%3Ca%3Efoo%3Cspan%3Ebar%3C%2Fa%3Ebaz%3C%2Fspan%3E [11:49:03.0000] <Hixie> test it in webkit or firefox, they implement the spec [11:49:04.0000] <jcranmer> i.e., do both bar and baz get styled with the span and foo and bar get the link? [11:50:00.0000] <Hixie> the resulting document has one <span> and it contains just "bar" [11:50:01.0000] <Hixie> note that <a> is particularly special here [11:50:02.0000] <Hixie> and you'll get different results if you replace it with <b>, for example [11:51:00.0000] <Hixie> also different results if you replace the <span> with <div>, say [11:51:01.0000] <zcorpan> Hixie: there's no difference between <a> and <b> here [11:51:02.0000] <jcranmer> damn [11:52:00.0000] <Hixie> oh right, <a>'s specialness is when you nest <a>s [11:52:01.0000] <zcorpan> jcranmer: http://www.whatwg.org/specs/web-apps/current-work/complete/the-end.html#an-introduction-to-error-handling-and-strange-cases-in-the-parser [11:52:02.0000] <Hixie> you'll get different results if you change <a> to <Span> and <Span> to <div>? [11:52:03.0000] <jcranmer> oh well [11:53:00.0000] <jcranmer> well, I need the <a> to stay an <a> [11:53:01.0000] <Hixie> anyway my point is just that that general pattern can give various results depending on the element in question [11:53:02.0000] <Hixie> what's the context of your question? [11:53:03.0000] <jcranmer> basically, I'm trying to refactor this code2html utility I'm writing [11:54:00.0000] <jcranmer> so I get syntax highlighting as regions and link objects also as regions [11:54:01.0000] <Hixie> ah [11:54:02.0000] <jcranmer> I'm not sure I care about partially overlapping syntax highlighting/linkificaiton [11:54:03.0000] <Hixie> yeah you definitely don't want to rely on weird parsing behaviours here [11:55:00.0000] <Hixie> they're invalid for a reason :-) [11:55:01.0000] <jcranmer> since that would be somebody's bug [11:55:02.0000] <Hixie> the best bet when doing docs with two overlapping ranges is to wrap one set of ranges normally, and then do the second set at the fine-grained level by rewrapping just the text nodes for the second set [11:56:00.0000] <jcranmer> but links can be entirely within sytanx regions (i.e., an http in a comment) or syntax regions can be entirely within links (i.e., quallified namespaces) [11:56:01.0000] <Hixie> e.g. if you have hel(lo[ pret)ty wor]ld [11:56:02.0000] <jcranmer> I'm not sure I have a case where a link and syntax region partially overlap... [11:56:03.0000] <Hixie> you'd do "hel<span>lo pret</span> world" first [11:56:04.0000] <Hixie> and then (using <b>s for the sake of clarity: [11:57:00.0000] <Hixie> "hel<span>lo<b> pret</b></span><b> wor</b>ld" second [11:57:01.0000] <jcranmer> I've noticed s/span/b/g changes the resulting dom to do the logically right thing for my use case [11:57:02.0000] <Hixie> if you have more than two sets of ranges, you're best off just dealing with ranges individually, as in: [11:58:00.0000] <Hixie> "hel<span class="a">lo</span><span class="a b"> pret</span><span class="b"> wor</span>ld" [11:58:01.0000] <Hixie> hth [11:58:02.0000] <jcranmer> I was just wondering if the corner cases would have worked even if I didn't look for them [12:30:00.0000] <scor> is there a way to have multiple tokens in an @itemtype? @itemprop seems to allow it, @itemtype doesn't it seems... [12:48:00.0000] <Hixie> scor: what would it mean? [12:48:01.0000] <Hixie> scor: or rather, how would you know which vocabulary's terms you were using? [13:05:00.0000] <mpilgrim> ok, i have a bunch of IndexedDB properties that are defined "readonly" per their WebIDL [13:05:01.0000] <mpilgrim> what should happen when I try to set those properties from JavaScript? [13:05:02.0000] <zcorpan> mpilgrim: my favorite [13:05:03.0000] <mpilgrim> "An object that implements the interface on which a read only attribute is defined will not allow assignment to that attribute. It is language binding specific whether assignment is simply disallowed by the language, ignored or an exception is thrown." [13:05:04.0000] <Ms2ger> Fail silently, and throw in strict mode [13:05:05.0000] <zcorpan> what Ms2ger said [13:05:06.0000] <mpilgrim> which browsers support strict mode? [13:05:07.0000] <Ms2ger> Fx [13:06:00.0000] <Ms2ger> Chrome too, I think? [13:06:01.0000] <gsnedders> Chrome doesn't [13:06:02.0000] <gsnedders> WebKit nightlies do [13:06:03.0000] <gsnedders> IE10 Preview does [13:07:00.0000] <mpilgrim> wow, chrome is behind IE in something? [13:07:01.0000] <mpilgrim> we live in interesting times [13:07:02.0000] <mpilgrim> i have a webkit nightly [13:07:03.0000] <mpilgrim> how would I check for strict mode? [13:08:00.0000] <Ms2ger> <script>"use strict"; try { global = "" } catch(e) { // In strict mode }</script> [13:08:01.0000] <gsnedders> or function is_strict() { return !this; } [13:08:02.0000] <gsnedders> Uh, with "use strict"; [13:09:00.0000] <Ms2ger> /me never understood that [13:09:01.0000] <zcorpan> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1024 [13:09:02.0000] <gsnedders> Ms2ger: calling a function as foo() passes the global object as the this argument in non-strict, and null in strict mode. [13:10:00.0000] <Ms2ger> So, Chrome fails your test and passes mine, apparently [13:11:00.0000] <zcorpan> you mean chrome has a half implementation of a feature? how surprising [13:11:01.0000] <gsnedders> /me facepalms [13:11:02.0000] <Ms2ger> Also, passe zcorpan's [13:11:03.0000] <Ms2ger> +s [13:13:00.0000] <Ms2ger> Speaking of strict mode, should "onload = function() {..}" be allowed? [13:13:01.0000] <gsnedders> Ms2ger: onload should already be defined, so it's not a new variable reference. [13:14:00.0000] <gsnedders> Ms2ger: (i.e., "onload" is already a defined variable) [13:14:01.0000] <zcorpan> another editor will save websockets [13:14:02.0000] <Ms2ger> Then I seem to recall Chrome being wrong [13:15:00.0000] <zcorpan> gsnedders: onload is a property, not a variable, right? [13:15:01.0000] <gsnedders> zcorpan: It's a property on the global object [13:16:00.0000] <gsnedders> zcorpan: variables just define properties on the global object in the global scope [13:19:00.0000] <scor> Hixie: imagine I want to say that a item is both an Article and a NewsArticle (using schema.org as example here) [13:21:00.0000] <TabAtkins_> mpilgrim: We're implementing Strict, we just haven't gotten it quite shippable yet. [13:22:00.0000] <mpilgrim> yeah, that's fine [13:23:00.0000] <mpilgrim> i'll make do with non-strict mode [13:23:01.0000] <mpilgrim> so the proper behavior in non-strict mode is to fail silently when setting a readonly property? [13:23:02.0000] <zcorpan> TabAtkins: i hope the impl is complete when it ships [13:24:00.0000] <Ms2ger> Yes [13:24:01.0000] <mpilgrim> ok, i can test that [13:24:02.0000] <mpilgrim> thanks [13:24:03.0000] <gsnedders> readonly? That *so* ES3. [[Writable]]: false. [13:24:04.0000] <gsnedders> :P [13:25:00.0000] <Ms2ger> It's rather WebIDL ;) [13:25:01.0000] <zcorpan> Ms2ger: webidl doesn't have readonly properties! [13:25:02.0000] <Ms2ger> It has attributes [13:26:00.0000] <gsnedders> WebIDL doesn't define how to fail when setting it, though. That depends upon the language binding, which defines it by reference to ECMA262. [13:49:00.0000] <Hixie> scor: aren't all NewsArticles Articles? [13:49:01.0000] <scor> Hixie: yes, in this case it's true, but imagine they were not [13:50:00.0000] <Hixie> can you give an example that actually represents the case you're thinking of? :-) [13:50:01.0000] <scor> or imagine a consumer expect Article, and the page uses NewsArticle [13:50:02.0000] <Hixie> fix the consumer. or the page. [13:50:03.0000] <scor> and the consumer is not smart enough to infer that they are the same type [13:51:00.0000] <Hixie> it's not a matter of being smart, it's a matter of how the vocabularies are defined [13:51:01.0000] <Hixie> if NewsArticle says that it's an Article, it's an Article [13:51:02.0000] <scor> ok, maybe a different example where you would want to use totally different vocabularies [13:51:03.0000] <Hixie> and the consumer should implement the spec [13:51:04.0000] <Hixie> can you give a concrete example? it's hard to argue hypotheticals [13:51:05.0000] <scor> Hixie: where would it say that NewsArticle is also Article? [13:51:06.0000] <scor> in the vocabulary? [13:51:07.0000] <Hixie> in the spec for NewsArticle [13:51:08.0000] <scor> oh, it's possible to model such relationships? [13:52:00.0000] <scor> note that I would not want to hard code this logic in my app, but rather use what ever hierarchy is defined in the vocab [13:52:01.0000] <Hixie> You just write, in the spec, "User agents must treat all items that are NewsArticles as also being Articles" [13:52:02.0000] <Hixie> or whatever it is you want to say [13:53:00.0000] <scor> Hixie: ok, but I write this in HTML, how do I write this in a format that my app can understand [13:54:00.0000] <scor> ok, here is an example taken from the spec for @itemprop: <h1 itemprop="name http://example.com/fn">Hedral</h1> [13:54:01.0000] <Hixie> how do you mean? [13:54:02.0000] <Hixie> what's your app? [13:54:03.0000] <Hixie> i'm confused [13:55:00.0000] <Hixie> the app has to implement these vocabularies, right? so wherever you implement the vocabulary, you make it support the spec that defines the vocab [13:55:01.0000] <scor> could I write <h1 itemprop="http://vocab.org/TypeA http://example.com/SomeTypeB"> [13:55:02.0000] <Hixie> not per the current spec, no [13:55:03.0000] <scor> sorry let me rewrite the ex. [13:55:04.0000] <Hixie> but i don't know why you would want to do that [13:55:05.0000] <Hixie> or what it would mean [13:55:06.0000] <Hixie> (processing-wise) [13:55:07.0000] <scor> <div itemtype="http://vocab.org/TypeA http://example.com/SomeTypeB"> [13:56:00.0000] <scor> (ignore the hierarchy thing for a min ;) ) [13:56:01.0000] <scor> only look at the last example [13:56:02.0000] <Hixie> ok [13:57:00.0000] <scor> I defined two type, e.g. this could be for two different vocabulary, schema.org and Facebook for the second [13:57:01.0000] <scor> does that make more sense [13:57:02.0000] <Hixie> what doesn't make sense is why you would make one item be two things [13:57:03.0000] <Hixie> it would be like having one element be both a <p> and an <ol> [13:58:00.0000] <scor> well, because Facebook and schema.org will not expect/understand the same types [13:58:01.0000] <scor> they each expect to find their own type [13:58:02.0000] <Hixie> so have two items [13:58:03.0000] <scor> otherwise they ignore you [13:58:04.0000] <Hixie> if you make them the same item, how would you know what the properties meant? [13:58:05.0000] <Hixie> say you had: [13:58:06.0000] <scor> but I do not want to repeat HTML content! [13:59:00.0000] <Hixie> <div itemscope itemtype="http://example.com/school http://example.com/socioeconomic"> <span itemprop=class>A</span> </div> [13:59:01.0000] <Hixie> and suppose the http://example.com/school vocabulary defines itemprop=class as defining the name of a classroom [13:59:02.0000] <Hixie> and http://example.com/socioeconomic defines itemprop=class as defining the name of a socioeconomic level (poor, rich, etc) [13:59:03.0000] <Hixie> what does the page mean? [14:01:00.0000] <scor> well, you would not use that ambigious token in itemprop, but the full URLs instead [14:02:00.0000] <scor> note you would be dealing with two different domain names [14:03:00.0000] <scor> let me wip up the complete example [14:04:00.0000] <scor> let's use this one: [14:04:01.0000] <scor> <div itemscope itemtype="http://schema.org/School http://facebook.com/School"> [14:04:02.0000] <scor> <span itemprop="http://schema.org/classname http://facebook.com/class">A</span> [14:04:03.0000] <scor> </div> [14:05:00.0000] <scor> Hixie: now, @itemprop is valid I believe, but is @itemtype valid like that? [14:05:01.0000] <Hixie> you're not answering the question... what if the two vocabularies both defined "class", and you use it? you can't just say "don't do that". We have to define what it means if someone does it anyway. [14:05:02.0000] <scor> I agree, so the @itemtype is limited to one for avoiding that problem, right? [14:05:03.0000] <scor> one token [14:09:00.0000] <Hixie> yes [14:12:00.0000] <scor> thanks Hixie, that's what I wanted to know - sorry for the somewhat lengthy/confusing questions :) [14:12:01.0000] <zcorpan> anyone know how filesaver is supposed to work? surely the user has to choose a folder at some point? http://forums.whatwg.org/bb3/viewtopic.php?f=3&t=4650 [14:15:00.0000] <zcorpan> scor: you can do http://foolip.org/microdatajs/live/?html=%3Cdiv%20itemscope%20itemtype%3D%22http%3A%2F%2Fschema.org%2FSchool%22%20itemref%3Da%3E%3C%2Fdiv%3E%0A%3Cdiv%20itemscope%20itemtype%3D%22http%3A%2F%2Ffacebook.com%2FSchool%22%20itemref%3Da%3E%3C%2Fdiv%3E%0A%3Cspan%20id%3Da%20itemprop%3D%22http%3A%2F%2Fschema.org%2Fclassname%20http%3A%2F%2Ffacebook.com%2Fclass%22%3EA%3C%2Fspan%3E [14:16:00.0000] <scor> zcorpan: oh, thanks! looks like complicated markup though, but I guess that's the only way [14:17:00.0000] <zcorpan> though i guess the vocabularies wouldn't allow itemprops from other vocabularies like that [14:17:01.0000] <scor> zcorpan: why not? [14:17:02.0000] <scor> are they required to exist at all anyway? [14:18:00.0000] <zcorpan> well they could allow it, but i think in general vocabularies would ban anything "unknown" [14:18:01.0000] <scor> afaik, you could even make up your own property names [14:18:02.0000] <scor> zcorpan: interesting, but the document would still validate at the HTML5 level right? [14:18:03.0000] <zcorpan> yeah [14:19:00.0000] <scor> it's just if whatever application checks that all property name exist and refuse to work if it does not find the property in the vocab [14:19:01.0000] <scor> but there is no built validation like that [14:19:02.0000] <scor> in HTML5 microdata parsing [14:21:00.0000] <zcorpan> foolip: feature request: save feature for short urls :) [14:21:01.0000] <scor> lol [15:49:00.0000] <roc> foolip: ping? 2011-06-10 [17:29:00.0000] <mpilgrim> boy, webkit's indexeddb implementation does not appreciate when you use a 64KB string as a version identifier [17:29:01.0000] <mpilgrim> this is all Philip`'s fault [17:29:02.0000] <mpilgrim> (the string has one of each possible 2-byte character) [17:30:00.0000] <Philip`> Does it appreciate that particular string less than any other 64KB string? [17:30:01.0000] <mpilgrim> doesn't seem to like anything that length [17:31:00.0000] <mpilgrim> also, keys can't be \u0000 or \ufffe, but names, version strings, and values can [17:31:01.0000] <mpilgrim> i ran an exhaustive test, and those were the only two values that failed [17:31:02.0000] <mpilgrim> er, only two keys [17:32:00.0000] <mpilgrim> so kudos for recommending them when i asked for problematic strings [17:32:01.0000] <mpilgrim> they were! [22:11:00.0000] <llrcombs> question: do mouseover/mouseout events bubble by default in the current spec? [00:19:00.0000] <llrcombs> question: do mouseover/mouseout events bubble by default in the current spec? [00:45:00.0000] <hsivonen> so it looks like people really want Dublin Core stuff to be registered but can't manage to register that stuff properly [00:46:00.0000] <hsivonen> I supposed I should take the time to register the DC stuff instead of just doing BOFHy wiki management explaining why the attempts so far failed [00:50:00.0000] <zcorpan> with hardcoded prefix? [00:51:00.0000] <hsivonen> zcorpan: I was planning on registering the dc. stuff. I've never seen a *meta element*-related spec for the dcterms. stuff [00:51:01.0000] <hsivonen> I wished crowdsourcing could fix this [00:52:00.0000] <hsivonen> but it seems our very low-bar bogofilter is too high bar [00:52:01.0000] <hsivonen> the bogofilter being that the person wanting to use a meta keyword should be bothered to find a spec that defines that keyword *for use as a meta keyword* [00:53:00.0000] <hsivonen> s/the person/the first person/ [00:54:00.0000] <hsivonen> at least the person registering the porn meta keyword got the registration correct enough [00:55:00.0000] <hsivonen> I guess porn publishers have incentives to give the appearance of self-regulation to avoid actual regulation [01:00:00.0000] <hsivonen> I still find it interesting that people rather file bugs or blog than look up the spec URL and edit a wiki [01:02:00.0000] <zcorpan> what's teh porn keyword? [01:03:00.0000] <hsivonen> zcorpan: rating [01:04:00.0000] <zcorpan> ah [01:10:00.0000] <hsivonen> what's the mediawiki incantation for hiding an inline HTML <h2> from the table of contents? [01:12:00.0000] <Ms2ger> Use <h2> instead of ==, I think [01:16:00.0000] <hsivonen> Ms2ger: the heading I want to hide already uses <h2> instead of == [01:19:00.0000] <hsivonen> I used <b> [01:19:01.0000] <hsivonen> problem solved [01:37:00.0000] <zcorpan> hsivonen: the semanticists will haunt you and your children for this [01:51:00.0000] <hsivonen> zcorpan: the semanticists could start by registering their keywords! [01:55:00.0000] <hsivonen> doh. I made the mistake of writing a proper response to a bug that was filed by contributor@ [01:58:00.0000] <hsivonen> and the comment form on the reporter's blogspot blog is broken [01:59:00.0000] <hsivonen> /me wonders if MikeSmith would like to redeploy the W3C HTML5 validator with zcorpan's new UI text about the registries [02:01:00.0000] <zcorpan> hsivonen: btw i have changed the text for meta-name too [02:03:00.0000] <hsivonen> zcorpan: thanks. now deployed [02:03:01.0000] <hsivonen> It seems that figuring out what all the DC keywords are is going to take enough time that I'm going to wait for crowdsourcing to work for a while longer [02:04:00.0000] <hsivonen> for reference: http://dublincore.org/documents/dc-html/ and http://tools.ietf.org/html/rfc5791 [02:18:00.0000] <hsivonen> Hixie: should p3pv1 be Ratified when it is defined normatively in a W3C REC that predates HTML5 and the registry system? [02:19:00.0000] <foolip> danbri, that works for me [02:19:01.0000] <foolip> zcorpan, that would require server-side stuff... [02:19:02.0000] <danbri> /me tries to remember something that happened more than 5 mins ago; fails [02:19:03.0000] <foolip> danbri, about http://schema.org/TVSeries [02:20:00.0000] <danbri> ah :) [02:20:01.0000] <foolip> you said it broke http://foolip.org/microdatajs/live/ in some way [02:20:02.0000] <danbri> i'll try again. i'm in osx chrome fwiw. [02:20:03.0000] <foolip> ok, I can try it in Chromium here [02:20:04.0000] <danbri> btw @edsu has made or integrated a python microdata parser into rdflib [02:21:00.0000] <danbri> so that gives 3 tools to compare/test now at least; yours, perl from tobyink and python [02:21:01.0000] <foolip> the more the merrier :) [02:21:02.0000] <foolip> as you can deduce from the mailing list we're implementing it natively in Opera too [02:21:03.0000] <Ms2ger> foolip, you can't say that ;) [02:21:04.0000] <foolip> anyway, I tried that in Chromium and it still works fine [02:22:00.0000] <foolip> Ms2ger, it tends to give more weight to the feedback when you confess to implementing something :) [02:25:00.0000] <zcorpan> foolip: what? [02:25:01.0000] <foolip> looks like everyone has poor long-term memory today :) [02:25:02.0000] <zcorpan> ah, short url [02:26:00.0000] <danbri> does natively still mean 'in c'? [02:26:01.0000] <zcorpan> sure but i'm sure you're talented enough to figure it out :) [02:26:02.0000] <danbri> (or just 'bundled'...) [02:27:00.0000] <zcorpan> danbri: natively means in IE on Windows, duh [02:27:01.0000] <foolip> danbri, it happens to mean "in C++", but as long as the API is there for scripts to use I don't think that's important [02:27:02.0000] <danbri> :) [02:31:00.0000] <jgraham> foolip: I thought it was supposed to be a kind of intelligence test. People are supposed to deduce from us providing detailed algorithm-level feedback that maybe, just maybe, we aren't just reading the spec for fun [02:33:00.0000] <foolip> In that case I want "are they implementing" as a turing test for spambots :) [02:33:01.0000] <hsivonen> foolip: would that be like Anne's "well-formed XML" spam filter? :-) [02:34:00.0000] <foolip> hehe, I usually fail that on the first attempt :) [02:34:01.0000] <zcorpan> bozo! [02:35:00.0000] <foolip> why Tim Bray no love me? :'( [02:37:00.0000] <jgraham> Tim bray love you long time!</spam> [02:38:00.0000] <jgraham> /me wonders why people think that inconsistencies between the full spec and the author only view are more likely to be "deeper problems" than simple mechanical issues in the redaction process, or human errors in the markers [02:41:00.0000] <Ephemera> any body know about uncaching oneself using offline application cache [02:42:00.0000] <hsivonen> Ephemera: I don't know. I only fix browser bugs that go the other way round. [02:42:01.0000] <hsivonen> Ephemera: but I'm guessing you could serve a manifest file that is empty [02:42:02.0000] <hsivonen> maybe [02:42:03.0000] <hsivonen> just a guess [02:42:04.0000] <hsivonen> (don't try omitting the manifest attribute. that won't do the trick) [02:43:00.0000] <hsivonen> Ephemera: empty as in the new version of an old manifest has no entries [02:44:00.0000] <Ephemera> yes, that's right. but it doesnt work for oneself file [02:45:00.0000] <danbri> what's the use case for microdata's properties being ordered? is it more around editing than around the semantic content of what the properties *say*? (eg. consider repeated author property -- does being '1st' mean something useful?) [02:45:01.0000] <jgraham> danbri: I assume the vocabulary defines that [02:45:02.0000] <danbri> in English / natural language? [02:46:00.0000] <danbri> at the vocabulary URI? [02:46:01.0000] <jgraham> However the vocabulary chooses to define such things [02:46:02.0000] <danbri> /me nods [03:06:00.0000] <danbri> /me gets http://code.google.com/p/json-template/ from foolip on chinese html list (I only read it for the urls :) [03:10:00.0000] <foolip> danbri, I just found right now, thought it looked like a sane approach (he asked for how to turn JSON into HTML, since the microdata API can do the reverse) [03:12:00.0000] <danbri> /me hadn't seen it, will pass it to rdfa folk see if it works with their api too [03:22:00.0000] <foolip> danbri, json-template doesn't seem to have anything to do with microdata as such, I think [03:23:00.0000] <foolip> And there's no mapping from RDFa to JSON, I presume? (it could only be a list of triples or something) [03:23:01.0000] <danbri> i guess the bridge is assuming the microdata API gives a json-ny view of the properties [03:23:02.0000] <foolip> right [03:23:03.0000] <foolip> although probably not pretty enough to want to use directly [03:23:04.0000] <foolip> since you have these "items" and "properties" indirections in the JSON [03:23:05.0000] <danbri> yeah there are a few things for rdf(a)<->json; some ugly pragmatic triple dumps and a few attempts to do something prettier, eg. http://json-ld.org/ [03:24:00.0000] <danbri> yeah it ends up being indirect in some representations. json-ld maybe is better that way? except it has prefixing... [03:25:00.0000] <foolip> I'm not sure, it looks from A Simple Example like one object talks about a single subject [03:26:00.0000] <foolip> but perhaps you're allowed to nest the object when there's no loops in the graph [03:28:00.0000] <danbri> there's a microdata example here btw, http://json-ld.org/spec/latest/#microdata [03:28:01.0000] <danbri> and yup it allows nesting [03:29:00.0000] <foolip> funny how things look more official and trustworthy with the W3C stylesheet :) [03:29:01.0000] <foolip> looks like the microdata extracted as RDF and then encoded as JSON-LD [03:29:02.0000] <foolip> I guess there's a reason he didn't pick an example that's not designed to be exported to RDF [03:30:00.0000] <foolip> people don't seem amused by URIs like http://www.w3.org/1999/xhtml/microdata#http%3A%2F%2Fmicroformats.org%2Fprofile%2Fhcard%23%3Afn [03:31:00.0000] <danbri> heh, yeah the stylesheet took a second to load too, so i saw the naked version [03:31:01.0000] <danbri> yeah, they result in 'Sorry, Insufficient Access Privileges' at w3.org [03:32:00.0000] <foolip> ah, does it only work if you're logged in as a member? [03:32:01.0000] <foolip> (which I am) [03:32:02.0000] <danbri> /me is too (at least i can see /Member ) [03:34:00.0000] <danbri> I get same in OSX and Safari [03:35:00.0000] <foolip> danbri, did you manage to reproduce the issue with http://schema.org/TVSeries [03:37:00.0000] <danbri> let's try. Ok, in OSX Chrome I visit that + http://foolip.org/microdatajs/live/ ... I view src on TVSeries, ...select all, copy, paste into your form. Now I see the tab fill out with the semi-rendered page (ie. image urls break) in Preview tab. [03:37:01.0000] <foolip> select all, not just the markup? [03:37:02.0000] <danbri> ...at this point, i wait 30 seconds, it's still there, ... but if i click and type a space char into the textarea, whole thing goes to white page [03:38:00.0000] <danbri> yes, doctype and all [03:38:01.0000] <foolip> do you're pasting the source of http://schema.org/TVSeries ? [03:38:02.0000] <foolip> s/do/so/ [03:39:00.0000] <danbri> yes [03:39:01.0000] <danbri> oh, when i type that space, i see this in dev console: Uncaught TypeError: Object [object Object] has no method 'tabs' [03:40:00.0000] <foolip> I must say I don't understand why you'd paste the source instead of the example [03:40:01.0000] <foolip> but I tried it, it screws up Opera as well [03:40:02.0000] <danbri> but some errors before that, screenshot coming up... http://i.imgur.com/gzsgV.png [03:41:00.0000] <danbri> because i thought the source actually contained microdata :) guess it doesn't? [03:41:01.0000] <danbri> i was after their schema [03:41:02.0000] <danbri> ...which is available (in escaped form in full) at http://schema.org/docs/full_md.html [03:42:00.0000] <foolip> the problem is probably that I put the HTML in the same document as the tool itself, so they can interfere [03:42:01.0000] <foolip> run scripts and what not [03:42:02.0000] <danbri> /me nods [03:42:03.0000] <foolip> it also makes all relative URLs really ugly [03:42:04.0000] <foolip> even more so if you've followed a permalink [03:43:00.0000] <danbri> full_md.html schema was parsed with tobyink's perl parser to generate -> http://ar.no.de/schema.org/ (click 'origin of the world' ...) [03:43:01.0000] <danbri> ...doing it in pure js would make some sense :) [03:44:00.0000] <foolip> I must say having types is a bit odd, are those actually used as microdata properties somewhere? [03:44:01.0000] <danbri> which ones? [03:45:00.0000] <foolip> http://schema.org/DataType [03:46:00.0000] <foolip> seems like it's just for "Expected Type", perhaps for validation [03:46:01.0000] <danbri> hang on, i'll post the turtlified schema [03:47:00.0000] <danbri> https://raw.github.com/gist/1018567/f24ddc39be31a6850a49bf9349384e6dff13a420/gistfile1.txt [03:48:00.0000] <danbri> so so:Date gets used with so:birthDate, so:datePublished, so:deathDate, so:endDate, ... so:expires, so:foundingDate, so:priceValidUntil etc [03:48:01.0000] <danbri> boolean seems unused [03:49:00.0000] <danbri> also Number, Text. I guess they were added for pseudo-completeness? [03:53:00.0000] <foolip> maybe [03:54:00.0000] <foolip> I do wonder why they made such a schema right up front [03:55:00.0000] <foolip> it's note like they're going to have specialized search results for http://schema.org/WebPage [03:55:01.0000] <foolip> it's just cruft that people will add as SEO incantations [03:57:00.0000] <foolip> with http://schema.org/SiteNavigationElement they also seems to assume that the microdata is somehow connected to the elements where they're declared, while the spec says "It's important to note that there is no relationship between the microdata and the content of the document where the microdata is marked up." [03:57:01.0000] <Lachy> how did they develop these schemas? Were any based on existing microformats, or is there any evidence that they actually based them on real use cases? [03:58:00.0000] <foolip> dunno [03:58:01.0000] <foolip> but it looks like 90% of has very questionable utility [03:58:02.0000] <foolip> (which is of course true of most vocabularies) [03:59:00.0000] <danbri> any schema that has 'Boolean', 'Optician', 'cholesterolCount', 'UserPageVisits', and 'Volcano' presents certain, erm, maintainance challenges :) [03:59:01.0000] <danbri> I expect they're based on some sense of most common query topics [04:00:00.0000] <foolip> still, there are parts that I hope will succeed, like the music-related terms [04:00:01.0000] <foolip> specialized results for MusicBrainz (if it used the schema) would be actually useful [04:01:00.0000] <danbri> i was about to say yeah, getting music schema right is hard, ... it took MusicBrainz years to migrate to their improved schema - http://musicbrainz.org/ ...which treats classical music better [04:01:01.0000] <danbri> http://blog.musicbrainz.org/?p=398 [04:02:00.0000] <danbri> oh pretty but scary diag in http://wiki.musicbrainz.org/Next_Generation_Schema [04:02:01.0000] <foolip> I know, but schema.org actually looks surprisingly sane [04:03:00.0000] <foolip> to be clear, MusicBrainz is of course the canonical schema for music, and by definition the sanest! [04:03:01.0000] <danbri> no searching for mp3s tho ;) [04:04:00.0000] <danbri> y'all saw http://dallemang.typepad.com/my_weblog/2011/06/stop-press-microdata-in-topbraid.html btw? [04:05:00.0000] <foolip> nope, thanks [04:05:01.0000] <hsivonen> foolip: it should only take a bit of OWL to deal with the unamusing URLs :-) [04:06:00.0000] <foolip> hsivonen, quite a bit actually, since you'd have to create sameAs links for each vocabulary term [04:07:00.0000] <danbri> or we could not screw things up in the first place, how's that for a crazy idea? [04:07:01.0000] <danbri> /me not a big believer in OWL as a data repair tool [04:07:02.0000] <foolip> anyway, even if it were simple people aren't going to be amused, because they like to look at their RDF and see nice prefixes and such [04:10:00.0000] <foolip> huh, looks like it's the same holger that complained about ugly microdata RDF and that implemented it for TopBraid :) [04:10:01.0000] <danbri> we're pragmatists ;) [04:11:00.0000] <foolip> danbri, you're involved with TopBraid? [04:11:01.0000] <danbri> no tho I have friends working there, and i've collab'd w/ Holger lightly in his previous work [04:12:00.0000] <danbri> i suggested some integration (sparql/protege) and within a day he'd built it ... http://permalink.gmane.org/gmane.comp.misc.ontology.protege.owl/12269 [04:23:00.0000] <hsivonen> foolip: Hixie had a theoretically sensible reason for doing the URL mapping the way he did [04:24:00.0000] <hsivonen> foolip: though I'm pretty sure almost everyone actually seeking to use the RDF mapping is aesthetically unhappy about it [04:24:01.0000] <foolip> hsivonen, yes, I'm fully aware of that, and have pointed it out to others who have complained [04:25:00.0000] <hsivonen> in other news, it seems that there there are Social Media experts who plagiarize tantek's tweets [04:25:01.0000] <foolip> though I suspect the number of people whould *actually* use RDF reasoners to do anything useful is vanishingly small [04:30:00.0000] <smaug____> does a_element.itemValue = "http://www.example.org" end up changing href attribute? [04:32:00.0000] <smaug____> apparently so [04:33:00.0000] <smaug____> strange API [07:26:00.0000] <karlcow> this is a strange wikipedia page http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(Non-standard_HTML) [07:30:00.0000] <gsnedders> hah, I'm cited on that page [07:32:00.0000] <Ms2ger> gsnedders, looks like hsivonen added that :) [07:33:00.0000] <gsnedders> Ms2ger: Indeed. Especially amusing if you follow the citation. [07:33:01.0000] <Ms2ger> Heh [08:10:00.0000] <_bga> hm [08:10:01.0000] <_bga> global ns bigger and bigger [08:10:02.0000] <_bga> its bad [08:10:03.0000] <_bga> php way [08:11:00.0000] <_bga> may be time for namespace all "classes" ? [08:11:01.0000] <_bga> WebGL.Shader [08:11:02.0000] <_bga> SVG.SetElement [08:12:00.0000] <_bga> ? [08:16:00.0000] <gsnedders> _bga: http://wiki.ecmascript.org/doku.php?id=harmony:modules [08:18:00.0000] <_bga> i dont believe that es6 will be success and vendors will implement it but ok [08:19:00.0000] <gsnedders> _bga: SpiderMonkey is already implementing parts of it. [08:19:01.0000] <_bga> gsnedders because Eich make spidermonkey [08:20:00.0000] <gsnedders> _bga: Brenden is scarcely involved in day-to-day development of it, AFAIK [08:20:01.0000] <_bga> gsnedders i guess coffeescript or other translang will win [08:21:00.0000] <gavin> brendan's still pretty involved in day-to-day development [08:24:00.0000] <_bga> btw [08:24:01.0000] <_bga> Float64Array in webkit [08:25:00.0000] <_bga> but typed arrays is currently slower than [] [08:25:01.0000] <_bga> :( [08:25:02.0000] <gavin> for what testcase? [08:26:00.0000] <gavin> spidermonkey also implements typed arrays (including Float64Array) [08:26:01.0000] <mpilgrim> lol. if you call webkitIndexedDB.open() with no parameters, it creates a database with the 9-character name "undefined" [08:26:02.0000] <gavin> heh [08:26:03.0000] <mpilgrim> is that an IDL failing? [08:27:00.0000] <mpilgrim> is there some magic IDL parameter to say "treat undefined as null" or something? [08:27:01.0000] <jgraham> Thyat sounds like expected behaviour in js at least [08:27:02.0000] <mpilgrim> (we already handle open(null) properly) [08:27:03.0000] <jgraham> Yeah I think there is some IDL magic one can wave [08:27:04.0000] <jgraham> mpilgrim: Do you plan to contribute your tests to the WG btw? [08:28:00.0000] <mpilgrim> as time permits [08:28:01.0000] <jgraham> You should make time permit :) [08:28:02.0000] <mpilgrim> my manager is very webkit-focused [08:30:00.0000] <jgraham> I thought everyone at google believed that what's good for the web is good for Google [08:30:01.0000] <mpilgrim> my objectives this quarter have been very webkit-centric [08:31:00.0000] <jgraham> You should charge the time to the other departments who won't have to spend their time working around bugs in other browsers that your tests would have caught [08:31:01.0000] <mpilgrim> i'll push for some time to port these tests in Q3 [08:31:02.0000] <jgraham> Great [08:32:00.0000] <mpilgrim> i've already been wrapping webkit-specific prefixes on variable names and such [08:32:01.0000] <mpilgrim> has the testing WG settled on a framework yet? [08:32:02.0000] <mpilgrim> i've paid 0 attention [08:33:00.0000] <jgraham> For javascript tests we seem to be using testharness.js [08:33:01.0000] <mpilgrim> ok [08:33:02.0000] <jgraham> Which you used for some video tests iirc [08:33:03.0000] <mpilgrim> yes [08:33:04.0000] <mpilgrim> i ported those to webkit, btw [08:33:05.0000] <mpilgrim> wrapped 'em like we wrapped philip's canvas tests [08:33:06.0000] <mpilgrim> to make them work as LayoutTests [08:34:00.0000] <jgraham> In some generic way? [08:34:01.0000] <mpilgrim> yes, just had a change the script tags [08:34:02.0000] <jgraham> Which script tags? [08:34:03.0000] <mpilgrim> it was a generic testharness.js-to-LayoutTests wrapper [08:35:00.0000] <jgraham> There is a not-very-well-enforced requirement to add a <script src="/resources/testharnessreport.js"></script> in testharness.js files [08:35:01.0000] <mpilgrim> the ones that pointed to ../../../../testharness.js [08:35:02.0000] <jgraham> So that vendors can put whatever random code they need to integrate with testharness.js in testharnessreport.js [08:37:00.0000] <mpilgrim> [Undefined=Null, Null=Null] attribute DOMString owner; [08:37:01.0000] <mpilgrim> looks promising [08:38:00.0000] <jgraham> mpilgrim: BTW if you have an webkit followup on http://www.w3.org/mid/4DE4C870.7020408⊙oc it would be very interesting [08:40:00.0000] <mpilgrim> looks like webkit needs that IDL magic on basically every non-optional non-nullable argument on every method [08:40:01.0000] <mpilgrim> bleah [08:41:00.0000] <mpilgrim> JAVASCRIPT Y U NO SANE?!? [08:41:01.0000] <gavin> that seems like an odd default behavior for IDL [08:41:02.0000] <jgraham> Speak to heycam|away [08:41:03.0000] <mpilgrim> http://www.w3.org/TR/2008/WD-WebIDL-20081219/#Undefined has a very clear example that perfectly illustrates the behavior i'm seeing in webkit [08:41:04.0000] <gsnedders> mpilgrim: JS is sane! Just, uh, not host objects… [08:42:00.0000] <mpilgrim> shit, i'm looking at an old copy of the spec [08:42:01.0000] <mpilgrim> it's now http://www.w3.org/TR/WebIDL/#TreatUndefinedAs [08:42:02.0000] <gavin> w3c'ed [08:43:00.0000] <jgraham> Hmm, the one on /TR/ shouldn't be the newest one [08:43:01.0000] <jgraham> You want the one on dev.w3.org [08:43:02.0000] <mpilgrim> damn it [08:44:00.0000] <mpilgrim> ok, no change: http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs [08:45:00.0000] <mpilgrim> ok, now i have two problems [08:45:01.0000] <mpilgrim> [TreatUndefinedAs=Null] can only be used on DOMString attributes [08:45:02.0000] <jgraham> /me notes again how awesome the W3C dated URLs are [08:46:00.0000] <mpilgrim> but i have "any" attributes that also need this behavior [08:46:01.0000] <mpilgrim> /me wonders if webkit enforces that rule anyway [08:47:00.0000] <karlcow> /me wonders what systems jgraham would take for unique identifiers [08:49:00.0000] <jgraham> karlcow: I would make that URL http://specs.w3.org/WebIDL [08:49:01.0000] <jgraham> Or something [08:49:02.0000] <mpilgrim> no, i take it back, the "any" parameters are behaving themselves already [08:49:03.0000] <karlcow> jgraham: what about the future? [08:50:00.0000] <AryehGregor> karlcow, put the latest version of WebIDL at that URL forever. [08:50:01.0000] <AryehGregor> Why would anyone want an obsolete version anyway? [08:51:00.0000] <karlcow> well AryehGregor it is what /TR/shortname is somehow. with a different notion of last version. [08:51:01.0000] <karlcow> AryehGregor: I'm interested by older versions. [08:51:02.0000] <jgraham> karlcow: http://sepcs.w3.org/WebIDL/{revison-id} [08:51:03.0000] <AryehGregor> karlcow, then you can spend slightly more effort to find them. [08:52:00.0000] <AryehGregor> Way too many people wind up looking at useless, obsolete versions of specs in the current W3C setup. [08:52:01.0000] <karlcow> two different issues. [08:52:02.0000] <AryehGregor> But yeah, you can always just use a path. [08:52:03.0000] <karlcow> :) [08:52:04.0000] <AryehGregor> After the revision. [08:52:05.0000] <karlcow> the pattern for naming the document [08:52:06.0000] <karlcow> the findability of the document [08:53:00.0000] <AryehGregor> Like just have it take a date or revision id and show you what the version was at that time. [08:53:01.0000] <AryehGregor> Or, really, just set up hgweb or ViewVC or whatever so people can look at the changelog. [08:53:02.0000] <karlcow> Maybe when a specification has been replaced by a newer version, there should be a robots.txt for removing it from search engines crawling [08:54:00.0000] <llrcombs> question: do mouseover/mouseout events bubble by default in the current spec? [08:55:00.0000] <llrcombs> also: this line often sets a channel into a spiral of fun that simply can't be stopped: http://rodgercombs.webhop.net/maps/freenode/whatwg/current/ [08:57:00.0000] <karlcow> jgraham: http://specs.w3.org/WebIDL/{revison-id} would be the last commit? [08:58:00.0000] <karlcow> let me rephrase that [08:58:01.0000] <karlcow> jgraham: http://specs.w3.org/WebIDL/ would be the last commit [08:58:02.0000] <karlcow> jgraham: http://specs.w3.org/WebIDL/{revison-id} would be the revision-id commit? [09:07:00.0000] <jgraham> karlcow: Yes [09:09:00.0000] <jgraham> karlcow: (and it could even cope with multiple versions and things because you could have e.g. spec.w3.org/html/5/ which would be a tag or branch in the underlying repository) [09:10:00.0000] <jgraham> (depends on 5 not being a valid rev. id of course) [09:10:01.0000] <jgraham> (but one could make up a name somehow) [09:16:00.0000] <mpilgrim> http://lists.w3.org/Archives/Public/www-archive/2007May/0068.html [09:23:00.0000] <karlcow> holy cow. interesting list. I would love to see other engines too. [09:25:00.0000] <Ms2ger> https://developer.mozilla.org/en/XPIDL [09:25:01.0000] <Ms2ger> But mostly out-of-date, unfortunately [10:39:00.0000] <othermaciej> mpilgrim: pretty sure that is considerably out of date now [11:43:00.0000] <mpilgrim> othermaciej: yt? [11:43:01.0000] <mpilgrim> whom would i talk to about webkit's IDL implementation? [11:43:02.0000] <mpilgrim> i need a way to map undefined DOMStrings to null, or at least to something more useful than the 9-character string "undefined" [11:44:00.0000] <othermaciej> mpilgrim: you could talk to me, or maybe weinig [11:44:01.0000] <othermaciej> mpilgrim: in my case I'm busy for the next few hours [11:44:02.0000] <othermaciej> weinig knows more than me but may not be fresh on it [11:45:00.0000] <mpilgrim> it can wait [11:45:01.0000] <mpilgrim> most of the required method arguments in IndexedDB need this IDL magic [11:46:00.0000] <mpilgrim> ooh, i might have just found it [11:47:00.0000] <mpilgrim> ConvertUndefinedOrNullToNullString [11:47:01.0000] <zcorpan> what's wrong with "undefined"? [11:50:00.0000] <jgraham> zcorpan: It's too obvious. It should convert it to "null" instead :) [11:51:00.0000] <TabAtkins> NullString is a null string, not "null". [11:52:00.0000] <mpilgrim> TabAtkins: we had that problem too, open(null) would open a database with the 4-character name "null" [11:52:01.0000] <jgraham> TabAtkins: Try again with a much lower humor threshold [11:52:02.0000] <mpilgrim> i fixed that a few weeks ago, IIRC [11:52:03.0000] <TabAtkins> jgraham: Error lowering humor threshold - subject already giggles at poop jokes. Perhaps try improving humor? [11:53:00.0000] <jgraham> /me claims that it is only suficiently inconsistent with the web platform if openDatabase(null) -> "undefined" and openDatabase(undefined) -> "null" [11:53:01.0000] <jgraham> s/with the/to be part of the/ [11:53:02.0000] <zcorpan> speaking of null, have somebody figured out yet which methods and properties want null to be "null" and which want it to be ""? [11:53:03.0000] <jgraham> TabAtkins: NOT_SUPPORTED_ERR [11:53:04.0000] <Ms2ger> Worse is better, make them all "" [11:54:00.0000] <mpilgrim> can't. empty strings are allowed in places where null is not. [11:54:01.0000] <mpilgrim> so not kidding [11:54:02.0000] <jgraham> Well that would make sense [11:55:00.0000] <mpilgrim> /me knows waaay too much about IndexedDB already [11:55:01.0000] <jgraham> I mean if javascript had any type safety at all [11:55:02.0000] <mpilgrim> and it's only been a few weeks [11:55:03.0000] <jgraham> Which would, you know, be nice [11:55:04.0000] <jgraham> /me glares meaningfully in Brendan Eich's direcetion [11:56:00.0000] <TabAtkins> Fuck type safety. You just want type consistency. [11:56:01.0000] <TabAtkins> Which Javascript, admittedly, also doesn't have. [11:56:02.0000] <mpilgrim> fuck this, let's talk about microdata [11:57:00.0000] <TabAtkins> Shoot. [11:57:01.0000] <mpilgrim> TabAtkins: do you know of anywhere that schema.org claims to be either open or a standard? [11:57:02.0000] <jgraham> TabAtkins: The internets don't hlp me wok out what you mean by "type consistency" [11:57:03.0000] <TabAtkins> Aw, I thought we were going to talk about Microdata. [11:57:04.0000] <jgraham> Do you just mean "strong dynamic typing"? [11:58:00.0000] <TabAtkins> jgraham: More like "treat null the same everywhere, goddammit" [11:58:01.0000] <Ms2ger> /me wonders if jgraham likes wok [11:58:02.0000] <mpilgrim> schema.org is microdata. microdata is schema.org. freedom is slavery. [11:58:03.0000] <mpilgrim> i can feel the impending yellow highlighter already [11:58:04.0000] <Ms2ger> /me puts mpilgrim in charge of minitruth [11:59:00.0000] <gsnedders> TabAtkins: Just type it at runtime! :P [11:59:01.0000] <TabAtkins> BRILLIANT [11:59:02.0000] <mpilgrim> in retrospect, i probably shouldn't have said that microformats implementers had "backed the wrong horse" [11:59:03.0000] <jgraham> The first rule of yellow highlighter is... no fuck it that flight club thing was done to death years ago [11:59:04.0000] <zcorpan> so has anyone tested the search engines' impl of microdata? [11:59:05.0000] <Ms2ger> jgraham++ [12:00:00.0000] <TabAtkins> First rule of flight club is, no fucking in the bathroom. [12:00:01.0000] <jgraham> I am not in control of my fingers [12:00:02.0000] <zcorpan> are you in the bathroom? [12:02:00.0000] <jgraham> So... microdata [12:02:01.0000] <mpilgrim> holy crap, the IDL magic actually worked [12:03:00.0000] <mpilgrim> like all semantic markup, i care very little about microdata, yet feel oddly compelled to discuss it at great length [12:04:00.0000] <TabAtkins> At least, if you're doing semantic markup, Microdata has little evil in it. [12:04:01.0000] <TabAtkins> It's a decent syntax for a problem with very limited utility in the first place. [12:05:00.0000] <scor> TabAtkins: little evil in comparison to what? or what do you mean? [12:05:01.0000] <zcorpan> lang="en-x-not-hixie" - that doesn't follow the syntax rules does it? should be en-x-not-x-hixie right? (or en-x-nothixie or some such) [12:06:00.0000] <Ms2ger> I suggest filing an ISSUE. [12:06:01.0000] <mpilgrim> i think TabAtkins means "relatively little extraneous markup required" [12:06:02.0000] <Ms2ger> And threaten with an FO [12:06:03.0000] <TabAtkins> scor: Compared to the Microformats family of syntaxes (underspecified and specific to each vocab) or RDFa (overcomplicated). [12:06:04.0000] <scor> ah, you mean lightweight in other words? [12:06:05.0000] <mpilgrim> since the microdata value extraction algorithm works with the semantics of well-written HTML [12:06:06.0000] <TabAtkins> (Nothing against the Microformats vocabs - I think they're pretty decent in general. But the syntax sucks.) [12:07:00.0000] <TabAtkins> scor: More to it than just lightweightness, but that's a significant component. [12:07:01.0000] <zcorpan> Ms2ger: need to file a bug first [12:07:02.0000] <Ms2ger> Pff [12:07:03.0000] <Ms2ger> You don't need to follow the process if you want to abuse it [12:07:04.0000] <zcorpan> but i could file a FORMAL COMPLAINT [12:08:00.0000] <gsnedders> A FORMAL COMPLAINT and not a FORMAL OBJECTION? [12:08:01.0000] <scor> I see [12:08:02.0000] <zcorpan> yah [12:08:03.0000] <TabAtkins> Hixie: How did you come up with the selectors for setting the third nesting level of lists in the Rendering section? [12:08:04.0000] <TabAtkins> Hixie: It seems... inconsistent. [12:09:00.0000] <TabAtkins> Hixie: Wait, nevermind, I was misreading. It's consistent. It's just weird that <dl> is in the list. [12:10:00.0000] <AryehGregor> zcorpan, you don't need to file a bug to make a Formal Objection. I'm pretty sure that if you come out of nowhere and file a Formal Objection that HTML5 does not have a <cheese> element, with no supporting reasoning whatsoever, and refuse to withdraw it, the chairs have to record it and forward it to the Director. [12:11:00.0000] <AryehGregor> Who will of course be slightly amused and completely ignore it. [12:11:01.0000] <TabAtkins> AryehGregor: That is correct. It would obviously be rejected, but yeah. [12:11:02.0000] <AryehGregor> But everyone has the unalienable right to be personally ignored by the Director. [12:11:03.0000] <zcorpan> mmm cheese [12:11:04.0000] <zcorpan> i have plenty of reason to want cheese [12:11:05.0000] <TabAtkins> Plus, since it's TimBL, he can ignore you 50% faster than a normal human! [12:11:06.0000] <AryehGregor> /me likes referring to people by their titles when he could just as well refer to them by their names, for some reason [12:11:07.0000] <TabAtkins> (Dude's hyperactive.) [12:12:00.0000] <AryehGregor> /me also often refers to Hixie as "the editor" in HTMLWG discussions [12:12:01.0000] <TabAtkins> AryehGregor: Should I just refer to you as "The Intern", then? [12:12:02.0000] <AryehGregor> No, because I'm a contractor, not an intern. [12:12:03.0000] <AryehGregor> Or I'm a vendor, technically, as far as I understand it. [12:12:04.0000] <TabAtkins> Ah, kk. [12:12:05.0000] <AryehGregor> I just happen to be vending services rather than goods. [12:12:06.0000] <gsnedders> AryehGregor: So not The Knight? [12:12:07.0000] <mpilgrim> "The Editor" sounds like a really bad John Grisham novel [12:12:08.0000] <jgraham> AryehGregor: Surely his title is Sir Berners-Lee [12:12:09.0000] <AryehGregor> gsnedders, if that's a Batman reference, I don't get it. [12:13:00.0000] <AryehGregor> If it's a reference to something else, I also don't get it. [12:13:01.0000] <Ms2ger> Sir Tim, surely [12:13:02.0000] <zcorpan> Sir! [12:13:03.0000] <zcorpan> or maybe Mr. T. [12:13:04.0000] <AryehGregor> jgraham, knowing the British, I bet it's The Right Honorable Sir Timothy or something. [12:13:05.0000] <AryehGregor> I'm pretty sure that titles of nobility are supposed to go with your first name, not your last name. [12:13:06.0000] <jgraham> Sir TimBL has a nice ring to it. If you pronounce TimBL to rhyme with "thimble" [12:14:00.0000] <gsnedders> AryehGregor: He has a knighthood, thus the "Sir". [12:14:01.0000] <AryehGregor> I'm aware. [12:14:02.0000] <AryehGregor> Crazy Brits. [12:14:03.0000] <jgraham> Pretty sure they don't go with your first name [12:14:04.0000] <AryehGregor> Like Queen Elizabeth or Prince Charles? [12:14:05.0000] <jgraham> At least Lord Rees of Ludlow is Lord Rees, not Lord Martin [12:15:00.0000] <gsnedders> Apart from for monarchs, titles go with either surname or full name. [12:15:01.0000] <jgraham> Oh properly royal ones are different [12:15:02.0000] <gsnedders> s/monarchs/royalty/ [12:15:03.0000] <jgraham> They want to hide their German heritage [12:15:04.0000] <AryehGregor> Or they go with the plot of land it's associated with, right? If it is associated with one. [12:15:05.0000] <gsnedders> AryehGregor: The Earl of X [12:15:06.0000] <gsnedders> Earl Y of X [12:15:07.0000] <AryehGregor> I concede that Martin Rees is Baron Rees of Ludlow, according to Wikipedia. [12:15:08.0000] <jgraham> Wikipedia suggests "Sir Timothy John "Tim" Berners-Lee, OM, KBE, FRS, FREng, FRSA" [12:16:00.0000] <AryehGregor> Maybe it was different in the old days, and associating the titles with last names is a newfangled thing? [12:16:01.0000] <jgraham> Oh is he Baron? [12:16:02.0000] <mpilgrim> jeez, and i thought the web platform was crusty and complicated [12:16:03.0000] <jgraham> You would have though I would know after working in the same building for four years [12:17:00.0000] <jgraham> But all I learnt was that he got married in his lunch break [12:17:01.0000] <mpilgrim> did he get knighted while running out for a smoke? [12:18:00.0000] <jgraham> I also have an arguably-better photo than the one on wikipedia [12:20:00.0000] <AryehGregor> Is it freely licensed? [12:20:01.0000] <AryehGregor> Commons now has a user-friendly upload interface: http://commons.wikimedia.org/wiki/Special:UploadWizard [12:20:02.0000] <jgraham> It is CC-BY-NC but I could happily make it any other license [12:21:00.0000] <AryehGregor> Apparently, the user-friendly part involves a comic-book style interface in the form of a giant <img> with all text hardwired in and no alt text. [12:21:01.0000] <AryehGregor> But hey, baby steps, right? [12:24:00.0000] <jgraham> /me gives up at the "create an account" step [12:25:00.0000] <jgraham> I can't read the captcha [12:25:01.0000] <zcorpan> isn't there a button with an image of a wheelchair that you can try? [12:28:00.0000] <jgraham> No, there's a page that says something like "sucks to be you" [12:29:00.0000] <jgraham> Well it says "Unfortunately this may inconvenience users with limited vision or using text-based or speech-based browsers. At the moment we do not have an audio alternative available. Please contact the site administrators for assistance if this is unexpectedly preventing you from making legitimate posts at the Commons:Help desk" [12:30:00.0000] <jgraham> Dunno how it would unexpectedly prevent you from doing anything; it seems quite expected that an inability to see would prevent you reading the image [12:30:01.0000] <AryehGregor> You really can't read the captcha? It seems pretty readable to me. [12:31:00.0000] <AryehGregor> (although yes, it looks like no one has bothered streamlining the signup process) [12:31:01.0000] <AryehGregor> (registration used to be on the same page as login, you could just type your password a second time in an extra field, but that was removed a few years ago :( ) [12:33:00.0000] <jgraham> Well the first time my desired username was already taken [12:33:01.0000] <jgraham> Then the second time I had to enter a captcha again and I must have made a mistake [12:34:00.0000] <jgraham> Then the third time I couldn't read it [12:34:01.0000] <jgraham> Then I gave up [12:34:02.0000] <zewt> heh, recaptcha recently became totally unreadable, i regularly have to refresh them 3-5x [12:34:03.0000] <AryehGregor> Presumably the bots are getting smarter. [12:34:04.0000] <zewt> everyone knew captchas were a losing battle to begin with, anyway [12:35:00.0000] <AryehGregor> jgraham, oh well. The usability project has focused on improving editing usability, but maybe not improving signup usability. [12:35:01.0000] <AryehGregor> There's lots of low-hanging fruit there, it seems. [12:35:02.0000] <AryehGregor> zewt, anyone who runs a small wiki knows that captchas kill an awful lot of the spambots. [12:35:03.0000] <AryehGregor> At least they do in my experience. [12:35:04.0000] <AryehGregor> Although maybe not enough. [12:35:05.0000] <TabAtkins> zewt: CAPTCHAs were a *very clever* hack to get people to work harder on OCR. [12:36:00.0000] <TabAtkins> And it succeeded! [12:36:01.0000] <zcorpan> what do we want people to work on next? [12:36:02.0000] <TabAtkins> I think XKCD answered that. [12:36:03.0000] <zewt> TabAtkins: and in the case of recaptcha, a hack to turn people into involuntary OCR monkeys [12:37:00.0000] <zcorpan> TabAtkins: pointer? [12:37:01.0000] <TabAtkins> http://xkcd.com/810/ [12:37:02.0000] <TabAtkins> zcorpan: Started looking for it immediately. Just took me a bit to find it. ^_^ [12:37:03.0000] <zewt> AryehGregor: they do now, because presumably the robots that spam things like that aren't all that smart, but evidently smarter ones are becoming available [12:37:04.0000] <Ms2ger> zcorpan, 0xdefd67fa [12:38:00.0000] <AryehGregor> Ms2ger, what, you're still on 32-bit? [12:38:01.0000] <Ms2ger> Yes [12:39:00.0000] <AryehGregor> :( [12:39:01.0000] <AryehGregor> /me is too, but not for long [12:39:02.0000] <zcorpan> Your search - 0xdefd67fa - did not match any documents. [12:39:03.0000] <zewt> for most cases there's nothing wrong with 32-bit userland, anyway--very few individual applications need more [12:40:00.0000] <jgraham> It should have matched http://xkcd.com/138/ [12:41:00.0000] <AryehGregor> zcorpan, int main() { printf("%d\n", *0xdefd67fa); } [12:41:01.0000] <TabAtkins> zewt: Chrome uses some special allocator options that specifically vend high addresses preferentially, specifically to help us flush out 64-bit bugs. [12:41:02.0000] <AryehGregor> zewt, the extra address space is useful for ASLR, and the larger registers can be a big speedup for some applications (e.g., crypto). [12:42:00.0000] <AryehGregor> TabAtkins, for production builds or debug? [12:42:01.0000] <TabAtkins> AryehGregor: Not entirely sure. Probably prod, though. [12:42:02.0000] <zewt> sure, it helps--it's just not a big deal [12:42:03.0000] <AryehGregor> No, certainly not a big deal for most applications. [12:42:04.0000] <AryehGregor> It bloats executable size a bit, too. [12:42:05.0000] <zewt> that is, unless you're in something that needs it--I think things like video encoding can be helped a lot, too [12:42:06.0000] <gsnedders> Well, it's a bigger deal on x86 than most arches. [12:43:00.0000] <jgraham> AryehGregor: That is just a side-effect of X86_64 being less sucky that x86 though [12:43:01.0000] <jgraham> *than [12:43:02.0000] <gsnedders> Having far more GPRs is a help, and being able to rely upon everything up to SSE2 being part of the instruction set by definition helps. [12:43:03.0000] <zewt> gsnedders: heh, it's pretty ridiculous the level of hacks in the x86, though, to make the small number of GPRs not matter nearly as much as it used to [12:44:00.0000] <AryehGregor> jgraham, yeah, sure, but it's a fact anyway. [12:44:01.0000] <AryehGregor> We're talking about x86, after all. [12:45:00.0000] <zewt> ("the x86"? not sure what half-edit resulted in that) [12:55:00.0000] <mpilgrim> ok, back to the topic of unruly strings [12:55:01.0000] <mpilgrim> what's the strangest string that is a valid javascript identifier? [12:55:02.0000] <mpilgrim> in ES3 [12:56:00.0000] <zewt> look at some obfuscation contests? heh [12:56:01.0000] <gsnedders> mpilgrim: Depends on what version of Unicode the impl supports. [12:57:00.0000] <mpilgrim> excellent answer [12:57:01.0000] <mpilgrim> zewt: no, looking to test IndexedDB keyPaths, which can contain javascript identifiers separated by periods [12:58:00.0000] <gsnedders> mpilgrim: With ES5 you at least have the guarantee that every character within certain general categories in Unicode 3.0 is supported, though they can also support further characters from later Unicode versions. [12:59:00.0000] <gsnedders> mpilgrim: How about some non-ASCII letter and as many combining characters (Mn/Mc) as possible? [12:59:01.0000] <mpilgrim> love it [13:00:00.0000] <AryehGregor> Z̡ͭ̒͑ͣ̀͘͏̠̟̯̣̠̟̲̬̻̙͓̤̝̤͎̼ͅA̙̠̗̯̪̤̲̻̗͙̦̦̭͆ͨ̔͊̇̀͡͝L̢͍̠̣͈̩̠̯̆̈́ͯ̔ͦ̅̂̇̀̊̏ͦ̂͆ͦ̈́͝G̵̣̣̝͔̖̼̟̤̝͇̰̦͓̱̗̳̃͆͗ͯ͂̎̓̑̄̒̑̏͛́̀͟͞͞ͅO̷̴̧̳̭̻̤͔̔͊̈ͮ̋̄͘!̸̶̣̗͓̺̺̬̝͖̯͎͙͎̪̥͍͇̃̃̒̐ͩ̾̆ͧ́͘̕ [13:00:01.0000] <AryehGregor> Zalgo generator for your convenience: http://www.eeemo.net/ [13:00:02.0000] <mpilgrim> /me wonders if he can even copy/paste that [13:00:03.0000] <gsnedders> Or some non-ASCII letters with U+200C in the middle. [13:01:00.0000] <TabAtkins> Yay zwnj! [13:01:01.0000] <gsnedders> It's a valid identifier character (well, except for the first char)! [13:01:02.0000] <AryehGregor> Nice. [13:02:00.0000] <mpilgrim> "Unexpected token: ILLEGAL" on the zalgo text [13:03:00.0000] <gsnedders> http://es5.github.com/#x7.6 [13:04:00.0000] <AryehGregor> :( [13:06:00.0000] <Hixie> Philip`: https://bugs.webkit.org/show_bug.cgi?id=48291 might be of interest to you [13:15:00.0000] <Hixie> dude that zalgo string keeps making me think my screen has glitched [13:15:01.0000] <AryehGregor> It doesn't display right in my fonts. [13:15:02.0000] <AryehGregor> But Zalgo is pretty awesome, yeah. [14:12:00.0000] <Hixie> zcorpan: was it you who asked for TrackList to expose objects instead of having .getKind() .getLabel() etc? [14:12:01.0000] <Hixie> i can't find wherever i had that discussion [14:12:02.0000] <Hixie> (i want to admit being wrong and fix it) [14:14:00.0000] <clair> Hixie: I noticed you mentioned in the mailing list you were considering a dialogue element - I'm interested in getting into the working group stuff so is there anything I can do to help? (I'm not an implementor or anything, just a developer) [14:15:00.0000] <Hixie> aw man, if you want to help with that in paricular that would be awesome [14:15:01.0000] <zcorpan> Hixie: don't recall [14:15:02.0000] <zcorpan> Hixie: ask foolip [14:15:03.0000] <Hixie> clair: the main thing i need for that is to go through all the current libraries like jquery, etc, and see how they expose inline dialogs [14:15:04.0000] <Hixie> clair: to see what the current set of features that people expect are [14:15:05.0000] <clair> Yeah, modal stuff annoys me so it sounds a good introduction :) [14:16:00.0000] <Hixie> zcorpan: he filed a bug that i haven't responsed to, but i could have sworn i'd discussed this before with someone [14:16:01.0000] <Hixie> maybe nessy? [14:16:02.0000] <Hixie> can't find a bug about it [14:16:03.0000] <clair> And sure, I can do that, is the wiki the best place to put it? [14:16:04.0000] <Hixie> clair: the best place to start would just be to make a wiki page on wiki.whatwg.org and just list all the libraries that support this kind of thing [14:16:05.0000] <eggsby> Hello, can anyone recommend a good lib for working with canvas? [14:17:00.0000] <zewt> canvas is a pretty good library for using canvas [14:17:01.0000] <clair> Hixie: Will work on that, thanks :) [14:18:00.0000] <Hixie> clair: don't hesitate to ask people here for advice :-) [14:18:01.0000] <Hixie> clair: any help would really be truly awesome [14:18:02.0000] <eggsby> use the js api directly? D: [14:19:00.0000] <clair> Cool, I'll lurk around and get a feel for the channel - and will ping you if I come up with anything [14:19:01.0000] <clair> Happy to help :) [14:19:02.0000] <Hixie> :-) [14:20:00.0000] <Hixie> eggsby: i find http://software.hixie.ch/utilities/js/canvas/ helpful for playing with the api [14:21:00.0000] <eggsby> Hixie: but my crutch! :p Guess I should just pull up my sleeves and put my nose to the grindstone [14:21:01.0000] <eggsby> thanks for all your hard work btw Hixie [14:22:00.0000] <zcorpan> eggsby: http://blog.nihilogic.dk/2009/02/html5-canvas-cheat-sheet.html [14:22:01.0000] <Hixie> eggsby: my pleasure [14:22:02.0000] <Hixie> eggsby: depending on what you want to do, the canvas api isn't half bad [14:22:03.0000] <Hixie> eggsby: if you want to do some complex stuff, it makes sense to get a library... but then it depends what you want to do [14:23:00.0000] <zcorpan> eggsby: the 2d canvas api lacks many convenience things so you'll probably find yourself wanting to factor out stuff and thus writing your own canvas library [14:23:01.0000] <eggsby> yea, I wanted to use it for a little 2.5d browser game [14:23:02.0000] <Hixie> eggsby: e.g. there are (i believe) 2d physics libraries, but you wouldn't want to use that if you wanted to write a sprite platformer :-) [14:23:03.0000] <zcorpan> there are probably plenty of them around, but i haven't used any so can't recommend any [14:23:04.0000] <Hixie> yeah me either [14:23:05.0000] <eggsby> but yeah I might just end up rolling my own out of convenience methods [14:24:00.0000] <eggsby> maybe w/ backbone or something... alright well thanks for the suggestions :) [14:25:00.0000] <jgraham> (it's backbone more about MVC for data-driven apps? Not sure how it would help with canvas) [14:25:01.0000] <jgraham> (not that I have used it) [14:26:00.0000] <zcorpan> i wonder if the sheet cheat is outdated [14:26:01.0000] <eggsby> jgraham: backbone just provides a utility belt [14:26:02.0000] <zcorpan> it doesn't have the drawFocusRing and stuff [14:26:03.0000] <eggsby> things like events and models and such [14:27:00.0000] <jgraham> Right, it's not clear to me why moels would be releavnt to canvas drawing [14:27:01.0000] <jgraham> Or relevant to the kinds of things that you would be doing [14:27:02.0000] <jgraham> But I am speaking from a position of pure ignorance [14:28:00.0000] <zcorpan> Hixie: does the spec support updating the inband text tracks mid-stream? [14:29:00.0000] <eggsby> jgraham: yeah it would have been better to say build a game engine w/ backbone, not a canvas lib [14:29:01.0000] <Hixie> zcorpan: i think it supports the in-band text tracks changing, but doesn't let anyone know they did, or something [14:29:02.0000] <Hixie> zcorpan: i forget the exact details [14:31:00.0000] <zcorpan> ok [15:01:00.0000] <zcorpan> Hixie: http://www.jenitennison.com/blog/node/156 [15:17:00.0000] <AryehGregor> Weird, www.gov.il is a website. [15:18:00.0000] <AryehGregor> Which gov.il redirects to. [15:23:00.0000] <AryehGregor> Not as weird as "to." having an A record. [15:35:00.0000] <_bga> is it possible to allow newless creation of dom object in standard? [15:36:00.0000] <TabAtkins> Huh? You make DOM objects without a new already. [15:36:01.0000] <TabAtkins> document.createElement("foo"); [15:36:02.0000] <_bga> no [15:36:03.0000] <_bga> i want {Image()} [15:36:04.0000] <_bga> w/o new [15:36:05.0000] <TabAtkins> ...why? [15:37:00.0000] <_bga> new keyword is bit outdated. [15:37:01.0000] <TabAtkins> ...why? [15:37:02.0000] <_bga> just semantic [15:37:03.0000] <TabAtkins> ...what? [15:37:04.0000] <gsnedders> It completely changes the meaning… [15:38:00.0000] <TabAtkins> (I am actually quite confused here, not being facetious.) [15:38:01.0000] <gsnedders> It's a reference to [[Construct]] and not [[Call]]. [15:38:02.0000] <_bga> new langs allows create object w/o "new" [15:38:03.0000] <_bga> gsnedders i know [15:38:04.0000] <gsnedders> _bga: But they have a difference between classes and functions mostly. [15:38:05.0000] <TabAtkins> New languages arent' javascript, and don't have the mixing of functions and classes and constructors. [15:38:06.0000] <gsnedders> _bga: JS doesn't have classes, so you need some different way to separate out a function call and an object constructor. [15:39:00.0000] <TabAtkins> gsnedders: And even in the Classes proposal that tc39 accepted at the last meeting, you still new them up as normal. (It's just syntax sugar for the existing prototype stuff.) [15:39:01.0000] <_bga> gsnedders imho there nothing differences between create object and cast to class [15:40:00.0000] <zcorpan> as it happens most (or all) dom constructors can be called as functions with the same effect [15:40:01.0000] <gsnedders> TabAtkins: Don't even make me think about how far behind I am on es-discuss. [15:40:02.0000] <_bga> Foo(1, 2) and Foo(bar) [15:41:00.0000] <TabAtkins> Anyway, 'new' does something very specific - it sets "this" to a clone of the prototype. Just calling the function doesn't do that; "this" is set as normal. [15:41:01.0000] <_bga> gsnedders i can propose also Class.prototype = Class as standard :) [15:41:02.0000] <TabAtkins> You can make new-less calls still construct, but you ahve to do it manually. [15:41:03.0000] <_bga> TabAtkins i do it [15:41:04.0000] <_bga> my class sugar [15:42:00.0000] <TabAtkins> That's nice. It's weird, and not idiomatic javascript to do so. Outside of the oddness of some DOM constructors, it's not common for new-less constructors to work. [15:43:00.0000] <jgraham> TabAtkins: Well and some of the stdlib :) [15:43:01.0000] <TabAtkins> Yeah, some of it. [15:44:00.0000] <_bga> ok TabAtkins. idea to remove 'new' keyword is not still popular [15:44:01.0000] <jgraham> It's weird in that the syntax doesn't really support it but normal in that it happens all over the place in typical js [15:45:00.0000] <TabAtkins> It's not that it's unpopular. It's that there's no *reason* for it. "new" has a purpose, and omitting it means the dev has to do more work. It also makes the code less clear, imo, because you can no longer tell apart object construction from function calls. [15:46:00.0000] <_bga> TabAtkins i can differ function and Class [15:46:01.0000] <_bga> first letter [15:46:02.0000] <_bga> lower and upper cased [15:46:03.0000] <jgraham> TabAtkins: I'm not sure I agree with your second point [15:47:00.0000] <zewt> ... i'd say that while it works great in Python, trying to turn Javascript into Python is not going to work. heh [15:47:01.0000] <jgraham> a = func_call() can set a to a new object if func_call returns it [15:48:00.0000] <_bga> jgraham imho 'new' keyword is just semanic [15:48:01.0000] <_bga> in js - not [15:48:02.0000] <_bga> ok [15:49:00.0000] <_bga> not if you abstract from some lang [15:49:01.0000] <TabAtkins> It's not semantic. There is a functional difference. I explained it. Without "new", the dev has to do additional work in their function to clone the prototype themselves. [15:49:02.0000] <jgraham> _bga: As usual when people start using the word "semantic" I have no idea what you mean [15:49:03.0000] <_bga> TabAtkins in js. yes [15:50:00.0000] <TabAtkins> ...yes, in js. Because that's how "this" works. If you're programming in a different language with different semantics for "this", or some other concept altogether (like real classes with dedicated constructor functions), then the situation is obviously different. [15:53:00.0000] <zewt> (fwiw, as far as syntax sugar goes, being able to omit "new" is about at the bottom of what I'd bother spending time worrying about) [16:05:00.0000] <AryehGregor> "Personally, i refer and work from the official specification as it stands, w3c, because i know that it is the spec which will be implemented and, while it is still in flux, it is the one i can rely on the most to be the closest to what will eventually become standard in the years to come." [16:05:01.0000] <AryehGregor> lol? [16:05:02.0000] <AryehGregor> orly? [16:06:00.0000] <TabAtkins> It's funny when clueless people try to work up a righteous indignation. [16:07:00.0000] <jgraham> It's funny when non-implementors make gross assumptions about the needs of implementors [16:08:00.0000] <jgraham> Well I say "funny" [16:08:01.0000] <jgraham> What I actually mean is "reponsible for lots of problems" [16:09:00.0000] <jgraham> Yes, /TR/. I'm looking at you [16:17:00.0000] <Hixie> anyone know where ms2ger is these days? [16:17:01.0000] <Hixie> i don't remember seeing him recently [16:18:00.0000] <TabAtkins> He was around earlier today. [16:20:00.0000] <Hixie> k [16:21:00.0000] <Hixie> ms2ger, if you read this later, see http://www.w3.org/Bugs/Public/show_bug.cgi?id=11191 [16:41:00.0000] <jgraham> /me is increasingly convinced that createContextualFragment was a better design than innerHTML but a worse API [16:41:01.0000] <TabAtkins> The worse API being "the DOM"? [16:42:00.0000] <Hixie> jgraham: the right design imho was E4X without comments [16:42:01.0000] <TabAtkins> Yus. [16:42:02.0000] <Hixie> but not enough other people seem to agree :-( [16:43:00.0000] <Hixie> createContextualFragment() has the same major flaw as innerHTML (no compile-time checking) [16:43:01.0000] <paul_irish> XMLSerializer.serializeToString() in gecko predated elem.innerHTML in trident, right? [16:44:00.0000] <Hixie> didn't innerHTML in trident predate gecko as a whole? [16:44:01.0000] <paul_irish> more generally i had a though that innerHTML was the first thing to serialize DOM into HTML but the more i think about it, i think it wasnt first [16:44:02.0000] <Hixie> i thought innerHTML was a netscape 4.x thing from the mid 90s [16:44:03.0000] <Hixie> maybe even 3.x [16:45:00.0000] <smaug____> innerHTML is IEism [16:45:01.0000] <Hixie> ah [16:45:02.0000] <paul_irish> hm.. well i can tell you that innerHTML was ie7, so sept 97... gecko/netscape/moz didnt have it until 99 [16:45:03.0000] <paul_irish> ie4* [16:45:04.0000] <Hixie> gecko didn't exist until like 98/99 [16:45:05.0000] <paul_irish> a [16:45:06.0000] <paul_irish> hah [16:47:00.0000] <paul_irish> looks like XMLSerializer and XMLHttpRequest landed simultaneously in gecko. interesting. [16:50:00.0000] <paul_irish> Hixie: whats the compile-time checking flaw about? [16:51:00.0000] <Hixie> code like this shouldn't compile: foo.innerHTML = '<p><span title="x">bla</b>'; [16:51:01.0000] <TabAtkins> Yes. [16:51:02.0000] <Hixie> it's a syntax error, so it can trivially be caught at compile time [16:52:00.0000] <Hixie> so it should be caught at compile time [16:52:01.0000] <Hixie> mind you, for the same reason i'm a firm believe in strong typing, which js doesn't have either [16:52:02.0000] <Hixie> believer, even [16:53:00.0000] <paul_irish> so if it had compile time checking it'd throw an exception indicating the input isn't good enough? [16:53:01.0000] <Hixie> it just wouldn't compile [16:53:02.0000] <Hixie> same as function x() { foo(} ); [16:54:00.0000] <paul_irish> k [16:54:01.0000] <Hixie> e4x works like that [16:54:02.0000] <Hixie> var foo = <x></x>; [16:55:00.0000] <Hixie> var foo = <x></y>; // this line makes the script not compile [16:55:01.0000] <_bga> Hixie some new translangs supports embedded xml [16:55:02.0000] <Hixie> that's what e4x is, yeah [16:55:03.0000] <Hixie> gecko has (had?) support for it [16:58:00.0000] <smaug____> has 2011-06-11 [17:00:00.0000] <_bga> Hixie for example https://github.com/marcuswestin/fun [18:20:00.0000] <yuhong> FYI on InnerHTML: http://www.ericvasilik.com/2006/07/code-karma.html [18:21:00.0000] <erlehmann> ooold [18:23:00.0000] <yuhong> erlehmann: Yep, the reason I mention it was today there was a discussion of where InnerHTML comes from. [18:26:00.0000] <yuhong> Now IMO cancelling Mariner (later MozClassic) was a mistake, but that was another mess altogether. [18:47:00.0000] <Dashiva> /me reads semtech bof notes [18:51:00.0000] <Dashiva> foolip: Thanks for the recommended reading link :) [18:54:00.0000] <Dashiva> So has anyone normally in favor of DE explained why DE is suddenly bad? [19:04:00.0000] <gsnedders> bga_: http://bga.github.com/list-of-ecmascript-engines/ should probably be cleaer that Carakan is totally different to everything before it, and that it implements the ES3-subset of ES5 (see things where behaviour changed from 3 to 5) [19:05:00.0000] <bga_> hm [19:06:00.0000] <gsnedders> bga_: I'm not entirely sure how different the earlier engines are [19:07:00.0000] <bga_> gsnedders i want to describe only last version [19:07:01.0000] <bga_> else it will be hell [19:07:02.0000] <bga_> 5 monkeys [19:07:03.0000] <bga_> 4 form opera [19:07:04.0000] <bga_> etc [19:07:05.0000] <bga_> *from [19:07:06.0000] <gsnedders> bga_: SpiderMonkey is a single engine, the other monkies are just part of it [19:09:00.0000] <bga_> ah. i have splitted jscript and Chakra [19:12:00.0000] <bga_> ok gsnedders [19:12:01.0000] <bga_> i will split [19:12:02.0000] <bga_> Futhark/Linear B/Linear A as es3 w/o jit [19:13:00.0000] <bga_> and Carakan as es3 es5? w/ jit [19:13:01.0000] <gsnedders> bga_: Also, Futhark and Carakan existed/exist alongside each other even after Carakan shipped [19:13:02.0000] <gsnedders> bga_: I'd say Carakan is ES5, though it doesn't support the object stuff and strict mode. Futhark supported some ES4 stuff too, but was mostly ES3 [19:14:00.0000] <bga_> es4? [19:14:01.0000] <bga_> do you mean "const" ? [19:14:02.0000] <gsnedders> /./x, /./y, can't remember what else. [19:14:03.0000] <bga_> nice [19:14:04.0000] <gsnedders> const support predates it being in ES4 [19:15:00.0000] <gsnedders> bga_: [a,b] = [1,2] [19:15:01.0000] <bga_> gsnedders btw in opera const == var [19:15:02.0000] <bga_> iirc [19:15:03.0000] <gsnedders> bga_: yeah [19:17:00.0000] <bga_> omg its work %) [19:18:00.0000] <bga_> gsnedders what parts of es5 in Carakan? [19:18:01.0000] <bga_> only getters setters? [19:18:02.0000] <gsnedders> bga_: Everything except the object methods, function.prototype.bind, and strict mode [19:19:00.0000] <gsnedders> bga_: So all the array stuff, all the new syntax (which IIRC is just the getter/setters), all the behavioural changes from ES3->ES5 (/./ creating a new object each time, etc.) [19:20:00.0000] <gsnedders> bga_: JSON, property access on strings, string.prototypr.trim, date.now [19:20:01.0000] <gsnedders> bga_: Dunno what else is new in ES5 off-hand [19:20:02.0000] <bga_> thanks [19:21:00.0000] <gsnedders> bga_: The exclusive list is simpler :P [19:21:01.0000] <gsnedders> bga_: (will be supported in a future version, etc.) [19:21:02.0000] <bga_> btw in Futhark /./ === /./ false [19:22:00.0000] <gsnedders> bga_: They're two different literals. Try function f() { return /./; }; print(f() === f()); [19:23:00.0000] <bga_> heh [19:23:01.0000] <bga_> as in old v8 [19:23:02.0000] <bga_> => issue with lastIndex too [19:23:03.0000] <gsnedders> bga_: Well, old everything. It was ES3 behaviour and everything followed it. [19:24:00.0000] <jamesr> one of the few (only?) cases where es5 directly contradicts es3 outside of strict mode [19:24:01.0000] <gsnedders> Oh, heh, jwalden's blog post claims on SpiderMonkey and V8 support. Futhark certainly did too… [19:25:00.0000] <gsnedders> jamesr: There's a whole appendix of the spec listing the changes. [19:25:01.0000] <jwalden> jamesr: nah, there are others (null/undefined as this to builtin methods, say) [19:26:00.0000] <jwalden> which incidentally I'm a bit surprised broke seemingly nobody but the gobbledygookers [19:26:01.0000] <jamesr> who are the gobbledygookers? [19:27:00.0000] <jwalden> jamesr: http://whereswalden.com/2011/02/03/working-on-the-js-engine-episode-iv/ [19:30:00.0000] <gsnedders> /me is still glad GWT's output doesn't look like that [19:34:00.0000] <bga_> gsnedders this doesn't work :( var a = {get f: #{ -> 1 }}; _log(a.f); [19:35:00.0000] <gsnedders> bga_: um, that's not ES5. [19:49:00.0000] <bga_> gsnedders i hope opera will support {debugger} [20:09:00.0000] <bga_> gsnedders fixed. thanks again [20:34:00.0000] <fantasai> Hixie: I've got some comments on ruby, but I have to go catch a plane like right now. :) Give me like a day? [20:35:00.0000] <fantasai> /me is flying Tokyo -> NYC: it will take awhile. [04:12:00.0000] <[tm]> hsivonen: about redeploying the W3C HTML5 validator, yeah, will do [04:12:01.0000] <[tm]> but maybe have to wait til I get back home [04:13:00.0000] <[tm]> I'm in CHina for a few more days, and my connectivity here is a little unpredictable [04:39:00.0000] <karlcow> jumping above the firewall? getting your feet hot [10:14:00.0000] <danbri_> /me finds foolip's http://blog.foolip.org/2009/08/23/microformats-vs-rdfa-vs-microdata/ almost 2 years too late :/ [11:43:00.0000] <danbri_> /me finds foolip's http://blog.foolip.org/2009/08/23/microformats-vs-rdfa-vs-microdata/ almost 2 years too late :/ [11:43:01.0000] <danbri_> oops doubletyped that [11:43:02.0000] <danbri_> ignore me :) [11:44:00.0000] <Ms2ger> That's what we've already been doing, so, no problem :) [13:15:00.0000] <Ms2ger> > Nobody else follows process, why should we? [13:16:00.0000] <Ms2ger> Because we're the good guys, I guess 2011-06-12 [20:39:00.0000] <linclark> where does one go to report errors in the HTML5 spec? [20:40:00.0000] <linclark> the W3C editors draft has the following link, but it doesn't exist [20:40:01.0000] <linclark> http://www.w3.org/TR/html5/infrastructure.html#boolean-attribute [20:40:02.0000] <linclark> first sentence in 5.2.2 Items [20:56:00.0000] <kbrosnan> linclark: you can report it to the mailing list [20:56:01.0000] <linclark> kbrosnan: ok, thanks! [22:25:00.0000] <Hixie> linclark: if you use the whatwg.org/html copy you can just use the box at the bottom right of the screen [04:15:00.0000] <Ms2ger> NASA joins the W3C? [04:15:01.0000] <Ms2ger> /me gives up on space travel [10:06:00.0000] <asmodai> Funny, even Eve seems to have migrated to a webkit derived browser in-game: [10:06:01.0000] <asmodai> ozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.27 Safari/532.0 EVE-IGB [12:23:00.0000] <AryehGregor> How can I disable "backspace navigates browser backward" in Opera? [12:24:00.0000] <AryehGregor> /me thinks he figured it out [12:25:00.0000] <bga_> AryehGregor in options -> advanced -> keyboard [12:26:00.0000] <AryehGregor> Yeah, got it. Thanks. [14:12:00.0000] <smaug____> Hixie: ping 2011-06-13 [19:19:00.0000] <boblet> In links.html#other-link-types the spec mentions extensions to rel values can be added to the microformats.org wiki, inc. synonyms and status. Linked microformats.org table lacks synonyms and status columns in tables, although status is inferable [19:27:00.0000] <boblet> how does http://lists.w3.org/Archives/Public/public-html/2011Feb/att-0481/issue-118-decision.html affect links.html#link-types and links.html#other-link-types ? [19:28:00.0000] <boblet> aah, “Check-in comment: Drop support for rel=up, rel=last, rel=index, rel=first, and [19:28:01.0000] <boblet> any related synonyms.” somewhat less extensive than issue 118’s text [19:49:00.0000] <boblet> hsivonen: are you planning to add support for the rel values mentioned on microformats.org wiki to validator.nu? e.g. edituri, canonical (POSH table), and index, start (other specs table) [19:50:00.0000] <boblet> hsivonen: alternatively would it be possible for validator-unknown rel values to be flagged as warnings rather than errors, since they may be valid? [23:34:00.0000] <hsivonen> http://www.jenitennison.com/blog/node/157 [00:25:00.0000] <boblet> hsivonen: yt? [01:43:00.0000] <hsivonen> boblet: here now [01:49:00.0000] <boblet> hsivonen: I left some questions in chat about rel values and validator.nu about 6 hours ago, finding link now… [01:49:01.0000] <boblet> http://krijnhoetmer.nl/irc-logs/whatwg/20110613 [01:51:00.0000] <hsivonen> boblet: http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-June/032014.html [01:52:00.0000] <hsivonen> boblet: validator.nu considers the keywords that meet the registration requirements but aren't dropped HTML 4 link types as valid [01:53:00.0000] <hsivonen> boblet: that is, stuff from the HTML5 link type extensions table and non-HTML 4 stuff from the Formats table [01:53:01.0000] <hsivonen> boblet: still trying to work out what the right thing to do is for the HTML 4 keywords that got dropped [01:54:00.0000] <hsivonen> boblet: I suppose the keywords dropped by http://lists.w3.org/Archives/Public/public-html/2011Feb/att-0481/issue-118-decision.html should be considered unregistrable [02:04:00.0000] <hsivonen> oh the WG Decision explicitly allows registration of the dropped types [02:04:01.0000] <hsivonen> how is that useful? [02:17:00.0000] <hsivonen> Hixie: I'm not a big fan of "If a keyword is registered in the "proposed" state for a period of a month or more without being used or specified, then it may be removed from the registry." [02:18:00.0000] <hsivonen> I think it makes more sense to take specless proposals out immediately [02:18:01.0000] <hsivonen> (and allow the to be put back when someone bothers to come up with a spec liink) [02:18:02.0000] <hsivonen> Hixie: how would one discover that a keyword is not being used? [02:32:00.0000] <hsivonen> looks like the geographic location meta keywords are a standardization failure [02:33:00.0000] <hsivonen> at least 3 different ways to say the same thing [02:54:00.0000] <boblet> hsivonen: sorry for being afk and thanks for your feedback [03:07:00.0000] <hsivonen> boblet: would you like to register a keyword that was in HTML 4 but isn't in HTML5? [03:50:00.0000] <boblet> hsivonen: it’s more there are a bunch in WordPress or that we’ve accumulated in HTML5Doctor, and in investigating the situation it seems strange that there’s a process for adding these, but even if added they can be flagged as errors (vs warnings) by a validator [03:51:00.0000] <boblet> hsivonen: aware that validation is just a tool, most of them aren’t required etc. I’ll think over what you’ve written/linked to and give some feedback in a bit [05:55:00.0000] <smaug____> the HTMLElement attribute <-> content attribute mapping is just strange [05:55:01.0000] <jgraham> hsivonen: I think the interesting thing from http://www.w3.org/2010/02/rdfa/meetings/2011-06-09 is that all their discussion starts "lets assume a person that wants to use RDFa…" [05:55:02.0000] <smaug____> but nothing new in HTML spec [05:56:00.0000] <jgraham> That suggests they won't be very successful in reexamining earlier ideas about simplification because their mental model is "lets assume that most users are just like me" [05:57:00.0000] <Dashiva> Anything in particular, smaug____, or just in general? [05:59:00.0000] <smaug____> in general. [06:00:00.0000] <smaug____> Setting element.contextMenu may magically set element's content attribute [06:00:01.0000] <matjas> What does “ISO 10646 characters U+00A0 and higher” mean exactly? Characters in the range \u000 – \uFFFF, or is that too limited? [06:01:00.0000] <smaug____> yet if the menu element is removed from DOM, the content attribute still has its ID as value [06:01:01.0000] <matjas> (Read that in the CSS spec — just asking here first.) [06:02:00.0000] <matjas> \u0000* [06:02:01.0000] <Dashiva> \u00A0 surely [06:03:00.0000] <smaug____> The spec really needs more reviewing [06:03:01.0000] <matjas> Dashiva: yeah, sorry :) [06:04:00.0000] <matjas> but what would you guys consider the upper limit if that’s all the spec says? [06:05:00.0000] <Dashiva> I can't say for sure without reading it, but I would parse "ISO 10646 characters" to include code points above \uFFFF too [06:10:00.0000] <matjas> Dashiva: so up to \u10FFFF? [06:11:00.0000] <matjas> Dashiva: If you feel like reading: http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier [06:15:00.0000] <Dashiva> Yeah, I would say this confirms it: "the backslash is followed by at most six hexadecimal digits (0..9A..F), which stand for the ISO 10646 ([ISO10646]) character with that number" [06:15:01.0000] <Dashiva> "If the number is outside the range allowed by Unicode (e.g., "\110000" is above the maximum 10FFFF allowed in current Unicode)" [06:16:00.0000] <matjas> Dashiva: Thanks! I should’ve kept reading, I guess. [06:37:00.0000] <hsivonen> jgraham: yeah. assuming that Web authors want to use RDFa (or Microdata for that matter) is FAIL [06:37:01.0000] <hsivonen> Web authors don't care about your metadata framework [06:38:00.0000] <hsivonen> they care about their client's marketing dept requiring Facebook Like buttons [06:38:01.0000] <hsivonen> or doing SEO [06:42:00.0000] <hsivonen> /me finds out about w3schools Online Certification Program [06:42:01.0000] <hsivonen> $95 per certificate [06:42:02.0000] <hsivonen> that's so sad [06:59:00.0000] <boblet> hsivonen: what’s sad is w3schools showing in the top of results when their info is often so crap (ref http://w3fools.com/ ), and the perception that they’re good or even _official_ among new coders b/c of the w3 [07:00:00.0000] <hsivonen> boblet: yeah. I wonder how many bug reporting systems could use a "Please read http://w3fools.com/ before filing bugs." message [07:02:00.0000] <boblet> har! to be fair, they’ve fixed some of those, but still it’s pretty atrocious. The guy is def. in it solely for the ad revenue [07:02:01.0000] <hsivonen> I wonder when we are going to see the first meta or rel keyword registration that puts a w3schools URL in the spec column [07:02:02.0000] <hsivonen> boblet: "the guy"? I thought it was a whole family [07:02:03.0000] <boblet> sad when things like MDC are better and lower in the result list [07:02:04.0000] <Dashiva> So I'm thinking... [07:03:00.0000] <boblet> ohrly? heh, family enterprise eh [07:03:01.0000] <Dashiva> Since everyone in linked data hates DE lately, could we just get rid of DE in microdata and go back to centralized vocabularies only? [07:03:02.0000] <boblet> yay capitalism [07:04:00.0000] <boblet> Dashiva: kinda defeats the purpose of adding something to HTML5 to keep pro-extensible ppl happy [07:04:01.0000] <boblet> (not that it did, of course) [07:05:00.0000] <Dashiva> But they've made it clear they don't want it [07:05:01.0000] <hsivonen> Dashiva: what about DE in RDF? [07:06:00.0000] <boblet> for ppl without a religion microdata is pretty sweet tho [07:07:00.0000] <cvn> so it's official, i left the w3c html wg, not that i think i will be missed much as i hardly ever contributed anything anyway :) [07:07:01.0000] <cvn> but i'm not going to lie, i got rather pissed off after the thread re w3c/whatwg politics [07:08:00.0000] <Dashiva> hsivonen: Not like anyone ever uses it in the real world, they all use the same handful of vocabularies [07:08:01.0000] <cvn> i mean what is this crap re not being able to disguss this nonsense publicly, what is so "sensitive" about it [07:10:00.0000] <hsivonen> cvn: pissed off at whom? [07:11:00.0000] <cvn> hsivonen: nobody in particular, just this action of "oh there's politics, let's keep this off-list" [07:11:01.0000] <cvn> s/action/concept/ [07:11:02.0000] <cvn> if anything, people should discussing this nonsense out in the open [07:12:00.0000] <cvn> atm from my perspective html is getting "forked" [07:12:01.0000] <Dashiva> Oddly enough, the people talking nonsense don't like doing it in public [07:12:02.0000] <cvn> s/forked/borked/ - either would work [07:12:03.0000] <smaug____> Ms2ger: volkmar: does something in the spec specify what "first img element descendant of the element" mean? [07:12:04.0000] <cvn> Dashiva: yeah i guess... figures :) [07:13:00.0000] <hsivonen> cvn: who do you see as doing the forking? [07:13:01.0000] <smaug____> Ms2ger: volkmar: I assume document order, but can't be sure... [07:13:02.0000] <cvn> hsivonen: that's a very good question, i actually don't know [07:13:03.0000] <cvn> who has "claim" to html - whatwg or w3c? [07:14:00.0000] <cvn> imho it's an internet standard and belongs to the global general public, not to anyone [07:14:01.0000] <hsivonen> cvn: I think the power game is detrimental [07:15:00.0000] <cvn> exactly [07:15:01.0000] <cvn> i mean c'mon, can't we just kiss and make up, seriously [07:15:02.0000] <Dashiva> HTML5 happened because reality didn't listen to the claims of ownership [07:15:03.0000] <hsivonen> cvn: as I see it, part of the revert requests and issues are attempts to demonstrate some kind of W3C process power [07:15:04.0000] <hsivonen> (how dare anyone write anything about accessibility without consulting the WAI?) [07:15:05.0000] <cvn> this is where company / individual agenda starts to negatively affect the state of human being :) [07:16:00.0000] <cvn> the w3c is still the same as always - it's a bureaucracy [07:16:01.0000] <hsivonen> cvn: and then Hixie refuses to apply even trivial changes to the WHATWG copy--presumably in order to avoid giving in to the power demonstration of steve et al. and to avoid going on a slippery slope to more and more compromise [07:16:02.0000] <Dashiva> hsivonen: wwic? :) [07:17:00.0000] <volkmar> smaug____: i don't know of any definition of this on top of my head but i would assume tree order [07:17:01.0000] <cvn> cvn: yeah this is where all logic has left the building :) [07:17:02.0000] <Dashiva> TabAtkins_, re: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12849 someone was asking about that same thing because webkit was displaying thousands separators with type=number [07:18:00.0000] <cvn> aargh mant to type hsivonen, not talk to myself lol [07:18:01.0000] <cvn> freudian slip [07:18:02.0000] <hsivonen> Dashiva: I think there might be a certain amount of WWIC going on in the WAI relationship, yeah [07:19:00.0000] <smaug____> volkmar: just assuming something when reading a spec feels wrong :) [07:19:01.0000] <smaug____> but ok, I'll file a bug [07:19:02.0000] <volkmar> smaug____: plz, CC me :) [07:19:03.0000] <cvn> ok i'm off, just came in here to gripe apparently :) [07:25:00.0000] <Dashiva> cvn: I imagine your stress levels will be going down after leaving the group [07:28:00.0000] <zcorpan> hsivonen: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12935 - "If we only did what Hixie said, we'd lose implicit closing of rb and rp in the [07:28:01.0000] <zcorpan> simple Ruby case." - not AFAICT, since "generate implied end tags" closes rb and rp [07:29:00.0000] <zcorpan> hsivonen: i'm not convinced there's a need to aggressively pop stuff inside <ruby> [07:30:00.0000] <Dashiva> /me laughs at w3c being compared to the UN as if it's a good thing [07:30:01.0000] <hsivonen> zcorpan: oh. that's worth saying on the bug [07:32:00.0000] <zcorpan> done [07:46:00.0000] <hsivonen> zcorpan: thanks [07:48:00.0000] <zcorpan> hsivonen: iirc old ie didn't do aggressive popping [07:48:01.0000] <hsivonen> zcorpan: ok [08:19:00.0000] <zcorpan> jgraham: it was a design mistake to put the description last in test(func, desc) [08:20:00.0000] <zcorpan> jgraham: since i want to read the description before reading the test block [08:25:00.0000] <Philip`> Change it to accept both argument orders, by checking the types [08:38:00.0000] <jgraham> zcorpan: The idea is sort of that desc is optional. That might itself be a mistake ofc [08:39:00.0000] <jgraham> Philip`: That way lies badness I think. AT least where I already did things like that I later wished I hadn't [08:40:00.0000] <zcorpan> jgraham: being optional makes sense if there's only one test [08:41:00.0000] <zcorpan> it's not a biggie, it's just that i need to jump back and forth when reviewing a testsuite [09:32:00.0000] <smaug____> Hixie: ping [09:39:00.0000] <smaug____> or anyone. how does one trigger an Action (other than using an access key)? [09:51:00.0000] <Dashiva> smaug____: Depends on the command it's tied to. Click a link, select a menu item, etc. [09:51:01.0000] <smaug____> Dashiva: and where is that defined? [09:52:00.0000] <smaug____> there is also non-normative text that calling element.click() triggers the action, but I couldn't find any normative text [09:55:00.0000] <Dashiva> 3.2.5.1.7 Interactive content covers click activation [09:56:00.0000] <Dashiva> 4.11.5 Commands is also relevant [09:57:00.0000] <smaug____> I couldn't find the definition for triggering a command [09:57:01.0000] <smaug____> 3.2.5.1.7 is clear [09:58:00.0000] <smaug____> but it isn't about commands [10:00:00.0000] <Dashiva> Oh, I see what you mean [10:02:00.0000] <Dashiva> Apart from click() I think it's up to the UA to expose commands [10:04:00.0000] <smaug____> if that is the case, it sure should be said somewhere [10:05:00.0000] <Dashiva> Yeah, a come-from table would be useful instead of just having gotos elsewhere [10:07:00.0000] <smaug____> especially because the gotos end up to /dev/null [10:08:00.0000] <Dashiva> Hm? [10:08:01.0000] <smaug____> I mean, things aren't specified properly [10:08:02.0000] <smaug____> I assume commands part of the spec hasn't been reviewed yet [10:09:00.0000] <Dashiva> The commands part defines commands. Other parts of the spec use commands, those define how they invoke commands. [10:09:01.0000] <smaug____> (I'm just reviewing a patch implementing it and I need to understand what the commands is about) [10:09:02.0000] <Dashiva> E.g. the accesskey section defines and invokes a command [10:09:03.0000] <smaug____> (so far few bugs found in the spec) [10:16:00.0000] <jgraham> smaug____: The reality is that the spec gets well reviewed when people first implement it [10:17:00.0000] <smaug____> jgraham: indeed [10:17:01.0000] <jgraham> It seems that you just won (lost) on this occasion [10:17:02.0000] <smaug____> and in some cases not even when implementing :p [10:17:03.0000] <jgraham> Yeah :( [10:19:00.0000] <smaug____> I haven't actually implemented too much of HTML, but I've reviewed quite a bit code implementing it. And reviewing that code tend to be quite slow since one needs to first review the relevant parts of the spec, file spec bugs, get them fixed and then also review the actual code [10:21:00.0000] <jgraham> I am currently sitting in the same room as people doing that for a different part of the spec, so I sympathise with the situation :) [10:21:01.0000] <smaug____> But I'm a bit worried that only implementors review the spec [10:21:02.0000] <smaug____> we should get web devs to look at it too [10:21:03.0000] <jgraham> Well authors only care about things that are implemented [10:21:04.0000] <jgraham> So there is a problem there [10:22:00.0000] <smaug____> but we might get some silly feature implemented which no one will use [10:22:01.0000] <jgraham> And authors who care about things that aren't yet implemented tend to become implementors rather quickly [10:22:02.0000] <smaug____> :) [10:23:00.0000] <jgraham> smaug____: Yeah, there is some responsibility for implementors to push back on features they think won't be used [10:23:01.0000] <jgraham> Which means that you have to listen to your users and the wider community and so on [10:29:00.0000] <TabAtkins_> Ideally, the "formulate use-cases that actually exist" step of proposing new features involves talking to web authors. [10:29:01.0000] <TabAtkins_> Or being one. [10:34:00.0000] <Dashiva> Well, it's not like we're inventing features out of whole cloth [10:37:00.0000] <Ms2ger> Oh? [10:37:01.0000] <TabAtkins> I don't use half-cloth in my designs, that's for sure. [10:44:00.0000] <jgraham> /me only invents features out of whole goth [10:44:01.0000] <TabAtkins> Too bad gsnedders isn't in the office anymore, then. [10:45:00.0000] <jgraham> We sent him away to replenish his gothness [10:54:00.0000] <TabAtkins> This is great: http://whereswalden.com/2011/02/03/working-on-the-js-engine-episode-iv/ [10:55:00.0000] <Ms2ger> Yeah, Mozilla people usually are :) [11:14:00.0000] <oal> In html5, am I allowed to invent my own html attributes? like <div help="This is..."></div>? [11:14:01.0000] <oal> And use that data from javscript? [11:14:02.0000] <TabAtkins> oal: Yes, but you have to prefix them with "data-". So <div data-help="This is..."></div> [11:15:00.0000] <oal> TabAtkins: aha, clever! Thank you very much :) [11:15:01.0000] <oal> Makes it easier to see what's my attributes vs traditional attributes [11:16:00.0000] <TabAtkins> Exactly. Any data-* attribute is just private script data you're attaching to DOM nodes for convenience, rather than holding in pure javascript. [11:17:00.0000] <oal> :) [11:20:00.0000] <AryehGregor> Also, in newer browsers you have a convenient way to access the data, like div.dataset.help = 'foo' instead of div.setAttribute("data-help", "foo"). [11:22:00.0000] <oal> The future of the web looks bright with all the new html5, css3 and js apis :) [11:45:00.0000] <scor> mpilgrim: http://schema.org/person and http://schema.org/address should be upper case in http://diveintohtml5.org/extensibility.html [12:06:00.0000] <oal> Is it ok to wrap a label around an input like <label><input /></label> or should you use <label for="idOfInput">...</label>? [12:06:01.0000] <TabAtkins> The former is perfectly fine, and is way easier when your markup structure allows it. [12:08:00.0000] <oal> Yup, agreed :) [12:15:00.0000] <AryehGregor> /me likes how this credit card application form doesn't use autocomplete=false on the SSN field [12:15:01.0000] <Ms2ger> Add it with your devtools? :) [12:15:02.0000] <TabAtkins> I've never used autocomplete=false. :/ [12:20:00.0000] <AryehGregor> TabAtkins, you don't write bank websites, I hope. [12:20:01.0000] <TabAtkins> No, but I have written sites that ask for CC info. [12:20:02.0000] <AryehGregor> And you didn't use autocomplete=false? Isn't that kind of thing required for whatever certification you need to accept credit cards online? [12:20:03.0000] <TabAtkins> Presumably not? [12:21:00.0000] <AryehGregor> Or do they just require HTTPS so that you get the little lock icon and your users feel secure and don't blame the site when their credit card info is stolen? [12:21:01.0000] <TabAtkins> Likely that. [12:21:02.0000] <Ms2ger> W3Schools certification, you mean? :) [12:21:03.0000] <TabAtkins> I dunno, I never read any certification requirements. [12:21:04.0000] <TabAtkins> The site as a whole was pretty shitty code in retrospect, but it was very good for me at the time. [12:22:00.0000] <AryehGregor> https://www.pcisecuritystandards.org/ [12:22:01.0000] <AryehGregor> Nice, the official PCI site includes mixed content and gets the little red cross-out thing in Chrome. [12:22:02.0000] <TabAtkins> Interestingly, that site has mixed content warnings. [12:23:00.0000] <zewt> firefox "helpfully" remembers my credit card number all the time, i'm always deleting it. heh [12:24:00.0000] <AryehGregor> https://www.pcisecuritystandards.org/documents/pa-dss_v2.pdf [12:24:01.0000] <AryehGregor> It looks like nothing says you should prevent client-side caching of sensitive data. [12:24:02.0000] <AryehGregor> At least glancing at the ToC. [12:25:00.0000] <zewt> there's also the regional ... either gas or electric company's website, which uses some hidden Flash thing to log in "securely", and the actual login page shows up as HTTP [12:25:01.0000] <AryehGregor> It does require encryption. [12:25:02.0000] <zewt> always nice to batch-train people to ignore HTTPS ... [12:25:03.0000] <hsivonen> AryehGregor: my browser already remembers my paypal password. surely it would be nice for it to remember my credit card number, too [12:26:00.0000] <AryehGregor> My browser doesn't remember my bank password or Google password. [12:26:01.0000] <AryehGregor> At least with passwords, it asks you before remembering them. [12:26:02.0000] <zewt> firefox always remembers the wrong Google password for me; no matter how many times I reenter it, it never offers to update it. heh [12:26:03.0000] <hsivonen> my browser doesn't remember my bank passcodes, because they are different on each login [12:26:04.0000] <zewt> i should just edit the database directly or whatever to convince it to update [12:28:00.0000] <hsivonen> /me could use a way to edit the remembered form data in Firefox [12:28:01.0000] <AryehGregor> This standard actually seems pretty reasonable. [12:28:02.0000] <AryehGregor> hsivonen, sqlite on command line? [12:28:03.0000] <AryehGregor> /me has used that sometimes [12:29:00.0000] <hsivonen> AryehGregor: not really the ideal UI [12:29:01.0000] <TabAtkins> Is it defined somewhere in the spec that DOM trees are by default sorted in document order, so that statements about "select the first X" are unambiguous? [12:29:02.0000] <AryehGregor> Well, not for changing individual rows, no. [12:29:03.0000] <AryehGregor> TabAtkins, I make that explicit in the edit commands spec, but I dunno if it's clear elsewhere. [12:30:00.0000] <AryehGregor> "When a list or set of nodes is assigned to a variable without specifying the order, they must be initially in tree order, if they share a root. (If they don't share a root, the order will be specified.) When the user agent is instructed to run particular steps for each member of a list, it must do so sequentially in the list's order." [12:30:01.0000] <AryehGregor> That more or less covers it, I think. [12:30:02.0000] <AryehGregor> Although really, I don't think any implementers are going to be confused here. [12:30:03.0000] <TabAtkins> Right, but still, best not to leave things undefined when we can define them. [12:31:00.0000] <AryehGregor> Clearly I agree, which is why I defined it. :) [12:33:00.0000] <AryehGregor> Capital One's website also doesn't allow "special characters" in the street address, which includes periods. [12:33:01.0000] <AryehGregor> No "Ave." for me. [12:33:02.0000] <TabAtkins> I usually write it as "Ave" anyway. [12:33:03.0000] <TabAtkins> Unrelated: WUT 11:26 < AryehGregor> https://www.pcisecuritystandards.org/ [12:33:04.0000] <TabAtkins> Shit, wrong one. [12:33:05.0000] <TabAtkins> Unrelated: WUT http://i.imgur.com/lxlJf.gif [12:33:06.0000] <TabAtkins> There we go. [12:34:00.0000] <AryehGregor> Looks totally Photoshopped. [12:35:00.0000] <TabAtkins> I can see the pixels. [12:36:00.0000] <zewt> among my favorites was a site with a phone number entry that I pasted into, which proceeded to paste "(123) 456-" into their "1234567890" field skipping their broken validation, and then it wouldn't let me backspace over the entry (because the intermediate backspaced data failed the validation and cancelled the input) [12:41:00.0000] <AryehGregor> That kind of validation is great. [12:41:01.0000] <AryehGregor> I'm waiting for HTML5 form inputs to catch on. [12:43:00.0000] <zewt> not much hope for that ... "tier" of developers ever using something sane, though [12:44:00.0000] <Ms2ger> OTOH, lazyness might make them use WF2 [12:44:01.0000] <AryehGregor> zewt, they will if it's easier. [12:45:00.0000] <AryehGregor> Ooh, the site also has required security questions. [12:46:00.0000] <AryehGregor> I have to pick three questions to give the answers to, out of five choices. [12:46:01.0000] <AryehGregor> Of the five choices they offer, one makes no sense, I have no idea what the answer is to another, and the other three would be really easy for anyone to find out (or in some cases guess). [12:47:00.0000] <zewt> because security is about having lots of powerpoint slides to show the CEO, even if it's worse than nothing and cripplingly inconvenient for users [12:47:01.0000] <AryehGregor> Yep. [12:47:02.0000] <AryehGregor> Which is why mandatory security standards are often good, because you have some slight hope that the people who write them aren't complete idiots. [12:47:03.0000] <AryehGregor> (I mean, mandatory for things like bank sites) [12:49:00.0000] <AryehGregor> My approach is to fill in the answers with "cat /dev/urandom | tr -cd ' -~' | head -c 20; echo" and record the answers in a file on my home directory. [12:51:00.0000] <AryehGregor> Please enter a valid answer using only letters, numbers spaces & special characters -'.,&@:?!()$#/\ . [12:51:01.0000] <AryehGregor> Because that makes it much more secure. Sigh. [12:54:00.0000] <Hixie> /me peeks in [12:55:00.0000] <Ms2ger> Evening [13:01:00.0000] <scor> Hixie: I summarized the microdata multitype conversation we had last week, maybe the examples I use there will make more sense? http://openspring.net/blog/2011/06/10/microdata-multiple-vocabularies [13:03:00.0000] <scor> of course any feedback or correction on what I said in this post are more than welcome! [13:09:00.0000] <jgraham> Someone should fix the planet.mozilla.org software to close out all the elements from each blog post before starting the next one [13:09:01.0000] <Ms2ger> That's to annoy people who use Opera [13:10:00.0000] <AryehGregor> What's the issue, a parser difference? [13:11:00.0000] <jgraham> /me was reding it in Firefox s it happens :) [13:11:01.0000] <jgraham> add "a" liberally [13:12:00.0000] <jgraham> In Opera it works fine... [13:14:00.0000] <jgraham> Hmm, it also work in Chrome [13:14:01.0000] <jgraham> That is quite strange [13:23:00.0000] <TabAtkins> AryehGregor: The correct answer to security questions is always another password. [13:23:01.0000] <AryehGregor> TabAtkins, yes. [13:24:00.0000] <jgraham> Oh. It is being parsed as text/html in Gecko and application/xhtml+xml elsewhere [13:26:00.0000] <AryehGregor> Weird, why? [13:27:00.0000] <Hixie> scor: i don't really understand what problem any of the annotations are solving for you, so it's hard for me to make a recommendation [13:27:01.0000] <Hixie> scor: i mean, why doesn't omitting all microdata work equally well? [13:28:00.0000] <Hixie> oops, got the wrong annotation on the last checkin [13:28:01.0000] <Hixie> crap [13:28:02.0000] <scor> Hixie: omitting all md means no structured data [13:28:03.0000] <Hixie> scor: right [13:28:04.0000] <Hixie> scor: why isn't that good enough for you? [13:28:05.0000] <Hixie> scor: what are you using this data for? [13:29:00.0000] <scor> Hixie: I'm not using this data, I'm only publishing it, hoping others will use it [13:29:01.0000] <scor> Hixie: I'm only a publisher, not a consumer [13:30:00.0000] <scor> but there can be many different consumers which might not agree on a given schema/vocab (e.g. currently google and facebook) [13:30:01.0000] <Hixie> ok well if you're just hoping someone will use it, odds are very good that nobody is using it [13:30:02.0000] <scor> publishers should have the right to use different vocab [13:30:03.0000] <Hixie> so i would save yourself a lot of time and not bother [13:30:04.0000] <scor> Hixie: well, that's just because you don't believe in structured data :) [13:31:00.0000] <Hixie> i don't _believe_ in anything [13:31:01.0000] <Hixie> structured data is not special in this :-) [13:31:02.0000] <scor> Hixie: but I think I understand where your confusion was coming from, you assumed I was buliding some app on top of that data [13:31:03.0000] <scor> I see [13:31:04.0000] <scor> but the publisher and the consumers are decoupled [13:31:05.0000] <Hixie> microdata is intended for concrete uses, yes, not hypothetical hopeful uses :-) [13:33:00.0000] <AryehGregor> scor, generally HTML5 and related things are developed on the basis of concrete use-cases. That means things that people directly and tangibly benefit from. Without use-cases, we can't evaluate whether a proposed feature or change is worth the effort to implement it. [13:34:00.0000] <AryehGregor> If you're just putting up the data and don't have reason to believe anyone will use it, then there are no grounds for us to judge the usefulness of your proposed changes relative to other changes we could make for the same effort. [13:34:01.0000] <scor> AryehGregor, Hixie I see your points re concrete use cases [13:34:02.0000] <AryehGregor> Or really, there's no grounds for us to believe that your proposed changes are useful at all. [13:36:00.0000] <scor> zcorpan: seen this? summarizes the situation re the snippet you gave me the other day: http://openspring.net/blog/2011/06/10/microdata-multiple-vocabularies [13:52:00.0000] <zcorpan> scor: hadn't seen it [14:59:00.0000] <jgraham> /me hadn't seen http://www.w3.org/2010/12/community/summary before [15:01:00.0000] <karlcow> jgraham: seeAlso http://www.w3.org/QA/2011/04/coming_soon_w3c_community_grou.html [15:01:01.0000] <jgraham> /me wonders what would have happened if in 2004 someone had proposed a community group to work on HTML... [15:02:00.0000] <zcorpan> what happens if we propose a community group to work on HTML today? [15:02:01.0000] <jgraham> Because WHATWG sounds an awful lot like a "community group" [15:02:02.0000] <karlcow> it's an evolution. [15:03:00.0000] <karlcow> it helps answer a need that w3c was not able to answer in 2004. [15:07:00.0000] <jgraham> karlcow: I expect the W3C would not want a community group competing with a ordinary WG [15:08:00.0000] <jgraham> It doesn't say anywhere that they will accept all submissions [15:09:00.0000] <karlcow> jgraham: I believe in quite the opposite. The community group, for me, is here to leave a possibility of exploring a topic. [15:09:01.0000] <karlcow> Member submissions have been traditionally been very open, but reserved to members. [15:10:00.0000] <karlcow> Community group is more open, so it is quite cool to see that development. [15:10:01.0000] <karlcow> It gives an interesting avenue for discussing things, hacking, etc. It's quite cool. [15:10:02.0000] <jgraham> Oh, I'm not saying it is bad [15:11:00.0000] <zcorpan> i wonder if the Business Group thing is going to be used [15:11:01.0000] <karlcow> I prefer to look at it as a tool and trying it and we will see how far the rest of W3C communities react to it. [15:11:02.0000] <karlcow> learning from each other [15:12:00.0000] <jgraham> But until it happens, I will remain skeptical that communiy groups will be allowed to compete with W3C blue riband technologies [15:12:01.0000] <TabAtkins> s/riband/ribbon/? [15:12:02.0000] <karlcow> zcorpan: business group, this one is less clear to me. [15:12:03.0000] <karlcow> there was 3 competing solutions for SVG ancestors [15:12:04.0000] <jgraham> TabAtkins: No, I think I was right [15:13:00.0000] <TabAtkins> riband Noun: A ribbon [15:13:01.0000] <jgraham> Although wikipedia says that people use "blue ribbon" now [15:13:02.0000] <TabAtkins> Hm, never heard that word before. [15:13:03.0000] <jgraham> But then people now say things like "here here" [15:13:04.0000] <jgraham> Which is just bizarre [15:13:05.0000] <TabAtkins> All the uses of riband I see from a quick search are uk. [15:14:00.0000] <TabAtkins> Idioms and homophones don't mix well, ever. [15:14:01.0000] <jgraham> http://en.wikipedia.org/wiki/Blue_Riband_%28disambiguation%29 [15:14:02.0000] <karlcow> http://www.w3.org/Submission/1998/08/ [15:14:03.0000] <karlcow> http://www.w3.org/Submission/1998/06/ [15:14:04.0000] <karlcow> http://www.w3.org/TR/1998/NOTE-HGML-19980619 [15:15:00.0000] <jgraham> karlcow: There is a difference between an ancestor to a successful technology and a competitor [15:16:00.0000] <karlcow> /me doesn't understand how it relates to community groups [15:16:01.0000] <jgraham> TabAtkins: But they use it to mean "listen to this opinion". It is hard for me to understand how it is possible to get confused [15:16:02.0000] <karlcow> ooh diving into the archives, I find again Privacy and Profiling on the Web http://www.w3.org/TR/NOTE-Web-privacy.html [15:17:00.0000] <TabAtkins> jgraham: "hear hear" doesn't necessarily mean "listen to this opinion". It's just a general note of assent, at least to me. So it's easy for me to see how the spelling slips. [15:18:00.0000] <TabAtkins> Plus, the archais use of "hear" as a command to listen to someone else doesn't exactly help. That's why it's an idiom. [15:19:00.0000] <jgraham> So, what I was actually going to say is "it's unclear to me how a group of three search engines constitutes a monopoly" (re: http://www.jenitennison.com/blog/node/157) [15:20:00.0000] <jgraham> In particular the "mono" part [15:20:01.0000] <TabAtkins> Mono-industry, from how I understand the objection. [15:23:00.0000] <zcorpan> Oligopoly [15:24:00.0000] <jgraham> Yes, I think that's what she means. I guess "group of most significant vendors worked together to reach a compromise they could all implement" doesn't sound as scary as "monopoly foists their technology on the world" [15:25:00.0000] <jgraham> Although the first is how most standards organisations work too (although people keep getting upset by that as well) [15:26:00.0000] <jgraham> /me notes that he doesn't disagree with much of the blog entry, but thinks it is framed in a very misleading way [15:27:00.0000] <zcorpan> jgraham: just when you thought you were done, Hixie changes the parser :P [15:28:00.0000] <Hixie> blame bz :-P [15:28:01.0000] <Hixie> wait, he can even blame you! [15:28:02.0000] <Hixie> :-P [15:28:03.0000] <jgraham> Wait what? [15:28:04.0000] <zcorpan> i think i suggested this change long ago [15:28:05.0000] <jgraham> I am entirely blameless [15:28:06.0000] <Hixie> no i mean zcorpan [15:28:07.0000] <jgraham> Oh yeah blame zcorpan [15:29:00.0000] <jgraham> He is evil [15:29:01.0000] <Hixie> /me would be fine not making this change [15:29:02.0000] <zcorpan> i blame Hixie for not fixing this first time [15:29:03.0000] <jgraham> /me thinks this not being fixed straight away would not be the most important bug with Opera and ruby... [15:30:00.0000] <karlcow> /me recommends jgraham to send an email to Ian Jacobs [15:30:01.0000] <jgraham> (although I guess it is easy enough to fix) [15:30:02.0000] <zcorpan> jgraham: what? it's VIOLATING the spec [15:31:00.0000] <jgraham> zcorpan: So is not rendering any ruby :) [15:31:01.0000] <zcorpan> jgraham: nah, only if you want the rendering section to apply to you [15:32:00.0000] <Hixie> not rendering a ruby is only violating the spec if you self-identify as a "visual user agent that supports the suggested default rendering" [15:32:01.0000] <jgraham> Not supporting the parser is only violating the spec if you self-identify as a HTML UA [15:32:02.0000] <jgraham> /me had this discussion in reverse with Hixie already :) [15:33:00.0000] <Hixie> opera does self-identify as a web browser [15:33:01.0000] <zcorpan> ah, i remember now, this is how the xml guys got away with what the xml spec says [15:33:02.0000] <zcorpan> Hixie: not only! [15:34:00.0000] <Dashiva> Opera only self-identifies as a browser when it isn't parsing [15:35:00.0000] <Hixie> Dashiva: i don't think the spec allows that [15:35:01.0000] <zcorpan> why not? [15:35:02.0000] <Dashiva> Opera doesn't self-identify as the class of implementations that isn't allowed to change self-identification [15:36:00.0000] <smaug____> ooh, I found the place which triggers command's action [15:36:01.0000] <jgraham> I'm reasonably sure that we don't really sel identify as anything [15:36:02.0000] <jgraham> In fact there is probably text somewhre saying that we don't promise to be fit for any purpose [15:36:03.0000] <smaug____> click() handling is still strange though [15:37:00.0000] <smaug____> Hixie: why does click() have different behavior than dispatching a click event manually? [15:38:00.0000] <smaug____> both need to dispatch untrusted events [15:40:00.0000] <Hixie> smaug____: click() is equivalent to dispatching the event manually and then providing a default action [15:41:00.0000] <smaug____> Hixie: but why? Why doesn't dispatching click trigger the default handling (in cases we want to allow that to happen with untrusted events) [15:41:01.0000] <Hixie> smaug____: the default handling is, by definition, the handling that occurs when you get back the result of dispatching the event [15:42:00.0000] <smaug____> yes [15:42:01.0000] <smaug____> well, not results [15:42:02.0000] <Hixie> yes, the results [15:42:03.0000] <Hixie> the return value of dispatchEvent() [15:42:04.0000] <smaug____> default handling is the final step of event dispatch [15:42:05.0000] <Hixie> no [15:42:06.0000] <smaug____> huh [15:43:00.0000] <zewt> http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dispatching-events [15:45:00.0000] <smaug____> zewt: not sure what that link has to do [15:45:01.0000] <zewt> it, uh, explains event dispatch pretty succinctly [15:45:02.0000] <smaug____> zewt: nothing to do with default handling [15:46:00.0000] <zewt> exactly, default handling is not part of event dispatch :) [15:46:01.0000] <Hixie> default handling is what you do when an event you've dispatched is not cancelled [15:46:02.0000] <smaug____> exactly [15:46:03.0000] <smaug____> well, ok, if it is a script based event one could check the return value of dispatchEvent [15:46:04.0000] <zewt> is what *you* do (the code calling for the dispatch), not what the dispatch itself does [15:47:00.0000] <smaug____> in most common cases, browsers do the default handling, not scripts [15:48:00.0000] <Hixie> sure [15:48:01.0000] <Hixie> still not part of the dispatch :-) [15:48:02.0000] <smaug____> well, it kind of is [15:48:03.0000] <Hixie> in so far as it isn't [15:48:04.0000] <Hixie> :-P [15:48:05.0000] <zewt> let's run in circles some more [15:48:06.0000] <smaug____> since default handling can depend on event target chain [15:49:00.0000] <Hixie> not sure what that means [15:49:01.0000] <Hixie> do you have an example? [15:49:02.0000] <smaug____> you have nested elements, and topmost is <a>. [15:49:03.0000] <smaug____> the event is dispatched to some descendant [15:49:04.0000] <smaug____> but it is the a's default handling which may be triggered [15:50:00.0000] <Hixie> sure, but that's decided before the dispatch is started [15:50:01.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/complete/content-models.html#interactive-content-0 [15:50:02.0000] <Hixie> it's decided in step 1 [15:50:03.0000] <Hixie> event is dispatched in step 3 [15:50:04.0000] <smaug____> /me needs to look at if webkit's event dispatch has changed, but at least in gecko there is PostHandleEvent phase after actual DOM event dispatch [15:50:05.0000] <smaug____> and webkit used to have it too [15:51:00.0000] <Hixie> browsers do all kinds of weird things [15:52:00.0000] <smaug____> on so do specs :) [15:53:00.0000] <smaug____> s/on/and/ [15:53:01.0000] <zcorpan> which came first, browsers or specs? [15:53:02.0000] <smaug____> depends on the case [15:54:00.0000] <zcorpan> did tim write a spec for html before implementing it? [15:55:00.0000] <smaug____> /me thought the activation handling in HTML was well specified, but isn't sure anymore :/ [15:55:01.0000] <zcorpan> nn [15:55:02.0000] <Hixie> it's well-specified in that it's fully defined, whether it's well-specified in that you agree with it is a different issue :-) [15:55:03.0000] <TabAtkins> Well-specified, but possibly not good-specified. [16:04:00.0000] <Hixie> http://www.w3.org/mid/CCB7E43A-25F8-404F-A4C7-047CCE332CF8⊙wo is ludicrous [16:07:00.0000] <TabAtkins> ...what?! [16:07:01.0000] <smaug____> yeah, webkit has similar internal default handling phase after dom event dispatch as what gecko has [16:08:00.0000] <zewt> isn't that just an implementation detail [16:09:00.0000] <smaug____> it kind of is, but it may affect how click() and default handling should be specified [16:09:01.0000] <smaug____> since in the browsers elements have default handling in them [16:10:00.0000] <smaug____> and that happens as a part of event dispatch [16:10:01.0000] <zewt> but where the default handling happens internally is an implementation detail [16:11:00.0000] <smaug____> zewt: it affects to the behavior of click() vs. manual event dispatching [16:11:01.0000] <smaug____> currently in Gecko click() is basically the same as dispatching click manually [16:12:00.0000] <zewt> i seem to vaguely recall fighting with that at some point [16:13:00.0000] <smaug____> I wonder why the spec is written the way it is [16:13:01.0000] <zewt> which spec? [16:13:02.0000] <zewt> (click() or DOM events) [16:14:00.0000] <smaug____> click() handling [16:14:01.0000] <Hixie> what does it do and what do you want it to do? [16:14:02.0000] <smaug____> so far this hasn't had anything to do with DOM events :) [16:15:00.0000] <zewt> everything about where default handling takes place is related to the event model :) [16:15:01.0000] <smaug____> Hixie: the question is that should the default handling (which is bound to some elements) happen the same way when dispatching a click manually or when calling click() [16:15:02.0000] <smaug____> or that is at least one question [16:16:00.0000] <smaug____> I don't understand why click() should have special powers to trigger default actions [16:16:01.0000] <Hixie> well it's not very interesting if it's just syntactic sugar for two lines of code [16:16:02.0000] <smaug____> (I see click() as a leftover from netscape 2/3) [16:34:00.0000] <Hixie> i wonder if we should drop <time> and instead just have an element like <abbr> whose purpose is specifically to give a machine-readable equivalent [16:34:01.0000] <Hixie> like <abbr> as it was (once?) used in microformats, i mean [16:38:00.0000] <AryehGregor> /me has just discovered how insanely awesome Google Voice is [16:38:01.0000] <boogyman> pain! [16:38:02.0000] <Hixie> heycam: just saw in your e-mail that you'd done the patch! looking now [16:38:03.0000] <heycam> Hixie, kk [16:39:00.0000] <Hixie> (i don't read bugmail since i get so much of it) [16:40:00.0000] <heycam> ah 2011-06-14 [17:06:00.0000] <Yuhong> /me working my series about the history of CSS [17:06:01.0000] <Yuhong> /me working on my series about the history of CSS [17:07:00.0000] <Yuhong> People have forgotten about the effects of the Netscape monopoly from 1995. [17:07:01.0000] <erlehmann> Hixie, are there people who hate <time>? [17:07:02.0000] <erlehmann> or is it just not used? [17:07:03.0000] <Hixie> <time> hasn't been particularly well-loved [17:08:00.0000] <erlehmann> or are you thinking about general machine readable equivalents like geodata usw.? [17:08:01.0000] <erlehmann> i only use it for automagic chat log timestamp markup and blog post creation timestamps. [17:09:00.0000] <erlehmann> i hereby propose a @spacetime attribute to the <time> element, to give a local frame of reference. [17:10:00.0000] <erlehmann> ;-) [17:10:01.0000] <Yuhong> CSS1 has existed since October 1994. [17:10:02.0000] <Yuhong> I mean the first draft of CSS1 existed since October 1994. [17:11:00.0000] <Yuhong> I mean the first draft of CSS1 was released in October 1994. [17:11:01.0000] <Hixie> erlehmann: i meant replacing it with the general case [17:11:02.0000] <boogyman> Yuhong: there's no need to keep double posting [17:12:00.0000] <Yuhong> Sorry, I made several mistakes. [17:12:01.0000] <Yuhong> Anyway, this is what the part 1 of this series is about. [17:12:02.0000] <erlehmann> Hixie, sounds reasonable. but wouldn't that lead to yet another dictionary incompatible with microdata/microformat/RDFas [17:12:03.0000] <erlehmann> ? [17:13:00.0000] <erlehmann> s/dictionary/namespace/g [17:13:01.0000] <Hixie> erlehmann: e.g. <foo itemprop=when content="2011-01-01">the first day of this year</foo>, <foo itemprop=who content="userid-213456">i</foo> went to <foo itemprop=where content="123,12">to barland</foo>. [17:14:00.0000] <Hixie> heycam: thanks dude, that patch is awesome. Only a few conflicts when I applied it, too, should be quick to fix. [17:15:00.0000] <heycam> Hixie, great! [17:15:01.0000] <Hixie> /me tries to work out how to fix them! [17:15:02.0000] <boogyman> patch for what? [17:15:03.0000] <Hixie> http://www.w3.org/Bugs/Public/show_bug.cgi?id=10640 [17:16:00.0000] <Hixie> heycam: you didn't do the commented-out bits in idl? [17:16:01.0000] <heycam> Hixie, ah, I thought I did -- maybe I missed some? [17:16:02.0000] <heycam> oh, were there some completely commented out interfaces? [17:16:03.0000] <Hixie> this particular chunk that failed happened to include some that you didn't do [17:17:00.0000] <Hixie> no idea if it was just an oversight or not [17:17:01.0000] <Hixie> DataTransferItems's add() method had some commented out overloads [17:17:02.0000] <Hixie> (now DataTransferItemList, in case you're wondering about the conflict) [17:17:03.0000] <Yuhong> Published part 1: http://yuhongbao.blogspot.com/2011/06/history-of-css-part-1.html [17:17:04.0000] <Hixie> oh here's one that you did do in a comment [17:18:00.0000] <heycam> Hixie, you're right, I think I did overlook that particular one [17:18:01.0000] <heycam> I'm afraid then I might not have consistently looked at all commented out ones [17:18:02.0000] <Hixie> no worries [17:19:00.0000] <erlehmann> Hixie, i see what you did there. but why not use span then? to have a known dictionary of itemprop values? to see that there is machine-readable data? seems awfully non-necessary. [17:19:01.0000] <erlehmann> (to me, at least) [17:19:02.0000] <heycam> Hixie, I guess you can work them out, but let me know if you have any questions on the commented out ones [17:19:03.0000] <Hixie> erlehmann: adding content="" to <span> would work too [17:20:00.0000] <Hixie> erlehmann: the main reason for not doing that would be so that the microdata algorithm doesn't have to distinguish between <span itemprop=x>value</span> and <span itemprop=x content=value>nothing</span> [17:20:01.0000] <Hixie> erlehmann: i'm not talking about a dictionary here [17:23:00.0000] <erlehmann> is that distinction so complicated for UAs/consumers? i have no idea. but it might make it more obvious for human authors. [17:24:00.0000] <Hixie> for consumers it's trivial i'm sure [17:24:01.0000] <Hixie> for producers anything we can do to make this less subtle is a win [17:35:00.0000] <roc> I have some advice [17:35:01.0000] <roc> never, ever trust anyone who writes "PhD" after their name [17:37:00.0000] <boogyman> lol [17:38:00.0000] <Yuhong> <zcorpan> did tim write a spec for html before implementing it? [17:40:00.0000] <Yuhong> I don't think TimBL wrote a formal spec. [17:40:01.0000] <Yuhong> Back then HTML was not formally based on SGML. [17:41:00.0000] <Hixie> what is a "formal" spec? [17:42:00.0000] <Yuhong> TimBL did wrote a document describing the tags, because they had to. [17:43:00.0000] <Hixie> foolip: yt? [17:44:00.0000] <Yuhong> It was DanC that made the decision that HTML should be based on SGML. [17:45:00.0000] <Yuhong> Which happened in 1992 or so. [17:45:01.0000] <gsnedder1> Yuhong: TimBL didn't every really describe it at all, AFAIK, initally. [17:47:00.0000] <Yuhong> http://1997.webhistory.org/www.lists/www-talk.1992/0081.html [17:55:00.0000] <erlehmann> >Now I'm going back to the idea of writing a DTD for the existing HTML format. I can't seem to do it. [17:55:01.0000] <erlehmann> hehehe [17:55:02.0000] <erlehmann> :D [17:56:00.0000] <Yuhong> Anyway: [17:56:01.0000] <Yuhong> http://1997.webhistory.org/www.lists/www-talk.1992/0346.html [17:58:00.0000] <erlehmann> Yuhong, fun stuff [18:05:00.0000] <Yuhong> http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/Connolly/MarkUp.html [18:06:00.0000] <Yuhong> Finally found it. [18:07:00.0000] <Yuhong> Defines HTML in terms of SGML. [18:08:00.0000] <Yuhong> http://1997.webhistory.org/www.lists/www-talk.1992/0407.html [18:08:01.0000] <Yuhong> Anyway, next year came Mosaic, which was even less compliant with SGML than libwww was. [18:09:00.0000] <Yuhong> For example, parsing of <MISSING QUOTE="SSDSDDD>. [18:10:00.0000] <Yuhong> Mosaic made the Web and HTML became popular. [18:15:00.0000] <erlehmann> oh, HTML, is po·pu·lar? good, that keeps out the hipsters. [18:15:01.0000] <Yuhong> And many wrote HTML markup based on what it looked like in Mosaic. [18:17:00.0000] <jcranmer> <bar /> [18:17:01.0000] <jcranmer> horribly malformed according to SGML, necessary in XML [18:18:00.0000] <Yuhong> Yep I know, the SHORTTAG fiasco. [18:19:00.0000] <Yuhong> IMO they should have changed it when they moved to "ISO 8879:1986 (WWW)" for HTML 4.01. [18:19:01.0000] <Yuhong> i.e. the SGML WebTC. [18:20:00.0000] <Yuhong> XHTML was in Proposed Recommendation by the time HTML 4.01 became Recommendation, as mentioned in the HTML 4.01 spec itself. [18:21:00.0000] <Yuhong> http://www.w3.org/TR/html401/references.html#ref-XHTML [18:29:00.0000] <Yuhong> Anyway, back to CSS history. [18:32:00.0000] <tiglionabbit> how does the clipboard API work? [18:33:00.0000] <tiglionabbit> I just captured a "paste" event but it doesn't have any data in it [18:40:00.0000] <zewt> heh, okay, logins on the w3c tracker are officially incomprehensible [18:40:01.0000] <zewt> i open a tab to log in and close the tab, as i do on most sites, refresh the original page and ... i'm logged out again [19:11:00.0000] <Hixie> abarth: yt? [19:12:00.0000] <abarth> hi [19:12:01.0000] <abarth> what can i do for you sir? [19:12:02.0000] <Hixie> hey [19:13:00.0000] <Hixie> what do you think about complicating the <object> type determination thingy EVEN MORE, to add an attribute that requires that the type="" and Content-Type match? [19:14:00.0000] <abarth> Hixie: that would solve a security problem :) [19:14:01.0000] <Hixie> that's the idea, yeah [19:14:02.0000] <Hixie> (well it wouldn't solve it so much as provide authors with a tool to solve it for themselves) [19:14:03.0000] <abarth> lcamtuf had some idea for solving this without extra markup [19:15:00.0000] <Hixie> did he mail it anywhere? i'm replying to a mail from him about this but i don't see an idea [19:15:01.0000] <abarth> do you have the flowchart handy? [19:15:02.0000] <Hixie> (well i see an idea but it's unworkable, it changes the default behaviour) [19:15:03.0000] <Hixie> yeah [19:16:00.0000] <Hixie> you want it uploaded somewhere to edit? [19:16:01.0000] <abarth> i just want to stare at it for a sec [19:16:02.0000] <Hixie> one sec [19:17:00.0000] <Hixie> http://junkyard.damowmow.com/470 [19:17:01.0000] <Hixie> where I put the X is where i suggest putting "if there's an attribute foo, and type="" and Content-Type don't match, then fallback" [19:18:00.0000] <Hixie> not 100% sure what to do if they do match, whether to short-circuit or follow the algorithm [19:19:00.0000] <Hixie> the only difference i believe is if the type and header both are a/octet-stream, in which case it would then use the extension [19:19:01.0000] <abarth> so, the compat case to worry about is type="something/insane" and a reasonable Content-Type [19:20:00.0000] <abarth> that seems like something we could measure [19:21:00.0000] <Hixie> there are so many edge cases here i don't think we should touch that algorithm again frankly, except for putting things at the head or tail of it [19:21:01.0000] <abarth> so, the simple thing I would add [19:22:00.0000] <abarth> if you want an opt-in mechanism [19:22:01.0000] <abarth> is to prevent the loading [19:22:02.0000] <abarth> if type isn't a recognized plugin [19:22:03.0000] <abarth> so in the "Is there a type="" attribute whose value is a plugin type?" step [19:22:04.0000] <abarth> in the NO branch [19:22:05.0000] <abarth> check for the new thing [19:23:00.0000] <abarth> if the new thing is there, don't load anything [19:23:01.0000] <abarth> which I guess translates to FALLBACK [19:24:00.0000] <abarth> something like "isplugin" [19:24:01.0000] <Hixie> i was thinking authors might want to use this even for other cases, e.g. the content they want to embed is text/html and they don't want it to be treated as flash [19:24:02.0000] <abarth> i see [19:25:00.0000] <abarth> that seems reasonable for an opt-in mechanism [19:25:01.0000] <abarth> it's only going to protect advanced sites that know to turn it on, but that's true for any opt-in mechanism [19:25:02.0000] <Hixie> though i guess that works already today if you say type="text/html" [19:26:00.0000] <Hixie> so maybe nevermind [19:26:01.0000] <abarth> does it? [19:26:02.0000] <abarth> the flowchart seems to say "use Content-Type" [19:26:03.0000] <abarth> but that could be application/swf [19:26:04.0000] <Hixie> oh right [19:26:05.0000] <Hixie> sorry i was thinking of the a/o-s case [19:26:06.0000] <Hixie> yeah [19:27:00.0000] <Hixie> ok so what i said originally [19:27:01.0000] <abarth> your approach has the virtue of being secure and not breaking things [19:28:00.0000] <abarth> which are good virtues :) [19:28:01.0000] <Hixie> heh [19:28:02.0000] <Hixie> i mainly like it cos it's easy to spec :-) [19:28:03.0000] <abarth> i bet the thing i was thinking of won't work anyway [19:28:04.0000] <abarth> because folks will typo their type attribute [19:28:05.0000] <abarth> or put something crazy there [19:29:00.0000] <abarth> and it will work today if the Content-Type is right [19:29:01.0000] <Hixie> well so will mine, right [19:29:02.0000] <Hixie> (mine being bz's suggestion of a feature that breaks if they don't match) [19:30:00.0000] <abarth> the main risk of your attribute is folks cargo-cult adding it without testing [19:30:01.0000] <abarth> and then UAs having an incentive not to implement [19:30:02.0000] <abarth> but if we get it into WebKit and FF quickly, that shouldn't be too much of a problem [19:31:00.0000] <Hixie> yeah [19:31:01.0000] <Hixie> i guess [19:31:02.0000] <Hixie> should i nerf clsid="" when this attribute is present? [19:31:03.0000] <Hixie> or just leave it? i guess it's up to the author [19:31:04.0000] <Hixie> so it doesn't much matter [19:31:05.0000] <Hixie> i'll just leave it [19:31:06.0000] <Hixie> clsid="" is invalid anyway [19:32:00.0000] <Hixie> where's zcorpan when you need him [19:32:01.0000] <abarth> clsid is a mystery to me [19:32:02.0000] <Hixie> i need a member of the hyphens-in-attributes police, anyone around? [19:33:00.0000] <Hixie> <object type="" typemustmatch data="">...</object> [19:39:00.0000] <abarth> nosniff [19:39:01.0000] <abarth> :) [19:39:02.0000] <abarth> strict-type [19:39:03.0000] <abarth> ^^^ actually, that one is bad [19:40:00.0000] <Hixie> nosniff doesn't really convey what happens [20:03:00.0000] <Hixie> k i added typemustmatch [20:19:00.0000] <heycam> Hixie, since you're not reading bugmail, would you be able to reply to http://www.w3.org/Bugs/Public/show_bug.cgi?id=12845 at some point? [22:22:00.0000] <Hixie> heycam: replied [22:23:00.0000] <heycam> thanks [00:47:00.0000] <hsivonen> http://www.jenitennison.com/blog/node/157#comment-11011 looks like schema.org doesn't have the WHATWG spec writing culture even as a principle to aspire for :-( [00:59:00.0000] <hsivonen> does anyone want to guess how long it will take for the geolocation meta keywords and the dublin core keywords to get registered [00:59:01.0000] <hsivonen> as opposed to people filing bugs about them not being registered [01:00:00.0000] <hsivonen> also, guesses about the IE9 taskbar pinning stuff, anyone? [01:02:00.0000] <Hixie> the IE9 stuff seems surprisingly unused [01:02:01.0000] <Hixie> at least from what i've seen [01:59:00.0000] <foolip> foolip, I'm here [01:59:01.0000] <foolip> different timezones rock [02:04:00.0000] <Ms2ger> foolip, talking to yourself? :) [02:04:01.0000] <foolip> blargh [02:04:02.0000] <foolip> Hixie, ^ [02:05:00.0000] <foolip> Ms2ger, thanks :) [02:05:01.0000] <Hixie> what was i going to ask you [02:05:02.0000] <Hixie> something about microdata [02:05:03.0000] <Hixie> oh, yeah [02:05:04.0000] <foolip> itemref stuff? [02:05:05.0000] <Hixie> in the e-mail you said that i shouldn't worry about the performance of the algorithms [02:05:06.0000] <Hixie> but that wasn't really my point [02:05:07.0000] <foolip> ok [02:05:08.0000] <Hixie> my point was that the algorithm, however it is expressed in the spec, needs to be something that can be implemented quickly [02:05:09.0000] <foolip> of course [02:06:00.0000] <foolip> wait [02:06:01.0000] <Hixie> you don't want every call to .properties or whatever it's called to require a walk of the entire dom [02:06:02.0000] <foolip> do you mean "quickly" as in "few engineering hours" or as in "efficient" [02:06:03.0000] <foolip> the later I suppose? [02:06:04.0000] <zcorpan> typemustmatch? can we bikeshed that name a bit? looks like typemustache [02:06:05.0000] <Hixie> as in few cpu cycles [02:07:00.0000] <foolip> certainly [02:07:01.0000] <Hixie> zcorpan: you have convinced me that it is the right name! [02:08:00.0000] <foolip> Hixie, is there something I'm missing about why eliminating loops by the criteria we suggested wouldn't be implementable at least as fast as what is spec'd? [02:08:01.0000] <foolip> both could be implemented with a recursive check just like what is in the spec [02:08:02.0000] <Hixie> foolip: not sure, i need to study it more closely [02:08:03.0000] <Hixie> foolip: i just wanted to make sure that we were on the same page re efficiency first :-) [02:08:04.0000] <Hixie> foolip: your proposal is to define it in terms of starting at the root and lopping off anything that involves a loop, right? [02:09:00.0000] <foolip> certainly [02:09:01.0000] <foolip> Hixie, perhaps it could be expressed like that also, I'm not sure [02:10:00.0000] <Hixie> foolip: if that is the case, then what happens if you ask the UA for the properties of an item that is part of a lopped off loop? [02:10:01.0000] <foolip> I could express it similar to what is in the spec, but adjusted to ensure that only properties that are *in* a loop are removed [02:10:02.0000] <Hixie> what the spec says now is clearly bogus [02:10:03.0000] <foolip> agreed :) [02:10:04.0000] <Hixie> so i'm not sure it's a useful starting point for debate :-) [02:11:00.0000] <foolip> Hixie, you'd get an empty item, simlar to what you get if you get .properties of an element without itemscope [02:12:00.0000] <foolip> Unfortunately Tomasz is still away, so I think we need to hold off any spec changes until he's had a look at the discussion too [02:12:01.0000] <Hixie> foolip: and i guess to determine that that is the case you'd just need to walk down the tree until you get back to the element, right? and then you realise the element is in a loop and so you return nothing [02:12:02.0000] <foolip> Hixie, right (you don't have to traverse the whole tree, just starting at that item and following itemref) [02:12:03.0000] <Hixie> foolip: i can delay this, sure. was just trying to get it done since you said it was high priority :-) [02:12:04.0000] <Hixie> yeah i meant walk down the tree from that itemscope'd element [02:13:00.0000] <foolip> it does, but Tomasz is implementing it so I'd like to sync it with him first [02:13:01.0000] <Ms2ger> There's more than enough other bugs to work on ;) [02:14:00.0000] <foolip> assuming that we can implement it as O(n) with a sane criteria X, I assume that you'd be happy to spec criteria X? [02:15:00.0000] <foolip> we don't want to waste our time, obviously :) [02:15:01.0000] <Hixie> well there's a lot of crazy things one can implement in O(n) [02:15:02.0000] <Hixie> so i can't say yes to that :-) [02:15:03.0000] <foolip> ok, with a sane X, for example the suggested one :) [02:15:04.0000] <Hixie> but i don't have strong views on this particular topic, it's pretty unconstrained [02:15:05.0000] <Hixie> so probably, yes [02:16:00.0000] <foolip> I think there are only two really sane high-level criteria [02:16:01.0000] <foolip> 1. eliminate everything that would lead into infinite recursion [02:16:02.0000] <Hixie> what we discuss above is basically what i intended for the spec except that i was intending to cut it off at the property of the item, not the item itself [02:16:03.0000] <Hixie> but i can live with either [02:17:00.0000] <foolip> right, that is a facet which I think we haven't fully considered [02:18:00.0000] <foolip> it's either marking the items or the properties as "loopy", neither seems obviously easier to do or more useful [02:18:01.0000] <Hixie> the advantage of doing it at the item is you get a consistent view [02:18:02.0000] <foolip> right [02:18:03.0000] <Hixie> the advantage of doing it at the property is that you can get useful data for each item [02:19:00.0000] <Hixie> it's a toss-up, imho [02:19:01.0000] <foolip> yeah [02:19:02.0000] <slartsa> Hey, quickie: Might it be possible for a server to record stuff from <device>? [02:19:03.0000] <Hixie> slartsa: <device> is gone but its replacement supports that, yes [02:19:04.0000] <slartsa> uh, oh? [02:19:05.0000] <foolip> since it's only for fixing invalid markup, I don't think it matters a great deal, the only important part is how easy it is for authors to look at it and guess why it's broken [02:19:06.0000] <slartsa> I should rtfm more [02:19:07.0000] <Hixie> foolip: yeah [02:20:00.0000] <Hixie> slartsa: search for getUserMedia and PeerConnection in the spec [02:21:00.0000] <slartsa> Hixie: thank you [02:21:01.0000] <hsivonen> /me wonders if Sam drafted othermaciej's CfC email or if othermaciej has picked up Sam's email wording patterns [02:22:00.0000] <othermaciej> I wrote it myself [02:22:01.0000] <othermaciej> I tend to go into a particular style when drafting this sort of thing, I do not know if it particularly resembles Sam [02:23:00.0000] <hsivonen> othermaciej: seems to resemble Sam's style [02:23:01.0000] <othermaciej> "at this time" and "concrete proposal" are phrases he uses a lot [02:25:00.0000] <hsivonen> so we have a parsing algorithm change today [02:25:01.0000] <othermaciej> "lively discussion", "a proper Working Draft", "for clarity" and most of all having a numbered list of things are more hallmarks of my own style [02:25:02.0000] <othermaciej> o rly [02:25:03.0000] <othermaciej> what is the change? [02:26:00.0000] <hsivonen> othermaciej: making rp and rt start tags not pop all the way up to the nearest ruby [02:26:01.0000] <othermaciej> hopefully limited in impact then, though unfortunate since now many HTML5 parser implementations have shipped with relatively good compliance to the old spec [02:26:02.0000] <Hixie> it's pretty minimal, yeah [02:27:00.0000] <Hixie> only affects invalid <ruby> (including ruby using the xhtml advanced ruby syntax) [02:27:01.0000] <hsivonen> pretty substantial for deployability of Complex Ruby [02:27:02.0000] <Hixie> and on that note i should go to bed [02:27:03.0000] <Hixie> nn [02:27:04.0000] <hsivonen> othermaciej: has WebKit implemented the annotation-xml stuff etc. that got changed after Chrome 8? [02:28:00.0000] <othermaciej> I'm not sure offhand (not even sure I remember what annotation-xml is), but I'd be happy to try a test case on a recent build if you have one handy [02:29:00.0000] <hsivonen> /me goes read the parser code in order to formulate a test case [02:30:00.0000] <hsivonen> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1027 [02:31:00.0000] <hsivonen> othermaciej: It appears that the HTML parser in Chrome 13 has not been substantially updated since Chrome 8 [02:31:01.0000] <zcorpan> hsivonen: when you implement typemustmatch in v.nu, pls add it to the list of things that get a warning [02:32:00.0000] <asmodai> I don't get this, why do I suddenly have this "move mouse to allow firefox to get cycles" issue again. Can it be something JavaScript triggers? Need to move my mouse in order to get pages to draw, JavaScript to run, etc. [02:32:01.0000] <hsivonen> zcorpan: ok [02:32:02.0000] <othermaciej> hsivonen: how do I interpret the results of the test case? [02:32:03.0000] <hsivonen> (Hixie's viewer would show FOO in upper case if Chrome had an up-to-date parser) [02:32:04.0000] <hsivonen> othermaciej: ^ [02:32:05.0000] <othermaciej> ok, doesn't do that [02:33:00.0000] <othermaciej> (in Safari 5.1 developer preview + very recent WebKit) [02:34:00.0000] <hsivonen> asmodai: sounds more like a window server thing [02:35:00.0000] <hsivonen> asmodai: like a system-owned event loop not firing non-user events [02:36:00.0000] <asmodai> Mmm [02:36:01.0000] <asmodai> Then the question is, what and why is this triggering. Grr [02:36:02.0000] <hsivonen> I have no idea [02:37:00.0000] <asmodai> yeah, need to see if I can find it [02:40:00.0000] <asmodai> Mmm, seems like restarting ff cleared it though. [02:52:00.0000] <hsivonen> jgraham, zcorpan, abarth: are you OK with adding <rb> to the elements closed by "generate implied end tags"? doing that would bring the parsing algorithm back to IE8 compat for simple Ruby (while not precluding the introduction of Complex Ruby in the future) [02:57:00.0000] <zcorpan> hsivonen: rb was a typo, i meant rt. i have to look up rb to know what it is [02:57:01.0000] <zcorpan> ruby base? [02:58:00.0000] <hsivonen> zcorpan: yes [02:58:01.0000] <zcorpan> ie doesn't support rb and it's not a valid element in html5 [02:59:00.0000] <hsivonen> zcorpan: IE8 pops rb when it sees <rt> [02:59:01.0000] <hsivonen> zcorpan: so it's plausible that there's Simple Ruby out there that uses the kind of markup the XHTML spec requires [03:00:00.0000] <zcorpan> hsivonen: doesn't it just make rb a void element? [03:00:01.0000] <hsivonen> except omits </rb> [03:00:02.0000] <zcorpan> like any other unknown tag [03:00:03.0000] <jgraham> hsivonen: I am not informed enough to have a sensible opinion about ruby, but I trust your judgment. So yes, I am fine with that :) [03:02:00.0000] <hsivonen> zcorpan: oh. good point [03:02:01.0000] <hsivonen> /me should have read the live dom more closely [03:02:02.0000] <hsivonen> zcorpan: still, I think it's just bizarre to make "generate implied end tags" close rt but not close rb [03:02:03.0000] <zcorpan> *shrug* [03:02:04.0000] <zcorpan> i don't mind either way [03:04:00.0000] <hsivonen> jgraham: my judgement has already been bad and corrected by zcorpan on this bug [03:05:00.0000] <jgraham> hsivonen: Oh. Well in that case I trust zcorpan :) [03:05:01.0000] <jgraham> I can see that I should stop being so trusting... [03:05:02.0000] <hsivonen> oh. and we should also make <rb> generate implied end tags [03:05:03.0000] <hsivonen> to make things sane if we ever do Complex Ruby [03:06:00.0000] <zcorpan> i suggest we worry about <rb> when and if we want to implement complex ruby [03:07:00.0000] <hsivonen> zcorpan: Mozilla might implement it imminently [03:07:01.0000] <zcorpan> oh [03:08:00.0000] <jgraham> hsivonen: Why? [03:11:00.0000] <hsivonen> jgraham: as I understand it, someone wrote a patch while reading the old specs and there doesn't seem to be a good reason not to support it [03:11:01.0000] <hsivonen> jgraham: though fantasai and bz would know better [03:11:02.0000] <hsivonen> jgraham: I know next to nothing about the justification for Complex Ruby [03:12:00.0000] <hsivonen> jgraham: I'm just trying to undo painting ourselves in a corner with the parser [03:13:00.0000] <hsivonen> "justification" typography pun not intended above [03:14:00.0000] <jgraham> hsivonen: "a good reason to to support it" might be that it introduces unnecessary complexity into the platform for everyone [03:14:01.0000] <jgraham> *not to [03:14:02.0000] <jgraham> Although I don't really know what is necessary complexity in this area [03:15:00.0000] <hsivonen> jgraham: I realize that. [03:15:01.0000] <hsivonen> jgraham: I'm not competent to argue about this either way. fantasai is. [03:16:00.0000] <zcorpan> i thought complex ruby was expressible with nested simple ruby [03:17:00.0000] <hsivonen> zcorpan: depends on whether you care more about graceful degradation in simple ruby-only UAs or fully rubyless UAs [03:18:00.0000] <matjas> in how many different ways can HTML entities be written? [03:18:01.0000] <matjas> am I missing any here? http://jsfiddle.net/mathias/WMTMv/ [03:19:00.0000] <hsivonen> matjas: I think you are missing leading zeros in the decimal case [03:19:01.0000] <hsivonen> unless I'm missing a gotcha [03:20:00.0000] <matjas> hsivonen: you’re not, thanks [03:20:01.0000] <matjas> anything else? [03:21:00.0000] <zcorpan> & [03:21:01.0000] <hsivonen> matjas: invalid cases without a colon and a suitable next character [03:21:02.0000] <matjas> zcorpan: that’s not encoded at all :P [03:21:03.0000] <zcorpan> but it's valid [03:22:00.0000] <matjas> only when followed by > or whitespace. no? [03:22:01.0000] <zcorpan> not quite [03:22:02.0000] <matjas> errr, < [03:22:03.0000] <matjas> zcorpan: enlighten me please :) [03:24:00.0000] <matjas> hsivonen: I only care about valid cases here, but thanks [03:24:01.0000] <hsivonen> hmm. I may have forgotten to update the validator on this topic as far as attribute values go [03:24:02.0000] <zcorpan> http://www.whatwg.org/specs/web-apps/current-work/complete/syntax.html#syntax-ambiguous-ampersand [03:25:00.0000] <matjas> hsivonen: this is exactly why I’m asking [03:25:01.0000] <matjas> I assumed the validator was up to date [03:25:02.0000] <zcorpan> "Normal elements ... must not contain ... an ambiguous ampersand." [03:26:00.0000] <zcorpan> "Attribute values are a mixture of text and character references, except with the additional restriction that the text cannot contain an ambiguous ampersand." [03:26:01.0000] <matjas> I thought ambiguous ampersands were unencoded & chars that are followed by something that is not whitespace, < (start of a tag), or another & [03:26:02.0000] <matjas> i.e. ambiguous ampersands are cases where & is left unencoded resulting in non-conformant (invalid) code [03:26:03.0000] <zcorpan> it was something like that before [03:26:04.0000] <zcorpan> but it was changed to allow href="?foo=1&bar=2" [03:27:00.0000] <matjas> ah yeah, validator.nu doesn’t like that [03:27:01.0000] <matjas> so I assumed it was (still) invalid [03:27:02.0000] <matjas> thanks for clarifying, zcorpan [03:28:00.0000] <Philip`> <script>document.write('&');</script>amp; [03:28:01.0000] <matjas> now that’s ambiguous [03:28:02.0000] <zcorpan> it's not! :) [03:28:03.0000] <matjas> :D [03:37:00.0000] <matjas> hmmm, http://bugzilla.validator.nu/buglist.cgi?quicksearch=ampersand [03:38:00.0000] <matjas> hsivonen: should I file a new bug? [03:43:00.0000] <hsivonen> matjas: yes, please [03:47:00.0000] <matjas> hsivonen: http://bugzilla.validator.nu/show_bug.cgi?id=841 [03:52:00.0000] <hsivonen> matjas: thanks [04:00:00.0000] <hsivonen> http://geotags.com/geobot/add-tags.html that might work as a "spec" for geo.position [04:00:01.0000] <hsivonen> but not for geo.region [04:00:02.0000] <hsivonen> it doesn't say what a "region code" is [04:01:00.0000] <hsivonen> http://geourl.org/add.html might be the "spec" for ICBM [05:27:00.0000] <jgraham> Ms2ger: Thanks for the review. [05:27:01.0000] <jgraham> Ms2ger: I have passed it on to the test author [05:28:00.0000] <Ms2ger> Always happy to complain :) [05:28:01.0000] <jgraham> I doubt we will make the strict mode tests [05:28:02.0000] <jgraham> On the other points, I got the feedback [05:28:03.0000] <Ms2ger> Sure [05:28:04.0000] <jgraham> 3. window.undefined is for old compat. change it as you see fit. [05:28:05.0000] <jgraham> 4. toString can be called explicitly, but the intention was actually to prove that implicit casts worked [05:29:00.0000] <Ms2ger> Yes, but I'd appreciate both :) [05:29:01.0000] <jgraham> everything else seems to be uncontroversial and we will fix [05:29:02.0000] <Ms2ger> Thanks [05:29:03.0000] <jgraham> Both is possible [06:16:00.0000] <jgraham> In other news roc is 100% right about the PhDs thing. Not just PhD though: never trust anyone who puts any academic credentials after their name as a matter of course [06:19:00.0000] <Philip`> I like how the blog system displayed the name as "..., Ph.D. (not verified)" [06:22:00.0000] <hsivonen> Philip`: which blog? [06:23:00.0000] <jgraham> hsivonen: JenniT's I think [06:23:01.0000] <jgraham> Oh, wrong number of "n"s [06:24:00.0000] <jgraham> http://www.jenitennison.com/blog/node/157#comment-11004 [06:27:00.0000] <Philip`> /me assumed that was what roc was referring to, but now realises he had absolutely no evidence it was anything to do with that and was probably wrong [06:28:00.0000] <jgraham> /me also wondered if he had that in mind, but has noticed the more general phenomonon [06:28:01.0000] <jgraham> It is especially a red flag when used on a book cover [06:30:00.0000] <roc> Philip`: I'd actually forgotten, but I think you're probably right! [06:30:01.0000] <roc> it's less of a red flag on a book cover [06:30:02.0000] <roc> IMHO [06:31:00.0000] <roc> depends on the book I guess [06:31:01.0000] <roc> if it's "Dr Phil's Sex Secrets" or something like that, sure [06:32:00.0000] <roc> If it's "The Complete Idiot's Guide To Category Theory", it's OK [06:41:00.0000] <jgraham> Well sure on an academic book it's fine but probably unnecessary [06:43:00.0000] <jgraham> It's other types of book, particularly self-help, where it reads as a unsubstantiated attempt to boost credibility [06:44:00.0000] <hsivonen> Someone in the comment gathering a lynch mob. My comment not answered. http://www.actionforblindpeople.org.uk/your-community/blogs/sandi-wassmer/html5-and-web-accessibility-is-there-hope-for-inclusion/ [06:45:00.0000] <hsivonen> *the comments [06:47:00.0000] <nessy> what do you do if you've actually spent 5 years of your life doing a PhD successfully - why should you need to hide the title and even feel ashamed? [06:49:00.0000] <zcorpan> because roc and jgraham will ignore you? [06:51:00.0000] <nessy> I'm trying to fight prejudice - you cannot put the same measure on everyone [06:51:01.0000] <jgraham> nessy: You shouldn't feel ashamed or need to hide the title. But you shouldn't try to use it in a way that suggests that you expect more weight to be given to your opinion because of the PhD [06:52:00.0000] <jgraham> /me has a PhD fwiw [06:52:01.0000] <nessy> yup, agreed - it just sometimes feels like a witch-hunt [06:54:00.0000] <jgraham> There are good uses of course. Like making sure to use "Dr" as your title on airline reservations in the hope that it increases the chance of a free upgrade (I have no idea if it does or not) :) [06:55:00.0000] <nessy> I've never tried [06:55:01.0000] <nessy> I find that silly actually ;-) [06:55:02.0000] <nessy> it might just get the crew to think you're a medical doctor [06:55:03.0000] <jgraham> I didn't claim that it wasn't silly :) Things can be good and silly :) [06:55:04.0000] <jgraham> Ha. Well yes that would be a bad side effect [06:56:00.0000] <nessy> unfortunate, really :-) [06:57:00.0000] <nessy> ok, time to grab some sleep … nn [06:57:01.0000] <jgraham> gn [06:57:02.0000] <hsivonen> /me wonders how badly Web stuff is interfering with Philip` becoming a PhD [06:58:00.0000] <hsivonen> so I made a backup to an external disk using Ubuntu and told it to encrypt the underlying device [06:58:01.0000] <hsivonen> now mounting the partition is taking forever [06:59:00.0000] <hsivonen> is it supposed to take a long time? [07:00:00.0000] <hsivonen> udevd seems to be quite busy [07:04:00.0000] <hsivonen> aargh. I want something like Mac's encrypted .dmgs that just works! [07:09:00.0000] <hsivonen> stuff learned today: encrypted volumes buggy in Ubuntu. Can be used from Disk Utility. Don't count on Nautilus. [07:09:01.0000] <Philip`> "jgraham has a PhD fwiw" - are you saying that because you expect it to give more weight to your opinions on PhDs? :-p [07:16:00.0000] <Lachy> hsivonen, have you tried TrueCrypt? That can make encrypted files that can be mounted [07:17:00.0000] <hsivonen> Lachy: truecrypt has gotten kicked out of the Ubuntu repos [07:17:01.0000] <hsivonen> dunno why [07:18:00.0000] <hsivonen> Lachy: and on some forum someone was complaining about upstream binaries not working correctly on 64-bit Ubuntu [07:18:01.0000] <hsivonen> Lachy: so I didn't want to try my luck with software sources other than Ubuntu's own repos [07:20:00.0000] <Philip`> Was Truecrypt ever in its repositories? [07:20:01.0000] <Philip`> /me can't see any references to that [07:20:02.0000] <Lachy> hsivonen, why can't you just download the package from the website? [07:21:00.0000] <hsivonen> Philip`: I think it was, because I have installed it on an Ubuntu box previously and I think I was only installing stuff from Ubuntu's repos (incl. Universe and Multiverse) [07:21:01.0000] <hsivonen> Lachy: I didn't bother, because someone else said it sucked on 64-bit [07:21:02.0000] <Lachy> ok [07:22:00.0000] <hsivonen> anyway, it's sad that Mac OS X works better even when it comes to crypto, file systems and disk images that stereotypically should be the kind of stuff you'd expect Linux to handle [07:23:00.0000] <Philip`> /me uses Truecrypt on 64-bit Gentoo with no problem, but that's compiled from source rather than pre-built binaries [07:23:01.0000] <hsivonen> Philip`: does truecrypt need kernel modules and stuff like that? [07:25:00.0000] <Philip`> hsivonen: It needs http://en.gentoo-wiki.com/wiki/TrueCrypt#Requirements which I imagine Ubuntu's kernels would enable by default [07:26:00.0000] <erlehmann> hsivonen, Philip`, why not use the standard dm-crypt with LUKS? [07:27:00.0000] <erlehmann> Last time I looked, TrueCrypt was an abomination to install. Also, Ubuntu has jumped the shark several years ago when they started to go from “usable linux distribution” to “latest bling-bling” [07:27:01.0000] <Philip`> erlehmann: I wanted to use the disk under Windows too, and TrueCrypt seemed the easiest cross-platform tool [07:28:00.0000] <hsivonen> erlehmann: I am using LUKS, it seems. It or its front ends are buggy, though [07:28:01.0000] <hsivonen> Philip`: I guess next time I'll use truecrypt [07:28:02.0000] <erlehmann> ah ok. [07:30:00.0000] <zcorpan> did somebody have an up-to-date extract of all idl blocks from html5 and other specs? [07:30:01.0000] <erlehmann> hsivonen, it's still probably a good idea to try out to do stuff with plain old debian before venturing into the truecrypt nether. [07:30:02.0000] <hsivonen> it doesn't inspire confidence in my backup to have it encrypted using a system that looks so flaky that I wouldn't be surprised at all if decryption and mounting failed the next time [07:31:00.0000] <hsivonen> erlehmann: Ubuntu is an ancient African word for "Don't want to configure Debian." [07:32:00.0000] <erlehmann> hsivonen, it's been a long time since that was truthiness. [07:32:01.0000] <erlehmann> okay, maybe 3 years ;) [07:34:00.0000] <jgraham> Philip`: I think I was saying that to prove that I am not ashamed of the fact :) [07:48:00.0000] <AryehGregor> hsivonen, "Yeah, I can do it, but it kind of defeats the whole point of a distribution for me. So I like the ones that have a name of being easy to use. I've never used plain Debian, for example, but I like Ubuntu." --Linus Torvalds [12:09:00.0000] <AryehGregor> Crazy Opera range mutation bug: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1028 [12:09:01.0000] <AryehGregor> Sets a range's offset to greater than the length of its node. [12:10:00.0000] <AryehGregor> Unpredictably breaks some of my tests in Opera. :( [14:05:00.0000] <hober> Is @boriszbarksy actually him? [14:05:01.0000] <Ms2ger> bz is @bz_moz, I think [14:06:00.0000] <hober> ahh, indeed, thanks [14:33:00.0000] <smaug____> AryehGregor: I think you'll find strange bugs in all the range implementations if you do some mutation event trickery ;) [14:33:01.0000] <AryehGregor> smaug____, I'm not touching mutation events. [14:33:02.0000] <AryehGregor> My current theory is that if I pretend they don't exist, they'll go away. [14:33:03.0000] <AryehGregor> Also, none of the specs I depend on define how they behave. [14:34:00.0000] <AryehGregor> If I wanted to handle them in any meaningful way, they'd have to be precisely defined in DOM Core or such first. [14:34:01.0000] <smaug____> I don't really care about DOM core yet [14:34:02.0000] <smaug____> I mean the Web DOM core [14:36:00.0000] <AryehGregor> What do you mean? [14:36:01.0000] <smaug____> I mean anything in it may still change [14:36:02.0000] <smaug____> it is not reviewed etc. [14:36:03.0000] <AryehGregor> Well, the same is true for any standard of significance. [14:37:00.0000] <AryehGregor> It won't get reviewed if implementers don't care about it. :) [14:38:00.0000] <smaug____> it is also not clear why it needs to have the event stuff [14:38:01.0000] <smaug____> I could understand if it had mutation events [14:38:02.0000] <smaug____> since they are about DOM tree [14:39:00.0000] <AryehGregor> All I know is, it's the only DOM Core spec around that's actively maintained or tries to match implementations exactly, so it's the only one I use. [14:39:01.0000] <AryehGregor> I report bugs when I find them. [14:39:02.0000] <smaug____> it doesn't only try to match implementation but also make some (good) major changes [14:40:00.0000] <smaug____> so yes, I support the work [14:40:01.0000] <smaug____> but I just feel it is still quite early draft [14:42:00.0000] <jgraham> That may be true but it is still more useful than the decade-old DOM 3 stuff [15:02:00.0000] <Hixie> jgraham: for http://www.w3.org/Bugs/Public/show_bug.cgi?id=12299 do you mind if i just don't mention in the domintro cases what happens if the value is out of range? [15:06:00.0000] <Hixie> hm i guess that doesn't help for propertyNodeList.namedItem() vs [] [15:12:00.0000] <jgraham> Hixie: I will just let you answer your own questions [15:12:01.0000] <jgraham> :) [15:13:00.0000] <jgraham> But yeah in general I am not that bothered about the non-normative text covering this; I would much rather it was missing than wrong [15:15:00.0000] <Hixie> k [15:15:01.0000] <Hixie> i wonder how to fix this 2011-06-15 [17:07:00.0000] <Hixie> uh oh [17:07:01.0000] <Hixie> another parser change [17:08:00.0000] <Hixie> pretty minor, but still [17:08:01.0000] <Hixie> (nulls in mathml <mo>, <mn>, etc) [17:42:00.0000] <beowulf> hi, what part of a browser handles window.innerWidth values? is it anything to do with the js engine (by that I mean, V8 or Nitro, or what have you)? [17:53:00.0000] <Hixie> no [17:54:00.0000] <beowulf> ta [18:03:00.0000] <Hixie> http://lists.w3.org/Archives/Public/www-validator/2011Jan/0057.html [18:03:01.0000] <Hixie> "ad hoc checker" o_O [18:59:00.0000] <TabAtkins_> Suppose that I wanted to define a feature such that UAs could scan the content of a page, determine what codepoints are used, and then lazily request only the necessary codepoints from a font via some variant of range requests. [18:59:01.0000] <TabAtkins_> What group would I talk to about this? [18:59:02.0000] <erlehmann> this sounds crazy. [19:00:00.0000] <TabAtkins_> Irrelevant to my question. ^_^ [19:00:01.0000] <erlehmann> let me check if it is feasible. [19:01:00.0000] <gsnedders> TabAtkins_: CSS3 Fonts defines fetching behaviour? Or not? [19:01:01.0000] <TabAtkins_> gsnedders: No. [19:01:02.0000] <gsnedders> TabAtkins_: Also, what happens if I mutate the DOM and add more codepoints? [19:02:00.0000] <TabAtkins_> gsnedders: Not my problem directly. I'm asking for a friend. Presumably, additional requests. [19:02:01.0000] <gsnedders> TabAtkins_: I guess www-style is as good a place as any… [19:03:00.0000] <TabAtkins_> We were thinking of starting with www-font, but this is barely an issue about fonts themselves. It's a protocol issue, mainly, as the important part is the codepoint-range request. [19:09:00.0000] <erlehmann> TabAtkins_, is it really a protocol issue? i remember range requests working quite well with ogg media. [19:11:00.0000] <TabAtkins_> erlehmann: Kinda? Not sure how you'd handle it without protocol changes, unless you have a format where you can predict the codepoint locations. [19:11:01.0000] <erlehmann> TabAtkins_, that is the question, if you can do that. i tried to look it up but i am dizzy. it is 3:15AM local time, i go to sleep. [19:12:00.0000] <erlehmann> s/if/whether/g [19:55:00.0000] <roc> TabAtkins: the group depends on how you want to do this [19:56:00.0000] <roc> you should ask your "friend" if they can get by with hand-subsetted fonts and unicode-range [19:57:00.0000] <TabAtkins> roc: The idea is to pursue this as a line of experimentation for Chrome, so apparently the answer is no. ^_^ [19:58:00.0000] <roc> It may be over-generous to assume that existing APIs have been fully explored [19:59:00.0000] <roc> we seem to frequently get feature requests where that is not the case [20:00:00.0000] <TabAtkins> I know that in my chatting with the dude, he explicitly talks about why subsetting is unsatisfactory. [20:00:01.0000] <roc> What is it? [20:01:00.0000] <roc> anyway, the point stands: if you have a proposal, you can figure out what group(s) it should go to, but if you only have a problem statement, it's unclear [20:01:01.0000] <TabAtkins> Because you have to subset separately for every page if you want maximum efficiency, and monitor page changes so you know if you need to rengerate yoru subsets. [20:01:02.0000] <roc> that's not what I'm saying [20:01:03.0000] <TabAtkins> I have a problem statement. [20:01:04.0000] <roc> because what I said was totally unclear [20:01:05.0000] <TabAtkins> Heh. [20:02:00.0000] <roc> How about this: split your font into a number of different fonts, each covering some range of Unicode characters [20:02:01.0000] <roc> then apply all those fonts to the page with CSS 'unicode-range' [20:02:02.0000] <roc> A browser implementation should automatically load the subset-font(s) that are needed [20:03:00.0000] <TabAtkins> Interesting. Didn't realize we should do that. [20:03:01.0000] <roc> even if an implementation currently doesn't, it could [20:04:00.0000] <roc> I can believe that approach doesn't work well; maybe there is no adequate choice for the granularity of the subset fonts [20:04:01.0000] <roc> but I hope it's been tried [20:04:02.0000] <TabAtkins> I don't know if it has. [20:04:03.0000] <TabAtkins> Bringing it up now. [20:05:00.0000] <TabAtkins> (In email, so asynchronous.) [20:05:01.0000] <TabAtkins> In unrelated news, roc, I had a question for you about http://weblogs.mozillazine.org/roc/archives/2008/07/svg_paint_serve.html [20:05:02.0000] <TabAtkins> I don't understand the distinction you're drawing between the coordinate spaces there. [20:07:00.0000] <roc> if that doesn't work well, an alternative to consider would be to see if it's possible to lay out OpenType fonts cleverly and use byte-range requests to load desired subsets; again, no new API would be needed [20:08:00.0000] <TabAtkins> Yeah, that's something we wanted to broach somewhere. [20:09:00.0000] <roc> possibly you don't have to broach it anywhere [20:09:01.0000] <TabAtkins> Broach = raise in hearing of someone who knows what they're doing, so we know if it's possible. [20:09:02.0000] <roc> just start loading the font file, once you have sufficient headers, spin up a parallel load with byte-range requests for the data you want to get quicker [20:11:00.0000] <roc> TabAtkins: I think those coordinate spaces are effectively the same; I just defined them differently because they get used differently in SVG [20:12:00.0000] <roc> for example, if your element is 20px wide, then with userSpaceOnUse a width value of "1" is 1px, but with objectBoundingBox a width value of "1" would be 20px [20:13:00.0000] <TabAtkins> Hmm. [20:13:01.0000] <TabAtkins> Does that latter one actually do something useful? [20:14:00.0000] <roc> that is how objectBoundingBox coordinates work in SVG [20:15:00.0000] <roc> 0,0 is the top-left of the "object bounding box", 1,1 is the bottom right [20:15:01.0000] <TabAtkins> Oh, ok. I don't ever use that coordinate space, obviously. [20:15:02.0000] <roc> it's quite stupid, but that's how it works [20:16:00.0000] <TabAtkins> I was wanting to specify this behavior in Image Values, and I was scratching my head at it at first. [20:17:00.0000] <TabAtkins> Your definition of userSpaceOnUse is actually very useful for the eventual unification of <image> and paint servers that I'd like to do. [20:57:00.0000] <Hixie> TabAtkins: for the font thing, roc's suggestion is probably the best place to start, but if you need something with even fewer RTTs, then you could define your own units for a range request that was basically the same syntax as the css unicode-range [20:58:00.0000] <Hixie> TabAtkins: roc's suggestions, i should say [22:19:00.0000] <roc> nessy: I wasn't trying to make people with PhDs feel ashamed, far from it. But you don't write ", PhD" after your name, and people who do are usually putting on some intimidation, that's all [22:20:00.0000] <nessy> roc: I have no problem with that :-) [22:20:01.0000] <nessy> I probably just got half of a conversation last night [22:21:00.0000] <nessy> but I do get the feeling very often - not from you specifically, but more generally - that a PhD amongst engineers is being looked down on as a waste of time and lost time to do something more productive [22:21:01.0000] <nessy> and sometimes it's true, too :-) [22:22:00.0000] <nessy> but it's also life experience and it takes hard work to actually finish a thesis [22:22:01.0000] <nessy> anyway .. onto more productive things :-) [22:52:00.0000] <LoneStar99> is the right place to ask about html5 canvas? [23:00:00.0000] <hober> LoneStar99: sure [01:31:00.0000] <Dashiva> /me wonders what's going on with RDFa light inside members-only land [01:59:00.0000] <jgraham> Dashiva: I think the fact that it is going on in Members-only land should tell you all you need to know [02:00:00.0000] <jgraham> Apparently the concept of irony has been lost on these people [02:48:00.0000] <zcorpan> what's teh security problem with converting broken utf-8 to u+fffd in websockets? [03:24:00.0000] <zcorpan> foolip: <http://www.w3.org/mid/E1QWcRS-0002EY-8u⊙jwo> [03:26:00.0000] <foolip> zcorpan, what do you think about that? [03:27:00.0000] <foolip> HTMLTimeElement also has some extra IDL properties, are those not good for anything? [03:27:01.0000] <zcorpan> dunno [03:27:02.0000] <foolip> having an element for this purpose seems a bit odd though [03:27:03.0000] <zcorpan> yeah should be a global attribute [03:28:00.0000] <foolip> RDFa's content="" or a new itemvalue="" seems more reasonable [03:28:01.0000] <zcorpan> and no reason to drop <time> imo [03:28:02.0000] <foolip> in which case <time> can be left alone [03:28:03.0000] <foolip> right [03:28:04.0000] <foolip> although I think <time> is actually fairly useless [03:28:05.0000] <foolip> since it forbids marking up many kinds of times [03:29:00.0000] <foolip> not sure when it's better than just <span>, actually... [03:29:01.0000] <foolip> Looks like I don't have a strong opinion either way :) [03:30:00.0000] <zcorpan> will you comment on the bug anyway? [03:32:00.0000] <foolip> OK [03:34:00.0000] <jgraham> ooh more longdesc drama [03:34:01.0000] <jgraham> /me gets popcorn [03:44:00.0000] <matjas> hmm, can anyone respond to http://bugzilla.validator.nu/show_bug.cgi?id=841#c1? [03:45:00.0000] <matjas> i thought i got it the other day but now i’m confused again [03:48:00.0000] <zcorpan> replied [03:49:00.0000] <matjas> thanks, zcorpan [03:50:00.0000] <matjas> zcorpan: so is my bug title incorrect? [03:50:01.0000] <zcorpan> i'm sure hsivonen understands what it means [03:51:00.0000] <matjas> I want to understand too :) [03:51:01.0000] <matjas> is `href=foo?bar=1&baz=42` allowed or not? [03:51:02.0000] <zcorpan> it is allowed, and it does not contain any ambiguous ampersands [03:52:00.0000] <zcorpan> read the definition of ambiguous ampersand carefully [03:52:01.0000] <matjas> http://www.whatwg.org/specs/web-apps/current-work/complete/syntax.html#syntax-ambiguous-ampersand [03:52:02.0000] <matjas> oh because it’s not followed by `;` [03:53:00.0000] <zcorpan> yes [03:54:00.0000] <matjas> so where in the spec does it say the unencoded & there is allowed? [03:54:01.0000] <Ms2ger> It doesn't need to, does it? [03:54:02.0000] <zcorpan> "Attribute values are a mixture of text and character references, except with the additional restriction that the text cannot contain an ambiguous ampersand." [03:55:00.0000] <zcorpan> "text" does not ban & [03:55:01.0000] <zcorpan> (but bans U+0000 for instance) [03:56:00.0000] <matjas> but <p>foo&bar</p> isn’t allowed [03:56:01.0000] <matjas> even though “Text is allowed inside elements, attribute values, and comments.” [03:57:00.0000] <zcorpan> that's allowed afaict [03:57:01.0000] <zcorpan> /me reads the parser section to see if it matches the author section [03:57:02.0000] <matjas> not according to validator.nu — is that a separate issue then? [03:59:00.0000] <zcorpan> parser section matches [04:00:00.0000] <zcorpan> it's the same issue [04:00:01.0000] <matjas> okay, so the problem is that the definition of ambiguous ampersand changed [04:00:02.0000] <zcorpan> yes [04:01:00.0000] <zcorpan> and the parser changed what is a parse error to match [04:01:01.0000] <matjas> before the change previously stuff like href="foo&bar" had an ambiguous ampersand? [04:01:02.0000] <matjas> or what [04:01:03.0000] <zcorpan> yes [04:01:04.0000] <matjas> ok [04:01:05.0000] <matjas> so the ; requirement is new [04:01:06.0000] <matjas> i think i finally get it [04:01:07.0000] <zcorpan> :) [04:01:08.0000] <matjas> thanks for your patience, zcorpan [04:03:00.0000] <zcorpan> the parser also changed behavior for &copy= which v.nu also doesn't seem to have implemented [04:03:01.0000] <zcorpan> (in attributes) [04:03:02.0000] <matjas> what about it? [04:04:00.0000] <matjas> `href=&copy=` shouldn’t be allowed, right? [04:08:00.0000] <matjas> are all ambiguous ampersands invalid? [04:13:00.0000] <zcorpan> they are invalid but &copy= is parsed differently in attribute value and text content [04:13:01.0000] <zcorpan> but it seems that was actually implemented, i didn't test properly [04:27:00.0000] <Workshiva> Looking at setting selection and whether it triggers focus [04:28:00.0000] <Workshiva> From what I see html5 doesn't specify a focus event being fired for select() nor for setSelectionRange. However, the MDC docs specify that select() also fires focus. [04:28:01.0000] <Workshiva> And it seems Chrome fires a focus event for both of them. [04:37:00.0000] <Ms2ger> File a bug, Hixie will figure it out by Christmas [04:38:00.0000] <Workshiva> I'm looking for someone to say they've already looked into that and tell me what the resolution is going to be ;) [04:48:00.0000] <jgraham> /me just got a YSOD is spotify [04:48:01.0000] <jgraham> *in [05:54:00.0000] <zcorpan> TabAtkins: the default style for <a>, <ins> and <del> interact badly with blocks as well [06:15:00.0000] <Philip`> TabAtkins: Requesting codepoints from a font is tricky because of glyph substitutions (ligatures etc) - you can't treat each codepoint individually when deciding what bytes to download, you have to know the entire set to determine which glyphs might get used [06:16:00.0000] <Philip`> (and you can't do it by downloading the whole GSUB table and letting the client figure out the glyphs to request instead of codepoints, because that table might be hundreds of KB and would defeat the point of subsetting) [06:18:00.0000] <Philip`> Also I believe you need to dynamically compute a new GSUB table for the subset (to avoid downloading the entire thing), you can't just use a range of its original bytes [06:20:00.0000] <Philip`> (The old WEFT tool didn't recompute GSUB, it just deleted some glyph data, which is much easier but results in much larger font files) [06:20:01.0000] <boblet> Philip`: isn’t Typekit linking to several partial @font-face files as a form of obfuscation or something? [06:21:00.0000] <Philip`> boblet: Don't know, but maybe [06:21:01.0000] <erlehmann> boblet, show it. [06:21:02.0000] <boblet> I thought I read something about that when it was released. No personal knowledge [06:21:03.0000] <Philip`> It's quite possible they don't care about things like ligatures or languages that rely heavily on substitutions [06:24:00.0000] <boblet> as for TabAtkins’ usecase, it would be rad to download a basic set then request other glyphs as needed for East Asian typography [06:24:01.0000] <Philip`> http://help.typekit.com/customer/portal/articles/8071-support-for-different-languages-on-typekit suggests the only languages they support are Latin alphabet ones [06:24:02.0000] <boblet> Services like Typekit could create a CMS plugin that checks for all used characters across a site then make a site-specific subset, updating when content changes. But once the site gets large this isn’t so useful (except when kanji is involved) [06:25:00.0000] <boblet> Philip`: they have at least two (freebie) Japanese fonts [06:26:00.0000] <boblet> “We split requested fonts into multiple files and recombine them using the CSS font stack” http://blog.typekit.com/2009/07/21/serving-and-protecting-fonts-on-the-web/ [06:26:01.0000] <boblet> erlehmann: ^ ;) [06:27:00.0000] <Philip`> I think Japanese is easy too - things like Arabic and Devanagari etc are hard since they rely on complex shaping [06:27:01.0000] <erlehmann> TabAtkins, isn't fontkits way the easiest? [06:28:00.0000] <jgraham> Isn't japanese even easier since it doesn't have ligatures at all? Does it even have combining characters? [06:28:01.0000] <boblet> Philip`: true. was thinking more of the initial filesize of Japanese fonts. The M+ fonts are like 350KB per weight [06:28:02.0000] <boblet> jgraham: no combining characters, but 8,000+ glyphs [06:30:00.0000] <jgraham> Oh look I am wrong http://www.quora.com/Are-there-any-ligatures-in-CJK [06:33:00.0000] <boblet> jgraham: pretty sure those are individual glyphs not ligatures. as in キ and ロ and ㌔ are three separate code points (rather than ㌔ being made from resized/repositioned キロ) [06:34:00.0000] <boblet> the Mac Japanese Input Menu flags ㌔ as “Contains JIS X0213 unique characters” [06:36:00.0000] <boblet> If you wanted to enter ㌔ you’d have to manually select it — it wouldn’t be automatically replaced as with a western ligature [07:47:00.0000] <smaug____> zewt: ping [09:15:00.0000] <Ms2ger> What's up with http://dev.w3.org/html5/2dcontext/ being out of date? [09:24:00.0000] <David_Bradbury> Ms2ger: Maybe there haven't been any changes proposed, though updating the date to reflect that might be nice. [09:24:01.0000] <Ms2ger> There have been [09:25:00.0000] <David_Bradbury> Hmm... Then I'd poke Hixie ^ [09:26:00.0000] <Philip`> Maybe any new commits would overwrite the application of issue 131's resolution, and cause unhappiness [09:26:01.0000] <Philip`> (http://dev.w3.org/cvsweb/html5/2dcontext/Overview.html) [09:27:00.0000] <David_Bradbury> So, when are we going to start seeing the new 4D Cavnas Context gaining support? :p [11:59:00.0000] <volkmar> AryehGregor: ping [11:59:01.0000] <AryehGregor> volkmar, pong. [11:59:02.0000] <volkmar> AryehGregor: i saw you were involved in a discussion about input in DOM 3 Events... do you know, by any chance why textinput is specidified and not input? [12:00:00.0000] <AryehGregor> volkmar, was I? I don't know anything about events, sorry. [12:00:01.0000] <volkmar> AryehGregor: i were :) [12:00:02.0000] <AryehGregor> Never read any specs for them or anything. [12:00:03.0000] <volkmar> oups, you were [12:00:04.0000] <AryehGregor> You were what? [12:00:05.0000] <AryehGregor> Oh. [12:00:06.0000] <volkmar> /me is tired [12:01:00.0000] <AryehGregor> Was that the one where I said something then immediately realized I misunderstood and retracted what I said? [12:01:01.0000] <volkmar> AryehGregor: it was a thread with someone asking for onvaluechanged [12:02:00.0000] <AryehGregor> /me doesn't remember [12:02:01.0000] <volkmar> anyway, i will read more of the search results... the reason might pop out [12:03:00.0000] <Ms2ger> shepazutoo, ^ [12:07:00.0000] <volkmar> ok, i filed a bug and I will see... [12:07:01.0000] <volkmar> /me wonders why 'change' i [12:07:02.0000] <volkmar> isn't specced too [13:08:00.0000] <zewt> smaug____: pong [13:20:00.0000] <smaug____> zewt: you said something about default handling not being part of dispatchEvent [13:20:01.0000] <smaug____> just FYI, it is in all the browsers [13:21:00.0000] <smaug____> zewt: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12949#c5 [13:22:00.0000] <smaug____> it is the specs which don't match reality [13:22:01.0000] <smaug____> well, DOM 3 Events nor Web DOM Core don't need to specify default handling [13:24:00.0000] <zewt> dom 3 events says that default handlers don't happen for untrusted events, and that includes all events dispatched with dispatchEvent (except for i think one exception, which I'm having trouble recalling) [13:24:01.0000] <smaug____> that is a different [13:24:02.0000] <zewt> it's not; it means that dispatchEvent will never (modulo whatever that exception was) cause default handling to occur [13:24:03.0000] <smaug____> it could be a bug that default handlers fire when untrusted event is dispatched [13:25:00.0000] <smaug____> but it does not mean that default handling is not part of event dispatch [13:26:00.0000] <zewt> but it's not part of event dispatch :) [13:26:01.0000] <zewt> it may be implemented that way by browsers, but as that has no (that I'm aware of) visible side-effects it's not really relevant [13:26:02.0000] <smaug____> But yes, DOM 3 Events is probably too strict [13:27:00.0000] <zewt> the event model is if(dispatchEvent(e)) doDefaultBehavior(), not dispatchEvent(e, doDefaultBehavior)--the default behavior is logically part of whoever's calling for a dispatch, not internal to dispatch itself [13:29:00.0000] <smaug____> in practice the event model pre-handle-event, dispatch the event to DOM, post-handle-event [13:29:01.0000] <smaug____> event model is... [13:30:00.0000] <zewt> that's internal implementation details--can you explain what effect that has on the specced behavior? [13:30:01.0000] <zewt> in other words, what's the difference [13:30:02.0000] <smaug____> See the example http://www.w3.org/Bugs/Public/show_bug.cgi?id=12949#c5 [13:31:00.0000] <smaug____> dispatching event does do the default handling [13:32:00.0000] <zewt> yeah i think that's the odd exception, which should be treated as such--it should certainly be specced, but only to define the exception, not to change the event model to suit it [13:33:00.0000] <smaug____> but that is how browsers work [13:33:01.0000] <smaug____> the default handling is part of event dispatch [13:33:02.0000] <zewt> that just doesn't matter, it's the visible behavior that matters [13:33:03.0000] <smaug____> what we should define is that in which cases default handling can be triggered using untrusted events [13:34:00.0000] <zewt> and onclick is just a weird legacy exception [13:35:00.0000] <smaug____> It would be just easier to define the reality [13:35:01.0000] <smaug____> that default handling is part of event dispatch, and in x, y, and z cases untrusted events can trigger default handling [13:35:02.0000] <zewt> the reality is that default handling is not part of event dispatch, from the perspective of visible behavior [13:35:03.0000] <smaug____> that is not trie [13:35:04.0000] <smaug____> true [13:36:00.0000] <zewt> yes it is [13:36:01.0000] <smaug____> my example is an example where it is not [13:36:02.0000] <zewt> like i said (two or three times :) that's the odd exception, behavior that doesn't match how the event model works for everything else [13:37:00.0000] <smaug____> what "for everything else" [13:37:01.0000] <smaug____> where does the event model work differently [13:37:02.0000] <smaug____> I'd like to see an example [13:38:00.0000] <zewt> huh? you've given the *only* case I'm aware of where default behavior ends up being part of dispatch [13:39:00.0000] <zewt> and I'm certainly not arguing against speccing that behavior, but it should be treated as exceptional compatibility behavior, not as an argument that the entire event model should be based on that [13:39:01.0000] <smaug____> I'd like to see an example where the default handling is not part of the event dispatch. (it is possible that untrusted events don't trigger default handling) [13:41:00.0000] <zewt> every dispatchEvent() call in javascript; the default behavior is whatever you do if it returns true [13:41:01.0000] <smaug____> I'm not talking about script libraries [13:41:02.0000] <smaug____> but browser implementations [13:41:03.0000] <zewt> scripts are intrinsic to the event model. [13:42:00.0000] <smaug____> link handling works the same way as changing checked state. you dispatch event and the default handling for <a> triggers the navigation [13:42:01.0000] <smaug____> etc [13:43:00.0000] <mpilgrim> there's really no compilation shortcuts after you've changed 500 IDL files [13:44:00.0000] <smaug____> form submission has the default handling during event dispatch [13:44:01.0000] <zewt> not in my experience [13:44:02.0000] <zewt> var e = document.createEvent("HTMLEvents"); e.initEvent("submit", true, true); form.dispatchEvent(e); [13:44:03.0000] <zewt> if(!e.stopped) form.submit(); [13:45:00.0000] <zewt> ^ i've had to write code like that because it's not [13:46:00.0000] <smaug____> what is e.stopped? [13:46:01.0000] <zewt> (pardoning the ugly prototype.js-ism) [13:46:02.0000] <zewt> if(form.dispatchEvent(e)) form.submit(); [13:52:00.0000] <smaug____> dispatching submit event submits the form at least in Fx and Opera [13:52:01.0000] <smaug____> again, the difference in default handling can be that some browsers don't allow untrusted events to dispatch the event [13:52:02.0000] <smaug____> er [13:53:00.0000] <smaug____> again, the difference in default handling can be that some browsers don't allow untrusted events to do the default handling [13:53:01.0000] <zewt> it's the same thing (as far as visible behavior is concerned) [13:54:00.0000] <zewt> when it's a browser-dispatched event there's no difference whether default behavior is implemented inside dispatchEvent or not [13:54:01.0000] <smaug____> yeah [13:54:02.0000] <smaug____> it is the default handling of untrusted events [13:54:03.0000] <smaug____> which needs to be defined [13:55:00.0000] <smaug____> so click() can just dispatch click event and we need to define in which case untrusted events can trigger d.efault handling [13:55:01.0000] <smaug____> and the problem is solved :) [13:56:00.0000] <zewt> rather, these exceptional behaviors should be called something else, and defined as the rare exceptions they are [13:57:00.0000] <zewt> not by changing the whole event model to revolve around the one (maybe two) exceptions [13:57:01.0000] <smaug____> huh. I don't understand why we couldn't define the reality. [13:57:02.0000] <smaug____> that way click() would have strange special powers [13:58:00.0000] <zewt> huh? you can submit a click event with dispatchEvent [13:58:01.0000] <smaug____> per spec click() does more than just dispatch click event [13:59:00.0000] <smaug____> but that is not the reality [13:59:01.0000] <zewt> i think it's perfectly fine for click() to be able to do something you can't do otherwise (that's what DOM APIs do), but I don't think that matters here [13:59:02.0000] <smaug____> hmm, sounds like this discussion is not leading to anywhere :) [13:59:03.0000] <zewt> anyway, we're going in circles, and I'm not the one you need to convince anyway :) [14:00:00.0000] <smaug____> I will just reject all the insane changes to event handling in an implementation :) [14:00:01.0000] <zewt> i don't think it changes implementation behavior--so long as the weird exceptions are specced, which again (at least in DOM Core) they aren't yet [14:01:00.0000] <zewt> happen to know when Anne's due back? [14:01:01.0000] <smaug____> don't remember [14:02:00.0000] <Ms2ger> Today [14:03:00.0000] <zewt> i don't envy him his backlog, heh [14:27:00.0000] <AryehGregor> Can someone with an MDN wiki account change the spec reference here to point to CSSOM View instead of an outdated HTML5 link? https://developer.mozilla.org/en/DOM/element.scrollIntoView http://dev.w3.org/csswg/cssom-view/#dom-element-scrollintoview [14:49:00.0000] <AryehGregor> Wow, manual tests are staggeringly boring. [14:49:01.0000] <AryehGregor> Even if you can run a couple a second by just repeatedly hitting the same key, and cache the results. [14:50:00.0000] <smaug____> AryehGregor: just a second, I'll change or ask someone to change [14:50:01.0000] <smaug____> the link [14:51:00.0000] <AryehGregor> I need a small mechanical device that will press a key repeatedly for me so I can do something else in the meantime. [14:51:01.0000] <AryehGregor> smaug____, thanks. [14:59:00.0000] <smaug____> AryehGregor: updated [14:59:01.0000] <AryehGregor> smaug____, thanks. [15:36:00.0000] <AryehGregor> It's annoying when I get close to the end of a day and have finished all the major work I have and don't want to start on a new thing because I wouldn't make any progress before I stopped for the day. [15:59:00.0000] <Hixie> idea for a new css selector (based on some stuff i've talked about before): [16:00:00.0000] <Hixie> a new set of attribute selectors where the first character of the attribute is punctuation, e.g.: [16:00:01.0000] <Hixie> input[.value=foo], or video[.readyState=2] [16:01:00.0000] <Hixie> it works just like regular attribute selectors, except the value comes from the IDL attribute with the given name [16:01:01.0000] <Hixie> and to specify which IDL attributes this works with, we have a new annotation on the attributes in the IDL [16:01:02.0000] <Hixie> e.g. [ExposeToCSS] readonly attribute DOMString value; [16:01:03.0000] <smaug____> [ExposeToCSS] would work with only some types, right? [16:02:00.0000] <Hixie> yeah [16:02:01.0000] <Hixie> probably just DOMString, long, maybe boolean if we define it as presence vs absence [16:03:00.0000] <Hixie> we could also have a combinator that works via attributes that return elements [16:03:01.0000] <smaug____> and the use case is? [16:03:02.0000] <Hixie> e.g. foo /bar/ baz, where "bar" is an attribute, so e.g. img /usemap/ map selects the map of the img [16:03:03.0000] <Hixie> many use cases, e.g. selecting input elements based on their current vlaue [16:04:00.0000] <Hixie> value [16:04:01.0000] <Hixie> if we had this, we could replace :checked with [.checked], and wouldn't need to introduce new ones each time we have something else to select on [16:04:02.0000] <Dashiva> I like the sound of that [16:04:03.0000] <Hixie> e.g. instead of video:paused we can have video[.paused] [16:04:04.0000] <smaug____> yeah, sounds good [16:05:00.0000] <Hixie> the combinator is useful for e.g. selecting the control for a label, e.g. label:active /control/ input { border: thick; } [16:05:01.0000] <hober> hmm [16:05:02.0000] <smaug____> but might be tricky to implement [16:05:03.0000] <Hixie> yeah definitely tricky to implement! [16:05:04.0000] <hober> could be worth posting to www-style [16:06:00.0000] <roc> it's going to be a nightmare to implement [16:06:01.0000] <Hixie> ((fwiw, i've suggested both [.foo] and /foo/ before, the new insight here is using an IDL annotation to opt-in attributes to make this work) [16:06:02.0000] <roc> depending on which attributes you apply it to [16:06:03.0000] <smaug____> actually, I'd assume it would be very hard to make it work *fast* [16:07:00.0000] <Hixie> well like roc says, it depends a lot on what we expose [16:07:01.0000] <roc> the code for "compute me the value of this function" is often orders of magnitude easier than "signal me whenever the computed value of this function would change" [16:07:02.0000] <Hixie> indeed [16:11:00.0000] <Hixie> is there any reason other than "history" for using NodeList vs HTMLCollection? [16:12:00.0000] <Hixie> i guess nodelist can't be accessed by name [16:12:01.0000] <Hixie> uh oh, domcore has stuff that html currently has and they're getting out of sync [16:13:00.0000] <Hixie> i hope the domcore stuff is just a straight copy so it can be updated easily once i get around to nuking the stuff in html [16:18:00.0000] <AryehGregor> Is there any reason to have generic syntax like video[.paused] if it will only work for an extremely small segment of attributes anyway? [16:18:01.0000] <AryehGregor> It only makes sense if it's defined to work for a pretty broad class of attributes. [16:18:02.0000] <Hixie> why would it be "extremely small"? [16:19:00.0000] <AryehGregor> Because CSS selectors are very performance-sensitive, and it would be hard to make most IDL attributes work here. [16:20:00.0000] <AryehGregor> Implementations do stuff like intern strings so they don't have to do strcmp() when evaluating CSS selectors. Something like checking JS attributes would presumably be hard if you include lots of them. [16:20:01.0000] <AryehGregor> It might make sense even with only a small set of attributes, though. [16:20:02.0000] <Hixie> why is it ok with content attributes but not IDL attributes? [16:20:03.0000] <AryehGregor> Because then JS and CSS knowledge would be more transferrable. [16:21:00.0000] <AryehGregor> Because content attributes have a static value and are all updated through the same codepaths, IDL attributes can return something different every time you get them and they're updated through tons of different codepaths. [16:21:01.0000] <AryehGregor> Or they might not even have a value stored in any specific place at all. [16:21:02.0000] <AryehGregor> They might secretly trigger code that's specific to that particular attribute. [16:21:03.0000] <AryehGregor> Like, I dunno, querying some video-playing framework to determine if a video is paused or not, which might involve a whole bunch of function calls. [16:22:00.0000] <Hixie> well it depends on the IDL attribute [16:22:01.0000] <Hixie> most IDL attributes just reflect the content attributes, so it seems they'd be equivalent [16:22:02.0000] <Hixie> HTMLMediaElement.paused doesn't update dynamically, it's just a settabel boolean [16:22:03.0000] <Hixie> settable [16:22:04.0000] <AryehGregor> If browsers are okay with keeping two copies of everything, yeah. Maybe they already do that, in fact. [16:23:00.0000] <Hixie> you wouldn't need to keep two copies of everything, only of the attributes that you've found the css references [16:23:01.0000] <Hixie> and actually you wouldn't need to keep two copies in most cases, if they're the same [16:23:02.0000] <AryehGregor> Not for regular DOMString, no, but the common case for other types is they're not the same. [16:24:00.0000] <AryehGregor> Like all non-DOMString types. [16:24:01.0000] <AryehGregor> Many URLs aren't absolute, either. [16:24:02.0000] <AryehGregor> Enums are probably going to be exactly the same less often than not. [16:24:03.0000] <AryehGregor> But it would be useful to be able to query the actual enum state, so you don't have to worry about case variations and defaults and so on. [16:25:00.0000] <Hixie> <a href=""> already has to be checked against the history, I don't see why img[.src] (say) would be any worse, perf wise [16:25:01.0000] <AryehGregor> In fact, CSS 2.1 has some wording about attribute default values for exactly this reason. [16:25:02.0000] <Philip`> For IDL attributes that reflect content attributes, I assume you could just use the content attribute CSS selectors - the only interesting cases for the new selector are the non-reflective ones [16:25:03.0000] <Hixie> Philip`: the idl attributes tend to do some processing that might be interesting [16:25:04.0000] <AryehGregor> Philip`, not if the attribute reflects interestingly, like enumerated attributes. [16:26:00.0000] <AryehGregor> Or numbers, if you're worried you might have weirdly-formatted numbers. [16:26:01.0000] <AryehGregor> Not booleans or regular DOMStrings, no. [16:43:00.0000] <AryehGregor> Hixie, I accidentally sent a mail to whatwg a little while ago from the wrong address. Can you approve it? [16:44:00.0000] <AryehGregor> (if you don't answer within a few minutes, I'll just resend it, but someone I CC'd already responded on-list, so it would be confusing) [16:44:01.0000] <Hixie> yeah one sec [16:49:00.0000] <AryehGregor> Hixie, have you approved it yet? I have to leave in a few seconds and want to make sure the post is out before I do. [16:50:00.0000] <Hixie> sorry, couple of things bumped it down my stack [16:50:01.0000] <Hixie> getting to it now [16:50:02.0000] <Hixie> moderator says there's no pending requests [16:50:03.0000] <Hixie> looks like i have invalid addresses set to bounce permanently [16:50:04.0000] <Hixie> i think i set that because of the high volume of spam [16:50:05.0000] <AryehGregor> Okay, I'll resend it. [16:52:00.0000] <AryehGregor> Gmail could really use smarter list handling. [16:53:00.0000] <AryehGregor> Like: 1) Allowing you to easily reply to multiple posts in a thread in one e-mail (would be good for some private conversations too). 2) Flagging posts that were made off-list so you don't accidentally reply on-list (hi TabAtkins!). 3) Warning you if you try sending from the wrong address. [16:54:00.0000] <Hixie> why do you think i use pine for this stuff :-) [16:54:01.0000] <Hixie> my mail routes through gmail but i use pine as my frontend [16:54:02.0000] <AryehGregor> Did you ever give Gmail's interface a real try, or were you used to pine already and didn't bother? [16:55:00.0000] <Hixie> i use gmail for all my work mail [16:55:01.0000] <AryehGregor> My e-mail UI experience went from AOL to Gmail and that's it, I never tried anything else. [16:55:02.0000] <Hixie> where work = google internal, not, you know, my actual work... [16:55:03.0000] <AryehGregor> Gmail works well enough for me, but it would be nice if I could easily script it. 2011-06-16 [17:01:00.0000] <Hixie> can anyone recall where we dicussed the idea of making Window have a prototype chain on which we put the named items? [17:01:01.0000] <Hixie> i can't find either bug or mail about it [17:05:00.0000] <zewt> gmail works well for most things, but yeah, random little things missing (which aren't so little when you need them) [17:05:01.0000] <Hixie> hober: i assume the copyright on http://www.w3.org/Bugs/Public/show_bug.cgi?id=12409 is a mistake? :-) [17:05:02.0000] <zewt> complete lack of sorting is pretty bad [17:06:00.0000] <zewt> actually the biggest is the inability to view non-list mails, eg. things with no labels; they just fall into the abyss of "all mail" [17:07:00.0000] <hober> Hixie: yes, indeed [17:07:01.0000] <hober> Hixie: forgot to strip that out before copying and pasting the proposal into the textarea [17:07:02.0000] <hober> Hixie: I can comment there to that effect if you'd like [17:08:00.0000] <Hixie> nah, no worries [17:08:01.0000] <Hixie> i was just amused :-) [17:08:02.0000] <hober> yeah, i noticed that like 2 minutes after hitting submit [17:08:03.0000] <hober> and was sadface [17:32:00.0000] <TabAtkins> Hixie: I think that's on our list of "possible Selectors 4" things. [17:32:01.0000] <Hixie> they've been on the list of possible things since 2002 or before [17:32:02.0000] <Hixie> but the interesting new thing is the idl annotations [17:33:00.0000] <Hixie> btw i've started http://wiki.whatwg.org/wiki/Dialogs to collect research on pages that use dialog boxes [17:33:01.0000] <TabAtkins> Ooh, kk. [17:33:02.0000] <TabAtkins> There's unescaped html on that page, btw. [17:34:00.0000] <Hixie> i hate wiki syntax [17:34:01.0000] <Hixie> it can't make its mind up about whether it's HTML or not [17:34:02.0000] <TabAtkins> Indeed. [17:34:03.0000] <Hixie> (thanks, fixed) [17:35:00.0000] <hober> Hixie: ahh, cool. I've been looking into dialogs lately, to determine what sort of CP (if any) to write for ISSUE-133 [17:35:01.0000] <Hixie> that's all we need, language design by issue process :-) [17:35:02.0000] <hober> heh [17:36:00.0000] <Hixie> i plan to be doing something along those lines in the coming weeks [17:36:01.0000] <Hixie> (though certainly not by the deadline for that issue) [17:36:02.0000] <hober> I'm leaning toward writing a zero-edit CP that says basically "there are valid use cases, but the other CP's proposal is woefully underspecified and broken, and to do it right would require a lot of work. let's punt until html.next" [17:37:00.0000] <Hixie> haha [17:37:01.0000] <Hixie> /me reads said CP [17:37:02.0000] <Hixie> you should totally just not post a CCP and let the chairs say this one is gold [17:37:03.0000] <Hixie> that would just be funny [17:37:04.0000] <boogyman> are you talking to yourself Ian? [17:38:00.0000] <Hixie> hober != Hixie [17:38:01.0000] <hober> If I don't do said CP, I'll do a proper one with a decent design, which would require a time extension [17:39:00.0000] <Hixie> hober: i expect we can probably do something pretty simple that hits the majority of use cases [17:39:01.0000] <Hixie> hober: but first i need to figure out what the use cases are :-) [17:39:02.0000] <Hixie> (hence the wiki page) [17:40:00.0000] <hober> Hixie: yeah, I'll be contributing to the wiki page [17:40:01.0000] <Hixie> basically whenever i come across a dialog i'll take a screenshot and paste the url or markup used to the page [17:40:02.0000] <hober> Hixie: I think stev'e content attribute is totally broken [17:40:03.0000] <Hixie> i kinda just want to see what the chairs would do if something that broken were to be the only proposal [17:41:00.0000] <hober> Hixie: there would be a call for consensus on the existing cp, and all the usual suspects would object in the poll because the cp is so bad [17:41:01.0000] <Hixie> they don't do polls if there's just one cp [17:42:00.0000] <Hixie> and honestly i'm not sure how many of the usual suspects would notice the call [17:42:01.0000] <hober> ok, so s/in the poll/on public-html/ [17:42:02.0000] <hober> fair enough [21:04:00.0000] <Hixie> AryehGregor: dude how do you link to a category page in a wikimedia page? [21:05:00.0000] <Hixie> just a regular link, not the thing that makes the category appear at the bottom [22:01:00.0000] <Hixie> wtf [22:01:01.0000] <Hixie> how did that spam get through [22:03:00.0000] <MikeSmith> Hixie: hey, you pinged me about something last week. I'm guessing you probably don't remember now why [22:03:01.0000] <Hixie> i would have sent you mail or cc'ed you on the relevant bug or whatnot [22:03:02.0000] <MikeSmith> ok [22:03:03.0000] <Hixie> when i ping people these days it's just to see if i can get some quick reaction rather than letting it sit another 3 months for the next time i see the reply :-) [22:04:00.0000] <MikeSmith> hai [22:07:00.0000] <Hixie> well it looks like this spam lost its payload, so i'm just going to ignore it. i still don't understand how it got through the list's filters though. [22:18:00.0000] <MikeSmith> Hixie: does it have multiple From addresses? [22:19:00.0000] <Hixie> dunno, i deleted it [22:19:01.0000] <MikeSmith> OK [22:19:02.0000] <Hixie> didn't see multiple From addresses, but it could have [22:20:00.0000] <MikeSmith> /me checks and sees that it doesn't [00:22:00.0000] <mhausenblas> foolip around? [01:52:00.0000] <MikeSmith> «In validation proper, or in "DTD based validation", as opposite to the mixed-technology heuristic checker called HTML5 mode of the validator» [01:52:01.0000] <MikeSmith> http://lists.w3.org/Archives/Public/www-validator/2011Jun/0047.html [01:54:00.0000] <MikeSmith> hsivonen: btw, I updated the W3C validator backends today with latest from upstream [01:54:01.0000] <mhausenblas> ping foolip [01:55:00.0000] <foolip> pong mhausenblas [01:55:01.0000] <mhausenblas> heya [01:55:02.0000] <foolip> what's up? [01:55:03.0000] <mhausenblas> /me understands that you're quite active in the Schema.org discussion group [01:55:04.0000] <hsivonen> MikeSmith: cool. thanks. Let's see how that affect meta name and link rel bug reports [01:55:05.0000] <hsivonen> MikeSmith: let me guess. the email above is from Jukka. [01:55:06.0000] <mhausenblas> now, I was wondering if you'd like to do some joint work in Schema.org evangelism, foolip? [01:55:07.0000] <hsivonen> /me opens the link [01:55:08.0000] <MikeSmith> heh [01:56:00.0000] <MikeSmith> hsivonen: bingo [01:56:01.0000] <foolip> mhausenblas, well, I spam them with bug I find a lot :) [01:56:02.0000] <mhausenblas> that is a good start, foolip [01:56:03.0000] <hsivonen> MikeSmith: my heuristics are working! [01:56:04.0000] <mhausenblas> but I was thinking rather long-termish [01:56:05.0000] <MikeSmith> :) [01:56:06.0000] <foolip> mhausenblas, do you represent schema.org in some way, or just a fanboy/flamerboy like me? [01:56:07.0000] <mhausenblas> the latter - and behind Schema.RDFS.org :P [01:57:00.0000] <mhausenblas> well fanboy rather than flamerboy [01:57:01.0000] <mhausenblas> /me has made his position clear in http://webofdata.wordpress.com/2011/06/08/towards-networked-data/ ... methinks ;) [01:58:00.0000] <mhausenblas> so, anyways, I know your good work from the MF WG were we, well at least partially happened both to work, foolip and hence I was wondering ... [01:58:01.0000] <foolip> now why haven't I seen that post before? perhaps it's not been mentioned on twitter together with "schema.org" :) [01:58:02.0000] <mhausenblas> :P [01:58:03.0000] <foolip> what kind of thing did you have in mind? [01:58:04.0000] <mhausenblas> well, we're using https://github.com/mhausenblas/schema-org-rdf [01:58:05.0000] <foolip> I just toy around with this stuff in my spare time [01:59:00.0000] <mhausenblas> and me currently developing http://omnidator.appspot.com/ [01:59:01.0000] <mhausenblas> which happens to exploit Schema.org terms for anything2anything [01:59:02.0000] <foolip> ok [01:59:03.0000] <mhausenblas> anyways, I was wondering if you'd like to chime in on the above github repo [02:00:00.0000] <mhausenblas> there are two new sections (directories) called examples and mappings [02:01:00.0000] <mhausenblas> the former is for collecting examples of Schema.org in various formats the latter for collecting vocab mappings (DBpedia, FOAF, etc - Schema.org terms) [02:01:01.0000] <mhausenblas> but what I find most thrilling is the challenges and opportunities re extending Schema.org terms [02:01:02.0000] <mhausenblas> and I think there we can assist the sponsors [02:01:03.0000] <mhausenblas> what do ya think foolip? [02:02:00.0000] <foolip> It's not entirely clear to me what the goal of the project is, except having a bit of fun or course [02:02:01.0000] <hsivonen> how can it be so hard to make a proper email client [02:02:02.0000] <hsivonen> webmail or native [02:02:03.0000] <hsivonen> maybe I should just give up and make all my data are belong to google [02:02:04.0000] <mhausenblas> foolip of which project? schema.org or schema.rdfs.org? :D [02:02:05.0000] <foolip> I've never seriously toyed with RDF, so looking at mappings isn't something I'd really be helpful in I think [02:03:00.0000] <mhausenblas> ok, fair enough [02:03:01.0000] <foolip> mhausenblas, whichever you're asking my opinion on :) [02:03:02.0000] <mhausenblas> he he [02:03:03.0000] <foolip> as for examples, are you not just copying them from schema.org? [02:03:04.0000] <mhausenblas> I rather thought of helping people with the extensions part [02:03:05.0000] <mhausenblas> re examples, yeah, sorta reformulating them in CSV, JSON, RDFa, etc. [02:03:06.0000] <foolip> I haven't quite understood how that's supposed to work, is it documented on schema.org? [02:03:07.0000] <mhausenblas> what? [02:03:08.0000] <mhausenblas> the examples? [02:04:00.0000] <foolip> extensions [02:04:01.0000] <mhausenblas> oh [02:04:02.0000] <mhausenblas> yes [02:04:03.0000] <mhausenblas> lemme check [02:04:04.0000] <mhausenblas> http://schema.org/docs/extension.html [02:04:05.0000] <foolip> that looks fairly icky :) [02:05:00.0000] <mhausenblas> the problem AFAICT (looking at the Schema.org Google group) is that most people that wanna extend are not exactly experts in vocab design [02:05:01.0000] <foolip> how could you ever transition an extension into official-dom? [02:05:02.0000] <mhausenblas> dunno. ask the sponsors :P [02:06:00.0000] <foolip> For example, http://schema.org/Person/Engineer/ElectricalEngineer would become http://schema.org/ElectricalEngineer if incorporated into the official vocab [02:06:01.0000] <mhausenblas> mhm [02:06:02.0000] <jgraham> AryehGregor: You could try something like WebDriver for automating boring manual tests although there are risks [02:06:03.0000] <mhausenblas> but it's also about properties and their domain/ranges [02:06:04.0000] <mhausenblas> there is a hell of a lot one can get wrong [02:07:00.0000] <foolip> seems to me that schema.org is too big to begin with, encouraging people to extend it even more seems... unwarranted [02:07:01.0000] <mhausenblas> so, gotta run soon but if you like to chime in, lemme know - either clone https://github.com/mhausenblas/schema-org-rdf and send in pull request or I can add you to the repo [02:07:02.0000] <mhausenblas> dunno what you mean w/ 'too big to begin with' [02:07:03.0000] <foolip> ok, I'll have a look at the examples tonight when I'm not supposed to be working :) [02:07:04.0000] <mhausenblas> it's there [02:08:00.0000] <mhausenblas> ahm, there are no examples yet ;) [02:08:01.0000] <mhausenblas> nor mappings [02:08:02.0000] <mhausenblas> jsut started y'day [02:08:03.0000] <mhausenblas> OK, I see, you gotta work as well - have fun foolip :D [02:08:04.0000] <foolip> I mean that they seem to have a way bigger vocabulary than they can probably make any good use of for search results [02:08:05.0000] <mhausenblas> 288 class and 182 props? yes, true [02:09:00.0000] <foolip> which means that a lot of it probably isn't terribly well thought out and will just end up being cruft forever [02:09:01.0000] <mhausenblas> /me sorta agrees [02:09:02.0000] <foolip> so, I'm still on the fence about fanboy/flamerboy :) [02:09:03.0000] <mhausenblas> I guess they'll assess what people really use and to which extent [02:09:04.0000] <hsivonen> http://lists.w3.org/Archives/Public/www-validator/2011Jun/0043.html makes it look like someone has managed to sell SEO to Illinois state. Yay for tax dollars. [02:09:05.0000] <mhausenblas> come on - that's a great thing, no doubt [02:10:00.0000] <foolip> I don't know, I can totally imagine people going to great lengths to use lots and very specific parts this vocabulary as a SEO incantation even though it has no effect whatsoever on search results [02:10:01.0000] <mhausenblas> btw, my current favourite script is curl http://omnidator.appspot.com/mdpretty?url=$1 [02:11:00.0000] <foolip> so it will be used incorrectly, and they will be unable to start using it for search results. [02:11:01.0000] <mhausenblas> that might well be, but think beyond SEO [02:11:02.0000] <mhausenblas> that the future will tell [02:11:03.0000] <foolip> if people use these things in completely the wrong way, it breaks it for everything, not just SEO, right? [02:12:00.0000] <mhausenblas> well, that's why I think guidance is top priority [02:12:01.0000] <mhausenblas> you do a great job already there foolip and it's good to see that guha personally is very responsive [02:12:02.0000] <foolip> I guess we'll see [02:12:03.0000] <mhausenblas> yup [02:12:04.0000] <mhausenblas> guess we both have to earn our bread now [02:13:00.0000] <foolip> right [02:13:01.0000] <foolip> talk to you later :) [02:13:02.0000] <mhausenblas> /me wondering, can you say that in English - in Austria we use this idiom [02:13:03.0000] <mhausenblas> cya [02:13:04.0000] <foolip> you can say it in Swedish at least :) [02:13:05.0000] <mhausenblas> and thanks for your time foolip - much appreciated [02:13:06.0000] <foolip> likewise! [02:13:07.0000] <mhausenblas> he he, good to learn that [02:13:08.0000] <mhausenblas> what would be the Swedish phrase? [02:14:00.0000] <foolip> "att tjäna sitt dagliga bröd" [02:14:01.0000] <jgraham> (ir is pretty much something you can say in English, although I can't think of the exact idiom right now) [02:14:02.0000] <mhausenblas> tx [02:14:03.0000] <mhausenblas> he he, tx to jgraham as well ;) [02:16:00.0000] <mhausenblas> /me thinks 'to earn one's crust' might be the right thing to say [02:20:00.0000] <MikeSmith> hsivonen: in the interest of closing out http://bugzilla.validator.nu/show_bug.cgi?id=842 (srcdoc attribute on iframe in HTML5 does not validate), is it OK with you if I add srcdoc to the schema, but with the datatype set to string for now, and add a FIXME noting that the real datatype checking for it needs to be added later? [02:21:00.0000] <hsivonen> MikeSmith: yeah, but please also add it to the "not implemented in browsers yet" warnings [02:22:00.0000] <MikeSmith> hsivonen: I'm pretty sure you added it there already [02:22:01.0000] <MikeSmith> so I think that's covered [02:22:02.0000] <MikeSmith> but I'll doublecheck [02:29:00.0000] <MikeSmith> hmm, incidentally, I don't see how srcdoc would work in XML documents [02:30:00.0000] <MikeSmith> without violating XML well-formedness constraints [02:30:01.0000] <hsivonen> MikeSmith: IIRC, you escape what XML requires but the payload is HTML [02:30:02.0000] <MikeSmith> ah [02:41:00.0000] <david_carlisle> hsivonen: Blurg that's what the spec says, but why doesn't it parse as xml in an xml context (like innerhtml)? [02:41:01.0000] <david_carlisle> channel topic. I suppose... [02:42:00.0000] <hsivonen> david_carlisle: In my opinion, it was a mistake to make innerHTML depend on how the DOM got created [02:43:00.0000] <hsivonen> david_carlisle: that is to say: If you change the serialization of the docement itself, I think it's a mistake that innerHTML starts wanting different input, too [02:43:01.0000] <david_carlisle> hsivonnen: actually for innerhtml I'd probably agree since it's a post parse dom thing, but srcdoc is (more or less) a parse time feature isn't it [02:43:02.0000] <hsivonen> david_carlisle: I think it would be a similar mistake if srcdoc behavior changed [02:44:00.0000] <hsivonen> david_carlisle: as I understand it, you could set the srcdoc attribute value from JS [02:44:01.0000] <david_carlisle> hsivonen: ah [02:44:02.0000] <david_carlisle> hsivonen: stop being right, makes arguing with you harder [02:45:00.0000] <david_carlisle> in a perfect world though, people of a same disposition ought to be able to just use the xhtml syntax and not know the html syntax at all. there's always data:text/xml i suppose... [02:46:00.0000] <david_carlisle> s/same/sane/ [02:47:00.0000] <hsivonen> david_carlisle: if there was even near-equal author interest in text/html and application/xhtml+xml, it would make sense to have an XML-enabled srcdoc equivalent without data: URLs [02:48:00.0000] <hsivonen> david_carlisle: but in practice, normal authors outside the W3C are probably not going to care [02:49:00.0000] <hsivonen> aside: this recent idea that authors should have Choice between RDFa, Microformats and Microdata, completely ignores the implementor side. [02:49:01.0000] <david_carlisle> hsivonen: I suppose a world view where most people use xml and have as much mathematics as text in their documents counts me out of the "normal user" category [02:49:02.0000] <hsivonen> it's bad enough to have the Choice between application/xhtml+xml and text/html [02:50:00.0000] <david_carlisle> :-) [02:50:01.0000] <hsivonen> david_carlisle: you can now have math in text/html! [02:50:02.0000] <david_carlisle> hsivonen: Yeh! [02:51:00.0000] <MikeSmith> users should be able to create their own arbitrary syntaxes, and browsers implementors should have to provide a mechanism to let them do that [02:51:01.0000] <MikeSmith> that's true extensibility [02:51:02.0000] <MikeSmith> I want to write my HTML using s-expressions [02:52:00.0000] <jgraham> MikeSmith: I believe several browsers do that [02:52:01.0000] <MikeSmith> and I should just be able to do that [02:52:02.0000] <david_carlisle> hsivonen: Actually if you could get a few of your competitors to implement that, I'd dump the application/xhtml+xml version of our documentation base in a flash, I want xml everywhere inside our firewall but I'd be perfectly happy for it to be all text/html as published, if it worked [02:52:03.0000] <jgraham> It's called clone+fork [02:52:04.0000] <MikeSmith> no, the browser vendors should do it for me [02:52:05.0000] <MikeSmith> the browser vendors are all holding me back [02:52:06.0000] <hsivonen> david_carlisle: didn't Apple announce it for Safari 5? [02:52:07.0000] <david_carlisle> yes [02:52:08.0000] <MikeSmith> jgraham: they have all the power and I have none, and that's just not fair [02:53:00.0000] <hsivonen> david_carlisle: and Opera has Ragnarök in the pipeline though the math rendering isn't quite up to the quality one would want [02:53:01.0000] <jgraham> MikeSmith: They also have a good line in evil laughs [02:53:02.0000] <hsivonen> MikeSmith: search engines are now holding you back, too [02:53:03.0000] <MikeSmith> hsivonen: exactly [02:54:00.0000] <david_carlisle> anyone from Chrome: speak up now:-) [02:55:00.0000] <MikeSmith> "The typemustmatch attribute is a boolean attribute whose precense indicates..." [02:55:01.0000] <jgraham> hsivonen: Presumably david_carlisle is partially responsible for the MathML CSS Profile stuff :) [02:55:02.0000] <MikeSmith> I guess that's kind of like incense, but before you light it [02:56:00.0000] <MikeSmith> speaking of incense, time for some j [02:57:00.0000] <david_carlisle> jgraham: Well I partially have my name on the front, but really Giorgi from Opera did all the work [02:59:00.0000] <jgraham> david_carlisle: Like I said you are partially responsible for it :) [02:59:01.0000] <jgraham> /me is on the record as thinking it is not the greatest idea in the world [02:59:02.0000] <Ms2ger> Opera? [03:01:00.0000] <jgraham> Ms2ger: :p [03:01:01.0000] <Ms2ger> :) [03:04:00.0000] <jgraham> /me wonders if he should ignore the fact that Janina accused someone of lying and then followed up with what amounts to "what you said is basically true, but the situation is more complex than you realised" [03:05:00.0000] <Ms2ger> My approach is to ignore everything that happens in the HTML WG [03:05:01.0000] <Ms2ger> Works well, IMO :) [03:07:00.0000] <jgraham> Yes, I see the merit in that approach for sure [03:16:00.0000] <MikeSmith> hmm, I had been hoping CSSLint did actual validation of property names [03:17:00.0000] <MikeSmith> but I see it doesn't [03:17:01.0000] <MikeSmith> by design [03:17:02.0000] <MikeSmith> it would be nice to have an up-to-date CSS validator [03:27:00.0000] <zcorpan> anyone care about whether broken utf-8 in websockets should be U+FFFDd or fail the connection? [04:10:00.0000] <hsivonen> http://www.brucelawson.co.uk/2011/modal-dialogues-in-html5/ I thought dialogs in the UI sense were dialogs rather than dialogues even in en-GB. have I been mistaken for all these years? [04:11:00.0000] <gsnedders> hsivonen: Different style-guides say different things [04:11:01.0000] <hsivonen> gsnedders: ok [04:12:00.0000] <gsnedders> hsivonen: dialog is probably more common, though [04:13:00.0000] <david_carlisle> hsivonen: en-gb is whatever you want, for most computing things i'd follow us usage though (a fortran program but a tv programme, a css font but a church fount, ...) [04:13:01.0000] <gsnedders> /me has never come across that spelling of fount [04:14:00.0000] <david_carlisle> en-gb is whatever you want:-) [04:14:01.0000] <hsivonen> david_carlisle: is a church fount etymologically related to typesetting font? [04:15:00.0000] <david_carlisle> yes I think so, and old english typesetting books spell it as fount [04:15:01.0000] <hsivonen> ok [04:15:02.0000] <gsnedders> /me looks up in OED… [04:16:00.0000] <gsnedders> fount (for type) comes later than font (for type). [04:17:00.0000] <gsnedders> From the French fonte [04:18:00.0000] <gsnedders> The church font (always font), frm Latin font-em [04:19:00.0000] <hsivonen> the "CSS should support 'colour' folks" never seem to ask for "fount", too [04:20:00.0000] <gsnedders> The OED notes for that sense fount is more common in England than font. [04:22:00.0000] <jgraham> I had a "computing" practial in first year undergard [04:22:01.0000] <jgraham> Let's try that again [04:23:00.0000] <jgraham> I had a "computing" practical in first year undergrad [04:23:01.0000] <jgraham> Which iirc was basically using Office [04:23:02.0000] <jgraham> The hardest part was doing some numberial model in Excel [04:24:00.0000] <jgraham> *numerical [04:24:01.0000] <gsnedders> jgraham: I guess this wasn't the CS option. :) [04:24:02.0000] <jgraham> Anyway at one point you were required to type something out about typefaces involving the word "fount" [04:25:00.0000] <jgraham> And you were marked down for excluding the "u" [04:25:01.0000] <jgraham> In other news, Frank King is quite nuts [04:28:00.0000] <jgraham> (disclaimer: I'm sure he isn't nutes really. But he does insist on the use of archaic spelling) [04:30:00.0000] <gsnedders> Only recently archaic, though, as far as I can tell. [05:42:00.0000] <hsivonen> /me is surprised (in a positive way) to see someone other than the usual suspects say something (and reasonable!) in the longdesc debate [05:44:00.0000] <jgraham> hsivonen:? [05:44:01.0000] <hsivonen> the "stop right there" response wasn't so positive [05:45:00.0000] <hsivonen> jgraham: I'm catching up with public-html [05:45:01.0000] <jgraham> Ah [05:45:02.0000] <hsivonen> and just read Matthew Turvey's email [05:45:03.0000] <hsivonen> /me spent yesterday traveling and settling in the new location [05:51:00.0000] <jgraham> The PFWG list of "requirements" seems like a clear attempt to shift the goalposts to me. I get the stong impression that they were worked out by writing down all the positive properties of longdesc, writing down all the positive properties of other solutions, and eliding the intersection [05:51:01.0000] <jgraham> But I guess no good will come of getting more involved [05:52:00.0000] <jgraham> eliding the intersection... from the longdesc side and billing the remainder as "requirements" [06:08:00.0000] <zcorpan> hsivonen: a common authoring problem apparently is using <a href><div> and not setting the a to display:block which causes rendering issues in ie [06:08:01.0000] <zcorpan> hsivonen: not that v.nu checks stylesheets, but if it did... [06:11:00.0000] <MikeSmith> somebody should write a modern CSS validator [06:16:00.0000] <MikeSmith> zcorpan: on another topic, didn't you raise a valiator.nu bug a while back proposing a way to trim down the allowed-attribute spec fragments based on what the type of the attribute is? [06:16:01.0000] <hsivonen> zcorpan: might be worthwhile to warn about that [06:16:02.0000] <MikeSmith> *based on what the value of the type attribute is [06:17:00.0000] <MikeSmith> the allowed-attributes spec fragment that gets emitted for input continues to confuse people - [06:17:01.0000] <MikeSmith> http://www.w3.org/Bugs/Public/show_bug.cgi?id=11048 [06:17:02.0000] <MikeSmith> we really ought to do something to fix that [06:18:00.0000] <zcorpan> ah yeah [06:18:01.0000] <zcorpan> at first i had no idea what you were talking about :) [06:18:02.0000] <MikeSmith> heh [06:18:03.0000] <MikeSmith> if you can find the bug number, I'd appreciate it [06:20:00.0000] <MikeSmith> oh [06:20:01.0000] <MikeSmith> 339 [06:20:02.0000] <MikeSmith> http://bugzilla.validator.nu/show_bug.cgi?id=339 [06:20:03.0000] <MikeSmith> I thought it was a new one but I guess it was just that I re-read it recently [06:21:00.0000] <zcorpan> are v.nu bugs that are autosubmitted from spec checkins annotated in some way so they can be excluded from searches? [06:21:01.0000] <MikeSmith> zcorpan: no, unfortunately :( [06:21:02.0000] <MikeSmith> not as far as I know at least [06:22:00.0000] <MikeSmith> maybe hsivonen knows [06:22:01.0000] <zcorpan> is that thing still enabled? [06:22:02.0000] <hsivonen> zcorpan: you could try to to filter by the URL field [06:22:03.0000] <hsivonen> zcorpan: no longer enabled [06:23:00.0000] <zcorpan> ah [06:23:01.0000] <zcorpan> ok [06:24:00.0000] <hsivonen> http://lists.w3.org/Archives/Member/tag/2011Jun/0040.html (Member-only; the To field is worth checking out in the light of the Subject field) [06:26:00.0000] <hsivonen> /me also notes http://lists.w3.org/Archives/Member/tag/2011Jun/0050.html [06:30:00.0000] <MikeSmith> zcorpan: about the input error-message thing, your suggestion in http://bugzilla.validator.nu/show_bug.cgi?id=339#c0 seems like the best way to handle it, so I guess I'll try to figure out how to implement that [07:01:00.0000] <zcorpan> /me learns about http://csslint.net/ [07:24:00.0000] <rimantas> not a good thing to learn about :( [07:25:00.0000] <hsivonen> rimantas: why not? did the lint hurt your feelings? [07:26:00.0000] <rimantas> hsivonen, yup, along with oocss [07:26:01.0000] <hsivonen> what's oocss? [07:27:00.0000] <rimantas> they should have called it oocss lint, that would make more sense then [07:27:01.0000] <rimantas> oocss is Nicole's brainchild: https://github.com/stubbornella/oocss/wiki/faq [07:29:00.0000] <MikeSmith> /me wishes somebody would brainchild a better css validator [07:30:00.0000] <jgraham> /me wishes the first FAQ was "WTF is this?" [07:30:01.0000] <nlogax> how hard is it to get patches into the w3 validator? [07:31:00.0000] <MikeSmith> nlogax: the html4 one? [07:31:01.0000] <nlogax> MikeSmith: the CSS validator i mean [07:31:02.0000] <MikeSmith> dunno [07:32:00.0000] <mpilgrim> hsivonen: rel=prerender, but apparently it's already listed on the microformats wiki [07:32:01.0000] <MikeSmith> nlogax: nobody is actually maintaining it actively any more [07:32:02.0000] <hsivonen> mpilgrim: it was already in the old registry [07:33:00.0000] <nlogax> MikeSmith: oh i see [07:33:01.0000] <hsivonen> mpilgrim: it was one of the very few proper registations in the old wiki, so I registered it in the new registry [07:33:02.0000] <MikeSmith> nlogax: it's kind of past the point of being worth patching [07:33:03.0000] <mpilgrim> when was it registered? did google put out a whitepaper on it a while ago or something? [07:33:04.0000] <mpilgrim> the feature was just announced like 2 days ago [07:35:00.0000] <MikeSmith> the oocss FAQ question "I need more than six (h1-h6) headings on my site. How do I add more?" needs a better answer [07:36:00.0000] <hsivonen> MikeSmith: registered in the old registry on May 17th [07:36:01.0000] <hsivonen> oops [07:36:02.0000] <hsivonen> mpilgrim: ^ [07:36:03.0000] <mpilgrim> wow [07:36:04.0000] <hsivonen> I guess this was a failure for the old registry to point properly to the new one [07:38:00.0000] <hsivonen> mpilgrim: it's nice to see a rel extension that comes with documentation with the words "Corner Cases" in a section heading [07:38:01.0000] <hsivonen> mpilgrim: quite refreshing compared to all the cargo-cult stuff out there [07:40:00.0000] <hsivonen> I'm still amazed that Dublin Core stuff hasn't been properly registered [07:40:01.0000] <hsivonen> are DC users boycotting the registry? [07:40:02.0000] <hsivonen> or are the specs too tedious to navigate even for people who put DC stuff on their pages [07:49:00.0000] <Philip`> jgraham: Did Frank King's numerical model happen to involve a bell and/or a sundial? [07:50:00.0000] <jgraham> Philip`: You would have thought so wouldn't you? [07:50:01.0000] <jgraham> As far as I recall they didn't, however [07:52:00.0000] <Philip`> /me has had seemingly nuttier lecturers, like one whose introduction-to-Java lecture notes were full of full-page photos of him wearing silly hats [07:55:00.0000] <jgraham> /me had one that decided it would be a good idea to sing an end-of-course song [07:55:01.0000] <jgraham> But I don't think he can hold a candle to Frank King [07:56:00.0000] <Philip`> Did he/she ask everyone to join in the singing? [07:57:00.0000] <jgraham> I don't remember. Terrifyingly this was almost a decade ago [07:57:01.0000] <jgraham> I have some dim suggestion that maybe we were expected to koin in for the final chorus [07:57:02.0000] <jgraham> *join [07:58:00.0000] <jgraham> But that could be a false memory [07:58:01.0000] <Philip`> That sounds potentially excruciating [07:58:02.0000] <jgraham> I do, however, remember the couplet "If you're feeling like a cabbage / sitting in the Babbage" quite clearly [08:47:00.0000] <hsivonen> so if crossorigin and typemustmatch get reverted from W3C HTML5, will they just get the same preprocessor treatment that <a ping> gets now? [08:54:00.0000] <erlehmann> preprocessor treatment? [08:56:00.0000] <hsivonen> erlehmann: there's a preprocessor that removes and splits stuff when generating the W3C specs and removes other stuff when generating the WHATWG spec [08:57:00.0000] <erlehmann> ah. [10:31:00.0000] <TabAtkins> hsivonen: Presumably, yes. [10:59:00.0000] <Hixie> hsivonen: definitely -- even more so than ping, since both of those are important security features [10:59:01.0000] <Hixie> btw re srcdoc="", the reason i didn't make it work usefully in xml is that xml's escaping rules make it not really any more useful than data: URLs [11:04:00.0000] <Hixie> could someone explain to Jukka that HTML is not related to SGML anymore so the term "DTD" is meaningless in this context? [11:05:00.0000] <Ms2ger> Would it help? [11:38:00.0000] <jarib> i think i've found a bunch of invalid WebIDL in the HTML spec, at least my parser complains about "SomeInterface?" and "object?" [11:38:01.0000] <jarib> since those types are already nullable, the ? isn't right [11:38:02.0000] <Ms2ger> jarib, your parser is out of date [11:38:03.0000] <Ms2ger> At least a week [11:38:04.0000] <jarib> Ms2ger: so this isn't up to date http://www.w3.org/TR/WebIDL/#idl-nullable-type ? [11:39:00.0000] <Ms2ger> No [11:39:01.0000] <jarib> aha [11:39:02.0000] <Ms2ger> Try the dev.w3.org draft [11:39:03.0000] <Hixie> TR/ page strikes again! [11:39:04.0000] <Hixie> you want http://dev.w3.org/2006/webapi/WebIDL/ [11:39:05.0000] <jarib> i always get confused :) [11:39:06.0000] <Ms2ger> So how about we solve that by not publishing new drafts on TR/... [11:39:07.0000] <jarib> thanks, i'll fix the parser [11:41:00.0000] <Ms2ger> /me hopes Hixie keeps up the bug fixing rate [11:44:00.0000] <MikeSmith> somebody here said earlier, "/TR stands for Trash" [11:45:00.0000] <MikeSmith> which is a dumb thing to say [11:45:01.0000] <MikeSmith> whoever said that [11:48:00.0000] <TabAtkins> It is, unfortunately, often accurate. [11:48:01.0000] <Hixie> any IE users around? i need a test of http://junkyard.damowmow.com/471 [11:48:02.0000] <MikeSmith> btw, that 2006 in the dev URL al [11:48:03.0000] <MikeSmith> *also is really helpful for readers [11:49:00.0000] <Hixie> i stopped being impressed with the bogus years in urls when i started seeing TWO bogus dates in some w3c urls [11:49:01.0000] <Hixie> that's where it's at [11:50:00.0000] <TabAtkins> Hixie: After hitting "Test", I get "script" and "new-original". After hitting "Reset" I get "new-original" and "original". [11:50:01.0000] <TabAtkins> ie9 [11:51:00.0000] <Hixie> thanks [11:51:01.0000] <Hixie> and also, what? [11:51:02.0000] <Hixie> that's even more crazy than what opera does [11:51:03.0000] <Hixie> fucking browsers [11:55:00.0000] <clair> Hixie: I noticed you've written up some stuff on <dialog> - sorry I've not done anything yet, promise I'll do some research on JS libraries by the end of the weekend! [11:55:01.0000] <Hixie> no worries! [11:55:02.0000] <Hixie> the more the merrier [11:56:00.0000] <clair> Yeah, just didn't want you thinking I'd cleared off and decided not to do anything :) [11:56:01.0000] <Hixie> :-) [11:56:02.0000] <clair> I was going to do stuff last weekend but ended up, er, clothes shopping [11:56:03.0000] <clair> (As you do) [11:56:04.0000] <Hixie> (http://wiki.whatwg.org/wiki/Dialogs if anyone else wants to contribute, btw) [11:57:00.0000] <Hixie> clair: cool [11:57:01.0000] <Hixie> clair: if you do have time to help out, one thing that would help that hasn't been done at all yet is screenshots and snippets of markup and script showing how the pages are doing it now [11:59:00.0000] <TabAtkins> Dammit, why do list markers have to be so damn magical?!? >_< [11:59:01.0000] <Ms2ger> TabAtkins, it's the web [11:59:02.0000] <clair> I wasn't sure if code snippets would've been too much at this stage, but sure I can do that [12:04:00.0000] <TabAtkins> Ms2ger: But now I have no idea where to place ::marker pseudos in the element-tree, unless I punt and make position:marker *even more* magical. ;_; [12:05:00.0000] <Ms2ger> It isn't in the element tree [12:05:01.0000] <Ms2ger> When are you defining the box tree again? [12:08:00.0000] <TabAtkins> Pseudos live in the element-tree. [12:09:00.0000] <TabAtkins> (Thus the pseudo-*element* part.) [12:09:01.0000] <TabAtkins> And probably sometime next year. [12:09:02.0000] <TabAtkins> If fantasai doesn't beat me to it. [12:18:00.0000] <AryehGregor> See, if apple.com had enabled SPF with hard fail instead of soft fail, that spam mail to whatwg would have bounced. [12:18:01.0000] <AryehGregor> And also all forwarding would break for Apple employees. [12:18:02.0000] <AryehGregor> Sigh. [12:18:03.0000] <AryehGregor> I hate the Internet sometimes. [12:20:00.0000] <Hixie> i don't understand why that spam mail went through in the first place [12:20:01.0000] <AryehGregor> Why shouldn't it? [12:20:02.0000] <Hixie> none of the addresses are subscribed [12:20:03.0000] <AryehGregor> Hmm. [12:21:00.0000] <AryehGregor> Maybe it subscribed and then unsubscribed for some reason? [12:21:01.0000] <Hixie> maybe [12:21:02.0000] <Hixie> though how? [12:21:03.0000] <Hixie> they'd need access to the account [12:22:00.0000] <Hixie> who filed http://www.w3.org/Bugs/Public/show_bug.cgi?id=12470 and could they explain to me how you can have horizontal top and bottom margins? [12:22:01.0000] <AryehGregor> Oh, right . . . [12:22:02.0000] <AryehGregor> Good question, then. [12:24:00.0000] <Ms2ger> Hixie, wasn't me, but I don't think the spec is clear [12:24:01.0000] <Hixie> well i added the word vertical to make sure [12:24:02.0000] <Hixie> but i don't understand how else it could be interpreted [12:25:00.0000] <Ms2ger> You could read it as "all the margins of elements at the top..." [12:25:01.0000] <Hixie> i guess [12:25:02.0000] <Ms2ger> /me shuts up and lets Hixie work :) [12:26:00.0000] <Hixie> i guess i should go to the office [12:26:01.0000] <Hixie> bbiab. [12:50:00.0000] <AryehGregor> Wow. initKeyEvent is horrifying. Ten arguments, of which six are booleans. [12:51:00.0000] <Ms2ger> Yes. [12:55:00.0000] <AryehGregor> Argh, drat it, another bounce. [13:38:00.0000] <TabAtkins> AryehGregor: I wonder who came up with initKeyEvent first? Also, I wonder if that person hates the entire world, or just web devs in particular. [14:19:00.0000] <jgraham> TabAtkins: Damn you nerd sniped me [14:19:01.0000] <jgraham> +, [14:19:02.0000] <jgraham> But I can't find who is responsible for initKeyEvent [14:19:03.0000] <jgraham> I bet it was made up in a telecon [14:20:00.0000] <jgraham> However I did find http://lists.w3.org/Archives/Public/www-dom/1997JulSep/0007.html [14:20:01.0000] <jgraham> Which is very interesting [14:29:00.0000] <TabAtkins> jgraham: Interesting indeed. [14:30:00.0000] <jgraham> And makes for a fun human-interest angle since Tim Bray "invented" draconian XML and it seems his wife narrowly missed standardising HTML error recovery 10 years before Hixie finally succeeded [14:30:01.0000] <TabAtkins> Ah, didn't realize Lauren Wood was his wife. [14:31:00.0000] <jgraham> I believe so, although I have been mistaken about bigger things [14:32:00.0000] <TabAtkins> Hm, the newest "let's hash <input type=password>" suggestion seems pretty decent. [14:32:01.0000] <jgraham> (also, I guess Tom Pixley is the most likely candidate for initEvent and friends) [14:32:02.0000] <TabAtkins> (Except for suggesting sending the extra information in a header instead of an extra form input.) [14:36:00.0000] <jgraham> /me wonder why "Host cannot validate password requirements" is listed as a disadvantage [14:37:00.0000] <TabAtkins> Heh, indeed. [14:37:01.0000] <TabAtkins> /me will put that in his response email, as it's good snark (and a good point). [14:41:00.0000] <TabAtkins> Possible disadvantage - a good server uses a good crypto hash, which is slow to evaluate, forcing each login attempt to take a non-trivial amount of time. If the attacker can use their own resources to compute the cryptographic hash quickly relative to the attempts (frex, putting several machines to work hashing for each one making requests), they can bypass that. [14:41:01.0000] <TabAtkins> But then, those are machines not being spent making requests, so that may end up being a wash. [14:43:00.0000] <AryehGregor> It's not sane to distribute the actual hash computation, when you're doing brute-force hashing. [14:43:01.0000] <AryehGregor> Just have each node compute its own hash, it's embarrassingly parallel. [14:43:02.0000] <TabAtkins> I wasn't meaning to distribute the individual hashings, but to have several machines hashing for each machine making requests. [14:44:00.0000] <AryehGregor> Doesn't each request only submit one hash? [14:44:01.0000] <TabAtkins> Yes. [14:44:02.0000] <TabAtkins> But requests are faster than hashing with a good hash. [14:44:03.0000] <AryehGregor> Well, "good" for password storage, anyway. [14:44:04.0000] <TabAtkins> (The full rtt may not be, but you don't have to worry about that.) [14:44:05.0000] <TabAtkins> Yes, that's the contexty. [14:45:00.0000] <TabAtkins> s/y// [14:45:01.0000] <AryehGregor> Why wouldn't you just have each node both hash and submit at the same time? [14:45:02.0000] <AryehGregor> Submitting should take negligible CPU time. [14:45:03.0000] <AryehGregor> Compared to hashing. [14:45:04.0000] <AryehGregor> It doesn't make sense to forward the hashes to other nodes to submit. [14:45:05.0000] <TabAtkins> Then you've dropped down to the same rate that you'd get if the server was computing the hash itself. [14:46:00.0000] <TabAtkins> But like I said, it sounds like it'd be a wash anyway. [14:46:01.0000] <AryehGregor> /me looks at the thread [14:46:02.0000] <TabAtkins> Or rather, it sounds like it's exactly identical, except with useless message-passing. [14:47:00.0000] <AryehGregor> Right, that's what I meant. [14:47:01.0000] <TabAtkins> Yes. [15:34:00.0000] <AryehGregor> Wow, I spent ridiculously long replying to that post. [15:34:01.0000] <AryehGregor> Like almost an hour. Definitely not worthwhile. [15:34:02.0000] <AryehGregor> (what with me not being paid for it, I mean) [15:34:03.0000] <AryehGregor> /me goes back to work for the next not very many minutes [15:35:00.0000] <Hixie> which post? i want to waste some time too! [15:35:01.0000] <AryehGregor> The one about password hashing. [15:35:02.0000] <Hixie> oh, bummer, it's a whatwg mail [15:35:03.0000] <AryehGregor> Yeah. [15:35:04.0000] <AryehGregor> This is actually a fairly good proposal. [15:35:05.0000] <Hixie> :-P [15:35:06.0000] <AryehGregor> I just wish I could see some way to work proper salting into it. [15:37:00.0000] <Hixie> biggest problem with it is nobody will understand it [15:37:01.0000] <Hixie> but they'll get a false sense of security [15:37:02.0000] <Hixie> the proposal itself could be used securely [15:37:03.0000] <Hixie> it's like postMEssage() -- it can be used securely, but the API is widely misunderstood and misused [15:38:00.0000] <clair> Thing is, those browsers that don't do the hashing will send over plain text passwords and naive coders will just store that [15:38:01.0000] <clair> If I understand the post correctly... [15:40:00.0000] <AryehGregor> Hixie, if I know that my password is being hashed with SHA256 100,000 times before submission, that gives me a fairly substantial security guarantee as a user. [15:40:01.0000] <AryehGregor> If I could somehow also know that a long random per-user salt was being used, that's basically all the security guarantee I need. [15:40:02.0000] <AryehGregor> The latter is what's tricky. [15:40:03.0000] <AryehGregor> But at least the former is better than nothing. [15:41:00.0000] <AryehGregor> Also, it's better if the client transmits the hash instead of the plaintext password, to make life harder for eavesdroppers. [15:41:01.0000] <TabAtkins> Hixie: The benefit is that you don't need to understand it. Right now, a lot of devs just store the plaintext password directly. With @hash, they'd just store the hash directly. No change in their life. [15:42:00.0000] <TabAtkins> As opposed to making people understand that they should throw away the plaintext password as soon as possible. [15:42:01.0000] <TabAtkins> AryehGregor: One downside of a per-user salt is that fingerprinting suddenly gets trivial. [15:42:02.0000] <AryehGregor> TabAtkins, huh? What do you mean? [15:42:03.0000] <AryehGregor> The per-user salt has to be supplied by the site, obviously. [15:43:00.0000] <TabAtkins> Oh, okay. [15:43:01.0000] <AryehGregor> It can't be supplied by the browser, because the user might use different browsers. [15:43:02.0000] <Hixie> AryehGregor: your browser could do that today (indeed that's what systems like lastpass do, no?) [15:44:00.0000] <Hixie> AryehGregor: "this" being the "hashed with SHA256 100,000 times before submission" stuff [15:44:01.0000] <TabAtkins> querySelector("input[name=username]").onchange = function() { querySelector("input[name=password]").salt = this.value; }; [15:44:02.0000] <AryehGregor> Hixie, yes, but then you have to use the same browser all the time, because the site doesn't know about it. [15:44:03.0000] <AryehGregor> No logging into sites from a friend's computer. [15:44:04.0000] <Hixie> AryehGregor: or the same plugin [15:45:00.0000] <AryehGregor> Generally my friends would be annoyed if I tried to install a plugin in their browser, I'd think. Operators of public computers would be even more annoyed. [15:45:01.0000] <AryehGregor> There's clear benefit to having the site involved in the process. [15:45:02.0000] <Hixie> anyway, it'll end up on my WF3 pile and will sit there until browsers are interoperable and pretty on the wf2 stuff :-) [15:45:03.0000] <Hixie> AryehGregor: such systems have web sites you can use and copy and paste the password, too [15:46:00.0000] <Hixie> AryehGregor: i'm not saying it's not better to have a standard way to do it, but i'm not sure it's better to have the site do it [15:47:00.0000] <AryehGregor> Bigger problem: your way requires user opt-in and awareness. [15:47:01.0000] <AryehGregor> If it's done by the author, all users benefit. [15:48:00.0000] <jgraham> Yes, somehing that requires users to use lastpass or whatever is hopeless [15:48:01.0000] <jgraham> That protects the 0.1% of users who were probably the best protected anyway [15:48:02.0000] <AryehGregor> If any significant number of savvy users come to expect it, and they can easily tell whether it's happening (like if the input displays slightly differently and it's hard for authors to forge the appearance), they'll pressure authors of large sites to use it. [15:49:00.0000] <zewt> sort of wondering if it could reuse something like SCRAM, instead of reinventing the wheel, but that's a real challenge-response mechanism so it's not quite the same [15:50:00.0000] <AryehGregor> What everyone really should use is SRP. [15:50:01.0000] <AryehGregor> TLS over SRP is the cure to all phishing problems. [15:50:02.0000] <AryehGregor> . . . As long as everyone uses it. [15:50:03.0000] <zewt> don't know anything about it [15:51:00.0000] <AryehGregor> SRP is a type of PAKE. It's basically like symmetric-key encryption, where the password is the key, and executing the protocol gives the client or server or any eavesdropper close to zero information about the key if they don't know it already. [15:52:00.0000] <AryehGregor> So you type in your password, and if the server doesn't know the password already, the encryption fails and the server gains no information about the password -- except that it gets one guess per connection attempt, obviously. [15:52:01.0000] <zewt> well, any competently-designed challenge-response mechanism should do that [15:52:02.0000] <AryehGregor> Really? How? [15:52:03.0000] <AryehGregor> It's quite nontrivial. [15:53:00.0000] <Hixie> AryehGregor: i wasn't suggesting using lastpass, i was suggestion that browsers should just do it [15:53:01.0000] <AryehGregor> Requires a bunch of modular arithmetic and stuff. [15:53:02.0000] <AryehGregor> Hixie, like Mozilla's Account Manager, basically? But they can't do it without the user opting in and understanding the system somewhat, because otherwise the same password won't work cross-browser. [15:53:03.0000] <AryehGregor> If it's opt-in, you lose 95% of the benefit. [15:53:04.0000] <zewt> what information can you get out of a SCRAM response, other than "it matches or it doesn't"? [15:53:05.0000] <TabAtkins> AryehGregor: That doesnt' seem to solve the problem of "servers shouldn't ever remember the password". [15:54:00.0000] <zewt> (note: not claiming to be a huge fan of SCRAM in particular, it's just one I happened to implement recently) [15:54:01.0000] <AryehGregor> TabAtkins, more sophisticated variants don't require the server to know the password. I think SRP falls into this category. [15:54:02.0000] <TabAtkins> kk [15:54:03.0000] <AryehGregor> zewt, Wikipedia doesn't know about SCRAM. [15:54:04.0000] <AryehGregor> I question its existence. [15:54:05.0000] <zewt> http://tools.ietf.org/html/rfc5802 [15:56:00.0000] <AryehGregor> /me doesn't have time to research it, but maybe it's similar to SRP [15:56:01.0000] <zewt> (sorry if that's not a quick read; IETF and all) [15:57:00.0000] <David_Bradbury> Any ideas if Canvas will ever support 3D transformations? [15:57:01.0000] <zewt> gah, why does gmail randomly log me out; I'm using it, thanks [15:59:00.0000] <David_Bradbury> 3D transformations in the 2D Context* [16:02:00.0000] <AryehGregor> "Although Google.com is the most high-profile site to use this new prerendering technology, it can be used by other sites since it’s been designed as a web standard." A.k.a. "We made a new link relation without talking it over with other implementers and we published some documentation on our website, therefore it's a web standard." [16:02:01.0000] <AryehGregor> Was it ever proposed to a standards list anywhere? [16:02:02.0000] <AryehGregor> (Or maybe it is in a standard, but they didn't seem to mention that anywhere . . .) [16:03:00.0000] <TabAtkins> Don't believe so, no. [16:05:00.0000] <jgraham> AryehGregor: Pretty sure Google have a history of using "web standard" to mean "propriatary invention with documentation" [16:05:01.0000] <jgraham> But I can't think of the specific examples so don't ask [16:05:02.0000] <jgraham> :) [16:05:03.0000] <Lachy> dammit. I didn't want the whole scope selector debate to start up again. :-(. I've been over it many times already in designing selectors api, and all the suggestions so far are the same as those that were rejected for very good reasons. [16:08:00.0000] <Lachy> TabAtkins, I thought you were mostly familiar with those discussions, and understood the reasons why selectors api, and scoped stylesheets, work the way they do. [16:08:01.0000] <AryehGregor> jgraham, I've seen it at least once before, yeah. [16:08:02.0000] <AryehGregor> At least this feature looks well-designed. [16:09:00.0000] <TabAtkins> Lachy: If I was, I've forgotten. ;_; [16:09:01.0000] <TabAtkins> All I recall is being against it for a long time. I don't remember what my initial reaction was during the design phase, but afterwards I think I've been consistent. [16:11:00.0000] <Lachy> well, it seems to be an issue that comes up frequently, so I guess I should write up a long and thourough explanation for why they must work the way they are currently defined, and why every alternative suggest has flaws. [16:11:01.0000] <TabAtkins> That sounds like a good idea. ^_^ [16:12:00.0000] <Lachy> I don't have time right now. It's midnight. Maybe I'll do it on Sunday, while recovering from this weekend's summer parties. [16:15:00.0000] <hober> Hixie: we'd appreciate an expedited look at http://www.w3.org/Bugs/Public/show_bug.cgi?id=12974 (which I've just filed) if possible. [16:18:00.0000] <AryehGregor> /me somehow never connected hober with Edward O'Conner the Apple employee [16:19:00.0000] <Hixie> hober: looking [16:19:01.0000] <hober> AryehGregor: that's me! :) [16:20:00.0000] <hober> Hixie: thanks. this is a really small change, though at this point i feel like every very small change will get a revert request on the other side. grumble. [16:20:01.0000] <AryehGregor> hober, if more implementers objected to the revert policy, maybe that would be helpful. [16:20:02.0000] <Hixie> hm, for type=number placeholder would actually make sense [16:20:03.0000] <gsnedders> hober: You haven't worked there for long, have you? [16:20:04.0000] <Hixie> i wonder why i didn't include it before [16:20:05.0000] <hober> Hixie: I checked; it didn't get explicitly removed, it was just not added when placeholder="" got initially added [16:21:00.0000] <TabAtkins> Oh god, I actually wrote "are" for "our" in an email. >_< [16:21:01.0000] <hober> gsnedders: yeah, just since february [16:21:02.0000] <AryehGregor> I feel like I'm the only one really objecting to the idea that anyone can randomly decide to get an uncontroversial feature addition reverted. [16:21:03.0000] <Hixie> hober: yeah, i wonder why. i looked at all the types when adding it and tried to only add it where it maeks sense (e.g. not color or date) [16:21:04.0000] <AryehGregor> Well, we'll have to see how various pending revert requests are handled, I guess. [16:21:05.0000] <Lachy> TabAtkins, I'm pretty sure Dmitry's proposal was considered and rejected before. I can't remember why though. I'll have to spend some time scouring the archives. [16:21:06.0000] <AryehGregor> TabAtkins, that kind of thing just proves that language is really auditory, and writing is a hack. [16:21:07.0000] <TabAtkins> AryehGregor: I think a lot of us just realize that arguing the issue is useless. [16:22:00.0000] <AryehGregor> TabAtkins, I don't think it is. The chairs are supposed to be acting based on consensus, and if they face strong opposition to something they're likely to at least try to compromise. [16:22:01.0000] <hober> Hixie: I think placeholder="" makes sense for <input type=number> even when <input type=number> is rendered as a spinbutton that takes up most of the control [16:22:02.0000] <Hixie> hober: yeah, that's what i'm saying. it makes sense, so why didn't i add it before? :-) [16:22:03.0000] <hober> Hixie: the UA can always decide to punt on rendering the placeholder when it can't be done sensibly [16:22:04.0000] <Hixie> crap, doing this means i have to split another column in the summary table [16:22:05.0000] <Hixie> hate doign that [16:23:00.0000] <hober> Hixie: yeah, no idea. :) sorry about the extra work [16:23:01.0000] <Hixie> oh no worries [16:23:02.0000] <TabAtkins> AryehGregor: When consensus means two people, and two people arguing against doesn't form counter-consensus, I don't think you're accurately describing the way the chairs work. [16:23:03.0000] <AryehGregor> TabAtkins, it wasn't widely discussed at all. [16:23:04.0000] <TabAtkins> I mean something like the change in canvas content from a bit ago. [16:24:00.0000] <AryehGregor> No, I'm saying that the revert policy itself is supposed to be subject to consensus. [16:24:01.0000] <AryehGregor> If we get strong objections from a bunch of people, particularly implementers, against the policy itself, that might be effective. [16:24:02.0000] <jgraham> AryehGregor: I get the impression that most people don't want to get dragged into policy discussions [16:25:00.0000] <TabAtkins> Where I was told that revert requests are trivial to get issued, but counter arguments should be in the form of a bug, which is then turned into an issue... [16:25:01.0000] <TabAtkins> Oh, yeah, I don't even know where the revert policy itself came from. [16:25:02.0000] <AryehGregor> jgraham, except the people who have nothing better to do with their lives, which does not include implementers or other parties with a real stake. [16:25:03.0000] <TabAtkins> I don't think it's in The Process. [16:26:00.0000] <jgraham> AryehGregor: Yes, and history suggests that those people will always whine more than people with real work to do [16:26:01.0000] <jgraham> After a while it gets tiresome [16:26:02.0000] <AryehGregor> jgraham, so the obvious conclusion is that the implementers should officially tell the HTMLWG that if it doesn't make its process sane, they'll all just use the WHATWG copy of the spec exclusively and ignore the W3C copy. [16:26:03.0000] <jgraham> So mostly people just pretend that HTMLWG doesn't exist except for the patent policy [16:27:00.0000] <AryehGregor> Better yet, have a major implementer threaten to actually leave the group. That's not going to be ignored. [16:27:01.0000] <jgraham> I think getting an official position on that would be hard [16:27:02.0000] <AryehGregor> But no one seems to want to. [16:27:03.0000] <jgraham> Because of a) Microsoft and b) patent policy [16:28:00.0000] <AryehGregor> You could push through changes to make things saner without actually leaving the group. [16:28:01.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/complete.html#input-type-attr-summary has become quite crazily complicated [16:28:02.0000] <AryehGregor> But implementers aren't pulling their weight in the HTMLWG. [16:28:03.0000] <Hixie> that table is one of the first tables i did, back in the WF2 days [16:28:04.0000] <jgraham> But if the W3C were trying to actively make things better they would notice all the people recommending reading the WHATWG version of the spec and treat it as a problem at the W3C end [16:28:05.0000] <Hixie> someone should make some sort of video showing that table evolve over time [16:29:00.0000] <jgraham> Not as something that can be ignored or, depending on the individual, a conspiracy to disenfranchise developers/users with disabilities/non-browser vendors/other [16:30:00.0000] <AryehGregor> jgraham, nobody is trying to do anything at the W3C. Various individuals and groups are trying to impose their opinions on the spec, and the chairs are trying to juggle them so as to generate as little overall dissatisfaction as possible within the Process. [16:30:01.0000] <AryehGregor> The result winds up being largely incoherent. [16:30:02.0000] <AryehGregor> Design by committee. [16:30:03.0000] <jgraham> AryehGregor: I'm not entirely sure I believe that [16:31:00.0000] <AryehGregor> Not much of what the HTMLWG does or decides is actually controlled by the W3C administration. [16:31:01.0000] <TabAtkins> I'd believe that, if you rate "dissatisfaction" as "amount of public complaining on the list". [16:31:02.0000] <jgraham> I mean that W3C Process is enirely blameless here and that it is all the WG [16:31:03.0000] <gsnedders> AryehGregor: Arguably that's a problem of being it open — when it was just Members with an interest in the spec, there was far less of that. Sure, it still happened, but not like today. [16:31:04.0000] <AryehGregor> The Process is part of the problem, but it's not something I'd ascribe motives to. [16:32:00.0000] <David_Bradbury> Is there a way I can see ideas that have been previously proposed? [16:32:01.0000] <AryehGregor> David_Bradbury, read the entire archives of the whatwg list and the bug tracker. I'm fairly sure it would take less than a year if you did it full-time. [16:32:02.0000] <David_Bradbury> Haha [16:32:03.0000] <jgraham> The Process is just the manifestation of W3C goals and priorities [16:32:04.0000] <TabAtkins> David_Bradbury: What Aryeh said. He's not kidding. That's the record, and it's far too large to curate effectively anyway. [16:33:00.0000] <AryehGregor> gsnedders, more precisely, it's a problem with non-implementers having much power. Even in Member-only land, you can see lots of crazy stuff when it's random uninvolved organizations making the decisions. [16:33:01.0000] <David_Bradbury> Would you happen to know if 3D transformations for the 2D Canvas Context have been suggested? [16:33:02.0000] <jgraham> If somthing is in The Process it's because people at the W3C wanted it there [16:33:03.0000] <AryehGregor> Like look at the AC decisions on the HTML5 license. [16:33:04.0000] <Hixie> David_Bradbury: they've been floated [16:34:00.0000] <Hixie> David_Bradbury: there's also a 3d api for canvas, webgl [16:34:01.0000] <gsnedders> AryehGregor: It would set a precedent for the whole W3C — it would affect every member, and the entire W3C. [16:34:02.0000] <AryehGregor> gsnedders, yes. And? [16:34:03.0000] <gsnedders> AryehGregor: That gives them a vetted interest in it. [16:34:04.0000] <David_Bradbury> Hixie: Ah. My main concern for webgl is I mainly code for mobile devices right now, and that won't be supported for a long while [16:34:05.0000] <AryehGregor> What gives them a vested interest in it is solely that they're paying membership dues. [16:34:06.0000] <zewt> anything proposed today won't be supported for a long while anyway :) [16:34:07.0000] <AryehGregor> They have no direct interest in the *web*. [16:35:00.0000] <AryehGregor> Or if they do, they don't have the expertise to effectively advance it. [16:35:01.0000] <Hixie> David_Bradbury: i would expect webgl in browsers on mobile before 3d transforms in 2d canvas :-) [16:35:02.0000] <AryehGregor> The problem with member-only things is that the W3C tries to get everyone to be a member so it can get all the membership dues, so you wind up having decisions of things like the AC based on a bunch of random tech organizations with no connection to the web. [16:35:03.0000] <jgraham> AryehGregor: (A good example of The Process causing weird effects is all the artifical deadlines that the chairs keep imposing) [16:35:04.0000] <AryehGregor> jgraham, I never said the Process wasn't a problem, it's a large part of the problem. [16:35:05.0000] <David_Bradbury> Hixie: Fair enough :p I'll likely just have to simulate 3D transformations until WebGL goes mobile [16:36:00.0000] <AryehGregor> But the broader problem is that things are decided by the wrong parties. [16:36:01.0000] <AryehGregor> I don't really care if authoring requirements are left to popular vote or whatever, but giving anyone but implementers direct say over implementation requirements is just stupid. [16:37:00.0000] <AryehGregor> That includes Public Invited Experts and it includes non-implementer Members. [16:37:01.0000] <AryehGregor> But nothing's going to happen to solve it unless implementers are willing to put their foot down, which it currently seems they aren't. [16:38:00.0000] <David_Bradbury> http://hacks.mozilla.org/2009/12/webgl-goes-mobile/ > *drool* [16:38:01.0000] <AryehGregor> You won't ever really solve the decision-making problem unless you solve the funding problem, though. [16:39:00.0000] <AryehGregor> Which is why I think salvaging the W3C is hopeless. To make appropriately implementer-friendly decisions, implementers need to be in sole control, which means they need to bankroll it. [16:40:00.0000] <AryehGregor> Which is tenable if we had a low-bureaucracy group with no process or administration. [16:40:01.0000] <TabAtkins> Which, surprise surprise, we do. [16:41:00.0000] <Hixie> still need a patent policy [16:41:01.0000] <AryehGregor> Except that the WHATWG doesn't really host anything but one spec, and that isn't set up to change anytime soon. [16:41:02.0000] <AryehGregor> Yeah, and the patent policy. [16:41:03.0000] <Hixie> we could easily host more specs [16:41:04.0000] <AryehGregor> The patent policy is an issue if implementers are worried about non-implementers suing them, because how will you get non-implementers to agree to the patent policy if they don't get anything in return? [16:41:05.0000] <Hixie> in fact yesterday we hosted one more than we do today :-) [16:42:00.0000] <Hixie> AryehGregor: that problem isn't solved in w3c yet either. First solve the problem the W3C solves, then worry about making it better. [16:42:01.0000] <AryehGregor> Don't let people sign up to the mailing list unless their employer agrees to the patent policy? [16:42:02.0000] <jgraham> /me -> bed [16:42:03.0000] <AryehGregor> Hixie, HTML5 has patent protection from every organization that's a member of the HTMLWG. [16:43:00.0000] <Hixie> AryehGregor: how many of them own patents? [16:43:01.0000] <Hixie> jgraham: nn [16:43:02.0000] <AryehGregor> It includes companies like Adobe, IBM, Intel, Nokia, Samsung. [16:43:03.0000] <AryehGregor> That's a heck of a lot of patents between them. [16:44:00.0000] <Hixie> sure, those are all implementors [16:44:01.0000] <AryehGregor> Of HTML? [16:44:02.0000] <Hixie> yup [16:44:03.0000] <Hixie> well, maybe not intel [16:44:04.0000] <AryehGregor> Well, Nokia and Samsung probably contribute to WebKit, I guess. [16:44:05.0000] <AryehGregor> What do Adobe and IBM do? [16:44:06.0000] <Hixie> adobe does a ton of tools, and ibm has fingers everywhere [16:45:00.0000] <AryehGregor> But realistically, none of them contribute enough to web stuff to have much say over WHATWG specs. [16:46:00.0000] <AryehGregor> Actually, even if they did -- why should they agree to the patent policy? What are they getting in return? [16:46:01.0000] <AryehGregor> They get the influence anyway, if they're big enough and you want to match reality. [16:46:02.0000] <Hixie> they don't have much say over the w3c spec either, in practice, except for ibm (who has a chair who happens to not recuse himself when it comes to deciding on ibm proposals) [16:46:03.0000] <TabAtkins> AryehGregor: Adobe contributes to webkit. [16:46:04.0000] <AryehGregor> Hixie, they aren't allowed to even sign up to the mailing list unless they agree to the patent policy. [16:47:00.0000] <Hixie> AryehGregor: they presumably want apple not to sue them on html stuff, just like apple don't want them to sue them :-) [16:47:01.0000] <Hixie> (and s/apple/any vendor/) [16:47:02.0000] <Hixie> (but apple happens to have history with several of those you listed) [16:47:03.0000] <AryehGregor> Hixie, the W3C patent policy gives a license to everyone, not just others who agree to it. [16:47:04.0000] <AryehGregor> Presumably a WHATWG patent policy would do the same. [16:47:05.0000] <AryehGregor> So they aren't gaining any immunity. [16:47:06.0000] <Hixie> AryehGregor: maybe making it reciprocal is the solution then [16:48:00.0000] <Hixie> AryehGregor: right now they're not getting any protection at all since the spec isn't in REC [16:48:01.0000] <AryehGregor> Anyway, back to the other point: if you want more specs hosted at the WHATWG, maybe you should make it clear that that's the case, and post instructions for submitting a new spec. [16:48:02.0000] <Hixie> i have no desires one way or the other [16:48:03.0000] <Hixie> i'm just saying it would be easy to set up [16:48:04.0000] <AryehGregor> There are various specs edited by me and Ms2ger and whatever at random places like aryeh.name and html5.org that could be better situated at whatwg.org. [16:48:05.0000] <AryehGregor> The more standards there, the more credible it becomes. [16:48:06.0000] <Hixie> (just like we've set up wikis, blogs, etc) [16:49:00.0000] <AryehGregor> A reciprocal patent policy is a very interesting idea. [16:49:01.0000] <AryehGregor> It could work quite well, if anyone can easily sign up to it for free even after someone else has already tried to sue them and still get the immunity. [16:50:00.0000] <Hixie> if you would like to host the specs you work on on the whatwg.org domain, send me a mail with the current urls of the specs in question and i'll see what i can do [16:50:01.0000] <AryehGregor> In practice it would be the same as a universal license, since anyone could get it, except they have to agree to it as well. Copyleft-style. [16:50:02.0000] <Hixie> /me isn't a patent lawyer, so really isn't in a good place to have an educated opinion on the topic [16:51:00.0000] <AryehGregor> I don't particularly want to host at the WHATWG. I'd do it if we were trying to make it a credible competitor to the W3C, but it seems we aren't doing that anyway. [16:51:01.0000] <Hixie> personally i certainly have no interest in competing with the w3c [16:51:02.0000] <Hixie> my interest lies purely in making the web better [16:52:00.0000] <Hixie> whether that involves the w3c or not is not really important to me [16:52:01.0000] <Hixie> if people want to host specs on the whatwg.org domain, i'm happy to look into setting that up; if people want to set up a whatwg.org patent policy, i'm happy to contribute whatever resources i can bring to bear on the topic [16:53:00.0000] <Hixie> not particularly interested in spearheading the latter effort though :-) [16:55:00.0000] <AryehGregor> The W3C seems to me an incorrigible obstruction to making the web better. [16:56:00.0000] <boogyman> s/W3C/Internet Explorer/ [16:56:01.0000] <AryehGregor> It just makes its obstruction small enough that it's not worth the effort to abandon it, every time there's any threat to it. [16:56:02.0000] <AryehGregor> Make the minimal concessions to get implementers to use it. [16:56:03.0000] <AryehGregor> Oh well, nothing I can do. [16:56:04.0000] <AryehGregor> boogyman, IE9 is actually quite good. [16:58:00.0000] <boogyman> Yeah, but it will be nearly a decade before it's wide use... eg, when people who bought "vista" get away from the OS. But yes, I'm very happy about the strides the MSIE have made in developing v9 [16:58:01.0000] <boogyman> widely* [16:58:02.0000] <Hixie> competition in the browser space does seem to have done wonders to the IE situation 2011-06-17 [17:01:00.0000] <TabAtkins> AryehGregor: I've seen the suggestion (from someone competent, iirc, maybe even a patent lawyer?) that it would be good for the world if you started a reciprocal patent pool like you describe (free to join, nobody in it can sue anybody in it, you can late-join for protection), fill it with patent trolls, and give them a bankroll to start suing people. [17:02:00.0000] <TabAtkins> It's good business for the patent trolls, and their energy has a good chance of subverting a large part of the damage that patents cause. [17:03:00.0000] <zewt> does that really matter if it's a company dedicated to litigation holding a patent? they don't care about retaliation, since they're not doing anything themselves to violate other patents [17:04:00.0000] <TabAtkins> The courts are, I think, gradually being better about that sort of thing. This would stop actual companies from suing each other, though. [17:04:01.0000] <TabAtkins> At least, that's the impression I get from absorbing Techdirt. [17:07:00.0000] <Hixie> are MIME parameter names required to be treated case-insensitively? [17:07:01.0000] <Hixie> or is that something i have to say each time? [17:42:00.0000] <Sho_> Hi folks, does anybody know what the current state of html5lib for Python 3 is? [17:43:00.0000] <TabAtkins> Sho_: You want to ping jgraham, probably. He's asleep currently, since he lives in Norway. [17:44:00.0000] <Sho_> TabAtkins: thanks, I'll try to catch him during the CE(S)T day [17:45:00.0000] <gsnedders> TabAtkins: s/Norway/Sweden/ [17:45:01.0000] <gsnedders> Sho_: It's unmaintained. [17:45:02.0000] <TabAtkins> gsnedders: Same thing. [17:45:03.0000] <gsnedders> TabAtkins: I'm here, he isn't. QED. [17:46:00.0000] <gsnedders> Sho_: It's an old 2to3 based port of the python2 version [17:46:01.0000] <Sho_> gsnedders: yeah, that's what I feared when i saw the 2009 modification dates in the folder :-) [17:47:00.0000] <gsnedders> Sho_: Should probably try and start moving towards getting it working again… [17:47:01.0000] <Sho_> gsnedders: Do you have a handle on how 2to3 was missing and how much work remains? I have a html5lib-using codebase that I'd love to get on py3k right now; depending on the size of the project I might be able to scratch my itch there [17:48:00.0000] <Sho_> s/how 2to3/how much 2to3/ [17:48:01.0000] <gsnedders> Sho_: I don't knoq. [17:48:02.0000] <gsnedders> *know [17:49:00.0000] <Sho_> alright, then I'll get a stick and poke it myself a bit [17:49:01.0000] <gsnedders> Sho_: At least now there's quite a few strings that should be unicode strings that aren't [17:50:00.0000] <gsnedders> Sho_: So you can probably get somewhere tidying stuff up in the Py2 code to make 2to3 work better [17:51:00.0000] <Sho_> gsnedders: what's the lowest version of python html5lib officially supports? if it's OK to depend on 2.6, it might be a good first step to get it to work on from __future__ import unicode_literals to increase the amount of code that transfers over unchanged [17:52:00.0000] <Sho_> but I assume you're targetting 2.4 /2.5 still [17:53:00.0000] <gsnedders> Sho_: I dunno. We tend to support the oldest anyone bothers testing. I'd rather we kept support for 2.5, at least. [17:54:00.0000] <Sho_> OK, then it's more reasonable indeed to make changes catering to making 2to3 more effective [17:55:00.0000] <gsnedders> Sho_: unicode_literals I'd rather not rely upon, but it may be nice to use while testing the Py2 copy locally to find more needing changed [17:56:00.0000] <Sho_> yep [18:00:00.0000] <gsnedders> Sho_: Anything you do change file bugs/patches on [18:00:01.0000] <Sho_> gsnedders: roger, I'll try to keep things to reviewable sizes [18:01:00.0000] <Sho_> /me has to talk to his employer first, but it would be very neat if i could actually spend some company time on this [18:35:00.0000] <Hixie> jgraham: got a 504 this time :-) [20:31:00.0000] <MikeSmith> http://www.contextis.com/resources/blog/webgl2/ [20:31:01.0000] <MikeSmith> wow [20:31:02.0000] <MikeSmith> "we show how anyone running Firefox 4 with WebGL support is vulnerable to having malicious web pages capture screenshots of any window on their system" [23:22:00.0000] <roc> I love the spam in public-html [23:23:00.0000] <roc> "WHAT ARE YOU DOING MAN TAKING SO MUCH TIME ? YOU GUYS SHOUTED MORE AND GIVE [23:23:01.0000] <roc> OUTPUT LITTLE?? YOU CAN LEARN FROM ADOBE ORGANIZATION!" [23:27:00.0000] <MikeSmith> heh [23:27:01.0000] <MikeSmith> roc: yeah, that one is a gem indeed [23:28:00.0000] <MikeSmith> I think we should make that the /topic for this channel [23:30:00.0000] <MikeSmith> roc: btw, your latest blog posting was pretty intriguing [23:31:00.0000] <MikeSmith> I hope you'll keep posting updates [23:31:01.0000] <MikeSmith> recent discussions on the audio WG mailing list have pretty interesting also [23:57:00.0000] <nessy> couldn't agree more - on both accounts! That "bug" made me smirk, too :-) [00:35:00.0000] <hsivonen> what does this mean? http://www.tbray.org/ongoing/When/201x/2011/06/14/Native-vs-Web#c1308139244.984870 [00:40:00.0000] <MikeSmith> hsivonen: I suspect he defines "the Web" as something different than we do [00:40:01.0000] <MikeSmith> similar to the way that Jukka defines "validation" and being DTD-based [00:41:00.0000] <hsivonen> MikeSmith: Tim Bray defines Web app in a way that doesn't match the way most people use the term [00:42:00.0000] <MikeSmith> not surprised [00:42:01.0000] <hsivonen> Word can load .doc straight off an HTTP URL, right? so that makes Word a Web app per Tim Bray's definition [00:43:00.0000] <MikeSmith> heh [00:43:01.0000] <MikeSmith> well, hard to know what to say positively about that [00:43:02.0000] <MikeSmith> I guess that makes Word and HTTP UA [00:44:00.0000] <MikeSmith> which means it's just as important as browsers are [00:45:00.0000] <MikeSmith> so we should give up our misguided focus on browsers and realize that their are a myriad of equally important class of other applications to concern ourselves with [00:45:01.0000] <MikeSmith> anyway, I suspect that "entirely incompatible with the Web" probably means not in line with whatever specs they imagine as defining how the Web is supposed to work [00:45:02.0000] <MikeSmith> instead of how it actually works in practice [00:46:00.0000] <MikeSmith> I think some people really just hate the Web [00:46:01.0000] <MikeSmith> the Web as it actually exists [00:46:02.0000] <MikeSmith> because it has turned out messy and ugly [00:46:03.0000] <MikeSmith> and they wanted it all to be purty [00:46:04.0000] <MikeSmith> and neat [00:46:05.0000] <MikeSmith> and I think that's part of what they really hate about the HTML5 spec [00:47:00.0000] <MikeSmith> that is, the HTML5 spec documents the real Web [00:47:01.0000] <MikeSmith> the messy, ugly one [00:47:02.0000] <Ms2ger> We should replace it with something purty and neat, all from scratch [00:47:03.0000] <MikeSmith> we should just follow the specs [00:47:04.0000] <MikeSmith> then everything would be fine [00:47:05.0000] <MikeSmith> the good specs, I mean [00:48:00.0000] <MikeSmith> the pure "the Right Thing" ones [00:48:01.0000] <Hixie> you mean the ones that don't define error handling which is how we end up in this mess in the first place? :-) [00:48:02.0000] <Ms2ger> Yes, who needs error handling? [00:49:00.0000] <Ms2ger> Authors should just get it right all the time [00:50:00.0000] <Hixie> writing successful good specs is hard. [00:51:00.0000] <Hixie> some of the most successful things in the specs i write are full of quirks because i made mistakes while speccing them and by the time they were noticed, implementations had shipped and we were stuck. [00:51:01.0000] <Hixie> better that than a spec that's not implemented, though [01:14:00.0000] <hsivonen> oh well. I commented on tbray's blog post. Accidental 386 time. [01:40:00.0000] <Dashiva> hsivonen: Maybe one day you'll be able to afford an upgrade to 486 :) [01:41:00.0000] <hsivonen> Dashiva: to not being a ninja? [01:44:00.0000] <Dashiva> hsivonen: At least that way you'll get to sleep at night [02:06:00.0000] <zcorpan> Hixie: clearly you need some summary and scope and abbr and axis and longdesc on that table [02:25:00.0000] <MikeSmith> this party needs some annevk [02:58:00.0000] <zcorpan> MikeSmith: you're far too pragmatic! [02:58:01.0000] <MikeSmith> ? [02:59:00.0000] <zcorpan> bug 339 [03:02:00.0000] <MikeSmith> ah [03:03:00.0000] <MikeSmith> i find that code not so much fun to work with :) so I think it best to minimize how much of it to touch [03:05:00.0000] <MikeSmith> Hixie: I, um, just accidentally checked in some changes to the W3C sources for the spec [03:05:01.0000] <MikeSmith> so if you get conflicts next time you push, please just blow away what's there [03:06:00.0000] <MikeSmith> oh [03:06:01.0000] <MikeSmith> nm [03:06:02.0000] <MikeSmith> actually, it seems like I didn't do what I thought I did [03:07:00.0000] <MikeSmith> so I'm not as stupid as I thought [03:07:01.0000] <MikeSmith> yay me [03:07:02.0000] <nessy> lol [03:34:00.0000] <hsivonen> I'm shocked. I found a bug in the V.nu/Firefox parser impl. while prototyping Complex Ruby support [03:34:01.0000] <hsivonen> the bug was in the "any other end tag case" [03:37:00.0000] <MikeSmith> cool [03:37:01.0000] <MikeSmith> so Complex Ruby has finally proven useful for something [03:53:00.0000] <zcorpan> what's teh bug? [03:56:00.0000] <jgraham> Transposed e and h? [03:57:00.0000] <zcorpan> "In Section 7, the text about the close /reason/ makes it sound as if an [03:57:01.0000] <zcorpan> application might choose to show UTF-8 encoded data to an end user. That [03:57:02.0000] <zcorpan> might lead the reader to think that language tagging might be necessary. [03:57:03.0000] <zcorpan> Is it?" [03:58:00.0000] <jgraham> zcorpan: huh? [03:58:01.0000] <zcorpan> hybi [03:59:00.0000] <zcorpan> let's localize the close frame reason [03:59:01.0000] <zcorpan> maybe the reason needs some metadata as well [04:00:00.0000] <jgraham> Oh wow [04:01:00.0000] <jgraham> I didn't even consider that they might be saying that [04:02:00.0000] <jgraham> We could allow multiple /reason/s and have RDF to express equivalence relationships between them [04:02:01.0000] <jgraham> So that people could be clear that reason 2 was reason 1 translated into esperanto [04:02:02.0000] <zcorpan> RDF in JSON you mean? [04:07:00.0000] <Ms2ger> Is that the new Godwin? [04:08:00.0000] <hsivonen> zcorpan: it generated implied end tags without excluding the name of the token [04:09:00.0000] <hsivonen> zcorpan: there was also a check to see if the current node matched the token before the loop that's now in the spec [04:09:01.0000] <hsivonen> I suspect there has been a spec bug and I've failed to update the implementation when the spec got fixed [04:09:02.0000] <zcorpan> yeah i recall a spec change in that area some time ago [04:10:00.0000] <zcorpan> Philip`: plz fix the spec splitter around video [04:13:00.0000] <hsivonen> zcorpan: do you happen to know why rt and rp behavior is conditional to ruby being in scope? [04:13:01.0000] <hsivonen> /me launches a Windows VM to examine the ruby behavior of old IE [04:14:00.0000] <hsivonen> wow. [04:14:01.0000] <hsivonen> old IE treats rt as unknown unless inside ruby [04:15:00.0000] <hsivonen> that's even weirder than what I expected from old IE [04:15:01.0000] <zcorpan> hsivonen: you mean outside ruby (for old ie)? [04:15:02.0000] <zcorpan> oh [04:15:03.0000] <zcorpan> i missed unless [04:16:00.0000] <zcorpan> hsivonen: i recall having asked the same question to Hixie [04:17:00.0000] <zcorpan> i don't remember what the answer was exactly [04:18:00.0000] <zcorpan> http://krijnhoetmer.nl/irc-logs/whatwg/20100617#l-1194 [04:19:00.0000] <hsivonen> zcorpan: thanks [04:19:01.0000] <hsivonen> I guess I don't care about the scope check either way [04:20:00.0000] <hsivonen> Looks like Drupal owns the CMS that does RDFa market [04:21:00.0000] <jgraham> hsivonen: I entirely failed to understand that sentence [04:27:00.0000] <hsivonen> jgraham: Drupal owns the market that is scoped as "CMS that does RDFa" [04:33:00.0000] <annevk> oops, did not intend to open this quite yet, oh well [04:33:01.0000] <Ms2ger> Ohai [04:34:00.0000] <annevk> I wonder if Opera will crash due to the amount of email [04:34:01.0000] <zcorpan> WB [04:34:02.0000] <annevk> thanks [04:35:00.0000] <Ms2ger> ^That [04:35:01.0000] <zcorpan> shelley stopped doing whatwg weeklies [04:36:00.0000] <hsivonen> annevk: welcome back [04:36:01.0000] <annevk> zcorpan, I'll aim for Monday [04:36:02.0000] <hsivonen> hmm. fantasai isn't here [04:36:03.0000] <zcorpan> cool [04:36:04.0000] <annevk> at the moment email is not fetched beyond March 22... [04:36:05.0000] <hsivonen> does anyone have any idea why fantasai proposed putting <rp> inside <rtc>? [04:37:00.0000] <MikeSmith> annevk: stuff has gone all to hell during the last three months. please fix everything [04:37:01.0000] <annevk> hsivonen, she wrote a blog post no? [04:37:02.0000] <hsivonen> annevk: yes [04:37:03.0000] <hsivonen> /me re-reads again [04:37:04.0000] <annevk> hmm [04:37:05.0000] <MikeSmith> hsivonen: I thought fantasai was just following whatever was in the original (complex) Ruby spec [04:37:06.0000] <annevk> fetching 323 / 17091 [04:38:00.0000] <MikeSmith> you're a brave man for using Opera for e-mail [04:39:00.0000] <hsivonen> annevk: I re-read again. I still don't see why one would make rp a child of rtc [04:39:01.0000] <hsivonen> MikeSmith: I don't see this case in the original spec [04:39:02.0000] <MikeSmith> oh [04:40:00.0000] <hsivonen> sigh. I guess I will have to ask fantasai before requesting specific spec edits [04:43:00.0000] <annevk> I kind of thought we decided not to address all ruby scenarios for now, but oh well [04:44:00.0000] <annevk> I guess no it is semi-implemented... [04:45:00.0000] <hsivonen> annevk: the point here is to avoid painting ourselves in the corner with an over-aggressive parsing algorithm [05:39:00.0000] <zcorpan> heycam|away: any chance to get a decision on http://www.w3.org/Bugs/Public/show_bug.cgi?id=12798 soon? [05:45:00.0000] <zcorpan> Hixie: http://www.whatwg.org/specs/ doesn't list all whatwg-hosted specs [05:46:00.0000] <zcorpan> or maybe it does [05:51:00.0000] <annevk> we're not going to do null -> "" after all? [05:51:01.0000] <annevk> pfff [05:54:00.0000] <zcorpan> seems so [05:54:01.0000] <annevk> btw, compared to the 11'' Air the MacBook Pro 13'' is huge [05:55:00.0000] <annevk> and heavy [05:57:00.0000] <hasather> annevk: hey, welcome back. When are you back in Oslo? [06:04:00.0000] <asmodai> saw this? [06:04:01.0000] <asmodai> http://www.unifont.org/tt/ [06:08:00.0000] <MikeSmith> asmodai: the word "elegant" does not come to mind when looking at that solution [06:09:00.0000] <annevk> hasather, no idea really, apparently not in time for the party [06:12:00.0000] <asmodai> MikeSmith: I wonder how much work is still needed to get it all properly working natively. [06:14:00.0000] <MikeSmith> I guess what's needed for proper rendering of vertical text is for browsers to actually support proper rendering of vertical text [06:14:01.0000] <MikeSmith> without using transform and rotate [06:16:00.0000] <MikeSmith> like this: [06:16:01.0000] <MikeSmith> http://people.w3.org/mike/demo/melos/ [06:18:00.0000] <MikeSmith> using writing-mode [06:23:00.0000] <asmodai> Pressing x doesn't seem to work for me though. [06:23:01.0000] <MikeSmith> in only works in browsers that support writting-mode [06:24:00.0000] <MikeSmith> which I think means only Safari and Chrome at this point [06:25:00.0000] <asmodai> /me fires up chrome [06:26:00.0000] <annevk> I saw something go by about the CSS WG considering once again Unicode normalization [06:26:01.0000] <annevk> did that get resolved the right way? [06:26:02.0000] <asmodai> ok, it rotates 90 degrees. [06:26:03.0000] <annevk> guess I'll find out once I get through my email backlog [06:27:00.0000] <asmodai> But then again the kanji, hiragana, katakana als rotate, but hey, you know enough about Japanese to know what the end result should become. [06:27:01.0000] <MikeSmith> annevk: yeah, Richard told me a few weeks ago they were having some discussion, but I don't now what the resolution was [06:27:02.0000] <MikeSmith> if there was any [06:29:00.0000] <MikeSmith> asmodai: I think everything gets displayed the way it should when that is displayed in vertical mode -- with the exception of the roman characters [06:29:01.0000] <MikeSmith> that is, the URL at the end [06:29:02.0000] <MikeSmith> or maybe that's actually per spec [06:29:03.0000] <MikeSmith> I don't really know what's supposed to happen with roman characters by default when in vertical mode [06:30:00.0000] <asmodai> on Chrome at least all the kanji are rotated as well. If it's supposed to act like Japanese writing I'd expect the kanji, hiragana, katakana to have their orientation intact instead of also being rotated 90 degrees. [06:31:00.0000] <asmodai> latin text tends to get rotated 90 degrees [06:31:01.0000] <asmodai> so bottom faces left hand side [06:31:02.0000] <MikeSmith> the kanji and kana display as expected in my Chrome [06:31:03.0000] <asmodai> MikeSmith: which version? [06:31:04.0000] <MikeSmith> which are current dev channel and canaray [06:31:05.0000] <asmodai> that's odd [06:32:00.0000] <asmodai> I'm following Chrome dev as well (14) [06:32:01.0000] <MikeSmith> 14 974 is what I have [06:32:02.0000] <asmodai> 794 here [06:32:03.0000] <MikeSmith> wacky [06:33:00.0000] <MikeSmith> well, the kanji and kana should definitely not rotate [06:34:00.0000] <annevk> hmm [06:34:01.0000] <annevk> last email on public-web-notification was on May 31 [06:34:02.0000] <asmodai> MikeSmith: http://www.in-nomine.org/~asmodai/whatiget.png [06:34:03.0000] <annevk> a call for exclusions... [06:35:00.0000] <MikeSmith> asmodai: hmm, yeah, it ain't supposed to look like that :) [06:36:00.0000] <asmodai> MikeSmith: Odd that you get what it should be on the same Chrome version :| [06:36:01.0000] <asmodai> MikeSmith: any options that might be enabled on your side? [06:36:02.0000] <MikeSmith> none that I recall [06:37:00.0000] <MikeSmith> asmodai: could be a platform difference [06:38:00.0000] <MikeSmith> I am running on OSX [06:38:01.0000] <MikeSmith> maybe it relies on some mac-ish thingy [06:38:02.0000] <asmodai> same here [06:38:03.0000] <asmodai> ah [06:38:04.0000] <asmodai> Windows 7 here [06:38:05.0000] <MikeSmith> so that's probably it [06:38:06.0000] <MikeSmith> dunno [06:39:00.0000] <MikeSmith> I need to get a WIndows VM set up [06:39:01.0000] <asmodai> checking safari [06:40:00.0000] <hsivonen> Today is a good day to follow both @diveintomark and @JeniT on Twitter [06:41:00.0000] <asmodai> MikeSmith: just checked [06:41:01.0000] <asmodai> MikeSmith: colleague just checked on his Mac with Chrome 14 [06:41:02.0000] <asmodai> MikeSmith: works for him as well, it's a platform issue [06:42:00.0000] <MikeSmith> ok [06:42:01.0000] <asmodai> Anyway, that unifont thing was raised on the unicode list. [06:42:02.0000] <erlehmann> twitter, wasn't that the service breaking the web with shortlinks, killing feeds and using hashbangs instead of history API? [06:42:03.0000] <erlehmann> /me snickers [06:44:00.0000] <asmodai> Speaking of which, Gawker seems to have cleaned up their act. [06:44:01.0000] <jgraham> /me is developing a great deal of respect for Jeni T even though we have very different taste in technologies [06:45:00.0000] <jgraham> And despite the fact that she is trying to have a sensible conversation over twitter [06:45:01.0000] <jgraham> Which is pretty silly… [06:48:00.0000] <gsnedders> jgraham: There was a reason why I was sad when she decided not to run for election to the TAG… and then happy when she got appointed by timbl anyway. :) [06:49:00.0000] <jgraham> Well on the whole I would prefer the TAG to be populated by reasonable people with good taste in technologies ;) [06:50:00.0000] <gsnedders> I dunno — it's probably too heavily occupied by semweb people (which is a not unreasonable direction to take, and used quite heavily for interchange) — but getting anyone else willing to be on it is challenging… [06:52:00.0000] <annevk> Why do we need the TAG again? [06:53:00.0000] <gsnedders> annevk: Not having multiple WGs trying to do the same thing is in general a good idea. And people would probably complain if there wasn't a group whose job it was to advise the Director. [06:54:00.0000] <hsivonen> gsnedders: part of the problem with not having multiple WGs is that it's too easy for the first WG on a given topic to do the wrong thing [06:54:01.0000] <jgraham> Not having multiple working groups is part of the problem not the solution [06:55:00.0000] <gsnedders> How does have multiple distinct groups writing competing specs help the market? [06:56:00.0000] <jgraham> It gives the market a chance to choose the spec that fits its needs best [06:56:01.0000] <jgraham> Rather than assuming the the needs of the people writing the spec are well matched to those of the market [06:58:00.0000] <gsnedders> jgraham: So fragmentation like HD DVD/BluRay is good? [06:59:00.0000] <jgraham> Sure [06:59:01.0000] <jgraham> You notice there is no fragmentation now [07:00:00.0000] <hsivonen> there is if you look beyond plastic discs, though [07:01:00.0000] <gsnedders> I'd argue the fragmentation hurt the market then — it slowed the uptake of HD disks in general as far as I can tell [07:02:00.0000] <hsivonen> gsnedders: assuming that dealing with discs is not hurting [07:02:01.0000] <hsivonen> gsnedders: maybe scoping the problem as discs is as wrong as scoping the problem as how to serialize RDF [07:02:02.0000] <Lachy> gsnedders, the market is trying to move beyond physical media, which also partly explains the slower uptake [07:03:00.0000] <gsnedders> hsivonen: I think the problem with RDFa/Microdata is people trying to say that RDFa already exists for HTML. [07:03:01.0000] <jgraham> gsnedders: I think the slow uptake could be because people just didn't want what either format offered [07:03:02.0000] <gsnedders> jgraham: It seems to be increasing now, though [07:03:03.0000] <Lachy> and that market is in turn hurt by lower bit-rates, incompatible and annoying DRM systems, ISP download caps, etc [07:03:04.0000] <jgraham> Yes, and so is the affordability of HD TVs [07:03:05.0000] <hsivonen> gsnedders: the Process bogosity and the manufacture of legacy are a problem--not *the* problem [07:04:00.0000] <hsivonen> Lachy: shoddy software, territorial restrictions, etc., etc. [07:05:00.0000] <hsivonen> at home, I have a separate boot partition for online video rental to make sure the software doesn't come in contact with the daily use system [07:06:00.0000] <hsivonen> and the reason to bother with something that makes one feel the need to wall off the video rental software from other software is that the service that ties into better software isn't available in my region [07:07:00.0000] <Lachy> which service do you use? [07:08:00.0000] <hsivonen> Lachy: Voddler [07:10:00.0000] <Lachy> oh, I haven't heard of that one. What software does it use? Flash or Silverlight? [07:10:01.0000] <Lachy> or other? [07:10:02.0000] <hsivonen> Lachy: Flash Player for playback. [07:11:00.0000] <hsivonen> Lachy: custom networking [07:11:01.0000] <hsivonen> they used to use Adobe AIR [07:11:02.0000] <hsivonen> AIR, of course, is so well Integrated that it performs worse that in-browser Flash Player [07:13:00.0000] <hsivonen> would be nice if they used browser-native WebM and HTTP [07:13:01.0000] <hsivonen> but they have the DRM-wanting content provider overlords [07:13:02.0000] <hsivonen> also, they seem to think using HTTP would be too expensive [07:14:00.0000] <Lachy> reading their help, they said their using some peering technology that they developed. I guess that's something like streaming torrents [07:14:01.0000] <jgraham> """you can't imagine all the [07:14:02.0000] <jgraham> hacks browser manufacturers do to repair really bad code""" [07:15:00.0000] <jgraham> Umm, well actaully we can [07:15:01.0000] <jgraham> See also the HTML5 spec [07:15:02.0000] <gsnedders> Source? [07:15:03.0000] <jgraham> http://www.w3.org/mid/OF31B33356.F668E1E0-ON862578B2.00485AD0-862578B2.00489BBD⊙uic [07:21:00.0000] <richt> /me until someone meets my demands at dontmakemesteal.com I'll be on cuevana.tv amigos...HTML video would be nice once we've got a full screen playback API sorted. [07:31:00.0000] <erlehmann> gsnedders, RDFa exists. creative commons, for example, is using it. [07:31:01.0000] <erlehmann> but really i have no idea of the extent of use of RDFa vs microdata markup. [07:32:00.0000] <jgraham> In general people publishing stuff is not interesting if no one consumes it [07:33:00.0000] <erlehmann> i see what you did there. schema.org comes to mind. [07:34:00.0000] <hsivonen> erlehmann: creative commons is a particularly sad case considering that RDF is such an overkill for license annotations [07:34:01.0000] <erlehmann> /me knows what he did last summer. [07:36:00.0000] <Lachy> does creative commons still enocurage people to publish RDF inside <!-- comments -->? [07:36:01.0000] <gsnedders> Lachy: RDF/XML? [07:36:02.0000] <erlehmann> go ask in #cc [07:36:03.0000] <erlehmann> i don't think so. that'd be awkward. [07:45:00.0000] <Lachy> gsnedders, yeah, they used to do something like that. http://www.xml.com/pub/a/2003/01/15/creative.html [07:45:01.0000] <gsnedders> Lachy: I know WP did. Didn't know about what CC suggested. [07:46:00.0000] <gsnedders> Lachy: But, well, something like RDFa within a comment would make even less sense [07:47:00.0000] <hsivonen> gsnedders: the WHATWG licensing Microdata vocab is remarkably sensible compared to ccREL [07:48:00.0000] <hsivonen> ooh. Microsoft now explicitly considers WebGL harmful: http://blogs.technet.com/b/srd/archive/2011/06/16/webgl-considered-harmful.aspx [07:51:00.0000] <AryehGregor> TabAtkins_, that patent troll pool idea was actually mine originally. Florian Mueller later picked it up and posted about it on his blog: http://fosspatents.blogspot.com/2010/05/dpl-and-fair-troll-business-model-make.html [07:52:00.0000] <AryehGregor> But I don't think he followed up on it, or at least I don't know about it. [07:53:00.0000] <AryehGregor> zewt, if all the big companies were unable to enforce their patents against competitors, it would only be patent trolls supporting patents, so the big companies would lobby successfully to reform patent law in some fashion. [07:53:01.0000] <AryehGregor> (possibly just by making such patent pools illegal, though, if they aren't already) [07:54:00.0000] <AryehGregor> hsivonen, well . . . to be fair, they have a point. It's pretty scary. [07:55:00.0000] <jgraham> AryehGregor: More than the silverlight 3D thing? [07:55:01.0000] <hsivonen> AryehGregor: I'm not saying they don't have a point. [07:55:02.0000] <AryehGregor> jgraham, it's entirely possible that the people who reviewed WebGL and found it insecure didn't even know about Silverlight's 3D features, and can't do anything about them because it's a different department. [07:56:00.0000] <AryehGregor> Like how Microsoft officially opposed @font-face without obfuscation when Silverlight supported something similar already. [07:56:01.0000] <AryehGregor> (then their objection suddenly became that only *declarative* unobfuscated font use was a problem) [07:56:02.0000] <hsivonen> what's the level of abstraction that Silverlight's 3D stuff provides? [07:56:03.0000] <hsivonen> what about Molehill? [07:57:00.0000] <jgraham> Entirely possible. But it's still pretty hypocritical to publically oppose a technology on the one hand and push an identical (?) technology on the other [07:58:00.0000] <AryehGregor> You can't fairly call an 89,000-employee critical because some of its employees contradict other employees. [07:59:00.0000] <AryehGregor> Yay: http://www.imperialviolet.org/2011/06/16/dnssecchrome.html [08:00:00.0000] <jgraham> Well I can because that's what hypocritical means. It might not be possible, or even desirable, for a large company to avoid hypocritsy however [08:00:01.0000] <AryehGregor> No, hypocrisy is when someone pretends to be something they aren't, or says one thing and does another. An organization can't be hypocritical, only people can be hypocritical. [08:01:00.0000] <AryehGregor> Even if we sometimes treat organizations like people. [08:02:00.0000] <jgraham> AryehGregor: I quite disagree [08:03:00.0000] <jgraham> I suppose the other reading is that "In its current form, WebGL is not a technology Microsoft can endorse from a security perspective" means that Microsoft doesn't consider this level of security concerns a sufficient reason not to release a product [08:03:01.0000] <jgraham> (or that the silverlight thing actually has materially different security properties) [08:04:00.0000] <AryehGregor> No, it probably just means that totally different people did the security reviews. [08:04:01.0000] <Philip`> It seems reasonable to assume Microsoft has divisions that apply different weights to different criteria - their Security Response Center is clearly going to focus on security and recommend against insecure things, while their Silverlight people and IE people etc will focus more on enhancing the customer experience through hardware acceleration [08:04:02.0000] <AryehGregor> From different groups that maybe barely talk to each other. [08:04:03.0000] <jgraham> AryehGregor: But they claim to speak for Microsoft as a collective entity [08:04:04.0000] <AryehGregor> Well, yeah, that's a common fiction in large organizations. [08:04:05.0000] <jgraham> Not Microsoft's security team or anything else [08:05:00.0000] <AryehGregor> It's quite possible that the Silverlight team needs to get adoption at all costs, because if they fail to get adoption for long enough they might be axed or at least lose money to other groups. [08:05:01.0000] <AryehGregor> So maybe they aren't so interested in others concerns. [08:05:02.0000] <AryehGregor> IE is going to get lots of resources regardless, is much more widely used, is under more public scrutiny, and has often been criticized for poor security. [08:05:03.0000] <AryehGregor> Totally different situation. They might be a lot less willing to take security or other risks. [08:08:00.0000] <jgraham> Indeed. But it's still hypocritsy if "Microsoft" announce that it is unacceptable to ship a technology for reason X whilst shipping a similar technology to which X also applies [08:10:00.0000] <AryehGregor> No, it's just people claiming to speak for Microsoft when they really shouldn't be. [08:10:01.0000] <hsivonen> "For security and compatibility reasons, some drivers will be blocked by default in the browser." [08:11:00.0000] <hsivonen> http://msdn.microsoft.com/en-us/library/gg197424%28v=XNAGameStudio.35%29.aspx [08:11:01.0000] <AryehGregor> It's not like the guy who posted that got approval from Steve Ballmer to speak in the name of Microsoft. [08:47:00.0000] <krijnh> Nothing to see here, move along [08:50:00.0000] <annevk> oh dictionaries in Web IDL [08:52:00.0000] <krijn> annevk: power supply died, nothing aan de hand :) Maar zal meteen weer wat backups overzetten [08:53:00.0000] <annevk> #panicmode [08:54:00.0000] <krijn> Also, we're getting fiber here, so massive speed improvement coming up! [09:00:00.0000] <zcorpan> rwaldron: sorry gotta go now. back on monday. feel free to email me simonp⊙oc [09:00:01.0000] <rwaldron> ok, thank [09:00:02.0000] <rwaldron> thanks* [09:02:00.0000] <annevk> so no HTML/XML work done since I left [09:02:01.0000] <annevk> not sure what is up with URL [09:02:02.0000] <annevk> no discussion on Web Notifications [09:38:00.0000] <krijnh> Why, what's up? [09:38:01.0000] <krijn> Shut up you [09:38:02.0000] <jcranmer> sigh [09:38:03.0000] <krijn> You're an unreliable piece of junk! [09:38:04.0000] <krijnh> :( [09:38:05.0000] <jcranmer> I wish people would implement useful things like <input type="date"> [09:48:00.0000] <jgraham> jcranmer: Now you made us feel unloved :( [09:49:00.0000] <annevk> jcranmer, Opera did, I hear iOS5 does too... [09:49:01.0000] <Philip`> jgraham: I have nearly constant logs since January 2009, conveniently split into files no larger than 55MB each [09:50:00.0000] <jcranmer> annevk: that's great for the ~2% of the people who use Opera, not so great for the 98% who don't [09:50:01.0000] <annevk> jcranmer, fix it! [09:51:00.0000] <krijn> (For those interested: http://krijnhoetmer.nl/irc-logs/ is a static file now, not live. I'm backing up everything right now, cause I have the feeling the broken power supply kind of damaged my hard drive) [09:51:01.0000] <jcranmer> unfortunately, I have no intention of touching content code [09:52:00.0000] <krijn> (Very cool btw, each time somebody requests a file from my server, I hear a high pitch sound) [09:54:00.0000] <Philip`> krijn: If you tell us the pitch that each different file makes, we could try to set up a hard disk orchestra on your machine [09:54:01.0000] <annevk> krijn, if you need hardware / money for hardware let me know [09:54:02.0000] <krijn> Nah, I have some hardware left here, that's not it (brother is buying a new power supply right now) [09:55:00.0000] <krijn> Just don't think I'm able to do the same crappy configuration on a new machine :p [09:56:00.0000] <annevk> sounds like a loss [09:57:00.0000] <krijn> Glad my mom is kind of old and doesn't hear the sound, it's pretty annoying.. [09:57:01.0000] <annevk> I wonder why we have crossorigin=""; CORS was designed so no markup changes would be needed [09:58:00.0000] <annevk> /me creates todo [09:59:00.0000] <AryehGregor> What happened, a disk failure? [09:59:01.0000] <krijn> Now, power supply overheated I think, ended with a big bang. Think it damaged something else on its way out [09:59:02.0000] <krijn> *no [10:00:00.0000] <AryehGregor> annevk, the point seems to be to allow requests even to untrusted domains in some cases, without server-side opt-in, but without submitting the user's credentials. [10:00:01.0000] <AryehGregor> Which can then be treated more leniently than other requests for stuff like canvas, I guess? [10:00:02.0000] <AryehGregor> Hmm, maybe I'm wrong. [10:00:03.0000] <AryehGregor> /me hasn't paid attention to it [10:09:00.0000] <annevk> credential-less requests still need opt-in [10:10:00.0000] <annevk> otherwise intranets guarded by IP-address protection are vulnerable [10:14:00.0000] <krijn> 7000 URIs, adactio will kill me if I screw this up :] [10:15:00.0000] <annevk> btw, does Web IDL dictionary work for arbitrary objects? [10:16:00.0000] <annevk> or will initEvent() need to be overloaded with a version for each potential dictionary? [10:17:00.0000] <krijn> (Not to mention those evil cabal assassins) [10:18:00.0000] <AryehGregor> Could we solve the intranet problem by just saying that nothing on a public IP address can load anything from a private IP address? [10:19:00.0000] <AryehGregor> Maybe some businesses put things on firewall-protected public IP addresses, but maybe we could just ignore them. [10:19:01.0000] <AryehGregor> That would make a lot of things simpler. [10:19:02.0000] <AryehGregor> Probably we can't, though. [10:19:03.0000] <AryehGregor> Might be a good idea, but maybe not good enough. [10:19:04.0000] <AryehGregor> /me can dream [10:20:00.0000] <Philip`> I don't think there's any guarantee that intranets are on private IP addresses [10:20:01.0000] <AryehGregor> No, but we could always decide not to care about the ones that aren't. [10:21:00.0000] <Philip`> We could always decide not to care about the ones that are, too [10:21:01.0000] <AryehGregor> In principle, yes. [10:21:02.0000] <annevk> that ship sailed [10:22:00.0000] <AryehGregor> It could still be changed in principle, no? [10:22:01.0000] <AryehGregor> (not that I'm optimistic) [10:22:02.0000] <Philip`> Based on zero evidence, I'd imagine that non-private-IP intranets are not significantly rarer and less worthy of care than private-IP intranets [10:23:00.0000] <AryehGregor> Most organizations have a limited number of IP addresses, and private-IP networks don't even have to be specially firewalled, so using private IP ranges is very common. [10:23:01.0000] <AryehGregor> Although it's true that organizations with lots and lots of public IP addresses (like colleges) tend to just use those for everything. [10:24:00.0000] <annevk> last I checked it was not going to happen [10:25:00.0000] <annevk> in theory everything can be changed, in practice I'm past some of those battles :) [10:31:00.0000] <Philip`> AryehGregor: Private IPs sound like a pain if you ever merge multiple intranets (companies buying each other) since the addresses may conflict, and presumably make it harder to punch holes in the firewall, so I'd expect there are reasons to use public addresses [10:32:00.0000] <AryehGregor> Presumably. [10:32:01.0000] <Philip`> (In the glorious age of IPv6 the problem of limited availability will go away) [10:43:00.0000] <TabAtkins> annevk: On the unicode normalization front, we're trying to punt, given that it's not a Namespaces issue, but i18n hasn't responded to anything lately. Chairs have scheduled a meeting with them sometime soon. [10:45:00.0000] <annevk> o_O [10:45:01.0000] <annevk> there should be no Unicode normalization [10:45:02.0000] <Ms2ger> annevk, WebIDL dictionaries can have optional properties, btw [10:45:03.0000] <TabAtkins> I don't have an opinion, but if there's any, it should happen as early as possible. And it is absolutely not an issue that the Namespaces spec needs to care about. [10:46:00.0000] <AryehGregor> It can't happen too early, because then anything that round-trips through the browser will get normalized, which is a problem if you're editing something and suddenly every line is different even though you didn't change anything. [10:46:01.0000] <AryehGregor> Generally browsers just ignore Unicode normalization and rely on the site to get it right. [10:47:00.0000] <AryehGregor> (which, e.g., MediaWiki largely does, but lots of software probably doesn't) [10:47:01.0000] <TabAtkins> Indeed. I'm just saying that *if* it happens, it's better to happen early rather than late. [10:47:02.0000] <TabAtkins> But generally, yeah, we should depend on the HTML and CSS authors to be using the same normalization. [10:47:03.0000] <AryehGregor> If "early" means during parsing or something, it can't, as I said. [10:48:00.0000] <AryehGregor> Anyway, I think this is a low-priority issue, because it only affects foreign people. If they want to use unreasonable languages, they can take the extra effort to normalize themselves. [10:48:01.0000] <TabAtkins> That's fine. My statement was a conditional. [10:48:02.0000] <AryehGregor> English speakers are largely unaffected. [10:48:03.0000] <TabAtkins> English speakers do sometimes use zalgo, though. [10:49:00.0000] <AryehGregor> Normally not for things where normalization matters much, though. [10:49:01.0000] <AryehGregor> I guess if you used a Zalgo username on a website, inconsistent normalization could cause username equality checks to fail. [10:50:00.0000] <Ms2ger> And if you do that, you deserved it [10:50:01.0000] <AryehGregor> Actually, that's a reason why browsers absolutely cannot do normalization on things like form submission: if the user's name is stored denormalized or in the wrong normalization form in the site, and the browser normalizes on submission, login would fail. [10:50:02.0000] <annevk> Ms2ger, yeah, but that is not enough [10:51:00.0000] <AryehGregor> Of course, the status quo is that login would fail if the user is logging in from multiple different platforms that do different normalization when the user types. [10:51:01.0000] <AryehGregor> Does OS X like NFD for some insane reason? [10:51:02.0000] <AryehGregor> Doesn't OS X like NFD for some insane reason? [10:51:03.0000] <annevk> Ms2ger, unless you can have ... for optional properties and let their type all be "any" [10:51:04.0000] <TabAtkins> AryehGregor: Presumably the username originally comes from a form, too, which hopefully normalizes the same way. [10:51:05.0000] <Ms2ger> Probably not [10:51:06.0000] <annevk> Ms2ger, I guess overloading is not too bad, each new event will just have to define a dictionary [10:51:07.0000] <TabAtkins> But anyway, we were talking about CSS, and yeah, we probably shouldn't do any normalization. [10:52:00.0000] <AryehGregor> TabAtkins, except right now browsers don't normalize, so if some started normalizing . . . [10:52:01.0000] <TabAtkins> Indeed. Legacy constraints, as always. [10:52:02.0000] <annevk> also, nobody uses CSS namespaces [10:53:00.0000] <TabAtkins> That too. [10:53:01.0000] <AryehGregor> They might actually be useful now with embedded SVG and MathML. [10:53:02.0000] <AryehGregor> They're one way you can feature-detect for MathML support. [10:53:03.0000] <AryehGregor> Use CSS to hide the MathML element and display an image if the MathML element has the HTML namespace. [10:54:00.0000] <AryehGregor> Not needed for SVG, though. [10:54:01.0000] <erlehmann> cool story, bro. [10:54:02.0000] <erlehmann> i did html::before once. is there a special hell for me, full of unstyled elements? [10:54:03.0000] <AryehGregor> (since it doesn't use textContent at all, so it will be invisible anyway except for fallback you can put in whatever element is suitable for that, I forget) [11:02:00.0000] <MikeSmith> hober: well stated [11:06:00.0000] <annevk> whoa, Chrome still has not disabled its crippled data:text/html,<input type=datetime> implementation? [11:06:01.0000] <annevk> madness [11:06:02.0000] <krijnh> Time for a new power supply, brb o/ [11:28:00.0000] <annevk> smaug____, about CaretSelection.range [11:29:00.0000] <annevk> it was known to be redundant with the other attributes at the time we decided to add it [11:29:01.0000] <smaug____> annevk: I don't know who decided :) [11:29:02.0000] <smaug____> IIRC, I tried to find why it was added, but couldn't [11:35:00.0000] <annevk> smaug____, http://lists.w3.org/Archives/Public/public-webapps/2009OctDec/0150.html [11:36:00.0000] <smaug____> "It could have a convenience method for converting a Range too, if that's really needed" [11:36:01.0000] <smaug____> it isn't really needed [11:40:00.0000] <krijn> Weird sound is gone \o/ [11:40:01.0000] <krijn> This might actually work [11:42:00.0000] <krijn> One change: flagging lines is only possible on the day itself, once the day is done the logfile including flagged lines is written to disk. Easier to backup/export/transfer that way.. [11:43:00.0000] <krijn> (Advantage: logs are super fast now) [11:44:00.0000] <Ms2ger> Boo ;) [11:51:00.0000] <Hixie> yay, annevk's back! wooo [11:51:01.0000] <krijn> Ow come on, what did he do for the web! [11:51:02.0000] <Hixie> jgraham: there's a ton of feature-level versioning in the spec source, just search for v[0-9] [11:53:00.0000] <Hixie> zcorpan: it lists all the actively developed specs that i have admitted are developed on whatwg :-) [11:53:01.0000] <Hixie> zcorpan: (it doesn't list xbl, which is also accessible on whatwg.org, but that's just because i needed somewhere to stick it while i developped it) [11:54:00.0000] <Ms2ger> Hixie, fyi, https://bugzilla.mozilla.org/show_bug.cgi?id=664179 [11:55:00.0000] <Hixie> looking [11:55:01.0000] <Hixie> oh yeah, i saw that [11:55:02.0000] <Hixie> it's only my list of things to do today so he has a spec to work on [11:55:03.0000] <Ms2ger> Good :) [11:55:04.0000] <Hixie> hopefully should be straight-forward [12:00:00.0000] <Hixie> yay, the w3c considers whatwg input to be internal input as far as the htmlwg goes! that's good to see. http://www.w3.org/mid/4DFB7645.4030301⊙si [12:01:00.0000] <Ms2ger> "Any comments not received by August 3 might not be considered before early 2012" [12:01:01.0000] <Ms2ger> Isn't that expected? :) [12:02:00.0000] <AryehGregor> Hixie, where does it say that? [12:03:00.0000] <Hixie> Ms2ger: dude i'm only about 3 months behind on non-RFE feedback at the moment! [12:03:01.0000] <Hixie> AryehGregor: "Group is still working through open issues of its own, outside of additional comments." [12:03:02.0000] <AryehGregor> /me doesn't know what that sentence means [12:03:03.0000] <Hixie> vast majority of work on the spec at the moment is whatwg feedback [12:06:00.0000] <Ms2ger> /me likes exaggerating... a little ;) [12:06:01.0000] <mpilgrim> heycam|away: webkit is moving to raise-on-missing-arguments in our IDL system ( see https://bugs.webkit.org/show_bug.cgi?id=62750 ), and we have plans to further align with WebIDL [12:07:00.0000] <Hixie> for RFE feedback the oldest e-mail still in the system is from 2007, so if you want to exaggerate there's plenty more room than that :-P [12:08:00.0000] <Ms2ger> I don't care about rfes [12:08:01.0000] <Hixie> fair enough [12:08:02.0000] <Ms2ger> The spec is bad enough without considering them ;) [12:08:03.0000] <Hixie> hey! [12:09:00.0000] <Ms2ger> Sure, it's the best we ever had, but you can do better ;) [12:09:01.0000] <AryehGregor> What's a case where the browser submits magical extra form fields that don't have elements associated with them? [12:09:02.0000] <AryehGregor> There are some already, right? [12:09:03.0000] <Hixie> none without elements [12:09:04.0000] <Hixie> but there are magical fields [12:09:05.0000] <Hixie> _charset_ [12:09:06.0000] <Hixie> image.x and .y [12:10:00.0000] <Hixie> can't think of any others off the top of my head [12:10:01.0000] <TabAtkins> dir [12:10:02.0000] <AryehGregor> Yeah, you added dir recently, right? [12:10:03.0000] <Hixie> oh right, some dir thing [12:10:04.0000] <Ms2ger> isindex? [12:10:05.0000] <Hixie> isindex is actually not a field :-P [12:11:00.0000] <Hixie> that's how it's magical :-) [12:11:01.0000] <Ms2ger> It's a mess, that's what it is :) [12:11:02.0000] <Hixie> no argument there [12:16:00.0000] <annevk> ah, he left [12:16:01.0000] <annevk> yay for http://diveintomark.org/archives/2011/06/17/come-on-gruber-youre-better-than-this [12:17:00.0000] <annevk> haha, the URL [12:17:01.0000] <othermaciej_> troll vs troll! [12:18:00.0000] <othermaciej_> also: welcome back annevk! [12:29:00.0000] <annevk> oh [12:29:01.0000] <annevk> so Mozilla has Nightly too... [12:29:02.0000] <annevk> what is Aurora then what I downloaded the other day? [12:30:00.0000] <Ms2ger> Between Nightly and Beta [12:34:00.0000] <AryehGregor> ARGH. [12:34:01.0000] <AryehGregor> A third post bounced, IN THE SAME THREAD. [12:34:02.0000] <Ms2ger> Time to stop posting :) [12:44:00.0000] <erlehmann> if image macros were allowed, there are quite some for STOP POSTING. [12:46:00.0000] <Hixie> annevk: btw, see <img crossorigin=""> and <video crossorigin=""> [12:49:00.0000] <erlehmann> seems the web is destined to duplicate all manners of metadata at all levels. [12:49:01.0000] <erlehmann> AryehGregor, thanks for your post on hashing. i was going to write one myself, but now I do not have to. :) [12:54:00.0000] <Hixie> AryehGregor: dude, just subscribe the other address and disable delivery [12:54:01.0000] <Hixie> AryehGregor: though at that point, why bother with a special address [12:55:00.0000] <AryehGregor> Hixie, so that if spambots get the address, I can change it and start deleting all mail to the old unused address. [12:55:01.0000] <AryehGregor> /me didn't realize you could subscribe without delivery [12:56:00.0000] <AryehGregor> Wow, there are loads of options here. [13:07:00.0000] <erlehmann> AryehGregor, i use the plus sign for additional addresses. is there another way? [13:07:01.0000] <AryehGregor> erlehmann, you can just make another address and have it forward. [13:07:02.0000] <AryehGregor> I have aryeh.name in Google Apps, solely for e-mail forwarding. I can make up to like 300 total e-mail aliases before I actually have to pay anything for it. [13:08:00.0000] <AryehGregor> But for my Gmail addresses I use pluses, yeah. [13:08:01.0000] <erlehmann> mailers gonna mail. [13:16:00.0000] <Hixie> AryehGregor: but if you're posting with your other address, surely if they get the first address they'll get teh second too? [13:21:00.0000] <AryehGregor> Hixie, well, as I've discovered, if I post to the list and it bounces, the people I send the same mail individually to reply on-list, so my sekrit address is in the CC list anyway. [13:21:01.0000] <Hixie> indeed [13:21:02.0000] <Hixie> i'd just unsubscribe the other address and use your mail one [13:22:00.0000] <Hixie> once your address is out there it's a lost cause anyway -- and having many addresses just means more spam, in my experience [13:22:01.0000] <Hixie> annevk: you around? [13:22:02.0000] <AryehGregor> Gmail tends to think some mail to the lists is spam, though, particularly from people with @google.com addresses. Currently I have a filter to not send anything to spam if it's going to my list address. [13:23:00.0000] <Hixie> annevk: CORS and EventSource -- sending cookies is pretty key, since a lot of streams are user-specific. Should I just always send them? [13:23:01.0000] <AryehGregor> Doesn't really matter much, it's just extra effort to change it at this point. [13:23:02.0000] <Hixie> AryehGregor: yeah, i often miss mail from googlers [13:23:03.0000] <Hixie> gotta love that google is making it harder for google to help google [13:23:04.0000] <Hixie> (and yet people still think i'm some sort of google puppet, lol) [13:24:00.0000] <AryehGregor> I'm not clear why. google.com has SPF, but only with softfail. What would be flagging them as spam? [13:24:01.0000] <Hixie> haven't studied it [13:24:02.0000] <Hixie> probably gmail being proactive though [13:24:03.0000] <Hixie> unless you don't use gmail? [13:24:04.0000] <AryehGregor> I have a great idea: once you're done with HTML, how about you fix SMTP? [13:24:05.0000] <Ms2ger> Hixie, of course the only reason the W3C allowed layout tables is because you're a Google puppet :) [13:25:00.0000] <Hixie> you think smtp will outlive html? there's a horrifying thought... [13:25:01.0000] <TabAtkins> I had to set a specific rule that @google.com never goes to spam. [13:25:02.0000] <Hixie> Ms2ger: yeah i love that nobody seems to complain about the obvious ibm conflict of interest on that one [13:25:03.0000] <Hixie> TabAtkins: how? [13:25:04.0000] <erlehmann> TabAtkins, that seems like fail. [13:26:00.0000] <Ms2ger> His name isn't in the spec, and nobody understand the insane HTMLWG process [13:26:01.0000] <TabAtkins> Hixie: Uh, a filter. [13:26:02.0000] <TabAtkins> erlehmann: It doesn't hurt that badly. [13:26:03.0000] <erlehmann> AryehGregor, how about a mail system via XMPP? that would be rad. [13:26:04.0000] <Hixie> TabAtkins: huh, i didn't know you could do that [13:26:05.0000] <AryehGregor> Hixie, sure you can. [13:26:06.0000] <Hixie> interesting [13:26:07.0000] <Hixie> /me pokes [13:27:00.0000] <AryehGregor> erlehmann, how about any mail system that actually implements meaningful authentication but is still backward-compatible with SMTP? [13:27:01.0000] <AryehGregor> You come up with that and I'm sold. [13:27:02.0000] <erlehmann> AryehGregor, i reject your compatibility concerns and substitute my own. [13:27:03.0000] <AryehGregor> Oh, and that's usable by normal people, so it can eventually supplant SMTP. [13:27:04.0000] <zewt> years ago I tried the "separate email aliases for everything" thing. all it did was make me receive every spam 40x, once to each, heh [13:27:05.0000] <erlehmann> claws-mail actually treats RSS and ATOM feeds like incoming mail. that is a pretty interesting idea. [13:27:06.0000] <AryehGregor> Mailing lists are a big problem. [13:28:00.0000] <Hixie> the thing i love about smtp is the ability to send mail from a script with an arbitrary from: address [13:28:01.0000] <zewt> handy in principle for tracking down sites who sell email addresses, but that only actually happened maybe once or twice [13:28:02.0000] <Hixie> this is also the thing that allows the spam problem to exist [13:28:03.0000] <erlehmann> i did that, once. i was like 12 and it was like telnet. [13:28:04.0000] <AryehGregor> zewt, yeah, that's largely been my experience too. [13:28:05.0000] <annevk> Hixie, I think so [13:28:06.0000] <AryehGregor> I continue to do it, but mostly out of habit. [13:28:07.0000] <Hixie> annevk: k [13:29:00.0000] <annevk> Hixie, actually, apart from XHR, I sort of thought we'd do it that way for all cross-origin resources [13:29:01.0000] <AryehGregor> I should probably just switch everything to using ayg⊙an and not worry about spambots getting it. [13:29:02.0000] <annevk> Hixie, avoiding the need for crossorigin="" [13:29:03.0000] <erlehmann> are arbitrary from addresses supported in MUAs besides claws-mail? [13:29:04.0000] <zewt> annevk: also, welcome back :P [13:29:05.0000] <annevk> hey zewt [13:29:06.0000] <erlehmann> just report the spammers to cyber police and state police. consequences will never be the same. [13:29:07.0000] <AryehGregor> erlehmann, IIRC, GNU mail supports it, but only if you're root. [13:29:08.0000] <Hixie> annevk: for <img> we figured that static images would often need cross-origin support and having the server reflect the origin each time was going to be a huge pain [13:29:09.0000] <AryehGregor> Not that non-root can't just use telnet. [13:30:00.0000] <AryehGregor> I've done it via telnet more than once. [13:30:01.0000] <Hixie> annevk: so we had to have a way that wouldn't send the cookies so the site could use "8" [13:30:02.0000] <Hixie> er [13:30:03.0000] <Hixie> "*" [13:30:04.0000] <erlehmann> AryehGregor, >implying i'd use any program as root. [13:30:05.0000] <AryehGregor> erlehmann, do you run init as root? :) [13:30:06.0000] <Ms2ger> AryehGregor, does krijnh strip email addresses from the logs? [13:30:07.0000] <erlehmann> AryehGregor, core utils et al are exempt! [13:31:00.0000] <AryehGregor> Ms2ger, I dunno, but to preserve my sanity, I assume spam harvesters don't actually read every single page on the web. [13:31:01.0000] <Hixie> AryehGregor: they definitely read w3.org. hedral⊙dc was on w3.org for like 5 seconds before it started gettign tons of spam. [13:31:02.0000] <erlehmann> AryehGregor, do you make the irc log page? [13:32:00.0000] <AryehGregor> erlehmann, do you start webservers as root? [13:32:01.0000] <AryehGregor> erlehmann, krijn makes the IRC log page. [13:32:02.0000] <annevk> Hixie, ah yeah, I think we should support * for credentialed requests [13:33:00.0000] <Hixie> annevk: well for eventsource it doesn't matter, they have to have a script there anyway or the feature is pointless [13:33:01.0000] <erlehmann> AryehGregor, i test software locally on port 8080. but i see what you did there, YOU WIN. enjoy your cake. [13:33:02.0000] <AryehGregor> :) [13:34:00.0000] <erlehmann> that reminds me, i need to read CSSquirrel. the google-GLaDOS really cracks me up. [13:38:00.0000] <annevk> Hixie, yeah [13:42:00.0000] <Hixie> anne: man, what a tangled web we weave [13:42:01.0000] <Hixie> annevk: event source calls one of my algorithms which invokes cors which invokes fetch which invokes http [13:43:00.0000] <Hixie> annevk: at some point when we've both got some free time we should work out how to shuffle things around cors, xhr, html, and dom core, and rationalise these dependencies [13:43:01.0000] <Hixie> annevk: (no rush on that though... maybe next year) [13:44:00.0000] <annevk> yeah, CORS is kind of awkward [13:45:00.0000] <annevk> I think DOM Core is alright as low-level dependency though [13:45:01.0000] <Ms2ger> Now you just need to remove that stuff from HTML [13:51:00.0000] <Hixie> Ms2ger, annevk: before doing that we need to propagate recent changes to html [13:51:01.0000] <Hixie> Ms2ger, annevk: it's on my list, but not a high priority... in the meantime i'm kinda worried the text is forking [13:51:02.0000] <Ms2ger> I'm trying to follow your changes [13:52:00.0000] <Hixie> k [13:53:00.0000] <Hixie> i can put markers in the .../source to make it trivial for you to just slurp it in if you prefer [13:54:00.0000] <Ms2ger> No need, it's not like it changes often [13:55:00.0000] <Hixie> k [13:57:00.0000] <Hixie> there's really no good api for the postMessage() transfer thing that i can see [13:57:01.0000] <Hixie> all the options suck in some way [13:58:00.0000] <Hixie> dunno what to do about that [13:59:00.0000] <zewt> the main proposal right now doesn't seem to suck very much [14:02:00.0000] <annevk> doesn't sound like it's great either :) [14:03:00.0000] <zewt> don't think there are any serious problems with it [14:03:01.0000] <Hixie> zewt: which is the "main" one? [14:03:02.0000] <zewt> postMessage([obj1, obj2, obj3], [obj2]) [14:03:03.0000] <Hixie> and what do you get on the other side? [14:03:04.0000] <zewt> [obj1, obj2, obj3] [14:04:00.0000] <Hixie> what happens if something is only in the first object or only in the second array? [14:04:01.0000] <zewt> one sec I think I summarized how I was thinking of it in a mail, let me find it [14:05:00.0000] <Hixie> k, i'll check it when i get back [14:05:01.0000] <Hixie> lunch now [14:05:02.0000] <Hixie> bbiab [14:07:00.0000] <zewt> http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/0977.html [14:11:00.0000] <The_8472> /me wonders if webworkers are actually good for anything but numbercrunching [14:12:00.0000] <TabAtkins> Everything is number-crunching, so what's the difference? [14:13:00.0000] <The_8472> interaction with the API [14:13:01.0000] <zewt> well, not really (not by what the term typically means), but there are plenty of non-number-crunching use cases: http://www.whatwg.org/specs/web-apps/current-work/complete/workers.html [14:13:02.0000] <The_8472> with any API [14:14:00.0000] <The_8472> 'In this example, the main document spawns a worker whose only task is to listen for notifications from the server, and, when appropriate, either add or remove data from the client-side database.' <- that could be done with an event based API [14:14:01.0000] <The_8472> instead of blocking for some notification [14:14:02.0000] <zewt> so? [14:14:03.0000] <The_8472> no need for an extra thread [14:14:04.0000] <zewt> a huge set of use cases for threads is turning ugly event-based code into clean linear code [14:14:05.0000] <charlvn> a lot of dom work can also bog down slower processors [14:15:00.0000] <zewt> far more common than number crunching, in my experience (for threads in all environments, not just workers) [14:15:01.0000] <The_8472> dom work can't be webworker'd, can it? [14:15:02.0000] <charlvn> ouch [14:16:00.0000] <The_8472> the problem with dom and javascript is that they haven't been designed for multithreading [14:16:01.0000] <The_8472> so we have practically no thread-safe APIs [14:16:02.0000] <The_8472> which puts strong limits on what can be passed between threads [14:16:03.0000] <zewt> also, "no need for an extra thread" doesn't matter--threads aren't expensive, there's no reason to *avoid* the extra thread [14:16:04.0000] <charlvn> yeah i see, that is a problem [14:17:00.0000] <The_8472> there is when the thread-communication incurs is unflexible [14:17:01.0000] <The_8472> err [14:17:02.0000] <charlvn> in the examples the dom work is being done using the onmessage callback [14:17:03.0000] <charlvn> so i guess that will run in the main thread [14:17:04.0000] <The_8472> yeah [14:18:00.0000] <charlvn> but i think that's cool though, it's cleaner [14:18:01.0000] <charlvn> and besides, browsers should opmise that type of stuff in the background [14:18:02.0000] <zewt> you should really be able to do canvas/img/webgl stuff in workers, but hopefully that'll come eventually [14:19:00.0000] <charlvn> that would be a necessity i think [14:19:01.0000] <The_8472> that's the point. we need thread-safe APIs. or at least a way to pass native object ownership to another thread [14:19:02.0000] <erlehmann> zewt, then javascript can mine bitcoins even better! [14:19:03.0000] <zewt> well, there's work on object transfer right now, which is the framework needed to support transferring more complex objects (though don't hold your breath on it being used for that any time soon) [14:24:00.0000] <The_8472> <erlehmann> zewt, then javascript can mine bitcoins even better! <- that doesn't really require many threads. it needs access to shaders [14:24:01.0000] <erlehmann> hehe [14:25:00.0000] <sicking> Hixie: ping [14:35:00.0000] <zcorpan> rwaldron: i'm here now [14:36:00.0000] <rwaldron> zcorpan good afternoon! [14:36:01.0000] <zcorpan> afternoon! [14:36:02.0000] <rwaldron> I'm not sure how familar you are with Popcorn.js [14:37:00.0000] <rwaldron> it is a Mozilla project that I'm involved in whose goal is to add a programmatic layer to html5 video [14:37:01.0000] <rwaldron> really fun stuff [14:38:00.0000] <zcorpan> hadn't heard of it [14:38:01.0000] <rwaldron> anyway, it has come to light that the wording of the "canplaythrough" event's preconditions have been interpretted differently by firefox engineers and chrome engineers [14:39:00.0000] <rwaldron> firefox fires the event whenever readyState is HAVE_ENOUGH_DATA, which is variant [14:39:01.0000] <zcorpan> and differently again by opera engineers (though that's a bug) :) [14:39:02.0000] <rwaldron> chrome is firing it once, at the beginning, when this first happens [14:39:03.0000] <rwaldron> it seems that the firefox interpretation is correct [14:39:04.0000] <rwaldron> however this leaves a gap [14:40:00.0000] <rwaldron> essentially, if i attach an event listener to a media element for canplaythrough, that modifies the currentTime, it will fire the event again [14:40:01.0000] <rwaldron> ...and of course... again. [14:40:02.0000] <rwaldron> forever. [14:40:03.0000] <zcorpan> from the spec it seems firefox is correct in that case [14:41:00.0000] <rwaldron> yes, agreed [14:41:01.0000] <zcorpan> but it could be an unintended spec bug [14:41:02.0000] <zcorpan> canplay has a condition that canplaythrough doesn't have [14:41:03.0000] <rwaldron> so we discussed earlier in irc.mozilla.org/popcorn-js the need for an event that first once, but with the same precondition as "canplaythrough" [14:41:04.0000] <rwaldron> i wrote up the event details: https://gist.github.com/1031549 [14:42:00.0000] <rwaldron> canplay's preconditions is HAVE_FUTURE_DATA [14:42:01.0000] <zcorpan> rwaldron: sounds like you're reading a non-normative table in the spec [14:42:02.0000] <rwaldron> http://www.w3.org/TR/html5/video.html#event-media-canplay [14:43:00.0000] <rwaldron> indeed i am [14:43:01.0000] <zcorpan> you're also reading an out of date version of the spec [14:43:02.0000] <rwaldron> i'm open to guidance [14:43:03.0000] <zcorpan> http://www.whatwg.org/specs/web-apps/current-work/complete/the-iframe-element.html#the-video-element <- read this document [14:44:00.0000] <zcorpan> search for "canplay" or "canplaythrough" and make sure the section you're in isn't marked as "non-normative" [14:44:01.0000] <rwaldron> so, they are essentially the same, correct? [14:44:02.0000] <zcorpan> yeah [14:44:03.0000] <zcorpan> but in general you should never read TR/ [14:44:04.0000] <rwaldron> ok, good to know [14:45:00.0000] <zcorpan> since it's actually out-of-date-snapshot-with-issues-that-might-be-fixed-in-the-editor's-draft/ [14:45:01.0000] <annevk> TR/ is where you go if you want to implement twice [14:45:02.0000] <rwaldron> the only place i see these events listed with details about preconditions is in the table marked non-normative [14:45:03.0000] <annevk> or more dramatic, it is where implementors go to die [14:45:04.0000] <rwaldron> gotcha [14:46:00.0000] <zcorpan> yeah the preconditions you need to figure out yourself by reading the algorithms where it says to fire the events [14:47:00.0000] <rwaldron> right, those match (or, I am interpretting them to match) the preconditions listed in the table [14:47:01.0000] <zcorpan> "When the ready state of a media element whose networkState is not NETWORK_EMPTY changes, the user agent must follow the steps given below:" [14:47:02.0000] <rwaldron> right, got it [14:48:00.0000] <rwaldron> so basically, we implemented an events system for delegating nth queued callbacks to specified events [14:48:01.0000] <rwaldron> as of today we've had to create a "custom" event that behaves in a way that is described in the gist [14:49:00.0000] <rwaldron> which is why I'm reaching out [14:49:01.0000] <zcorpan> i don't follow [14:50:00.0000] <rwaldron> the need for a _single_ event to fire when readyState has newly reached HAVE_ENOUGH_DATA, but only the first time [14:50:01.0000] <zcorpan> ah [14:50:02.0000] <rwaldron> basically, the "polyfill" attaches a handler that listens for "canplaythrough" event, but supresses all future dispatches of the event [14:50:03.0000] <zcorpan> i wonder if opera does it like firefox or like chrome [14:51:00.0000] <rwaldron> not sure [14:51:01.0000] <zcorpan> rwaldron: we could change the spec here [14:51:02.0000] <zcorpan> i don't see why it's useful to fire canplaythrough several times [14:51:03.0000] <rwaldron> nor do i [14:51:04.0000] <rwaldron> too be honest [14:51:05.0000] <rwaldron> we've been interpretting it as a single event all along [14:51:06.0000] <rwaldron> of course, incorrectly [14:53:00.0000] <zcorpan> could you file a spec bug asking for canplay and canplaythrough to never be fired twice? [14:53:01.0000] <rwaldron> i certainly can [14:53:02.0000] <rwaldron> where should I file? [14:53:03.0000] <zcorpan> use the comment box at the bottom of the spec [14:54:00.0000] <rwaldron> ok, awesome, thats what i figured, just wanted to make sure [14:54:01.0000] <humph> zcorpan: the reason firefox does it, or so I was told, is because of seeks and starting at new offsets into the media resource [14:54:02.0000] <zcorpan> prefix it with "<video>" [14:56:00.0000] <zcorpan> humph: the use case for canplaythrough i think is for when to start playing the video [14:56:01.0000] <humph> I agree [14:56:02.0000] <Hixie> sicking: here [14:56:03.0000] <zcorpan> not sure what canplaythrough would be useful for after a seek [14:56:04.0000] <humph> I'm relaying what cpearce and kinetik were telling me [14:56:05.0000] <humph> agreed [14:56:06.0000] <zcorpan> k [14:56:07.0000] <humph> they didn't agree with me, though [14:57:00.0000] <zcorpan> Hixie: you happen to know the design decisions around whether canplaythrough should fire more than once per spec? [14:57:01.0000] <Hixie> shouldn't it play whenever the UA transitions from can't play through to can play through? [14:58:00.0000] <Hixie> zewt: so what happens if something is only in the second argument? [14:58:01.0000] <rwaldron> zcorpan is this good: [14:58:02.0000] <rwaldron> "<video> canplay and canplaythrough should only fire once, when the new readyState is HAVE_FUTURE_DATA and HAVE_ENOUGH_DATA for the first time, respectively." [14:58:03.0000] <humph> zcorpan: https://bugzilla.mozilla.org/show_bug.cgi?id=664842#c1 [14:58:04.0000] <zcorpan> rwaldron: yeah. rationale would be good too but can be put in a comment of the bug [14:59:00.0000] <zewt> Hixie: my first impression is nothing, unless it's really worth tracking which were used and throwing an error [14:59:01.0000] <rwaldron> ok [14:59:02.0000] <zewt> the second argument just saying "if you see one of these, enable its transfer behavior" [15:00:00.0000] <Hixie> zewt: so if all you want to do is pass a port you have to list it twice? that's pretty lame. [15:00:01.0000] <rwaldron> zcorpan humph sdowne http://www.w3.org/Bugs/Public/show_bug.cgi?id=12982 [15:00:02.0000] <zewt> minorly lame [15:00:03.0000] <zcorpan> Hixie: yes, point is that that can happen several times if you seek [15:00:04.0000] <Hixie> zewt: as minorly as all the other proposals [15:00:05.0000] <Hixie> zcorpan: yes [15:00:06.0000] <zewt> i don't recall seeing any other proposals that didn't have major problems (usually forwards-compatibility) [15:01:00.0000] <zcorpan> Hixie: is that intentional? [15:02:00.0000] <Hixie> zcorpan: yes, but it can change if there's good reason to [15:02:01.0000] <Hixie> zewt: how about postMessage({object to clone}, [objects to transfer]); ? [15:03:00.0000] <Hixie> zewt: with the other side receiving a clone of the object to clone, and an array of the transferred objects separately [15:03:01.0000] <zcorpan> Hixie: rwaldron writes a html5 media js framework and needs to work around that it can fire more than once [15:03:02.0000] <zewt> i think that's very seriously lame: you have to remove the objects you want to transfer from the object tree, then put them back in on the other side [15:03:03.0000] <Hixie> zcorpan: why? what does he do on that event that isn't idempotent? [15:04:00.0000] <rwaldron> Hixie, this is pasted from earlier: essentially, if i attach an event listener to a media element for canplaythrough, that modifies the currentTime, it will fire the event again [15:04:01.0000] <Hixie> zewt: no, we can just say that if it's in both, it gets transferred, as with yours [15:04:02.0000] <zewt> it also means you can't trivially enable transfer for an object if the UA supports it, falling back on cloning if not [15:04:03.0000] <rwaldron> and that will cause a loop of the "canplaythrough" event [15:04:04.0000] <zewt> i guess [15:04:05.0000] <Hixie> rwaldron: why would you do that? [15:04:06.0000] <zewt> personally I'm very ambivalent about the "deprecate the ports list" thing, since I'm guessing it's already been around long enough that it'll never actually go away [15:04:07.0000] <rwaldron> zcorpan Hixie - i am joined in that effort by humph and sdowne who are also present [15:05:00.0000] <Hixie> rwaldron: just seek as soon as you can, not just once you have some random subset of the video buffered [15:05:01.0000] <rwaldron> Hixie "canplaythrough" is the only event that signifies HAVE_ENOUGH_DATA [15:05:02.0000] <zewt> so in principle, the ports list could become a "list of transferred objects" [15:05:03.0000] <Hixie> rwaldron: if you're going to seek, HAVE_ENOUGH_DATA is uninteresting [15:05:04.0000] <Hixie> rwaldron: as soon as you seek, all bets are off as to whether you still have any data at all [15:06:00.0000] <rwaldron> sdowne humph, can you guys explain the needs that arose from that test case? [15:06:01.0000] <humph> I think it's not something that can't be overcome. it came out of a reading of the spec that assumed a one time event [15:06:02.0000] <humph> that it fires more than once is fine, but confusing given that impls differ so much [15:06:03.0000] <zewt> Hixie: what happens if an object is in the transfer list which the browser doesn't have transfer support for? [15:06:04.0000] <rwaldron> we have in fact already written a workaround that gives us what we need [15:07:00.0000] <Hixie> yeah, the browsers differing is a real problem [15:07:01.0000] <zcorpan> foolip: you happen to know whether opera can fire canplaythrough more than once? [15:08:00.0000] <zewt> give null on the receiving side? [15:08:01.0000] <Hixie> zewt: it would throw, like with your proposal, because the IDL of the second argument would be Transferable[] so you'd get a TypeError [15:09:00.0000] <zewt> then you'd have to carefully ensure that you test transferrability for each object before you put it in the array, which is sort of inconvenient [15:10:00.0000] <sicking> Hixie: what spec defines all the new media streams stuff? I'm asking in particular since i'd like for media streams to use a interface not named simply Stream as I'd like for us to use that for data streams where you can actually get at the binary data [15:10:01.0000] <Hixie> zewt: what would you suggest? [15:10:02.0000] <Hixie> sicking: HTML [15:11:00.0000] <zewt> the list being a request, not a requirement: if transfer for an object isn't supported, fall back on a regular clone [15:12:00.0000] <sicking> Hixie: whereas as I understand it, people aren't really expected to read the raw data from media streams, but rather forward them to things which operate on the pixel data, or display them in a <video>/<audio> [15:12:01.0000] <zewt> so you can say postMessage([obj1, obj2, obj3], [obj1, obj3]), and if the browser only supports transfer for obj3, that's what happens [15:13:00.0000] <sicking> Hixie: where should i file a bug to get this changed? Or send an email [15:13:01.0000] <zewt> otherwise, you'd write that code in a new browser and it'd work, but it would fail on older browsers only supporting transfers for obj1, which doesn't seem good for backwards-compat [15:14:00.0000] <zcorpan> rwaldron: if you can come up with reasons why firing it multiple times is bad/confusing/wrong, comment on the bug to convince Hixie :) [15:14:01.0000] <AryehGregor> sicking, same place as other HTML stuff, either an e-mail to whatwg or a bug in the W3C tracker. There's a component that can be used for stuff not in the W3C draft. [15:14:02.0000] <rwaldron> zcorpan ok [15:14:03.0000] <zcorpan> rwaldron: otherwise he'll just go "meh" and WONTFIX it [15:15:00.0000] <sicking> AryehGregor: Is that the HTML.next product? [15:15:01.0000] <AryehGregor> sicking, it really doesn't matter, as long as it's something with Hixie as the editor. He treats them all interchangeably. [15:15:02.0000] <AryehGregor> I think "other Hixie drafts" would be fine. [15:16:00.0000] <sicking> i'll send to the whatwg list, less politics [15:16:01.0000] <AryehGregor> In the HTML WG product. [15:16:02.0000] <AryehGregor> :) [15:16:03.0000] <Hixie> sicking: i can just rename it now if you want [15:16:04.0000] <sicking> Hixie: that would be lovely :) [15:16:05.0000] <Hixie> sicking: (sorry for delay, had something come up) [15:16:06.0000] <zcorpan> MediaStream? [15:16:07.0000] <sicking> yes! [15:17:00.0000] <Hixie> would it inherit from Stream? [15:17:01.0000] <Hixie> Generally FooBar is an object that inherits from Bar, on the Web [15:17:02.0000] <sicking> that'd defaeat the purpose I think [15:17:03.0000] <sicking> defeat even [15:17:04.0000] <sicking> what I'd like to avoid is to have to define what encoding you get if you read the raw bytes [15:17:05.0000] <zcorpan> Hixie: there are exceptions [15:17:06.0000] <Hixie> how would one get ahold of these binary streams? [15:17:07.0000] <zcorpan> EventSource [15:17:08.0000] <zcorpan> WebSocket [15:17:09.0000] <Hixie> zcorpan: there's no Source or Socket [15:17:10.0000] <sicking> or what happens if you plug a binary-data stream into something that operates on pixels [15:18:00.0000] <zcorpan> exactly [15:18:01.0000] <sicking> Hixie: i suspect XHR should be able to return a stream eventually [15:18:02.0000] <Hixie> zcorpan: there would be a Stream in this proposal [15:18:03.0000] <Hixie> sicking: ah, interesting [15:18:04.0000] <sicking> Hixie: xhr.responseType = "stream" [15:18:05.0000] <Hixie> makes sense [15:18:06.0000] <Hixie> /me opens his thesaurus [15:18:07.0000] <sicking> Hixie: likely we'll have encoders/decoders that can convert between MediaStreams and Streams [15:18:08.0000] <zcorpan> Hixie: point [15:19:00.0000] <Hixie> sicking: yeah [15:19:01.0000] <sicking> Hixie: where you can do things like choose quality and algorithm [15:20:00.0000] <Hixie> hmm [15:20:01.0000] <Hixie> MediaStream would be good except for the clash with Stream later [15:20:02.0000] <sicking> possibly it'd make sense to hook up a stream to a specific WebSocket message (both sending and receiving) [15:21:00.0000] <Hixie> /me looks at the spec to see how else one could describe these objects [15:22:00.0000] <sicking> Hixie: I'm not *hugely* concerned about the name conflict (if that's the only conflict there is). But of course if we can find something better then that's great too [15:24:00.0000] <zcorpan> MediaBlow [15:24:01.0000] <zcorpan> MediaOoze [15:25:00.0000] <zcorpan> MediaRainCatsAndDogs [15:25:01.0000] <zcorpan> /me closes the synonym dictionary [15:28:00.0000] <rwaldron> zcorpan i've included a description of how this issue can actually lock up media elements.. fairly compelling [15:28:01.0000] <rwaldron> also, link to a demo [15:28:02.0000] <zcorpan> awesome [15:28:03.0000] <mpilgrim> webkit's IDL bindings are finally getting more strict [15:29:00.0000] <rwaldron> that show canplaythrough firing infinitely [15:29:01.0000] <rwaldron> the page is currently at >60k canplaythrough events [15:29:02.0000] <mpilgrim> er, that was @sicking: webkit's IDL bindings are finally getting more strict [15:29:03.0000] <rwaldron> and the video is unplayable [15:29:04.0000] <rwaldron> as i collect evidence, i will post [15:31:00.0000] <mpilgrim> sicking: soon all IndexedDB methods will throw on missing required arguments [15:31:01.0000] <sicking> mpilgrim: which ones weren't strict before? [15:32:00.0000] <sicking> mpilgrim: you mean in spec or in implementations? [15:32:01.0000] <mpilgrim> virtually all of them [15:32:02.0000] <mpilgrim> i mean webkit's implementation [15:32:03.0000] <sicking> mpilgrim: ah, excellent [15:32:04.0000] <Hixie> sicking: let me poke at this interface name some more, if you don't see it change by tonight then please chase me down with pitchforks [15:33:00.0000] <mpilgrim> webkitIndexedDB.open() will throw, for example [15:33:01.0000] <sicking> Hixie: one option is to have MediaStream for what you have now, and DataStream for the other thing i'm talking about [15:33:02.0000] <Hixie> sicking: yeah, i was thinking maybe BlobStream for the other thing [15:33:03.0000] <rwaldron> zcorpan care to dance over another media element zinger? [15:33:04.0000] <rwaldron> :D [15:33:05.0000] <zcorpan> sure [15:33:06.0000] <sicking> Hixie: we can bikeshed on that later ;-) [15:34:00.0000] <Hixie> sicking: :-) [15:34:01.0000] <rwaldron> this one is awesome [15:34:02.0000] <rwaldron> http://www.w3.org/Bugs/Public/show_bug.cgi?id=12541 [15:34:03.0000] <rwaldron> i filed sometime ago [15:35:00.0000] <Hixie> hm, should GeneratedStream.stop() be .close()? that might make more sense. [15:35:01.0000] <rwaldron> my investigation shows that _every_ UA is doing something in order to make up for this [15:36:00.0000] <rwaldron> it was initially discovered when i was trying to write a method for the popcorn.js lib that returned a rounded currentTime [15:36:01.0000] <rwaldron> so, i wrote a failing unit test [15:36:02.0000] <zcorpan> rwaldron: like foolip said in the bug, that's because the spec used to say something different and browsers haven't caught up yet [15:36:03.0000] <rwaldron> that set the current time to 0.89 [15:36:04.0000] <rwaldron> from 0 [15:36:05.0000] <rwaldron> and roundTime was expected to return 1 [15:37:00.0000] <rwaldron> hrm [15:37:01.0000] <zcorpan> /me reads the spec [15:37:02.0000] <rwaldron> /me looking that the spec you linked to me earlier [15:37:03.0000] <Hixie> maybe GeneratedStream should be LocalMediaStream and Stream should just be MediaStream [15:38:00.0000] <rwaldron> zcorpan still the same [15:38:01.0000] <rwaldron> http://www.whatwg.org/specs/web-apps/current-work/complete/the-iframe-element.html#seeking [15:38:02.0000] <rwaldron> there is a misunderstanding somewhere [15:39:00.0000] <rwaldron> basically, if the async steps dont happen fast enough, after setting currentTime, then getting currentTime will return the previous time, not the new time i just set to [15:40:00.0000] <rwaldron> which makes it impossible to test if a media element is at the right place in time without writing some kind of async deferred nonsense to return the correct time whenever the UA gets around to it. [15:40:01.0000] <zcorpan> yeah that's my reading as well [15:42:00.0000] <rwaldron> so, i had filed this in the firefox bugzilla and despite initial objections (because, yes - they were writing to spec) was brought into parity with the other UAs [15:42:01.0000] <rwaldron> which were all doing some kind of cached last currentTime calculation [15:42:02.0000] <rwaldron> /rant [15:42:03.0000] <rwaldron> :) [15:43:00.0000] <rwaldron> I just want to say that I really appreciate your time and attention this afternoon [15:44:00.0000] <zcorpan> commented on the bug [15:45:00.0000] <Hixie> anyone remember why i added videoTracks and audioTracks to GeneratedMediaStream? [15:45:01.0000] <Hixie> er [15:45:02.0000] <Hixie> LocalMediaStream, previously known as GeneratedStream [15:46:00.0000] <Hixie> (added in r5965 2011-03-25) [15:46:01.0000] <TabAtkins> So you could get access to the video and audio tracks more easily? [15:46:02.0000] <Hixie> when would there be more than one? [15:46:03.0000] <TabAtkins> I think videos can have multiple of each. [15:47:00.0000] <Hixie> not those from the local camera though... [15:48:00.0000] <Hixie> aha http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-March/031058.html [15:48:01.0000] <rwaldron> zcorpan awesome :) [15:48:02.0000] <Hixie> oh wow, i suck, that totally doesn't address that use case [15:50:00.0000] <Hixie> we still need some way to pause outgoing video without affecting the LocalMedisStream or the local <video> mirror. [15:50:01.0000] <Hixie> hmm [15:53:00.0000] <zcorpan> rwaldron: got any others before i go? :) [15:53:01.0000] <rwaldron> nope! [15:53:02.0000] <rwaldron> but, again... thank you [15:53:03.0000] <zcorpan> bummer [15:54:00.0000] <zcorpan> np [15:54:01.0000] <rwaldron> if you didnt see above [15:54:02.0000] <rwaldron> you're time is greatly appreciated [15:54:03.0000] <zcorpan> anytime [15:54:04.0000] <rwaldron> i work on jQuery and I know how volunteer stuff goes [15:54:05.0000] <rwaldron> so i want to convey my appreciation [15:54:06.0000] <rwaldron> have a good night :D [15:54:07.0000] <zcorpan> likewise :) [15:58:00.0000] <zcorpan> Specification: [15:58:01.0000] <zcorpan> http://www.whatwg.org/specs/web-apps/current-work/complete/common-microsyntaxes.html [15:58:02.0000] <zcorpan> Section: http://www.whatwg.org/specs/web-apps/current-work/#colors [15:59:00.0000] <zcorpan> Hixie: could you please make the comment script emit http://www.whatwg.org/specs/web-apps/current-work/complete/common-microsyntaxes.html#colors instead of the above? [16:00:00.0000] <Hixie> zcorpan: the first link is the referer [16:00:01.0000] <Hixie> zcorpan: the second link is for me and is to the HTML spec or the complete.html spec with the appropriate fragid [16:00:02.0000] <zcorpan> oh [16:00:03.0000] <Hixie> zcorpan: though i might change it to just be complete.html always, since i've basically stopped using the HTML one [16:01:00.0000] <zcorpan> Hixie: could you add the fragment to the first url? [16:04:00.0000] <Hixie> what for? [16:04:01.0000] <zcorpan> i don't want to load the full spec so i need to copy-paste the fragment from the second url, click on the first one adn then paste in the fragment again [16:05:00.0000] <zcorpan> which is annoying [16:05:01.0000] <zcorpan> s/-paste// [16:05:02.0000] <Hixie> the first url is going to be the full spec often too [16:05:03.0000] <Hixie> if you just want a short-spec link version isntead i can do that, though [16:06:00.0000] <zcorpan> yeah that'd be nice [16:06:01.0000] <AryehGregor> Yeah, please have a link to the multipage version somewhere. [16:06:02.0000] <AryehGregor> With the right fragment. [16:06:03.0000] <AryehGregor> The status quo is annoying in that respect. [16:06:04.0000] <Hixie> it'll be the one with the redirects, since i have no idea hwo to generate the full ones, is that ok? [16:06:05.0000] <zcorpan> that's fine [16:07:00.0000] <zcorpan> complete/ is fine [16:07:01.0000] <Hixie> done [16:07:02.0000] <Hixie> (untested) [16:07:03.0000] <zcorpan> thanks [16:07:04.0000] <zcorpan> everyone! file a test spam bug! [16:07:05.0000] <Hixie> nooo [16:08:00.0000] <Hixie> just find a real bug then file that! [16:08:01.0000] <Hixie> actually i have a bug to file, let me test it now [16:10:00.0000] <Hixie> ironically, the urls in question are bogus already [16:12:00.0000] <zcorpan> what's bogus? [16:14:00.0000] <Hixie> zcorpan: in the bug i just filed, the url was #generatedstream [16:15:00.0000] <zcorpan> oh and you renamed it? [16:16:00.0000] <Hixie> yeah [16:16:01.0000] <Hixie> Stream, GeneratedStream, and StreamRecorder became MediaStream, LocalMediaStream, and MediaStreamRecorder [16:16:02.0000] <Hixie> sicking: ^ [16:17:00.0000] <zcorpan> nn [16:17:01.0000] <Hixie> nn [16:18:00.0000] <sicking> Hixie: sweet! What format does MediaStreamRecorder record things in? [16:19:00.0000] <sicking> Hixie: and if it's an encoded format, can you set encoding parameters such as quality? [16:19:01.0000] <sicking> Hixie: to be clear, I think this is strictly an improvement. So absolutely a good thing. These questions applied before too [16:19:02.0000] <sicking> Hixie: so thanks :) [16:19:03.0000] <Hixie> that's as yet undefined, other than it must be a format supported by the local <video>. Same problem with getObjectURL() for a MediaStream and for sending data via a PeerConnection object. [16:20:00.0000] <Hixie> i'm waiting implementation experience before specifying the api for deciding the encoding parameters [16:20:01.0000] <Hixie> and i'm waiting for a miracle before specifying the codec [16:20:02.0000] <sicking> haha [16:20:03.0000] <sicking> sounds good [16:21:00.0000] <sicking> i'll be doing the swedish encoder dance to appease the encoder gods [16:21:01.0000] <Hixie> man at this point i'm willing to try anything [16:21:02.0000] <sicking> i'll fax you the steps [16:22:00.0000] <smaug____> /me missed all the context, but he assumes sicking has seen roc's MediaStream API [16:23:00.0000] <sicking> smaug____: i have [16:23:01.0000] <roc> ah good, renaming to MediaStream was something I was going to ask for [16:23:02.0000] <rwaldron> Hixie thanks for responding to the "canplaythrough" ticket so quickly [16:24:00.0000] <rwaldron> damn shame that it was stomped on by a mozilla employee [16:24:01.0000] <rwaldron> though it was discovered in a mozilla project [16:24:02.0000] <rwaldron> and honestly... [16:24:03.0000] <Hixie> rwaldron: pure luck in this particular case, normally i go in date order but i happened to be looking at recent bugs for the cgi thing zcorpan and AryehGregor were asking me about [16:25:00.0000] <Hixie> rwaldron: feel free to reopen if it needs more thought :-) [16:25:01.0000] <rwaldron> a HAVE_ENOUGH_DATA canplaythrough that fires many times is useful, but there is still no event that signifies this has happened when it happens for the first time [16:25:02.0000] <rwaldron> anyway, we've written a fallback that does what we need. so its all good [16:25:03.0000] <cpearce> rwaldron: that's pretty easy to track yourself if it matters. [16:25:04.0000] <Hixie> you can tell it happened for the first time by just keeping track of whether you've seen it or not [16:25:05.0000] <kinetik> rwaldron: "stomped on" is not a fair categorization. [16:25:06.0000] <rwaldron> cpearce yeah, aware of that and already doing so [16:26:00.0000] <rwaldron> yes. Hixie that is in fact what we're doing [16:26:01.0000] <Hixie> cool [16:26:02.0000] <rwaldron> though I'm sure that the test of time will show more then just a handful of developers being confused by this behaviour [16:27:00.0000] <rwaldron> also, keep in mind that silvia pfieffer's book actually says this fires "for the first time" [16:27:01.0000] <rwaldron> so yeah thats newly in print [16:27:02.0000] <rwaldron> anyone reading this will also be mislead [16:27:03.0000] <rwaldron> kinetik i'd say is. [16:27:04.0000] <rwaldron> especially considering your choice of words regarding the test case [16:27:05.0000] <cpearce> only on page 111, not on page 129. ;) [16:28:00.0000] <roc> the spec trumps the book :-) [16:28:01.0000] <rwaldron> which is perfectly valid if you you want to jump to a specific time in the media [16:28:02.0000] <rwaldron> roc i get that [16:28:03.0000] <rwaldron> but think about the average "web designer" [16:28:04.0000] <roc> I am sad that three of us are on IRC on a Saturday morning [16:28:05.0000] <rwaldron> do they read the spec? [16:28:06.0000] <cpearce> :P [16:28:07.0000] <roc> rwaldron: I do, a lot [16:29:00.0000] <rwaldron> i'd say an exception tbh [16:29:01.0000] <roc> rwaldron: if you want to help the average web developer, please lobby for bug 12267 :-) [16:29:02.0000] <roc> rwaldron: they don't, but it's incumbent on book authors to follow the spec, not the other way around [16:29:03.0000] <roc> there will be many books [16:29:04.0000] <roc> as the spec changes, books will need to be revised and updated [16:30:00.0000] <rwaldron> roc, to be clear, I completely agree [16:30:01.0000] <rwaldron> here's where I'm coming from... [16:30:02.0000] <rwaldron> I'm on the jQuery bugs team [16:31:00.0000] <rwaldron> we field ~50 tickets per day [16:31:01.0000] <rwaldron> have you seen what the lowest common denominator is writing for code? [16:31:02.0000] <roc> yes [16:32:00.0000] <roc> I have been reading Firefox bug reports for over ten years :-) [16:32:01.0000] <rwaldron> cool, so you see where I'm coming from [16:32:02.0000] <roc> OK that's a lie [16:32:03.0000] <roc> the first few years were Netscape bug reports :-) [16:32:04.0000] <rwaldron> hahaha well... then you def see where i'm coming from [16:32:05.0000] <rwaldron> :) [16:32:06.0000] <rwaldron> Hixie cpearce roc can you take a look at something I drafted earlier today? [16:32:07.0000] <roc> I see what you're saying, but I think this is something that is easily detected and fixed by the author [16:33:00.0000] <rwaldron> https://gist.github.com/1031549 [16:33:01.0000] <roc> they may not understand why they have to fix it, but that's less important [16:33:02.0000] <rwaldron> It describes a unique behaviour that has value [16:33:03.0000] <roc> I don't think it's worth making the event less useful just to prevent this [16:33:04.0000] <rwaldron> fair enough [16:33:05.0000] <rwaldron> but see above [16:33:06.0000] <rwaldron> or... here https://gist.github.com/1031549 [16:34:00.0000] <cpearce> rwaldron: r-. that can be achieved with canplaythrough + your own tracking code. [16:34:01.0000] <rwaldron> yeah, like I said, we're doing that [16:34:02.0000] <roc> having two events, one which fires once and one which fires more than once, is going to add to the confusion [16:34:03.0000] <rwaldron> i can see there is no interest [16:35:00.0000] <rwaldron> i'm going to save this log [16:35:01.0000] <kinetik> an event that fires only once will be incorrect for the reasons i outlined in the w3.org bug. [16:35:02.0000] <rwaldron> thanks for your time gents [16:35:03.0000] <roc> rwaldron: sorry dude [16:36:00.0000] <roc> I'm all for simplifying things for authors [16:36:01.0000] <roc> the problem in this case would be reduced if Chrome fixed their canplaythrough implementation to be non-brain-dead [16:36:02.0000] <TabAtkins> What we need to do is add the ability to listen to an event only once. jQuery has it, and it's nice and simple and useful. [16:36:03.0000] <roc> then authors would get multiple-firing consistently across browsers and wouldn't think it's a Firefox bug [16:36:04.0000] <kinetik> roc: and Opera. [16:37:00.0000] <rwaldron> we actually closed that FF ticket [16:37:01.0000] <roc> TabAtkins: that is a great idea too [16:42:00.0000] <hober> Whatever happend to Mr. Last Week? [16:45:00.0000] <roc> I got bored [16:45:01.0000] <roc> oops [16:46:00.0000] <hober> heh [16:56:00.0000] <pererik> Hixie: if audioTracks and videoTracks were arrays of track objects you could create a new LocalStream from any number of individual tracks, either by making LocalStream contructable or through some factory [16:58:00.0000] <pererik> Hixie: if tracks are also made available on remote streams, it would be possible to combine several incoming audio streams and record a conversation [16:58:01.0000] <pererik> Hixie: or just recording local audio, while sending both audio and video 2011-06-18 [17:05:00.0000] <heycam> mpilgrim, ok, looks like throwing on too few arguments and ignoring extra arguments is the way to go, then [17:06:00.0000] <heycam> /me wonders if there's a bot in here that you can use to leave messages for people [17:08:00.0000] <Philip`> heycam: None that I've ever seen, though you can just write your message and hope the recipient reads the IRC logs assiduously [17:11:00.0000] <zewt> any decent irc client highlights messages addressed to you [17:12:00.0000] <heycam> most don't do so if you weren't in the channel at the time someone wishes to leave you a message, though :) [17:12:01.0000] <zewt> so don't not be in the channel :P [17:13:00.0000] <heycam> heh [17:14:00.0000] <nimbu> heycam: http://freenode.net/faq.shtml#memoserv [17:14:01.0000] <heycam> nimbu, oh, interesting, I'll try it [17:17:00.0000] <roc> oh no, that's four people in #whatwg on a Saturday morning [17:27:00.0000] <Dashiva> Is there really a thread going "longdesc does not have backwards compatibility because many platforms and tools don't support it at all" "but it WILL HAVE backwards compatibility in the future when they add support for longdesc"? [17:28:00.0000] <TabAtkins> Yes. Yes there is. [17:31:00.0000] <Dashiva> I'm going to need a bigger palm [18:38:00.0000] <CrossX> AryehGregor: I was told you could help me with FX's RTE https://developer.mozilla.org/en/rich-text_editing_in_mozilla [18:39:00.0000] <CrossX> When a user uses the RTE the HTML created appears on a single line instead of formated with \n's and \t's. Is there any way to get the HTML created in the RTE to appear 'beautyfied'. [20:06:00.0000] <mpilgrim> heycam: ping [20:08:00.0000] <heycam> mpilgrim, pong [20:09:00.0000] <mpilgrim> so i'm tightening up webkit's IDL implementation [20:09:01.0000] <mpilgrim> and aligning it with WebIDL [20:09:02.0000] <mpilgrim> slowly [20:09:03.0000] <heycam> cool! [20:09:04.0000] <heycam> are the V8 bindings still different from WebKit's? [20:09:05.0000] <mpilgrim> yes [20:10:00.0000] <mpilgrim> but both webkit and v8 are getting the new strictness [20:10:01.0000] <mpilgrim> is there a prescribed exception we should throw on missing required arguments? [20:10:02.0000] <heycam> yes, TypeError [20:10:03.0000] <mpilgrim> ok, we don't do that [20:11:00.0000] <mpilgrim> yet [20:11:01.0000] <heycam> ok [20:11:02.0000] <mpilgrim> well we don't do anything different yet [20:11:03.0000] <mpilgrim> the new strictness is still theoretical [20:11:04.0000] <mpilgrim> i'm migrating IndexedDB first [20:14:00.0000] <heycam> if you get on to migrating old apis, and find some that break compatibility when enforcing the strictness, it'd be good to turn those into spec bug reports [20:14:01.0000] <heycam> to make arguments optional [20:14:02.0000] <mpilgrim> we will be tackling APIs in this order: [20:14:03.0000] <mpilgrim> 1. IndexedDB [20:15:00.0000] <mpilgrim> 2. other new-ish APIs (web audio, File API) [20:15:01.0000] <mpilgrim> 3. older APIs that are known to have stricter implementations in other browsers (addEventListener) [20:16:00.0000] <mpilgrim> 4. older APIs that have poor or no x-browser interop (WebSQLDatabase) [20:16:01.0000] <mpilgrim> 5. older APIs that have unknown interop issues [20:16:02.0000] <mpilgrim> 6. SVG [20:18:00.0000] <mpilgrim> ok, i've changed our IDL code generator (A 3356-LINE PERL SCRIPT WITH VIRTUALLY NO UNIT TESTS) to throw TypeError instead of SyntaxError [20:18:01.0000] <mpilgrim> on missing required arguments [20:18:02.0000] <heycam> (I did some minor amount of hacking on that file in the past :( ) [20:19:00.0000] <mpilgrim> i added 3 lines and introduced 2 new bugs [20:19:01.0000] <mpilgrim> Perl is not my drug of choice [20:20:00.0000] <heycam> /me enjoys it, but really should learn python some day [20:21:00.0000] <mpilgrim> i have another (unrelated) WebIDL question [20:21:01.0000] <mpilgrim> on nulls [20:21:02.0000] <heycam> sure [20:21:03.0000] <heycam> (I have to head out in a couple of mins tho) [20:21:04.0000] <mpilgrim> I've read http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs [20:22:00.0000] <mpilgrim> it seems the only two choices are "" and "null" [20:22:01.0000] <heycam> yeah [20:22:02.0000] <mpilgrim> WebKit has this flag which I don't fully understand called ConvertNullToNullString [20:22:03.0000] <mpilgrim> which, in C++ land, makes the null JS argument an actual null value in C++ [20:22:04.0000] <heycam> I in the past wondered about that flag, too -- I never fully understood the distinction between null and a "null string" [20:22:05.0000] <heycam> oh [20:22:06.0000] <mpilgrim> well, it's poorly named, but that's what it does [20:23:00.0000] <mpilgrim> is there a WebIDL equivalent to that? [20:24:00.0000] <heycam> so the DOMString type only has values that are strings [20:24:01.0000] <heycam> if you want null in that type too, you can write "DOMString?" [20:24:02.0000] <heycam> you can't use [TreatNullAs] on "DOMString?" typed arguments [20:24:03.0000] <heycam> since null is a valid value of the type [20:24:04.0000] <zewt> the null string is the empty string, synonymous [20:25:00.0000] <heycam> zewt, I think it really depends on the context [20:25:01.0000] <zewt> can't think of any context where it means something else [20:25:02.0000] <heycam> zewt, i.e. people use the term "null string" differently [20:25:03.0000] <heycam> it could mean a null object reference [20:25:04.0000] <zewt> i'd say they're using it incorrectly, then [20:26:00.0000] <zewt> that's not the null string, that's just null [20:26:01.0000] <mpilgrim> yes, that's what it really is -- it takes the JavaScript value null and converts it to a null object reference in C++ [20:26:02.0000] <heycam> zewt, I think it's fair to stick to one particular definition of "null string", yes. :) [20:26:03.0000] <mpilgrim> i'm not sure we've implemented support for "?" [20:26:04.0000] <mpilgrim> ie "DOMString?" [20:26:05.0000] <mpilgrim> but i'll check [20:26:06.0000] <heycam> mpilgrim, ok sounds like "DOMString?" is what you want though [20:26:07.0000] <mpilgrim> awesome [20:27:00.0000] <heycam> the "?" has only been in Web IDL for maybe 6 months [20:27:01.0000] <heycam> but specs are just now starting to use it [20:27:02.0000] <heycam> ok gotta go, back in an hour or something [20:27:03.0000] <zewt> mpilgrim: if "ConvertNullToNullString" means "convert javascript null to ((std::string *) NULL)" or similar, it seems confusingly named at beset [20:27:04.0000] <mpilgrim> thanks [20:27:05.0000] <heycam> np [20:31:00.0000] <mpilgrim> zewt: yeah, well, i'm looking to do away with the flag altogether and align with WebIDL instead [20:34:00.0000] <mpilgrim> man, the downside of hacking on the IDL code generator is it has to reprocess 500+ IDL files and then recompile every time i change one line of perl [20:36:00.0000] <zewt> also, having to change lines of perl [20:38:00.0000] <mpilgrim> yes, another major downside [21:02:00.0000] <MikeSmith> I reckon that thing you pinged me about on IRC when I was away was http://www.w3.org/Bugs/Public/show_bug.cgi?id=12212 [21:03:00.0000] <MikeSmith> the JS problem with the feedback form [21:03:01.0000] <MikeSmith> anyway, yeah, it's fixed now [21:27:00.0000] <mpilgrim> heycam: so it turns out throwing TypeError is a bit more complicated than i'd hoped [21:27:01.0000] <mpilgrim> webkit currently throws SyntaxError when there aren't enough arguments [21:29:00.0000] <mpilgrim> every function that currently specifies [RequiresAllArguments=raise] (many in SVG, a few in canvas, one in XMLHttpRequest) is potentially affected [21:29:01.0000] <mpilgrim> that means i might be breaking the web [21:29:02.0000] <mpilgrim> which means i need some thorough review and buy-in first [00:59:00.0000] <pererik> Hixie: what I meant was that MediaStream could be made constructible with tracks as arguments (stop() doesn't make sense if the stream is composed of tracks from other streams) [01:00:00.0000] <pererik> Hixie: what could be problematic is that the availability of each track would have to be tracked and maybe exposed as a readyState or as a boolean property [01:00:01.0000] <pererik> Hixie: a boolean property makes sense if there are only two states [01:01:00.0000] <pererik> Hixie: also if the enabled/selected state ends up on the track objects they would have to be copied into the new stream so that they can be independently controlled [02:31:00.0000] <annevk> http://dev.w3.org/2009/dap/system-info/battery-status.html is anyone planning on implementing this? [02:31:01.0000] <Ms2ger> /dap/? I assume not [02:34:00.0000] <Ms2ger> Also, http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/764c9bbee7e22a52 [02:46:00.0000] <pererik> annevk: https://lists.webkit.org/pipermail/webkit-dev/2011-June/017120.html [02:58:00.0000] <annevk> thanks! [03:13:00.0000] <smaug____> Ms2ger: I think MS is quite interested in DAP work [03:13:01.0000] <smaug____> at least some parts of it [03:13:02.0000] <smaug____> I don't know why [03:21:00.0000] <Ms2ger> They do lots of weird stuff [03:24:00.0000] <smaug____> Ms2ger: actually, it sounded like they would like to use DAP's capturing API [03:24:01.0000] <smaug____> I assume that is because W3C HTML5 doesn't have capturing API, IIRC [03:24:02.0000] <smaug____> MS should just join whatwg [03:25:00.0000] <Ms2ger> Now that's something we can agree on :) [03:27:00.0000] <annevk> <input type=file> is a capturing API [03:36:00.0000] <Peter`> Isn't the only thing holding MS' joining back the lack of a patent policy? [03:36:01.0000] <Peter`> Well, the largest reason [03:38:00.0000] <annevk> seemed to be no problem for schema.org [03:54:00.0000] <MikeSmith> quake [03:55:00.0000] <MikeSmith> annevk: I thought that too [03:55:01.0000] <MikeSmith> but schema.org does actually have a patent policy [03:55:02.0000] <MikeSmith> read the "Terms and conditions" page [04:02:00.0000] <annevk> I see [04:03:00.0000] <annevk> well, I guess if Microsoft made an effort to join the WHATWG such a policy could be created for it too [04:43:00.0000] <annevk> any progress on Gecko removing mutation events as trial for a future Firefox release? [04:47:00.0000] <Ms2ger> No [04:49:00.0000] <annevk> smaug____, ^^ [04:50:00.0000] <annevk> apparently I'm using a nightly of Firefox 7, you'd expect some progress by now :p [04:50:01.0000] <Ms2ger> You know what's weird? We'll release Fx7 final this year :) [04:51:00.0000] <smaug____> annevk: sorry [04:51:01.0000] <smaug____> I should write the replacement implementation first [04:52:00.0000] <smaug____> /me reviews a patch first and start implementing it [05:18:00.0000] <smaug____> annevk: just curious, what do you think about FunctionOnly? Since I'm having hard time to understand why it would be used ever (except perhaps for legacy API) [05:18:01.0000] <annevk> It makes the API surface simpler [05:19:00.0000] <smaug____> really? [05:19:01.0000] <smaug____> how [05:19:02.0000] <annevk> but it would also be simpler if we supported the same pattern everywhere [05:19:03.0000] <annevk> well, since you cannot do both function() {} and {handler:function(){}} [05:19:04.0000] <annevk> but just function(){} [05:19:05.0000] <smaug____> and it is simpler for who? [05:20:00.0000] <annevk> but supporting function and {} everywhere would be fine with me too [05:20:01.0000] <annevk> authors [05:20:02.0000] <smaug____> if some author doesn't care about { foo: function()}, there is no need to use it [05:21:00.0000] <smaug____> 'this' handling with { foo: function() {}} makes it just very handy [05:21:01.0000] <annevk> that doesn't make it simpler :) he still needs to chose [05:21:02.0000] <annevk> or she [05:21:03.0000] <annevk> yeah, so maybe we should support the {handler} thing everywhere? [05:31:00.0000] <smaug____> annevk: yes, IMO, we should support {} everywhere [05:32:00.0000] <smaug____> onfoo listeners could be, in theory, special case, because of how they have traditionally worked in browsers [05:32:01.0000] <smaug____> and I'm not sure about setTimeout/Interval [05:42:00.0000] <hsivonen> now that Opera has a dev channel equivalent, how long until Opera gets rid of minor version numbers [06:08:00.0000] <MikeSmith> hsivonen: when I have a minute I wanted to get your feedback on an idea about how to better handle the validator spec advice in error messages for input elements that have attributes that aren't allowed for their type [06:11:00.0000] <hsivonen> MikeSmith: what's the idea? [06:11:01.0000] <hsivonen> MikeSmith: or did you mean you don't have the minute now? [06:12:00.0000] <hsivonen> MikeSmith: anyway, the input element autoextracted advice is confusing enough that it might be worthwhile to special-case the input element and even emit hand-crafted advice [06:12:01.0000] <MikeSmith> bing [06:12:02.0000] <MikeSmith> *bingo [06:12:03.0000] <MikeSmith> that's what I was going to ask you about [06:13:00.0000] <MikeSmith> was thinking, basically, could add a hashmap in the message-emitter code [06:14:00.0000] <MikeSmith> with a string to hold the name of each input type, and an array of strings to hold the allowed attributes for that type [06:14:01.0000] <hsivonen> MikeSmith: makes sense [06:15:00.0000] <MikeSmith> OK [06:15:01.0000] <MikeSmith> I will try to get a patch written up for it this weekend [06:16:00.0000] <hsivonen> MikeSmith: cool [06:19:00.0000] <MikeSmith> hmm, http://www.koderapp.com/ [06:20:00.0000] <MikeSmith> after a few weeks of using an ipad, I have a hard time imaging to try to spend any significant time trying to write or edit code using it [06:21:00.0000] <MikeSmith> or generally, any touchscreen device without a real keyboard [06:23:00.0000] <smaug____> /me doesn't remember if ipad gives tactile feedback when typing [06:37:00.0000] <hsivonen> hmm. should http://code.google.com/apis/webmastertools/docs/1.0/reference.html really count as a spec for "verify-v1" as a meta keyword? [06:38:00.0000] <hsivonen> http://www.google.com/support/webmasters/bin/answer.py?answer=35638#3 suggests a different keyword [06:39:00.0000] <hsivonen> http://www.google.com/support/forum/p/Webmasters/thread?tid=548b74c4eb6c44bf&hl=en suggests the old syntax still works [07:00:00.0000] <erlehmann> MikeSmith, i cannot even grok how people using a smartphone without a proper keyboard can type on it. my thumb ached after i tried it for like a week. [07:00:01.0000] <erlehmann> also, it's slooooooow [07:04:00.0000] <MikeSmith> erlehmann: yeah, though tablets have faster CPUs at least [07:04:01.0000] <MikeSmith> faster than smartphones [07:05:00.0000] <MikeSmith> smaug____: no tactile feedback on ipad [07:05:01.0000] <MikeSmith> just clicking sound [07:05:02.0000] <erlehmann> MikeSmith, implying that would matter with editors. i use NANO(1) on my g1. [07:06:00.0000] <MikeSmith> what's a g1? [07:06:01.0000] <smaug____> MikeSmith: tactile feedback might help with typing [07:07:00.0000] <erlehmann> MikeSmith, htc dream. [07:07:01.0000] <erlehmann> t-mobile branded name for it, in … europe? at least germany. [07:07:02.0000] <MikeSmith> erlehmann: ah [07:08:00.0000] <MikeSmith> smaug____: yeah, definitely. haptics I guess they call it [07:08:01.0000] <erlehmann> funny enough, it's “old”, but i have not found a smartphone with a decent keyboard yet. [07:08:02.0000] <smaug____> yup [07:09:00.0000] <erlehmann> also, the never ones do not have cheap plastic cases, so no monster batteries that make it look like a brick :B [07:21:00.0000] <hsivonen> the latest spec fur Dublin Core is awfully vague [07:21:01.0000] <hsivonen> how can anyone implement software that does something useful with DC? [07:21:02.0000] <hsivonen> do they just reverse engineer what others do? [07:22:00.0000] <hsivonen> or does no one actually implement useful software that uses DC? [07:27:00.0000] <hsivonen> sigh. validator.nu deployment broken again. html5.validator.nu works [07:27:01.0000] <MikeSmith> is there any software that actually does anything useful with DC? [07:28:00.0000] <MikeSmith> hsivonen: what broke? [07:28:01.0000] <hsivonen> MikeSmith: it doesn't pick up the changes when I try to deploy [07:28:02.0000] <MikeSmith> oh [07:29:00.0000] <hsivonen> MikeSmith: I'm not aware of such software (Re: DC) [07:30:00.0000] <MikeSmith> well, geez [07:30:01.0000] <MikeSmith> that says something, really [07:30:02.0000] <MikeSmith> I mean, if there are no widely-used apps that actually consumed that data [07:31:00.0000] <hsivonen> that I'm unaware doesn't mean they don't exist [07:31:01.0000] <MikeSmith> it would make it seem like a fairly massive waste of time for people to actually be adding it [07:31:02.0000] <MikeSmith> well, certainly seems like there's nothing very widely-known that does anything with it [07:33:00.0000] <MikeSmith> hsivonen: btw, in walking through the message-emitter code, I now see that for the case of the input element, there does not seem to be any way to determine in that part of the code what its type value is [07:34:00.0000] <MikeSmith> because the exceptions the jing generates don't have any methods for getting at the attribute information [07:35:00.0000] <MikeSmith> those exceptions only have methods for getting the element name and name of its parent [07:37:00.0000] <MikeSmith> so I guess I'm going to have to think about this a bit more [07:41:00.0000] <hsivonen> MikeSmith: :-( [07:42:00.0000] <MikeSmith> indeed :( [07:42:01.0000] <MikeSmith> may have to resort to scraping the extract [07:45:00.0000] <hsivonen> I'd rather punch some abstraction holes elsewhere than scrape the extract [07:48:00.0000] <hsivonen> http://dublincore.org/resources/faq/#whatsearchenginessupport [07:51:00.0000] <MikeSmith> chuckle [07:51:01.0000] <MikeSmith> "Blue Angel Technologies MetaStar" [07:51:02.0000] <MikeSmith> and "Verity Search 97 Information Server" [07:51:03.0000] <MikeSmith> okay [07:53:00.0000] <MikeSmith> I'll add a method to the jing abstract exception do get all the attributes [07:53:01.0000] <MikeSmith> James would probably love that [07:55:00.0000] <gsnedders> hsivonen: RSS consumors often use dc:date [08:01:00.0000] <hsivonen> gsnedders: with what meaning and what value formats? [08:02:00.0000] <gsnedders> hsivonen: Publication date (in place of the very badly implemented pubDate). Normally supporting W3CDTF. [08:03:00.0000] <hsivonen> gsnedders: ok [08:03:01.0000] <hsivonen> /me wonders what software uses "coverage" and for what [11:31:00.0000] <MikeSmith> "Incorporated Rhino CLI" https://github.com/stubbornella/csslint/blob/master/CHANGELOG [11:31:01.0000] <MikeSmith> wonder what that means [11:33:00.0000] <gsnedders> It's possible to run in Rhino, I believe, looking through the commits [11:34:00.0000] <MikeSmith> oh [11:35:00.0000] <MikeSmith> run _in_ rhino? [11:35:01.0000] <MikeSmith> is what it means"? [11:35:02.0000] <gsnedders> MikeSmith: Yeah. [11:36:00.0000] <MikeSmith> ok [12:24:00.0000] <smaug____> recompiling, and then first test with the mutation event replament. [12:24:01.0000] <smaug____> replacement [12:53:00.0000] <Yuhong> <Ms2ger> We should replace it with something purty and neat, all from scratch [12:54:00.0000] <Yuhong> Personally if I was there in 2004 I would have suggested a new version of XHTML that is tag level compatible with HTML4 and XHTML1. [12:54:01.0000] <Yuhong> As opposed to XHTML2 which was not. [14:23:00.0000] <annevk> Unread 2345 [14:23:01.0000] <annevk> making progress [14:23:02.0000] <annevk> I wonder when I reach 1337 [14:24:00.0000] <Ms2ger> Down from? [14:24:01.0000] <annevk> 19k [14:25:00.0000] <Ms2ger> Then I suspect soon :) [14:26:00.0000] <annevk> the first 10k was the easiest :) [14:27:00.0000] <Ms2ger> Also, I was happy to see you agreed with this editor :) [14:32:00.0000] <annevk> http://tools.ietf.org/html/draft-melnikov-mime-default-charset whoa [14:33:00.0000] <annevk> jreschke aligning some outdated spec with implementations rather than claiming the implementations are broken [14:34:00.0000] <annevk> /me makes a note for WHATWG Weekly [14:37:00.0000] <Ms2ger> If you hadn't seen it yet, https://github.com/andreasgal/dom.js [14:38:00.0000] <annevk> sweet [14:39:00.0000] <annevk> is this sponsored by Mozilla now he figured out just selling books does not work? :) [14:39:01.0000] <annevk> oh, David Flanagan was just the last to make a checkin [14:43:00.0000] <Ms2ger> Yes, I believe so [14:45:00.0000] <annevk> very cool [14:46:00.0000] <Ms2ger> Yeah, we're doing something new for once ;) [14:46:01.0000] <annevk> I saw in the logs experiments with removing mutation events are starting too [14:47:00.0000] <annevk> I wonder if the replacement needs to be part of DOM Core [14:47:01.0000] <Ms2ger> Probably [14:54:00.0000] <annevk> Ah, I found and replied to the email where bz rightly claims DOM Core would not be a proper specification without mutation events [14:56:00.0000] <zewt> annevk: by the way, recent discussion in here raised the question of how dom core should deal with those weird events where dispatching them causes default behavior (onclick in particular, onsubmit in everything but WebKit) ... not urgent, just mentioning it while I'm remembering it since it was off-list [14:57:00.0000] <Ms2ger> annevk, what do you think about document.ownerDocument, while you're in that thread? [14:57:01.0000] <annevk> oh yeah, I agree with Ian that submit is bug [14:58:00.0000] <annevk> Ms2ger, if we can change browsers, works for me [14:59:00.0000] <annevk> Ms2ger, that a Document owns itself makes sense to me :) [14:59:01.0000] <Ms2ger> /me adds a note [14:59:02.0000] <annevk> zewt, and I think I agree with you that we should just treat them as distinct concepts [14:59:03.0000] <annevk> zewt, dispatching and whatever you do if the event was not canceled [15:03:00.0000] <jgraham> mpilgrim: BTW I would love for the final argument to addEventListener to be optional, so let's try to fix the platform :) [15:03:01.0000] <jgraham> Also, commiserations on the perl [15:04:00.0000] <annevk> zewt, Ms2ger, also, I think using the empty string rather than a hidden flag is the way to go for uninitialized events [15:04:01.0000] <annevk> (re: long time ago) [15:04:02.0000] <Ms2ger> Tell smaug that :) [15:04:03.0000] <jgraham> /me knows no perl and was trying to add features to a largish, test-free, perl codebase the other day [15:04:04.0000] <zewt> i agree, figured I'd wait until you were back to grumble further about that [15:04:05.0000] <zewt> jgraham: my condolensces [15:05:00.0000] <annevk> jgraham, it's already optional [15:05:01.0000] <annevk> jgraham, see DOM Core [15:05:02.0000] <gsnedders> jgraham: It does have tests. About four. [15:05:03.0000] <Ms2ger> jgraham, been hacking on WebKit's IDL parser? [15:05:04.0000] <jgraham> annevk: Right. So let's not let mpilgrim make it non-optional in WebKit :) [15:06:00.0000] <jgraham> gsnedders: Not covering the bit I was modifying though [15:06:01.0000] <jgraham> I was *so* tempted to rewrite that bit in python and work out how to call perl from python... [15:07:00.0000] <zewt> heh, i rewrote all of my old perl stuff in python long ago, fortunately I've never written anything *big* in Perl [16:42:00.0000] <paul_irish> what's the TR in many spec URLs stand for? Technical Recommendation? [16:42:01.0000] <gsnedders> Yeah [16:48:00.0000] <annevk> no [16:48:01.0000] <annevk> Technical Report 2011-06-19 [17:05:00.0000] <jgraham> Things that surprise me: "ReviewBoard" and "amazing" in the same sentence [17:06:00.0000] <jgraham> I can only imagine this is compared to using Bugzilla comments for code review or something [21:49:00.0000] <llrcombs> poll: who thinks that <track> should have a method for adding/removing cues? [21:50:00.0000] <llrcombs> so JS could download a file in a non-WebVTT (that's the format, right?) format, parse it, and feed it to <track> [21:50:01.0000] <llrcombs> (right now, you'd have to parse it, then convert it to WebVTT and feed it to <track> as a data: URL) [03:40:00.0000] <annevk> logs down? [03:41:00.0000] <annevk> hmm, seems like something else is going on, maybe krijnh's new caching system? [04:06:00.0000] <hsivonen> (Member-only) http://lists.w3.org/Archives/Member/tag/2011Jun/0056.html [04:14:00.0000] <Dashiva> You tease [04:14:01.0000] <Dashiva> annevk: confirmed no logs for today, it updated fine yesterday after his announcement though [04:27:00.0000] <Dashiva> xml-dev thread on namespaces in html5 is enlightening [04:28:00.0000] <smaug____> w3c should do less communication in member only lists [04:29:00.0000] <Ms2ger> But then how can people make ludicrous claims without being called out for it? [04:30:00.0000] <Dashiva> Ms2ger: Simply make calling out people for ludicrous claims a non-conforming use of the internet [04:32:00.0000] <Dashiva> "I can imagine some cases where the document size would more than double using this scheme - not an unimportant consideration for high-performance worldwide document distribution. Perhaps the ideal would have been to allow both encodings." [04:32:01.0000] <Dashiva> This is how simplicity ends. [06:06:00.0000] <krijnh> Ping [06:07:00.0000] <krijnh> Hm [06:11:00.0000] <krijnh> Ah, little bug. Fixed anne! [07:15:00.0000] <annevk> wait, tweakers.net said Firefox 5 is released [07:15:01.0000] <annevk> mozilla.com however says something different [07:16:00.0000] <annevk> ah I see, they link to the ftp server [07:16:01.0000] <annevk> for which you have to have login credentials [07:16:02.0000] <annevk> good times [07:16:03.0000] <annevk> oh well, release builds are boring anyways [07:17:00.0000] <jgraham> I think it's released on Mon or Tue [07:17:01.0000] <jgraham> But yeah, that just means it's obsolete :) [07:18:00.0000] <annevk> aaah [07:19:00.0000] <annevk> David has a @mozilla.com address [07:19:01.0000] <annevk> guess that means he has even more time to provide awesome reviews :) [07:28:00.0000] <krijnh> Awesome fast /irc-logs/ is awesome \o/ [07:31:00.0000] <annevk> awesome krijn is awesome [07:31:01.0000] <annevk> as long as it works anyway [07:31:02.0000] <krijnh> Yeahyeah :) [07:32:00.0000] <krijnh> Why didn't I do it like this before.. [07:33:00.0000] <krijnh> Ah, right, HTML5 wasn't supported in browsers yet [07:35:00.0000] <annevk> meh [07:35:01.0000] <annevk> parts of HTML5 were in browsers before you started web development :p [07:35:02.0000] <krijnh> ORLY [07:35:03.0000] <Ms2ger> What, innerhtml? [07:36:00.0000] <krijnh> <image> for sure [07:36:01.0000] <krijnh> Anyway [07:36:02.0000] <krijnh> Permission to let you people be again? :] [07:36:03.0000] <annevk> charset registry is another failure it seems [07:36:04.0000] <krijnh> (And stop breaking my server!) [07:36:05.0000] <annevk> half a year! [07:37:00.0000] <krijnh> See you tomorrow annevk o/ [07:37:01.0000] <Ms2ger> annevk, no, seriously? [07:40:00.0000] <annevk> krijnh, might just make it :) [07:40:01.0000] <annevk> Ms2ger, one day Web Encodings will be an actual document that can be implemented [07:40:02.0000] <annevk> problem might be that nobody cares or dares touching that code [07:41:00.0000] <Ms2ger> Can't blame them [07:43:00.0000] <annevk> oh, Facebook is part of the W3C now [07:52:00.0000] <annevk> Ms2ger, btw, you made a change where you described something in terms of appendChild or some such; given mutation events I'm not sure that's a good idea [07:53:00.0000] <Ms2ger> Hmm, I guess [07:53:01.0000] <Ms2ger> /me has done his best to avoid thinking about them [07:55:00.0000] <hsivonen> /me notes that the mutation events of innerHTML are described like that [07:57:00.0000] <annevk> I'm hoping smaug wins [07:57:01.0000] <Ms2ger> Don't we all? :) [08:32:00.0000] <annevk> I wonder if someone filed a bug on Opera to do what Gecko does for http://www.w3.org/Bugs/Public/show_bug.cgi?id=11960 [08:38:00.0000] <annevk> whoa lots of activity in http://lists.w3.org/Archives/Member/tag/2011Jun/ [08:38:01.0000] <annevk> unusual [08:51:00.0000] <AryehGregor> Ooh, there's some juicy stuff there. [09:03:00.0000] <annevk> http://www.w3.org/TR/1998/NOTE-xh-19980511 sweet [09:06:00.0000] <annevk> I better stop reading up on DOM Level 3 Events I think [09:31:00.0000] <AryehGregor> /me loves discovering all the quirks that non-HTML5 text/html parsers have -- like apparently Opera allows <h1>foo<h2>bar</h2>baz</h1> and doesn't auto-close the <h1> [09:32:00.0000] <Ms2ger> Old Gecko might've supported that as well [09:32:01.0000] <AryehGregor> The only thing that's better than understanding how insane the HTML parser is is understanding how insane *three* HTML parsers are, two of them undocumented. [09:43:00.0000] <annevk> haha [09:43:01.0000] <annevk> I wish W3C AB minutes were public [10:22:00.0000] <gsnedders> AryehGregor: I do still like our approach, of using pointers to get the right layout while still having a weird DOM as if we weren't actually doing half of what is needed for compat. [10:23:00.0000] <AryehGregor> /me has not studied it in detail [10:23:01.0000] <AryehGregor> Or at all. [10:23:02.0000] <gsnedders> /me looked at it a bit a couple of years back [10:23:03.0000] <gsnedders> Then I mostly got dragged into ES-land, and jgraham has become the parser guy. :P [10:24:00.0000] <The_8472> * AryehGregor loves discovering all the quirks that non-HTML5 text/html parsers have -- like apparently Opera allows <h1>foo<h2>bar</h2>baz</h1> and doesn't auto-close the <h1> <- imo autoclosing tags is more of a mess than nesting elements that shouldn't be nested. [10:24:01.0000] <AryehGregor> The_8472, sure, but we have to for compat, so it's nice that we're finally getting to see everyone move to the same way of doing it. [10:25:00.0000] <The_8472> yeah, moving in the worse direction :( [10:27:00.0000] <MikeSmith> in other news, http://www.karlgroves.com/2011/06/16/barriers-to-improving-the-accessibility-game-plan/ is worth reading [10:29:00.0000] <MikeSmith> AryehGregor: btw, any chance you might be able to be in Santa Clara the week of the TPAC? [10:29:01.0000] <MikeSmith> end of October [10:29:02.0000] <AryehGregor> MikeSmith, when's TPAC? [10:29:03.0000] <AryehGregor> No. [10:29:04.0000] <AryehGregor> I'll be in school. [10:29:05.0000] <MikeSmith> oh [10:29:06.0000] <MikeSmith> ah [10:31:00.0000] <gsnedders> AryehGregor: Pff, that's no excuse! [10:31:01.0000] <AryehGregor> It is at the school I'm going to. [10:32:00.0000] <The_8472> AryehGregor, a very fundamental problem with accessability is that nobody pays for it. [10:32:01.0000] <MikeSmith> The_8472: interesting [10:32:02.0000] <gsnedders> AryehGregor: I may well be there provided I have no assessments that week. :P [10:32:03.0000] <The_8472> we do mostly web-based backends at work. the customers don't ask for accessability, they want a solution fast and cheap. and interactive (usually fancy widgets based on JS libraries) [10:32:04.0000] <MikeSmith> that's also a fundamental problem with browsers [10:34:00.0000] <MikeSmith> finding customers who do actually care about accessibility and doing work for them instead is one way to screws that I guess [10:34:01.0000] <The_8472> i mean even lesser disabilities like red-green blindless are only considered peripherially (e.g. when it comes to indicator colors) [10:35:00.0000] <The_8472> lesser but common i mean [10:35:01.0000] <The_8472> rare ones... it would be time spent that nobody pays for [10:40:00.0000] <The_8472> http://www.karlgroves.com/2011/06/16/barriers-to-improving-the-accessibility-game-plan/#comment-19 <- [10:40:01.0000] <The_8472> i agree with that one [10:47:00.0000] <MikeSmith> wow [10:47:01.0000] <MikeSmith> I think that may be the only time I have seen that dude say something halfway sensible [10:56:00.0000] <hsivonen> hmm. http://www.cafepress.de/dd/45953815 [10:57:00.0000] <hsivonen> for a lot of stuff, I'd probably prefer CSV over RDF [10:58:00.0000] <Ms2ger> You must hate Semantics [10:58:01.0000] <hsivonen> no HTML5 shirts or mugs at http://www.cafepress.com/W3C_shop [10:58:02.0000] <hsivonen> I guess the W3C is really about RDF [11:00:00.0000] <MikeSmith> maybe if dude added a toilet-paper product with that design he'd get more buyers [11:13:00.0000] <MikeSmith> he should add some products with this design - [11:14:00.0000] <MikeSmith> http://www.brucelawson.co.uk/2011/with-the-power-of-html5/ [11:15:00.0000] <Ms2ger> And we reached Godwin [11:48:00.0000] <jgraham> gsnedders: You like the old Opera parsing approach?! I guess there had to be someone... [11:49:00.0000] <gsnedders> jgraham: In a sarcastic manner [11:57:00.0000] <AryehGregor> I found an unusually fun non-serializability issue in WebKit: insertText with bad characters in the value. Like \r, or \0. [11:58:00.0000] <AryehGregor> /me looks at the HTML parsing algorithm for inspiration on how to fix it [12:15:00.0000] <jgraham> """If we could generate a highly visible lawsuit every month — let’s say it cost $1 million a year to do that — we would see an increase in demand for our services ten times that. Good investment, no?""" [12:19:00.0000] <llrcombs> poll: who thinks that <track> should have a method for adding/removing cues? [12:19:01.0000] <llrcombs> so JS could download a file in a non-WebVTT (that's the format, right?) format, parse it, and feed it to <track> [12:19:02.0000] <llrcombs> (right now, you'd have to parse it, then convert it to WebVTT and feed it to <track> as a data: URL) [12:19:03.0000] <hsivonen> jgraham: where's the quote from? [12:20:00.0000] <gsnedders> /me wonders why jgraham never cites quotations [12:21:00.0000] <Ms2ger> A habit from the time he was working on his PhD? :) [12:21:01.0000] <zewt> Read more at: [12:22:00.0000] <jgraham> From the article MikeSmith already linked to [12:22:01.0000] <jgraham> http://www.karlgroves.com/2011/06/16/barriers-to-improving-the-accessibility-game-plan/#comment-18 [12:22:02.0000] <jgraham> Well from a comment [12:24:00.0000] <zewt> "read more at" may be the most abusive, hostile javascript nonsense yet, heh [12:24:01.0000] <zewt> certainly among the most annoying [12:26:00.0000] <llrcombs> zewt: read more at? [12:26:01.0000] <zewt> clipboard hijacking [12:26:02.0000] <llrcombs> oh, that [12:26:03.0000] <llrcombs> I block tynt [12:27:00.0000] <llrcombs> JS Blacklist FTW [12:27:01.0000] <zewt> you can't block it--not if a site tries hard enough (most don't, though) [12:27:02.0000] <llrcombs> oh, you always can [12:27:03.0000] <llrcombs> Safari 5 extensions have access to beforeload [12:27:04.0000] <zewt> well, by disabling javascript entirely, or large swaths of API :) [12:28:00.0000] <llrcombs> so you can download each script yourself, check it for clipboard events, and block it if it uses them [12:28:01.0000] <llrcombs> (otherwise, redirect the script to a data: url so you don't have to load 2x) [12:28:02.0000] <zewt> "each script"--but a page can merge all of its scripts together, making it all-or-nothing [12:28:03.0000] <llrcombs> ooh, ouchie on that one [12:29:00.0000] <llrcombs> fine, regex replace the script's contents [12:29:01.0000] <zewt> anyhow, manually squinting at every website's scripts isn't exactly a practical solution [12:29:02.0000] <llrcombs> it can be done programatically [12:29:03.0000] <zewt> javascript is trivial to obfuscate enough to make text searching useless [12:29:04.0000] <llrcombs> also, is it possible to destroy events? [12:30:00.0000] <zewt> no, I wish there was a way to enumerate event listeners from script [12:30:01.0000] <AryehGregor> Is there some good way, given a string, to pass it through the HTML parser to parse as a string literal? [12:30:02.0000] <llrcombs> they'd have to mention the event name somewhere in the script, so you could just replace the name with some event that doesn't exist [12:30:03.0000] <AryehGregor> /me is tempted to use <plaintext> :) [12:30:04.0000] <llrcombs> AryehGregor: you mean, force it to ignore markup? [12:30:05.0000] <zewt> window.addEventListener("cli" + "ck") :) [12:30:06.0000] <llrcombs> that'd be CDATA [12:30:07.0000] <llrcombs> ... [12:30:08.0000] <llrcombs> damn you [12:31:00.0000] <Ms2ger> "HTML" [12:31:01.0000] <llrcombs> but I think a regex could catch that [12:31:02.0000] <AryehGregor> No it wouldn't. [12:31:03.0000] <llrcombs> alright, nevermind then [12:31:04.0000] <Ms2ger> But yes, <svg><![CDATA[]]></svg> [12:31:05.0000] <AryehGregor> I mean, I have a JavaScript string and I want to say in my specification to do something to the string so that inserting it into an existing text node won't make things non-serializable. [12:31:06.0000] <AryehGregor> Like so it will handle \r and nulls and unpaired surrogates and things like that. [12:32:00.0000] <llrcombs> zewt: regex for something separated by () or , and containing "c", "l", "i", "c", and "k" in that order [12:32:01.0000] <llrcombs> OR! [12:32:02.0000] <llrcombs> oh, here's an idea [12:33:00.0000] <zewt> what good does that do you? aside from the fact that you can trivially make it contain none of those things, that doesn't tell you anything about what the click listener is for [12:34:00.0000] <AryehGregor> val = range.createContextualFragment("<plaintext>" + val).firstChild.firstChild; [12:34:01.0000] <zewt> trying to weed through scripts and find evil uses of APIs will never work--the APIs need to not allow evil things in the first place [12:34:02.0000] <AryehGregor> val = range.createContextualFragment("<plaintext>" + val).firstChild.firstChild.data; [12:35:00.0000] <llrcombs> window._addEventListener = window.addEventListener; window.addEventListener = function(event,handler,capture){if(event == "copy"){return false;}else{window._addEventListener(event,handler,capture);}}; [12:35:01.0000] <Ms2ger> .textContent? [12:35:02.0000] <llrcombs> YES [12:36:00.0000] <zewt> that doesn't help, you don't need copy to implement clipboard hijacking [12:36:01.0000] <zewt> (well, it "helps", but not against people deliberately trying to circumvent things) [12:36:02.0000] <AryehGregor> .textContent would be slightly simpler, yes. [12:40:00.0000] <zewt> llrcombs: fyi, the simplest way to prevent most clipboard hijacking methods is to disable the multiple-selection API entirely from JS [12:40:01.0000] <zewt> it's not guaranteed--there are ways to do it without that, but they're a lot less reliable [12:40:02.0000] <llrcombs> what's the multiple-selection API? [12:41:00.0000] <zewt> the API that lets selections contain multiple ranges (which AryehGregor here is all too familiar with) [12:41:01.0000] <llrcombs> I mean, how do you access it? [12:41:02.0000] <zewt> don't recall off-hand [12:41:03.0000] <AryehGregor> zewt, nobody but Gecko supports multiple selections in it anyway . . . [12:41:04.0000] <AryehGregor> Also, what do you mean "disable" it? [12:41:05.0000] <AryehGregor> getSelection() should always work. [12:41:06.0000] <AryehGregor> Plus, how can it be used in clipboard hijacking? [12:42:00.0000] <llrcombs> AryehGregor: unless you say "window.getSelection = function(){};" [12:42:01.0000] <AryehGregor> Well. Yeah, true. [12:42:02.0000] <AryehGregor> And document.getSelection too. [12:42:03.0000] <llrcombs> how do you do clipboard highjacking without the copy event? [12:42:04.0000] <AryehGregor> Except you can always get one from some other document you create, unless maybe you override the prototype or some voodoo magic like that? [12:42:05.0000] <zewt> those scripts work by creating a non-visible (not hidden, just not visible to the user) div containing the spam text, capturing various events (copy, onclick, etc), and adding the div containing the spam to the selection [12:42:06.0000] <AryehGregor> You could use execCommand("copy"), but not all browsers let you. [12:43:00.0000] <AryehGregor> Then they wait for the user to copy themselves? [12:43:01.0000] <zewt> there are various code paths for different browsers, though--been a while since I looked at it [12:43:02.0000] <zewt> right; it's really "selection hijacking" [12:43:03.0000] <AryehGregor> Ah, yeah, not really any way to avoid that. [12:43:04.0000] <AryehGregor> You shouldn't even need multiple code-paths for the latest versions of all browsers. :) [12:44:00.0000] <AryehGregor> (IE<9 has a totally different selection API) [12:45:00.0000] <zewt> ah here's one implementation of it (old, current ones probably have changed a lot): https://zewt.org/~glenn/copy_paste.js [12:45:01.0000] <The_8472> <zewt> llrcombs: fyi, the simplest way to prevent most clipboard hijacking methods is to disable the multiple-selection API entirely from JS <- then you could click-jack by carefully appending a zero-width but visible element containing text into the current, single-range selection... [12:46:00.0000] <The_8472> with hidden overflow [12:46:01.0000] <AryehGregor> There aren't separate APIs for single- and multiple-selections. [12:46:02.0000] <AryehGregor> At least not standard ones. [12:47:00.0000] <zewt> ultimately it's a losing battle, which is why I havn't pursued it [12:47:01.0000] <The_8472> well, there are functions to add ranges [12:47:02.0000] <AryehGregor> They don't work to actually give you multiple ranges per Selection except in Gecko. [12:47:03.0000] <zewt> (but I'm happy to grumble about it now and then to see if anyone has any new ideas, since it's seriously abusive) [12:48:00.0000] <The_8472> even if you can't manipulate the ranges directly you might just check for selection changes and insert elements into the dom directly as the selection happens, so even a read-only API can be circumvented [12:48:01.0000] <AryehGregor> Why do browsers expose a copy event at all? [12:48:02.0000] <The_8472> they don't need to [12:49:00.0000] <The_8472> they can just expose the keypress/mouse clicks and you're good to insert your invisible ranges [12:49:01.0000] <The_8472> just wait for the ctrl from ctrl+c [12:49:02.0000] <zewt> yeah I implemented a version that works on a timer and just watches the selection, I think [12:49:03.0000] <The_8472> and the mousedown for rightclick->copy [12:49:04.0000] <zewt> (been a while so I don't recall how much actually worked; was devil's-advocating to see how unpreventable this stuff is) [12:49:05.0000] <The_8472> and then there is the flash hijack that can directly copy things into your clipboard... [12:50:00.0000] <AryehGregor> Browsers could also hide certain keypresses from the site. [12:50:01.0000] <zewt> well, anyone sane and educated blocks flash anyway [12:50:02.0000] <AryehGregor> Well, if Flash allows that, nothing we can do except kill Flash. :) [12:50:03.0000] <The_8472> hiding ctrl clicks is a bad idea [12:50:04.0000] <The_8472> rich text editors need that [12:51:00.0000] <AryehGregor> Only ones that actually trigger a copy. [12:51:01.0000] <AryehGregor> Or only expose it after the copy has already happened. [12:51:02.0000] <The_8472> you don't need to wait that long [12:51:03.0000] <The_8472> you can manipulate the dom optimistically [12:51:04.0000] <The_8472> even if no copy happens [12:52:00.0000] <AryehGregor> That's not possible to prevent, granted. [12:52:01.0000] <The_8472> of course one could modify the copy action of browsers to only include what's *rendered* [12:52:02.0000] <The_8472> but i'm sure that's not a trivial task [12:53:00.0000] <The_8472> and then people might start trickery with visible but transparent text... [12:53:01.0000] <AryehGregor> They already do something like that. [12:53:02.0000] <AryehGregor> At least some do. [12:53:03.0000] <AryehGregor> Like WebKit. [12:53:04.0000] <zewt> that's impossible, in general--you need to copy selected text that's offscreen, so you can just put the spam text offscreen [12:53:05.0000] <AryehGregor> It's not going to help much for fixed-position off-screen stuff. [12:54:00.0000] <zewt> looks like the codepath in this script for chrome is to create a new block with the selected text, select it, and revert the selection in a 0ms timer [12:54:01.0000] <zewt> which really shouldn't work: clipboard copying should happen before any events fire, to prevent pages from messing with the page when they think you're going to copy [12:55:00.0000] <zewt> it's pretty bizarre that browsers actually allow onkeydown to cancel almost any key, even core browser stuff [12:56:00.0000] <The_8472> well, then you just modify the selection before the copy happens... e.g. on every mouse move/cursor key press, i.e. when the selection happens, not when the copy happens [12:56:01.0000] <The_8472> that sentence was brought to you by the redundancy department of redundancy [12:56:02.0000] <zewt> that doesn't work with this chrome codepath [12:56:03.0000] <The_8472> well, so they'll change it [12:57:00.0000] <The_8472> bad guys always adapt [12:57:01.0000] <zewt> to what? [12:57:02.0000] <The_8472> as long as you leave them an opening, they'll use it [12:57:03.0000] <The_8472> to your defenses [12:58:00.0000] <zewt> that's no reason to not try :) in particular, if you can make the remaining hacks inconvenient or brittle enough, it's a deterrant [12:58:01.0000] <AryehGregor> That's fatalistic. [12:59:00.0000] <The_8472> the timer polling solution is simple enough... so, do you have a way to defend against that? [12:59:01.0000] <zewt> the timer polling approach doesn't work with this method, and thinking over it I can't think of any way to make it work, at least without breaking user selections in weird ways [12:59:02.0000] <The_8472> with what method? [13:00:00.0000] <zewt> 1: create new div 2: copy the selected text into the div 3: add spam 4: save the selection 5: select the new div 6: in a timer, set the selection back to the original (after the copy completes) [13:00:01.0000] <zewt> that's what this code does in chrome/webkit (and I'm guessing IE, havn't looked that hard) [13:01:00.0000] <The_8472> my point is that it doesn't have to do it [13:01:01.0000] <The_8472> it's just what its authors deemed as the most robust way [13:01:02.0000] <zewt> and I'm asking: how can you do it in a polling way? [13:02:00.0000] <The_8472> you don't. you insert the hidden text into the dom in place [13:02:01.0000] <zewt> that's a whole lot more brittle and likely to break things badly, which like I said, is a deterrant [13:03:00.0000] <zewt> inserting a 0x0 div in the middle of the DOM has a lot more ways to screw up an existing site and its scripts than putting one at the end of the document [13:03:01.0000] <The_8472> not that brittle, considering they would control their own code. if it breaks some javascript widget they can work around it [13:04:00.0000] <The_8472> for starters, you could use a span [13:04:01.0000] <zewt> most people using this aren't exactly spending hours maintaining it (or even necessarily know how it works); they just drop it into their site; and if you have to keep dealing with ugly scripts breaking things, that'll encourage people to not use it [13:05:00.0000] <The_8472> that is assuming they are sane people [13:05:01.0000] <The_8472> sane people wouldn't try to annoy users by breaking their copy&paste [13:05:02.0000] <zewt> the alternative is to assume that they're competent people, which I think is highly questionable [13:06:00.0000] <AryehGregor> Wrong, sane people can be extremely obnoxious. [13:12:00.0000] <The_8472> i think it's non-sane people paying competent people... [13:12:01.0000] <The_8472> iow: blame marketing [13:14:00.0000] <AryehGregor> I think you're amazingly optimistic about how much a typical developer cares about their what their users actually want. [13:23:00.0000] <AryehGregor> Hmm, I just accidentally upgraded from Firefox 5 to 6, and now Firebug has disabled itself. [13:23:01.0000] <AryehGregor> Can I try to persuade it that it's compatible and see if it works? [13:24:00.0000] <AryehGregor> extensions.checkCompatibility? [13:25:00.0000] <llrcombs> you mean 4 to 5? [13:25:01.0000] <AryehGregor> No, I mean 5 to 6. [13:25:02.0000] <AryehGregor> I'm using Aurora. [13:25:03.0000] <Ms2ger> .6.0b? [13:25:04.0000] <llrcombs> oh, alrighty [13:25:05.0000] <AryehGregor> 6.0a2? [13:27:00.0000] <Ms2ger> Oh, right [13:27:01.0000] <Ms2ger> If you used Nightly, you could use extensions.checkCompatibility.nightly :) [13:28:00.0000] <llrcombs> why can't FF just suck it up and write some proper dev tools? [13:28:01.0000] <llrcombs> s/FF/mozilla [13:28:02.0000] <AryehGregor> They are. [13:28:03.0000] <llrcombs> oh, goody! [13:28:04.0000] <AryehGregor> But they're way behind the curve. [13:28:05.0000] <AryehGregor> Since they relied on Firebug for so long. [13:28:06.0000] <llrcombs> they've got the dev console, but I've heard nothing good about it [13:28:07.0000] <llrcombs> at all [13:29:00.0000] <llrcombs> well, I hear it's good with CSS [13:29:01.0000] <llrcombs> but not JS, at all [13:31:00.0000] <The_8472> firebug works on aurora though, you just have to install a beta of it or override compatibility [13:31:01.0000] <llrcombs> /me <3 WebKit Web Inspector [13:32:00.0000] <zewt> even IE9's stuff seems better than FF's, from what I've used of each [13:32:01.0000] <llrcombs> that's just sad [13:33:00.0000] <llrcombs> nothing should be worse than IE [13:33:01.0000] <llrcombs> ever [13:34:00.0000] <zewt> firefox's web console thing is fairly embarrassing; even the simple javascript console feels like a first-pass concept implementation, not a production-release implementation [13:34:01.0000] <zewt> eg. pressing up into input history leaves you at the *start* of the line [13:35:00.0000] <llrcombs> ...lolwat..? [13:35:01.0000] <llrcombs> well, it's better than Vista [13:37:00.0000] <AryehGregor> Hmm. Going to Live DOM Viewer and hitting "download" right now causes Firefox 6.0a2 to hang. [13:38:00.0000] <AryehGregor> Can anyone else reproduce? [13:38:01.0000] <llrcombs> isn't there a mozilla IRC network? [13:38:02.0000] <AryehGregor> Yes, but I'm not on it. [13:38:03.0000] <AryehGregor> There's also a Bugzilla. [13:38:04.0000] <AryehGregor> But I'm doing work and am not really interested in taking the time out to file every crash bug I find. [13:39:00.0000] <AryehGregor> Hangs probably aren't exploitable, right? So I can say what triggered it publicly, I guess. [13:39:01.0000] <llrcombs> too bad I'm not on FX, or I'd try to reproduce it for you, and then I might even file a bugzilla [13:40:00.0000] <AryehGregor> Seems just setting the textContent of an element to "\ud800" does it. [13:40:01.0000] <zewt> a whole bugzilla? [13:40:02.0000] <llrcombs> zewt: yeah, it takes a while to upload [13:40:03.0000] <llrcombs> and sometimes weird things happen [13:41:00.0000] <llrcombs> SUP DAWG, I HERD U LIEK BUGFIXEZ, SO I FILED BUGZILLA IN UR BUGZILLA SO U CAN FIX WHILE YOU FIX! [13:41:01.0000] <zewt> guh [13:46:00.0000] <Ms2ger> WFM, FWIW [14:15:00.0000] <zewt> i wonder why opera's reload scrolling behavior is so much better than firefox and chrome's [14:15:01.0000] <zewt> maybe they're waiting until onload or something to scroll and opera does it as soon as possible [14:16:00.0000] <The_8472> the problem is that reloading may load images too, which requires several reflows [14:17:00.0000] <The_8472> which may change the position of the anchor [14:17:01.0000] <zewt> ff and chrome's behavior is just really bad and annoying and opera's works well [14:17:02.0000] <zewt> i always reload in firefox, it leaves me at the top, I start scrolling down the page, then seconds later it suddenly scrolls to the old position [14:25:00.0000] <AryehGregor> Are there tests for the HTML5 serializer anywhere? [14:26:00.0000] <AryehGregor> /me just found a bug in both Gecko and WebKit HTML5 serialization [14:43:00.0000] <AryehGregor> annevk, is there any way using CSSOM View or something to tell whether a <br> is collapsed or is actually creating a line break? I.e., whether it could be removed without affecting layout? [14:43:01.0000] <AryehGregor> You could actually remove it, I guess . . . that might work. [14:44:00.0000] <realityking> I'm toying around with the history API [14:45:00.0000] <realityking> I need to set a stateObj for the initially loading page so I can get back to that state trough the popstate event [14:45:01.0000] <realityking> but that where the trouble starts [14:45:02.0000] <realityking> I have the following inside a domready event: [14:45:03.0000] <realityking> history.replaceState({"page": page}, null, window.location); [14:45:04.0000] <realityking> history.state = {"page": page}; [14:45:05.0000] <realityking> but that doesn't work [14:45:06.0000] <realityking> (just one of those doesn't either) [14:46:00.0000] <realityking> it does work fine if I reload the page once [14:46:01.0000] <realityking> am I missing something or could this be a browser bug? [14:46:02.0000] <realityking> I tested with Safari 5.1beta and Firefox 4 [14:47:00.0000] <AryehGregor> Hmm, actually removing it works for me, I guess. <br>'s behavior doesn't seem very well-defined at all . . . [14:54:00.0000] <AryehGregor> Oh, of course -- it messes up ranges. [14:55:00.0000] <AryehGregor> /me tries display: none instead [15:04:00.0000] <clair> I'm not sure how much detail to go into in copying over code for the examples at http://wiki.whatwg.org/wiki/Dialogs - does anyone know will the entire javascript function be needed or just those lines relevant to showing the dialog? [15:05:00.0000] <clair> I'm new to this so I don't know how much real world example detail is needed :) [15:08:00.0000] <AryehGregor> clair, I dunno, I guess enough for people to figure out how it works and what it does. [15:08:01.0000] <AryehGregor> A description might be more useful than copying the code, especially if you can link to the code. [15:10:00.0000] <clair> Hmm, yeah. It's minified code which doesn't help, but I guess I can say "It displays this element" or somesuch [15:13:00.0000] <The_8472> minified code is a crime imo. we already have compression at the protocol level [15:14:00.0000] <clair> The only thing it seems to be good at is making it harder for other people to read :( [15:14:01.0000] <clair> It's situations like this I'm thankful for webkit inspector's pretty print :) [15:15:00.0000] <The_8472> pretty print can only do so much when variable names get substituted too [15:17:00.0000] <clair> Yeah. Luckily, this code is pretty simple so it's easy to work out what the variables do, but you're right, I've never used minified code unless it's something like jquery - never seen the point [15:20:00.0000] <erlehmann> can anyone tell me why this bloats up memory in firefox and opera? http://daten.dieweltistgarnichtso.net/src/wer-kuesst-wen/ [15:21:00.0000] <erlehmann> webkit seems to have no problems. [15:21:01.0000] <jgraham> AryehGregor: What bug did you find in serialization? [15:22:00.0000] <erlehmann> i think it may be a problem because i load these images repeatedly. [15:22:01.0000] <AryehGregor> jgraham, <pre>\nfoo</pre> serializes to <pre>\nfoo</pre> which parses to <pre>foo</pre>. [15:22:02.0000] <erlehmann> but then that would be a serious caching bug, wouldn't it? [15:22:03.0000] <AryehGregor> HTML says to add a linebreak after a <pre> start tag always. [15:22:04.0000] <AryehGregor> It would probably make more sense to only add one if the first character is a linebreak. [15:22:05.0000] <erlehmann> lots of small images shouldn't bloat memory. [15:22:06.0000] <jgraham> AryehGregor: OK, it is the bug I knew about then :) [15:22:07.0000] <AryehGregor> But anyway it's a browser bug, even if there's also a spec bug. [15:22:08.0000] <AryehGregor> Also, Gecko serializes <xmp> wrong, it escapes < and & and such. [15:23:00.0000] <jgraham> AryehGregor: We try to do that right but I am a bit scared it will have some compat impact [15:23:01.0000] <jgraham> (with Ragnarok) [15:24:00.0000] <zewt> erlehmann: havn't looked at that, but oddly, it's WebKit i've always found is really really bad at loading small images (or any images) repeatedly [15:24:01.0000] <erlehmann> zewt, i am working to fix the issue that the images are loaded repeatedly every frame, but over time, it will still bloat. [15:31:00.0000] <AryehGregor> Could someone explain why this is 0? http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1032 [15:31:01.0000] <AryehGregor> /me scratches his head [15:31:02.0000] <AryehGregor> It doesn't make sense to me. The span creates a box, why should the box have zero height? [15:32:00.0000] <AryehGregor> Hmm, does clientHeight only work on blocks, maybe? [15:32:01.0000] <AryehGregor> Oh, right. [15:32:02.0000] <AryehGregor> "The clientTop, clientLeft, clientWidth, and clientHeight attributes must return zero if the element does not have any associated CSS layout box or if the CSS layout box is inline." [15:32:03.0000] <AryehGregor> I think I want offsetHeight. [15:33:00.0000] <AryehGregor> Why the difference, I don't know . . . [15:33:01.0000] <erlehmann> he, still not as bad as inadvertedly triggering a memory leak. [15:34:00.0000] <jgraham> AryehGregor: All those APIs are weird I think [15:34:01.0000] <AryehGregor> Apparently. [15:34:02.0000] <jgraham> I meaniirc they are a hotch-potch of things that different browsers invented [15:35:00.0000] <jgraham> Whihc doesn't typically lead to great quallity [15:49:00.0000] <llrcombs> I still would like some input on my idea though [15:49:01.0000] <llrcombs> about a method for <track> to programatically add cues [15:50:00.0000] <llrcombs> (add/remove/edit) [16:18:00.0000] <clair> If anyone's interested I've put some code examples on the wiki for the dialog proposal, I'll add in some more once I figure out how they work 2011-06-20 [18:09:00.0000] <llrcombs> Can't anyone just tell me "sounds good, we might add it" or "that's a crappy idea, and here's why"? [18:09:01.0000] <llrcombs> Idea: Methods in <track> to programatically add/remove/edit cues [18:10:00.0000] <AryehGregor> I'm pretty sure most people here aren't following the <track> stuff. [18:10:01.0000] <AryehGregor> Thus the lackluster response. [18:10:02.0000] <llrcombs> is there another chan I should ask in? [18:24:00.0000] <zewt> post on the list [18:25:00.0000] <llrcombs> how about the forums? [18:25:01.0000] <zewt> what forums? heh [18:26:00.0000] <llrcombs> the whatwg forums [18:26:01.0000] <llrcombs> forums.whatwg.org [18:27:00.0000] <zewt> don't know about those, development doesn't happen on forums [18:27:01.0000] <llrcombs> http://forums.whatwg.org/bb3/viewforum.php?f=3 [18:27:02.0000] <zewt> don't know what that even exists, stick to the list [18:28:00.0000] <llrcombs> link? [18:28:01.0000] <llrcombs> (I like forums D:) [18:28:02.0000] <zewt> https://encrypted.google.com/search?q=whatwg+mailing+list [18:29:00.0000] <llrcombs> yay encrypted google [18:29:01.0000] <llrcombs> yeah, that was probably a stupid question [23:37:00.0000] <zcorpan> input from webkit people on http://www.w3.org/Bugs/Public/show_bug.cgi?id=12798 would be nice [00:00:00.0000] <heycam> zcorpan, I agree, thanks for ccing abarth [00:01:00.0000] <heycam> (although I'm loathe to reopen without some concrete data) [00:01:01.0000] <heycam> /me heads home [00:25:00.0000] <MikeSmith> Ben Meyer is stopping work on Arora - http://groups.google.com/group/arora-dev/browse_thread/thread/c3c318b78a655039 [00:26:00.0000] <MikeSmith> I guess it was inevitable [00:56:00.0000] <hsivonen> MikeSmith: is George Staikos still at Torch/RIM? is he prohibited from doing Qt stuff as well? [00:57:00.0000] <MikeSmith> hsivonen: not sure if George is at RIM or not [00:57:01.0000] <MikeSmith> but yeah it would really suck if he weren't allowed to work on Qt stuff [01:03:00.0000] <MikeSmith> hsivonen: looking through http://trac.webkit.org/browser/trunk/Source/WebKit/qt it seems like it's been a long time since he committed any changes himself against the sources for the Qt port of WebKit [01:05:00.0000] <hsivonen> MikeSmith: ok [01:07:00.0000] <MikeSmith> so hsivonen , about the input-type error message thing, when you mentioned punching holes in some abstractions, did you mean in the validator.nu branch of jing? [01:08:00.0000] <MikeSmith> because as far as what's currently available to the message-emitter code, that would seem like the only place to do it [01:10:00.0000] <hsivonen> MikeSmith: I haven't looked at the code, but AFAICT, there are two options: 1) Making Jing expose the attributes in the exception and 2) Making the message emitter register a SAX ContentHandler that gets served earlier than Jing so that the message emitter knows which SAX event Jing is about to get [01:10:01.0000] <MikeSmith> ah [01:10:02.0000] <MikeSmith> OK [01:11:00.0000] <MikeSmith> I see [01:12:00.0000] <MikeSmith> I reckon registering a new content handler might be easier than making the changes to Jing [01:12:01.0000] <MikeSmith> maybe not technically easier [01:12:02.0000] <hsivonen> I'd expect it to be the better route [01:12:03.0000] <hsivonen> especially if we try to pursue merging with Jing trunk some day [01:13:00.0000] <MikeSmith> right [01:13:01.0000] <MikeSmith> it seems like James would rather not see further changes going into the validator.nu branch that he doesn't want in the trunk [01:14:00.0000] <MikeSmith> and getting his review time & attention is also not very easy [01:14:01.0000] <hsivonen> hmm. http://help.yandex.ru/webmaster/?id=995300#995356 doesn't look like a great "spec" for yandex-verification [01:15:00.0000] <hsivonen> since the page doesn't even mention what the meta keyword is [01:19:00.0000] <hsivonen> Hixie: any advice about yandex-verification? [01:19:01.0000] <othermaciej> George Staikos is at RIM, yes [01:19:02.0000] <othermaciej> I think their port might be based on Qt, but I am not sure [01:20:00.0000] <hsivonen> Hixie: it seems totally silly to fail yandex-verification for failing the requirements, but not failing it would set an awful precedent [01:21:00.0000] <hsivonen> fwiw, the English version of the doc at http://help.yandex.com/webmaster/?id=1115204 doesn't mention the actual meta keyword, either [01:26:00.0000] <MikeSmith> so I did some hacking on the bugzilla mail code to try to get notifications in which the record of changes is easier to read than the default bugzilla ascii-table thing [01:26:01.0000] <hsivonen> Hixie: oh well, I moved the entry to the list of keywords that don't meet the requirements, since, objectively, it doesn't :-( [01:26:02.0000] <MikeSmith> result so far is here: [01:27:00.0000] <MikeSmith> https://raw.github.com/gist/1035260/5ba6711823a527ba670ad06f1289599426cba6c4/gistfile1.txt [01:27:01.0000] <MikeSmith> opinions on that would be welcome [01:27:02.0000] <MikeSmith> and/or suggestions for further tweaks [01:27:03.0000] <hsivonen> MikeSmith: WFM [01:27:04.0000] <MikeSmith> ok [01:28:00.0000] <MikeSmith> unfortunately the bugzilla template mechanism doesn't provide any way to adjust the formatting of that part of the notifications [01:28:01.0000] <MikeSmith> the ascii-table part [01:28:02.0000] <MikeSmith> so changing it requires hacking the system BugMail.pm file [01:29:00.0000] <MikeSmith> which means if we deploy this for the W3C bugzilla, I will need to the W3C systems team to agree to it [01:29:01.0000] <MikeSmith> so I hope I can do that [01:30:00.0000] <MikeSmith> but I really think this should be changed in bugzilla upstream [01:30:01.0000] <MikeSmith> that ascii-table stuff only displays well in fixed-width font anyway [01:30:02.0000] <zewt> heh [01:30:03.0000] <zewt> mails formatted as if everyone reads mail in a terminal in 2011 is sort of uhh [01:31:00.0000] <MikeSmith> and I reckon a quite large number or users these days are reading those messages in a client that displays them using a proportional font [01:31:01.0000] <MikeSmith> e.g., Gmail or Mail.app or Outlook or whatever [01:32:00.0000] <MikeSmith> zewt: well, I guess a lot of bugzilla users still do read mail in clients with fixed-width fonts [01:32:01.0000] <MikeSmith> at least I do still [01:32:02.0000] <MikeSmith> most of the time [01:33:00.0000] <MikeSmith> /me wonders if there's a way to have gmail use a fixed-width font [01:35:00.0000] <MikeSmith> /me checks and sees it seems not (other than changing browser settings) [01:36:00.0000] <MikeSmith> seems that iPad mail client doesn't provide any way to change the font-family either [01:36:01.0000] <hsivonen> yay IETF. the about: URL scheme has existed since early Netscape and now we get feedback that the W3C shouldn't use it while the IETF ponders it [01:36:02.0000] <zcorpan> about:ietf [01:39:00.0000] <zewt> MikeSmith: you can send an HTML version set to a fixed-width font, but ... please don't, heh [01:39:01.0000] <zewt> the only legitimate case I've seen for changing fonts in mail so far is when pasting code into a mail; setting fixed-width is sort of useful then [01:40:00.0000] <MikeSmith> about:clue [01:41:00.0000] <MikeSmith> zewt: I think fixed-width font for e-mail is pretty much better for readability regardless [01:42:00.0000] <MikeSmith> I don't know of many use cases for really needing typography fineries in e-mail [01:42:01.0000] <MikeSmith> e-mail messages are word-processing docs [01:42:02.0000] <MikeSmith> or web pages [01:43:00.0000] <zewt> fixed-width is pretty bad for readability in general, but of course that's the reader's choice, not the sender's :) [01:47:00.0000] <asmodai> Mmm [01:48:00.0000] <asmodai> hsivonen: I wonder why the firefox 5 installer doesn't invoke UAC to allow me to install [01:48:01.0000] <zewt> heh [01:48:02.0000] <asmodai> Trying to install it complains about not having rights to write to the destination directory. Have to right click and run as administrator [01:48:03.0000] <zewt> clicking chrome install links in firefox and having it go "done!" is pretty much "uhhh, what?" [01:48:04.0000] <asmodai> zewt: heh [01:49:00.0000] <hsivonen> zewt: do you mean after installing some other app from Google that installs an NPAPI plug-in into Firefox without asking? [01:49:01.0000] <zewt> i have no idea what it was, actually [01:49:02.0000] <hsivonen> asmodai: I have no idea. I know very little about Windows [01:50:00.0000] <zewt> maybe it was the "upgrade chrome to testing" or whatever [01:50:01.0000] <asmodai> hsivonen: Just curious, since previous versions requested those permissions. [01:50:02.0000] <hsivonen> zewt: AFAICT, Opera is the only major competing browser vendor that doesn't try to inject code into Firefox under any circumstances [01:51:00.0000] <hsivonen> kudos to Opera [01:51:01.0000] <zewt> Google Update 1.3.21.57 [01:51:02.0000] <zewt> yeah google installed some plugin into firefox without permission [01:54:00.0000] <hsivonen> Firefox really needs to start prompting the user with something like "Hey, $VENDOR added some code into Firefox without asking you. [Cool, Let's Run More Code] [[Not Cool, Reject the Code]]" [01:55:00.0000] <zewt> also google needs to stop installing things without permission because that's not "okay" [01:57:00.0000] <hsivonen> as I understand it, the stuff Google installs is less of a problem than stuff antivirus packages or Skype install [01:57:01.0000] <zewt> heh i use a skype from like 2008 because anything newer is unusable [01:59:00.0000] <zewt> surprised it even works [01:59:01.0000] <othermaciej> which browser vendors inject code into Firefox and how? [01:59:02.0000] <zewt> chrome appears to install a plugin into firefox [02:00:00.0000] <othermaciej> does the way they do it obtain meaningful user consent? [02:00:01.0000] <zewt> none that I can recall giving [02:00:02.0000] <othermaciej> if it wasn't a Google product that would probably be considered malware [02:00:03.0000] <zewt> i consider it malware anyway :) [02:01:00.0000] <zewt> malware I'm marginally less worried about exploding my system, but nonetheless [02:01:01.0000] <hsivonen> othermaciej: Google installs the above-mentioned Google Update plug-in when you install Chrome. Apple installs the QuickTime Plug-in if you install a fully-functional version of Safari (QuickTime is required for fully-functional Safari), if you install something that requires Microsoft Genuine Advantage Validation, you end up with a Microsoft plug-in in Firefox while doing something that isn't obviously about installing stuff into Firefox [02:02:00.0000] <hsivonen> othermaciej: I think the Google Update plug-in doesn't involve meaningful consent [02:03:00.0000] <othermaciej> The QuickTime plugin is mainly bundled for Safari's actual use [02:03:01.0000] <othermaciej> though I suppose we could go out of our way to keep other browsers from finding it, but that would be weird [02:03:02.0000] <othermaciej> Apple's not really pushing QuickTime plugin as a way to deliver video so who knows what will happen in the future [02:03:03.0000] <hsivonen> othermaciej: to make <video> work in Safari, you need to install QuickTime. And as a side effect, Apple puts code into other browsers on the system, too [02:04:00.0000] <othermaciej> making <video> work in Safari for Windows is bundled with making QuickTime plugin content work in Safari for Windows [02:04:01.0000] <othermaciej> which also happens to make it work in other browsers [02:05:00.0000] <othermaciej> (on Mac of course all three of Safari, Safari's ability to play <video> content, and the QuickTime plugin, are bundled with the OS) [02:06:00.0000] <hsivonen> othermaciej: aren't there two QuickTime plug-ins on Mac? [02:06:01.0000] <hsivonen> othermaciej: one for Safari and another for other browsers? [02:06:02.0000] <abarth> hsivonen: what's the name of the plugin that chrome installs? [02:06:03.0000] <abarth> Google Update ? [02:07:00.0000] <othermaciej> hsivonen: there used to be, but that is no longer true [02:07:01.0000] <zewt> yeah that's what's in my FF install [02:07:02.0000] <zewt> (which I assume is from Chrome; the only other Google stuff I have installed is Android dev tools) [02:07:03.0000] <hsivonen> abarth: that's what zewt said above. I don't have a Windows VM running to confirm the name right now, but I've seen it myself, too [02:07:04.0000] <othermaciej> we are de-emphasizing WebKit-specific plugins and in fact they no longer work in Safari 5.1 [02:07:05.0000] <othermaciej> since there was no sane way to make them work with multiprocess [02:07:06.0000] <abarth> ah, the pack thing [02:07:07.0000] <abarth> http://www.google.com/support/pack/bin/answer.py?answer=30252 [02:08:00.0000] <hsivonen> abarth: I got it without ever trying to install a "Pack" [02:08:01.0000] <othermaciej> at least since SnowLeopard there has been only one QuickTime plug-in [02:08:02.0000] <hsivonen> othermaciej: oh. ok [02:09:00.0000] <hsivonen> so Safari 5.1 will break Click-to-Flash? [02:10:00.0000] <abarth> hsivonen: this the problem with arbitrary code [02:10:01.0000] <abarth> hsivonen: its hard to stop people from dumping junk in places it doesn't belong [02:10:02.0000] <othermaciej> it won't break the Click-to-Flash Safari extension [02:10:03.0000] <othermaciej> I don't know if the plugin-based version is still active [02:11:00.0000] <hsivonen> I was unaware that Click-to-Flash had migrated into an extension [02:12:00.0000] <abarth> i wonder if there's some pseudo technical solution whereby you require some kind of on-disk assertion claim that the user actively consented to the install [02:12:01.0000] <othermaciej> the plugin-based version looks like it hasn't been touched in a year or two and there is indeed an extension, though not by the same person [02:12:02.0000] <abarth> and then people who forged that would look silly and get bad PR [02:13:00.0000] <othermaciej> the only way to really solve this problem is to limit software installs to a curated walled garden, and sandbox the hell out of everything [02:13:01.0000] <abarth> :) [02:13:02.0000] <othermaciej> not to say there aren't arguable downsides to that approach [02:13:03.0000] <othermaciej> but seriously [02:13:04.0000] <zewt> it's discouraging that Google is setting such a bad example, though, which makes everyone else go "Google does it, so it's okay!" [02:14:00.0000] <abarth> yep :( [02:15:00.0000] <othermaciej> I wonder if it is on purpose or a side effect [02:15:01.0000] <othermaciej> when Microsoft products install an plugin picked up by Firefox, that's clearly not just a side effect of doing it for IE [02:16:00.0000] <abarth> i suspect the plugin is useful for pack [02:16:01.0000] <abarth> i don't know whether the install is intentional for non-pack installs [02:16:02.0000] <abarth> its the thing that manages which pieces of pack you've got installed [02:19:00.0000] <hsivonen> Google Update seems to enable special powers on google.com. Is there any way to find out how well in locks itself to google.com to prevent random sites from exercising the special powers? [02:19:01.0000] <hsivonen> likewise for Genuine Advantage Validation [02:20:00.0000] <hsivonen> it's also about giving special powers to Microsoft sites and isn't meant to be used by random third parties [02:20:01.0000] <abarth> hsivonen: there's no good way in NPAPI to figure out what site you're on [02:20:02.0000] <abarth> so folks copy the hack that Flash uses [02:20:03.0000] <hsivonen> in principle, the QuickTime plug-in is general purpose, but in practice, it too is in practice used for apple.com only these days :-) [02:21:00.0000] <abarth> if you don't copy the hack precisely correctly, you run into security trouble [02:21:01.0000] <othermaciej> is Google Update limit itself to SSL google.com? [02:21:02.0000] <hsivonen> s/in practice// [02:21:03.0000] <abarth> one hopes! [02:21:04.0000] <abarth> even then there are problems [02:21:05.0000] <abarth> if you assume users click through certificate errors [02:21:06.0000] <hsivonen> abarth: what's the hack? [02:21:07.0000] <abarth> i suspect it verifies the signature on binaries [02:21:08.0000] <othermaciej> I don't think apple.com uses the QuickTime plug-in much [02:22:00.0000] <abarth> since that's how omaha works [02:22:01.0000] <othermaciej> almost all video content I know of on apple.com is <video> [02:22:02.0000] <hsivonen> othermaciej: for Safari, yes [02:22:03.0000] <abarth> hsivonen: using a JavaScript URL to read the value of window.location.href [02:22:04.0000] <hsivonen> othermaciej: for other browsers, no [02:22:05.0000] <hsivonen> abarth: scary [02:22:06.0000] <abarth> yes, it doesn't actually work [02:22:07.0000] <abarth> except that we've made it work by brute force [02:23:00.0000] <abarth> we need a real NPAPI for getting this information [02:23:01.0000] <abarth> Peleus is supposed to propose something on plugin-futures [02:24:00.0000] <abarth> but I think he's been buried recently with flash security issues [02:24:01.0000] <hsivonen> if Apple.com was a normal H.264 site, it would use Flash Player instead of QuickTime Plug-in :-) [02:41:00.0000] <asmodai> *groan* http://arstechnica.com/apple/news/2011/06/ny-post-blocks-access-to-its-website-on-ipads-to-drive-app-purchases.ars [02:48:00.0000] <hsivonen> asmodai: that's not good. rumor has it that similar things have happened on Android, too [02:48:01.0000] <hsivonen> why aren't they doing the same to Windows? [02:48:02.0000] <hsivonen> (yes, I know there's no App Store on Windows) [02:49:00.0000] <laxminarayan> hi .. was readign the first paragraph, and was wondering why HTML (or any other) spec version numbers cant be like version numbers of many open source softwares? Odd ones unstable, and even ones stable [02:49:01.0000] <laxminarayan> http://diveintohtml5.org/past.html [02:56:00.0000] <hsivonen> laxminarayan: stable releases of specs are obsolete upon publication [02:58:00.0000] <MikeSmith> so if ICANN creates, say, a .js TLD, who gets to own that TLD? [02:59:00.0000] <MikeSmith> or .app [02:59:01.0000] <MikeSmith> or whatever else [02:59:02.0000] <zcorpan> i guess pubsuffix will need to list TLDs now as well [03:00:00.0000] <zcorpan> uh, or maybe not [03:00:01.0000] <jgraham> MikeSmith: You do [03:00:02.0000] <jgraham> We asked ICANN specially [03:00:03.0000] <hsivonen> MikeSmith: I'd expect the ownership to be about money. Why else would they create more TLDs? [03:01:00.0000] <jgraham> And they said, "yeah he's that guy, isn't he? Sure thing!" [03:01:01.0000] <MikeSmith> eh [03:01:02.0000] <MikeSmith> heh [03:01:03.0000] <asmodai> hsivonen: the open web is really threated by such moves :( [03:02:00.0000] <MikeSmith> jgraham: as long as the cash goes in my pocket instead of the other way around [03:02:01.0000] <MikeSmith> hsivonen: yeah, around $185,000 USD apparently [03:02:02.0000] <asmodai> I wonder how this tradename TLD stuff will work out in the end. I mean, all fun to have .apple and be able to do http://apple/ or http://store.apple/ - kind of reminds of keywords in the CompuServe days [03:02:03.0000] <asmodai> MikeSmith: And EUR 17000 a year [03:02:04.0000] <asmodai> so, USD 19000 or so? [03:02:05.0000] <MikeSmith> geez [03:03:00.0000] <zcorpan> app.store [03:03:01.0000] <asmodai> zcorpan: Heh [03:03:02.0000] <MikeSmith> Joyent seems to like Javascript, and has money [03:03:03.0000] <asmodai> zcorpan: I can see the lawsuits starting. [03:03:04.0000] <jgraham> I'm surprised they're not doing it by auction [03:04:00.0000] <hsivonen> who gets to pocket the $185K? [03:04:01.0000] <zcorpan> is there a length limit on TLDs? [03:04:02.0000] <jgraham> Presumably .sex and .apple will be more valuable than .quuz [03:05:00.0000] <MikeSmith_> hsivonen: dunno who gets the money. I guess I assumed it went to ICAAN [03:05:01.0000] <MikeSmith_> or ISOC [03:07:00.0000] <hsivonen> does ISOC like gratuitous TLDs now? [03:07:01.0000] <zcorpan> who gets the money? [03:07:02.0000] <zcorpan> every dollar of it. [03:07:03.0000] <asmodai> first they're bitching for years about xxx [03:07:04.0000] <MikeSmith_> I guess ISOC probably likes it better if they are the ones getting money for it instead of somebody else [03:08:00.0000] <MikeSmith> asmodai: I guess once the went xxx they had to go full-absurd and permit whatever else [03:10:00.0000] <asmodai> heh [03:11:00.0000] <zcorpan> interesting that there were 16 people who voted about this change [03:11:01.0000] <hsivonen> why do email apps have to suck this much [03:12:00.0000] <foolip> zcorpan, yes, we'd fire canplaythrough again for example if you play through to the end and then seek back to the middle [03:12:01.0000] <zcorpan> foolip: ok. then we're compliant :) [03:16:00.0000] <zcorpan> <http://www.w3.org/mid/E6F26D0D-5F1D-4E4F-9793-DC93D4EBCFF5⊙nc> - yes, let's have flamewars about who can and can't be Editorial Assistants [03:19:00.0000] <asmodai> So I decided to use Google's HTML5 video support yesterday. Not entirely sure if I like the current lack of full screen mode. Sucks when using 2+ monitors to watch livestreams on 1, you lose some screen estate due to the browser window. [03:19:01.0000] <asmodai> I understand the security concerns though. [03:25:00.0000] <othermaciej> there is no real security issue with video fullscreen [03:25:01.0000] <nessy> it's in the process of getting implemented FAIK [03:26:00.0000] <othermaciej> YouTube uses full-window in HTML5 mode instead of fullscreen because they want custom controls [03:26:01.0000] <othermaciej> Safari 5.1 enables fullscreen video with custom controls so hopefully they will adopt that (I think Vimeo already has) [03:30:00.0000] <asmodai> That's odd, when I searched on this the reason cited was security concerns with full screen ads taking over in a programmatic way. [03:32:00.0000] <asmodai> http://stackoverflow.com/questions/1055214/is-there-a-way-to-make-html5-video-fullscreen [03:33:00.0000] <jgraham> zcorpan: Would make a nice change from flamewars about who should be allowed to have an opinion in flamewars about accessibility [03:34:00.0000] <asmodai> rofl [03:47:00.0000] <zewt> othermaciej: well, hopefully nobody will adopt a fullscreen api that's *specific* to video... [03:48:00.0000] <othermaciej> Safari used to have one that was specific to video, we are now adding one that is generic to any element [03:48:01.0000] <zewt> (that would just delay a real API) [03:48:02.0000] <othermaciej> (in the just-released Safari developer preview) [03:48:03.0000] <zewt> (i'm always nervous at deployed half-measures, for that reason) [03:50:00.0000] <hsivonen> othermaciej: what mechanism will Safari 5.1 use for enabling custom controls for full screen video? [03:50:01.0000] <othermaciej> hsivonen: our implementation of the Mozilla-proposed fullscreen API [03:51:00.0000] <othermaciej> which really should be turned into a real spec and maybe I'll try to get someone at Apple to do that [03:51:01.0000] <othermaciej> we found many issues with the original design while implementing, some not yet fixed in our implementation [03:51:02.0000] <othermaciej> we are shipping it webkit-prefixed [03:51:03.0000] <hsivonen> othermaciej: it's nice that you went with roc's proposal [03:52:00.0000] <hsivonen> thanks [03:52:01.0000] <othermaciej> MikeSmith: is it written down anywhere that Chairs appoint editors? [03:52:02.0000] <othermaciej> hsivonen: well, there's a lot of stuff that needs to be fixed in it but we ran out of time [03:52:03.0000] <othermaciej> fortunately what we shipped is prefixed [03:52:04.0000] <MikeSmith> othermaciej: dunno, will take a look [03:52:05.0000] <othermaciej> however I doubt we will be able to stop video sites from using it [03:53:00.0000] <othermaciej> MikeSmith: I couldn't find anything to that effect (or indeed any mention of editors) in the W3C Process Document [03:53:01.0000] <othermaciej> ah, found it [03:53:02.0000] <othermaciej> "Every technical report published as part of the technical report development process is edited by one or more editors appointed by a Working Group Chair. " [03:53:03.0000] <MikeSmith> ok [03:55:00.0000] <MikeSmith> so it seems pretty clear the editorial appointments are at the discretion of the chairs [03:55:01.0000] <MikeSmith> if you want, I can talk to plh about this [03:56:00.0000] <othermaciej> no need [03:56:01.0000] <MikeSmith> and if he agrees and you think it'd help, I can ask him to post a message to the thread on public-html confirming that [03:56:02.0000] <MikeSmith> OK [03:57:00.0000] <othermaciej> I was just looking for a cite for Mark Watson, and I couldn't find one at first, which made me wonder if this wasn't written down anywhere [03:57:01.0000] <MikeSmith> I would post a message myself confirming it, but that I don't think that would carry a whole lot of weight in this group [03:57:02.0000] <MikeSmith> OK [03:57:03.0000] <MikeSmith> I hope that will satisfy Mark's question [04:03:00.0000] <MikeSmith> hmm, gerv is listed as one of the owners of the BugMail.pm code [04:04:00.0000] <MikeSmith> I wonder if he actually still has time to work on it actively at all [04:04:01.0000] <MikeSmith> would be nice to get his feedback about how to improve the plain-text output to remove that ascii-table-layout stuff [04:15:00.0000] <annevk> hmm [04:15:01.0000] <annevk> will have to see if I get to a WHATWG Weekly today [04:16:00.0000] <annevk> if I do it will likely be vastly incomplete, but I guess that is unavoidable anyway [04:22:00.0000] <annevk> Inbox 1337 [04:33:00.0000] <annevk> a shit [04:33:01.0000] <annevk> CORS is moving into some other WG [04:33:02.0000] <annevk> http://www.w3.org/2010/07/appsecwg-charter [04:33:03.0000] <annevk> I guess I knew that already [04:35:00.0000] <hsivonen> hmm. isn't moving security to a different group like putting a11y or i18n in a dedicated group? [04:35:01.0000] <hsivonen> whoa. is UMP still alive? [04:41:00.0000] <annevk> hsivonen, it does not strike me as a good idea [04:41:01.0000] <annevk> hsivonen, I think at some point Hixie and I might end up merging "fetch" and CORS [04:49:00.0000] <hsivonen> is there a spec that says what createDocument().readyState must return? [04:49:01.0000] <annevk> HTML5 should define that [04:50:00.0000] <othermaciej> "Deliverables under this work item will be published as joint deliverables with the Web Applications Working Group." [04:51:00.0000] <othermaciej> not sure what the value of that is [04:51:01.0000] <othermaciej> not to mention it seems this would require an update of the Web Apps charter [04:51:02.0000] <hsivonen> othermaciej: at least RDFa being done as a joint venture between the XHTML2 WG and a SemWeb group was considered to be of value [04:52:00.0000] <othermaciej> hsivonen: are you trolling me? [04:52:01.0000] <hsivonen> othermaciej: whenever someone says RDFa was done by the XHTML2 WG, there's someone else reminding that it was a joint venture [04:52:02.0000] <othermaciej> (I can't tell) [04:52:03.0000] <hsivonen> othermaciej: I'm not. just making an observation about the previous joint venture I'm aware of [05:01:00.0000] <MikeSmith> annevk: now that the Web Notifications WG chair is back, I think he should please do some lobbying to get Notifications support into more browser engines [05:02:00.0000] <MikeSmith> e.g., Opera for one [05:02:01.0000] <MikeSmith> http://caniuse.com/#search=notifications don't look so nice [05:03:00.0000] <annevk> hsivonen, it should return "complete" per HTML5 [05:04:00.0000] <smaug____> MikeSmith: I should kick dougt to implement those in Fx. [05:04:01.0000] <hsivonen> annevk: but why? [05:04:02.0000] <hsivonen> annevk: readyState is an IE API originally and IE says uninitialized [05:05:00.0000] <smaug____> MikeSmith: did the other notification API disappear. The not-so-good which allowed url loading? [05:05:01.0000] <annevk> hsivonen, I'm just telling you what the spec says [05:05:02.0000] <hsivonen> annevk: ok [05:05:03.0000] <MikeSmith> smaug____: yes, please do get dougt attention on it [05:05:04.0000] <smaug____> ah, it is still here http://dev.w3.org/2006/webapi/WebNotifications/publish/WebNotifications.html [05:05:05.0000] <MikeSmith> yeah [05:05:06.0000] <annevk> hsivonen, it does make more sense to me than uninitialized though if this is about loading primarily [05:05:07.0000] <annevk> hsivonen, well, readyness [05:05:08.0000] <hsivonen> annevk: see topic [05:05:09.0000] <smaug____> MikeSmith: I assume you mean http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html [05:06:00.0000] <smaug____> MikeSmith: I mean, you want that to be implemented [05:06:01.0000] <MikeSmith> smaug____: yep [05:06:02.0000] <hsivonen> /me is unhappy about stuff like this arbitrarily getting made logical [05:06:03.0000] <MikeSmith> smaug____: Chrome's the only app so far that supports any of it [05:06:04.0000] <smaug____> Mobile Fx should have some support [05:06:05.0000] <MikeSmith> and it does support the URL part [05:07:00.0000] <MikeSmith> ok [05:07:01.0000] <jgraham> /me is not very happy about the URL part [05:07:02.0000] <MikeSmith> I'm curious how this will end up being implemented on mobile platforms [05:08:00.0000] <jgraham> I think text-only notifications are the right first step [05:08:01.0000] <smaug____> I agree [05:08:02.0000] <MikeSmith> I don't know what kind of useful notification mechanisms most mobile OSes/platforms have these days [05:08:03.0000] <MikeSmith> I can't remember who it was that was keen on the URL part [05:08:04.0000] <MikeSmith> maybe it was just the editor :) [05:08:05.0000] <jgraham> Google [05:09:00.0000] <MikeSmith> I think there are some even on the Chrome team that weren't so keen on it [05:09:01.0000] <jgraham> Well yes, I don't expect total internal harmony [05:09:02.0000] <jgraham> On anything really [05:10:00.0000] <MikeSmith> in other news, I'm wondering if caniuse.com exposes any kind of API that would be useful for integration into other sites [05:10:01.0000] <MikeSmith> e.g., we could use it annotate the spec with stability annotations [05:10:02.0000] <annevk> I believe WebOS has something like it [05:10:03.0000] <smaug____> MikeSmith: does Chrome implement notification API using webkit or chrome prefix? [05:11:00.0000] <hsivonen> the URL-based notification stuff was a done deal for Chrome, so of course it's part of HTML5 and the Web [05:11:01.0000] <MikeSmith> smaug____: webkit-* I think [05:11:02.0000] <MikeSmith> hsivonen: maybe the chair should put some thought into that [05:12:00.0000] <hsivonen> /me is still grumpy about how Chrome Notifications were announced as HTML5 Notifications [05:12:01.0000] <MikeSmith> well, we have a real spec for it now [05:12:02.0000] <MikeSmith> so that's all water under the bridge [05:13:00.0000] <MikeSmith> along with a lot of other such water [05:13:01.0000] <jgraham> /me is still grumpy [05:13:02.0000] <MikeSmith> waiting to resurface and drown us all eventually [05:13:03.0000] <jgraham> Just in general [05:13:04.0000] <MikeSmith> i'm mostly just trying to give annevk a hard time [05:13:05.0000] <smaug____> hsivonen: Google did the same with HTML Speech. "Chrome implements HTML5 Speech API" (although there isn't such thing) [05:14:00.0000] <hsivonen> smaug____: yeah, that, too [05:14:01.0000] <jgraham> MikeSmith: Since he has been buming around for months, he deserves it :) [05:14:02.0000] <hsivonen> maybe Mozilla should have branded the Firefox Audio API as the HTML5 Audio API [05:15:00.0000] <MikeSmith> the world seems more right now that annevk is back at work [05:16:00.0000] <annevk> feels kind of odd still to be back at work [05:16:01.0000] <MikeSmith> /me joins #bugzilla on irc.mozilla.org in anticipation of hoping to get some a11y changes made upstream [05:16:02.0000] <smaug____> annevk: hope you had a great vacation [05:16:03.0000] <jgraham> You anticipate hoping to get them made? Do you also anticipate getting them made? [05:17:00.0000] <jgraham> :) [05:17:01.0000] <MikeSmith> jgraham: yes (to one of those questions) [05:31:00.0000] <MikeSmith> great [05:32:00.0000] <MikeSmith> so glob just marked my bugzilla enhancement request as a simple duplicate of another bug [05:32:01.0000] <annevk> http://www.contextis.com/resources/blog/webgl2/ [05:32:02.0000] <MikeSmith> except that bug actually has nothing at all to do with the request I'm making [05:32:03.0000] <MikeSmith> annevk: yeah :( [05:33:00.0000] <MikeSmith> hopefully we can get those problems fixed [05:34:00.0000] <MikeSmith> annevk: but as you may have seen (or will see as you get through e-mail backlog), the problems described there are not necessarily unique to WebGL [05:34:01.0000] <MikeSmith> but general problems that any API that reaches down into graphics-cards innards is going to run into [05:34:02.0000] <MikeSmith> or has already run into and not actually fixed yet either [05:35:00.0000] <hsivonen> annevk: https://twitter.com/#!/m_bitsnbites/status/82716250001772544 [05:36:00.0000] <MikeSmith> jesus, are there actually a lot of programs that are hard-coded to parse that table-layout stuff in bugzilla e-mail notifications [05:37:00.0000] <MikeSmith> if so, well, what a sad state of affairs that is [05:37:01.0000] <heycam> MikeSmith, maybe you can make it send an text/html part? [05:37:02.0000] <MikeSmith> heycam: that is actually what bugzilla 4.2 is going to do [05:37:03.0000] <MikeSmith> but that's not a fix [05:38:00.0000] <MikeSmith> it's great to have an alternative [05:38:01.0000] <MikeSmith> but there are plenty of people who still use the plain-text stuff and want it to actually be readable [05:38:02.0000] <MikeSmith> e.g., Janina uses mutt [05:38:03.0000] <heycam> hey, I use mutt [05:38:04.0000] <heycam> :) [05:38:05.0000] <MikeSmith> I do too :) [05:40:00.0000] <heycam> curses-based applications probably aren't great for blind users, admittedly [05:40:01.0000] <MikeSmith> well, Janina seems to be able to work with it pretty well in spite of that [05:41:00.0000] <heycam> interesting [05:41:01.0000] <MikeSmith> and she does for a lot of other stuff too that most people would wonder how a non-sighted user could ever deal with it [05:42:00.0000] <MikeSmith> anyway, it ain't too call to tell Janina she can't get screenreader-readable plain-text notifications from bugzilla because too bad sorry there are so many programs that rely on the parsing the current fecking table-layout formatting that was a misguided idea to begin with [05:42:01.0000] <heycam> yeah, that sucks [05:42:02.0000] <heycam> I wonder, if using a curses-based interfaces, if there is really any better way to aurally presents tables, though [05:43:00.0000] <MikeSmith> point is, there is absolutely no reason why it needs to be presented in a (pseudo) table format anyway [05:43:01.0000] <MikeSmith> it could just be a list [05:43:02.0000] <heycam> oh, true [05:43:03.0000] <MikeSmith> yeah, it's more redundant [05:43:04.0000] <MikeSmith> and less purty [05:44:00.0000] <heycam> (the purtyness is debatable) [05:44:01.0000] <MikeSmith> yeah [05:44:02.0000] <MikeSmith> and anyway, who the fuck cares how purty the bugzilla e-mail notifications they get are [05:45:00.0000] <MikeSmith> I feel the need for a j break coming on [05:45:01.0000] <MikeSmith> calming effects of green tea alone are not powerful enough for this case [05:51:00.0000] <annevk> Hixie, btw, very much in favor of merging HTML and WA 1.0 [05:59:00.0000] <hsivonen> http://lists.w3.org/Archives/Public/public-lod/2011Jun/0082.html [06:03:00.0000] <hsivonen> http://lists.w3.org/Archives/Public/public-lod/2011Jun/0269.html [06:09:00.0000] <annevk> sweet [06:10:00.0000] <annevk> I like that guy [06:10:01.0000] <annevk> he was once at a HTML WG meeting too, very practical and straightforward [06:14:00.0000] <asmodai> annevk: well formulated answer/point [06:14:01.0000] <asmodai> annevk: Working for a university atm I totally recognize the NIH mentality [06:14:02.0000] <asmodai> and the "not looking beyond academic application" part [06:23:00.0000] <gsnedders> annevk: Yeah, he's very awesome. Esp. talking about academia in such terms while being a researcher (at Edinburgh). [06:39:00.0000] <annevk> anyone care to quickly login to the blog and review my draft? [06:40:00.0000] <annevk> gonna publish in a few minutes otherwise [06:44:00.0000] <hsivonen> annevk: looking at your draft [06:45:00.0000] <hsivonen> annevk: looks ok [06:46:00.0000] <annevk> cool, I guess if people point out a bunch of stuff I missed I can do another one on Thursday or so [07:02:00.0000] <annevk> Is anyone going to send in Last Call comments for DOM Level 3 Events? [07:18:00.0000] <annevk> Inbox <1000 [07:22:00.0000] <asmodai> lol, on twitter: ICANN haz .cheezburger? [07:25:00.0000] <annevk> hahaha [07:27:00.0000] <annevk> I raised DOM Level 3 Events issues and never got a personal reply... [09:45:00.0000] <karlcow> https://docs.google.com/present/view?id=dd4bk538_182f55p5x3f [09:46:00.0000] <karlcow> All About EVE Extensibility, Versioning, Evolvabiility, etc. thru Modifiability Mike Amundsen [09:49:00.0000] <AryehGregor> Nice, this Flash form I'm filling out (which would have been dead simple to do in HTML+JS, doesn't use any special Flash features) doesn't support RTL properly. [09:49:01.0000] <AryehGregor> I'd have thought Flash would be less incompetent than that. [09:51:00.0000] <AryehGregor> Plus, somehow it doesn't work in Chrome, but does in Firefox. [09:51:01.0000] <AryehGregor> Write once run everywhere, huh? [09:53:00.0000] <hsivonen> karlcow: that slide set has the highest concentration of Fielding quotes I've ever seen on a slide set [09:57:00.0000] <jgraham> It looks less like a presentation and more like a sermon from the Gospel according to Roy [11:45:00.0000] <AryehGregor> Ugh, some browsers seem to have magic rendering rules for contenteditable. [11:46:00.0000] <AryehGregor> Especially IE, but I just found one in WebKit too -- &nbsp; behaves differently. [11:46:01.0000] <AryehGregor> (It seems to provide a breaking opportunity, but not collapse.) [11:48:00.0000] <TabAtkins> &nbsp; provides a breaking opportunity in contenteditable? [11:49:00.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1041 [11:49:01.0000] <AryehGregor> Try removing "contenteditable" and you'll see it changes. [11:49:02.0000] <TabAtkins> Wow. [11:49:03.0000] <AryehGregor> In Chrome 14 dev. [11:49:04.0000] <TabAtkins> That's retarded. [11:49:05.0000] <AryehGregor> Well, it makes some sense if you look at how and why nbsp's are inserted in contenteditable. [11:50:00.0000] <AryehGregor> For instance, if you have <b>foo</b>bar with your cursor between "foo" and "bar", and hit space, WebKit will insert nbsp when it should insert a space. [11:50:01.0000] <AryehGregor> So it looks like an extra bug added to work around other bugs. [11:50:02.0000] <AryehGregor> That's my guess, anyway. [11:50:03.0000] <TabAtkins> So, still retarded. [11:51:00.0000] <AryehGregor> Well, yeah. But I'm not even going to try defining when something should be nbsp and when it should be space -- it's way too complicated if you don't have access to the CSS line boxes. [11:51:01.0000] <AryehGregor> Which WebKit maybe does, so maybe should do better than me. [11:51:02.0000] <AryehGregor> Maybe I'll just have to define something I can't properly add to my JavaScript implementation. [11:56:00.0000] <AryehGregor> Gecko is even crazier. A regular space at the end of a line doesn't collapse, in contenteditable. [11:57:00.0000] <AryehGregor> I don't know why it doesn't just insert nbsp like everyone else. [11:57:01.0000] <AryehGregor> IE is like Gecko. [12:21:00.0000] <AryehGregor> Why is a string index a valid lval if assigning to it doesn't work? I mean, if s is a string, you can do s[0] = "x", but it doesn't actually change s, so why doesn't it throw? [12:22:00.0000] <Ms2ger> What about in strict mode? [12:22:01.0000] <AryehGregor> Bingo. [12:22:02.0000] <AryehGregor> Another reason to always use strict mode. [13:04:00.0000] <gsnedders> AryehGregor: If you can reference something, you can assign to it without throwing. [13:04:01.0000] <AryehGregor> gsnedders, what does "reference" mean? [13:05:00.0000] <AryehGregor> 1 = 0 throws, right? [13:05:01.0000] <gsnedders> AryehGregor: 1 isn't a reference [13:05:02.0000] <AryehGregor> What's a reference, then? [13:05:03.0000] <AryehGregor> /me has to read ES someday [13:07:00.0000] <gsnedders> AryehGregor: A reference is a resolved binding of some type, roughly [13:37:00.0000] <Hixie> hsivonen: my rule of thumb is "would including this in new pages waste people's time" [13:48:00.0000] <hsivonen> Hixie: "no" in the yandex case [13:48:01.0000] <Ms2ger> Whose time? :) [13:49:00.0000] <Hixie> hsivonen: then the conformance checker should ok it [13:50:00.0000] <Philip`> I thought all these verification meta things were only meant to be added to your page for a few minutes until the search engine has successfully verified it and then they can be removed, but everyone seems to leave them there forever [13:50:01.0000] <Hixie> hsivonen: how we justify that is somewhat academic, whether we use some process to argue for it or whether we just say "yup, this one isn't following the process but oh well!" is not particularly important [14:13:00.0000] <AryehGregor> Okay, so it turns out nbsp's are a total, complete mess. [14:13:01.0000] <AryehGregor> Because they conflate non-collapsing with non-breaking. [14:13:02.0000] <AryehGregor> We really only want non-collapsing for the contenteditable case. [14:13:03.0000] <AryehGregor> But we get non-breaking too, which has all sorts of nasty side-effects. [14:14:00.0000] <TabAtkins> Yes. [14:14:01.0000] <TabAtkins> Blame early browsers. [14:14:02.0000] <TabAtkins> (For adding the non-collapsing functionality to them.) [14:17:00.0000] <AryehGregor> Observed behavior in OO.org and Word: typing "foo" then lots of spaces then "bar" always ends up with "foo" at the start of a visible line and then "bar" at the start of the next visible line. [14:18:00.0000] <AryehGregor> WebKit behaves that way for contenteditable, because it magically treats nbsp as breakable but non-collapsing. [14:18:01.0000] <AryehGregor> But then it will break as soon as you make it non-contenteditable, of course. [14:18:02.0000] <AryehGregor> Gecko, Opera, and IE all behave in a totally different and much weirder way. [14:18:03.0000] <AryehGregor> (from the user perspective) [14:19:00.0000] <AryehGregor> As does WebKit once you remove contenteditable. [14:19:01.0000] <TabAtkins> Shorter: editing is still totally fucked up. [14:19:02.0000] <zewt> even gmail's editor is obnoxiously broken, and most homebrew ones are just unusable [14:20:00.0000] <AryehGregor> Unicode doesn't even have a space character that has the desired semantics. [14:20:01.0000] <AryehGregor> Well, because collapsing is an HTML thing, I guess. [14:22:00.0000] <AryehGregor> I notice that setting white-space: pre-wrap on the contenteditable region achieves the desired effect in all browsers, more or less. [14:22:01.0000] <AryehGregor> Hmm. [14:27:00.0000] <AryehGregor> So here's a fun thing: if you type a word and it's just long enough to reach the right edge of where you're typing, then you hit space, that inserts an nbsp, so it should actually move the word to the next line. Then it should jump back as soon as you type the next letter, which converts it to a regular space. [14:27:01.0000] <AryehGregor> This actually happens in Opera, but evidently all other browsers cheat somehow, because it doesn't happen for them. [14:28:00.0000] <AryehGregor> Even though if you add an actual &nbsp; to the source, it does happen in IE and Gecko (but WebKit cheats more outrageously, so it doesn't). [14:28:01.0000] <AryehGregor> SIGH. [14:37:00.0000] <AryehGregor> You know, I'm strongly tempted to tell UAs to add [contenteditable] { white-space: pre-wrap } to their UA stylesheets and then drop all this nbsp nonsense. [14:37:01.0000] <AryehGregor> It would make things so much simpler. [14:37:02.0000] <AryehGregor> /me writes a mail [15:05:00.0000] <AryehGregor> Sent. [15:09:00.0000] <mpilgrim> heycam|away: https://bugs.webkit.org/show_bug.cgi?id=63011 aligns WebKit with WebIDL to throw TypeError instead of SyntaxError on not enough arguments [15:10:00.0000] <mpilgrim> heycam|away: after that lands, i can start fixing IndexedDB, and the new strictness will no longer be theoretical! [15:20:00.0000] <jamesr> ncsp? [15:21:00.0000] <AryehGregor> ? [15:22:00.0000] <heycam> mpilgrim, awesome! [15:25:00.0000] <jamesr> AryehGregor: non-collapsing space [15:25:01.0000] <jamesr> to go with non-breaking space [15:26:00.0000] <AryehGregor> Which maps to what Unicode character, given that Unicode doesn't know about whitespace collapsing? [15:26:01.0000] <jamesr> 7! [15:27:00.0000] <AryehGregor> If authors were allowed to insert U+0007 into pages and have it work, I think users would be unhappy. [15:29:00.0000] <jamesr> i don't have any serious suggestions, but it seems that if unicode can have a pile of poo character it can have just about anything [15:31:00.0000] <jamesr> is U+0007 bell? [15:32:00.0000] <jamesr> <blink>U+0007</blink> [15:34:00.0000] <zewt> jamesr: heh, well more seriously, adding new characters with special rendering semantics is a whole different beast than adding a dumb poop glyph [15:47:00.0000] <annevk> "We still believe that most sighted keyboard only users can't or don't [15:47:01.0000] <annevk> know how to activate @longdesc but here it's where new Authoring Tools [15:47:02.0000] <annevk> and User Agents Accessibility Guidelines should help filling the gap. " [15:47:03.0000] <annevk> oh please tools, save us now! [15:47:04.0000] <Dashiva> Just wait, longdesc will be the best legacy feature ever after a few more years of development [15:48:00.0000] <annevk> I think it's the only attribute with its own twitter account, that alone should be enough, no? [15:49:00.0000] <Dashiva> That's super accessible [15:50:00.0000] <Dashiva> You can access it both in your browser and with your mobile device [15:50:01.0000] <zewt> there's some irony in something called "longdesc" having its own account on a service notoriously incapable of describing anything long [16:26:00.0000] <Philip`> zewt: Seems quite appropriate, because in both cases you give a URL to the long content [16:43:00.0000] <annevk> maybe DOM Core should also do document.contentType if we do charset et al [16:48:00.0000] <Yuhong> http://www.reddit.com/r/programming/comments/cm02a/you_cant_parse_html_with_regular_expressions/c0tje4z [16:48:01.0000] <Yuhong> "The rules for parsing HTML have evolved into something quite horrific." [16:48:02.0000] <Yuhong> And it certainly don't help that browsers over time have parsed HTML in different ways. [16:49:00.0000] <Yuhong> For example, Mosaic treated tags as commands. For example, <li> outside <ol> would always result in a bullet. [16:51:00.0000] <Hixie> Yuhong: still does! [16:51:01.0000] <AryehGregor> <li> outside -- yeah. [16:51:02.0000] <AryehGregor> Was about to say. [16:52:00.0000] <Yuhong> In quirks mode for compatiblity. IE9 and Mozilla no longer does it in standards mode. [16:52:01.0000] <AryehGregor> orly? [16:52:02.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cli%3Ehi [16:53:00.0000] <Hixie> if they don't then they're violating the spec :-) [16:53:01.0000] <Philip`> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!doctype%20html%3E%3Cli%3Ehi [16:53:02.0000] <AryehGregor> You said quirks mode, so you can also do standards mode if you like: http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!doctype%20html%3E%3Cli%3Ehi [16:53:03.0000] <AryehGregor> Same result. [16:53:04.0000] <Philip`> I get no bullet point for the latter, in FF 4.0.1 [16:54:00.0000] <AryehGregor> Oh. [16:54:01.0000] <AryehGregor> Nor do I. [16:54:02.0000] <Philip`> (There's still an li DOM node, it's just not styled) [16:54:03.0000] <Yuhong> Nor do I either. [16:54:04.0000] <AryehGregor> That seems evil. [16:54:05.0000] <AryehGregor> How could that be? [16:54:06.0000] <AryehGregor> It's display: list-item. [16:54:07.0000] <AryehGregor> Sounds like a Firefox bug. [16:54:08.0000] <Hixie> yeah you do [16:54:09.0000] <Hixie> it's just off the side of the screen [16:54:10.0000] <Hixie> add some margins [16:54:11.0000] <AryehGregor> Ah. [16:55:00.0000] <AryehGregor> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!doctype%20html%3E%3Cli%20style%3Dmargin-left%3A1em%3Ehi [16:55:01.0000] <AryehGregor> There you go. [16:55:02.0000] <AryehGregor> It seems like quirks mode triggers list-style-type: inside. [16:55:03.0000] <Hixie> it's a list-style-position issue iirc [16:55:04.0000] <AryehGregor> -position, whatever. [16:55:05.0000] <Hixie> yeah [16:56:00.0000] <Philip`> quirk.css says "li { list-style-position: inside }" [16:56:01.0000] <AryehGregor> li { list-style-position: inside } ..., ul li, ... { list-style-position: inherit } in Gecko's default CSS. [16:56:02.0000] <AryehGregor> In quirks. [16:56:03.0000] <AryehGregor> Mystery solved. [16:57:00.0000] <AryehGregor> I wonder if that's documented anywhere. [16:57:01.0000] <Yuhong> And as it happens, someone mentioned <wow that='is a > great idea'>. [16:57:02.0000] <Yuhong> And as it happens, Mosaic and Netscape 1.x would consider the first > to be the end of a tag. [16:58:00.0000] <Philip`> https://developer.mozilla.org/en/Mozilla_Quirks_Mode_Behavior documents it by reference to quirk.css [16:58:01.0000] <AryehGregor> Philip`, I really meant documented in a spec. [16:59:00.0000] <annevk> ah shit [16:59:01.0000] <annevk> why does Web IDL not link to the editor's draft? [16:59:02.0000] <annevk> heycam, ^^ 2011-06-21 [17:00:00.0000] <heycam> annevk, doesn't it? :( [17:00:01.0000] <Hixie> TR/ page strikes again? :-) [17:00:02.0000] <heycam> on, on the TR version [17:00:03.0000] <annevk> yeah, on the TR version [17:00:04.0000] <heycam> /me will add it to his xslt gunk [17:00:05.0000] <heycam> annevk, hi & wb btw :) [17:01:00.0000] <annevk> heycam, hey hey [17:01:01.0000] <annevk> heycam, can we have inheritance for dictionaries? [17:01:02.0000] <annevk> heycam, so I can have a basic InitEvent dictionary that specific events can extend? [17:01:03.0000] <heycam> annevk, if we need to -- I thought of it, but just decided to go without unless if was needed [17:01:04.0000] <heycam> ahh good idea [17:01:05.0000] <annevk> it would be kind of useful [17:01:06.0000] <heycam> perfect example for it [17:01:07.0000] <annevk> InitEvent would have cancel/bubble/type [17:01:08.0000] <heycam> file a bug please [17:02:00.0000] <annevk> InitCustomEvent : InitEvent would just have data [17:02:01.0000] <heycam> yep [17:02:02.0000] <annevk> well details [17:02:03.0000] <annevk> (silly name) [17:02:04.0000] <Yuhong> And yea, a lot of the error handling in HTML5 is to emulate the behavior of the old browsers like Mosaic. [17:02:05.0000] <heycam> (my fault maybe) [17:02:06.0000] <annevk> cool, will file a bug [17:02:07.0000] <heycam> actually, is it details or detail? [17:02:08.0000] <annevk> no s [17:03:00.0000] <Hixie> cc me on that bug if you file one [17:03:01.0000] <annevk> this way the new initEvent can just accept InitEvent dictionaries and no need to overload it for each new event class [17:04:00.0000] <annevk> and each new event class would just define its own dictionary inheriting from InitEvent [17:04:01.0000] <annevk> plus I guess some mapping [17:05:00.0000] <Yuhong> BTW, it certainly didn't help that back in the time of Mosaic, the other common HTML parser, libwww, would not decode entities inside attribute values. [17:07:00.0000] <Yuhong> So there was no portable way of using the > character inside attribute values. [17:09:00.0000] <Yuhong> Of course, Netscape 2 fixed this problem long ago, breaking many pages that existed at this time, since it was a common typo. [17:11:00.0000] <annevk> done http://www.w3.org/Bugs/Public/show_bug.cgi?id=13004 [17:13:00.0000] <heycam> thanks [17:14:00.0000] <annevk> hopefully we can even drop initCustomEvent() if we do this quickly [17:14:01.0000] <annevk> and other newish init*Event() methods [17:14:02.0000] <heycam> yeah [17:14:03.0000] <heycam> some of them are quite hairy :( [17:16:00.0000] <Yuhong> And of course most pages that depends on the behavior of Mosaic regarding <li> do not have any CSS at all. [17:16:01.0000] <zewt> (if you're writing a book I think you're typing into the wrong window) [17:17:00.0000] <annevk> (if you are using logic you are too) [17:19:00.0000] <zewt> annevk: yeah, i think I saw some mention of adding an initIDBVersionChangeEvent for IDB, would be nice to stop perpetuating that mess [17:20:00.0000] <zewt> http://www.w3.org/Bugs/Public/show_bug.cgi?id=10601 :( [17:21:00.0000] <annevk> zewt, maybe file a bug on Indexed DB alerting them of DOM Core plans? [17:21:01.0000] <annevk> zewt, definitely seems like it is not too late yet to change things around [17:22:00.0000] <smaug____> annevk: what about initCustomEvent [17:23:00.0000] <smaug____> it is implemented in several engines [17:23:01.0000] <smaug____> IIRC at least in 3 [17:23:02.0000] <annevk> mutation events are too [17:23:03.0000] <smaug____> /me scrolls up to see the context [17:23:04.0000] <annevk> if we can replace it by a better API I would prefer that [17:24:00.0000] <smaug____> oh, btw, about mutation events [17:24:01.0000] <smaug____> there is the patch for replaments [17:24:02.0000] <annevk> what is the bug? [17:24:03.0000] <annevk> I'd love to follow that [17:24:04.0000] <smaug____> https://bugzilla.mozilla.org/show_bug.cgi?id=641821 [17:25:00.0000] <annevk> thanks [17:25:01.0000] <smaug____> I'd like to get comments about the API [17:25:02.0000] <smaug____> see the patch, and look for nsIDOMNode.idl [17:25:03.0000] <smaug____> I simplified sicking's proposal [17:27:00.0000] <smaug____> I'd like to have some very simple API, which script libraries could then use to implement whatever filtering API they want [17:27:01.0000] <annevk> so you have to figure out yourself what attribute changed, which element was added, etc.? [17:28:00.0000] <annevk> you just get notified something changed relative to a certain node? [17:28:01.0000] <annevk> aah [17:28:02.0000] <annevk> the changetarget [17:29:00.0000] <smaug____> the changetarget just gives you the element on which the attribute was changed [17:29:01.0000] <annevk> so if you add an element, aNode is its new parent and the element itself is aChangeTarget? [17:29:02.0000] <smaug____> aNode is always the node to which you add the listener [17:29:03.0000] <smaug____> it is kind of event.currentTarget [17:29:04.0000] <smaug____> and changeTarget is like .target [17:30:00.0000] <smaug____> sicking's proposal didn't have changeTarget [17:30:01.0000] <annevk> but then in <div id=listener><div><div></div><div></div> when I remove the innermost <div> nothing is dispatched? [17:30:02.0000] <smaug____> it is hard to add more data if we want to handle innerHTML in any good way [17:31:00.0000] <smaug____> annevk: childlistchanged is fired [17:31:01.0000] <annevk> but the childlist did not change [17:31:02.0000] <smaug____> node is id=listener, and changeTarget would be the parent of the innermost <div> [17:32:00.0000] <smaug____> it is the childlist of changetarget which changed [17:32:01.0000] <annevk> if you remove the child of id=listener are both node and changeTarget id=listener? [17:32:02.0000] <smaug____> yes [17:33:00.0000] <annevk> so you'd have to do bookkeeping yourself as to which child was actually removed [17:33:01.0000] <annevk> I guess I'm not really the right person to provide feedback on this [17:33:02.0000] <annevk> I could blog about it though and see what people think [17:33:03.0000] <smaug____> sure [17:33:04.0000] <annevk> I know a few people that use mutation events a lot for their editing applications [17:34:00.0000] <smaug____> this was discussed in webapps [17:34:01.0000] <annevk> k [17:34:02.0000] <smaug____> sicking's proposal, I mean [17:34:03.0000] <smaug____> I just simplified it a bit [17:34:04.0000] <annevk> yeah I saw some of that, I hadn't looked into it much so far; I guess I should since I think it probably needs to go in DOM Core... [17:35:00.0000] <smaug____> it doesn't need to go to DOM Core [17:35:01.0000] <annevk> at least I think it would make sense to define it alongside appendChild and what not [17:35:02.0000] <smaug____> could be separate spec [17:36:00.0000] <smaug____> the original proposal is http://www.w3.org/2008/webapps/wiki/MutationReplacement#MutationTarget_.28A_Mozilla_Proposal.29 [17:37:00.0000] <annevk> cool [17:38:00.0000] <annevk> qeueud [17:38:01.0000] <annevk> queued* [17:39:00.0000] <annevk> looks pretty simple and straightforward [17:39:01.0000] <annevk> well "pretty simple" [17:41:00.0000] <annevk> smaug____, what is your plan on phasing out the old mutation events? [17:42:00.0000] <smaug____> well, need to get this landed [17:42:01.0000] <smaug____> and then start warning about mutation events... [17:43:00.0000] <smaug____> and the spec for the replacement needs to be stable before warning [17:43:01.0000] <smaug____> (so that API wouldn't be moz-prefixed) [17:43:02.0000] <annevk> so we could end up with two mutation APIs to support? [17:44:00.0000] <smaug____> that is ofc expected [17:44:01.0000] <smaug____> temporarily [17:44:02.0000] <annevk> I meant forever [17:44:03.0000] <smaug____> we can't remove mutation events before we have something for replament [17:44:04.0000] <annevk> if both gain traction and it turns out neither can get killed [17:45:00.0000] <smaug____> and unstable API isn't a replacement [17:45:01.0000] <smaug____> that would be unfortunate [17:45:02.0000] <annevk> because then we have both sync and async notifications [17:45:03.0000] <smaug____> but I don't see any other way to get rid of mutation events [17:45:04.0000] <annevk> and the spec will be terrible [17:45:05.0000] <annevk> and the impls even worse [17:45:06.0000] <annevk> and authors will kill perf [17:45:07.0000] <annevk> or something [17:46:00.0000] <zewt> i'm not familiar with mutation events, but is it possible to implement this simpler interface in terms of the more complex existing mutation events? [17:46:01.0000] <smaug____> mutation callbacks are kind of sync, since they fire before the mutating method returns [17:46:02.0000] <jamesr> yes, but implementators are unwilling to remove mutation events without some sort of replacement [17:46:03.0000] <jamesr> zewt: in practice, or in spec-ese? [17:46:04.0000] <annevk> smaug____, that's not what the wiki page suggests [17:46:05.0000] <zewt> either, I guess--just a thought in terms of relative complexity [17:46:06.0000] <jamesr> in practice, existing mutation events are buggy and not fully interoperable. in spec-ese, existing mutation events are not specified in the slightest [17:46:07.0000] <annevk> smaug____, and wouldn't that give the same icky situations we have now? [17:47:00.0000] <jamesr> conceptually i think you could but it's not very useful in practice [17:47:01.0000] <smaug____> annevk: wiki page is pretty clear. "I think we want the notifications to fire by the time that the function that caused the DOM mutation returned." [17:47:02.0000] <smaug____> annevk: and no, that doesn't cause the same problems [17:47:03.0000] <zewt> also, if this API can be implemented by users in javascript, i'd expect that to help encourage people to use it--if it's possible to use a compatibility layer for older browsers [17:47:04.0000] <annevk> smaug____, " Unfortunately these two goals are incompatible. I can't fully satisfy them both. So the sacrifice I made was that calls that happen inside of a notification no longer satisfy the second goal. This is accomplished by the flag and queue described in the algorithm [below]." [17:48:00.0000] <jamesr> zewt: in practice, no. webkit doesn't support attribute mutation events at all, for example, so AttributeChanged and SubtreeAttributeChanged would be impossible to emulate [17:49:00.0000] <jamesr> it also wouldn't be possible to match the timing [17:49:01.0000] <smaug____> it is interesting that webkit has managed to keep the code which dispatches DOMAttrModified disabled [17:49:02.0000] <smaug____> or perhaps the code has been removed now [17:50:00.0000] <jamesr> it's at least #ifdef'd out [17:51:00.0000] <jamesr> probably just gone at this point [17:52:00.0000] <smaug____> for other browsers one could write such DOMMutationEvent -> MutationCallback script [17:53:00.0000] <smaug____> IIRC, all non-webkit engines support the needed mutation events [23:21:00.0000] <Hixie> blimey [23:21:01.0000] <Hixie> some of these bugs sure are verbose [23:22:00.0000] <Hixie> actually it's not even that they're verbose, so much as they are written with very poor spacing and it makes reading them difficult [23:49:00.0000] <MikeSmith> Hixie: I hope it's not the ones I auto-posted from the comments list [23:49:01.0000] <MikeSmith> oh hey [23:49:02.0000] <MikeSmith> you fixed one of the editorial bugs I raised [23:49:03.0000] <MikeSmith> thanks [23:50:00.0000] <Hixie> it was marked "minor" [23:50:01.0000] <MikeSmith> yeah, it was minor [23:50:02.0000] <Hixie> i'm trying to get rid of all "minor" and "major" bugs :-) [23:50:03.0000] <Hixie> (the chairs are planning on taking over the priority field, so i'm moving to the severity field) [23:51:00.0000] <MikeSmith> that one was minor to the point that I myself had forgotten about it :) [23:51:01.0000] <Hixie> heh [00:16:00.0000] <jcranmer> Hixie: just make a Hixie-priority field ;-) [00:39:00.0000] <hsivonen> /me wonders how many Hixie-P1 bugs from the Netscape days remain unfixed [00:39:01.0000] <Hixie> surprisingly many [00:39:02.0000] <Hixie> last i checked [00:40:00.0000] <hsivonen> 8 says Bugzilla [00:40:01.0000] <Hixie> so still surprisingly many! [00:40:02.0000] <Hixie> any funny ones? [00:41:00.0000] <hsivonen> Undeclared entities are ignored when external DTD not found [00:41:01.0000] <hsivonen> Site navigation toolbar should be inside content frame [00:41:02.0000] <hsivonen> Render using OpenGL [00:41:03.0000] <Hixie> wait, "Undeclared entities are ignored when external DTD not found" is still _open_?! [00:42:00.0000] <Hixie> i assume the site nav toolbar bug is on seamonkey [00:43:00.0000] <hsivonen> Hixie: I marked undeclared entities WFM [00:43:01.0000] <hsivonen> and yes, the site nav bug is Seamonkey, so I'm not going to touch that one [00:43:02.0000] <Hixie> yeah that's a zombie bug at this point [00:45:00.0000] <hsivonen> it's a bit annoying how many INVALID/WONTFIX zombies there are that have been assigned to Seamonkey so they stay around as zombies even if no one is really fixing them in Seamonkey either [00:45:01.0000] <Hixie> only annoying from an OCD perspective, it really makes no difference in practice [01:38:00.0000] <Hixie> ok i'm way behind schedule for going to bed. [01:38:01.0000] <Hixie> nn [01:40:00.0000] <woef> Can anyone direct me to a propper explanation for the "form" attribute on inputs, [01:40:01.0000] <woef> ? [02:27:00.0000] <koskoz> can I use the "section" tag to wrap multiple "article"? [02:28:00.0000] <Ms2ger> Are the multiple articles a section of your page? :) [02:29:00.0000] <koskoz> Ms2ger: they represent one of the both columns [02:30:00.0000] <Ms2ger> And what's the other? [02:31:00.0000] <koskoz> I used the "aside" tag for the other one, it's typicaly a side menu, with search box, categories, links and so on [02:31:01.0000] <Ms2ger> Then I'd use a div, I think [02:32:00.0000] <koskoz> Ms2ger: why so? [02:32:01.0000] <koskoz> "The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading." it could be right no? [02:33:00.0000] <Ms2ger> Do you have a heading? [02:33:01.0000] <jgraham> koskoz: Yes, you can wrap multiple articles in a section [02:34:00.0000] <jgraham> e.g. <section><h1>Sport</h1><article><h1>Murry wins at Wimbeldon</h1>[...]</article><article><h1>Peopole get excited by footballer</h1>[...]</article</section> [02:34:01.0000] <koskoz> Ms2ger: I have a heading per article [02:35:00.0000] <jgraham> But it only makes sense if the group of articles form a section of a larger page [02:37:00.0000] <koskoz> jgraham: I don't get it [02:37:01.0000] <jgraham> Is it me or is sicking abusing @hidden? [02:38:00.0000] <jgraham> koskoz: A good example of when it is correct to wrap multiple articles in a <section> would be a news page that divided the <articles> into groups according to article type [02:39:00.0000] <annevk> holy shit [02:39:01.0000] <annevk> heycam|away is fast [02:39:02.0000] <jgraham> Then each <article> would be a <section> with a heading indicating the type of the article [02:40:00.0000] <jgraham> But if one just had a group of articles one wanted to wrap for styling purposes (this would tyoically be indicated by the lack of an overall heading for the group), one would use <div> [02:40:01.0000] <jgraham> *typically [02:41:00.0000] <jgraham> annevk: At doing what? [02:41:01.0000] <annevk> adding inherited dictionaries [02:41:02.0000] <koskoz> jgraham: and if I had a title to this section and hide it? [02:42:00.0000] <jgraham> koskoz: That is OK if you think it's obvious to the reader but would be needed by e.g. a tool constructing the ToC [02:49:00.0000] <Ms2ger> TabAtkins, http://dev.w3.org/csswg/css3-lists/ has merge markers [02:53:00.0000] <woef> Any backlog with info on the form-attribute? :) [02:53:01.0000] <annevk> woef, what info? [02:53:02.0000] <zewt> everything would be a lot easier if we could access forward-logs [02:54:00.0000] <woef> Why for example it was added. I understand it's use, but it seems to conflict with a lot of best practices. [02:55:00.0000] <annevk> woef, it was added for forms in tables among other things, iirc [02:56:00.0000] <annevk> woef, you have to elaborate a bit on the conflicts [02:57:00.0000] <woef> 1 tr is one form ... that indeed is a problem :) [02:58:00.0000] <woef> But the fact that you can place input elements outside it's structure and still have it belong to that structure is quite new in html. [02:58:01.0000] <woef> No other element like that exists currently [02:58:02.0000] <annevk> <label> / <input> [02:58:03.0000] <annevk> <img> <map> [02:59:00.0000] <MikeSmith> http://www.realityprime.com/articles/why-microsoft-and-internet-explorer-need-webgl [02:59:01.0000] <MikeSmith> blog posting Avi Bar-Zeev [03:00:00.0000] <MikeSmith> architect at Microsoft [03:00:01.0000] <woef> As for the label/input example, that's basically up to the htmler :) [03:00:02.0000] <woef> But yeah, it's possible to separate them from each other in the html. [03:00:03.0000] <MikeSmith> "There is clearly only one direction forward for Microsoft and 3D on the web. WebGL is the way." [03:02:00.0000] <woef> And as for image maps ... well :) [03:02:01.0000] <zewt> the whole thing just smells like "since we've always hated opengl we need to find some thin excuse to not support webgl" [03:02:02.0000] <zewt> not to state the obvious or anything, heh [03:02:03.0000] <woef> annevk: the thing that scares me a little is that this new addition is very easy to abuse. [03:03:00.0000] <woef> Put a "receive email" link somewhere outside a form (visually), but still submit it. [03:03:01.0000] <annevk> that's possible today too [03:03:02.0000] <woef> Yeah, but it's not all that easy. [03:03:03.0000] <annevk> CSS makes it surprisingly easy [03:03:04.0000] <annevk> or your form could just wrap the whole page [03:04:00.0000] <woef> Sure, but both solutions require some level of professionalism. [03:04:01.0000] <annevk> and CSS is going to make such things even easier, so if that is the problem forbidding form= is not going to solve it [03:04:02.0000] <woef> (ie knowing that you are abusing a system) [03:07:00.0000] <woef> Actually, a good example would be a dd-dt combo ... which are also impossible to wrap into one identifying html tag. [03:08:00.0000] <woef> But I also dislike those :p [03:08:01.0000] <woef> Can't come up with a good alternative for tr-forms though, so I guess it is quite helpful there. [03:17:00.0000] <MikeSmith> http://paul.kinlan.me/webmessaging-is-broken [03:32:00.0000] <annevk> oh [03:32:01.0000] <annevk> today the Dutch gov is voting on net neutrality [04:50:00.0000] <annevk> I wonder why we have add/remove for listeners rather than just toggle [04:50:01.0000] <annevk> I guess it doesn't really matter [04:54:00.0000] <annevk> Ms2ger, do we have a list or something of DOM Core related fixes to Gecko? [04:54:01.0000] <annevk> Just found out Node.prefix is now readonly! https://bugzilla.mozilla.org/show_bug.cgi?id=604592 [04:55:00.0000] <Ms2ger> https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20sw%3A%5Bwdc%5D [04:56:00.0000] <Ms2ger> But that's hardly complete [04:57:00.0000] <asmodai> Oh the irony [04:57:01.0000] <asmodai> http://connect.microsoft.com/VisualStudio/feedback/details/676134/dos-vulnerability-in-silverlight-5s-3d-similar-to-webgl-dos-vulnerability [05:00:00.0000] <Ms2ger> And see https://developer.mozilla.org/en/Firefox_7_for_developers and friends [05:32:00.0000] <gsnedders> Does JSC do type-specialization? If so, how long has it? [05:44:00.0000] <erlehmann> someone hurt gruber for his email encoding. hnnng. [06:46:00.0000] <annevk> Ms2ger, nice [06:46:01.0000] <annevk> Ms2ger, oh it's all for Firefox 7? [06:46:02.0000] <annevk> whoa Gecko 7.0 [06:46:03.0000] <annevk> I remember the days when going to Gecko 2.0 was considered controversial [06:47:00.0000] <asmodai> oh vey [06:47:01.0000] <asmodai> NL voting this afternoon on the cookies stuff [06:48:00.0000] <zcorpan> /me wants a cookie [06:48:01.0000] <annevk> on cookies too? [06:49:00.0000] <zcorpan> good thing my wife makes me cookies [06:49:01.0000] <annevk> there's also https://www.bof.nl/2011/06/15/net-neutrality-in-the-netherlands-state-of-play/ [06:49:02.0000] <asmodai> annevk: http://www.ikregeer.nl/documenten/kst-32549-34 [06:49:03.0000] <asmodai> http://frontpage.fok.nl/nieuws/449622/1/1/50/kamer-koerst-af-op-strengere-eis-aan-cookies.html [06:50:00.0000] <annevk> hmm live streams van de Tweede Kamer require Windows Media Player?! [06:50:01.0000] <asmodai> From what I see so far it seems that any cookies related to behavioral advertising fall under Dutch laws wrt personal information protection [06:50:02.0000] <asmodai> annevk: wouldn't surprise me [06:51:00.0000] <annevk> VLC works it seems, but it looks boring [07:00:00.0000] <annevk> Ms2ger, https://developer.mozilla.org/en/Firefox_7_for_developers do we still want to keep Node.normalize? I thought we removed that too... [07:07:00.0000] <zcorpan> "we are not going to remove the version header in the final. [07:07:01.0000] <zcorpan> To be clear when we introduced the version header the idea was that it would be removed in the final; [07:07:02.0000] <zcorpan> however when developers started to use it, they found it useful [07:07:03.0000] <zcorpan> and since then we have heard only people asking to keep it even in the final, [07:09:00.0000] <annevk> if you keep changing the damn protocol all the time of course it is useful, the code you end up with however, sucks [07:13:00.0000] <Ms2ger> annevk, I dunno about normalize [07:15:00.0000] <annevk> Ms2ger, I mean we dropped that too in DOM Core so the release notes better not recommend it... [07:18:00.0000] <zcorpan> i was writing a reply about the versioning thing, but then i realized i was about to reply to an email about versioning, and then i realized that it was on hybi, so i discarded the email [07:20:00.0000] <annevk> wise man [07:20:01.0000] <_bga> > Specifying invalid values when calling setTransform(), bezierCurveTo(), or arcTo() no longer throws an exception; these calls are now correctly silently ignored. [07:20:02.0000] <_bga> silent errors? [07:20:03.0000] <_bga> :( [07:23:00.0000] <Ms2ger> Yep, should've complained about the spec if you didn't like it [07:24:00.0000] <zcorpan> s/should've complained/should complain/ [07:25:00.0000] <smaug____> Ms2ger: are we dropping normalize? [07:25:01.0000] <Ms2ger> We dropped normalizeDocument [07:25:02.0000] <smaug____> ah, but not node.normalize() [07:26:00.0000] <Ms2ger> It's not in DOM Core, though [07:26:01.0000] <smaug____> normalize() is useful [07:26:02.0000] <smaug____> although, can be implemented in JS too [07:26:03.0000] <smaug____> but I don't quite see the reason to drop it [07:27:00.0000] <Ms2ger> /me suggests www-dom ;) [07:28:00.0000] <smaug____> Ms2ger: if you're dropping something from DOM Core, you should send email to www-dom ;) [07:28:01.0000] <Ms2ger> I'm not dropping anything, I'm just not adding it :) [07:29:00.0000] <smaug____> that way there is, hopefully, some reasoning written down why some things are in DOM 3 Core, but not in the next version [07:30:00.0000] <annevk> the reasoning is mostly dropping excess baggage not universally implemented [07:30:01.0000] <annevk> and adding things that are universally implemented or are deemed useful by everyone [07:30:02.0000] <zcorpan> smaug____: the draft lists stuff that has been dropped [07:31:00.0000] <smaug____> zcorpan: sure, but does it list *why* the stuff has been dropped [07:31:01.0000] <smaug____> there are cases like CDATASection which we may not be able to drop after all [07:33:00.0000] <annevk> if you find that something cannot be dropped or you think something should be kept just email the list [07:34:00.0000] <annevk> it's not set in stone, we just want to set a direction [07:34:01.0000] <mpilgrim> heycam|away: I know database.open() should throw TypeError (missing required argument), but [07:34:02.0000] <mpilgrim> heycam|away: what should database.open(null) do? [07:35:00.0000] <zcorpan> smaug____: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#goals [07:36:00.0000] <mpilgrim> heycam|away: er, and by "database.open()", I mean "indexedDB.open()" of course [07:36:01.0000] <Ms2ger> mpilgrim, either "null" or "" [07:37:00.0000] <jgraham> zcorpan: Accepting third party cookies from your wife could be a privacy risk. For example she might lace them with truth serum and start asking sifficult questions [07:37:01.0000] <Ms2ger> The spec currently requires "null", I believe [07:38:00.0000] <mpilgrim> that's insane [07:38:01.0000] <zcorpan> jgraham: i thought my wife was the second party [07:39:00.0000] <mpilgrim> Ms2ger: ^ [07:39:01.0000] <jgraham> mpilgrim: Not according to the 262 people [07:39:02.0000] <Ms2ger> Why? [07:39:03.0000] <Ms2ger> It's what ES ToString does [07:39:04.0000] <mpilgrim> it's completely non-intuitive and only makes sense to a few specialized language geeks [07:40:00.0000] <jgraham> mpilgrim: Ah, welcome to the web. You must be new here [07:41:00.0000] <mpilgrim> why does the IndexedDB spec claim the argument is non-nullable if it does, in fact, accept null as a value? [07:41:01.0000] <jgraham> But it's no more unintuitive than null->"null" in all the other parts of the platform where that happens [07:41:02.0000] <jgraham> e.g. ["a", "b"].join(null) [07:41:03.0000] <Ms2ger> It also accepts true, or { toString: function() { return "hi" } } [07:42:00.0000] <Ms2ger> Or indexedDB.open(window.getSelection()) [07:42:01.0000] <annevk> and during the net neutrality thing one of the parties made a mistake [07:42:02.0000] <annevk> lol [07:42:03.0000] <karlcow> http://www.developer.nokia.com/Resources/Library/Web/nokia-browsers/symbian-browsers/browser-73/html5-support.html [07:42:04.0000] <karlcow> <!DOCTYPE html> [07:42:05.0000] <karlcow> / Content goes here [07:42:06.0000] <karlcow> <html> [07:42:07.0000] <karlcow> huh? [07:42:08.0000] <annevk> although it really is not very funny if you consider what is at stake [07:50:00.0000] <annevk> smaug____, I'll make the changes you requested for .timeout btw [07:50:01.0000] <annevk> smaug____, when I get around to editing again [07:50:02.0000] <smaug____> annevk: ah, great [07:50:03.0000] <smaug____> I need to refresh my patch for .timeout [07:50:04.0000] <Ms2ger> /me waits impatiently [08:04:00.0000] <asmodai> heh, AMD left BAPCo [08:05:00.0000] <annevk> http://www.nu.nl/internet/2545434/stemming-telecomwet-uitgesteld-fout-pvda.html omg [08:06:00.0000] <annevk> at least they can fix it... [08:06:01.0000] <Ms2ger> So I hear we released Fx5 [08:08:00.0000] <asmodai> annevk: wtf [08:08:01.0000] <asmodai> annevk: What on earth is stopping them from correcting such a simple mistake? [08:09:00.0000] <annevk> it's always surprising how much worse gov politics is compared to standards politics [08:09:01.0000] <gsnedders> annevk: What's the act about? [08:09:02.0000] <Ms2ger> You mean, no decisions made on IRC? [08:09:03.0000] <Ms2ger> gsnedders, net neutrality [08:10:00.0000] <asmodai> they voted for 2 proposals [08:10:01.0000] <asmodai> 1 was voted and accepted [08:10:02.0000] <jgraham> Ms2ger: Nice (about fx5) [08:10:03.0000] <asmodai> then a 2nd was proposed with some exemption clause [08:10:04.0000] <asmodai> one party voted wrong [08:10:05.0000] <asmodai> and wanted to correct this, but this is apparently impossible and has to be redone tomorrow [08:11:00.0000] <Ms2ger> jgraham, well, it's pretty old by now ;) [08:13:00.0000] <annevk> asmodai, apparently "artikel 71 Reglement van Orde" forbids fixing it today [08:14:00.0000] <Ms2ger> I guess it prevents people from requesting too many revotes [08:14:01.0000] <jgraham> Ms2ger: Still, congrats on stepping up the release speed [08:14:02.0000] <Ms2ger> You're up next [08:14:03.0000] <Ms2ger> Or are you fast already? [08:14:04.0000] <Ms2ger> /me can't follow Opera releases [08:14:05.0000] <jgraham> Hehe. Opera isn't that slow [08:14:06.0000] <asmodai> annevk: *groan* [08:15:00.0000] <jgraham> We do about 3 releases a year [08:15:01.0000] <asmodai> annevk: Oh well, like you said, will be fixed tomorrow. [08:15:02.0000] <asmodai> Nice to see net neutrality coming into effect. [08:15:03.0000] <Ms2ger> Hmmk [08:15:04.0000] <jgraham> Or have done in the recent past [08:15:05.0000] <jgraham> No idea about the future [08:15:06.0000] <Ms2ger> IE: you're up next [08:16:00.0000] <zcorpan> Ms2ger: IE's not here [08:16:01.0000] <Ms2ger> They wouldn't listen to me even if they were, so that's fine [08:17:00.0000] <jgraham> (the trick is to realise that Opera version numbers aren't that meaningful and X->X.Y0 can be just as big a change as X.Y0->X+1) [08:17:01.0000] <hsivonen> Ms2ger: Opera shipped more frequently first :-) [08:18:00.0000] <Ms2ger> Yeah, you're weird like that [08:18:01.0000] <Ms2ger> Who decides on version numbers? Marketing? [08:18:02.0000] <jgraham> /me has exactly zero influence at least [08:18:03.0000] <woef> Opera has a marketing dep? :D [08:19:00.0000] <annevk> so document.contentType is actually a MIME type [08:19:01.0000] <hsivonen> Opera could be more advanced than Chrome if it incremented the major number for every releases that isn't a mere security patch [08:19:02.0000] <Ms2ger> annevk, welcome to the web :) [08:21:00.0000] <Ms2ger> Also, what do you think about making DocumentType.ownerDocument not insane? [08:23:00.0000] <gsnedders> Ms2ger: How's that insane? [08:23:01.0000] <zcorpan> lol http://schema.org/SiteNavigationElement [08:23:02.0000] <Ms2ger> It can be null [08:23:03.0000] <gsnedders> jgraham: Well, in general X->X.Y0 seems to be a bigger change than X.Y0 -> X+1. [08:24:00.0000] <zcorpan> Ms2ger: you mean createDocumentType would set ownerDocument directly? [08:24:01.0000] <Ms2ger> Teah [08:24:02.0000] <Ms2ger> Y* [08:25:00.0000] <smaug____> yeah, document.implementation.createDocumentType() could set ownerDocument to document [08:25:01.0000] <zcorpan> /me doesn't care either way [08:25:02.0000] <annevk> Ms2ger, go ahead [08:26:00.0000] <zcorpan> otherwindow.document.implementation.createDocumentType() sets ownerDocument to otherwindow.document? [08:26:01.0000] <Ms2ger> Presumably [08:27:00.0000] <annevk> same as whatever otherwin.document.createElement would do [08:27:01.0000] <annevk> methinks [08:31:00.0000] <zcorpan> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1043 [08:31:01.0000] <zcorpan> inner in opera and firefox [08:31:02.0000] <zcorpan> chrome says "Log: " [08:33:00.0000] <annevk> maybe cross-origin restriction for data URLs [08:34:00.0000] <zcorpan> "When in quirks mode, empty <map>s are no longer skipped over in favor of non-empty ones when matching. See the Gecko notes on the <map> element for details." - wow i didn't know about this quirk [08:34:01.0000] <zcorpan> annevk: why wouldn't it throw then? [08:35:00.0000] <annevk> silent failure [08:35:01.0000] <Ms2ger> It was a weird one, too [08:35:02.0000] <Ms2ger> I blame our old HTML parser, which autoclosed maps on <map> [08:35:03.0000] <annevk> is that quirk removed now? [08:36:00.0000] <Ms2ger> Yeah [08:37:00.0000] <zcorpan> annevk: seems like there's no <title> element at all in the inner document [08:37:01.0000] <zcorpan> which is quite weird [08:37:02.0000] <annevk> hmm [08:40:00.0000] <zcorpan> if i change the data url to data:text/html,<title>inner</title><body> then chrome throws [09:11:00.0000] <gsnedders> Are all cases where streaming is impossible a parse error? [09:12:00.0000] <gsnedders> (That's the assumption hsivonen's parser makes to use streaming, no?) [09:13:00.0000] <annevk> I think that was the idea [09:21:00.0000] <annevk> smaug____, I will allow timeout to always be set [09:22:00.0000] <annevk> smaug____, i.e. remove all exceptions [09:22:01.0000] <smaug____> annevk: ok [09:22:02.0000] <smaug____> annevk: is that what I proposed? [09:22:03.0000] <smaug____> /me needs to find the email [09:23:00.0000] <annevk> your email could also be read as still throwing for UNSENT and DONE states [09:23:01.0000] <annevk> since open() resets timeout maybe it should still throw for UNSENT [09:23:02.0000] <annevk> or maybe open() should not reset timeout? [09:24:00.0000] <annevk> smaug____, http://www.w3.org/mid/4D7F6F94.4020405⊙hf [09:24:01.0000] <smaug____> yeah, I found the email [09:24:02.0000] <smaug____> looking at the spec now [09:24:03.0000] <annevk> I haven't changed anything yet [09:24:04.0000] <annevk> well, not in the online copy [09:26:00.0000] <smaug____> annevk: I was just looking at when the timer is started [09:26:01.0000] <smaug____> so, when send() is called [09:26:02.0000] <smaug____> ok, then changing timeout at any time should be ok [09:26:03.0000] <smaug____> and no need to clear it when open is called, IMO [09:37:00.0000] <annevk> whoa, overrideMimeType was hsivonen's first feedback on XHR if my acknowledgments section is correct [09:49:00.0000] <gsnedders> Hmm, Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] yet [#xN-#xN] "matches any Char with a value in the range(s) indicated (inclusive)", so it's impossible tell what's in Char until you know what's in Char. Yay XML! [09:50:00.0000] <Ms2ger> Nice [09:51:00.0000] <Philip`> Is the "/* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */" comment normative? [09:52:00.0000] <gsnedders> Well, nothing says it isn't. [09:53:00.0000] <gsnedders> Though that would imply U+0000 is a valid Char, which the common reading of Char implies is not [09:55:00.0000] <Philip`> Hmm, if I drag-select that comment in the XML spec in Opera (11.11), then click somewhere within that comment to deselect the text, the previously-selected text displays as red instead of black (until it's repainted) [09:57:00.0000] <Ms2ger> /me blames XML [09:59:00.0000] <Philip`> The spec says <h5><a name="char32" id="char32"/>Character Range</h5> [09:59:01.0000] <Philip`> Opera thinks the <a> applies to at least the following few paragraphs, since it was never closed [10:00:00.0000] <Philip`> so the a:active { color: #C00; background: transparent } rule applies when you click any of those paragraphs [10:00:01.0000] <Philip`> but then the repainting thing is just an Opera bug [10:00:02.0000] <gsnedders> A fairly old one, too, I think [10:01:00.0000] <Philip`> Seems fair to blame XHTML-as-text/html for triggering the bug [10:02:00.0000] <gsnedders> Yeah, that's why nothing was ever done about the parsing side of it [10:04:00.0000] <Philip`> It seems kind of bad for supposedly-reliable specs to be published with a dependence on non-standard parse error recovery behaviour [10:05:00.0000] <AryehGregor> Isn't it served with an XHTML doctype, so you should be parsing it as XML? [10:05:01.0000] <Philip`> No [10:06:00.0000] <Philip`> at least to Opera and Firefox, as far as I can see [10:06:01.0000] <jgraham> AryehGregor: Did you mean mime type? [10:06:02.0000] <AryehGregor> jgraham, no, I'm talking about standards fantasy land here, not real life. [10:06:03.0000] <Philip`> Oh, I misread [10:06:04.0000] <jgraham> (I thought pubrules were supposed to check for this kind of thing) [10:07:00.0000] <Philip`> It's XHTML 1.0 Transitional [10:07:01.0000] <Philip`> though it also says <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [10:07:02.0000] <AryehGregor> So officially, it's your browser's fault for using a legacy parser, since XHTML is supposed to be parsed as XML. [10:07:03.0000] <annevk> smaug____, are you planning on sending an email to www-dom with your updated mutation events proposal? [10:08:00.0000] <smaug____> annevk: I'd like to get some feedback from jonas first [10:08:01.0000] <gsnedders> AryehGregor: But that's not what the (X)HTML WG said! [10:08:02.0000] <AryehGregor> Who says the XML WG has to agree with the XHTML WG? [10:08:03.0000] <Philip`> AryehGregor: But browsers can't parse XHTML as XML until the browser developers have read the XML spec [10:09:00.0000] <gsnedders> jgraham: pubrules didn't exist when XML 1.0 was published, I think [10:09:01.0000] <annevk> smaug____, fair enough, btw, is putting them on Node an intentional change versus putting them on Doc/DocFrag/Ele? [10:09:02.0000] <AryehGregor> Philip`, they also can't parse HTML as HTML until the browser developers read the HTML spec. [10:09:03.0000] <Philip`> which they can't do reliably, because the only available parser is broken [10:09:04.0000] <AryehGregor> HOW DO WE DEFINE ASCII? [10:09:05.0000] <AryehGregor> It can be taught as oral tradition, perhaps. [10:09:06.0000] <AryehGregor> Then we can start bootstrapping. [10:09:07.0000] <gsnedders> AryehGregor: EBCDIC? [10:10:00.0000] <Philip`> Just print out the ASCII spec [10:10:01.0000] <smaug____> annevk: it is [10:10:02.0000] <AryehGregor> Next question: how do we compile C compilers? [10:10:03.0000] <Philip`> and then mail copies of it to everyone who wants to implement it [10:10:04.0000] <AryehGregor> If they're written in C? [10:10:05.0000] <gsnedders> jgraham: No requirement to follow XHTML 1.0 App. C, either [10:10:06.0000] <smaug____> annevk: one could argue that the attribute listener thing doesn't need to be in Text nodes [10:10:07.0000] <smaug____> nor the childlist [10:11:00.0000] <Philip`> Print-and-mail isn't feasible for bootstrapping HTML though, since it won't fit through your door's letter box [10:12:00.0000] <smaug____> but Node has .childnNodes etc anyway, so it feels more consistent to put the new methods to Node [10:12:01.0000] <Philip`> AryehGregor: You can probably compile C to assembly by hand without too much trouble [10:13:00.0000] <gsnedders> Philip`: You can probably read HTML given `more` by hand without too much trouble [10:14:00.0000] <annevk> smaug____, I guess sicking has made no progress with de-DOMification of Attr? [10:14:01.0000] <annevk> well, de-Nodeification [10:14:02.0000] <smaug____> not, yet [10:14:03.0000] <smaug____> he did make Node to inherit EventTarget [10:15:00.0000] <smaug____> (as a side note) [10:15:01.0000] <annevk> ooh [10:15:02.0000] <Ms2ger> And removed GetFeature [10:16:00.0000] <annevk> noticed that, sweet [10:17:00.0000] <gsnedders> GetFeature? [10:18:00.0000] <Ms2ger> Fiction [10:18:01.0000] <annevk> keeping childElementCount? :/ [10:19:00.0000] <smaug____> annevk: ? [10:19:01.0000] <smaug____> isn't that from Element Traversal spec [10:19:02.0000] <Ms2ger> That's in DOM Core too, now [10:19:03.0000] <annevk> yeah, but a future draft suggested it would be removed again [10:20:00.0000] <annevk> because you know, there's .children.length too [10:20:01.0000] <Ms2ger> Didn't want to fight that fight [10:20:02.0000] <Ms2ger> If you want to, feel free to :) [10:20:03.0000] <smaug____> hmm, what is children [10:20:04.0000] <smaug____> where is that coming from? [10:21:00.0000] <Ms2ger> IE [10:21:01.0000] <Ms2ger> (IIRC) [10:21:02.0000] <smaug____> ah, we do have it [10:46:00.0000] <osqari> hi, can i ask stuff about IE css styles here [10:46:01.0000] <osqari> didnt find anyplace else [10:47:00.0000] <osqari> and this is pretty complicated problem i think [10:47:01.0000] <The_8472> there is #css [10:47:02.0000] <osqari> ok [10:47:03.0000] <osqari> ty [10:54:00.0000] <asmodai> annevk: btw [10:54:01.0000] <asmodai> annevk: saw this? [10:54:02.0000] <asmodai> Waarschijnlijk kan de stemming niet over worden gedaan, aldus een woordvoerder van de Tweede Kamer. Om het amendement ongedaan te maken, zou een motie moeten worden ingediend om de wet te wijzigen. [10:59:00.0000] <Ms2ger> Hah [11:00:00.0000] <annevk> oh [11:00:01.0000] <annevk> well, fuck [11:04:00.0000] <asmodai> Stupide. [11:05:00.0000] <MikeSmith> ? [11:05:01.0000] <karlcow> なんでもない [11:05:02.0000] <karlcow> わたしもわかりません [11:06:00.0000] <The_8472> i see moonrunes [11:06:01.0000] <asmodai> MikeSmith: Dutch law stuff on net neutrality. [11:06:02.0000] <asmodai> karlcow: It's not bad to not understand :) [11:07:00.0000] <karlcow> asmodai: comment cela ? [11:07:01.0000] <karlcow> /me wonders one day if we will have IRC channels with automagically translation of everything [11:08:00.0000] <karlcow> Prefs: translate everything I read in French. [11:08:01.0000] <Ms2ger> Mais pourquoi? [11:08:02.0000] <karlcow> Damn Ms2ger has already the plugin! [11:08:03.0000] <The_8472> google is working on that [11:09:00.0000] <Philip`> If only IRC had been based on XML, it could use xml:lang on every line of chat in order to support this properly [11:09:01.0000] <Ms2ger> RDF? [11:09:02.0000] <The_8472> i've read a presentation that they need to do one million lookups into a multi-terabyte database *per sentence* for google translate. [11:09:03.0000] <asmodai> Doesn't surprise me. [11:10:00.0000] <asmodai> Translation is such a fickle mistress. [11:10:01.0000] <The_8472> Philip`, XMPP then [11:11:00.0000] <Philip`> /me likes protocols in which he can make a roomful of people disconnect by transmitting ill-formed XML to them [11:11:01.0000] <karlcow> The_8472: the google is working on that is cool. The part where google would swallow everything is less cool ;) [11:11:02.0000] <karlcow> /me likes local apps for some part of my communications. [11:14:00.0000] <AryehGregor> Like the part where you talk to yourself? [11:15:00.0000] <AryehGregor> Local is good for that. [11:15:01.0000] <The_8472> local application != local traffic [11:16:00.0000] <The_8472> anyway, xmpp allows you to keep everything local. your own server + your own client + federation = you can talk to anyone who supports it too [11:16:01.0000] <AryehGregor> And that's what Google uses for Google Talk, no? [11:17:00.0000] <The_8472> yeah [11:17:01.0000] <The_8472> i.e. you don't have to use google servers to talk to someone who uses talk [11:24:00.0000] <TabAtkins> Ms2ger: Thanks for the heads up. Didn't realize there were any in the visible html. [11:25:00.0000] <Ms2ger> Np [11:29:00.0000] <AryehGregor> Okay, so how exactly does "var" work? I'm not understanding ES5 here after glancing at it. In particular, does it matter if you declare the same variable multiple times in one function? [11:29:01.0000] <AryehGregor> (using var) [11:30:00.0000] <AryehGregor> Like var foo = "x" in one code path and var foo = "y" in anotheR? [11:30:01.0000] <AryehGregor> another? [11:32:00.0000] <TabAtkins> AryehGregor: No. [11:32:01.0000] <TabAtkins> Once it's been declared in-scope, using var or not is irrelevant. [11:32:02.0000] <AryehGregor> Thought not. [11:33:00.0000] <gsnedders> AryehGregor: Start looking at 10.5 [11:33:01.0000] <AryehGregor> Although I guess doing "var foo;" again will reset it to undefined? [11:33:02.0000] <AryehGregor> gsnedders, I did. [11:33:03.0000] <TabAtkins> AryehGregor: I guess? Dunno. [11:33:04.0000] <TabAtkins> AryehGregor: Anyway, the actual declaration of the variable is hoisted to the top of the scope. [11:33:05.0000] <AryehGregor> Oh, I see: "For each VariableDeclaration and VariableDeclarationNoIn d in code, in source text order do" [11:33:06.0000] <TabAtkins> 'let' will work differently and more sensibly. [11:33:07.0000] <gsnedders> AryehGregor: var foo; does nothing [11:34:00.0000] <AryehGregor> So basically, having "var foo" anywhere with or without an initializer just initializes to undefined at the beginning of the scope. [11:34:01.0000] <AryehGregor> Aside from that, "var foo = bar" is the same as "foo = bar", and "var foo" by itself does nothing. [11:34:02.0000] <AryehGregor> Okay. [11:34:03.0000] <gsnedders> AryehGregor: Stuff is *always* initalized to undefined at the beginning the scope [11:35:00.0000] <gsnedders> AryehGregor: It's only when you reach the VariableStatement during execution it gets its value [11:35:01.0000] <AryehGregor> You mean local variables, obviously, not global variables or arguments or such. [11:35:02.0000] <AryehGregor> Okay, makes sense now. [11:36:00.0000] <AryehGregor> I've been doing "var foo; if (x) { foo = y; } else { foo = z; }" because I wasn't sure where to put the var. [11:36:01.0000] <AryehGregor> I guess I can just do "if (x) { var foo = y; } else { foo = z; }". [11:36:02.0000] <AryehGregor> But that looks weird. [11:36:03.0000] <AryehGregor> As does using var twice. [11:36:04.0000] <AryehGregor> So I'll keep it as now and pretend it's like let. [11:36:05.0000] <gsnedders> AryehGregor: I'd just go for var before the if [11:36:06.0000] <Ms2ger> var foo = x ? y : z [11:36:07.0000] <Ms2ger> But I guess your blocks are more involved [11:37:00.0000] <AryehGregor> Yes, often. [11:39:00.0000] <The_8472> <AryehGregor> But that looks weird. <- indeed, it does. mainly because curly brackets create a new scope block in other languages [11:40:00.0000] <AryehGregor> Which doesn't make a lot of sense for dynamic languages, though. In C or Java you need declarations anywhere for type. [11:40:01.0000] <AryehGregor> So you may as well use them for scoping too. [11:41:00.0000] <AryehGregor> Of course, this leads to kind of nasty stuff in JavaScript if you do want to create a new variable scope. [11:41:01.0000] <AryehGregor> Namely (function() {...})();. [11:41:02.0000] <The_8472> that there is no shorthand for functions is a problem with JS, yes [11:41:03.0000] <AryehGregor> Whereas in C you could just do { ... }. [11:41:04.0000] <Ms2ger> Or { ... } [11:41:05.0000] <The_8472> other dynamic languages usually have some nice way of creating closures [11:41:06.0000] <Ms2ger> /me can't read [11:42:00.0000] <gsnedders> AryehGregor: eval in strict mode creates a new variable scope! [11:42:01.0000] <gsnedders> direct eval, that is [11:42:02.0000] <AryehGregor> Eval is even eviler, though. [11:42:03.0000] <The_8472> {args -> statements} is a common way to do it [11:42:04.0000] <AryehGregor> The_8472, that's only in what, Haskell? [11:42:05.0000] <The_8472> JS should have that too... [11:43:00.0000] <The_8472> groovy, scala, clojure... [11:43:01.0000] <AryehGregor> Functional languages? [11:43:02.0000] <The_8472> yeah [11:43:03.0000] <Philip`> for (var i = 0; i < 10; ++i) setTimeout((function(i) { return function() { alert(i) } })(i), 100); // this is hideous :-( [11:43:04.0000] <AryehGregor> Not C-like ones, which JS is. [11:43:05.0000] <The_8472> or multi-paradigm ones [11:43:06.0000] <The_8472> java is not C-like [11:43:07.0000] <The_8472> err, javascript [11:43:08.0000] <gsnedders> AryehGregor: There's a Harmony strawman proposing -> [11:43:09.0000] <AryehGregor> Philip`, yeah, I've had to do that. :( [11:44:00.0000] <Philip`> I tend to use the same name for the argument as for the variable it's capturing, and haven't yet decided whether that's a good or bad way to do it [11:44:01.0000] <The_8472> yeah, setTimeout behaves oddly. [11:44:02.0000] <Ms2ger> Philip`, argh, yes [11:46:00.0000] <The_8472> ah, besides a shorthand for function creation we also need a way to pass function as last argument after the parenthesis... then we could finally have DSLs! [11:46:01.0000] <gsnedders> The_8472: DSL? [11:46:02.0000] <The_8472> domain specific language [11:47:00.0000] <The_8472> ecmascript 5 does have something like missingmethod, right? [11:47:01.0000] <The_8472> those proxy things if i recall correctly [11:47:02.0000] <Philip`> The convention of only ever using var at the very top of a function makes sense in terms of matching the scoping semantics and avoiding confusion, but it's too much like old-fashioned C for me to willingly adopt that convention, so I just stick var in wherever is closest to the first use and not too visually misleading [11:48:00.0000] <gsnedders> The_8472: Proxy things are proposed for Harmony [11:49:00.0000] <The_8472> ah, wasn't sure were that was. i just stumbled on the syntax recently [11:49:01.0000] <The_8472> *where [11:49:02.0000] <gsnedders> Well, tentatively approved for Harmony [11:49:03.0000] <The_8472> http://groovy.codehaus.org/Creating+XML+using+Groovy%27s+MarkupBuilder <- here, an example of a DSL using missingMethod + closure shorthands + the ability to pass parameters without having to use the () [12:02:00.0000] <gsnedders> /me wonders how SSA works in theory given reads of variables higher up in the lexical scope that can be mutated by function calls [12:05:00.0000] <Philip`> If a variable is captured by a closure then you don't treat it like a normal variable, you treat it like an entry in a heap-allocated array that the closure has a copy of, or something like that, I think [12:05:01.0000] <Philip`> assuming that's what you mean [12:06:00.0000] <Philip`> (i.e. "var a = 1; var f = function() { ++a }; f()" is effectively translated to "var captured = [1]; var f = function() { ++captured[0]; }; f()") [12:08:00.0000] <Hixie> @whatwg puppetmaster, whoever you are, you received a reply [12:08:01.0000] <Hixie> i guess i'l reply [12:08:02.0000] <Hixie> /me tries to figure out the whatwg account's password [12:13:00.0000] <MikeSmith> "collectively the W3C's crazy uncle" http://mobile.twitter.com/diveintomark/status/81701979130314752 [12:14:00.0000] <gsnedders> Philip`: Given var a = 1; var f = function() { a++; }; var g = function() { print(a); f(); print(a); }; how would you deal with it? Because if they refer to a single value, doesn't that mean they should have the same value? [12:14:01.0000] <MikeSmith> shit [12:14:02.0000] <MikeSmith> wrong chNnel [12:14:03.0000] <Hixie> hah [12:14:04.0000] <MikeSmith> fucking iPad [12:14:05.0000] <MikeSmith> fuck [12:15:00.0000] <MikeSmith> um [12:15:01.0000] <gsnedders> fuck? [12:15:02.0000] <MikeSmith> ignore please [12:15:03.0000] <MikeSmith> ignore me [12:17:00.0000] <AryehGregor> Seems quite relevant to this channel! [12:17:01.0000] <MikeSmith> no [12:17:02.0000] <MikeSmith> no relevance [12:17:03.0000] <MikeSmith> mistake [12:18:00.0000] <MikeSmith> I'm an idiot [12:18:01.0000] <MikeSmith> no hope [12:18:02.0000] <MikeSmith> time for a j break [12:19:00.0000] <Hixie> i love that in http://lists.w3.org/Archives/Public/public-lod/2011Jun/0280.html bjoern says rdfa+whatwg were "mroe concerned with winning arguments than collaborating on problem solving" given the months we spent at the whatwg trying to collaborate and understand the problem, only to be told that we should just accept rdfa and shut up [12:21:00.0000] <AryehGregor> Presumably "problem solving" means "solving problems that the semantic web community deems important". [12:28:00.0000] <TabAtkins> C++ people, what does the <int> in min<int>(foo,bar) do? [12:29:00.0000] <Hixie> AryehGregor: yes, that's what we tried to do. for MONTHS. [12:29:01.0000] <bga_> template [12:29:02.0000] <Hixie> AryehGregor: it was like pulling teeth trying to get them to tell us what problems they wanted solving. [12:29:03.0000] <AryehGregor> Hixie, no, you don't acknowledge the validity of some of the problems they want to solve. E.g., "embed arbitrary machine-readable metadata in web pages with no specific uses in mind". [12:29:04.0000] <AryehGregor> You never attempted to solve that. [12:30:00.0000] <Hixie> well yeah, that's not a problem [12:30:01.0000] <Hixie> that's a solutoin [12:30:02.0000] <TabAtkins> bga_: Yes, but what are the practical implications? I had it suggested as a way to avoid a static cast in "min(foo, static_cast<size_t>(8))", where foo is a size_t as well. [12:30:03.0000] <Hixie> AryehGregor: my point is that we did try to collaborate. we tried and tried and tried. [12:30:04.0000] <Hixie> and then tried again. [12:30:05.0000] <Hixie> for months. [12:31:00.0000] <AryehGregor> Hixie, from their perspective, you didn't try to address their problems. I agree with you that their problems are largely invalid and don't need to be solved, but that does mean we aren't trying to solve them. [12:31:01.0000] <Ms2ger> TabAtkins, you have template <T> min (T foo, T bar) [12:32:00.0000] <Ms2ger> TabAtkins, and by adding <int>, you tell the compiler that T = int [12:32:01.0000] <TabAtkins> Ms2ger: Ah, hm. In that case I'd want to do a min<size_t>, since size_t may be larger than int. [12:32:02.0000] <Hixie> AryehGregor: there's clearly no question that we (knowingly) failed to do what they wanted [12:32:03.0000] <Ms2ger> Yes [12:32:04.0000] <Hixie> AryehGregor: but that doesn't mean we didn't try to collaborate [12:33:00.0000] <Ms2ger> (So when it knows that, it can do implicit conversions) [12:33:01.0000] <AryehGregor> Well, that depends on how you interpret the wording. [12:33:02.0000] <TabAtkins> Ms2ger: Thanks! [12:33:03.0000] <gsnedders> Hixie: To come up with some rough use-case for that solution: to include the semantics of any data gathered from a database, such that it is possible to recreate that database locally and query it while offline. [12:33:04.0000] <Ms2ger> Np [12:33:05.0000] <TabAtkins> The c++ I learned in high school was woefully inadequate for hacking modern stuff. [12:34:00.0000] <AryehGregor> Because C++ is ridiculously complicated. [12:34:01.0000] <gsnedders> Hixie: E.g., taking the dates of birth of historical figures from wikipedia, and being able to present a list of all of them ordered by (rough) year of birth. [12:34:02.0000] <Philip`> gsnedders: That's like "print(captured[0]); f(); print(captured[0]);", because references to a variable in the closure's environment are not the same as references to purely local variables, and the JITter will implement less efficient code for them [12:34:03.0000] <gsnedders> (Because I want to do that for a presentation I'm doing to argue that we know more about more recent people) [12:35:00.0000] <Hixie> gsnedders: i'm not arguing that there are no use cases, i'm just pointing out that they weren't giving them to us when we tried, for months, to work with them to make a list of use cases. [12:35:01.0000] <Hixie> gsnedders: and now bjoern is saying that we didn't try to collaborate and that's just frankly rude and misinformed. [12:35:02.0000] <gsnedders> Hixie: I'm sure I saw use-cases from time-to-time [12:35:03.0000] <Ms2ger> TabAtkins, you learned C++ in high school? [12:36:00.0000] <Hixie> gsnedders: yeah, i collected a whole wiki page of them and addressed each one individually in e-mails [12:36:01.0000] <Hixie> gsnedders: it was like pulling teeth. For every 1000 lines of e-mail from them I'd get about 1 line of use case data [12:36:02.0000] <Hixie> and 900 lines telling me to just use rdfa [12:37:00.0000] <AryehGregor> And the other 99? [12:37:01.0000] <AryehGregor> Whitespace? [12:37:02.0000] <gsnedders> Hixie: And Microdata was the solution to that? [12:37:03.0000] <Hixie> gsnedders: microdata is a solution to the use cases that were presented [12:37:04.0000] <gsnedders> Ah. [12:38:00.0000] <TabAtkins> Ms2ger: Yeah? Is that weird? [12:38:01.0000] <gsnedders> /me would still rather have some (subset of) RDF serialization, and an associated DOM API (though perhaps the one the RDFa WG is working on would be fine) [12:38:02.0000] <Ms2ger> Well, I got Pascal [12:38:03.0000] <Ms2ger> So I guess not that weird [12:39:00.0000] <gsnedders> I got BASIC. [12:39:01.0000] <Ms2ger> (And then moved to JS) [12:39:02.0000] <TabAtkins> Ah. Well, it was c++ for the first year, then the school switched to java for my 11th and 12th grade. [12:39:03.0000] <Ms2ger> Also, document.write [12:40:00.0000] <gsnedders> Ms2ger: yay! [12:40:01.0000] <Ms2ger> Come to think of it, that's how I got involved in web standards [12:51:00.0000] <Ms2ger> Looking back at my code, "var" apparently wasn't part of the course [12:58:00.0000] <Philip`> Combining a language with optional variable declarations and a runtime environment with a large and unpredictable set of pre-defined names in the global scope, does not seem like the bestest idea ever [13:46:00.0000] <annevk> Hixie, I did that initial reply [13:47:00.0000] <annevk> Hixie, maybe I should have used my own twitter account for more transparancy [16:03:00.0000] <AryehGregor> Per spec, is <li></li> supposed to have zero height or not? [16:03:01.0000] <AryehGregor> Seems yes in Gecko and WebKit, no in Opera. [16:04:00.0000] <AryehGregor> Does the list marker prop it open or something? [16:05:00.0000] <AryehGregor> Hmm, or is list-style-position: outside just undefined? [16:07:00.0000] <AryehGregor> TabAtkins, you know that http://dev.w3.org/csswg/css3-lists/ has conflict markers in it? [16:07:01.0000] <AryehGregor> (also, the TR/ version doesn't link to it) [16:07:02.0000] <AryehGregor> "Issue: Inline markers have some special behavior wrt white-space collapsing at the beginning of the list-item. Is this behavior necessary for web-compat, or can I just spec it away? (Since I have outside markers basically be abspos, it doesn't apply to them.)" [16:07:03.0000] <AryehGregor> That seems possibly relevant. [16:08:00.0000] <Hixie> AryehGregor: list markers cause there to be a line box [16:08:01.0000] <AryehGregor> Hmm, okay. [16:16:00.0000] <Hixie> heycam: is there something i can subscribe to to get e-mail notifications of WebIDL changes? [16:17:00.0000] <heycam> Hixie, um... I know that the cvs commit messages go to member-cvs-editors [16:17:01.0000] <heycam> you could probably subscribe to that [16:17:02.0000] <Hixie> /me investigates [16:17:03.0000] <heycam> but I think that gets notifications of cvs commits to anything under dev.w3.org/2006/webapi/ [16:17:04.0000] <heycam> member-cvs-editors is not the right name [16:18:00.0000] <heycam> member-webapi-cvs [16:18:01.0000] <heycam> http://lists.w3.org/Archives/Member/member-webapi-cvs/2011Jun/ [16:18:02.0000] <Hixie> one day i won't work on browsers anymore and i'll be able to use browsers that work, right? [16:18:03.0000] <heycam> when browsers work, then you will get to retire, yes [16:19:00.0000] <jamesr> where are you gonna find a browser that works? [16:19:01.0000] <Hixie> hm, that gets all my bugmail spam too [16:19:02.0000] <Hixie> ah well, let's try subscribing anyway and see what happens with my existing filters [16:19:03.0000] <Hixie> thanks heycam [16:20:00.0000] <Hixie> ok for now i'll just settle for a browser with PDF view with working search [16:20:01.0000] <Hixie> or, you know, the JS folks could start publishing specs in a sane format like HTML [16:21:00.0000] <heycam> Hixie, use http://people.mozilla.org/~jorendorff/es5.html, it's much nicer [16:22:00.0000] <Hixie> dude! [16:22:01.0000] <Hixie> that's fantastic! [16:22:02.0000] <Hixie> /me updates his links [16:22:03.0000] <heycam> yeah looks pretty doesn't it [16:22:04.0000] <Hixie> you had me at ".html" [16:22:05.0000] <heycam> lol [16:23:00.0000] <Hixie> aw man, cross-references and everything [16:23:01.0000] <Hixie> this is awesome! [16:23:02.0000] <paul_irish> a similarish one... http://es5.github.com/ i think mikesmith did it [16:24:00.0000] <Hixie> interesting, so arguments that take unsigned long do modulo 2**32 on their value first [16:24:01.0000] <Hixie> huh [16:24:02.0000] <heycam> that green smiling planet creeps me out [16:24:03.0000] <paul_irish> ditto [16:25:00.0000] <Hixie> heycam: step 5 (Compute x modulo 2^64.) of "4.2.11. unsigned long long" in Web IDL seems redundant [16:25:01.0000] <heycam> /me looks [16:27:00.0000] <heycam> what if the Number value you are converting from is larger than 2^64 [16:28:00.0000] <Hixie> well you don't use the result of the modulo [16:28:01.0000] <Hixie> so either that step is wrong or the next step is wrong [16:28:02.0000] <heycam> oh, yes [16:29:00.0000] <heycam> I must have missed that one when converting the algorithms away from using the Result(<stepnumber>) convention [16:29:01.0000] <heycam> thanks [16:30:00.0000] <Hixie> np [16:52:00.0000] <Hixie> i wonder why the industry uses both 'raise' and 'throw' for exceptions [16:53:00.0000] <Hixie> (i really should pick one and drop the other in the spec) [16:53:01.0000] <heycam> throw : catch :: raise : ? [16:54:00.0000] <Hixie> as syntax? [16:54:01.0000] <Hixie> i just meant as english terms [16:55:00.0000] <Hixie> languages i've seen that use 'raise' as a keyword use 'except on' to catch the exceptions [16:55:01.0000] <Hixie> e.g. try ... except on EFooException do ... end; [16:55:02.0000] <erlehmann> python has raise [16:55:03.0000] <Hixie> how does python catch? [16:56:00.0000] <gsnedders> There's a world outside of JS!? [16:56:01.0000] <erlehmann> try: [16:56:02.0000] <erlehmann> … [16:56:03.0000] <erlehmann> except: [16:56:04.0000] <erlehmann> except OsError: [16:56:05.0000] <erlehmann> except OsError as e: [16:56:06.0000] <erlehmann> something like that [16:56:07.0000] <Hixie> so same idea as what i've seen [16:56:08.0000] <Hixie> cool [16:56:09.0000] <Hixie> i wonder why we have these two sets of terminology [16:56:10.0000] <erlehmann> my shell is ipython, it is nice and clean :> [16:57:00.0000] <smaug____> raise sounds like old terminology, and throw something from object oriented languages [16:58:00.0000] <smaug____> just a guess [16:58:01.0000] <Hixie> both languages that were cited above are oop languages [16:58:02.0000] <smaug____> sure [16:59:00.0000] <Hixie> also oop is pretty old :-) [16:59:01.0000] <Hixie> i wouldn't be surprised if oop predated exceptions in fact 2011-06-22 [17:00:00.0000] <smaug____> it is, but I was just wondering about the origin of the terminology [17:01:00.0000] <smaug____> you throw an exception object, but raise an error (which may be also an object nowadays). [17:01:01.0000] <smaug____> anyway, just guessing [17:51:00.0000] <Hixie> hmm [17:51:01.0000] <Hixie> if we do make HTMLMediaElement audioTracks and videoTracks into arrays of Tracks, it makes it hard for us to use the same API for Streams [17:52:00.0000] <Hixie> because we wouldn't want a Stream constructor that takes an array of Tracks to be able to be given an array of Tracks from a <video> [17:52:01.0000] <Hixie> only those from a Stream [17:52:02.0000] <Hixie> hmmmm [18:25:00.0000] <nessy> ups, sorry Hixie! wasn't aware that's how you used the severity flag [18:25:01.0000] <Hixie> np [18:27:00.0000] <nessy> glad you're looking at it right now [18:28:00.0000] <nessy> it's also got to do with the text track list, because they currently come as an array and not as another object [18:30:00.0000] <nessy> Hixie, could TextTrack also inherit from AbstractTrack ? [18:30:01.0000] <ide> is this channel appropriate for spec-related questions? I'm wondering about the content types of resources served from the offline application cache [18:31:00.0000] <mpilgrim> heycam: ping [18:32:00.0000] <heycam> mpilgrim, hi [18:33:00.0000] <mpilgrim> i have more stupid webidl questions [18:33:01.0000] <heycam> ask away [18:33:02.0000] <mpilgrim> i've finished migrating webkit's indexeddb implementation to strict required-argument checking [18:33:03.0000] <mpilgrim> it throws TypeError now [18:33:04.0000] <heycam> cool [18:34:00.0000] <mpilgrim> but its null handing is still fubar [18:34:01.0000] <mpilgrim> to clarify: what should indexedDB.open(null) do? [18:35:00.0000] <heycam> Ms2ger was right, it should be the same as indexedDB.open("null") [18:36:00.0000] <mpilgrim> sigh [18:36:01.0000] <heycam> we just had this bug about it: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12798 [18:39:00.0000] <mpilgrim> ok, it's not a difficult fix [18:39:01.0000] <Hixie> nessy: why would we do that? [18:50:00.0000] <nessy> Hixie: depends on what attributes are in the AbstractTrack - I don't know what you're envisaging there [18:53:00.0000] <nessy> Hixie: are you planning to remove the TrackList object for media tracks and replace it with arrays then or is your design only for streams? [18:58:00.0000] <roc> what's the difference between a "buffered" track and a "streaming" track? [19:07:00.0000] <othermaciej> URL to a file vs something like HTTP live streaming where you get chunks and there's no such thing as the whole file? [19:07:01.0000] <roc> not in this context [19:08:00.0000] <roc> I'll wait for someone to explain it in the bug :-) [19:17:00.0000] <nessy> yeah, I am curious about that, too - as much as possible I would like to see the live streaming video data handled the same way as the file-based video data [21:06:00.0000] <Hixie> roc: the difference is between something where all you have is the data at this very second, and something where you can at least in theory seek to a different time [21:07:00.0000] <roc> so [21:07:01.0000] <roc> in my theory of everything, Streams are not seekable [21:07:02.0000] <Hixie> right [21:07:03.0000] <roc> and neither are tracks [21:07:04.0000] <Hixie> what do you mean by "tracks"? [21:07:05.0000] <roc> I'm not sure :-) [21:08:00.0000] <roc> what does seekability have to do with your tracks, though? [21:08:01.0000] <Hixie> here's the background: [21:09:00.0000] <Hixie> there are two APIs that currently happen to be the same API: HTMLMediaElement.videoTracks, and MediaStream.videoTracks [21:09:01.0000] <Hixie> HTMLMediaElement.videoTracks has as purpose the following: [21:09:02.0000] <Hixie> - expose what video streams are in the media resource [21:09:03.0000] <Hixie> - allow the author to introspect them [21:09:04.0000] <Hixie> - allow the author to switch between them [21:10:00.0000] <Hixie> MediaStream.videoTracks is currently misdesigned but in principle its purpose is to allow authors to turn off individual tracks before sending them to a peer [21:10:01.0000] <Hixie> to implement e.g. video mute [21:10:02.0000] <Hixie> (everything i'm saying here has a parallel with audioTracks, but for simplicity i'm just going to talk about videoTracks here) [21:11:00.0000] <Hixie> now the problem with the API that is used for both of the above is that it's awkward to use [21:11:01.0000] <Hixie> instead of saying media.videoTracks[0].kind you say media.videoTracks.getKind(0); [21:11:02.0000] <Hixie> it's less intuitive [21:12:00.0000] <Hixie> (getKind() et all is also slightly nicer from my standpoint because there's no extra object to worry about, so no lifetime issue, no edge cases to define like "what if you keep a reference to a track and ask for its kind after the video has changed number of tracks" [21:12:01.0000] <Hixie> or "what happens if the first track changes kind mid-way through the stream and you ask for its kind using a reference you picked up earlier") [21:13:00.0000] <Hixie> now i'm trying to fix two problems: [21:13:01.0000] <Hixie> 1. changing to the intuitive API for HTMLMediaElement.videoTracks, by having it return a Track object of some kind [21:13:02.0000] <Hixie> and defining all those edgecases somehow [21:14:00.0000] <Hixie> 2. making the "video mute" feature actually work [21:14:01.0000] <Hixie> to do 2, my current plan is to have a way to create a new MediaStream from an existing one, so you can manipulate the outputs on the second one without affecting the first one [21:15:00.0000] <Hixie> so you can getUserMedia() a (Generated)MediaStream, and plug that in (via getObjectURL) to <video> [21:15:01.0000] <Hixie> call that one userStream [21:15:02.0000] <Hixie> and you can also call new MediaStream(userStream) which returns a new MediaStream, call it secondStream [21:15:03.0000] <Hixie> on which you can disable the video without affecting the <video> [21:16:00.0000] <Hixie> and you would send secondStream to PeerConnection [21:16:01.0000] <Hixie> ok i'm shutting up now [21:16:02.0000] <Hixie> oh wait i never talked about seekabality [21:16:03.0000] <Hixie> so anyway, the concern was that at one point instead of new MediaStream(aStream) I was thinking of allowing new MediaStream([array, of, tracks]) [21:17:00.0000] <Hixie> and you wouldn't want to be able to take Track objects from the HTMLMediaElement.videoTracks list [21:17:01.0000] <Hixie> because those have nothing to do with the kinds of tracks in a MediaStream [21:17:02.0000] <Hixie> I mean, they're similar, but they're not compatible concepts [21:17:03.0000] <Hixie> but that's academic at this point since I don't think we need to allow that necessarily [21:17:04.0000] <Hixie> ok now i'm really done [21:18:00.0000] <roc> I see [21:18:01.0000] <roc> I agree building a Stream out of Tracks sounds dangerous [21:19:00.0000] <roc> what if you build a Stream out of Tracks, start playing it somewhere, and then change the media resource in the HTMLMediaElement you got the Tracks from? [21:20:00.0000] <roc> the resource loader that loaded the Tracks will have gone away [21:20:01.0000] <roc> you could define the Tracks to end or something, but it's not great [21:21:00.0000] <roc> The approach where you create a MediaStream that takes another stream as input and selects different tracks fits nicely with my work [21:23:00.0000] <Hixie> building a stream out of tracks from a <video> element just doesn't make sense to me [21:23:01.0000] <Hixie> i mean, what would the stream be? [21:23:02.0000] <Hixie> what's currently playing? [21:23:03.0000] <Hixie> that seems... bogus [21:24:00.0000] <Hixie> anyway, yeah, i think we're on the same page [21:24:01.0000] <Hixie> i need to figure out what it means if you create a MediaStream from a MediaStream that has disabled tracks [21:24:02.0000] <Hixie> do they come along as well but disabled? [21:25:00.0000] <Hixie> if so, it's kinda weird, because it means getting a url out of a MediaStream, or putting one in a PeerConnection, gets you something different than what you get if create a new MediaStream from one [21:25:01.0000] <Hixie> but if you don't, then you can never have more than one videoTrack per MediaStream constructed in this way [21:25:02.0000] <Hixie> so... [21:25:03.0000] <Hixie> not sure where to go with this exactly [21:51:00.0000] <roc> Maybe you want track enabling/disabling and track "pruning" to be separate features [21:52:00.0000] <roc> I can see use-cases for sending tracks over PeerConnection that are disabled by default [21:55:00.0000] <karlcow> http://research.microsoft.com/apps/pubs/default.aspx?id=150010 [21:55:01.0000] <karlcow> C3: An Experimental, Extensible, Reconfigurable Platform for HTML-based Applications [22:32:00.0000] <Hixie> roc: we definitely don't want it to be possible for someone to accidentally send tracks they didn't intend to send, so track pruning is my priority [22:44:00.0000] <roc> well then, maybe PeerConnection by default should not send disabled tracks, and later add the ability to opt-in to that [22:44:01.0000] <Hixie> yeah [23:01:00.0000] <zewt> apparently to browser vendors "faster release schedules" just means "we no longer understand version numbering", heh [23:02:00.0000] <zewt> i mean, firefox 5? really? [23:06:00.0000] <Hixie> what's wrong with firefox 5? [23:06:01.0000] <zewt> it's a minor release of firefox 4, heh [23:07:00.0000] <roc> version numbers are stupid for anything other than calculating "this is newer than that" [23:07:01.0000] <Hixie> hear hear [23:07:02.0000] <zewt> major version numbers should indicate major releases; this is definitely not a major release [23:08:00.0000] <roc> what difference does it make to anyone whether it's a "major" or "minor" release (if you can even get people to agree on what those mean)? [23:09:00.0000] <zewt> if people see "firefox 5", jump to upgrade because it looks like a major release, and then they quite literally can't tell the difference, then I wouldn't expect them to even bother when 6 comes around [23:09:01.0000] <Hixie> if you have a schedule like chrome's, which i believe is what firefox is now doing (right?), there's no such thing as a major release [23:09:02.0000] <roc> zewt: then they're fools, because every release has significant security improvements [23:10:00.0000] <roc> of course a lot of people are fools, so we'll auto-update them [23:10:01.0000] <zewt> not if it's competently maintained; older releases must have security updates for a reasonable amount of time [23:11:00.0000] <roc> we never get to backport all our security improvements, since some of them are too risky [23:12:00.0000] <roc> obviously things are different for known-in-the-wild security issuses [23:13:00.0000] <roc> anyway, the mentality of only updating when there are major UI changes is silly [23:13:01.0000] <zewt> firefox's history makes me very careful about upgrading, heh [23:14:00.0000] <zewt> which is alleviated with the updates being more frequent, of course, but still [23:14:01.0000] <roc> I don't believe that people are going to think "a minor update that doesn't change the UI is OK, I"ll update, but a major update that doesn't change the UI must have something wrong with it so I won't update" [23:16:00.0000] <nessy> people will run whatever latest version you give them [23:17:00.0000] <Hixie> tell the IE6 users that ;-) [23:22:00.0000] <nessy> they are not normal people - they are corporates ;) [00:34:00.0000] <hsivonen> Hixie: are you awere of compat issues preventing a spec change to make the task that fires DOMContentLoaded set readyState to "interactive" [00:34:01.0000] <hsivonen> *aware [00:34:02.0000] <Hixie> not off-hand [00:34:03.0000] <Hixie> what do browsers do today? [00:39:00.0000] <hsivonen> Hixie: Gecko does what the spec says [00:39:01.0000] <hsivonen> Hixie: I haven't tested others [00:39:02.0000] <hsivonen> I suppose I should [01:31:00.0000] <hsivonen> I guess I now need an EDITORIAL ASSISTANT'S RESPONSE boilerplate [01:31:01.0000] <hsivonen> should the "reconsider" bit say "editor" or "editorial assistant"? [01:32:00.0000] <hsivonen> I suppose Editor [01:32:01.0000] <hsivonen> does http://pastebin.mozilla.org/1255208 look ok? [01:38:00.0000] <MikeSmith> hsivonen: looks OK to me [01:39:00.0000] <MikeSmith> and I for one think it's great that we can now use the phrase “editorial assistants” as a synonym for the cabal [01:40:00.0000] <Hixie> aren't you just supposed to use the same boilerplate i use? [01:41:00.0000] <Hixie> not that i care one way or the other [01:41:01.0000] <Ms2ger> Enjoy the extra work, all :) [01:41:02.0000] <MikeSmith> hsivonen: you have "If you have additional information and would like the Editor reconsider, please..." in there [01:41:03.0000] <MikeSmith> don't know if original has that too [01:42:00.0000] <Hixie> wait how did ms2ger get away with not being one of these assistant thingies [01:44:00.0000] <MikeSmith> but seems like it should instead rather be either "information you would like the Editor reconsider" or "and would like the Editor reconsider it" [01:44:01.0000] <hsivonen> MikeSmith: I copied what I saw Hixie use [01:44:02.0000] <Ms2ger> We clearly lack a Process to define the boilerplate [01:44:03.0000] <MikeSmith> process is: monkey see, monkey do :) [01:45:00.0000] <MikeSmith> just kidding [01:45:01.0000] <hsivonen> Ms2ger: Indeed. I was bold enough to use a boilerplate without a Process: http://www.w3.org/Bugs/Public/show_bug.cgi?id=12950#c6 [01:46:00.0000] <MikeSmith> way to set an example [01:46:01.0000] <MikeSmith> good precedent [01:46:02.0000] <MikeSmith> let's have more of that [01:46:03.0000] <Ms2ger> Good, that was a bug in need of wontfixing :) [01:47:00.0000] <Hixie> you know, you could be wontfixing bugs too! [01:47:01.0000] <Hixie> /me dangles a wontfix hammer in front of ms2ger [01:48:00.0000] <Ms2ger> /me wontfixes the bug to become an EA [01:48:01.0000] <MikeSmith> a while back, I think I remember somebody saying we should add a resolution status of ONLYONEPERSONINTHEENTIREUNIVERSECARESABOUTTHIS [01:48:02.0000] <Ms2ger> /me hands it back [01:48:03.0000] <MikeSmith> I don't remember who said that [01:48:04.0000] <Ms2ger> Let's make it two, we don't want to exclude Julian [01:48:05.0000] <MikeSmith> but I'm just (re)noting it here for the record [01:49:00.0000] <Ms2ger> OTOH, Hixie would probably use it for all my bugs [01:50:00.0000] <MikeSmith> I think somebody else suggested "YAGNI" [01:50:01.0000] <MikeSmith> which whatever that is, I don't even know [01:55:00.0000] <hsivonen> dear lazy IRC, why is the gedit command-line command opening new gedit instances for me now? It used to open new tabs in an existing gedit process [02:00:00.0000] <hsivonen> hmm. how is the pageshow event supposed to work with the initial about:blank? [02:00:01.0000] <Hixie> an excellent question [02:00:02.0000] <Hixie> iirc the spec doesn't fire it [02:00:03.0000] <hsivonen> it appears I broke a whole bunch of chrome mochitests [02:01:00.0000] <hsivonen> but I don't know yet if my patch is bogus or if the tests are bogus [02:06:00.0000] <Ms2ger> Or both [02:14:00.0000] <hsivonen> anyway, about:blank now passes reftest, crashtest, mochitest-a11y and mochitest-plain (with a leak) [02:14:01.0000] <hsivonen> mochitest-chrome and mochitest-browser-chrome to go [02:15:00.0000] <hsivonen> looks like pageshow is a major issue [02:29:00.0000] <hsivonen> page loading is always even harder than it seems :-( [02:38:00.0000] <annevk> http://mobile.twitter.com/diveintomark/status/81701979130314752 is funny, wish I'd seen that one when it came along [02:39:00.0000] <zcorpan> Hixie: isn't it more useful to use labels instead of severity (and other fields) for categorization of bugs? [02:40:00.0000] <zcorpan> Hixie: like 'parsing', 'media', etc [02:40:01.0000] <MikeSmith> annevk: I guess no W3C team member would be allowed to officially condone that tweet [02:41:00.0000] <zcorpan> people will continue to change severity and not realize that 'critical' means 'parsing' [02:41:01.0000] <annevk> MikeSmith, I guess you only talk about your crazy uncle behind his back? [02:42:00.0000] <MikeSmith> I don't have any crazy uncle [02:42:01.0000] <MikeSmith> in my family, I am the crazy uncle [02:43:00.0000] <MikeSmith> so if the TAG is a crazy uncle, then, hey, I've found something I have in common with the TAG [02:43:01.0000] <Ms2ger> MikeSmith, not just in your family [02:43:02.0000] <MikeSmith> heh [02:44:00.0000] <MikeSmith> now, btw, that I would ever myself describe the TAG as a crazy uncle [02:44:01.0000] <MikeSmith> one of you Editorial Assistants please make sure that gets noted in the record [02:44:02.0000] <zcorpan> wait, is MikeSmith == TAG? [02:45:00.0000] <MikeSmith> zcorpan: hey, wait, you been reading more of my proposals for process improvements? [02:45:01.0000] <MikeSmith> I thought I had those set to Member-only [02:46:00.0000] <zcorpan> i can read Member stuff you know [02:46:01.0000] <MikeSmith> well, quit doing that [02:47:00.0000] <hsivonen> XUL makes about:blank even harder [02:47:01.0000] <annevk> what is the deal with the normative language spec? [02:47:02.0000] <annevk> is the TAG hoping for consumers of HTML to arise that are incompatible with other implementations? [02:49:00.0000] <MikeSmith> /me moves his proposals into secret Super Member space [02:50:00.0000] <MikeSmith> hsivonen: I was going to try to say something clever about XUL, but I'll bite my tongue instead [02:50:01.0000] <zcorpan> wait editorial assistants also need boilerplate? boo [02:52:00.0000] <zcorpan> /me wonders where to save the boilerplate for future copy-paste [02:52:01.0000] <Ms2ger> MikeSmith, Team space? [02:53:00.0000] <hsivonen> boo. OMG! Ubuntu uses Disqus for comments [02:54:00.0000] <MikeSmith> Ms2ger: hmm, how would that work in combination with the existing secret Super Team space? [02:55:00.0000] <MikeSmith> hey wait, I don't seem to have read access to secret Super Team space documents any more. Has to be some kind of bug [02:55:01.0000] <Ms2ger> Oh no, I changed that [02:56:00.0000] <zcorpan> hsivonen: where does it say that editorial assistants are to use the boilerplate? [02:56:01.0000] <Ms2ger> You hang around with the WHATWG too much [03:00:00.0000] <annevk> Ms2ger, for contentType and the various charset attributes I thought we could just give Document 4 additional internal variables [03:01:00.0000] <annevk> Ms2ger, we set them to the correct values for createDocument and createHTMLDocument calls, Hixie handles the rest [03:01:01.0000] <Ms2ger> WFM [03:03:00.0000] <Ms2ger> /me adds some warnings for Attr nodes [03:07:00.0000] <annevk> bug #? [03:07:01.0000] <hsivonen> zcorpan: It doesn't say that anywhere, but it seems obvious [03:08:00.0000] <annevk> yeah, we do the same as the editor [03:08:01.0000] <Ms2ger> 661327 [03:11:00.0000] <annevk> nice [03:41:00.0000] <annevk> Hmm, I wonder if a test suite for progress events makes sense [03:41:01.0000] <annevk> Maybe for the interface... [03:45:00.0000] <annevk> I am going to rename custom request headers in CORS to author request headers [03:48:00.0000] <annevk> Does not seem to affect HTML; good [03:55:00.0000] <hsivonen> soo... don't pageshow and friends not propagade from iframe's window object to the iframe element? [03:55:01.0000] <jgraham> How would a >TS for progress events not make sense? [03:56:00.0000] <zcorpan> hsivonen: why would they? [03:56:01.0000] <hsivonen> zcorpan: load does [03:57:00.0000] <hsivonen> when does the outer window of an iframe come to existence? [03:57:01.0000] <annevk> jgraham, apart from the interface, how would you test them? [03:57:02.0000] <zcorpan> hsivonen: so? [03:57:03.0000] <hsivonen> zcorpan: logic [03:57:04.0000] <zcorpan> hsivonen: use case? [03:58:00.0000] <hsivonen> zcorpan: understanding when they fire :-) [03:58:01.0000] <jgraham> annevk: I haven't looked at the spec in detail but I assume there are some requirements. Or can one "implment" it by implementing the interface and then never dispatching any events? [03:58:02.0000] <annevk> jgraham, other specs make the requirements [03:58:03.0000] <annevk> like XHR [03:58:04.0000] <zcorpan> hsivonen: WONTFIX :P [03:58:05.0000] <annevk> the only normative bit is the interface and its attributes, but what they return is set in other specs [03:59:00.0000] <annevk> I guess I should email webapps [03:59:01.0000] <jgraham> annevk: Well I guess that's what you can test then [03:59:02.0000] <hsivonen> zcorpan: Is there any way to add an event listener for pageshow to an iframe's window object before inserting the iframe into the document? [04:00:00.0000] <hsivonen> does .contentWindow always, by definition, emerge only upon the insertion? [04:01:00.0000] <zliu> Is PeerConnection 's audio/video content encrypted? [04:02:00.0000] <hsivonen> I guess the dual nature of browsing contexts in XUL and in the Web platform is the source of my troubles today [04:02:01.0000] <zcorpan> hsivonen: is the iframe's document about:blank? [04:03:00.0000] <hsivonen> zcorpan: yeah, but the document emerges only upon the creation of the browsing context, too [04:04:00.0000] <zcorpan> is pageshow fired sync or is it queued? [04:04:01.0000] <hsivonen> zcorpan: oh. good point [04:05:00.0000] <zcorpan> "If the Document is in a browsing context, then queue a task to fire a pageshow " [04:05:01.0000] <annevk> zliu, http://www.whatwg.org/specs/web-apps/current-work/complete.html#security-considerations [04:07:00.0000] <zcorpan> though maybe about:blank pages don't run the "the end" parsing steps? [04:08:00.0000] <hsivonen> I guess my problem today is annoying code sharing between the Web and XUL [04:08:01.0000] <hsivonen> and that code is a "here be dragons" area [04:09:00.0000] <hsivonen> so earlier I papered over it [04:09:01.0000] <hsivonen> but apparently not well enough! [04:09:02.0000] <zewt-> better cardboard over it next time [04:11:00.0000] <zliu> So PeerConnection's audio/video content is "data UDP media streams"? I had thought not. [04:48:00.0000] <jgraham> // It is defined here because jslint complains if it is declared [04:48:01.0000] <jgraham> // at the end of the function (which would be more logical and readable) [04:49:00.0000] <annevk> zliu, oh [04:49:01.0000] <annevk> hmm [04:49:02.0000] <annevk> /me didn't look int detail [05:20:00.0000] <annevk> is it "one or more is" or "one or more are" [05:21:00.0000] <annevk> "are" right? [05:24:00.0000] <annevk> oh, just read that CDATASection bug in Gecko [05:24:01.0000] <annevk> some people are not amused [05:24:02.0000] <Ms2ger> Speaking of which, I need to write some new patches [05:26:00.0000] <annevk> so is Gecko releasing every six weeks now? [05:30:00.0000] <zcorpan> firefox, yes [05:38:00.0000] <remy> Any folks around to answer an appcache question? [05:39:00.0000] <zcorpan> remy: don't ask to ask [05:39:01.0000] <remy> zcorpan: you'd think, right? I've asked in the past, but all I got was tumbleweed [05:39:02.0000] <remy> appcache - FALLBACK - I can't work out from the spec - should it support "star rules", ie. *.html offline.html ? [05:40:00.0000] <remy> because Firefox does support it, and Chrome and Opera don't [05:40:01.0000] <remy> yet, NETWORK uses that syntax [05:40:02.0000] <remy> bottom line - I can't work out from the spec what's correct - so a little help :) [05:41:00.0000] <annevk> remy, no [05:41:01.0000] <annevk> remy, bug in Firefox [05:42:00.0000] <remy> don't you think that it should be a feature of the appcache, i.e. firefox's "bug" should be in Chrome, et al? [05:42:01.0000] <smaug____> bug in Firefox or in the spec ;) [05:43:00.0000] <annevk> remy, if we want to make the spec more complex [05:44:00.0000] <annevk> remy, currently the first URL is resolved and is then prefix matched [05:44:01.0000] <annevk> remy, no regexp-like magic [05:44:02.0000] <remy> yet the NETWORK category *does* use regexp-like magic [05:44:03.0000] <annevk> no [05:45:00.0000] <remy> well - it does in the browsers [05:45:01.0000] <remy> I've got a site with a rule for /remote/* under network, and all browsers respect that rule [05:45:02.0000] <annevk> it can only be a single * [05:46:00.0000] <remy> I don't follow - are you saying that my /remote/* rule is fine? [05:46:01.0000] <annevk> sure, it's valid [05:46:02.0000] <annevk> but it doesn't do what you think it does [05:46:03.0000] <remy> but *.html isn't [05:46:04.0000] <remy> ah [05:46:05.0000] <annevk> *.html is also valid [05:46:06.0000] <annevk> also doesn't do what you think it does [05:46:07.0000] <remy> not for FALLBACK [05:46:08.0000] <remy> okay [05:46:09.0000] <zcorpan> if you have a file called "*.html" [05:46:10.0000] <remy> so I've got the wrong end of the stick - can you put me on the right path? [05:47:00.0000] <remy> zcorpan: sure - that'll work [05:47:01.0000] <zcorpan> i mean it'd match that file [05:47:02.0000] <zcorpan> not foo.html [05:47:03.0000] <remy> yeah, and I'm saying that it *should* match foo.html and I think it's a bug in the spec [05:47:04.0000] <remy> I know Firefox has gone and implemented this already [05:48:00.0000] <remy> and I know that the network rules work the same way (though annevk is going to explain why it really works) [05:48:01.0000] <annevk> well, maybe Firefox has some magic I don't know about [05:49:00.0000] <remy> Okay, let's ignore Firefox for a minute [05:49:01.0000] <annevk> but I'm pretty sure we never implemented anything like that [05:49:02.0000] <remy> well - it works, happy to upload a demo of it if you're unsure [05:49:03.0000] <remy> can I rewind for a min - the NETWORK rules [05:49:04.0000] <remy> I've got: /remote/* under network [05:50:00.0000] <remy> and requests to /remote/[anything here] are never cached [05:50:01.0000] <remy> suggesting there's a regex going on when the url is requested, it's matched to the rule, and therefore is under the whitelist [05:50:02.0000] <remy> is that a correct understanding of it? [05:51:00.0000] <annevk> do you also use *? [05:51:01.0000] <annevk> stuff not in the manifest is not cached by default [05:51:02.0000] <remy> stuff not in the manifest is never requested - regardless [05:51:03.0000] <remy> every browser currently has that bug [05:51:04.0000] <annevk> no that's a feature [05:51:05.0000] <annevk> well, per spec [05:51:06.0000] <remy> a feature? [05:51:07.0000] <remy> damn. [05:52:00.0000] <annevk> you should read the spec :) [05:52:01.0000] <remy> I have, several times and if I still can't get it right, I'm pretty sure there's many others that aren't. [05:52:02.0000] <remy> I'm now asking about three different things - but for the sake of getting it right - [05:52:03.0000] <annevk> i agree it's pretty tough [05:53:00.0000] <remy> can you point me to where in the spec, it says: if the manifest is used, any asset not mentioned by the manifest is never requested by the browser [05:53:01.0000] <remy> (i.e. resulting in broken images, etc) [05:54:00.0000] <annevk> sure [05:54:01.0000] <remy> (I'm not asking to be a dick, I really do want that info - because it's tripping folks up, and I want to put them on the right path) [05:54:02.0000] <annevk> /me looks [05:54:03.0000] <remy> annevk: ta [05:55:00.0000] <annevk> I realize it's useful if you know :) [05:55:01.0000] <annevk> http://www.whatwg.org/specs/web-apps/current-work/complete/offline.html#changesToNetworkingModel [05:55:02.0000] <annevk> the key here is step 5 [05:56:00.0000] <annevk> if there's no wildcard set (by using a single * in NETWORK) resource loads fail [05:56:01.0000] <annevk> this is primarily done to improve debugging if I remember correctly [05:56:02.0000] <remy> well - the note is the key thing in there for me! [05:57:00.0000] <annevk> oh yeah, the note is pretty clear too :) [05:57:01.0000] <annevk> I typically ignore the non-normative stuff :) [05:57:02.0000] <remy> by "blocking" or "open" - does "blocking" usually come about by not including anything in the network namespace? [05:59:00.0000] <annevk> remy, yes, that is the default [05:59:01.0000] <remy> okay. good - cheers. [05:59:02.0000] <remy> if you've still got a minute, I'd like to get this star rule stuff straight [06:01:00.0000] <smaug____> /me can't immediately see any bug in Fx's appcache parsing. But he isn't familiar with that code. [06:01:01.0000] <remy> smaug____: I'll upload an example of FALLBACK using the star rule in a bit [06:02:00.0000] <remy> annevk: I *had* a network rule that read: /remote/* [06:03:00.0000] <remy> as per here (note that I've just commented it out): http://jsconsole.com/jsconsole.appcache [06:03:01.0000] <smaug____> in the fallback section I don't see any special handling for * in Fx [06:03:02.0000] <remy> was the /remote/* ever being used - or was it looking for a file called: /remote/* (as in a file called star)? [06:04:00.0000] <smaug____> as far as I see /remote/* is interpret as URL [06:05:00.0000] <annevk> remy, it is used as a prefix match /remote/* [06:05:01.0000] <annevk> remy, so every URL that starts with /remote/* would match [06:05:02.0000] <remy> as in a literal asterisk? [06:06:00.0000] <annevk> yeah sorry [06:06:01.0000] <annevk> so resources like "/remote/*test" [06:06:02.0000] <hsivonen> http://hsivonen.iki.fi/test/moz/about-blank-pageshow.html [06:07:00.0000] <hsivonen> why don't I see DOMContentLoaded and pageshow in Opera? [06:07:01.0000] <annevk> hsivonen, I am a little shocked you are still working on about:blank after three months (and I think it has been longer) [06:07:02.0000] <remy> annevk: blimey. okay, then a lot of the folk, including me, have been writing about this completely wrong! [06:07:03.0000] <gsnedders> hsivonen: we don't have pageshow/unshow [06:08:00.0000] <hsivonen> annevk: well, I've done other stuff, too, I haven't worked on this as my only task [06:08:01.0000] <hsivonen> annevk: but, yeah, it's pretty shocking [06:08:02.0000] <annevk> remy, oops, guess we should have some WHATWG regulars attend these conferences and read the tutorials [06:08:03.0000] <remy> annevk: => http://www.html5rocks.com/en/tutorials/appcache/beginner/ [06:08:04.0000] <hsivonen> annevk: note that this thing has been pending for over a year [06:08:05.0000] <smaug____> s/unshow/pagehide/ [06:08:06.0000] <hsivonen> annevk: I started working on this stuff over a year ago [06:09:00.0000] <hsivonen> annevk: but we decided to postpone this work past Firefox 4 [06:09:01.0000] <gsnedders> hsivonen: I also wouldn't be surprised if we didn't fire DOMContentLoaded on about:blank [06:09:02.0000] <hsivonen> gsnedders: ok [06:09:03.0000] <gsnedders> smaug____: Proof that we don't implement it that I don't have a clue what it is called. :) [06:10:00.0000] <remy> annevk: hmm, actually - some cases the star is working as a regex [06:10:01.0000] <gsnedders> hsivonen: We don't actually use the parser for about:blank. [06:10:02.0000] <remy> let me quickly change my demo [06:10:03.0000] <hsivonen> some of the slowness can be blamed on me, but I blame the rest of the slowness to our load event firing code, readyState code and XUL [06:10:04.0000] <hsivonen> none of those three is happy code [06:10:05.0000] <smaug____> gsnedders: does Opera not have anything like bfcache? [06:12:00.0000] <jgraham> We have bfcache [06:12:01.0000] <jgraham> We had taht before Gecko I believe [06:12:02.0000] <remy> annevk: okay, I used to have a rule that read: http://* - but we're saying that wouldn't match anything unless it had a star at the start [06:12:03.0000] <smaug____> remy: seems like http://www.html5rocks.com has buggy documentation [06:13:00.0000] <remy> smaug____: random, given that it's coming out of google - but the offline stuff has confused people for a long while - even the "appcachefacts.info" has some stuff incorrect (follow this chat today) [06:13:01.0000] <annevk> hsivonen, I see, well, best of luck :) [06:14:00.0000] <annevk> hsivonen, hopefully ten years from now about:blank is a solved problem [06:14:01.0000] <remy> annevk: is there an exception in the spec to say if the NETWORK rule is * only, it will open the whitelist? [06:14:02.0000] <smaug____> jgraham: just curious, in which cases is the bfcache disabled? In Gecko for example unload and beforeunload listeners disable it [06:15:00.0000] <annevk> remy, yeah [06:15:01.0000] <remy> aaaahhhh. [06:15:02.0000] <annevk> remy, let me give you a pointer [06:15:03.0000] <hsivonen> right now, I'm most worried about breaking XUL-based Firefox extensions if I make the initial about:blank sane for XUL-based browsing contexts, too [06:15:04.0000] <gsnedders> smaug____: IIRC it never is [06:15:05.0000] <remy> okay, that explains how the hell it's confused. [06:15:06.0000] <hsivonen> well, for Webby values of "sane" [06:15:07.0000] <smaug____> gsnedders: hmm, interesting [06:15:08.0000] <annevk> remy, http://www.whatwg.org/specs/web-apps/current-work/complete/offline.html#dfnReturnLink-0 [06:15:09.0000] <annevk> (that is for authors) [06:16:00.0000] <smaug____> gsnedders: what happens if you have an active XHR? [06:16:01.0000] <gsnedders> smaug____: Dunno. [06:16:02.0000] <smaug____> (Gecko also disables the bfcache if there are active requests like XHR) [06:16:03.0000] <remy> annevk: that link frag identifier isn't working for me :( stupid browser [06:16:04.0000] <annevk> remy, http://www.whatwg.org/specs/web-apps/current-work/complete/offline.html#parsing-cache-manifests (for user agents) step 28 under "online whitelist" [06:16:05.0000] <annevk> remy, oops [06:17:00.0000] <remy> got it [06:17:01.0000] <remy> cheers [06:17:02.0000] <remy> Well, I'm updating the offline chapter - which is why I'm asking all these questions. [06:17:03.0000] <remy> thank you annevk you've cleaned up a lot of misunderstanding I had [06:17:04.0000] <annevk> remy, http://www.whatwg.org/specs/web-apps/current-work/complete/offline.html#writing-cache-manifests under "Data for the current section" is for authors [06:18:00.0000] <annevk> remy, glad to help out [06:19:00.0000] <annevk> remy, if you want new functionality in the spec, best to email whatwg⊙wo with use cases (for best results avoid suggesting/starting with syntax) [06:19:01.0000] <remy> the irony being that the * character implies syntax already :) [06:19:02.0000] <remy> hence the confusion around the subject [06:20:00.0000] <annevk> e.g. "I'd like different fallback for HTML and GIF resources." [06:20:01.0000] <annevk> plus some rationale [06:20:02.0000] <hsivonen> gsnedders: IE9 fires DOMContentLoaded for about:blank, FWIW [06:20:03.0000] <remy> yeah, it's things like having a fallback for avatars to a default image [06:20:04.0000] <hsivonen> but not pageshow [06:20:05.0000] <hsivonen> does pageshow exist at all in IE9? [06:21:00.0000] <annevk> remy, on the other hand, if avatars are in /avatars you can do that by /avatars /avatars/fallback.png [06:21:01.0000] <remy> annevk: so it's kinda like a substring match? [06:21:02.0000] <annevk> yeah, HTML calls it a "prefix match" [06:22:00.0000] <remy> prefix being ambiguous since files have prefixes -- but yeah, I'm getting that now. [06:22:01.0000] <gsnedders> hsivonen: Ask jgraham what Ragnarök does. [06:22:02.0000] <annevk> (also not the URLs are resolved before this "prefix match" so you can use /avatars in the manifest but ../avatars/... in your HTML) [06:22:03.0000] <remy> wow, subtle differences in understanding leaving me feeling rather rodgered. [06:23:00.0000] <remy> annevk: okay, as in the browser works out what the resource url is before looking up against the manifest entries? [06:24:00.0000] <annevk> the browser turns /avatar in the manifest into http://example.org/avatar and uses that as prefix match [06:25:00.0000] <annevk> i.e. it doesn't use the actual string found in the manifest but turns it into an absolute URL first [06:25:01.0000] <remy> yep - that makes sense. [06:25:02.0000] <Ms2ger> Then you must misunderstand it :) [06:25:03.0000] <Ms2ger> Nothing ever makes sense on the web [06:26:00.0000] <annevk> Ms2ger, that sounds like logic [06:26:01.0000] <annevk> violating the house rules again! [06:26:02.0000] <Ms2ger> :( [06:26:03.0000] <remy> you've been a big help, I'll make sure this gets written up in lay-dev terms [06:50:00.0000] <annevk> http://www.youtube.com/watch?v=bqtdAGjLGzo this is pretty cool [06:54:00.0000] <benschwarz> remy! [06:56:00.0000] <annevk> already gone [06:57:00.0000] <benschwarz> oh. damn [06:57:01.0000] <benschwarz> never chatted with @rem live [07:34:00.0000] <annevk> I wonder how getUserMedia() is planned to be extended in the future [07:34:01.0000] <annevk> You'd think those four tokens could just be on the same level... [07:47:00.0000] <annevk> HTML has a bunch of "If callback is null, abort these steps." that can probably be replaced by simply not allowing the callback to be null [07:47:01.0000] <annevk> though I guess that would be inconsistent with e.g. addEventListener and friends [07:47:02.0000] <annevk> as you would get an exception [07:50:00.0000] <zcorpan> seems nicer to be able to use null instead of function(){} [07:50:01.0000] <zcorpan> if you e.g. don't care about the success callback but care about the error callback [07:52:00.0000] <boblet> normally the cite attribute for <blockquote> and <q> is for the quote’s source URL. I notice on the bottom of http://wiki.whatwg.org/wiki/Cite it’s been used to semantically link to an in-page link—an id on the author’s name [07:52:01.0000] <annevk> zcorpan, what API is that? [07:53:00.0000] <zcorpan> annevk: e.g. geolocation [07:53:01.0000] <annevk> PeerConnection says it is for client-to-client, but the descriptions are for servers. [07:53:02.0000] <annevk> zcorpan, why would you not care about success? [07:54:00.0000] <annevk> How do you use it client-to-client? [07:55:00.0000] <zcorpan> annevk: maybe you don't need geolocation right now but will need it later, and want to inform the user not to waste time if geolocation isn't available, or something [07:55:01.0000] <boblet> …putting aside the incorrect use of <cite> in that example, would <p>As <span id="quote-author1">George R. R. Martin</span> wrote, <q cite="#quote-author1">As soon as it’s released I’ll let you know</q></p> be a legit way to use @cite in <q>? [07:56:00.0000] <annevk> no [07:57:00.0000] <annevk> cite="" points to context [07:58:00.0000] <boblet> annevk: cool. thought it was iffy but couldn’t figure out why [07:58:01.0000] <asmodai> Heh cool [07:58:02.0000] <boblet> annevk: also welcome back you slacker :p [07:58:03.0000] <asmodai> talking with Rachel Blum who recently joined the Chrome team about BiDi stuff [08:00:00.0000] <asmodai> annevk: pointed her to a post of yours at least [08:00:01.0000] <asmodai> And some other pointers/hints. [08:01:00.0000] <annevk> "The q element must not be used in place of quotation marks that do not represent quotes; for example, it is inappropriate to use the q element for marking up sarcastic statements." that should be "should not", no? [08:01:01.0000] <annevk> boblet, hehe [08:01:02.0000] <annevk> boblet, the spec is not that clear it seems, but it seems really weird to just point back to the author [08:01:03.0000] <annevk> boblet, not really helping anyone [08:02:00.0000] <annevk> boblet, maybe file a bug? and ask for an example of cite=""; the spec has none [08:02:01.0000] <boblet> annevk: presume the reason is to explicitly associate author with quotation [08:02:02.0000] <boblet> ok, will do [08:02:03.0000] <annevk> thanks! [08:03:00.0000] <annevk> asmodai, :) you're on the Chrome team? [08:05:00.0000] <adactio> Actually, I *do* the q element for sarcastic comments but I use the class attribute to distinguish them: <q class="air">social media guru</q> [08:05:01.0000] <adactio> (I don't style them any differently though) [08:05:02.0000] <boblet> annevk: ? http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-q-element has an example of @cite (blockquote too) [08:06:00.0000] <boblet> no mention of a way to explicitly associate an author with a <q> though (possible with <blockquote> using <footer>) [08:07:00.0000] <annevk> oops [08:08:00.0000] <asmodai> annevk: nah [08:09:00.0000] <asmodai> annevk: I know someone who works there now though [08:09:01.0000] <asmodai> annevk: Who's digging into this whole BiDi stuff. [08:09:02.0000] <annevk> bidi is seriously complicated :/ [08:12:00.0000] <asmodai> annevk: I wonder how much of those algorithms make sense in the current day world though. [08:18:00.0000] <annevk> Ms2ger, suggestions for labeling the old initEvent()? dom-Event-initEvent-old ? [08:25:00.0000] <annevk> actually writing down InitEvent dictionaries is more complicated than I thought [08:34:00.0000] <annevk> so passing a dictionary to an event using a different interface than the dictionary is associated with should throw [08:34:01.0000] <annevk> it needs to be both easy to define a new dictionary and be clear that inherited members are also set [08:40:00.0000] <annevk> heycam|away, what if a passed dictionary has a key that is not allowed? [08:41:00.0000] <annevk> heycam|away, ah, it seems that it will be dropped [08:42:00.0000] <smaug____> annevk: what do you mean with initEvent dictionaries? [08:42:01.0000] <smaug____> what kind of changes are you making? [08:43:00.0000] <annevk> initEvent(dictionary) [08:43:01.0000] <smaug____> is it about passing { foo: bar} to init*Event ? [08:43:02.0000] <annevk> yes [08:43:03.0000] <smaug____> is it already defined how passing {} works? [08:45:00.0000] <annevk> smaug____, http://dev.w3.org/2006/webapi/WebIDL/#idl-dictionaries [08:45:01.0000] <Ms2ger> There was some discussion about unknown keys in IDB, I think we ended up not throwing [08:46:00.0000] <smaug____> annevk: so you propose that using dictionaries will be an additional way to initialize events? [08:47:00.0000] <Ms2ger> Maybe use initEvent-dict for the new one? [08:47:01.0000] <annevk> smaug____, as the only way forward [08:47:02.0000] <annevk> smaug____, only keep init*Event where required [08:47:03.0000] <annevk> once I figure out how to write it down :) [08:49:00.0000] <smaug____> not that this is at all agreed or anything - but I guess I could accept such syntax [08:50:00.0000] <smaug____> need to verify that Dictionaries work in a sane way [08:50:01.0000] <annevk> nobody objected on the list three months ago [08:50:02.0000] <annevk> and lots of people liked it [08:50:03.0000] <annevk> that's enough agreed for me [08:51:00.0000] <smaug____> how did webidl end up solving the getter problem [08:53:00.0000] <annevk> not sure [08:53:01.0000] <annevk> I think by converting objects to dictionaries somehow [08:54:00.0000] <smaug____> btw, the new init method should be probably called just init() [08:54:01.0000] <annevk> good idea [08:54:02.0000] <smaug____> since the object is already event, why call it initEvent [08:55:00.0000] <annevk> yeah [09:11:00.0000] <annevk> so we have some net neutrality law now [09:11:01.0000] <annevk> next Tuesday they're gonna vote to remove the amendment that accidentally made it in... [09:12:00.0000] <annevk> oh, too soon, Eerste Kamer has to approve it also [09:13:00.0000] <mpilgrim> heycam|away: once https://bugs.webkit.org/show_bug.cgi?id=63110 , https://bugs.webkit.org/show_bug.cgi?id=63114 , and https://bugs.webkit.org/show_bug.cgi?id=63140 land, WebKit's IndexedDB implementation will be fully spec-compliant w.r.t. missing and null arguments [09:14:00.0000] <Ms2ger> mpilgrim++ [09:29:00.0000] <annevk> the new way to initialize events: https://bitbucket.org/ms2ger/dom-core/changeset/b9bb17789db9 [09:29:01.0000] <Ms2ger> ...I heard my name? [09:30:00.0000] <annevk> review? [09:30:01.0000] <annevk> :) [09:33:00.0000] <smaug____> annevk: could you please make sure the getter handling is ok [09:34:00.0000] <smaug____> I mean, if getters are supported, it must be defined in which order they are called etc [09:34:01.0000] <Ms2ger> r=me, r?heycam ;) [09:34:02.0000] <smaug____> and when they are called [09:34:03.0000] <annevk> smaug____, that is up to heycam|away no? [09:34:04.0000] <smaug____> sure, but if it isn't defined yet, it is a bit strange to add event.init() [09:35:00.0000] <annevk> smaug____, I think that is what http://dev.w3.org/2006/webapi/WebIDL/#es-dictionary does [09:35:01.0000] <annevk> smaug____, but I do not really know for sure [09:36:00.0000] <smaug____> ok [09:36:01.0000] <smaug____> heycam|away: ^^^^ [09:39:00.0000] <smaug____> this all allows new kinds of loops. event.init({ getter type: function() { event.init(this) }}) [09:39:01.0000] <smaug____> but I guess browsers just need to handle that like they handle other endless loops [09:40:00.0000] <annevk> I thought the whole idea was that dictionary types prevented that [09:40:01.0000] <smaug____> perhaps [09:43:00.0000] <Ms2ger> The ES people didn't like that, IIRC [09:46:00.0000] <Ms2ger> http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-init [09:48:00.0000] <annevk> hober, the IDL does not change based on a content attribute [09:49:00.0000] <annevk> Ms2ger, ta [09:49:01.0000] <Ms2ger> We should really get you set up some day ;) [09:49:02.0000] <annevk> this works [09:49:03.0000] <annevk> hober, the second statement is not for UAs [09:50:00.0000] <hober> annevk: ok. [09:50:01.0000] <annevk> hober, there is simply no defined UI for placeholder and type=range and therefore it does nothing [09:50:02.0000] <annevk> but reflection and all still works [09:50:03.0000] <hober> annevk: right [09:50:04.0000] <hober> annevk: that's what we thought internally, but the spec could be clearer [09:50:05.0000] <smaug____> seems like webidl does allow getters [09:51:00.0000] <annevk> smaug____, I guess you can ask sicking about the details [09:51:01.0000] <annevk> smaug____, Indexed DB uses it too [09:51:02.0000] <smaug____> yeah [09:51:03.0000] <smaug____> I should probably ask bent, not sicking [11:34:00.0000] <linclark> is there a microdata discussion list? [11:34:01.0000] <Ms2ger> whatwg⊙wo [12:55:00.0000] <AryehGregor> nodeList[nodeList.length - 1].parentNode.insertBefore(document.createElement("br"), nodeList[nodeList.length - 1].nextSibling); [12:55:01.0000] <AryehGregor> I hate JavaScript. And DOM in particular. [12:56:00.0000] <AryehGregor> That is a 127-character line just to insert a br after the last element of a list. [12:56:01.0000] <Ms2ger> Who does that? :) [12:56:02.0000] <AryehGregor> People writing JavaScript implementations for specs that have to do WYSIWYG DOM manipulations. [12:56:03.0000] <Ms2ger> Pushed a couple of changed to DOM Range, btw [12:57:00.0000] <AryehGregor> Like move some inline elements out of a block parent without putting them on the same line as their parents' siblings. [12:57:01.0000] <AryehGregor> /me looks [12:57:02.0000] <Philip`> Write yourself some helper functions, then you won't have to worry about the verbosity any more [12:57:03.0000] <AryehGregor> WebIDL stuff? [12:58:00.0000] <Ms2ger> Yeah [12:58:01.0000] <Ms2ger> Boring stuff [12:58:02.0000] <AryehGregor> It would reduce spec verbosity too, if I defined some terms like "add X as the next sibling of Y". [12:59:00.0000] <Philip`> Subroutines were a great invention [13:01:00.0000] <zewt-> RETURN WITHOUT GOSUB [13:02:00.0000] <AryehGregor> Is anyone else deeply suspicious when they rewrite something nontrivial and it causes nothing to break and no regression test failures? [13:03:00.0000] <Ms2ger> Yes [13:03:01.0000] <zewt-> everyone, I think, heh [13:27:00.0000] <zewt-> crippling history.pushState bug still happens in FF5, apparently :| time to update my workarounds... [13:37:00.0000] <hsivonen> zewt-: have you reported the bug? [13:38:00.0000] <zewt-> reported it in FF4, was fixed two months ago, but i guess the fix didn't make it into FF5 for some reason [13:38:01.0000] <Ms2ger> The target milestone field should tell you [13:39:00.0000] <hsivonen> zewt-: bug #? [13:39:01.0000] <zewt-> https://bugzilla.mozilla.org/show_bug.cgi?id=640387 [13:40:00.0000] <zewt-> just frustrating that a crippling bug that was fixed something like two months earlier didn't make it into the release, particularly because it's a bug I need to use browser version sniffing to work around [13:40:01.0000] <hsivonen> zewt-: ah. it will be in Firefox 6 [13:40:02.0000] <zewt-> okay, i'll stop ranting :P [13:40:03.0000] <hsivonen> 6 weeks from now [13:42:00.0000] <AryehGregor> Full releases are every six weeks now, like Chrome stable? [13:43:00.0000] <AryehGregor> I thought it was going to be more like once every three months. [13:43:01.0000] <hsivonen> AryehGregor: 4 to 5 took 3 months [13:43:02.0000] <hsivonen> from now on every 6 weeks [13:43:03.0000] <AryehGregor> Nice. [13:43:04.0000] <zewt-> sure feels like massive overcompensation (for the prior slow release cycle)--that seems much *too* frequent [13:43:05.0000] <AryehGregor> It matches Chrome stable. [13:43:06.0000] <AryehGregor> Which IMO is a good pace. [13:44:00.0000] <AryehGregor> You've got to have lots and lots of testing, but if you can deploy that frequently, it's awesome. [13:44:01.0000] <zewt-> we'll see what happens, I guess [13:44:02.0000] <AryehGregor> MediaWiki development was the best when we were deploying to Wikipedia every week. [13:44:03.0000] <AryehGregor> It means you only have to do out-of-band updates for really really critical stuff; and when you get a bug report you can say "oh, I remember what change must have caused that". [13:45:00.0000] <AryehGregor> The latter is especially great, everything is still fresh in your mind when the bug reports come in. [13:45:01.0000] <AryehGregor> I remember at least once when a user complained about something in #wikimedia-tech and I had a merge conflict when committing like two minutes later because another developer also immediately remembered the commit and pushed the same one-line fix right before I did. [13:45:02.0000] <gsnedders> AryehGregor: Well, unless bugs don't get found for ages. [13:46:00.0000] <AryehGregor> Plus, it's much more rewarding for volunteers. [13:46:01.0000] <gsnedders> AryehGregor: Which compiler bugs, for example, tend to be like. [13:46:02.0000] <AryehGregor> gsnedders, then you're in the same boat regardless, but you're not worse off with fast release cycles than slow ones. [13:47:00.0000] <AryehGregor> /me strongly holds the opinion that long release cycles are a relic of pre-Internet eras when pushing out patches was impractically expensive, and that everyone in a position to autoupdate should be pushing out updates very regularly instead of big huge irregular updates [13:47:01.0000] <gsnedders> AryehGregor: Indeed. But yeah, it does mean that you tend to find issues quicker [13:47:02.0000] <zewt-> seems like thinks would feel a little less silly if they used year-month for version numbers instead of numbers--it's going to look pretty goofy when we're on Chrome 63 and Firefox 52 [13:47:03.0000] <AryehGregor> Another big advantage is you keep a regular development cadence. You don't have to go through months of feature development, then months of testing, months of bug-fixing, etc. [13:47:04.0000] <gsnedders> /me wonders how much Fx stuff will break with sniffing at 10 [13:47:05.0000] <Ms2ger> Not really, because you won't see the version number [13:48:00.0000] <gsnedders> AryehGregor: Does anyone do that? Even those who have long-cycles? [13:48:01.0000] <AryehGregor> You also don't have to maintain multiple versions for long. [13:48:02.0000] <Ms2ger> gsnedders, IE, maybe? :) [13:48:03.0000] <AryehGregor> gsnedders, I have no idea. I'm sure it's not that extreme in most cases, but you tend to have code freezes, at least. [13:49:00.0000] <gsnedders> Ms2ger: As far as I can tell they do testing and bug-fixing all at once. [13:49:01.0000] <AryehGregor> You must get bug reports on an irregular cadence if you wait a long time before releasing betas, no? [13:49:02.0000] <zewt-> gsnedders: are we going to end up with yet another wart in our U-A's: "Firefox/9.0 Firefoxier/10", heh [13:49:03.0000] <gsnedders> AryehGregor: I dunno. [13:50:00.0000] <AryehGregor> Browsers other than IE and Safari have always had a release schedule of multiple non-bugfix releases per year, though. Lots of major software packages are only updated once every few years. [13:51:00.0000] <gsnedders> Well, if you ignore Opera 10, for example [13:51:01.0000] <AryehGregor> But this push for more rapid development is totally awesome, by the way. It's symptomatic of the pace at which browser development is going right now: if you don't release often, you'll be significantly worse on average than your frequently-releasing competitors. [13:51:02.0000] <AryehGregor> It's a sign of intense competition. Yay standards! [13:53:00.0000] <gsnedders> Gah, I really ought to write a blog post on Presto version numbering nowadays. [13:53:01.0000] <gsnedders> tl;dr version: everything but the third number in it is effectively meaningless to web developers [13:53:02.0000] <gsnedders> (except really really really really occasionally when the second number has meaning) [13:53:03.0000] <AryehGregor> Did Gecko's version number jump to match Firefox's, by the way? [13:54:00.0000] <gsnedders> (And the Wikipedia article makes claims about what the stable/preview releases of Presto are, which seems hard to do given Presto is a purely internal project.) [13:56:00.0000] <Ms2ger> Yes [13:56:01.0000] <gsnedders> (It basically goes by what the stable/preview versions of one product use) [13:56:02.0000] <Ms2ger> And Thunderbird is jumping as well [14:39:00.0000] <heycam> annevk, smaug____, getters are run, but in a defined order, and at a defined time [14:40:00.0000] <heycam> all argument conversion stuff happens at the start of a method call [15:40:00.0000] <annevk> where can one find the latest editor's response boilerplate? [15:58:00.0000] <othermaciej> annevk: there's a whatwg wiki page that links it and has collected resources for bug processing [15:58:01.0000] <LoneStar99> can i ask a canvas question here? [15:58:02.0000] <othermaciej> annevk: http://wiki.whatwg.org/wiki/Bugzilla_conventions [15:58:03.0000] <othermaciej> annevk: see the two links in the Resolutions section [16:00:00.0000] <LoneStar99> when using canvas and a new color eg. "#006699" is picked a drawing is completely colored in "#006699" ?? [16:00:01.0000] <LoneStar99> instead of keeping previous color and only painting new lines in "#006699"? [16:00:02.0000] <annevk> it has not changed since 2009? okay [16:01:00.0000] <annevk> I had found that page, just wasn't sure whether the email link represented the official version [16:01:01.0000] <othermaciej> I think that text might also be somewhere in decision-policy-v2 [16:01:02.0000] <othermaciej> but I also believe it has not changed [16:01:03.0000] <TabAtkins> AryehGregor: 'inside' list markers definitely cause a linebox. 'outside' list markers are crazier when the <li> is otherwise empty. [16:01:04.0000] <jamesr> LoneStar99: fillStyle applies to fills done after the new style is set, same for strokeStyle with strokes [16:01:05.0000] <jamesr> until the styles are set to something else [16:02:00.0000] <othermaciej> annevk: yeah, the Editor's Response boilerplate is also right above the bug resolution table [16:03:00.0000] <annevk> othermaciej, http://www.w3.org/Bugs/Public/show_bug.cgi?id=12822 [16:03:01.0000] <LoneStar99> jamesr: i am using strokeStyle [16:03:02.0000] <annevk> othermaciej, and I missed that somehow, thanks! [16:03:03.0000] <annevk> I see "Additional Information Needed" was added which I needed :) [16:04:00.0000] <LoneStar99> jamesr: for example: http://bobc.in/im/drop/cc/mb/uwqx-0 "color" is blue but will switch to red [16:06:00.0000] <Philip`> If you want to draw with two different colours, create two different paths and stroke them separately (with separate strokeStyles for each call to stroke()) [16:06:01.0000] <othermaciej> annevk: when you NEEDSINFO it's helpful to be more specific about what kinds of info would be good grounds for a reopen [16:07:00.0000] <othermaciej> although I can see that the bug was very vague [16:07:01.0000] <othermaciej> but I'd at least say something like "please be more specific about your request [16:08:00.0000] <LoneStar99> Phillip: oh so I have to start a new "ctx.beginPath();" that should do it... [16:08:01.0000] <Philip`> LoneStar99: Yes [16:11:00.0000] <LoneStar99> Philip: ok perfect, will move it down then thanks! [16:13:00.0000] <annevk> othermaciej, ok [16:20:00.0000] <jamesr> is there a spec anywhere for how document.cookies works? [16:20:01.0000] <jamesr> HTML's definition references the storage mutex [16:20:02.0000] <jamesr> so i guess there isn't one that reflects the racy reality :/ [16:23:00.0000] <annevk> file a bug on HTML if you want the racy reality [16:24:00.0000] <jamesr> http://www.w3.org/Bugs/Public/show_bug.cgi?id=13020 [16:24:01.0000] <jamesr> hm that didn't do quite what i wanted [16:25:00.0000] <jamesr> i'm curious what formal normative text would look like that accurately depicted what happens with document.cookie [16:27:00.0000] <annevk> "There be dragons." [16:28:00.0000] <jamesr> certainly, but in the spirit of capturing actual behavior in specs it'd be interesting to describe this dragon precisely [16:37:00.0000] <LoneStar99> jamesr: ok thanks got it --> http://bobc.in/im/drop/cc/mb/uwqx-0 [16:42:00.0000] <annevk> I closed some bugs, but there's a lot of them 2011-06-23 [17:41:00.0000] <Yuhong> http://d0cs4vage.blogspot.com/2011/06/insecticides-dont-kill-bugs-patch.html [23:35:00.0000] <variable> what is the appropriate way to mark up column headers in a table? [23:36:00.0000] <ryanseddon> thead with th and scope attribute set to col [23:37:00.0000] <variable> ryanseddon: what if both columns and rows are headers? [23:38:00.0000] <ryanseddon> put row headers in a th and give them scope="row" [23:38:01.0000] <variable> ah ok cool [23:39:00.0000] <variable> so it goes <thead> <th scope="row">row header</th>... <th scope="col">column head</th></thead> <tr><td>fooooo</td></tr> ? [23:47:00.0000] <ryanseddon> yeah that looks ok [23:53:00.0000] <variable> thanks! [23:55:00.0000] <ryanseddon> variable: you might want to look over this too http://www.usability.com.au/resources/tables.cfm [01:16:00.0000] <MikeSmith> http://scottbw.wordpress.com/2011/02/17/converting-chrome-installed-web-apps-into-w3c-widgets/ [02:59:00.0000] <annevk> hsivonen, did you see the changes to MetaExtensions on the wiki? [03:00:00.0000] <hsivonen> annevk: I saw something yesterday but was too focused on about:blank to act before I had to run away from my desk [03:01:00.0000] <annevk> Someone moved the dc stuff back to being okay afaict [03:02:00.0000] <hsivonen> annevk: and zapped a Bing keyword by accident apparently [03:04:00.0000] <annevk> I hit rollback and it automatically did things... [03:04:01.0000] <annevk> I thought you would get a confirmation page for that first [03:04:02.0000] <annevk> and you know, a button [03:05:00.0000] <hsivonen> annevk: why did you revert the dc stuff? [03:06:00.0000] <annevk> it was not incomplete? [03:06:01.0000] <hsivonen> annevk: a bit incomplete still, but at this point, it would make more sense to fix it rather than to revert, IMO [03:07:00.0000] <annevk> undid my changes [03:09:00.0000] <annevk> it looks like more was deleted by him btw [03:10:00.0000] <annevk> +1,338 and -2,553 ... [03:10:01.0000] <annevk> oh maybe he did not just move but also change the contents [03:10:02.0000] <annevk> or she [03:11:00.0000] <hsivonen> annevk: yes, (s)he made those entries suck less [03:11:01.0000] <hsivonen> annevk: I'll complete the spec trail now [03:11:02.0000] <hsivonen> annevk: I think it's ok to have a subset of dcterms registered [03:11:03.0000] <hsivonen> annevk: if the rest of the terms aren't interesting enough for anyone to try to register, let's leave them unregistered [03:12:00.0000] <hsivonen> I'm not going to spend my day registering the long tail of dcterms [03:12:01.0000] <annevk> so is WHATWG still doing <meta> and microformats.org only doing rel=""? [03:13:00.0000] <zcorpan> yes [03:13:01.0000] <annevk> k cool [03:13:02.0000] <zcorpan> that was the Decision [03:16:00.0000] <hsivonen> dcterms.issued and dcterms.modified suck because DC sucks and doesn't spec the date format [03:30:00.0000] <hsivonen> yay, of the registered dcterms keywords, only the underdefined date-related ones aren't redundant with HTML's built-in features [03:39:00.0000] <annevk> http://annevankesteren.nl/2011/06/initializing-events is the use of a hyphen in user-agent correct here? [03:41:00.0000] <hsivonen> annevk: no [03:41:01.0000] <hsivonen> annevk: user agent-generated [03:41:02.0000] <hsivonen> would be correct [03:42:00.0000] <zcorpan> /me finds "user-agent defined" in html5 [03:43:00.0000] <annevk> whoa [03:43:01.0000] <hsivonen> zcorpan: maybe that's allowed in en-US-x-Hixie [03:43:02.0000] <annevk> that looks weird [03:45:00.0000] <jgraham> hsivonen: user agent-generated looks odd to me [03:45:01.0000] <jgraham> whereas user-agent generated looks fine [03:46:00.0000] <zcorpan> annevk: events event [03:46:01.0000] <annevk> /me removes the hyphen [03:46:02.0000] <hsivonen> jgraham: what rule do you use to justify that kind of hyphenation? [03:46:03.0000] <annevk> zcorpan, ta [03:47:00.0000] <hsivonen> I left my copy of CMoS in Finland, so I can't cite chapter and verse, but the chapter and verse is probably in the IRC logs already [03:47:01.0000] <hsivonen> when annevk asked about the hyphenation of English compound adjectives the previous time [03:48:00.0000] <annevk> :) trips me up [03:48:01.0000] <jgraham> hsivonen: "it looks right". But I think in this case the hyphen has the effect of increasing the tightness of binding. So user agent-generated looks like user (agent generated) whereas user-agent generated looks like (user agent) generated. And indeed I believe that compound nouns often go user agent -> user-agent -> useragent [03:48:02.0000] <hsivonen> though CMoS should be taken with a grain of salt, since it advocates the use on an en dash is Civil War–era [03:49:00.0000] <jgraham> /me is very skeptical of style guides in general [03:49:01.0000] <hsivonen> jgraham: oh, I agree that the appearance of the tightness of binding sucks [03:49:02.0000] <hsivonen> s/is/in/ [03:49:03.0000] <jgraham> They often seem to be written by people with a very prescriptive view of linguistics [03:49:04.0000] <jgraham> and no understanding of language evolution [03:50:00.0000] <hsivonen> the job of a style guide is to be prescriptive [03:51:00.0000] <annevk> maybe it should be user-agent-generated [03:51:01.0000] <jgraham> But languages and fashions change. And indeed aren't that consistent to begin with. So the style guide will necessarily be wrong [03:51:02.0000] <hsivonen> annevk: I think that would make sense but isn't what CMoS would say [03:51:03.0000] <annevk> from what I read here in the The Economist Style Guide user-agent generated seems fine [03:52:00.0000] <hsivonen> annevk: whoa! [03:52:01.0000] <annevk> they have "public-sector borrowing requirements" as one of the examples [03:52:02.0000] <gsnedders> Even descriptiveness is becoming harder nowadays… It's now far harder for new words to get words into the OED, for example, as you need three written, published, sources. The majority of publishers use spell-checkers in their editing process, so the words will be changed. [03:52:03.0000] <zcorpan> maybe -user agent generated- ? [03:53:00.0000] <jgraham> hsivonen: Given the above it is hardly surprising that two style guides disagree [03:53:01.0000] <annevk> /me forgot he had a style guide [03:54:00.0000] <zcorpan> it's easier in swedish. användaragentgenererad [03:55:00.0000] <annevk> no idea how this would go in Dutch [03:55:01.0000] <jgraham> zcorpan: Only because Swedes haven't heard of space characters :p [03:55:02.0000] <hsivonen> jgraham: maybe the APA Publication Manual is a phychology experiment [03:56:00.0000] <zcorpan> user agent gegenereerd? [03:57:00.0000] <annevk> zcorpan, heh, I was stuck at "user agent" [03:57:01.0000] <annevk> gebruikersagent :p [03:58:00.0000] <zcorpan> good thing with dutch is that you just use the english word if it doesn't translate well :) [03:58:01.0000] <annevk> yeah [04:00:00.0000] <Aleksandr> q [04:27:00.0000] <annevk> Is today a holiday or something? Almost nothing seems to be going on... [04:34:00.0000] <karlcow> annevk: http://en.wikipedia.org/wiki/June_23#Holidays_and_observances ;) [04:36:00.0000] <karlcow> oh it gave me the opportunity to discover this page http://en.wikipedia.org/wiki/Portal:Current_events [04:57:00.0000] <annevk> heycam is only on email... [05:13:00.0000] <zcorpan> http://www.bookofspeed.com/chapter4.html - "Any XML file including RSS and Atom feeds, SVG graphics, IE's .htc files, DTD (Document Type Definition) and basically anything else that ends in *ML" [05:14:00.0000] <zcorpan> now why would you have a DTD if you cared about performance [05:32:00.0000] <jgraham> zcorpan: Why would you have a DTD anyway? [05:33:00.0000] <zcorpan> yeah [05:34:00.0000] <annevk> published by W3C, must be good [05:36:00.0000] <jgraham> annevk: With that in mind I plan to add EmotionML to all my webpages so people know when I am being sarcastic. [05:38:00.0000] <annevk> seems you forgot some markup right there! [05:38:01.0000] <annevk> oh wait [05:59:00.0000] <annevk> Can someone help me with hg? [05:59:01.0000] <annevk> I mistakenly used hg update -c and now the work I did in my commits is lost [06:00:00.0000] <annevk> They are however still in my local log (have not pushed yet) so I should be able to turn things around I think if I know how [06:03:00.0000] <Philip`> annevk: Sounds like you just updated the working directory to a changeset that doesn't include your commits, so you should be able to update back to it by specifying your latest changeset [06:17:00.0000] <karlcow> rha hsivonen sent a link to the long version [06:23:00.0000] <annevk> Philip`, thanks; didn't really work out, but I resolved it somehow [06:23:01.0000] <Philip`> Oh [06:29:00.0000] <annevk> Philip`, my clumsyness, not your advice [06:29:01.0000] <annevk> ooh [06:29:02.0000] <annevk> partial is not the new [Supplemental] [06:29:03.0000] <annevk> s/not// [06:32:00.0000] <annevk> Ms2ger`, http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment markup is borked [06:45:00.0000] <MikeSmith> it seems the state of things with Web Storage is sort of as was the state of things pre-transaction-support MySQL [06:46:00.0000] <MikeSmith> in that, lack of transaction support in MySQL made is quite possible to end up with a corrupted DB [06:48:00.0000] <annevk> http://www.w3.org/Bugs/Public/show_bug.cgi?id=12230 was there ever a bug filed on Gecko? [06:48:01.0000] <annevk> and other browsers? [06:53:00.0000] <gsnedders> MikeSmith: MyISAM still supports no transactions, AFAIK. Just other table formats do. [06:53:01.0000] <MikeSmith> oh [06:56:00.0000] <jgraham> I see gsnedders is working towards a ghostbusters-like grammar [07:05:00.0000] <The_8472> myisam doesn't support transactions, but mutating actions take an exclusive table lock [07:05:01.0000] <The_8472> so you don't end up with concurrent writes [07:06:00.0000] <Philip`> I think it's consistent with the view that each SQL statement is implicitly executed in an ACID transaction, you just can't do multi-statement transactions [07:09:00.0000] <annevk> Inbox 750 o_O [07:10:00.0000] <annevk> I think this is actually lower than before I went away [07:17:00.0000] <koskoz> !topic [07:17:01.0000] <volkmar> someone knows if there is an implementation of the HTML command api by any vendor? [07:17:02.0000] <annevk> haven't heard of any [07:45:00.0000] <Ms2ger`> annevk, thanks, fixed [07:45:01.0000] <Ms2ger`> (Though I kind of liked the orange :)) [07:48:00.0000] <annevk> Netherlands ftw [07:48:01.0000] <Ms2ger`> No comment ): [07:48:02.0000] <Ms2ger`> ) [07:48:03.0000] <Ms2ger`> /me tries that again [07:48:04.0000] <Ms2ger`> :) [07:52:00.0000] <annevk> Ms2ger`, BAD_BOUNDARY_POINTS_ERR or some such became INVALID_STATE_ERR? [07:53:00.0000] <annevk> I guess we should ask File API to also use DOMException and request codes they'd like to see added... [07:54:00.0000] <Ms2ger> Yeah, there was one one user [07:54:01.0000] <Ms2ger> Seemed a bit wasteful [09:26:00.0000] <hsivonen> hah. even at Google, marketing seems to trust PDF over HTML: http://www.google.com/help/hc/images/Google_Places_OneSheeter.pdf [09:26:01.0000] <hsivonen> does anyone know if Google Maps picks up business locations from coordinates in meta tags on Web sites? [09:31:00.0000] <annevk> hmm, heycam?! [09:32:00.0000] <annevk> http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface should be updated to say it can also be more than one spec [09:56:00.0000] <annevk> Ms2ger, you mentioned that matches bug no? [09:56:01.0000] <annevk> Ms2ger, IDL bug in cssom-view [10:08:00.0000] <karlcow> hsivonen: Note that we do not use locational meta tags (like "geo.position" or "distribution") or HTML attributes for geotargeting. While these may be useful in other regards, we've found that they are generally not reliable enough to use for geotargeting. [10:08:01.0000] <karlcow> — http://googlewebmastercentral.blogspot.com/2010/03/working-with-multi-regional-websites.html [10:08:02.0000] <annevk> Ms2ger, concept-document-character-encoding and concept-document-media-type? [10:08:03.0000] <hsivonen> karlcow: thanks [10:09:00.0000] <karlcow> I do not know what yahoo, or bing do [10:13:00.0000] <annevk> Ms2ger, also, we should probably introduce the term "attribute" to mean "Attr object" [10:40:00.0000] <Ms2ger> annevk, attribute makes sense, concept-s look good, not sure what CSSOM bug you mean [10:41:00.0000] <annevk> hmm [10:41:01.0000] <annevk> removing CaretPosition.range is non-trivial [10:48:00.0000] <AryehGregor> Hixie, what's the Bugzilla query you use for deciding the order of the bugs you look at? It might be helpful to put at <http://wiki.whatwg.org/wiki/Bugzilla_conventions>. [11:49:00.0000] <annevk> http://www.w3.org/mid/BANLkTi=cfgCzsYkTX8a-68CPW6bdHNpdvA⊙mgc anyone a good name for this? [11:50:00.0000] <annevk> Gecko has "attachment" atm and WebKit "affinity" [11:50:01.0000] <annevk> neither seem particularly clear for a boolean [11:51:00.0000] <Philip`> Sticky-direction [11:51:01.0000] <AryehGregor> So it seems the status quo with copy/paste is that browsers refuse to support it and therefore everyone uses Flash? [11:52:00.0000] <annevk> Philip`, is that a serious suggestion? [11:52:01.0000] <annevk> /me cannot tell [11:54:00.0000] <Philip`> Doesn't matter whether it's serious, just whether it's any clearer than the alternatives [11:59:00.0000] <rafaelw> morning all. question about assigning null to HTMLInputElement.value [12:00:00.0000] <rafaelw> gecko reacts by setting the value property to the empty string. [12:00:01.0000] <rafaelw> webkit resets the value property the value of the attribute. [12:00:02.0000] <rafaelw> i'm having trouble locating the relevant place in the spec. [12:01:00.0000] <annevk> what does resetting the value property mean? [12:01:01.0000] <annevk> (also depends on an unresolved Web IDL issue) [12:01:02.0000] <rafaelw> if I had <input value="foo">, assigning myInput.value = null [12:02:00.0000] <Philip`> http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString should be where it's defined, I think [12:02:01.0000] <rafaelw> gecko: myInput.value === ''; [12:02:02.0000] <rafaelw> webkit: myInput.value === 'foo' [12:02:03.0000] <Ms2ger> Should be "null", probably [12:02:04.0000] <AryehGregor> value is not nullable, so per spec, null will be cast to a string. [12:02:05.0000] <AryehGregor> Either "" or "null". [12:03:00.0000] <AryehGregor> It looks like current WebIDL says "null". [12:03:01.0000] <Ms2ger> It does [12:07:00.0000] <smaug____> webkit's behavior is very surprising [12:07:01.0000] <smaug____> would be good to test what Opera and IE do [12:07:02.0000] <smaug____> if they assign "" to the value [12:07:03.0000] <smaug____> would make sense to spec that [12:09:00.0000] <rafaelw> trying to get to my windows box right now =-) [12:11:00.0000] <smaug____> Opera behaves like Gecko [12:11:01.0000] <smaug____> http://mozilla.pettay.fi/moztests/inputvalue.html [12:12:00.0000] <rafaelw> IE assigns 'null' [12:12:01.0000] <rafaelw> it also set the attribute value to 'null' [12:13:00.0000] <rafaelw> which gecko didn't do. [12:13:01.0000] <AryehGregor> I should update my reflection tests to test this, now that we're clear on what we want for null. [12:13:02.0000] <AryehGregor> Gecko converted the null to an empty string, IE converted to "null". [12:13:03.0000] <smaug____> AryehGregor: is it already clear in which cases we want "null" and in which cases ""? [12:14:00.0000] <AryehGregor> smaug____, the current WebIDL spec says "null" is the default now. Exceptions need to be specced on a case-by-case basis by adding [TreatNullAs=EmptyString] or such. [12:14:01.0000] <AryehGregor> So it would be good to test so we can find the exceptions. [12:14:02.0000] <smaug____> WebIDL says what the default is, but do we know what the exceptions are [12:15:00.0000] <AryehGregor> No, which is why tests are good, to find out the exceptions. [12:15:01.0000] <AryehGregor> I'll do that shortly. [12:17:00.0000] <rafaelw> gecko's behavior seems the most useful. [12:18:00.0000] <AryehGregor> Making null become an empty string makes the most sense, yeah. [12:18:01.0000] <AryehGregor> But I'm not sure if it's compatible in general. [12:20:00.0000] <annevk> smaug____, I think that might be our recent change to align with Gecko/WebKit null-value handling in DOM bindings [12:20:01.0000] <MikeSmith> friends, I made an attempt at organizing current web-platform specs into categories [12:20:02.0000] <MikeSmith> http://people.w3.org/mike/web-platform.html [12:20:03.0000] <MikeSmith> comments welcome [12:21:00.0000] <Philip`> No WebIDL? [12:21:01.0000] <MikeSmith> oh [12:21:02.0000] <MikeSmith> will add it [12:21:03.0000] <smaug____> MikeSmith: why you have Web Audio API, but not Audio API? [12:21:04.0000] <Philip`> There's some obsolete links to /TR/ [12:21:05.0000] <MikeSmith> thanks [12:22:00.0000] <Philip`> (At least canvas) [12:22:01.0000] <smaug____> s/Audio API/Audio Data API/ [12:22:02.0000] <MikeSmith> smaug____: is there an actual spec for it? [12:23:00.0000] <smaug____> MikeSmith: https://wiki.mozilla.org/Audio_Data_API [12:23:01.0000] <Ms2ger> Bonus features? [12:23:02.0000] <Ms2ger> /me likes that title [12:23:03.0000] <MikeSmith> smaug____: thanks [12:23:04.0000] <smaug____> MikeSmith: Web Audio API isn't in anyway more "spec" than Audio Data API [12:23:05.0000] <Ms2ger> MikeSmith, ElementTraversal is now specified in DOM Core [12:24:00.0000] <Ms2ger> And you're missing XHR2 [12:24:01.0000] <smaug____> I assume neither of those APIs will become a recommendation [12:24:02.0000] <MikeSmith> Ms2ger: thanks [12:24:03.0000] <Ms2ger> And CSS [12:24:04.0000] <Ms2ger> Oh, you don't [12:26:00.0000] <MikeSmith> smaug____: will add audio data api when i get back to my vim [12:26:01.0000] <smaug____> ok, thanks [12:26:02.0000] <MikeSmith> smaug____: thanks for the heads-up about it? [12:27:00.0000] <MikeSmith> Ms2ger: has anybody implemented xhr2? [12:27:01.0000] <smaug____> XHR2? [12:27:02.0000] <Ms2ger> I think we're doing parts of it [12:27:03.0000] <smaug____> progress events for XHR are from XHR2 [12:27:04.0000] <MikeSmith> smaug____: s/about it?/about it./ [12:28:00.0000] <MikeSmith> Ms2ger: ok, will add it [12:28:01.0000] <Ms2ger> responseType, too? [12:28:02.0000] <MikeSmith> ? [12:28:03.0000] <MikeSmith> what spec? [12:28:04.0000] <annevk> Cross-origin XHR is XHR2 too [12:28:05.0000] <annevk> XHR is just to please some people, XHR2 is the real deal [12:29:00.0000] <annevk> (XHR is generated with some switches from the XHR2 draft) [12:30:00.0000] <MikeSmith> Philip`: i will change all the non-REC TR links to EDs instead [12:30:01.0000] <Ms2ger> MikeSmith, were you going to list HTTP and friends as well? [12:30:02.0000] <MikeSmith> no [12:30:03.0000] <Ms2ger> XML and xml:base? [12:31:00.0000] <Ms2ger> DOM Traversal [12:31:01.0000] <MikeSmith> i think i wont put anything un-sexy [12:31:02.0000] <MikeSmith> dom traversal? [12:31:03.0000] <smaug____> XSLT [12:31:04.0000] <smaug____> XPath [12:31:05.0000] <MikeSmith> hmm [12:31:06.0000] <Ms2ger> And http://dev.chromium.org/developers/web-platform-status, fyi [12:31:07.0000] <MikeSmith> i guess i got to add those [12:32:00.0000] <smaug____> Range is part of the same spec as traversal http://www.w3.org/TR/DOM-Level-2-Traversal-Range/Overview.html#contents [12:32:01.0000] <MikeSmith> as un-sexy as they may be [12:32:02.0000] <Ms2ger> smaug____, not anymore ;) [12:34:00.0000] <smaug____> Ms2ger: is there already somewhat stable and reviewed spec for Range? [12:34:01.0000] <smaug____> new spec [12:35:00.0000] <Ms2ger> For some value of somewhat :) [12:36:00.0000] <smaug____> surprising or not, the old DOM Range is pretty consistent spec [12:36:01.0000] <smaug____> internally [12:36:02.0000] <smaug____> terrible to read though [12:39:00.0000] <annevk> smaug____, replacement is here: http://html5.org/specs/dom-range.html [12:40:00.0000] <annevk> smaug____, needs review still I believe [12:40:01.0000] <Ms2ger> And, well, speccing [12:43:00.0000] <MikeSmith> I had in mind to limit this list to specs that actually expose methods to web applications/developers [12:44:00.0000] <MikeSmith> in the more general sense of methods [12:44:01.0000] <MikeSmith> stuff they can use in scripts or in markup [12:49:00.0000] <AryehGregor> So first of all, it looks like Gecko converts null to "" instead of "null" across the board for setAttribute(), which contradicts all other browsers. [12:50:00.0000] <Ms2ger> Gecko converts null to "" pretty much everywhere [12:51:00.0000] <Ms2ger> The main exceptions are a few things I changed and code that works on the JS values directly [12:58:00.0000] <AryehGregor> Seems WebKit is also a fan of converting null to "", except where it unsets the attribute. [12:58:01.0000] <Ms2ger> For webkit, the exception would be indexeddb [12:58:02.0000] <AryehGregor> Opera follows spec on this point everywhere. IE does in most cases too, but I think there are some exceptions. [13:04:00.0000] <annevk> pushed a few https://bitbucket.org/ms2ger/dom-core edits [13:04:01.0000] <annevk> we now have concept-document/element/attribute; hurray [13:05:00.0000] <AryehGregor> Okay, so I have a list of all the reflected attributes where IE9 casts null to "". Do we want to spec these? In all those cases, the only browser that casts to "null" is Opera. [13:05:01.0000] <AryehGregor> /me files a bug regardless [13:05:02.0000] <annevk> interesting [13:05:03.0000] <annevk> I thought we changed to use "" pretty much exclusively [13:09:00.0000] <Ms2ger> annevk, doesn't look like I have IANACHARSET defined [13:10:00.0000] <annevk> one day it will be obsolete I guess [13:14:00.0000] <AryehGregor> Okay, so why does WebIDL follow IE/Opera here instead of Gecko/WebKit? Don't we usually prefer to follow Gecko/WebKit? [13:14:01.0000] <Ms2ger> IE complained [13:15:00.0000] <Ms2ger> And it matches JS [13:15:01.0000] <annevk> Gecko complained too [13:17:00.0000] <annevk> "[TreatNullAs=EmptyString] DOMString" shouldn't that be "[TreatNullAs=EmptyString] DOMString?" ? [13:17:01.0000] <annevk> note the trailing ? [13:17:02.0000] <Ms2ger> No [13:18:00.0000] <Ms2ger> If you have DOMString?, you handle null in the algorithm [13:20:00.0000] <annevk> k [13:21:00.0000] <AryehGregor> Gecko complained that we convert null to "" instead of "null", when Gecko itself consistently converts null to ""? [13:22:00.0000] <annevk> Gecko did not want the IDL default to be "" [13:22:01.0000] <annevk> consequently, I suspect they want to change their API [13:22:02.0000] <annevk> s [13:22:03.0000] <annevk> at least, I hope they do [13:28:00.0000] <mpilgrim> i just finished fixing webkit's indexeddb to make null -> "null", don't you dare change it again [13:29:00.0000] <mpilgrim> even though i hate it and think it's a stupid default [13:32:00.0000] <Dashiva> This is one place where exceptions have the upper hand :) [13:32:01.0000] <Ms2ger> The web? [13:39:00.0000] <Dashiva> Ms2ger: No, places where you don't want to handle edge cases [13:50:00.0000] <annevk> http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface should be updated to say it can also be more than one spec [13:51:00.0000] <annevk> heycam, ^^ [13:52:00.0000] <heycam> I think the idea of things being defined before other things probably needs to be revised in general [13:52:01.0000] <heycam> not everyone is putting all their IDL in one big fragment [13:52:02.0000] <heycam> and there's no real difference between multiple fragments within the one spec and multiple specs [13:53:00.0000] <heycam> I am interested to see if people other than Hixie want to use partial [13:53:01.0000] <heycam> and whether then I think it's an appropriate use of it or not :) [13:53:02.0000] <annevk> I told you once before http://dev.w3.org/csswg/cssom-view/ uses it [13:53:03.0000] <annevk> http://html5.org/specs/dom-range.html uses it too [13:53:04.0000] <annevk> http://html5.org/specs/dom-parsing.html too [13:54:00.0000] <Ms2ger> And http://html5.org/specs/dom-parsing.html [13:54:01.0000] <annevk> hah [13:54:02.0000] <heycam> I see [13:55:00.0000] <heycam> to me it seems like that should be `[NoInterfaceObject] interface WindowCSS { ... }; Window implements WindowCSS;` [13:55:01.0000] <heycam> but I will think about it some more [13:55:02.0000] <heycam> /me has a telcon now [13:55:03.0000] <heycam> oh congrats on bug 666666 btw Ms2ger :) [13:56:00.0000] <Ms2ger> heycam, no, we're not in the nineties anymore [13:56:01.0000] <Ms2ger> heycam, and thanks ) [13:56:02.0000] <Ms2ger> :) [13:58:00.0000] <annevk> heycam, whoa please no [13:59:00.0000] <annevk> soooo ugly [13:59:01.0000] <annevk> heycam, you could name it "additional" instead of "partial" though [14:33:00.0000] <twisted> yo [14:33:01.0000] <twisted> #ja-mainnav div.main div.ja-megamenu ul.megamenu li.active a:hover { [14:33:02.0000] <twisted> doesn't work [14:33:03.0000] <twisted> but [14:33:04.0000] <twisted> #ja-mainnav div.main div.ja-megamenu ul.megamenu li.active a { [14:33:05.0000] <twisted> does... [14:33:06.0000] <twisted> and I'm totally beat [14:34:00.0000] <twisted> css validator gives me a lexicon error [14:34:01.0000] <twisted> tried different encodings, (ascii, latin1, utf8 (default)) [14:35:00.0000] <paul_irish> twisted: come over to #html5 and ask that and we can help you out there [14:40:00.0000] <paul_irish> where can i find out more on why html5 video doesnt have an alpha channel? [14:42:00.0000] <bga_> i never hear that any video codeс supports rgba color [14:42:01.0000] <bga_> and i dont know why somebody need rgba video [14:43:00.0000] <paul_irish> in some webapps it'd be more effective to have small videos for effects (that i can make in After Effects) rather than do that sort of thing in canvas [14:45:00.0000] <bga_> i understand [14:46:00.0000] <bga_> paul_irish there is apng [14:47:00.0000] <paul_irish> yeah.. and you can Chroma Key out a solid color via 2d canvas pixel data [14:48:00.0000] <paul_irish> but.. i want that .. natively [14:48:01.0000] <bga_> or 2 videos 1st is rgb 2nd is greyscale as alpha channel and mix using canvas %) [14:48:02.0000] <paul_irish> yeah [14:50:00.0000] <bga_> paul_irish i guess patch to webm and theora is easiest way [14:51:00.0000] <paul_irish> i will email my webm dude. [14:59:00.0000] <KevinMarks> quicktime supports alpha channel video; has for over a decade [15:02:00.0000] <KevinMarks> it is often better to have a separate alpha channel matte rather than make it part of the video pixels [15:33:00.0000] <Hixie> dbaron: these media query listener things are implemented? [15:34:00.0000] <dbaron> Hixie, yes, in Gecko and I think in chrome (though my testcase didn't send the notifications in Chrome for some reason... though the addListener succeeded) [15:34:01.0000] <Hixie> aah [15:34:02.0000] <Hixie> when reading anne's e-mail i had no idea that (a) we were talking about running JS and (b) we were talking about matching existing behaviour [15:34:03.0000] <Hixie> makes more sense now [15:34:04.0000] <dbaron> Hixie, I'm not sure if the problem is the cssom-view spec's reference to the term or whether the term should be defined differently... [15:35:00.0000] <Hixie> so does gecko just fire these as soon as it can? i.e. it's a high priority task? [15:35:01.0000] <Hixie> or is there more subtlty? [15:35:02.0000] <Hixie> what happens if the callback causes it to change again, or can JS not trigger a media query change? [15:36:00.0000] <Hixie> oh, i see in your mail that you mention sometimes this happens synchronously [15:36:01.0000] <dbaron> what happens is that when things that can change media queries happen we post an event to the event queue saying that such things have happened (and then suppress other such events until that event fires) [15:36:02.0000] <jamesr> can you set media queries on iframes? [15:36:03.0000] <Hixie> not in the event loop at all [15:36:04.0000] <dbaron> then, *either* when that event fires *or* when we flush style [15:36:05.0000] <dbaron> we go through *all* of the media queries and see if they've actually changed [15:36:06.0000] <dbaron> and notify any of them that have [15:37:00.0000] <Hixie> sounds like cssom needs to define all the places that "flush style" as calling this and emptying the media query change task queue [15:37:01.0000] <dbaron> the test I sent on the thread is interesting because between two lines in the script the mq was false [15:37:02.0000] <jamesr> dbaron: is it possible for one handler to change the value of a later (or earlier) media query? [15:37:03.0000] <dbaron> Hixie, I'm not sure we really want to do that [15:37:04.0000] <Hixie> i thought you said it's what you _did_ do? [15:37:05.0000] <Hixie> as far as the event loop goes, if it's just that when tasks run they are high-priority, then the spec already supports that, just use a different task source [15:37:06.0000] <dbaron> yes, but we may change flushing in order to optimize [15:37:07.0000] <Hixie> ah [15:37:08.0000] <Hixie> well [15:37:09.0000] <dbaron> we want to flush as little as possible [15:38:00.0000] <Hixie> if it's running script, it needs to be interoperable, which means predictable, i.e. the spec has to say what all the UAs do [15:38:01.0000] <jamesr> dbaron: and what about when you have to resolve styles synchronously due to some script action? is that separate from the 'flush style' step in gecko? [15:38:02.0000] <Hixie> which i think is incompatible with changing it [15:38:03.0000] <Hixie> anyway, long story short, sounds like this is all not my problem :-P [15:39:00.0000] <dbaron> jamesr, we accumulate all the changes to notify before sending any of them, so a change made in one listener doesn't affect who gets notified that pass, although the script could cause another flush and nest a new pass inside the outer one [15:39:01.0000] <dbaron> jamesr, and "flush styles" is what resolving styles synchronously due to a script action triggers [15:40:00.0000] <jamesr> ok. i think the webkit impl would (or possibly does, i haven't looked) be slightly different, then, although perhaps it's not observable [15:45:00.0000] <AryehGregor> Hixie, what's the Bugzilla query you use for deciding the order of the bugs you look at? It might be helpful to put at <http://wiki.whatwg.org/wiki/Bugzilla_conventions> so we can look it over and close some of the bugs if we get bored. [15:45:01.0000] <Hixie> i don't use bugzilla for that, i use my imap folders [15:46:00.0000] <Hixie> but it can be approximated to the sort order you get with "last change" [15:46:01.0000] <AryehGregor> Ah, okay. [15:46:02.0000] <Hixie> looks like the field is actually called "Changed" not "last change" [15:46:03.0000] <Hixie> but you get the idea [15:59:00.0000] <Hixie> clair: thanks for the work on the wiki [16:00:00.0000] <clair> No worries :) [16:00:01.0000] <clair> Looks like you've made use of it, do you still want more code or is that enough? [16:01:00.0000] <Hixie> i haven't studied what we have their yet [16:01:01.0000] <Hixie> there even [16:01:02.0000] <Hixie> so no idea :-) [16:01:03.0000] <clair> Ah right, I just saw that you wrote a few notes [16:01:04.0000] <Hixie> yeah that was just some stuff that i was thinking about in the shower [16:01:05.0000] <Hixie> figured i should write it down somewhere [16:01:06.0000] <Hixie> no idea if it makes any sense or not [16:02:00.0000] <clair> What's the best way for me to say "But this would be nice/I'd like to be able to do this"? on your notes? [16:02:01.0000] <clair> heh, some bits do at a glance :) [16:02:02.0000] <Hixie> if you have an agenda, best thing to do is to find examples of dialogs that do what you want to do and include them :-) [16:03:00.0000] <clair> I just would prefer modals to show centre of page rather than at cursor position, that's all really ;) [16:04:00.0000] <clair> (Though of course having them at cursor position is also useful..) [16:04:01.0000] <Hixie> ah that's where screenshots would be useful [16:04:02.0000] <Hixie> (if you do attach screenshots, make the window as small as you can while still showing the effect, we don't want 3000x2000 screenshots with a 300x200 dialog in the middle!) [16:05:00.0000] <clair> /me grins [16:05:01.0000] <clair> I'm sure I'll find some dialogs that I like :) [16:06:00.0000] <Hixie> :-) [16:06:01.0000] <Hixie> from what i've seen, facebook is a good source of dialogs [16:06:02.0000] <Hixie> though i don't have an account myself [16:06:03.0000] <Hixie> also google docs seems to be pretty dialog-happy [16:07:00.0000] <benschwarz> Hey Hixie [16:07:01.0000] <Hixie> benschwarz! [16:07:02.0000] <Hixie> 'sup [16:07:03.0000] <karlcow> Big Lebowsky is dialogs happy too [16:07:04.0000] <benschwarz> Doing good man. Hows things? [16:07:05.0000] <clair> There's a javascript (jquery maybe) library that copies facebook dialogs - facebox or something. Although to today's standard's/facebook design it might be a bit rubbish now [16:08:00.0000] <clair> Should dig out my facebook and google docs accounts and take a fresh look [16:09:00.0000] <benschwarz> just updated the developer spec now Hixie [16:09:01.0000] <benschwarz> no updates from me. just spec content [16:10:00.0000] <Hixie> benschwarz: doing good, actually making positive progress against the feedback onslaught for once [16:10:01.0000] <Hixie> benschwarz: cool [16:10:02.0000] <Hixie> clair: i expect the big places (facebook, google, apple, microsoft) will have rolled their own dialogs and may be a good place to look at to get a variety of options [16:11:00.0000] <Hixie> clair: my assumption (may be false) is that most smaller sites will all use the same libraries so will have less variation [16:11:01.0000] <Hixie> clair: but i could be completely wrong [16:11:02.0000] <benschwarz> Hixie: I was thinking last night - [16:11:03.0000] <benschwarz> appCache / manifest being static… [16:12:00.0000] <benschwarz> I want my mobile devices to download less, where possible, and maybe use polyfills conditionally, without loading them also [16:12:01.0000] <clair> Hixie: Good point there... doesn't apple use some open source library that isn't jquery? [16:13:00.0000] <benschwarz> do you think using javascript to construct a manifest then base64 it to the browser (html tag) would work? [16:14:00.0000] <Hixie> clair: dunno [16:14:01.0000] <Hixie> benschwarz: i'm confused. what are you trying to cache? [16:15:00.0000] <benschwarz> Hixie: nothing too special, but it seems a shame to download (and store) files in cache that certain devices dont require [16:15:01.0000] <benschwarz> …which can mean detection / UA sniffing on the server side [16:16:00.0000] <benschwarz> just thinking aloud… wondering if you could construct a manifest in JS client-side [16:18:00.0000] <Hixie> benschwarz: ah [16:18:01.0000] <Hixie> benschwarz: the manifest url is used to decide what's going on, so no, not in the current model [16:18:02.0000] <clair> Couldn't they be constructed server side using UA sniffing? [16:19:00.0000] <clair> (although I realise that kind of detection is bad) [16:26:00.0000] <jamesr> you could have a non-cached loader page that issued a request (or a redirect or something) to the appriopriate cached URL for that ua/etc variation [16:32:00.0000] <Yuhong> http://groups.google.com/group/alt.html/msg/30ef82a1fbab905a?hl=en [16:32:01.0000] <Yuhong> They have clearly stated that they will only support 90% or the standards for fear of [16:32:02.0000] <Yuhong> "problems with backwards-accessibility". Bull. If they hadn't screwed up prior implementations of HTML and CSS that wouldn't be [16:32:03.0000] <Yuhong> an issue. " [16:33:00.0000] <Yuhong> Sounds familiar? [16:35:00.0000] <Yuhong> Here is the story: [16:35:01.0000] <Yuhong> Mozilla and IE5 for Mac faced the same problem too, and they decided to solve it by inventing DOCTYPE switching.[` [16:36:00.0000] <Yuhong> IE6 for Windows copied it. [16:37:00.0000] <Yuhong> The problem is then they stagnated IE for 5 years and it gained a monopoly, so guess what people did with ie6's standards mode? [16:37:01.0000] <gsnedders> Moz didn't implement it till after IE, though dbaron proposed it on mailing list before IE impl it. [16:37:02.0000] <gsnedders> AFIAK. [16:37:03.0000] <dbaron> doctype switching? [16:37:04.0000] <dbaron> not my idea [16:38:00.0000] <gsnedders> dbaron: Any idea who? My memory is obviously dodgy. :) [16:39:00.0000] <Yuhong> The problems caused by it of course led to the proposal for HTML versioning to the HTML WG, and later the invention of X-UA-Compatible, another mode switch. [16:44:00.0000] <Yuhong> Anyway, besides <li> being used for indent, <dd>, <dl> and several other tags was used for Indent. [16:44:01.0000] <Yuhong> <Hx> was used to change font size in the Mosaic age. [16:46:00.0000] <dbaron> gsnedders, well, Gecko has had some form of recognizable doctype sniffing since http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=1999-05-15+22%3A26&maxdate=1999-05-15+22%3A29&cvsroot=%2Fcvsroot (see the nsParser.cpp changes) [16:46:01.0000] <dbaron> gsnedders, though really there was a little code before that [16:46:02.0000] <dbaron> gsnedders, I think tantek or Todd Fahrner might know who came up with the idea... [16:46:03.0000] <dbaron> or rickg [16:47:00.0000] <Yuhong> Here is an example of this abuse: http://groups.google.com/group/comp.infosystems.www.authoring.html/msg/ee3198e46d567819?hl=en [16:52:00.0000] <Hixie> what's the opposite of an idempotent operation? [16:52:01.0000] <Hixie> specifically, what would one call an operation that can only be done once? [16:52:02.0000] <AryehGregor> What does "can only be done once" mean? [16:52:03.0000] <AryehGregor> What stops you from doing it twice? [16:52:04.0000] <Hixie> a word meaning "irreversible and not-idempotent" [16:53:00.0000] <Hixie> well e.g. you can only break an egg once [16:53:01.0000] <Yuhong> Of course when exactly DOCTYPE switching happened don't matter for this story, what matters that IE6 for Win adopted it and then stagnated for five years. [16:53:02.0000] <Hixie> once you've broken an egg, you can't break it again [16:53:03.0000] <Hixie> so breaking an egg is a .... operation [16:53:04.0000] <gsnedders> dbaron: I remember reading something linking to some 98 post on moz mailing list about it, though I was unaware Gecko's impl went back anywhere near that far [16:53:05.0000] <AryehGregor> Well, there's not going to be a mathematical term for it. The concept doesn't make sense for pure functions. [16:53:06.0000] <AryehGregor> It's all about side effects. [16:53:07.0000] <Hixie> doesn't have to be a mathematical term :-) [16:54:00.0000] <gsnedders> Today's interesting question: what's the most complex JS you can come up with that you can prove with static-analysis is pure? [16:54:01.0000] <Hixie> define "complex" [16:54:02.0000] <Yuhong> Which basically screwed it up. [16:55:00.0000] <gsnedders> Hixie: Does something interesting. [16:56:00.0000] <Hixie> return 'insert text of a very interesting book here'; [16:56:01.0000] <gsnedders> Hixie: Something more complex than function(a, b) { return a * b; } [16:56:02.0000] <Hixie> wait, what do you mean by "pure"? [16:57:00.0000] <AryehGregor> "No side effects". [16:57:01.0000] <Hixie> is throwing an exception a side-effect? [16:57:02.0000] <gsnedders> Hixie: No side effects, and state doesn't effect its result. [16:57:03.0000] <gsnedders> Hixie: No, that's a return value. [16:58:00.0000] <Hixie> is triggering GC or allocating memory a side-effect? [16:59:00.0000] <Hixie> are available memory or amount of time the script has been executing so far "state"s? 2011-06-24 [17:00:00.0000] <gsnedders> Hixie: GC shouldn't be observable, so no. Allocating memory isn't really a side-effect. If they're not arguments to the function, yes.l [17:00:01.0000] <Hixie> GC is observable in practice via timing attacks, and allocating memory affects both GC and available memory, which you just described is a state. [17:01:00.0000] <Dashiva> gsnedders: What do you mean by complexity? It's possible to write a really big and complex function that only uses local state, so... [17:01:01.0000] <Hixie> anyway, function(a, b) { return a * b; } depends on state and has side-effects [17:01:02.0000] <Yuhong> From http://www.alistapart.com/articles/beyonddoctype : [17:01:03.0000] <Hixie> so it's not "pure" by your definition [17:01:04.0000] <Yuhong> "Back in 1998, Todd Fahrner came up with a toggle that would allow a browser to offer two rendering modes: " [17:01:05.0000] <AryehGregor> Hixie, we're talking about JavaScript on the conceptual level, e.g., side effects that all JavaScript implementations must have. [17:01:06.0000] <AryehGregor> Like ones required by the spec. [17:02:00.0000] <Yuhong> In the article there is a link to the mailing list message. [17:02:01.0000] <gsnedders> Dashiva: Really, I want something that does something interesting. [17:02:02.0000] <AryehGregor> On a practical level, it's implemented in circuits and nothing is really pure. [17:02:03.0000] <Dashiva> gsnedders: How about e.g. a SHA-1 implementation [17:03:00.0000] <Hixie> ah well if this is purely hypothetical then i question whether the question is "interesting" :-P [17:03:01.0000] <Philip`> What does "state doesn't [a]ffect its result" mean? [17:03:02.0000] <Yuhong> Better link via Google Groups :http://groups.google.com/group/netscape.public.mozilla.layout/browse_thread/thread/fa45e75bd0e8af0f [17:05:00.0000] <boogyman> "interesting" is a subjective term [17:05:01.0000] <Dashiva> Hixie: I would call it a cake operation [17:05:02.0000] <Dashiva> Since you can only eat a cake once, and you can't reverse eating a cake [17:05:03.0000] <Hixie> heh [17:05:04.0000] <gsnedders> Hixie: It's not purely theoretical, because it's relevant if you want to do, e.g., loop invariant code-motion of function calls. [17:06:00.0000] <gsnedders> Dashiva: Probably doable. [17:06:01.0000] <gsnedders> Yuhong: thanks for finding that [17:06:02.0000] <Philip`> For any particular piece of code that is pure, it's trivial to write a static analyser that proves it's pure (just make one like "if (code == thatParticularPieceOfCode') return true"), so that part of the interesting question doesn't seem relevant to anything [17:07:00.0000] <Dashiva> gsnedders: Can you give an anagram of Banach–Tarski? [17:08:00.0000] <Philip`> s/interesting/allegedly interesting/ [17:08:01.0000] <gsnedders> Philip`: Hmm, function() { var a = []; return a.length; } is pure, though it's not immediately obvious that you can trivially prove by a machine that that property access is pure. [17:09:00.0000] <Hixie> yeah i don't really know whether you can have code with no side-effects that is particularly interesting, i mean, the side-effects are the interesting bit [17:09:01.0000] <Hixie> e.g. displaying the result on the screen [17:09:02.0000] <Dashiva> Hixie: Isn't that what functional programming is all about? No side effects [17:09:03.0000] <Hixie> there's always a side-effect _somewhere_ [17:09:04.0000] <Hixie> otherwise you can optimise the whole thing away [17:09:05.0000] <jamesr> no intermediate side effects [17:09:06.0000] <Hixie> and that can hardly be particularly interesting [17:10:00.0000] <gsnedders> Hixie: Sure, you just have side-effects elsewhere. The point is taking advantage of pure functions to do stuff like loop invariant code-motion. [17:10:01.0000] <Philip`> gsnedders: You can prove it trivially with a machine in which you define that function's purity as an axiom [17:10:02.0000] <Hixie> gsnedders: doesn't [] run the Array constructor which can be hooked? [17:11:00.0000] <gsnedders> Hixie: It always runs the built-in Array constructor, no matter what Array in the global scope is equal to [17:11:01.0000] <Hixie> ah [17:11:02.0000] <Dashiva> Actually, no I'm trying to remember if the pure keyword in FORTRAN was a hint or actually enforced... [17:11:03.0000] <Dashiva> *now [17:11:04.0000] <Hixie> how did those json attacks work then? [17:11:05.0000] <jamesr> and so .length ignores Array.prototype in the global scope too? [17:12:00.0000] <gsnedders> jamesr: length is on the individual Array object, so what's on the prototype doesn't matter. [17:12:01.0000] <gsnedders> Hixie: dunno. prototypes? [17:14:00.0000] <gsnedders> jamesr: But yeah, reading any property you can't prove is on the object itself and hence might be on the prototype would make it impure. [17:14:01.0000] <Hixie> gsnedders: from what you've described, it seems easy to prove that it's pure. You walk back from the property access until you get to the previous line which constructs the object in question, and there you find that .length is defined in a pure way, and so you can see it wasn't changed along the way. QED. [17:15:00.0000] <Hixie> s/line/statement/ [17:15:01.0000] <gsnedders> Hixie: expression [17:15:02.0000] <gsnedders> :P [17:16:00.0000] <gsnedders> (function statements must have a name) [17:16:01.0000] <Hixie> ? [17:16:02.0000] <Hixie> i meant "return a.length" and "var a = []" [17:16:03.0000] <gsnedders> Hixie: Yeah, I know. [17:16:04.0000] <Hixie> so statement, not expression [17:16:05.0000] <Hixie> (though statements in JS can be expressions) [17:17:00.0000] <Hixie> (but that's neither here nor there) [17:17:01.0000] <gsnedders> Hixie: No, expressions can be statements, statements can't be expressions. [17:17:02.0000] <gsnedders> Hixie: var foo = if (x) y; doesn't work [17:17:03.0000] <Hixie> i meant what i wrote, but i agree that it's confusingly stated [17:17:04.0000] <Philip`> A feature sadly missing in most languages since BCPL :-( [17:18:00.0000] <Hixie> the class of syntax constructrs that are statements includes the class of syntax construct that is an expression [17:18:01.0000] <Hixie> i actually don't usually like that feature [17:18:02.0000] <Hixie> but that's another story [17:19:00.0000] <Hixie> (imho neither statements should be expressions not expressions statements, since confusing one for the other is almost always a bug) [17:19:01.0000] <Hixie> (and expressions shouldn't have side-effects; "=" and "++", i'm looking at you) [17:20:00.0000] <Dashiva> But then you're promoting the vast majority of expressions to statements [17:20:01.0000] <Hixie> hm? [17:21:00.0000] <gsnedders> Hixie: So function calls can't be expressions, assignment can't be expressions… what can? [17:22:00.0000] <gsnedders> (I know, I'm exaggerating, but that's a lot of things that cease to be expressions) [17:22:01.0000] <Hixie> it works fine if you have functions that don't return values (which can't be expressions) and if assignment is not an expression. [17:23:00.0000] <Hixie> (well, i can live with functions that return values being statements and the value is dropped, that's useful often enough) [17:24:00.0000] <Dashiva> But then you need a class of statements that return values [17:24:01.0000] <Hixie> why? [17:24:02.0000] <Dashiva> Because expressions aren't allowed to have side effects, but things like delete and new have side effects and return values [17:26:00.0000] <Hixie> function calls that have side-effects are fine [17:30:00.0000] <Dashiva> Sounds like you're just saying "expressions with side effects are fine, unless it's ++/--" :) [17:32:00.0000] <Hixie> or '=' @ [17:32:01.0000] <Hixie> er [17:32:02.0000] <Hixie> or '=' ! [19:25:00.0000] <sephr> Where do I get the URL for a folder selected by a user resolveLocalFileSystemURL if <input type="file"> only gives relative URLs? [19:27:00.0000] <sephr> a user for* [19:28:00.0000] <sephr> actually from [19:30:00.0000] <charlvn> sephr: why would you need the containing directory? you only need the selected files, right? [19:31:00.0000] <sephr> charlvn: well that's not the point. resolveLocalFileSystemURL needs an absolute URL [19:31:01.0000] <charlvn> ah i see [19:31:02.0000] <sephr> I need to use resolveLocalFileSystemURL because it's for cross-document manipulation of the files [19:32:00.0000] <sephr> and I can't just adoptNode the file input to the other document [19:32:01.0000] <sephr> also there isn't a single example usage of the function in the spec [19:32:02.0000] <sephr> the person who proposed the function probably didn't even stop to think that it's not actually possible to use lol [19:33:00.0000] <charlvn> i'm actually looking it up myself right now and the examples i'm finding look silly [19:36:00.0000] <sephr> charlvn: mind linking me to them? [19:36:01.0000] <sephr> I haven't seen any real examples so far [19:36:02.0000] <sephr> only one where someone uses it to access a private filesystem [19:36:03.0000] <charlvn> i'm looking at the spec now but i see what you mean [19:36:04.0000] <sephr> which is just pointless [19:36:05.0000] <sephr> it's intended for file:// URLs [19:36:06.0000] <charlvn> been looking at this: http://www.html5rocks.com/en/tutorials/file/filesystem/ [19:38:00.0000] <sephr> yeah that doesn't really touch anything about the local filesystem [19:41:00.0000] <sephr> charlvn: I just thought of an crazy workaround so it's ok [19:42:00.0000] <sephr> I'm going to request file:/// [19:42:01.0000] <sephr> and then make my own makeshift file browser [19:42:02.0000] <sephr> in-page [19:43:00.0000] <charlvn> lol nice [20:17:00.0000] <sephr> How does a site request permission to use resolveLocalFileSystemURL? [00:32:00.0000] <estelle> Will an empty string as the value of the form attribute, form="", disassociate the element from the form of which the element is a descendant? Not that there is a reason to, but is this a way to get a form element to not submit with its parent form? [00:38:00.0000] <estelle> If the element's form owner is not null, and the element's form content attribute is not present, and the element's form owner is its nearest form element ancestor , then the form element ancestor is the owner. But if the form owner is listed as null via the attribute, does it disassociate from it's ancestor form in which it is contained? [00:46:00.0000] <estelle> if so, should the spec not explicitly state that? http://dev.w3.org/html5/spec/association-of-controls-and-forms.html#attr-fae-form [01:28:00.0000] <estelle> http://jsfiddle.net/estelle/ujsEG/ is a test case. Opera disassociates it, Chrome submits it. [01:47:00.0000] <hsivonen> http://www.w3.org/2010/02/rdfa/meetings/2011-06-23 brings some TAG stuff to the public record [01:49:00.0000] <bga_> espadrine i guess "form" attr just dont work in chrome [01:53:00.0000] <estelle> bga_: form attribute works partially http://jsfiddle.net/estelle/ujsEG/ when submitted goes to http://www.standardista.com/?woof=dog&moo=cow&ribbit=frog. Ribbit=frog is outside the form. [01:53:01.0000] <estelle> not the form attribute on ribbit [02:25:00.0000] <KevinMarks> hm, Safari 5.0.5 from apple website refuses to install on OS X 10.6.8 [02:26:00.0000] <hsivonen> KevinMarks: isn't it already bundled? [03:37:00.0000] <annevk> Do constructors inherit? [03:38:00.0000] <annevk> I.e. if I define a constructor on A, and I have interface B : A; does B have it as well? [03:39:00.0000] <bga_> in classical oop - no [03:39:01.0000] <bga_> its source of silent errors [03:48:00.0000] <annevk> so we'd have to define it for each interface [03:49:00.0000] <annevk> I guess that works, but it's a minor annoyance [03:56:00.0000] <annevk> heycam|away, around? [04:09:00.0000] <annevk> AryehGregor, I think the link Hixie uses is http://www.w3.org/Bugs/Public/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=exact [04:09:01.0000] <annevk> =ian%40hixie.ch&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Last+Changed&field0-0-0=noop&type0-0-0=noop&value0-0-0= [04:09:02.0000] <annevk> at least per damowmow.com [04:23:00.0000] <annevk> oh, the W3C is not publishing WebVTT? [04:24:00.0000] <hsivonen> annevk: source? [04:25:00.0000] <annevk> I meant it's not in W3C HTML5 [04:25:01.0000] <hsivonen> annevk: another WG is being chartered, though [04:25:02.0000] <annevk> Oh right, they are going to set up some WG for it? [04:25:03.0000] <annevk> ah [04:32:00.0000] <asmodai> http://www.brucelawson.co.uk/2011/installable-web-apps-and-interoperability/ [04:32:01.0000] <annevk> hmm, MediaQueryList needs its own task source? ... [04:35:00.0000] <hsivonen> /me read task force first [04:41:00.0000] <annevk> :) [04:41:01.0000] <annevk> with the CSS WG asking the TAG about Unicode normalization, I would not be surprised [04:56:00.0000] <MikeSmith> annevk: you managing html5.org, right. [04:56:01.0000] <MikeSmith> * right? [04:58:00.0000] <annevk> yeah [04:59:00.0000] <annevk> and webforms2.org! [05:04:00.0000] <MikeSmith> annevk: can you add a platform.html5.org domain? [05:04:01.0000] <MikeSmith> and gimme write perms for it [05:04:02.0000] <MikeSmith> and for whoever cares to have it [05:05:00.0000] <slartsa> hm, does html5 offer sollution for my issue of not being able to print source of a page where I have dynamically created and positioned elements? [05:05:01.0000] <annevk> you want some space or you want it to point to another server? [05:05:02.0000] <annevk> slartsa, no, developer tools have solutions for that [05:05:03.0000] <MikeSmith> annevk: space [05:06:00.0000] <annevk> you got it [05:06:01.0000] <annevk> well soon [05:06:02.0000] <slartsa> hm [05:06:03.0000] <MikeSmith> no rush brother man [05:22:00.0000] <MikeSmith> oh man [05:22:01.0000] <MikeSmith> "Mi nombre es Coronel Bolous Kappa" [05:22:02.0000] <MikeSmith> that is the absolute winner for today [05:22:03.0000] <MikeSmith> hands-down [05:38:00.0000] <annevk> takes quite a while for that new subdomain to become operational [05:55:00.0000] <hsivonen> annevk: why is the csswg asking the TAG? [05:56:00.0000] <annevk> to make it somebody else's problem [05:57:00.0000] <annevk> they should just say no, but nobody seems to have the balls [05:58:00.0000] <annevk> https://bitbucket.org/ms2ger/dom-core - constructor created events, time for a new blog post I gues [05:58:01.0000] <hsivonen> :-( [06:12:00.0000] <annevk> Ms2ger, I guess I could do part of http://www.w3.org/Bugs/Public/show_bug.cgi?id=13041 already [06:12:01.0000] <annevk> Ms2ger, I wonder whether we should wait until the mutation events business is sorted out [06:13:00.0000] <Ms2ger> I dunno, I've done a bit of it as well [06:14:00.0000] <annevk> Once Gecko has those new mutation thingies I guess we can add them [06:15:00.0000] <annevk> well, I guess we should wait a week or so to see what the feedback is on the list [06:15:01.0000] <annevk> and maybe write a blogpost to attract more attention etc. [06:16:00.0000] <annevk> Peter`, what is your W3C Bugzilla account? http://www.w3.org/Bugs/Public/show_bug.cgi?id=13044 ;) [06:29:00.0000] <annevk> Given the current constructor model I am even more convinced we should not have an uninitialized state of any kind... [06:29:01.0000] <annevk> Just adds needless complexity [06:30:00.0000] <matjas> are deferred scripts executed in source order or not? [06:30:01.0000] <annevk> I think so [06:31:00.0000] <Ms2ger> /me thinks so as well [06:31:01.0000] <Ms2ger> Async ones don't, though [06:31:02.0000] <matjas> then so it must be [06:31:03.0000] <matjas> Ms2ger: I know that much :) [06:32:00.0000] <annevk> http://annevankesteren.nl/2011/06/creating-events [06:34:00.0000] <annevk> "W3C strategy tax" awesome term [06:35:00.0000] <annevk> I do not get why I get two emails when I am the assignee despite that I have said I do not want to receive email when a new bug is created when I am the assignee [07:15:00.0000] <annevk> hmm [07:15:01.0000] <annevk> I might have screwed something up [07:16:00.0000] <annevk> looks okay, just some additional useless commits [07:17:00.0000] <hsivonen> hmm. my claims are wrong: http://www.brucelawson.co.uk/2011/installable-web-apps-and-interoperability/comment-page-1/#comment-769682 [07:18:00.0000] <annevk> I agreed with your claims, fwiw [07:18:01.0000] <annevk> And I really like that term [07:18:02.0000] <hsivonen> annevk: which term? [07:19:00.0000] <annevk> W3C strategy tax [07:23:00.0000] <Philip`> /me wishes he knew how to disable font downloads in Opera, so he could safely visit hsivonen's site without it downloading megabytes of font files [07:24:00.0000] <hsivonen> hmm. I should get around to writing a program that figures out which characters I use so that I could automate driving a subsetter [07:25:00.0000] <hsivonen> the program would either have to implement the CSS cascade or have hard-coded info about the styles I use [07:26:00.0000] <Philip`> It'd possibly be alright if you made each font include each Unicode block that contains any characters you use on your site [07:27:00.0000] <Philip`> as long as you don't have a lot of CJK stuff on there [07:28:00.0000] <hsivonen> Philip`: the fonts don't have CJK [07:29:00.0000] <hsivonen> Philip`: but my site has bits of Polish and Belorusian [07:43:00.0000] <annevk> who is going to spec DOM Traversal? [07:48:00.0000] <Ms2ger> Not it! [07:49:00.0000] <Ms2ger> Didn't Peter` want to spec things? :) [07:50:00.0000] <annevk> I think it's mostly me who wants him to spec things :) [07:55:00.0000] <annevk> Ms2ger, btw, merge somehow goes rather difficult because we have 3 heads [07:55:01.0000] <annevk> Ms2ger, is that because of your annotations? [07:55:02.0000] <Ms2ger> Looking [07:56:00.0000] <Ms2ger> Oh [07:57:00.0000] <Ms2ger> /me thinks [08:02:00.0000] <Ms2ger> Should be fixed [08:25:00.0000] <asmodai> mmm, fast recycle of Chrome and Firefox is pushing corporations to IE due to longer EOL cycles. [08:25:01.0000] <asmodai> s/recycle/cycle [08:26:00.0000] <asmodai> That definitely seems to mirror the sentiments and groans I heard from our system admins and helpdesk folks when FF EoL'd 4 after the 5 release notification. [08:28:00.0000] <AryehGregor> They were already mostly using IE because of Group Policy and such. [08:28:01.0000] <asmodai> Maybe. [08:28:02.0000] <asmodai> But we moved to FF as the default here. [08:28:03.0000] <AryehGregor> Nobody but MS really tries to target corporations much at all, except recently Chrome a little bit. [08:29:00.0000] <asmodai> And between all the projects and whatnot, we simply have not the means of doing an effective one-day turn around on updates and testing. [08:29:01.0000] <annevk> http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-event-type-timeStamp hmm [08:29:02.0000] <annevk> Ms2ger, should we just copy that for now? (well not the "used to specify" bit, but the general idea) [08:29:03.0000] <AryehGregor> The thing is, new Firefox versions are likely to be so well-tested that you should be able to just deploy them a little while after release and not worry about it. [08:29:04.0000] <Ms2ger> asmodai, 6 weeks* [08:30:00.0000] <asmodai> Ms2ger: Still, 6 weeks turn around? Hah, still laughable. [08:30:01.0000] <asmodai> There's running projects, can't fit that in a 6 week timeframe. [08:30:02.0000] <AryehGregor> What turnaround is needed? Deploy the update without testing and roll back if it causes problems. [08:31:00.0000] <AryehGregor> What problems would it be likely to cause? [08:31:01.0000] <Ms2ger> annevk, sure [08:31:02.0000] <AryehGregor> Unless you rely on extensions . . . the Firefox extension ecosystem will have to adapt here. [08:31:03.0000] <gsnedders> AryehGregor: rolling back can be painful if the Firefox data files have changed format [08:31:04.0000] <AryehGregor> Chrome was smart to establish very high-level, not-so-powerful, but stable extension APIs from the start. [08:31:05.0000] <AryehGregor> gsnedders, granted. [08:31:06.0000] <asmodai> There's always the possibility of things breaking, internal or external websites. [08:31:07.0000] <AryehGregor> The question is, in practice, how likely is it that things will break? [08:31:08.0000] <AryehGregor> Unlike IE, Firefox maintains insane levels of compatibility between versions. [08:32:00.0000] <AryehGregor> (IE doesn't in the last few versions because it's trying to converge to standards) [08:32:01.0000] <AryehGregor> (although maybe the compat modes are enough for 8 and 9, I dunno) [08:32:02.0000] <AryehGregor> Just because most software is written by monkeys and changes massively every release and breaks stuff, doesn't mean Firefox or Chrome will. [08:33:00.0000] <AryehGregor> Firefox gets more testing before release than almost any organization could possibly come close to matching. [08:33:01.0000] <gsnedders> AryehGregor: But likley not with their intranet [08:33:02.0000] <Ms2ger> http://www.pcmag.com/article2/0,2817,2387514,00.asp?f=2#comment-233916003 [08:33:03.0000] <asmodai> What gsnedders says. [08:33:04.0000] <gsnedders> (Which may well be some legacy system with no automated testing) [08:34:00.0000] <AryehGregor> Yeah, it's possible, but I'd bet it's not going to be an issue for most organizations in practice. [08:34:01.0000] <asmodai> gsnedders: Shit, we have tons of those here. [08:34:02.0000] <gsnedders> (Or be built with orders from mangement to do it as soon as possible, regardless of whether or not it has tests or will work long-term) [08:34:03.0000] <asmodai> No it's simpler. [08:34:04.0000] <AryehGregor> But most websites are like that too. [08:34:05.0000] <asmodai> new version? Test + acceptance for every app in use that it works. [08:34:06.0000] <AryehGregor> The intranet sites are using the same functionality as the public website. [08:35:00.0000] <AryehGregor> So if the intranet sites break, so will websites. [08:35:01.0000] <gsnedders> AryehGregor: Yet are more often built targetting a single browser. [08:35:02.0000] <gsnedders> More often with workarounds for bugs in that browser, relying upon the b ugs. [08:35:03.0000] <gsnedders> *bugs [08:35:04.0000] <gsnedders> For websites you have to support multiple browsers practically, for intranets you don't. [08:36:00.0000] <AryehGregor> Yes, it's possible that things will break, but I strongly suspect that people are not making a rational decision based on the risk and are just blindly applying policies because they're needed for all the other programs they use. [08:36:01.0000] <Ms2ger> You could have a few people on Aurora, but I guess sysadmins are still scared of that idea [08:36:02.0000] <gsnedders> AryehGregor: Also, Opera has hacks in browser.js for some third-party software we use internally. [08:37:00.0000] <asmodai> Ms2ger: I work in a development team and we use various versions of browsers ahead of time and that's still not a guarantee every subtle bug or interaction is caught. [08:37:01.0000] <AryehGregor> So what you could do is 1) assign some people to use Aurora so you get early warning, 2) back up everyone's profiles right before deploying a new version, 3) deploy the new version without testing (beyond Aurora use) and roll back if there are problems, restoring the old profiles if necessary. [08:37:02.0000] <asmodai> Let alone if you need to depend on additional support from companies like Oracle, SPSS, or whatnot. [08:38:00.0000] <AryehGregor> Or just keep the old version of the browser installed and working in parallel so people can switch to it themselves if there are problems. [08:38:01.0000] <AryehGregor> asmodai, there are no guarantees in life. You have to make a cost-benefit analysis, and not try applying deployment procedures designed for rarely-updated software to often-updated software. [08:38:02.0000] <Ms2ger> asmodai, sure, but how do you guarantee that every subtle bug will be caught in 6 months of testing? [08:39:00.0000] <asmodai> Ms2ger: Of course. But a timeframe of 6 months is more realistically to plan in. 6 weeks is not. [08:39:01.0000] <AryehGregor> This is a question of people being put in situations they're not familiar with, not something that would be an actual problem in practice if they took appropriate measures. [08:40:00.0000] <AryehGregor> asmodai, a six-week release schedule means there are only six weeks of possible changes. That means there's much less risk of breakage from each new version. [08:40:01.0000] <Ms2ger> asmodai, note that the number of changes between versions is orders of magnitude smaller now [08:40:02.0000] <Ms2ger> What Aryeh said [08:40:03.0000] <AryehGregor> "orders of magnitude"? [08:40:04.0000] <AryehGregor> Should be like a quarter as many. [08:41:00.0000] <AryehGregor> asmodai, the thing about doing regular small deployments is it usually causes only small problems that can be quickly fixed in production. It's not like software that only releases every two years and changes a million things at once and breaks everything at once. [08:41:01.0000] <gsnedders> AryehGregor: The cost-benefit analysis is heavily biased towards the risk of something breaking. If nothing breaks, you've wasted a day or two of sysadmin time testing. If stuff badly breaks, you've killed producivity for the company for a few days. [08:41:02.0000] <gsnedders> AryehGregor: Also, having six weeks to change stuff makes no difference. Typically large changes land all at once, regardless of six weeks or six months. [08:41:03.0000] <AryehGregor> gsnedders, yes, granted. But I think sysadmins who refuse to consider regular browser updates are overestimating the risk of breakage. [08:42:00.0000] <AryehGregor> gsnedders, but you have fewer large changes per release. [08:42:01.0000] <asmodai> Fair point, but I also think you too easily dismiss organisations with an attitude of "suck it up and adjust speed". It simply doesn't work like that. Especially not in organisations like this that are always strapped for cash and resources (university). [08:42:02.0000] <AryehGregor> So fewer distinct things will break. [08:42:03.0000] <gsnedders> AryehGregor: It only takes one distinct thing to break to take the whole company down. [08:42:04.0000] <Ms2ger> gsnedders, but if you have a few people running aurora, you'll be warned [08:43:00.0000] <AryehGregor> gsnedders, what Ms2ger said, plus you can keep the old version installed. [08:43:01.0000] <Ms2ger> It doesn't take 6 months to figure out that your intranet can't do anything anymore [08:43:02.0000] <AryehGregor> So if it stops working, people can just immediately use the old version again. [08:43:03.0000] <AryehGregor> This isn't a server app here. [08:44:00.0000] <gsnedders> AryehGregor: Not if the profile has been changed by the new version. [08:44:01.0000] <AryehGregor> If someone's doing something in a browser, it doesn't matter if they have to take an extra five minutes to do it again in another browser. [08:44:02.0000] <AryehGregor> gsnedders, keep the old profiles around. [08:44:03.0000] <AryehGregor> If it's a big problem, you'll notice right away. [08:44:04.0000] <AryehGregor> So switching back is no big deal. [08:44:05.0000] <AryehGregor> Also, people can selectively use the old version. [08:44:06.0000] <gsnedders> AryehGregor: It depends how frequently used the system is. [08:44:07.0000] <Philip`> Do corporations currently happily do 4.0.0->4.0.1 etc updates with the assumption that nothing will break because it's just minor bug and security fixes? [08:44:08.0000] <AryehGregor> So if one critical app breaks and they only use it every month, just go back to the old version for that app. [08:45:00.0000] <annevk> added timeStamp [08:45:01.0000] <gsnedders> AryehGregor: Will my receptionist understand that? [08:45:02.0000] <AryehGregor> Although again, breakage is unlikely here. [08:45:03.0000] <AryehGregor> Look, you can always come up with theoretical problems. [08:45:04.0000] <AryehGregor> The only way you can find out if it will work for your organization is to try it and see. [08:45:05.0000] <AryehGregor> My bet is it will work fine. [08:46:00.0000] <AryehGregor> With no more sysadmin overhead than irregular updates, and probably less. [08:46:01.0000] <AryehGregor> Because then everyone's very familiar with the routine, since they do it all the time. [08:46:02.0000] <gsnedders> AryehGregor: Risk-benefit. What benefit does the company get from the upgrade? [08:46:03.0000] <Ms2ger> Security patches [08:46:04.0000] <AryehGregor> Ms2ger, as opposed to switching to IE? [08:46:05.0000] <AryehGregor> That's the question, yeah. [08:46:06.0000] <Ms2ger> A security architecture? [08:47:00.0000] <AryehGregor> Even if it would be no higher risk to switch to Firefox in the long term, there's not really any incentive to find out. [08:47:01.0000] <gsnedders> Ms2ger: Or I can use a browser with a slower release cycle where I don't have such a large risk for that benefit. [08:47:02.0000] <AryehGregor> Ms2ger, most organizations don't care much about security as long as it's unlikely to hurt the bottom line, which it is. [08:47:03.0000] <AryehGregor> Plus, IE9 is pretty secure. [08:47:04.0000] <Philip`> If they don't care about security, they can just stick with Firefox 4 for years [08:47:05.0000] <AryehGregor> So yeah, I can understand why people don't want to bother trying something different. [08:48:00.0000] <Ms2ger> The enterprise doesn't use IE9, they're on XP [08:48:01.0000] <AryehGregor> Lots of places have upgraded to 7 by now. [08:48:02.0000] <AryehGregor> (Does XP have minority Windows market share yet?) [08:48:03.0000] <AryehGregor> Depends who you ask, it seems. [08:48:04.0000] <AryehGregor> Oh, wait. [08:48:05.0000] <AryehGregor> http://en.wikipedia.org/wiki/Microsoft_Windows#Usage_share [08:49:00.0000] <AryehGregor> Looks like it's at about 50% or higher still. [08:49:01.0000] <AryehGregor> Wow, Microsoft really messed up with Vista. [08:49:02.0000] <Ms2ger> ... You didn't realize that earlier? :) [08:50:00.0000] <AryehGregor> I didn't realize it was quite this bad. [08:51:00.0000] <jcranmer> the upgrade mentality fell apart with the long vitality of XP [08:51:01.0000] <gsnedders> AryehGregor: Also: six week release cycles instead of six month release cycles you have the same amount of risk, just distributed over more points. [08:51:02.0000] <AryehGregor> gsnedders, viewed differently, it's the same amount of risk but less concentrated. [08:51:03.0000] <gsnedders> (If course, the real solution to this is to have complete automated test suites for intranet applications) [08:51:04.0000] <AryehGregor> http://stats.wikimedia.org/archive/squid_reports/2011-01/SquidReportOperatingSystems.htm [08:51:05.0000] <gsnedders> *Of [08:52:00.0000] <AryehGregor> Windows NT 5.1 has slightly less share according to that than Windows NT 6.0+6.1. [08:52:01.0000] <AryehGregor> But it probably underestimates corporate usage. [08:52:02.0000] <gsnedders> (But the tools for automated testing of most browsers still suck in general) [08:52:03.0000] <AryehGregor> So, yeah, ouch. [08:52:04.0000] <llrcombs> Meanwhile, LARGE_PERCENTAGE of mac users upgrade to new OS versions, as they actually adds features and are inexpensive. [08:52:05.0000] <AryehGregor> And most Linux users upgrade too. [08:52:06.0000] <llrcombs> yep [08:53:00.0000] <jcranmer> I think the recession cramped peoples' purchaes of new hardware [08:53:01.0000] <AryehGregor> Microsoft only gets upgrades when people throw out their old hardware and buy new hardware that comes with 7 preinstalled. [08:53:02.0000] <llrcombs> yep [08:53:03.0000] <AryehGregor> Of course, this is the disadvantage of slow upgrade cycles: the cost of each upgrade is greater, so people don't want to go to the trouble. [08:53:04.0000] <gsnedders> (And possibly convincing mgmt to actually bother paying to write a test suite. Often up-front costs are harder than repeating costs.) [08:54:00.0000] <llrcombs> well, $30 for Mac updates is pretty good as a price, and Linux updates are teh fr33z [08:54:01.0000] <AryehGregor> If upgrades are common and effortless, people will be more willing to upgrade. [08:55:00.0000] <llrcombs> Lion's easy to install, Windows... it depends, and Linux varies wildly [08:55:01.0000] <llrcombs> sometimes on Linux, you can upgrade your kernel without even rebooting [08:55:02.0000] <gsnedders> AryehGregor: My father has gone from System 7.5 -> Mac OS 9.0 -> Mac OS 10.4 -> Mac OS 10.6. Why so irregular? The OS works for him, and he's unliklely to use any new features. The only reason for the last one was 10.4 no longer getting security updates. [08:56:00.0000] <llrcombs> so he must've gotten a new machine between 9 and 10.6 [08:56:01.0000] <remysharp> Regarding Web Storage events - if the event only fires on the /other/ windows on the same origin, am I right in thinking this is useless to sessionStorage? [08:56:02.0000] <Philip`> /me counted http://zaynar.co.uk/0ad-pub/oscounts.txt from some game over a few months, and quite a few people were using a slightly-over-a-year-old Ubuntu (which was the oldest the game was packaged for) [08:56:03.0000] <AryehGregor> llrcombs, you can't upgrade the Linux kernel without rebooting, unless you use that thing that those guys are trying to sell that nobody uses. [08:56:04.0000] <AryehGregor> The kernel hotpatch thing. [08:56:05.0000] <gsnedders> llrcombs: Yeah, the first two updates were with new hardware. [08:57:00.0000] <AryehGregor> Linux is an unusual pain to upgrade for an OS, because you typically upgrade all the software at once, not just the OS. [08:57:01.0000] <AryehGregor> So it takes much longer and there's much more chance of breakage. [08:57:02.0000] <AryehGregor> But if you don't do it, you don't get recent software versions unless you go to the pain of using non-distro packages, or tarballs. [08:58:00.0000] <jcranmer> only upgrade X or anything else kernelish if you have an hour to spend fixing it if X goes bad [08:59:00.0000] <gsnedders> Testing systems that rely on screenshots are fun to update [09:01:00.0000] <Ms2ger> How about changing the fonts? [09:01:01.0000] <Ms2ger> /me pushes domcore [09:04:00.0000] <gsnedders> (Such testing systems also don't work well over many platforms) [09:05:00.0000] <gsnedders> (Font rendering varies massively, even with the same fonts) [09:05:01.0000] <annevk> /me sees domcore coming and ducks [09:10:00.0000] <remysharp> are storage events valid for sessionStorage? [09:12:00.0000] <annevk> remysharp, yes [09:13:00.0000] <remysharp> annevk: but the event only fires on the other windows, not the window I set the data [09:13:01.0000] <remysharp> annevk: and since sessionStorage only stores in the current window - I don't get any events firing for sessionStorage [09:13:02.0000] <remysharp> annevk: I'm pretty sure I've got this wrong - which is why I'm asking... [09:20:00.0000] <annevk> remysharp, if you have an iframe it would fire there [09:21:00.0000] <annevk> remysharp, multiples tabs are not related browsing contexts so that would indeed not work, no [09:21:01.0000] <remysharp> annevk: hmm, interesting. I guess that would be the only situation, right? [09:22:00.0000] <gsnedders> MikeSmith: + HTTP? [09:22:01.0000] <gsnedders> MikeSmith: Or is that lower level than you want to count? [09:22:02.0000] <MikeSmith> not sexy [09:22:03.0000] <MikeSmith> this is only for sexy stuff [09:23:00.0000] <annevk> remysharp, window.open() too [09:24:00.0000] <remysharp> annevk: you're a star. Cheers (again) for your help. [09:25:00.0000] <gsnedders> MikeSmith: XSLT is sexy? *hides* [09:25:01.0000] <MikeSmith> gsnedders: for masochists [09:26:00.0000] <gsnedders> MikeSmith: True enough. [09:32:00.0000] <annevk> karlcow, can't just say silly and stupid and not explain yourself... [09:32:01.0000] <annevk> that's pretty rude [09:38:00.0000] <MikeSmith> /me reads hsivonen tweet. you dudes just wants to un-sexy the platform… sigh. but I guess we have to add that [09:40:00.0000] <karlcow> annevk: your message was rude too (or childish or macho). I'll be happy to have a discussion with you about it f2f in front of a beer. :) [09:40:01.0000] <karlcow> I'll be in Oslo beginning of september [09:44:00.0000] <MikeSmith> you guys should just oil up and have a wrestling match [09:44:01.0000] <annevk> :) [09:44:02.0000] <karlcow> hmmm this becomes interesting, but s/wresting/cuddling/ with oil! [09:48:00.0000] <MikeSmith> hey, anybody remember that Forms Task Force we created? [09:48:01.0000] <MikeSmith> I'm trying to remember how that worked out [09:48:02.0000] <MikeSmith> dunno why I'm thinking about it today [09:49:00.0000] <MikeSmith> just came to mind for some reason [09:49:01.0000] <Philip`> Did it ever get officially closed, or did it just die out by itself? [09:49:02.0000] <annevk> yeah, we set a deadline for it [09:49:03.0000] <annevk> and then they didn't produce (they included me) [09:49:04.0000] <annevk> and then we merged Web Forms 2.0 into HTML [09:54:00.0000] <MikeSmith> ok, so it worked out great, then [09:54:01.0000] <MikeSmith> here's to similar successes [10:10:00.0000] <erlehmann> gsnedders, I once attempted to code a content management system in XSLT. last i heard, everyone who hears about XSLT goes through that stage. [10:10:01.0000] <Ms2ger> I hear some people are generating specs with XSLT [10:11:00.0000] <bga_> russian IT company yandex uses xslt as template everywhere [10:11:01.0000] <erlehmann> hear, hear! [10:12:00.0000] <MikeSmith> I still use xslt a lot [10:13:00.0000] <MikeSmith> but my judgement is affected by chronic substance abuse [10:13:01.0000] <MikeSmith> so I kind f don't count maybe [10:14:00.0000] <bga_> btw [10:14:01.0000] <bga_> when event delegation by class will become standard browser api? [10:14:02.0000] <erlehmann> great. i have made a javascript that leads not to a prompt telling me that the script is slow. [10:15:00.0000] <erlehmann> no, it leads to a prompt telling me that the firefox prompter for slow scripts is slow! [10:15:01.0000] <erlehmann> great success! [10:15:02.0000] <erlehmann> also, killall firefox-bin [10:16:00.0000] <Ms2ger> You might need to adjust that habit, we removed firefox-bin recently [10:16:01.0000] <AryehGregor> Oh, really? [10:16:02.0000] <AryehGregor> What do you have now? [10:16:03.0000] <AryehGregor> aryeh 2153 0.0 0.0 0 0 ? Z Jun23 0:00 [firefox-bin] <defunct> [10:16:04.0000] <Ms2ger> Just firefox [10:16:05.0000] <AryehGregor> :( [10:17:00.0000] <erlehmann> Ms2ger, debian experimental still only yields FF4 [10:17:01.0000] <Ms2ger> Which used to be a wrapper shell script, IIRC [10:17:02.0000] <AryehGregor> Yeah, it did. [10:17:03.0000] <AryehGregor> Never saw the point. [10:17:04.0000] <Ms2ger> erlehmann, boo, Debian [10:17:05.0000] <AryehGregor> erlehmann, guess Debian gets no security updates. [10:17:06.0000] <AryehGregor> The problem is, now all open-source browsers have six-week release cycles and get no security updates after a release. [10:18:00.0000] <erlehmann> blame chrome [10:18:01.0000] <AryehGregor> So Linux distros are going to have to figure out what to do. [10:18:02.0000] <AryehGregor> They'll probably have to make exceptions. [10:18:03.0000] <AryehGregor> /me asks a Debian maintainer he knows [10:18:04.0000] <erlehmann> *I* never saw the point in “firefox already running, close firefox”. Can't the process kill the running process itself? Or at least offer that as an option? [10:18:05.0000] <AryehGregor> Oh, he's not around. [10:19:00.0000] <erlehmann> ubuntu makes exceptions. debian, as if. [10:19:01.0000] <AryehGregor> Or figure out if it's exiting, and wait for it to exit if it is. [10:19:02.0000] <erlehmann> debian is a nomic game. no exceptions! [10:24:00.0000] <AryehGregor> Yes, my Debian maintainer acquaintance confirms that they'll just handle backporting all security fixes themselves for three or four years. [10:28:00.0000] <AryehGregor> Which I'm a bit skeptical of, since I've seen MediaWiki security updates that require intricate rewrites of large swathes of core code. [10:28:01.0000] <wilhelm> That sounds even riskier than making exceptions for certain packages. [10:28:02.0000] <Ms2ger> Fortunately, nobody uses debian, so they won't be targeted [10:28:03.0000] <AryehGregor> Not to mention that I've seen Debian maintainer changes that completely broke the functionality of security-critical packages (i.e., OpenSSL) because the maintainers didn't understand the code. [10:29:00.0000] <wilhelm> “Just patching” a browser without being able to use the browser vendor's testing infrastructure is madness. [10:29:01.0000] <AryehGregor> Well, for most security patches it's probably fine. [10:29:02.0000] <AryehGregor> Add a bounds check or check for a null pointer or whatever. [10:29:03.0000] <Ms2ger> wilhelm, this is open source, they have access to the testing infra ;) [10:30:00.0000] <wilhelm> Ms2ger: I certainly hope they do make use if it, then. (c; [10:30:01.0000] <Ms2ger> Ah, that we can't control :) [10:31:00.0000] <AryehGregor> Especially since Debian doesn't even use your trademarks. [10:32:00.0000] <MikeSmith> debian packagers do many arbitrary and misguided patches all the time [10:32:01.0000] <Ms2ger> That's their job, after all [10:32:02.0000] <MikeSmith> that's what makes using de Ian fun [10:33:00.0000] <MikeSmith> * using debian fun [10:36:00.0000] <wilhelm> It's great on servers. I wouldn't want to use anything else. On my workstations, however, I use something slightly more pragmatic. (c: [10:37:00.0000] <AryehGregor> I just use Ubuntu across the board. Works for me. [10:39:00.0000] <zewt> i stopped using ubuntu recently, went back to debian ... had too many ubuntu upgrades fail catastrophically [10:42:00.0000] <AryehGregor> Yeah, Ubuntu upgrades tend to be a little more exciting than I'd like. [10:42:01.0000] <AryehGregor> But then, from what I've heard, the same is true of every Linux distro with a sane release cycle. [10:42:02.0000] <AryehGregor> (I.e., Ubuntu, Fedora, and . . . that's about it) [10:43:00.0000] <Philip`> /me has upgraded Gentoo incrementally for years and it's almost always worked fine [10:44:00.0000] <Philip`> and much less disruptive than upgrading the entire distro at once [10:45:00.0000] <AryehGregor> Yes, the problem with distro upgrades is they're usually all at once. [10:46:00.0000] <Philip`> Maybe Ubuntu should switch to a 6-week major release cycle [10:46:01.0000] <Philip`> 11.04, 11.05.5, 11.07, 11.08.5, etc [10:47:00.0000] <Philip`> (with an occasional LTS release that they support for 12 weeks for people who need stability) [10:54:00.0000] <AryehGregor> I suggest you file the suggestion on Ubuntu Brainstorm. [10:54:01.0000] <AryehGregor> It has great advantages, like not having to have exceptions for Firefox and Chrome. [10:55:00.0000] <zewt> suggesting it to theonion instead [10:57:00.0000] <AryehGregor> Too techy for them. [10:58:00.0000] <zewt> dated releases would definitely make more sense for firefox and chrome than numbered releases, though [10:59:00.0000] <Ms2ger> Firefox 2011.06? Oh no, that must be an enormous update! [11:00:00.0000] <zewt> heh [11:00:01.0000] <kbrosnan> might run out of numbers [11:00:02.0000] <AryehGregor> Hmm, what's supposed to happen if two editorial assistants disagree about whether to WONTFIX a bug? [11:01:00.0000] <Ms2ger> Escalate to the Editor? [11:01:01.0000] <AryehGregor> /me wants to reopen http://www.w3.org/Bugs/Public/show_bug.cgi?id=12471, but just reopened another bug that annevk closed just a few minutes ago [11:01:02.0000] <MikeSmith> fight [11:01:03.0000] <zewt> cage match [11:02:00.0000] <MikeSmith> more like poke on [11:02:01.0000] <MikeSmith> * pokemon [11:10:00.0000] <AryehGregor> annevk, hsivonen, what should we do if one of us thinks something should be WONTFIX and another one disagrees? [11:10:01.0000] <AryehGregor> (I'd ask zcorpan too, but he's not here) [11:10:02.0000] <annevk> I would have asked Hixie first [11:11:00.0000] <annevk> Also, he reads the bugmail so he would reopen if he disagrees [11:11:01.0000] <annevk> And if you disagree with Hixie well then it's the normal process [11:12:00.0000] <AryehGregor> Is he actually going to make sure to look at all the bugs we WONTFIX? Surely that defeats the point? [11:12:01.0000] <estellevw> Should an empty string as the value of the form attribute, form="", disassociate the element from the form of which the element is a descendant? Not that there is a reason to, but is this a way to get a form element to not submit with its parent form? Opera seems to say yes. Chrome seems to say no. [11:12:02.0000] <annevk> AryehGregor, looking costs way less time than taking action [11:12:03.0000] <Ms2ger> /me thought Hixie didn't read bugmail [11:12:04.0000] <estellevw> If the element's form owner is not null, and the element's form content attribute is not present, and the element's form owner is its nearest form element ancestor , then the form element ancestor is the owner. But if the form owner is listed as null via the attribute, does it disassociate from it's ancestor form in which it is contained? if so, should the spec not explicitly state that? [11:12:05.0000] <estellevw> http://dev.w3.org/html5/spec/association-of-controls-and-forms.html#attr-fae-form [11:12:06.0000] <annevk> estellevw, there's an open bug on whether that should be valid [11:13:00.0000] <annevk> estellevw, what Chrome does is a bug per the current spec [11:13:01.0000] <estellevw> thank you annevk [11:13:02.0000] <AryehGregor> Actually, I should ask Hixie too: what should we do if one of us WONTFIXes a bug and another one disagrees? Reopen, leave it closed? Will you wind up looking at the bugs anyway or not? [11:13:03.0000] <AryehGregor> estellevw, if you want to know whether it's supposed to get submitted, look at the form submission algorithm. [11:13:04.0000] <AryehGregor> That's the important part. [11:13:05.0000] <estellevw> my interpretation is that it shouldn't [11:14:00.0000] <annevk> estellevw, that's correct [11:14:01.0000] <annevk> i.e. Opera is correct [11:14:02.0000] <estellevw> the spec is fairly clear, but i think stating that directly would help site authors [11:16:00.0000] <annevk> estellevw, please add your thoughts to http://www.w3.org/Bugs/Public/show_bug.cgi?id=12241 [11:35:00.0000] <Hixie> i don't read the bugmail [11:36:00.0000] <Hixie> the people who are "editor's assistants" are all people i trust to make the right calls [11:37:00.0000] <Hixie> (specifically, i have a script that filters out any bugmail from bugs that are resolved. every few hours, it deletes all bugmails but one from all bugs, and all bugmails from resolved bugs.) [11:41:00.0000] <AryehGregor> Hixie, so if two of us disagree, should we leave the bug open for you to decide, or what? [11:58:00.0000] <Hixie> AryehGregor: if you disagree then you should work out why you disagree (is one of you missing information? do you have different priorities? etc) [11:59:00.0000] <AryehGregor> Hixie, the specific case is <http://www.w3.org/Bugs/Public/show_bug.cgi?id=12471>, where I think the rendering section should match what browsers do and Anne thinks it should continue to use new CSS features in a way that browsers don't actually do. [12:00:00.0000] <AryehGregor> I think in practice people are going to have this kind of minor disagreement of priorities pretty regularly. [12:00:01.0000] <Ms2ger> Because escalating to Hixie would mean more work for Hixie, and we don't want that :) [12:00:02.0000] <AryehGregor> So we should have something to do other than just argue about it. [12:00:03.0000] <AryehGregor> In particular, I don't think it's a good idea to wontfix anything that at least one editorial assistant thinks should be wontfixed, because then we'll tend to wontfix an excessive number of bugs. [12:01:00.0000] <Hixie> AryehGregor: then either one of you will change his mind based on new information, or you will come to realise you have two axiomatically different ideas (e.g. one of you thinks it's ok to have the spec be future-looking and the other thinks the spec should be literally useful at every instant of time) [12:01:01.0000] <Hixie> AryehGregor: in the latter case, just put the two axioms in the bug and reopen it and i'll pick one, i guess [12:01:02.0000] <AryehGregor> Well, I'd say it's more of a slight difference of priorities than axiomatically different ideas. This is fuzzy logic here, not boolean. [12:01:03.0000] <Ms2ger> Boo, fuzzy logic [12:02:00.0000] <Hixie> why do you have different priorities? at some level, there has to be a clear difference in axioms or available information to come to a different conclusion [12:03:00.0000] <AryehGregor> No, we have basically the same priorities (at least in common cases), we just weight them slightly differently. [12:03:01.0000] <Hixie> the relative order of priorities _is_ one's priorities [12:04:00.0000] <AryehGregor> It's not just ordering, because multiple priorities can be relevant. Both of us agree that we should use new CSS features if they're best suited to the task, and also that we should match how browsers behave. [12:04:01.0000] <AryehGregor> In this case it's a tradeoff: is the small compat break worth the small gain in simplicity/utility/comprehensibility? [12:05:00.0000] <AryehGregor> I'd say that it might be, but we should wait till at least one major browser is willing to switch before the spec switches, rather than having the spec not reflect reality at all for some indefinite period of time. [12:07:00.0000] <Hixie> and someone else thinks differently? [12:08:00.0000] <AryehGregor> Apparently Anne thinks differently, if I understand him right. [12:08:01.0000] <AryehGregor> You seem to think differently with respect to Web Storage and structured clones. :) [12:10:00.0000] <Hixie> no i think the spec will change i just don't think it's a high priority. i didn't wontfix that bug, i just haven't touched it. [12:10:01.0000] <Hixie> anyway, my recommendation would be to get anne, figure out why you disagree, then put that in the bug and reopen it [12:11:00.0000] <AryehGregor> Already done, more or less. [12:11:01.0000] <Hixie> cool [12:11:02.0000] <AryehGregor> I don't think there's much point spending the effort on figuring out why we disagree, since it's a minor issue and we have better things to do. [12:11:03.0000] <AryehGregor> This sort of disagreement is best handled by arbitration (i.e., you) for the sake of efficiency, instead of attempting to reach consensus. [12:12:00.0000] <Hixie> i'm not saying you should reach consensus [12:12:01.0000] <Hixie> i'm saying you should understand your differences and explain them [12:12:02.0000] <Hixie> mostly i'm saying this because i think most of the time if you do that one of you will change his mind [12:12:03.0000] <AryehGregor> I think that's been adequately done. [12:13:00.0000] <Hixie> at a higher level, i'm aiming to write the spec we'll have in n years, so if we know something is temporary (as opposed to something where we don't know what'll happen, which if i understand correctly is the case here?) then i'd rather not do the temporary thing [12:13:01.0000] <AryehGregor> I think you have an excessive faith in people's ability to work out their disagreements by reasoning. Different people have different priors, and there's no sound way to pick common priors even if everyone were a perfect Bayesian reasoning machine, so there's a certain degree of arbitrariness in everything. [12:14:00.0000] <AryehGregor> I'm not aware of any implementers who have said they want to change to using underline instead of border-bottom for abbr/acronym. If anyone major changes, then I agree we should wontfix. [12:14:01.0000] <Hixie> oh i don't think that this would work for most people [12:14:02.0000] <Ms2ger> Does anybody implement t-u:dotted? [12:14:03.0000] <Ms2ger> Hmm, maybe we do [12:14:04.0000] <Hixie> i am, however, pretty sure that the people who are "editor's assistants" are of that caliber [12:15:00.0000] <AryehGregor> I don't think it will work *reliably* for people of any caliber, even if they mostly agree. What you'll have instead is they'll come to an amicable agreement because they don't disagree very strongly to start with. [12:15:01.0000] <Hixie> and if you're not, i was wrong to delegate to you :-P [12:17:00.0000] <Hixie> my assumption here is that the decisions being made are logical decisions based on rational thought, and those discussions can almost always be boiled down to a clear statement of different axioms [12:17:01.0000] <Hixie> and most of the time, one of the people will realise his axioms are inferior [12:17:02.0000] <Hixie> imho [12:18:00.0000] <AryehGregor> I've long thought your position on that issue is not realistic at all. [12:19:00.0000] <AryehGregor> But it doesn't matter much for our purposes. [12:20:00.0000] <Ms2ger> Did you just admit your axioms were inferior? ;) [12:20:01.0000] <Ms2ger> (And Gecko does support text-decoration-style, prefixed) [12:30:00.0000] <zewt> dreaming of the day "do this automatically for files like this" in Firefox actually works [12:33:00.0000] <zewt> or at least, doesn't show up when it won't work (C-D: attachment) [12:34:00.0000] <zewt> looks like they've improved the wrong-mime-type handling; I think in 4 a bad mime type would bring up that dialog every time, regardless of any other type discovery methods [12:42:00.0000] <AryehGregor> Hmm, I probably shouldn't change the priority/severity of old bugs en masse, because it would wreck up all the last-changed dates. [12:42:01.0000] <Ms2ger> Please don't touch mine, but update all others as much as you like ;) [12:45:00.0000] <othermaciej> AryehGregor: sometimes I wish there was a way to change bugs without changing a last mod date [12:46:00.0000] <Ms2ger> Doesn't that kind of defeat the point? [12:47:00.0000] <AryehGregor> Depends what people use the last change date for. [12:47:01.0000] <AryehGregor> In this case, we really want a last comment date. [12:47:02.0000] <Philip`> Also a way to change them without spamming people with bugmail [12:47:03.0000] <AryehGregor> That too. [12:47:04.0000] <The_8472> or a minor change/bulk change flag, like mediawiki has [12:56:00.0000] <scor> can someone explain why <link> tags can be present in the body of an HTML5 document in the examples at http://dev.w3.org/html5/md/#examples although from what I've read online, <link> is only allowed inside <head> [12:57:00.0000] <Ms2ger> scor, when using microdata, that restriction is lifted [12:57:01.0000] <scor> interesting, but where is that documented? [12:57:02.0000] <Philip`> scor: http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-link-element says it depends on whether there's an itemprop attribute [12:58:00.0000] <Ms2ger> scor, I thought it was in the md spec somewhere, but I suggest using the WHATWG spec [12:58:01.0000] <scor> ah, so I was probably looking at the wrong version... this hasn't trickled to the w3.org version yet? [12:59:00.0000] <AryehGregor> I think the latest MD draft on the W3C has it, but probably not the TR. [12:59:01.0000] <AryehGregor> It was recently changed, IIRC. [12:59:02.0000] <Ms2ger> Yeah, but that was a link to dev. [12:59:03.0000] <AryehGregor> Previously it was pretending not to depend on HTML5, so it didn't do things like change conformance requirements. [13:00:00.0000] <Ms2ger> Oh, 4.1 Content models [13:01:00.0000] <scor> how do validators know about this particular rule, is this rule also available as machine readable data, or is it hard coded in validators? [13:02:00.0000] <AryehGregor> There is no official machine-readable source of authoring conformance requirements for HTML5. [13:02:01.0000] <AryehGregor> Only the prose in the spec. [13:02:02.0000] <AryehGregor> The one existing validator uses a mix of RelaxNG and hand-coded Java, as I understand it. [13:02:03.0000] <scor> ah, ok, not equivalent of the DTD then [13:02:04.0000] <AryehGregor> No, no official equivalent. [13:02:05.0000] <scor> thanks AryehGregor [13:03:00.0000] <scor> Philip`: Ms2ger thanks for the pointer! [13:03:01.0000] <AryehGregor> Hixie, what "Status:" do you usually use in the boilerplate for WORKSFORME? "Accepted"? [13:03:02.0000] <Ms2ger> Np [13:03:03.0000] <Philip`> The idea is that it's the validator developer's job to work out how to write code to check conformance, not the spec writer's job [13:09:00.0000] <scor> I see [13:46:00.0000] <Yuhong> http://www.reddit.com/r/programming/comments/e5sxd/netscape_navigator_on_the_acid_3_test/c15kkg6 [13:46:01.0000] <Yuhong> Wonder what this comes from. [13:49:00.0000] <Philip`> It's not too hot on http://canvex.lazyilluminati.com/misc/nn2/acid2.png either [13:50:00.0000] <Yuhong> I am talking about "Google scores 69/100 on that test (google for "acid3 test" and watch thumbnail)." [14:18:00.0000] <llrcombs> I wonder how Google runs their thumbnail renderer [14:18:01.0000] <llrcombs> probably a customized WebKit [14:19:00.0000] <AryehGregor> Should be easy to test. [14:19:01.0000] <AryehGregor> Find a page that exhibits an easily-visible WebKit bug. [14:19:02.0000] <AryehGregor> I can't see what else they'd use, though. [14:20:00.0000] <llrcombs> or make a page that JSON-dumps window.navigator in a giant font in the middle of a page [14:20:01.0000] <AryehGregor> Do they run JS for the thumbnails? [14:20:02.0000] <zewt> does anyone, anywhere actually find the google thumbnail thing useful? heh [14:20:03.0000] <AryehGregor> No. [14:20:04.0000] <AryehGregor> It only manages to annoy me. [14:20:05.0000] <zewt> its main purpose seems to be to pop up unwanted [14:21:00.0000] <llrcombs> AryehGregor: they must, if Acid3 runs [14:21:01.0000] <Yuhong> Yea, exactly. I was looking for an answer from a Google employee like Hixie. [14:21:02.0000] <AryehGregor> The Google employees who hang out here don't work on the search engine, and if they know anything about it they're probably not authorized to talk about it. [14:22:00.0000] <llrcombs> the thumbnail for Acid3 for me shows 99/100 [14:22:01.0000] <AryehGregor> Oh, I didn't see the conversation above. [14:22:02.0000] <Yuhong> Now. [14:22:03.0000] <llrcombs> _I_ get 69/100 on Safari 5.1 [14:22:04.0000] <llrcombs> lemme try without extensions [14:23:00.0000] <llrcombs> 100/100 [14:23:01.0000] <karlcow> http://lists.w3.org/Archives/Public/public-html/2011Jun/0366.html [14:23:02.0000] <karlcow> TAG issue on HTML+RDFa and Microdata last call drafts [14:33:00.0000] <AryehGregor> It will really depend who's on the task force. [14:36:00.0000] <Yuhong> Google for "site:quirksmode.org browser detection you are using" and view the thumbnail on the first result. [14:44:00.0000] <Philip`> Is there some term for the GUI design where you have a vertical list of items, and if you click one then it expands into a sublist of items and pushes all the other top-level items down (until you click on one of those and the first one collapses and the new one expands)? [14:46:00.0000] <hober> sicking: ping [14:47:00.0000] <sicking> hober: pong. I'm working on it now :( [14:47:01.0000] <miketaylr> Philip`: like a tree widget? [14:47:02.0000] <hober> sicking: cool. sorry for being so naggy [14:47:03.0000] <sicking> hober: no worries, this was much much later than i had hoped to finish :( [14:48:00.0000] <hober> sicking: *nod* [14:50:00.0000] <Philip`> miketaylr: Vaguely similar but where you can only expand a single branch at once [14:51:00.0000] <miketaylr> oh, hmm [14:51:01.0000] <Philip`> Or, sort of like menus with submenus, except the submenus are inserted inline instead of being off to the side [14:54:00.0000] <miketaylr> the only thing that comes to mind is a jquery plugin that filament group did: http://www.filamentgroup.com/lab/jquery_ipod_style_and_flyout_menus/ [14:54:01.0000] <miketaylr> (the 2nd example) [15:40:00.0000] <Hixie> AryehGregor: yes [15:41:00.0000] <Hixie> AryehGregor: btw i have some bookmarklets for this stuff, let me put them on the wiki [15:42:00.0000] <Hixie> i guess you don't need the "accepted" ones [15:44:00.0000] <Hixie> hm, wikipedia won't let me do JS links [15:44:01.0000] <Hixie> AryehGregor: is there some way to put bookmarklets on a mediawiki? [15:44:02.0000] <Hixie> s/wikipedia/mediawiki/ above)( [15:44:03.0000] <AryehGregor> Hixie, you can't directly link them, no. You can paste them as text. [15:45:00.0000] <Hixie> laame [15:45:01.0000] <AryehGregor> We kind of don't want random people off the Internet running arbitrary JavaScript as en.wikipedia.org, if it's all the same to you. :) [15:46:00.0000] <AryehGregor> Just replace all the external links on a page with javascript: links that behave the same but forward the user's cookies to an attacker . . . [15:46:01.0000] <AryehGregor> (we use HttpOnly, but still) [15:46:02.0000] <AryehGregor> Only "safe protocols [15:46:03.0000] <AryehGregor> Only "safe" protocols are whitelisted, which have no side-effects. [15:46:04.0000] <AryehGregor> We also don't whitelist some things like (IIRC) jabber that can send messages if you just click the link. [15:47:00.0000] <Hixie> ah man you can't link to a data: URL either! [15:48:00.0000] <AryehGregor> That might make sense to allow, since it's relatively safe. [15:48:01.0000] <AryehGregor> But this is whitelist-based, yeah. [15:50:00.0000] <Hixie> ok see the bottom of http://wiki.whatwg.org/wiki/Bugzilla_conventions [15:50:01.0000] <Hixie> click them while on a bug [15:50:02.0000] <Hixie> heycam|away: yt? [16:17:00.0000] <Dashiva> The RDF data generated by microdata and RDFa processors is different both [16:17:01.0000] <Dashiva> for documents containing no additional data markup [16:17:02.0000] <Dashiva> I don't understand that sentence. If there's no additional markup, how is there microdata at all? [16:23:00.0000] <zewt> they deployed forced autocomplete to encrypted.google : | [16:40:00.0000] <roc> it's annoying that the people deploying Firefox to hundreds of thousands of intranet seats don't even have one person following our blogs or newsgroups enough to know about release cycle changes planned months in advance [16:41:00.0000] <jcranmer> wait, you changed the release cycle? why am I only JUST NOW hearing about this? [16:43:00.0000] <erlehmann> zewt, why so :| [16:44:00.0000] <Hixie> what is a "release" [16:44:01.0000] <Hixie> you mean "nightly"? :-) [16:44:02.0000] <erlehmann> roc, you need to have a charismatic person in a black turtleneck explaining it. also, do *not*, i repeat, do *not* answer properly to bug reports. also, fire everyone who leaks features of the next vers- OH WAIT :D [16:45:00.0000] <jcranmer> erlehmann: you're fired [16:46:00.0000] <roc> being CEO of Mozilla would be Steve Jobs' personal Hell [16:48:00.0000] <erlehmann> roc, quick, just replace the speech bubbles in this one! <http://www.geekculture.com/joyoftech/joyimages/1344.gif> [16:49:00.0000] <Hixie> oh the tangled webs we weave [16:49:01.0000] <Hixie> "The textTracks attribute of media elements must return an array host object for objects of type TextTrack that is fixed length and read only." [16:49:02.0000] <Hixie> note that textTracks can vary in length and can have thigns added to it by user code (via another api) [16:50:00.0000] <Hixie> is there a way I can have an interface inherit from Foo[] ? [16:50:01.0000] <Hixie> i want an object that acts just like an array, but has a selectedIndex attribute [16:51:00.0000] <erlehmann> enjoy your prototypal inheritance [16:52:00.0000] <Hixie> in webidl [16:52:01.0000] <Dashiva> Couldn't it be an array that also implements the SelectableIndex interface? [16:52:02.0000] <zewt> erlehmann: because google's autocomplete disables browser autocomplete, and I use browser autocomplete a lot [16:53:00.0000] <Hixie> man, the MediaStream videoTracks and audioTracks, the HTMLMediaElement videoTracks and audioTracks, and textTracks, are all annoyingly similar yet annoyingly different [16:54:00.0000] <zewt> Hixie: sounds like a typical case of where it'll become clear how to cleanly merge them--but only after using them for a while, at which point it's too late [16:54:01.0000] <Hixie> i think i might just end up having five different unrelated interfaces here for the lists, plus five different interfaces for the items [16:55:00.0000] <zewt> at least in most development you're able to refactor after that period [16:59:00.0000] <erlehmann> zewt, can't noscript solve your little problem? or a userscript? yes, i know, hackish. oh well. 2011-06-25 [17:00:00.0000] <zewt> greasemonkeying google search is sort of a losing battle, between the minification and the fact that it changes too often [17:01:00.0000] <erlehmann> noscript here. been nimped once too often. [17:27:00.0000] <NickASloan> so, I was thinking that it might be good for the form attribute to work like the class attribute [17:28:00.0000] <NickASloan> in that you can specify multiple forms for an input to be associated with [17:28:01.0000] <NickASloan> <input type="text" form="form1Id form2Id"> [17:29:00.0000] <NickASloan> though that wouldn't make sense for buttons [17:29:01.0000] <NickASloan> what would be the most sensible way to suggest that this issue be considered? [19:37:00.0000] <heycam> Hixie, hi, no there's no way to do that atm. there was a bug to allow inheriting from Array.protoype, but I pushed it out to resolve later [19:44:00.0000] <zewt> egh, what the [19:44:01.0000] <zewt> the "go" button in android's browser when inputting into a form doesn't submit the form, it sends an enter keystroke to the input element :| [19:44:02.0000] <zewt> wonder how I can distinguish that; that's terrible... [19:46:00.0000] <erlehmann> zewt, what “go” button do you mean? screenshot? [19:46:01.0000] <Harpyon> Are anyone able to tell me what is wrong with this html5lib script? http://paste.pocoo.org/show/418698/ [19:46:02.0000] <zewt> don't have DDMS set up right now to take a screenshot, but it's the button in the input method [19:46:03.0000] <erlehmann> ImportError: No module named html5lib [19:46:04.0000] <erlehmann> :P [19:47:00.0000] <Harpyon> Not even the most basic example works for me, so I tried replicating exactly what the example script does, and it still doesn't work :/ [19:47:01.0000] <erlehmann> zewt, oh. i do not think i use that. physical keyboard and such. [19:47:02.0000] <zewt> just causing breakage on one of my pages since enter is actually closing a separate dialog--which is fine on desktop browsers, since you can see it, but on mobile browsers where the keyboard is often full-screen it's badly confusing ... may just need to browser sniff this one [19:47:03.0000] <erlehmann> right? [19:47:04.0000] <erlehmann> or am i misunterstanding? [19:47:05.0000] <zewt> virtual keyboard [19:48:00.0000] <erlehmann> good, i understand. my htc dream has a physical one. [19:48:01.0000] <zewt> had a G1 initially, but there's such a limited selection of phones with a keyboard that I gave up [19:50:00.0000] <zewt> if it said "enter" or had the carriage-return icon then it'd make more sense, but "go" makes me think it means "submit the form" [19:58:00.0000] <erlehmann> zewt, gave up? i'd buy one again if mine failed. on ebay or something. [19:59:00.0000] <erlehmann> the keyboard is just really nice compared to other stuff. [19:59:01.0000] <zewt> gave up waiting for a decent keyboardphone [19:59:02.0000] <erlehmann> what would be “decent”? [20:00:00.0000] <erlehmann> milestone etc have weird handling. [20:00:01.0000] <erlehmann> keys in a grid do not fit with me :/ [20:00:02.0000] <zewt> on par with other phones [20:00:03.0000] <erlehmann> then go get an older phone :P [20:00:04.0000] <zewt> g2 is probably okay, i don't remember off-hand what put me off it [20:01:00.0000] <zewt> i don't need the keyboard enough to lock my choices into like one usable phone every three generations [20:02:00.0000] <erlehmann> hehe [20:03:00.0000] <erlehmann> but then i wonder what shiny new features could be there. [20:03:01.0000] <erlehmann> i am fine with web, irc, email, jabber. [20:04:00.0000] <erlehmann> probably missing out on the next big thing™ [01:01:00.0000] <MikeSmith> I made some updates to http://platform.html5.org/ [01:01:01.0000] <MikeSmith> more suggestions welcome [01:01:02.0000] <MikeSmith> patches also welcome [01:01:03.0000] <MikeSmith> https://github.com/sideshowbarker/platform.html5.org [01:03:00.0000] <mhausenblas> MikeSmith, looks good! Q: where is microdata? [01:04:00.0000] <MikeSmith> it's not there [01:04:01.0000] <mhausenblas> no, really? :) [01:04:02.0000] <mhausenblas> I mean, shouldn't it be ... in the light of Schema.org [01:06:00.0000] <mhausenblas> or, better say: why is it *not* there? pls. don't tell me because of the recent TAG decision :P [01:07:00.0000] <doublec> window 15 [01:07:01.0000] <MikeSmith> irrssi user :) [01:07:02.0000] <MikeSmith> mhausenblas: my dog ate it [01:07:03.0000] <mhausenblas> bah [01:08:00.0000] <mhausenblas> MikeSmith, if I send in a pull request, will you accept it? :) [01:09:00.0000] <doublec> hehe [01:09:01.0000] <MikeSmith> I will accept any pull request for consideration [01:09:02.0000] <MikeSmith> I will not add stuff that is outside of the scope of the what's there now [01:09:03.0000] <mhausenblas> where is the scope defined? [01:10:00.0000] <MikeSmith> it's not [01:10:01.0000] <mhausenblas> fair enough [01:10:02.0000] <MikeSmith> it needs to be inferred [01:10:03.0000] <MikeSmith> but there are some clues [01:10:04.0000] <MikeSmith> like the title of the page [01:10:05.0000] <mhausenblas> ouch, don't get me started w/ inference [01:10:06.0000] <mhausenblas> so? [01:11:00.0000] <mhausenblas> md (API) *is* a browser technology, no? [01:11:01.0000] <mhausenblas> in terms of http://foolip.org/microdatajs/ for example, I mean [01:12:00.0000] <MikeSmith> that's a script [01:12:01.0000] <mhausenblas> look, MikeSmith just tell me if you're interested in feedback and input or not - otherwise I happily go back to hacking on https://github.com/mhausenblas/school-explorer [01:13:00.0000] <mhausenblas> not that I want to waste your or my precious time :P [01:14:00.0000] <mhausenblas> /me BRB - need some coffee and ciggy [01:14:01.0000] <MikeSmith> mhausenblas: I'm interested in genuine feedback but I'm not interested in turning the page into yet another venue for pissing battles over microdata vs RDFa [01:14:02.0000] <mhausenblas> oh come on - do I look like someone who does this? [01:14:03.0000] <MikeSmith> so what happens if I add microdata? [01:14:04.0000] <mhausenblas> /me really needs coffee, in fact :) [01:15:00.0000] <mhausenblas> then it's there [01:15:01.0000] <mhausenblas> why am I interested? [01:15:02.0000] <mhausenblas> easy: http://omnidator.appspot.com/ [01:15:03.0000] <mhausenblas> and http://schema.rdfs.org/ obviously [01:15:04.0000] <mhausenblas> which depends on md [01:15:05.0000] <MikeSmith> looks like great stuff [01:15:06.0000] <mhausenblas> tx [01:15:07.0000] <mhausenblas> anyways [01:16:00.0000] <mhausenblas> 1. coffee 2. ciggy 3. return to IRC - TTYL [01:16:01.0000] <MikeSmith> hai [01:17:00.0000] <mhausenblas> just one more thing before I forget it (more a note to myself: shouldn't it be IRI rather than URI or at least *and* ... MikeSmith should know, living in JP ;) [01:18:00.0000] <MikeSmith> ah, true [01:18:01.0000] <MikeSmith> will change that [01:18:02.0000] <mhausenblas> ah, and one last before I really really run for coffee - would http://enable-cors.org/ be in scope? [01:19:00.0000] <MikeSmith> /me looks [01:19:01.0000] <mhausenblas> 'k [01:19:02.0000] <MikeSmith> I got CORS listed there already [01:19:03.0000] <MikeSmith> if you meant CORS itself [01:20:00.0000] <MikeSmith> doublec: btw, I think you can get to window 15 by typing 't' [01:20:01.0000] <mhausenblas> right (just was looking for CORS and didn't see the Cross-Origin Resource Sharing) [01:20:02.0000] <doublec> MikeSmith: yeah, alt+t [01:21:00.0000] <mhausenblas> anyways, might be useful re recipes/advocating [01:21:01.0000] <MikeSmith> mhausenblas: probably I should put the abbreviation too, for CORS [01:21:02.0000] <mhausenblas> +1 [01:21:03.0000] <doublec> MikeSmith: sometimes I type it out for some weird reason [01:21:04.0000] <MikeSmith> doublec: yeah, me too [01:21:05.0000] <MikeSmith> but I have the plugin now that shows the mappings persistently, at the bottom of the window [01:22:00.0000] <MikeSmith> in the channel list before each of the channel names [01:25:00.0000] <NickASloan> I think it makes sense that <input form=""> should support multiple forms, like the class attribute does. How do I suggest this in a way that might actually be heard? [01:26:00.0000] <Ms2ger> Start with use cases rather than solutions [01:37:00.0000] <MikeSmith> http://platform.html5.org looks best in Opera, due to Opera already supporting break-* properties with CSS multi-column [01:38:00.0000] <MikeSmith> if other browsers support it also but with vendor-prefixed property names, I would love to know what property names to use [01:38:01.0000] <MikeSmith> because nothing I tried seemed to work [01:44:00.0000] <MikeSmith> whoah [01:45:00.0000] <MikeSmith> Jon S. von Tetzchner resigned from Opera [01:45:01.0000] <MikeSmith> the news says [01:45:02.0000] <MikeSmith> http://techcrunch.com/2011/06/24/opera-founder-jon-s-von-tetzchner-resigns-over-differences-with-board/ [01:45:03.0000] <Ms2ger> If you're going to mention HTTP, what about cookies? [01:47:00.0000] <MikeSmith> OK [01:47:01.0000] <MikeSmith> /me looks for abarth RFC [01:48:00.0000] <MikeSmith> I think that news story should say he quit the company completely [01:48:01.0000] <MikeSmith> because he had already resigned last year [01:48:02.0000] <MikeSmith> or at least resigned from leading the company [01:48:03.0000] <NickASloan> Ms2ger: I have a shopping cart page with an input for each item in my cart which allows me to update the quantity of that item. I have a form for each of these inputs that points to a script that saves the quantity of the item in my cart. I also have all of the inputs associated with a form that saves all of the quantity values (and possibly some other fields) and directs the user to a checkout page. [01:49:00.0000] <NickASloan> is that a reasonable enough use case? [01:49:01.0000] <MikeSmith> cookies are so un-sexy [01:50:00.0000] <Ms2ger> Sounds reasonable to me [01:50:01.0000] <Ms2ger> MikeSmith, but tasty! :) [01:50:02.0000] <MikeSmith> heh [01:50:03.0000] <MikeSmith> anyway, added [01:50:04.0000] <MikeSmith> thanks [01:54:00.0000] <NickASloan> ticket created in bugzilla. Is there anything else I should do if I am serious about lobbying for this feature? [01:54:01.0000] <Ms2ger> NickASloan, patience ;) [01:54:02.0000] <Ms2ger> MikeSmith, http://tools.ietf.org/html/rfc5988? [01:55:00.0000] <Ms2ger> http://tools.ietf.org/html/draft-ietf-websec-origin-02? [01:55:01.0000] <MikeSmith> do most browsers implement support for the Link header yet? [01:55:02.0000] <Ms2ger> They should ;) [01:56:00.0000] <MikeSmith> ok [01:57:00.0000] <NickASloan> Ms2ger: thanks for your help. I'll keep my fingers crossed. [01:57:01.0000] <Ms2ger> Np [01:58:00.0000] <Ms2ger> XMLNS, xml:base, DOM Traversal, DOM XPath? [01:58:01.0000] <Ms2ger> (I think I'm about done now) [02:15:00.0000] <MikeSmith> Ms2ger: http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ is the latest for DOM Traversal? [02:16:00.0000] <Ms2ger> Yes [02:16:01.0000] <MikeSmith> OK [02:16:02.0000] <MikeSmith> added along with others [02:16:03.0000] <MikeSmith> oh, forgot DOM XPath [02:19:00.0000] <MikeSmith> Ms2ger: I think I've now added all the ones you mentioned [02:19:01.0000] <Ms2ger> Ta [02:19:02.0000] <MikeSmith> thank you [02:19:03.0000] <MikeSmith> but let me know if I forgot anything [02:19:04.0000] <MikeSmith> or if you think of anything else to add [02:20:00.0000] <Ms2ger> Oh, the web sockets protocol, maybe [02:20:01.0000] <Ms2ger> But then I'm really done... For now :) [04:03:00.0000] <annevk> oh Acid3 [04:07:00.0000] <Ms2ger> Still useless? [04:07:01.0000] <annevk> it tests things we want to remove [04:07:02.0000] <annevk> and that is annoying [04:11:00.0000] <annevk> is toDataURL("image/webp") supported in browsers? [04:11:01.0000] <annevk> (just curious) [04:11:02.0000] <Philip`> Is <img src=whatever.webp> supported in any browsers? [04:12:00.0000] <annevk> Chrome/Opera, no? [04:27:00.0000] <matjas> I have another question regarding the ETAGO delimiter in <style> and <script> elements [04:27:01.0000] <matjas> http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#tokenization [04:29:00.0000] <matjas> From testing in browsers with an HTML5 parser, it seems that just `</style` within a <style> element doesn’t close the element. Only `</style>` does. [04:30:00.0000] <matjas> E.g. `</style foo>` following an opening <style> tag doesn’t close the <style> element. [04:30:01.0000] <matjas> However, with <script>s it does. <script></script foo> will close the <script> element. [04:31:00.0000] <matjas> Why is there a difference? Any pointers? [04:31:01.0000] <annevk> </style foo> does close it [04:31:02.0000] <annevk> at least in Opera/Firefox [04:33:00.0000] <matjas> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3Ebody%3A%3Abefore%20{%20content%3A%20'%3C%2Fstyle'%3B%20}%20still%20not%20closed%3C%2Fstyle%3E%0Alolwat [04:33:01.0000] <matjas> perhaps I’m testing wrong [04:34:00.0000] <matjas> annevk: ^ [04:36:00.0000] <Philip`> The </style needs to be followed by a space or / or >, according to HTML5 [04:36:01.0000] <Philip`> not ' [04:36:02.0000] <Philip`> s/a space/whitespace/ [04:40:00.0000] <matjas> a “space character” [04:41:00.0000] <matjas> Philip`: where does it say that? [04:42:00.0000] <matjas> (Couldn’t find that myself) [04:42:01.0000] <Philip`> <style> is RAWTEXT so it reaches http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#rawtext-end-tag-name-state [04:45:00.0000] <matjas> how is that different from this example? http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cscript%3Edocument.write('%3C%2Fscript')%3B%20alert('not%20closed')%3B%3C%2Fscript%3E%0Alolwat [04:46:00.0000] <matjas> oh wait, it’s not. [04:46:01.0000] <matjas> that doesn’t close the element either [04:46:02.0000] <Philip`> That does the same, though your document.write ends up eating the lolwat [04:47:00.0000] <matjas> yeah [04:48:00.0000] <matjas> thanks for clarifying! [04:52:00.0000] <matjas> so `</style>`, `</style/` or `<style%WHITESPACE%` would close an open <style> element, everything else doesn’t. Same for <script>. Correct? [04:53:00.0000] <matjas> where %WHITESPACE% is tab, LF, FF, or a space [04:54:00.0000] <Ms2ger> Or CR [04:54:01.0000] <matjas> was just about to ask [04:54:02.0000] <matjas> CR is the only “space character” that isn’t mentioned there [04:54:03.0000] <matjas> http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#rawtext-end-tag-name-state [04:55:00.0000] <matjas> why not? [04:55:01.0000] <Philip`> matjas: Not quite the same for <script>, since it has special cases for <script><!-- </script> --></script> or something like that [04:55:02.0000] <annevk> matjas, isn't CR already normalized away at that point? [04:56:00.0000] <Philip`> /me forgets what exactly is currently specced [04:56:01.0000] <matjas> annevk: oh, that might explain it [04:56:02.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#preprocessing-the-input-stream gets rid of CR [04:56:03.0000] <matjas> Philip`: wait, what? [04:57:00.0000] <Philip`> ? [04:57:01.0000] <matjas> I don’t see how <script><!-- </script> --></script> is special [04:58:00.0000] <Philip`> It's special due to backward compatibility [04:58:01.0000] <matjas> v.nu to the rescue: http://i.imgur.com/IN6Lg.png [04:58:02.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#restrictions-for-contents-of-script-elements says where you're allowed to put </script> inside a script [04:58:03.0000] <Philip`> in a perfectly clear and understandable fashion [04:59:00.0000] <matjas> DOMception :( [05:02:00.0000] <annevk> is that an inception joke? [05:02:01.0000] <annevk> haven't seen that one on reddit thus far [05:03:00.0000] <matjas> So <script><!-- document.write("<script>alert('WAT')</script>") --></script> is conforming [05:03:01.0000] <matjas> but <script>document.write("<script>alert('WAT')</script>")</script> isn’t [05:03:02.0000] <matjas> interesting [05:06:00.0000] <Philip`> The <!--..--> thing is an evil hack so it's best not to rely on it [05:09:00.0000] <matjas> TIL validator.nu accepts data URLs [05:09:01.0000] <matjas> why didn’t you guys tell me?! [05:10:00.0000] <Philip`> Why do you want them? [05:12:00.0000] <matjas> useful for quick testing, e.g. http://html5.validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3Cscript%3E%3C!--%2520document.write(%22lol%3Cscript%3Ealert('WAT')%3C%2Fscript%3E%22)%2520--%3E%3C%2Fscript%3E [05:13:00.0000] <matjas> /me ♥ hsivonen [05:15:00.0000] <Ms2ger> You know there's a text field as well, right? [05:15:01.0000] <matjas> Ms2ger: I do [05:16:00.0000] <matjas> It’s just that I often use data URLs to create quick test cases like the one above [05:17:00.0000] <matjas> from there it’s only a few keystrokes to validate™ it, apparently [05:17:01.0000] <matjas> sweet [05:24:00.0000] <MikeSmith> I added an "HTML bonus features" category to http://platform.html5.org/ -- to highlight APIs that are part of the HTML spec that merit special mention [05:25:00.0000] <MikeSmith> if there's anything else I should add in that category, let me know [05:26:00.0000] <erlehmann> the only DOMception joke i can think of involves styling the shadow DOM – we need to go deeper! [05:39:00.0000] <matjas> erlehmann: <iframe> [05:43:00.0000] <matjas> okay, I’m still trying to make sense of http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#restrictions-for-contents-of-script-elements (but failing) [05:44:00.0000] <matjas> Why is <script><!-- <script></script> --></script> conforming, knowing that <script><!-- </script> --></script> isn’t? [05:45:00.0000] <Philip`> The aim was to do the least crazy thing that doesn't break the web [05:45:01.0000] <Philip`> Unfortunately "least crazy" does not mean "not crazy" [05:45:02.0000] <matjas> I mean, where does the spec say that? [05:46:00.0000] <matjas> inb4 learn2ABNF [05:46:01.0000] <Philip`> Oh, I've never tried to actually understand the spec [05:47:00.0000] <matjas> :') [05:54:00.0000] <matjas> well if anyone can explain, that would be great [06:12:00.0000] <gsnedders> matjas: The former doesn't throw a parse-error, the latter does. So it says that in the tokenizer. [06:13:00.0000] <matjas> gsnedders: so, somewhere in here? http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html [06:14:00.0000] <matjas> Let me just double my IQ and try to read that [06:15:00.0000] <The_8472> it's just a state machine [06:16:00.0000] <The_8472> script probably triggers a different parsing mode (it has to). then look at what that parsing mode does [06:19:00.0000] <Philip`> See the 17 "script data" states [06:43:00.0000] <Ms2ger> http://www.w3.org/Bugs/Public/show_bug.cgi?id=13057 , for your enjoyment [10:32:00.0000] <annevk> whoa, is this the first time a non-regular posts a change proposal? [10:32:01.0000] <annevk> at least I never saw that name before, but maybe I'm missing something [10:33:00.0000] <annevk> Ms2ger, no joy here [10:33:01.0000] <Ms2ger> Hmm? [10:33:02.0000] <annevk> that bug report [10:34:00.0000] <Ms2ger> Oh [10:34:01.0000] <llrcombs> What are the thoughts here on Microsoft's accusations that WebGL causes security issues? Do we believe that the security of WebGL is strictly implementation-dependent, or that it really does need its security improved? [10:35:00.0000] <Dashiva> Has Microsoft released anything describing how Silverlight avoids the same problems? [10:35:01.0000] <annevk> llrcombs, http://www.realityprime.com/articles/why-microsoft-and-internet-explorer-need-webgl [10:35:02.0000] <annevk> llrcombs, Microsoft will do WebGL [10:35:03.0000] <Ms2ger> Dashiva, they don't [10:36:00.0000] <charlvn> it's clear this is all about a conflict of interest [10:36:01.0000] <charlvn> sure there are issues but these can be bridged just like any other [10:36:02.0000] <llrcombs> OK, but do we think that there are actual security issues, or was it just M$ spewing bullshit in an attempt to convince us that it could get out of the work of adding WebGL? [10:36:03.0000] <annevk> I guess we could do as Hixie suggested and infer the interface from where the constructor was called. But I also kind of like that now it is explicit... [10:37:00.0000] <charlvn> microsoft has been trying to monopolise the web for years and silverlight is their latest effort [10:37:01.0000] <annevk> llrcombs, there are issues, but it is not inherently insecure [10:37:02.0000] <llrcombs> OK, but definitely fixable problems then [10:38:00.0000] <karlcow> /me wonders which change proposal annevk is talking about [10:38:01.0000] <llrcombs> so just M$ attempting to convince us that it shouldn't have to make WebGL in IE [10:38:02.0000] <charlvn> it's unclear whether this could be used for anything other than a *potential* DoS [10:38:03.0000] <llrcombs> karlcow: <Ms2ger> http://www.w3.org/Bugs/Public/show_bug.cgi?id=13057 , for your enjoyment [10:38:04.0000] <charlvn> steve gibson briefly spoke about this on a recent episode of security now [10:38:05.0000] <llrcombs> what, against a server? [10:38:06.0000] <charlvn> no against a client desktop [10:39:00.0000] <charlvn> by sending the GPU into a type of infinite loop or something similar [10:39:01.0000] <annevk> karlcow, http://lists.w3.org/Archives/Public/public-html/2011Jun/0387.html [10:39:02.0000] <karlcow> ah Daniel Glazman proposing to drop ins/del in favor of attributes [10:39:03.0000] <llrcombs> heh [10:39:04.0000] <llrcombs> well, no real point of that, is there? [10:39:05.0000] <charlvn> but that was the only legit concern i have heard and i'm sure a problem that can easily be bridged [10:39:06.0000] <charlvn> other than being malicious and irritating, no [10:39:07.0000] <llrcombs> I agree, by the way, with <ins> and <del> needing replacement [10:39:08.0000] <charlvn> nothing a restart can't fix :) [10:40:00.0000] <karlcow> the issue for me with ins and del is that they do not reflect the reality of editing aka overlapping markup structures without logical nesting. [10:40:01.0000] <annevk> bah, I don't have http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0881.html in my inbox [10:40:02.0000] <annevk> oh wait, that is from 2010 [10:41:00.0000] <Ms2ger> Oh, it is [10:41:01.0000] <Ms2ger> /me didn't realize either [10:41:02.0000] <annevk> I don't think I ever replied though [10:41:03.0000] <karlcow> <p>foo <del> bar </p> <p> blablabla </del> foof bar blalal </p> is a common case of editing. But not sure it is feasible without complicating a lot the parsers [10:43:00.0000] <annevk> Ms2ger, so it seems to me HTTP ought to say what is right here, not XMLHttpRequest [10:43:01.0000] <annevk> I have not checked up on HTTP, but I believe the request is simply to be repeated [10:45:00.0000] <llrcombs> charlvn: reminds me of while(alert("BWAHAHAHA")){} [10:45:01.0000] <charlvn> yep [10:45:02.0000] <Ms2ger> annevk, I should make it clear that I don't care about XHR ;) [10:47:00.0000] <llrcombs> query to everybody: does WebGL stuff get terminated when the browser window/tab gets closed? [10:49:00.0000] <llrcombs> also: is there anything to be done to evade the evil while(alert()){}? [10:50:00.0000] <Ms2ger> Have a "stop running scripts from this page" on alerts? [10:50:01.0000] <annevk> Ms2ger, FFFFFUUUU [10:50:02.0000] <llrcombs> hmm, that could be a partial solution [10:50:03.0000] <Ms2ger> annevk, :( [10:50:04.0000] <llrcombs> but then if it was while(1){alert();}, it'd still be an endless loop [10:58:00.0000] <Dashiva> llrcombs: It would halt the entire script [10:59:00.0000] <Dashiva> Besides, all sensible browsers have tab-local alerts nowadays ;) [11:06:00.0000] <annevk> if anyone is looking to waste some time [11:06:01.0000] <annevk> Game of Thrones is a pretty awesome show [11:06:02.0000] <annevk> especially in HD [11:10:00.0000] <Dashiva> It doesn't come in German until winter months, and nobody's going to show a non-dubbed show in Switzerland [11:10:01.0000] <Ms2ger> Oh, I thought you'd suggest reading IETF mail [11:11:00.0000] <MikeSmith> Sean Bean is a god [11:12:00.0000] <annevk> Ms2ger, :p [11:12:01.0000] <Dashiva> I think you typeod Neil Patrick Harris there, MikeSmith [11:12:02.0000] <Ms2ger> *I* think he typoed Douglas Adams [11:13:00.0000] <MikeSmith> Sean Bean looks better thsn tgem naked than [11:13:01.0000] <MikeSmith> wonderful typing experience on the iPad [12:12:00.0000] <annevk> MikeSmith, @html5 still under your control? last tweet is fun [12:16:00.0000] <annevk> glazou "the current HTML5 Last Call Working Draft - that does not reach at all the quality of other LCWD in the W3C and did not meet the basic requirements for a LCWD in the W3C Process" [12:16:01.0000] <annevk> http://www.glazman.org/weblog/dotclear/index.php?post/2011/06/25/Why-html5-elements-INS-and-DEL-suck [12:16:02.0000] <annevk> I guess he doesn't read many LCWD [12:16:03.0000] <Ms2ger> Yeah, he's been repeating that to himself ever since it was published [12:18:00.0000] <hober> annevk: yeah, GoT was really well done [12:19:00.0000] <MikeSmith> annevk: @html5 not exclusively under my control, no. red guards have taken over. let a hundred flowers bloom [12:19:01.0000] <Ms2ger> Forked, if you will [12:21:00.0000] <annevk> In his bug report he also mentions something about HTML4 errata... I wonder if he really still believes in HTML4... [12:22:00.0000] <annevk> Maybe the simplest is for me to not care and prepare for this concert thingie [12:22:01.0000] <Ms2ger> He believes in longdesc, at least [12:25:00.0000] <annevk> I wonder if he realizes that attributes does not solve table editing [12:30:00.0000] <karlcow> annevk: before that, I wonder if the current ins/del solve anything except stylistic effect for the fun of editing. I do not remember to have seen them used in a programmatic way. Just curious. [12:31:00.0000] <MikeSmith> /me googles "plausible deniability" … for some reason [12:31:01.0000] <annevk> diveintomark.org once had revisions for blog posts annotated with <del> / <ins> [12:32:00.0000] <karlcow> annevk: yup, but was it automatic? Ah maybe when mark was tracking changes on Daver Winer blog [12:33:00.0000] <annevk> no for his own blog, and yes they were automatically down, via some script from iirc Aaron Swartz [12:33:01.0000] <karlcow> s/down/done/ [12:33:02.0000] <annevk> in the MovableType days [12:33:03.0000] <karlcow> aaah :) [12:34:00.0000] <Philip`> <style>del { color: black; background: black; }</style> let you use it for redactions when publishing secret documents, which seems to be a common desire [12:34:01.0000] <annevk> holy shit Opera supports multiple columns [12:35:00.0000] <annevk> in my 11.11 build [12:35:01.0000] <annevk> /me did not know [12:35:02.0000] <karlcow> mwahaha [12:36:00.0000] <karlcow> annevk: http://dev.opera.com/articles/view/css3-multi-column-layout/ [12:36:01.0000] <karlcow> example by dstorey http://people.opera.com/dstorey/multi-column/multicolumn-article.html [12:36:02.0000] <krijnh> annevk: howcome told about that in his Fronteers 2010 talk, no? [12:37:00.0000] <annevk> I knew we were implementing [12:38:00.0000] <annevk> Did not know we shipped it already [12:38:01.0000] <krijnh> Ah ok [12:39:00.0000] <MikeSmith> annevk: opera columns support is better than any other UA as far I have found so far [12:41:00.0000] <MikeSmith> so cheers to whoever at opera implemented that [12:41:01.0000] <othermaciej_> annevk: he's bitter about XHTML2 WG dropping HTML4 errata feedback on the floor, and somehow thinks the current HTML WG should be aware of it and should be processing it [12:41:02.0000] <MikeSmith> annevk: (though I have my own guess who) [12:43:00.0000] <annevk> othermaciej_, yeah... I'm not even sure that was an errata item, would have been nice if he had some pointers so we could read up on some history that is no longer relevant, but potentially interesting [12:43:01.0000] <othermaciej_> I'm glad glazou filed a bug at least, the first time he raised his INS/DEL issue was in the LC survey [12:43:02.0000] <annevk> MikeSmith, pretty sure it was Morten [12:43:03.0000] <MikeSmith> yeah [12:44:00.0000] <MikeSmith> well cheers to Morten [12:44:01.0000] <MikeSmith> Opera has some really exceptional devs [12:45:00.0000] <Ms2ger> Hey, so do we! ;) [12:45:01.0000] <MikeSmith> I hope the Opera board understands what they got. but I suppose I should shut up about that [12:46:00.0000] <MikeSmith> Ms2ger: of course :( [12:46:01.0000] <MikeSmith> * :) [12:46:02.0000] <MikeSmith> (I meant) [12:47:00.0000] <MikeSmith> but opera market share is nothing, so who gives a shit about Opera, right? [12:48:00.0000] <MikeSmith> I mean that is what I hear from folks like Amy Hoy and Asa [12:48:01.0000] <MikeSmith> so I trust that [12:52:00.0000] <Ms2ger> Maybe Asa would be happier if the enterprise moved to Opera [13:07:00.0000] <karlcow> hihi [14:03:00.0000] <karlcow> not a day without a drama [14:04:00.0000] <charlvn> karlcow: which drama? [16:51:00.0000] <karlcow> http://functionsource.com/post/scrollability-can-hopefully-become-a-shim 2011-06-26 [03:02:00.0000] <annevk> Hmm, I guess we can do as Hixie suggests [05:09:00.0000] <Ms2ger> MikeSmith, http://www.w3.org/TR/xml-stylesheet/ :) [05:09:01.0000] <MikeSmith> ah yeah [05:09:02.0000] <MikeSmith> thanks [05:13:00.0000] <Ms2ger> As always, happy to complain [05:17:00.0000] <karlcow> http://manu.sporny.org/2011/uber-comparison-rdfa-md-uf/ [05:24:00.0000] <hsivonen> karlcow: If having a feature is generally green even for misfeatures like Compact URIs, why isn’t more New Attributes greener? [05:24:01.0000] <karlcow> no idea [05:27:00.0000] <karlcow> http://www.w3.org/2001/sw/interest/ED-ldh-20110626/ [09:11:00.0000] <annevk> I am not liking what bz says on public-webapps [09:11:01.0000] <annevk> Maybe it comes down to: redirects suck [09:21:00.0000] <karlcow> at least for performance [09:21:01.0000] <karlcow> :) [12:29:00.0000] <Hixie> the internets are failing me [12:29:01.0000] <boogyman> don't you mean interwebs [12:29:02.0000] <Hixie> does anyone know if there's a more efficient way to take an unsorted array and create a second sorted array from it that is quicker than just copying the first array to the second array and then doing an in-place sort of the second array? [12:30:00.0000] <Hixie> (i need both arrays at the end -- the first array is actually just sorted in a different order that i still need) [12:31:00.0000] <Hixie> it seems that being willing to pay for O(n) more memory should have some sort of benefit but all the algorithms wikipedia talks about are in-place and don't take advantage of having lots of scratch space. [12:33:00.0000] <Philip`> Merge sort needs O(n) extra space [12:35:00.0000] <Hixie> merge sort could work i guess [12:35:01.0000] <Philip`> (and it's stable (unlike heap sort) and worst case O(n log n) (unlike quicksort)) [12:36:00.0000] <Hixie> stable isn't an issue here, my keys are unique [12:36:01.0000] <Hixie> my N is also very small, less than 32 in the worst case, likely 2-4 in the common case [12:37:00.0000] <Dashiva> Well, you'd only have "extra" space in the first iteration of the algorithm [12:37:01.0000] <Philip`> In that case, why do you care at all about efficiency? [12:37:02.0000] <Hixie> Philip`: principle, mostly [12:37:03.0000] <Dashiva> Do you need a comparison sort at all? [12:38:00.0000] <Hixie> Philip`: but also because it's interesting :-) [12:38:01.0000] <Philip`> Sorting isn't interesting, Knuth solved it decades ago so that you can just call .sort() and not have to worry about it any more :-p [12:38:02.0000] <Hixie> simplest solution seems to just be to walk the first array looking for the lowest value, then the next lowest value, etc, but that's pretty pathetic performance-wise [12:38:03.0000] <Hixie> Philip`: :-P [12:39:00.0000] <Dashiva> Hixie: The extra space is just an illusion unless you're using a n-writes-only algorithm [12:39:01.0000] <gsnedders> Philip`: But Knuth also said you should know *how* to sort, even if you should normally just use the stdlib of whatever you're using. :P [12:40:00.0000] <gsnedders> Hixie: i.e., a selection sort [12:41:00.0000] <Hixie> Dashiva: well if the key space was better defined (e.g. 1..32, rather than arbitrary short strings as in this case) i could do a pigeon-hole sort, which would be way faster than a comparison sort [12:41:01.0000] <Hixie> gsnedders: yeah [12:41:02.0000] <Hixie> gsnedders: more or less 2011-06-27 [19:01:00.0000] <Yuhong> on script elements, Netscape once suggested this to hide from older browsers: <script><!-- ... <!-- --></script> [19:01:01.0000] <Yuhong> Of course, one problem is how -- inside a comment work in SGML. [23:01:00.0000] <annevk> the plot thickens [23:11:00.0000] <karlcow> then the slick top [23:59:00.0000] <hsivonen> AryehGregor: I think you WONTFIX rationale for bug 13057 sucks. [23:59:01.0000] <hsivonen> AryehGregor: saying they don't serve a common need as a reason to *keep* them??? [00:00:00.0000] <hsivonen> *your [00:01:00.0000] <annevk> that bug makes me long for TPAC [00:01:01.0000] <hsivonen> annevk: why? [00:02:00.0000] <annevk> in a sarcastic way [00:03:00.0000] <annevk> lots of bitching about HTML by people who have not participated in years [00:07:00.0000] <othermaciej> hsivonen: seems like a plausible reason not to replace them [00:07:01.0000] <othermaciej> otoh you could argue that the use case is still valid and the rarity of use just shows the bad design [00:09:00.0000] <hsivonen> othermaciej: it could be used as an argument for removing them and not providing a replacement [00:09:01.0000] <annevk> I don't understand why he can't have "block" and "inline" level delete and insertion in his editor [00:09:02.0000] <hsivonen> othermaciej: doesn't make sense as a reason to keep them [00:09:03.0000] <annevk> he seems to think UI and markup has to match 1:1 [00:09:04.0000] <annevk> which strikes me as odd for a WYSIWYG editor [00:10:00.0000] <hsivonen> I'm inclined to think HTML shouldn't try to track deletions [00:14:00.0000] <annevk> so what if you want to publish how a document was redacted? [00:14:01.0000] <othermaciej> hsivonen: what do you think is the correct resolution? drop entirely with no replacement? [00:15:00.0000] <hsivonen> othermaciej: I'd do the following: [00:15:01.0000] <hsivonen> 1) Define <ins> as inline-only and a synonym for <u> [00:15:02.0000] <hsivonen> 2) Define <del> as inline-only and a synonym of <s> [00:16:00.0000] <hsivonen> 3) Introduce an attribute that takes a list of edit entries that contain a time stamp and an optional user identifier [00:16:01.0000] <hsivonen> and indicates that the text was added by that user at that time [00:17:00.0000] <hsivonen> hmm. maybe it shouldn't take a list [00:18:00.0000] <hsivonen> anyway, dropping <ins> and <del> even as inline underline and strike markup would annoy a lot of people who use them manually on blogs as inline-only [00:18:01.0000] <hsivonen> and <del> across blocks sucks badly and is rarely used [00:18:02.0000] <othermaciej> removing their semantics would likely also annoy people [00:19:00.0000] <hsivonen> othermaciej: yeah, maybe [00:19:01.0000] <hsivonen> othermaciej: maybe the right thing is to make them inline-only and add attributes that you can put on any element [00:19:02.0000] <othermaciej> for the sort of people who bother to use them, anyway [00:19:03.0000] <hsivonen> othermaciej: anyway, <del> as block sucks big time [00:19:04.0000] <othermaciej> what is the difficulty with using them at block level? [00:19:05.0000] <hsivonen> and isn't really used by anyone, AFAICT [00:20:00.0000] <hsivonen> othermaciej: even without glazou's wysiwyg case, in the block case you'd want to style them based on the blockness of their content [00:21:00.0000] <othermaciej> I see, so they either need a special class or you need non-existing inside-out selectors [00:21:01.0000] <hsivonen> othermaciej: and if they are rarely used, it doesn't make sense to design and engineer a solution that'd make the block duality nature not suck [00:22:00.0000] <othermaciej> anyway if you disagree with Aryeh's rationale, you could reopen the bug and let Hixie sort it out [00:22:01.0000] <hsivonen> ok [00:23:00.0000] <annevk> how would you address the styling problem with attributes? [00:24:00.0000] <annevk> note also that the Selector problem is being solved [00:24:01.0000] <othermaciej> your selector could look at the element and the attribute [00:24:02.0000] <hsivonen> annevk: the problem of being able to select on the computed style of children? [00:24:03.0000] <annevk> I mean what would be a good way to style it [00:24:04.0000] <annevk> default-style wise [00:25:00.0000] <hsivonen> annevk: for stuff that's display:block; border-right or outline-right [00:26:00.0000] <othermaciej> you'd need different default rules for different elements depending on their default display type [00:26:01.0000] <othermaciej> but there'd be no way for that to update automatically if someone restyles an element to a different display type [00:27:00.0000] <annevk> Is the mean reason for transferring ArrayBuffer rather than cloning preserving memory? [00:27:01.0000] <othermaciej> I presume the reason is performance [00:28:00.0000] <othermaciej> you don't want to incur the cost of a copy each time you transfer cross-thread [00:28:01.0000] <othermaciej> and you don't want to use copy-on-write since that adds cost to every write, even when not using threads [00:52:00.0000] <zewt> othermaciej: copy-on-write makes reusing buffers efficiently hard, iirc [00:53:00.0000] <zewt> eg. video double-buffering [00:57:00.0000] <annevk> thanks othermaciej [00:57:01.0000] <othermaciej> zewt: yeah, and there are probably also good cases for creating a buffer on the main thread, passing it to a Worker, modifying it in-place in the Worker, and passing it back [00:58:00.0000] <zcorpan> /me put Hixie's bookmarklets as in-page links with userjs [00:58:01.0000] <zcorpan> hmm, i should have a link for FIXED as well, for the differences doc [00:58:02.0000] <annevk> oh sweet, you'll continue editing that? [01:00:00.0000] <zcorpan> yeah [01:01:00.0000] <zcorpan> except in july [01:02:00.0000] <annevk> cool [01:03:00.0000] <annevk> guess I owe bratell a beer [01:03:01.0000] <annevk> well, and you [01:03:02.0000] <annevk> :) [01:06:00.0000] <zcorpan> i was thinking of switching to anolis for it [01:06:01.0000] <zcorpan> to get xspec xrefs [01:06:02.0000] <zcorpan> how do i do that? [01:08:00.0000] <annevk> better to ask Ms2ger [01:08:01.0000] <annevk> I have not got that to work yet [01:08:02.0000] <annevk> I want to switch all my specs too [01:09:00.0000] <annevk> xsxr would be so great [01:09:01.0000] <annevk> Ms2ger has some instructions on https://bitbucket.org/ms2ger/dom-core (see bottom) but I did not get Anolis properly installed [01:10:00.0000] <annevk> I suspect jgraham can help you out if you are in the office [01:10:01.0000] <zcorpan> btw i love new Event('foo') [01:10:02.0000] <zcorpan> unsursprisingly :) [01:10:03.0000] <zcorpan> will be in an hour [01:14:00.0000] <zcorpan> can you transfer an object back and forth with postMessage? [01:14:01.0000] <annevk> for WHATWG Weekly I have spec/whatwg mailing list summary + dom core + new approach exceptions [01:14:02.0000] <annevk> zcorpan, since http://html5.org/tools/web-apps-tracker?from=6272&to=6273 you can do it for MessagePort [01:15:00.0000] <annevk> should I cover anything else in the weekly? [01:15:01.0000] <annevk> nothing much happened last week but maybe I misremember? [01:16:00.0000] <zcorpan> yah i'm reading that. it says once you transfer an object you can't transer it again. wondered if it means that you can't transfer it *back* (or further) on the receiving side [01:16:01.0000] <zewt> zcorpan: the transfer api could be used to transfer other complex objects, eventually [01:16:02.0000] <annevk> zcorpan, not being able to transfer it back would be weird [01:16:03.0000] <zcorpan> indeed [01:17:00.0000] <annevk> oh, maybe there is just data equality but not object equality? [01:18:00.0000] <annevk> so you would have a new object when you transfer it back that holds the same data in memory? [01:18:01.0000] <zewt> yeah, transferring back doesn't "repopulate" the old object or anything [01:19:00.0000] <zcorpan> makes sense [01:19:01.0000] <annevk> anyway, nothing? [01:19:02.0000] <annevk> should I mention the Editorial Assistents? [01:19:03.0000] <zewt> havn't looked over the new spec language yet but the general idea is that transfer is indistinguishable from structured clone, from the perspective of the receiver [01:19:04.0000] <annevk> I guess I should mention the timeline othermaciej posted [01:20:00.0000] <zewt> (eg. a postMessage might be received by more than one receiver, in which case it's forced to clone anyway) [01:20:01.0000] <zewt> (iirc--still need to look over the spec language, too) [01:21:00.0000] <zcorpan> annevk: assistants seems mentionworthy [01:22:00.0000] <zcorpan> zewt: it'd throw if you try to transfer it twice [01:23:00.0000] <annevk> EUR 0.16 per MiB, does not work abroad. http://www.kpn.com/prive/mobiel/aanbiedingen/nieuw-in-nederland/chromebook.htm Chromebook is going to be a huge success. [01:25:00.0000] <zcorpan> i think [01:25:00.0000] <othermaciej> but.. but… the cloud! [01:26:00.0000] <annevk> It is time someone takes over the provider market the way Apple took over the phone market [01:29:00.0000] <annevk> I watched that 1997 closing note by Steve Jobs gruber linked to and in it he makes quite a nice point. That there is so much opportunity not necessarily to innovate, but to improve existing services and products a whole lot. Applies perfectly here, except that the startup costs are like way high compared to software :/ [01:30:00.0000] <annevk> (He also goes on and on how Apple should license their software and allow people to compete with Apple on hardware.) [01:31:00.0000] <othermaciej> you can get a good deal on data plans for iDevices but not for Apple laptops yet [01:32:00.0000] <othermaciej> I thought Apple was already licensing their software and letting people compete on hardware in '97, and stopped as soon as SJ was in charge [01:32:01.0000] <annevk> The hardware had to be bought from Apple or some such? Not sure, he wanted to change the way that was done... [01:33:00.0000] <annevk> I am quite surprised there is no SIM-slot in my MacBook Air [01:34:00.0000] <annevk> But data plans for e.g. the iPhone suck when I go abroad [01:34:01.0000] <annevk> Within the Netherlands it is okay, but I travel a lot... [01:35:00.0000] <othermaciej> no, there used to be non-Apple vendors selling Apple hardware [01:35:01.0000] <othermaciej> er, not Apple hardware [01:36:00.0000] <othermaciej> but Mac-compatible hardware [01:46:00.0000] <annevk> I wish my German was better [01:46:01.0000] <annevk> http://muenz.wordpress.com/2011/02/25/der-lange-abschied-vom-„toten“-standard/ [01:46:02.0000] <annevk> Also, I posted http://blog.whatwg.org/weekly-event-constructors just now [01:47:00.0000] <annevk> Not that any of you ever give feedback, but I keep trying :) [01:54:00.0000] <hsivonen> annevk: based on Google translate, the German article doesn't seem positive [01:54:01.0000] <annevk> RDF, Semantic Web, Web 3.0, Linked Data [01:54:02.0000] <annevk> RDF/XML, N3, Turtle, RDFa [01:54:03.0000] <annevk> rebranding and resyntaxing forever and ever, to no avail [01:55:00.0000] <annevk> hsivonen, my Google translate was fairly positive [01:55:01.0000] <annevk> :) [02:00:00.0000] <annevk> Microdata follows RDFa in that list I guess [02:01:00.0000] <zcorpan> what's after microdata? [02:02:00.0000] <zcorpan> RDFa 2.0? [02:02:01.0000] <annevk> I'm sure we'll find out [02:04:00.0000] <gsnedders> othermaciej: It wasn't quite straight away, it was they stopped licensing Mac OS as of 8.0 for the clones. [02:05:00.0000] <zcorpan> maybe RDFb [02:05:00.0000] <othermaciej> it was a little before I joined Apple so I don't necessarily remember the details [02:05:01.0000] <zcorpan> "RDF bastards" [02:06:00.0000] <hsivonen> zcorpan: that's not nice [02:10:00.0000] <annevk> Maybe Web IDL should define "initialize" so specifications can "initialize" attributes whereas authors can set them (and maybe sometimes specifications need to set them too) [02:12:00.0000] <hsivonen> othermaciej: if one is to believe what a Finnish operator says, Apple requires the data plans for iPad to suck equally all over the world [02:13:00.0000] <hsivonen> othermaciej: their data plans were already uncapped and they say Apple wanted them to add a capped plan in order to sell iPad [02:13:01.0000] <hsivonen> and they said no [02:15:00.0000] <othermaciej> I have no idea about that stuff [02:15:01.0000] <annevk> iPhone sells here without cap, no idea about iPad [02:15:02.0000] <othermaciej> the Verizon data plan for my iPad 2 in the US is just fine [02:16:00.0000] <hsivonen> I find it slightly stressful that I have no idea how close I am to the data cap of my German prepaid [02:16:01.0000] <hsivonen> (capped at 200 MB per month) [02:17:00.0000] <hsivonen> it would really suck to reach the cap when I have an acute use case for Google Maps going on [02:18:00.0000] <othermaciej> that would suck [02:23:00.0000] <othermaciej> bug resolve rate on Hixie-edited drafts over the past 4 weeks: 18, 19, 50, 81 [02:27:00.0000] <othermaciej> incoming over the past week is 44, so I believe outgoing now exceeds incoming by a healthy margin [03:12:00.0000] <nessy> wow, that's quite some bug replying rate there! [03:13:00.0000] <nessy> a few that I saw were by co-editors, so maybe that is starting to have an effect [03:40:00.0000] <karlcow> annevk: typo in "Earlier Maciej also posted on editorial assistents that will help Ian out with dealing with the Last Call feedback." [03:40:01.0000] <karlcow> assitants in http://blog.whatwg.org/weekly-event-constructors [03:41:00.0000] <karlcow> also "WHATWG develops a parellel edition" [03:42:00.0000] <karlcow> * parallel [04:49:00.0000] <karlcow> https://bugzilla.mozilla.org/show_bug.cgi?id=553888 [04:49:01.0000] <karlcow> "Additional XHR request after Redirect response doesn't forward non standard headers" FIXED [04:51:00.0000] <hsivonen> roc: btw, regarding the IRC log: I wouldn't blame the IBM CIO for not having someone follow Mozilla blogs about EOL when the main Mozilla blog is silent about EOL. [04:52:00.0000] <roc> I was thinking dev.planning [04:52:01.0000] <hsivonen> roc: OK. I still don't get it why a major change like this didn't go on the official blog. :-( [04:53:00.0000] <roc> oh I agree [04:54:00.0000] <roc> blame is not a zero-sum game [04:54:01.0000] <Ms2ger> Still a fun game ;) [04:55:00.0000] <gsnedders> Is there anything in the DOM with a custom toSring impl? [04:55:01.0000] <annevk> hmm, krijn?! [04:55:02.0000] <annevk> krijn, offline again? [04:55:03.0000] <Ms2ger> gsnedders, Selection, a elements, location? [04:56:00.0000] <krijn> Yeah, no idea what's wrong [04:56:01.0000] <krijn> Sigh [04:57:00.0000] <gsnedders> Ms2ger: Okay, so nothing as evil as Date. (Which touches external state when getting.) [04:58:00.0000] <Ms2ger> Nothing is as evil as Date, period :) [05:00:00.0000] <annevk> yay, time to rewrite the event chapter once again [05:02:00.0000] <bga_> annevk btw. not {new Event(alot of args >_<)}. {var e = new Event(); e.target = foo; e.x = bar} imho [05:02:01.0000] <bga_> argless creation, post fill [05:03:00.0000] <krijn> annevk: connection here sucks atm :/ [05:03:01.0000] <annevk> bga_, you can just do [05:04:00.0000] <annevk> obj = {}; obj.target = foo; obj.x = bar; var e = new Event("yay", obj) [05:04:01.0000] <annevk> same thing [05:05:00.0000] <bga_> not so pure but ok [05:06:00.0000] <Ms2ger> Purity on the web? Ha. Ha. Ha. [05:06:01.0000] <bga_> annevk my approach is fully based on setters/getters [05:07:00.0000] <bga_> some "options" hash table arg is bad imho [05:07:01.0000] <annevk> zcorpan suggested the same thing [05:07:02.0000] <annevk> it requires making readonly attributes read-write [05:07:03.0000] <bga_> look like jq plugin :( [05:07:04.0000] <annevk> and only sometimes readonly [05:08:00.0000] <annevk> and dictionary-style APIs are introduced all over so it made sense to do that [05:08:01.0000] <bga_> annevk heh. not r/w and r/o [05:09:00.0000] <bga_> just mutable and immutable state [05:09:01.0000] <bga_> foo.onclick = function(e /* immutable */) [05:09:02.0000] <bga_> var e = Event() /* mutable */ [05:10:00.0000] <annevk> sure, I get that [05:11:00.0000] <bga_> i know that ES does not differ immutable and mutable state on spec level [05:11:01.0000] <bga_> but you can emualte [05:12:00.0000] <bga_> splitting interface to 2 intefaces, mutable inherits immutable [05:16:00.0000] <Ms2ger> And what's the gain for developers? [05:17:00.0000] <bga_> stricter safer oop [05:19:00.0000] <karlcow> annevk: there are typos in the blog post [05:19:01.0000] <Ms2ger> Excuse me? [05:19:02.0000] <karlcow> the weekly summary [05:19:03.0000] <annevk> karlcow, what are they? [05:19:04.0000] <karlcow> I put them on irc before you arrived but I can't access krijn right now [05:19:05.0000] <karlcow> let me try to find them [05:20:00.0000] <krijn> Yeah, I'm just not that open, sorry [05:20:01.0000] <karlcow> assistents [05:20:02.0000] <karlcow> parellel [05:20:03.0000] <krijn> Why don't you all use IRCCloud? [05:20:04.0000] <karlcow> krijn: I had a friend who was telling me it is a question of breathing [05:21:00.0000] <krijn> I have two invites left if you want [05:21:01.0000] <zcorpan> krijn: your server is closing the connection for me :( [05:22:00.0000] <krijn> I cannot even reach it from within the same building.. [05:22:01.0000] <krijn> Network cables are the crappiest invention ever [05:23:00.0000] <zcorpan> go plug in the cable again and throw out the cat [05:24:00.0000] <hsivonen> Someone from Opera might be interested to know that http://my.opera.com/haavard/ is 404 [05:24:01.0000] <karlcow> eat the cat! [05:24:02.0000] <karlcow> hsivonen: all my.opera.com [05:24:03.0000] <Philip`> There is no cat [05:24:04.0000] <karlcow> it seems [05:26:00.0000] <karlcow> and the cat's name is Erwin [05:27:00.0000] <erlehmann> so opera has jumped the shark now? [05:32:00.0000] <annevk> thanks karlcow [05:32:01.0000] <annevk> fixed [05:37:00.0000] <gsnedders> hsivonen: People poked. [05:37:01.0000] <hsivonen> gsnedders: thanks [05:37:02.0000] <hsivonen> /me is interested in seeing what haavard has to say about Microsoft & WebGL [05:39:00.0000] <gsnedders> hsivonen: Fairly unsurprisingly, already known issue [05:49:00.0000] <hasather> hsivonen: cached: http://webcache.googleusercontent.com/search?q=cache:Y_sXnE9vvJwJ:my.opera.com/haavard/blog/2011/06/22/microsoft [05:50:00.0000] <hsivonen> hasather: thanks [05:52:00.0000] <hsivonen> hasather: ok. nothing new there [05:56:00.0000] <doublec> irccloud has issues with freenode cloaks last I used it [06:19:00.0000] <annevk> Ms2ger, https://bitbucket.org/ms2ger/dom-core/changeset/d9098cf6a41b [06:19:01.0000] <annevk> Ms2ger, I fiddled with some external WebIDL defined terms, might create issues for you I suppose [06:21:00.0000] <karlcow> seo hell and titles in the eyes of google and bing http://searchengineland.com/writing-html-title-tags-humans-google-bing-59384 [06:24:00.0000] <annevk> Ms2ger, also, if you agree this new approach makes sense I'll update Progress Events too [06:24:01.0000] <annevk> again... [06:37:00.0000] <Ms2ger> How about waiting a day or two before updating PE? :) [06:39:00.0000] <Ms2ger> (and pushed) [06:40:00.0000] <annevk> ta [06:40:01.0000] <annevk> and I guess that's better [06:46:00.0000] <scor> can microdata work with HTML < 5 without having to change their doctypes? [06:46:01.0000] <Ms2ger> Define "can" and "work" [06:47:00.0000] <zcorpan> generally stuff works regardless of doctype [06:47:01.0000] <scor> I'm assuming the consequence is that it will not validate any longer right? [06:48:00.0000] <scor> (validate against their doctype validator) [06:48:01.0000] <Ms2ger> True [06:48:02.0000] <zcorpan> if you validate as html5 then it it'll validate (assuming you use a doctype that html5 allows, e.g. html4 strict) [06:49:00.0000] <scor> will it have any impact on the browser? don't browser have different behaviors depending on the doctype? [06:49:01.0000] <scor> zcorpan: interesting, so some old doctype will still validate in html5? [06:49:02.0000] <zcorpan> yeah [06:49:03.0000] <scor> but some others will not validate? [06:49:04.0000] <scor> is there a list? or a rule? [06:49:05.0000] <zcorpan> there's a list in the spec [06:50:00.0000] <zcorpan> see "writing html documents" [06:50:01.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#obsolete-permitted-doctype-string [06:50:02.0000] <scor> ok, got it [06:51:00.0000] <zcorpan> well, it only allows them in that you "should not" use them (instead of "must not") [06:52:00.0000] <scor> how about the browsers? [06:52:01.0000] <scor> will they behave differently based on the doctype? [06:52:02.0000] <zcorpan> not if you use a permitted one [06:52:03.0000] <scor> I'm not expecting them to do anything with the microdata attributes, just wondering if some would complain or break [06:53:00.0000] <zcorpan> the thing that can happen is that the browser would go in to quirks mode or almost standards mode if you use a doctype that triggers that [06:53:01.0000] <zcorpan> but microdata would work even then [06:54:00.0000] <zcorpan> (at least per spec, it's not implemented in browsers yet) [06:54:01.0000] <scor> ok, thanks zcorpan [06:54:02.0000] <scor> yes [06:54:03.0000] <Philip`> (Wouldn't work in IE quirks even if they do implement it) [06:54:04.0000] <zcorpan> (and ie has a different policy where new features are not enabled in old rendering modes) [06:54:05.0000] <zcorpan> ARIA is an exception [06:55:00.0000] <scor> including IE 7 and 8? [06:55:01.0000] <zcorpan> ie7 and 8 don't get new features [06:55:02.0000] <annevk> aah, you added that period [06:56:00.0000] <annevk> hg diff yielded nothing and I had only seen the previous checkin :) [08:03:00.0000] <zcorpan> onload={handleEvent:...} seems nice. should we make it work? [08:05:00.0000] <Ms2ger> smaug wanted that to work, iirc [08:05:01.0000] <zcorpan> fine with me! [08:06:00.0000] <smaug____> Ms2ger: I care more about addEventListener listeners [08:06:01.0000] <smaug____> but for consistency, onfoo should work the same way [08:06:02.0000] <Ms2ger> But who uses those?! :) [08:07:00.0000] <smaug____> atm everyone how wants to use { handleEvent: function() {} } uses addEventListener [08:08:00.0000] <smaug____> if we could then change setTimeout/Interval a bit, we could get rid of FunctionOnly [08:08:01.0000] <Ms2ger> Feel like bugging gal about it? (Or whoever is rewriting onfoo) [08:09:00.0000] <smaug____> bz is rewriting onfoo [08:44:00.0000] <bga_> http://techcrunch.com/2011/06/24/opera-founder-jon-s-von-tetzchner-resigns-over-differences-with-board/ [09:38:00.0000] <zcorpan> i'm disappointed nobody has implemented https://twitter.com/#!/zcorpan/status/85118589711040513 yet [09:39:00.0000] <Ms2ger> I'm disappointed by a lot of things, but that's not one of them [09:40:00.0000] <zcorpan> i'm disappointed that you're not disappointed [09:41:00.0000] <Ms2ger> I'm sorry to hear that [09:41:01.0000] <Ms2ger> Actually, not *that* sorry [09:41:02.0000] <MikeSmith> I am relatively appointed about it [09:41:03.0000] <Ms2ger> /me appoints MikeSmith [09:41:04.0000] <Philip`> /me points at MikeSmith [09:42:00.0000] <MikeSmith> /me disaccepts the appointment [09:42:01.0000] <charlvn> /me needs a pint after this discussion [09:43:00.0000] <Ms2ger> /me points at the pint [09:43:01.0000] <zcorpan> guys, if you'd put the energy on implementing it instead! [09:43:02.0000] <Philip`> /me punts around the point [09:44:00.0000] <charlvn> /me points at the punts [09:44:01.0000] <Ms2ger> /me implements blink [09:45:00.0000] <charlvn> ok now this is official - each of us needs to get a life [09:45:01.0000] <Ms2ger> I know right [09:45:02.0000] <Philip`> /me falls off the punt and contracts Weil's disease [09:47:00.0000] <MikeSmith> https://twitter.com/#!/html5grind is posting some good stuff [09:47:01.0000] <MikeSmith> Ian Langworth [09:48:00.0000] <bga_> html5grindcore [10:16:00.0000] <AryehGregor> hsivonen, the point of the bug was to remove <ins> and <del> and replace them with attributes. I mostly focused on we don't want to add new standardized attributes without strong need. I didn't address the question of removing them, but Hixie's approach has been to keep preexisting features even if they have very marginal utility (e.g., <kbd>) so as not to gratuitously make pages invalid. If you want to reopen and let Hixie handle it, by a [10:16:01.0000] <AryehGregor> ll means feel free. [11:39:00.0000] <smaug____> annevk: it is a bit hard to understand when you want to spec what the existing implementations do, and when you want to remove already implemented features [11:40:00.0000] <smaug____> perhaps you have some "implemented in less than 2 years ago, can be removed" [11:41:00.0000] <smaug____> (Note, I don't care too much about initProgressEvent, but would just like to understand the logic behind removing existing features from the specs) [11:43:00.0000] <Ms2ger> "If we can get away with it", I suppose [11:45:00.0000] <smaug____> that has changed a lot since last TPAC, when I said that we can remove features from the web and I was laughed at :) [11:45:01.0000] <Ms2ger> Meh, F2F :) [12:50:00.0000] <AryehGregor> Hmm, why did zcorpan ask me to spec queryCommandSupported() back in March? It seems like a very trivial method. [13:31:00.0000] <The_8472> <AryehGregor> It seems like a very trivial method. <- famous last words? [13:31:01.0000] <AryehGregor> The_8472, I mean based on my observation. [13:31:02.0000] <AryehGregor> It looks like what sane browsers do is return true if they support the command and false otherwise. [13:31:03.0000] <AryehGregor> At least WebKit does that. [13:33:00.0000] <AryehGregor> Gecko always just throws an exception, and Opera seems to return true for things it supports if there's something editable on the page and false otherwise. [13:33:01.0000] <AryehGregor> IE matches WebKit. [13:33:02.0000] <AryehGregor> So I really don't see the issue. [13:34:00.0000] <The_8472> well, is there any spec at all for it? [13:34:01.0000] <AryehGregor> Well, yes, I'm writing it. :) [13:34:02.0000] <AryehGregor> There's HTML5, but that's extremely sparse and often doesn't match reality on this subject. [13:34:03.0000] <The_8472> then he probably just wanted it to be put somewhere, even if the spec consists of a one-liner [13:34:04.0000] <AryehGregor> I dunno, I'll ask him when he comes back on if I remember. [13:34:05.0000] <jamesr> i think speccing every very trivial function in the web platform is a non-trivial but useful job [13:35:00.0000] <AryehGregor> Definitely, yeah. [13:35:01.0000] <AryehGregor> I just wondered why he specifically asked me to spec that. [13:43:00.0000] <Hixie> hmmm [13:43:01.0000] <Hixie> so if AudioTrackList returns a bunch of AudioTrack objects [13:43:02.0000] <Hixie> and a multi-audio-track <video> element has a changing number of audio tracks [13:43:03.0000] <Hixie> e.g. a stream gets a new audio track dynamically [13:44:00.0000] <Hixie> and then that track goes away [13:44:01.0000] <rubys> Hixie: if I remember correctly you had a website where your unprocessed feedback queue could be examined. Does this still exist? [13:44:02.0000] <Hixie> or even simpler, if the <video> gets a whole new media element [13:44:03.0000] <AryehGregor> /me waves to rubys [13:44:04.0000] <rubys> /me waves back [13:45:00.0000] <Hixie> i wonder what should happen if you keep hold an AudioTrack element and then manipulate it while the track no longer applies [13:45:01.0000] <Hixie> hmmm [13:45:02.0000] <hober> rubys: http://www.whatwg.org/issues/ ? [13:45:03.0000] <Hixie> rubys: you mean whatwg.org/issues ? [13:45:04.0000] <Hixie> it's linked to from the top of the spec [13:46:00.0000] <Hixie> hm, actually, it's not, i removed the link a while back [13:46:01.0000] <rubys> hober/hixie: that's the page. Thanks! [13:46:02.0000] <Hixie> rubys: philip has a static version which may be more convenient depending on what you want to do [13:47:00.0000] <Hixie> rubys: there's also an api if you want to do something more complicated than just look at it [13:47:01.0000] <othermaciej> Hixie: is that list reasonably complete? [13:47:02.0000] <Hixie> it's automatically generated from the master list that is my imap folders, daily [13:48:00.0000] <Hixie> it doesn't include feedback that wasn't sent to a public list my script knows about, but otherwise it's complete [13:48:01.0000] <othermaciej> I was going to say it's surprisingly small but there is a *lot* under "processing model" [13:49:00.0000] <Hixie> "processing model" is where all the feedback goes by default [13:49:01.0000] <Hixie> the name is historical [13:49:02.0000] <Hixie> whatwg.org/issues/data.html has a data view [13:50:00.0000] <Hixie> which may be more convenient if you're just worried about numbers [13:50:01.0000] <Hixie> whatwg.org/issues/data.csv has historical data [13:51:00.0000] <Hixie> i also have per-folder summary data if you want that too, but it's not currently anywhere public [13:52:00.0000] <Hixie> maybe each AudioTrack should have a link (implicit or explicit) back to the AudioTrackList, and once the track goes away, the link is cut, at which point it keeps returning its old data but is otherwise dead [13:52:01.0000] <Hixie> i guess that's the closest to what HTMLOptionElement does [13:55:00.0000] <othermaciej> the count on the whatwg issues page doesn't quite line up with the email count [13:55:01.0000] <othermaciej> I expanded everything and took a plaintext dump, it only has around 1000 lines [13:55:02.0000] <Hixie> if you look at the csv file it breaks down the count into the things you can see on the issues/ page and the things it's not showing because they're hidden for some reason or other [13:55:03.0000] <othermaciej> whereas the graph seems to say 1600 [13:55:04.0000] <othermaciej> ok [13:56:00.0000] <Hixie> i haven't updated the list of public lists so there might be some lists that are being included that are treated as private [13:56:01.0000] <othermaciej> 1066,346,1628 [13:56:02.0000] <Hixie> let me check that now [13:56:03.0000] <othermaciej> the public and private don't seem to add up to the total [13:56:04.0000] <Hixie> the total isn't the sum of the others [13:57:00.0000] <othermaciej> are there email categories other than public and private? [13:57:01.0000] <Hixie> yeah there's like 6 [13:57:02.0000] <Hixie> hold on, let me update the list first and then look at what the categories are [13:58:00.0000] <Hixie> hah, my script in fact is outputting "Miscount!!! Total 1554 != 1057 visible + privateCount hidden" which doesn't bode well [13:58:01.0000] <Hixie> /me investigates further [13:58:02.0000] <othermaciej> part of the reason for asking this is to estimate how much effort it would take for someone to put this data into bugzilla, should anyone care to do so (not that we're planning to do that without consulting) [14:00:00.0000] <Hixie> sounds like a terrible idea [14:00:01.0000] <Hixie> mail feedback and bug feedback are quite different [14:00:02.0000] <Hixie> mail feedback is where things get discussed, threads fork, etc [14:00:03.0000] <Hixie> bug feedback is only good for simple issues without discussion [14:00:04.0000] <rubys> Hixie: it is easier to prove that it is a terrible idea with hard data; that's what we are gathering here. [14:01:00.0000] <othermaciej> like rubys says, we are only gathering data at this point [14:02:00.0000] <Hixie> looks like some of the difference in counts is that a bunch of e-mails are in the folders twice [14:06:00.0000] <Hixie> ok i updated my list of public lists, regenning now [14:23:00.0000] <zcorpan> aw man krijn's cat is still messing with the cords [14:26:00.0000] <othermaciej> wow, email count went way down and the private email count is very low [14:28:00.0000] <Hixie> othermaciej: ok i fixed the script to not count bugmails, which was skewing the count badly [14:28:01.0000] <Hixie> othermaciej: and fixed the various bugs that were making things count double [14:28:02.0000] <othermaciej> I can imagine... [14:29:00.0000] <othermaciej> are any of the 35 private emails things that need to be addressed urgently? and do they really need to be private? [14:29:01.0000] <othermaciej> hope this is not too much distraction [14:29:02.0000] <othermaciej> I'm asking b/c 35 seems like a pretty small number [14:29:03.0000] <Hixie> they're just things people mailed to me directly [14:29:04.0000] <Hixie> usually rants that don't result in the spec changing :-) [14:30:00.0000] <othermaciej> k [14:33:00.0000] <Hixie> (no idea if they _need_ to be private, but i don't want my script making private mails public so i make it err on the side of caution) [14:34:00.0000] <zcorpan> maybe i should start sending my feedback to Hixie directly [14:34:01.0000] <zcorpan> and just rant in public [14:40:00.0000] <AryehGregor> zcorpan, why did you specifically ask me back in March to spec queryCommandSupported()? It seems like a pretty trivial thing. [14:41:00.0000] <zcorpan> AryehGregor: dunno, was probably looking at some opera bug about it [14:41:01.0000] <yuhong> Just found this: http://support.microsoft.com/kb/974322 [14:43:00.0000] <yuhong> Short version: they added support for doing appendChild to ancestors beyond the parent elements in a security update! [14:44:00.0000] <zcorpan> appending children to its ancestors can be dangerous! [14:44:01.0000] <zcorpan> s/its/their/ [14:46:00.0000] <yuhong> zcorpan: what do you mean? [14:47:00.0000] <zcorpan> i was just rambling [14:47:01.0000] <yuhong> Example: http://blogs.msdn.com/b/ie/archive/2008/04/23/what-happened-to-operation-aborted.aspx\ [14:48:00.0000] <yuhong> In fact, found this out when I tried it myself. [14:51:00.0000] <zcorpan> thank you aria for doing this. http://www.sitepoint.com/forums/html-xhtml-52/nav-vs-div-role%3D-navigation-766658.html [14:52:00.0000] <yuhong> I wonder if there is any way to detect from JS. [15:09:00.0000] <Hixie> does http://www.whatwg.org/specs/web-apps/current-work/complete.html#audiotracklist-and-videotracklist-objects seem like the right direction? [15:10:00.0000] <Hixie> (ignore the inheritance chain, i might change that. not sure whether it's worth making them inherit from the same thing given how trivial the interfaces are otherwise) [15:11:00.0000] <Hixie> ok back in a bit to finish this [15:44:00.0000] <zewt> bleh, can't find a workaround for an annoying chrome bug http://code.google.com/p/chromium/issues/detail?id=86730 [15:47:00.0000] <bga_> annevk http://www.twitlonger.com/show/bd2994 [15:47:01.0000] <bga_> i guess s/Event/DOMEvent/ is solution [15:50:00.0000] <zcorpan> so what about new Event('foo', {get cancelable:function(){alert('lol')}}) [15:51:00.0000] <bga_> throw TypeError('value required')? [15:52:00.0000] <zcorpan> because it's a getter? [15:53:00.0000] <bga_> yeah [15:53:01.0000] <zcorpan> throwing would probably reduce impl pain, so yeah [15:56:00.0000] <zcorpan> new Event('foo', {cancelable:{valueOf:function(){alert('lol'), toString:function(){alert('wut')}}}) [15:56:01.0000] <bga_> hehe [15:56:02.0000] <zcorpan> bedtime [16:01:00.0000] <heycam> bga_, Web IDL defines when and in which order those properties are got, and the getters will run 2011-06-28 [18:48:00.0000] <karlcow> http://masinter.blogspot.com/2011/06/irreconcilable-differences.html [18:49:00.0000] <paul_irish> homeboy forgot to close a <font> tag [23:40:00.0000] <annevk> heycam|away, you're away! [23:41:00.0000] <annevk> heycam|away, but I guess I figured it out, if dictionary members do not have defaults they will simply not form part of the dictionary and not overwrite existing defaults [23:45:00.0000] <hsivonen> looks like Larry revived his false dichotomies as a blog post http://masinter.blogspot.com/2011/06/irreconcilable-differences.html [23:48:00.0000] <annevk> oh lol [23:48:01.0000] <annevk> those are his slides from last TPAC no? [23:53:00.0000] <hsivonen> annevk: yes [00:12:00.0000] <annevk> I wonder why http://lists.w3.org/Archives/Public/www-dom/2011AprJun/0264.html is not in my inbox [00:16:00.0000] <Dashiva> I haven't even started scrolling and I want to comment [00:16:01.0000] <Dashiva> How is "There does need to be a transition plan (how to make changes in a way that doesn't break existing content or viewers)" done with pages that are no longer maintained? [00:17:00.0000] <annevk> Oh, that is in a different thread [00:24:00.0000] <Dashiva> I can't believe that post is actually from this year [01:19:00.0000] <annevk> oh great [01:19:01.0000] <annevk> var x = document.implementation.createHTMLDocument("xxx"); [01:19:02.0000] <annevk> x.documentURI vs x.URL vs x.body.baseURI [01:19:03.0000] <annevk> null, script URL, null [01:21:00.0000] <hsivonen> annevk: why script URL instead of the URL of the document that included the script? [01:21:01.0000] <hsivonen> annevk: the platform isn't supposed to keep track of script URLs, is it? [01:22:00.0000] <annevk> and even though the ele.baseURI is technically null <a href=/test> still resolves against document.URL [01:22:01.0000] <annevk> hsivonen, sorry, script URL was my shortcut for that [01:23:00.0000] <annevk> it is the document address of the script document [01:23:01.0000] <annevk> oh that is in Opera [01:23:02.0000] <annevk> in Firefox baseURI is about:blank! [01:24:00.0000] <annevk> and the link is simply /test unresolved [01:24:01.0000] <annevk> in Chrome both are the empty string... [01:25:00.0000] <annevk> Safari null and /test [01:25:01.0000] <hsivonen> speaking of about:blank, my about:blank project is not at a stage where trying to fix the remaining browser chrome failures starts regressing Web content tests that I already had succeeding [01:25:02.0000] <hsivonen> s/not/now/ [01:31:00.0000] <MikeSmith> hsivonen: that doesn't sound like fun [01:32:00.0000] <hsivonen> MikeSmith: it isn't [01:32:01.0000] <MikeSmith> oh [01:32:02.0000] <MikeSmith> ah, not fun [01:32:03.0000] <hsivonen> I guess this is a bit easier for browsers whose UI isn't vaguely based on Web-like concepts [01:33:00.0000] <MikeSmith> that's what make it's harder for the Firefox case? [01:35:00.0000] <hsivonen> MikeSmith: yeah. the browsing context in a newly-created tab shows up like a top-level browsing context to the Web content and as an iframe-like thingy to XUL and both have unit test expectations about the initial about:blank and its events [01:35:01.0000] <MikeSmith> ah wow [01:37:00.0000] <hsivonen> MikeSmith: basically for each failure, I need to figure out if I can satisfy both expectations or if expectations on one side should change [01:37:01.0000] <MikeSmith> yipes [01:37:02.0000] <MikeSmith> well, I'm sure the glamor and prestige of doing browser development make it all worthwhile [01:45:00.0000] <annevk> So in Gecko document.documentURI is simply about:blank [01:45:01.0000] <annevk> And document.URL too [01:45:02.0000] <annevk> I kind of like their consistent behavior and not having null... [01:57:00.0000] <annevk> oh sweet [01:57:01.0000] <annevk> both Gecko and Opera for setting document.documentURI [02:45:00.0000] <MikeSmith> fwiw, I fiddled with some stuff in the author view of the spec such that the references for the DOM attributes in IDLs now link to the "domintro" stuff instead of going back to the full spec [02:45:01.0000] <MikeSmith> per http://www.w3.org/Bugs/Public/show_bug.cgi?id=13038 [03:10:00.0000] <matjas> zcorpan: does http://mathiasbynens.be/notes/etago#comment-4 look alright now? [04:12:00.0000] <zcorpan> matjas: seems you dropped a link on the floor [04:14:00.0000] <matjas> whoops, this one: http://lists.w3.org/Archives/Public/public-html/2009Oct/0146.html [04:14:01.0000] <zcorpan> yep [04:16:00.0000] <matjas> added (“compatible”) [04:35:00.0000] <zcorpan> thanks [05:09:00.0000] <annevk> smaug____, yay for mutation events progress [05:11:00.0000] <smaug____> annevk: all the comments welcome [05:11:01.0000] <smaug____> I assume some people may not like as low level API what the proposed API currently is [05:17:00.0000] <annevk> it would be great if you could elaborate on list about the execution model [05:17:01.0000] <annevk> removeNode(...); someothercode(); [05:18:00.0000] <annevk> someothercode() executes after the listeners as I understand it? [05:18:01.0000] <annevk> but somehow that does not cause the same problems as mutation events did [05:18:02.0000] <annevk> is that because the removed node is not exposed? [05:19:00.0000] <annevk> I guess I should comment on list [05:22:00.0000] <Philip`> http://www.w3.org/Bugs/Public/show_bug.cgi?id=13079 - "When we set the doctype to html 5 (<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 5 Transitional//EN" "http://www.w3.org/TR/html5/loose.dtd">)" - where did they get that from? [05:23:00.0000] <Ms2ger> s/4/5/g? [05:31:00.0000] <annevk> If someone is bothered by @WHATWG retweeting my account on some spec related matters please tell me and I'll find some other way of doing the same thing... [05:32:00.0000] <annevk> Also, if you have any tweets that could be retweeted by the @WHATWG account let me know [06:01:00.0000] <smaug____> AryehGregor: you're writing the range spec, right? [06:01:01.0000] <smaug____> what is the state of it? [06:01:02.0000] <smaug____> and do you have a link to it? [06:01:03.0000] <Ms2ger> html5.org/specs/dom-range.html [06:02:00.0000] <smaug____> what is html5.org? [06:04:00.0000] <MikeSmith> Ms2ger: what's the dvcs repo for that? [06:05:00.0000] <Ms2ger> There's a link in the spec [06:05:01.0000] <MikeSmith> ok [06:06:00.0000] <annevk> smaug____, bitbucket.org does not have a nice way of viewing HTML files so I created a place there [06:15:00.0000] <MikeSmith> bitbucket really should provide something similar to the github gh-pages thing [06:17:00.0000] <smaug____> Ms2ger: ping [06:17:01.0000] <smaug____> Ms2ger: so the new range spec has the same insertNode behavior as what the old one, right? [06:17:02.0000] <smaug____> /me hopes so [06:18:00.0000] <smaug____> seems like it has the same behavior [06:18:01.0000] <smaug____> so Acid3 allows invalid behavior [06:19:00.0000] <Ms2ger> /me knows nothing [06:19:01.0000] <Ms2ger> Ask Aryeh :) [06:20:00.0000] <smaug____> Ms2ger: "DOM Range, Editor Ms2ger" [06:20:01.0000] <smaug____> Ms2ger: apparently I misinterpret what "Editor" means ;) [06:20:02.0000] <MikeSmith> that's an alternative spelling for "Aryeh" [06:21:00.0000] <Ms2ger> That means I wrote the header ;) [06:27:00.0000] <zcorpan> Ms2ger: btw, i wanna use anolis with xspec xref for the differences spec [06:27:01.0000] <zcorpan> /me is typing with an ice cream [06:28:00.0000] <Ms2ger> /me just had ice cream [06:28:01.0000] <gsnedders> /me finished his ice-cream a while ago :( [06:29:00.0000] <annevk> /me hasn't had ice cream for a while [06:29:01.0000] <annevk> /me tries to sort out compareDocumentPosition() [06:31:00.0000] <Ms2ger> zcorpan, yay! [06:34:00.0000] <annevk> Ms2ger, I would like to use it for a number of specifications too [06:34:01.0000] <annevk> Ms2ger, Progress Events, XMLHttpRequest, CORS, CSSOM, ... [06:34:02.0000] <annevk> Ms2ger, but I guess I should really have a local copy of some sorts running before doing that [06:34:03.0000] <annevk> or jgraham needs to finally make the web service :) [06:35:00.0000] <Ms2ger> Yeah, one of those [06:35:01.0000] <AryehGregor> smaug____, I put my rationale in comments, often in considerable detail. [06:36:00.0000] <AryehGregor> Which aspect are you looking at again? [06:37:00.0000] <smaug____> AryehGregor: I was just looking how insertNode is spec'ed when range is collapsed [06:37:01.0000] <smaug____> seems like range isn't modified in that case [06:37:02.0000] <AryehGregor> I have a comment at the end about that. [06:37:03.0000] <smaug____> like it is not modified per DOM 2 Range [06:37:04.0000] <AryehGregor> WebKit tries to modify it to contain the inserted node in all cases. [06:38:00.0000] <AryehGregor> But it was the only browser that does, and you can't do it in all cases anyway. [06:38:01.0000] <AryehGregor> E.g., if the range originally was inside a comment, you can't make it include the newly-inserted node. [06:38:02.0000] <AryehGregor> So I figured it was better to go with the other browsers. [06:39:00.0000] <AryehGregor> If Acid3 allows WebKit's behavior here, it shouldn't. [06:39:01.0000] <smaug____> AryehGregor: Opera modifies, or at least some version of Opera, modifies Range [06:39:02.0000] <smaug____> AryehGregor: originally Acid3 accepted only webkit's behavior [06:39:03.0000] <AryehGregor> Well, let me check my tests: http://aryeh.name/spec/dom-range/test/Range-insertNode.html [06:39:04.0000] <smaug____> and, IIRC, Opera changed the behavior so that they passed Acid3 [06:40:00.0000] <smaug____> although the change made them incompatible with DOM range spec [06:40:01.0000] <hsivonen> /me wonders what needs to happen for Wikipedia editors to stop using Acid3 as an indicator of standards support [06:41:00.0000] <AryehGregor> This tests it: http://aryeh.name/spec/dom-range/test/Range-insertNode.html?23,3 [06:41:01.0000] <AryehGregor> hsivonen, edit war! [06:41:02.0000] <Ms2ger> /me reverts four times [06:41:03.0000] <Ms2ger> Nooooooooooooooooooo [06:42:00.0000] <AryehGregor> smaug____, indeed, Opera and WebKit both fail that test. [06:42:01.0000] <AryehGregor> Gecko passes. [06:42:02.0000] <AryehGregor> Ms2ger, no problem as long as you make sure there's 24 hours and one minute in between the first and fourth. [06:42:03.0000] <smaug____> ACID3 allows both behaviors [06:43:00.0000] <smaug____> since it was modified afterwards to allow also the specified behavior [06:43:01.0000] <Ms2ger> AryehGregor, WP:WL [06:44:00.0000] <AryehGregor> Oh, hmm. [06:44:01.0000] <AryehGregor> It looks like IE9 matches WebKit and Opera here. [06:44:02.0000] <AryehGregor> So maybe the spec should change too. [06:45:00.0000] <AryehGregor> Three out of four engines is usually enough that the spec should match unless there's a strong reason against. [06:45:01.0000] <smaug____> grr [06:45:02.0000] <smaug____> I would hate that [06:45:03.0000] <smaug____> just because webkit happened to be buggy [06:45:04.0000] <smaug____> and that bug ended up in to acid3 [06:46:00.0000] <AryehGregor> Yeah, but let's be honest, like half of all the details in web specs are because some browser happened to be buggy. :) [06:46:01.0000] <hsivonen> hmm. looks like someone at Wikipedia decided that from Firefox 5 onwards, Firefox versions don't get Wikipedia pages anymore [06:47:00.0000] <gsnedders> /me still likes that the fact the only HTML parsing quirk exists because of Acid 2 [06:47:01.0000] <gsnedders> s/that the fact/the fact that/ [06:47:02.0000] <AryehGregor> I don't mind sticking with the current spec, but only if we get implementers' agreement to change. Even then, it would be *much* easier at this point to converge on the non-Gecko behavior, because Gecko now has very fast release cycles and IE/Safari/Opera do not. [06:48:00.0000] <Ms2ger> hsivonen, can't say I disagree with that decision [06:48:01.0000] <smaug____> AryehGregor: the problem is that specifying insertNode differently makes the API inconsistent when handling mutations to DOM [06:48:02.0000] <AryehGregor> smaug____, so I'm going to change the spec and tests now unless you have strong practical reasons to the contrary. In particular, which behavior is more useful, the standardized or non-standardized behavior? [06:48:03.0000] <AryehGregor> What do you mean? [06:48:04.0000] <smaug____> AryehGregor: right now all the mutations are handled the same way [06:48:05.0000] <AryehGregor> Just add an extra step saying that if the range is collapsed, increment the end offset. [06:49:00.0000] <AryehGregor> There are already other methods that modify the range beyond just following range mutation rules, like deleteContents() and friends. [06:49:01.0000] <smaug____> AryehGregor: IIRC, some implementations have some special hacks for insertNode [06:49:02.0000] <AryehGregor> What sort of special hack? [06:49:03.0000] <gsnedders> AryehGregor: We have a particuarly slow release cycle? 10 September 2009, 10.10 November 2009, 11 10.50 last March, 10.60 last July, 11 in April, 11.50 today… That's a single gap of more than six months. [06:49:04.0000] <smaug____> that if you call insertNode, then end offset is incremented [06:50:00.0000] <smaug____> but if you just do other dom mutation, end offset isn't incremented [06:50:01.0000] <hsivonen> Ms2ger: I don't either, but it's strange that the main Firefox page still links to 5, 6 and 7 the way it used to [06:50:02.0000] <smaug____> but this is IIRC [06:50:03.0000] <smaug____> needs testins [06:50:04.0000] <AryehGregor> gsnedders, compared to Firefox and Chrome, with six weeks between major releases and support for the old version dropping as soon as the new version is released. [06:50:05.0000] <Ms2ger> Er [06:50:06.0000] <smaug____> testing [06:50:07.0000] <AryehGregor> smaug____, I've got the tests already. I apparently didn't notice that everyone but Firefox failed this particular test in the same exact way. [06:50:08.0000] <AryehGregor> I.e.: http://aryeh.name/spec/dom-range/test/Range-insertNode.html?23,3 [06:51:00.0000] <AryehGregor> assert_equals: Unexpected endOffset after insertNode() expected 0 but got 1 [06:51:01.0000] <gsnedders> AryehGregor: meh, four months on average, and dropping support straight away, pretty much. [06:51:02.0000] <gsnedders> AryehGregor: I wouldn't call that slow. [06:51:03.0000] <AryehGregor> Fast enough, yeah. [06:51:04.0000] <AryehGregor> Especially since Opera's market share is so low anyway. [06:52:00.0000] <smaug____> it is a bit hard to read that test [06:52:01.0000] <hsivonen> someone shoud re-do http://bethesignal.org/blog/2011/02/19/modern-browsers-ship/ in a few month with new Firefox data an with cluefully obtained Opera data [06:52:02.0000] <AryehGregor> smaug____, I believe that currently, every single Range method that modifies the DOM also modifies the range's endpoints beyond the range mutation rules, *except* insertNode. [06:52:03.0000] <AryehGregor> Oh, you mean read the source code? Yeah, it's kind of complicated. [06:53:00.0000] <AryehGregor> Try removing the query parameter and you'll see, it's one test out of thousands (note that this might freeze Firefox for a solid minute or two). [06:53:01.0000] <smaug____> I'm talking about the non-Range methods which modify the DOM [06:53:02.0000] <smaug____> and how they affect to the range [06:53:03.0000] <AryehGregor> Well, those aren't handled totally consistently either. [06:53:04.0000] <smaug____> really? [06:53:05.0000] <AryehGregor> http://html5.org/specs/dom-range.html#range-behavior-under-document-mutation [06:53:06.0000] <smaug____> they are in Gecko [06:53:07.0000] <AryehGregor> I mean, at least as far as the spec goes, there's special text for splitText(), insertData(), and deleteData(). [06:54:00.0000] <smaug____> ah, text data [06:54:01.0000] <AryehGregor> IIRC, Gecko doesn't special-case splitText(), but does special-case the other two. [06:54:02.0000] <annevk> http://people.gnome.org/~jdub/2011/modern-browsers-ship/ is pretty cool [06:54:03.0000] <AryehGregor> DOM 2 Range pretended this was consistent by not actually defining behavior exactly. [06:55:00.0000] <smaug____> range object in gecko doesn't know anything about splittext/insertData/deleteData [06:55:01.0000] <AryehGregor> Yeah, I've been told. [06:56:00.0000] <AryehGregor> Anyway, I don't know why this is relevant, because insertNode() is a Range method, and all the other Range methods that mutate the DOM also change the Range's endpoints in some special fashion. [06:56:01.0000] <hsivonen> annevk: the HTML-XML TF call is now. DST for the lose again [06:56:02.0000] <AryehGregor> Namely deleteContents(), extractContents(), and surroundContents(). [06:56:03.0000] <AryehGregor> DOM 2 Range pretends that delete/extractContents() aren't special, but it's a lie. [06:57:00.0000] <AryehGregor> In that if you put some other range at the same location as the one you run delete/extractContents() on, they'll wind up different in all browsers, IIRC. [06:57:01.0000] <AryehGregor> (I should test that.) [06:58:00.0000] <AryehGregor> Well, just for example, if you have a range like <p>foo{</p></p>}bar</p> and run deleteContents(), it will become <p>foo</p>{}<p>bar</p>, but nothing was actually deleted, so other ranges won't be affected. [06:58:01.0000] <AryehGregor> (because after you call extract/deleteContents() on a range, it's always collapsed) [07:02:00.0000] <smaug____> AryehGregor: btw, what will happen to your range spec? Will to propose it to web apps wg, or to whatwg or what? [07:02:01.0000] <AryehGregor> smaug____, I dunno, really Ms2ger is the one who owns it. I just happen to have added lots of stuff. [07:02:02.0000] <AryehGregor> I think there's some idea it will get proposed to the Web Apps WG. [07:03:00.0000] <AryehGregor> But the W3C is such a pain to work with, with all their bureaucracy. Licensing, versioning, blah blah blah. [07:03:01.0000] <AryehGregor> If people don't like it being put on html5.org, which is a random domain owned by annevk, we could probably get it put up on whatwg.org, which is a random domain owned by Hixie. :) [07:04:00.0000] <Ms2ger> Yeah, WebApps, some day, I guess [07:05:00.0000] <AryehGregor> /me is in favor of WHATWG instead, if it's going to be moved anywhere [07:05:01.0000] <annevk> smaug____, so if mutation listeners fire right near the end they cannot be used to implement normal mutation events in their entirety [07:05:02.0000] <smaug____> The only problem is that MS isn't active in WhatWG [07:06:00.0000] <smaug____> annevk: DOMNodeRemoved cannot be implemented [07:06:01.0000] <AryehGregor> If the WHATWG spec is the only one that matches reality, then they can choose to either follow it and all the other browsers, or not follow other browsers. [07:06:02.0000] <AryehGregor> They don't have to be active in the WHATWG to read their specs. [07:09:00.0000] <gsnedders> AryehGregor: No patent policy, though. [07:09:01.0000] <AryehGregor> Yeah, well. [07:10:00.0000] <AryehGregor> The W3C's patent policy is pretty weak anyway. [07:10:01.0000] <AryehGregor> It doesn't matter to me in the end. [07:10:02.0000] <smaug____> AryehGregor: so, FYI, webkit handles insertNode in a different way than range.startContainer.appendChild() [07:10:03.0000] <smaug____> and that is strange [07:10:04.0000] <smaug____> IMHO [07:10:05.0000] <AryehGregor> smaug____, different in what way? [07:11:00.0000] <smaug____> AryehGregor: appendChild doesn't affect to the endOffset [07:11:01.0000] <smaug____> the range stays collapsed [07:11:02.0000] <AryehGregor> Well, of course it doesn't. insertNode() only has a special effect on the range you're calling it on, just like deleteContents(). [07:11:03.0000] <annevk> Ms2ger, same node, not in the same document, same parent, same root, descendant, ancestor; any other cases for compareDocumentPosition you can think of? [07:11:04.0000] <AryehGregor> All other ranges follow normal mutation rules. [07:12:00.0000] <smaug____> AryehGregor: what you mean "of course it doesn't"? [07:12:01.0000] <annevk> same parent / same root are the same it seems [07:12:02.0000] <smaug____> DOM mutations should modify range objects the same way [07:12:03.0000] <AryehGregor> They do. However, Range methods can affect the Range they're called on as well as doing DOM mutations. [07:13:00.0000] <AryehGregor> deleteContents() and surroundContents(), for instance, mutate the DOM and then also change the boundary points of the Range. [07:13:01.0000] <Ms2ger> annevk, no, but that might be because my brain melted in this heat [07:13:02.0000] <AryehGregor> Likewise, insertNode() has no special effect on any Range other than the one it's called on. [07:14:00.0000] <smaug____> AryehGregor: per spec, insertNode doesn't have any special effect [07:14:01.0000] <AryehGregor> The advantage of the currently nonstandard behavior is that authors can be pretty sure the node they just added will now be contained in the range, barring weird cases like if it was in a comment. [07:14:02.0000] <AryehGregor> smaug____, per non-Gecko browsers, it does. Specs try to match browsers around here, not the other way around. :) [07:15:00.0000] <smaug____> AryehGregor: did you just change the spec? [07:15:01.0000] <AryehGregor> No, but I'm probably going to shortly. [07:15:02.0000] <annevk> Ms2ger, you must be near :) [07:15:03.0000] <AryehGregor> Our options are 1) change the spec and get Gecko to change, 2) leave the spec alone and get IE plus WebKit plus Opera to change. [07:15:04.0000] <AryehGregor> Which one is going to get us interop faster? [07:15:05.0000] <AryehGregor> (2) will take a very long time before we have interop in practice, years. [07:15:06.0000] <AryehGregor> IE9 will be around for a long time. [07:15:07.0000] <AryehGregor> Firefox 5 and 6 will not be around for long at all. [07:15:08.0000] <smaug____> I doubt IE9 will be around for a long time [07:16:00.0000] <AryehGregor> And changing one engine is more feasible than changing three. [07:16:01.0000] <Ms2ger> annevk, I guess that limits it to western Europe and India? :) [07:16:02.0000] <smaug____> Safari 6 (or whatever it will be called) might be [07:16:03.0000] <AryehGregor> It'll be around for a few years at least. The current situation is you don't have interop, and that's just a pain for authors. [07:16:04.0000] <smaug____> AryehGregor: I just hate when we're making web platform internally more inconsistent [07:17:00.0000] <AryehGregor> Interoperability is more important than consistency. If things behave the same across browsers, authors can paper over any weirdness. The real pain is when different browsers behave differently. [07:17:01.0000] <AryehGregor> That's when things are really inconsistent, in practice. [07:18:00.0000] <AryehGregor> I also don't agree that it's more inconsistent, as I've explained. Range methods can mutate the DOM and then also change the range's endpoints; that's natural and reasonable and already happens in other methods. [07:19:00.0000] <annevk> I don't think interoperability should be the only goal. Having a five year goal for how a feature should turn out and specifying it that way and going after browsers to get it that way is fine. [07:20:00.0000] <AryehGregor> Yes, but only if the goal is important enough to outweigh the interop costs. [07:20:01.0000] <AryehGregor> In this case I really don't think it is. [07:21:00.0000] <AryehGregor> smaug____, you probably know how things work around here. If you get IE or WebKit to agree to change, I'll leave the spec alone. [07:21:01.0000] <AryehGregor> Otherwise, I'll change it to match the majority of browsers. [07:21:02.0000] <smaug____> /me files a bug on webkit [07:21:03.0000] <smaug____> and sends email to his MS contacts [07:22:00.0000] <AryehGregor> Make sure you tell them that everyone but Gecko agrees. [07:22:01.0000] <AryehGregor> But if you're doing that, I won't change the spec, I'll just add an XXX for now. [07:22:02.0000] <AryehGregor> Let me know what response you get. [07:23:00.0000] <AryehGregor> (it will actually be a pain for me to change the spec, because I'll have to update the tests and also the edit commands spec which relies on the current specced behavior) [07:24:00.0000] <gsnedders> smaug____: File a bug on Opera too [07:24:01.0000] <smaug____> Filing bugs on Opera tends to be hard [07:24:02.0000] <smaug____> usually the form has just failed [07:24:03.0000] <smaug____> but I'll try [07:25:00.0000] <annevk> on https://bugs.opera.com/wizard/ ? [07:25:01.0000] <annevk> I never heard it failing, but that sucks [07:27:00.0000] <gsnedders> smaug____: If it fails drop me an email, probably giving your IP and rough time. [07:34:00.0000] <Ms2ger> MikeSmith, http://www.w3.org/2011/08/browser-testing-charter.html < s/Wed Driver/Web Driver/ [07:37:00.0000] <zcorpan> http://html5doctor.com/blockquote-q-cite/ - footer in blockquote for citation isn't endorsed in the spec right [07:38:00.0000] <Ms2ger> No, but it is by the doctors [07:40:00.0000] <AryehGregor> 0 08:48:16 ~/webroot/spec/dom-range$ hg pull [07:40:01.0000] <AryehGregor> abort: HTTP Error 500: INTERNAL SERVER ERROR [07:40:02.0000] <AryehGregor> Hmm, I guess that's bitbucket's fault? [07:40:03.0000] <AryehGregor> Well, this is what DVCSes are for, right? [07:41:00.0000] <Ms2ger> "Someone kicked over the bucket, sadface" [07:42:00.0000] <AryehGregor> Cute logo. [07:43:00.0000] <AryehGregor> With the mercury spilling out of the bucket and all. [07:43:01.0000] <AryehGregor> Now of course krijnhoetmer.nl is taking forever to respond too. [07:43:02.0000] <AryehGregor> /me twiddles thumbs, xkcd.com/303/-style [07:44:00.0000] <AryehGregor> /me notices the new Google Instant thing for the first time -- it really loaded instantly there [07:44:01.0000] <AryehGregor> (or Chrome preload, or Instant Pages, or whatever it's called) [07:47:00.0000] <AryehGregor> smaug____, added an XXX: http://html5.org/specs/dom-range.html#dom-range-insertnode [07:51:00.0000] <MikeSmith> Ms2ger: thanks [07:52:00.0000] <Ms2ger> Np [08:04:00.0000] <AryehGregor> You know what? Functional programming is really cool. [08:05:00.0000] <AryehGregor> Upon discovering there's no unique() method for arrays in JS, I immediately wrote .filter(function(el, i, arr) { return arr.slice(0, i).indexOf(el) != -1 }). [08:05:01.0000] <AryehGregor> Which is so much nicer than any procedural way of saying the same thing. [08:05:02.0000] <AryehGregor> <3 [08:06:00.0000] <bga_> AryehGregor but O(n*n/2) [08:06:01.0000] <bga_> not O(n) [08:06:02.0000] <AryehGregor> Premature optimization is the root of all evil. [08:07:00.0000] <Ms2ger> sqrt(n)? [08:07:01.0000] <AryehGregor> This is like 200-element arrays here. [08:07:02.0000] <gsnedders> bga_: You can only do it in JS in O(n) if it is a sorted array [08:07:03.0000] <bga_> O() optimization is good [08:07:04.0000] <AryehGregor> Anyway, surely you can't do better than O(N log N). [08:07:05.0000] <AryehGregor> No optimization is good if you don't need it. [08:07:06.0000] <bga_> gsnedders yeah [08:07:07.0000] <Ms2ger> With a hashset? [08:07:08.0000] <gsnedders> AryehGregor: You can do O(n) if it is sorted. [08:07:09.0000] <bga_> O(n) + O(n*log(n)) [08:08:00.0000] <gsnedders> AryehGregor: Becaues you just look at the previous item and compare. [08:08:01.0000] <AryehGregor> gsnedders, you can do it in O(1) if all elements are unique to start with. [08:08:02.0000] <gsnedders> AryehGregor: Hw? [08:08:03.0000] <AryehGregor> Actually, O(0). [08:08:04.0000] <gsnedders> *how [08:08:05.0000] <AryehGregor> gsnedders, no-op. [08:08:06.0000] <bga_> but radix sort is O(n) [08:08:07.0000] <AryehGregor> But we're talking about the general case here. [08:08:08.0000] <bga_> if elements is ints [08:08:09.0000] <bga_> *are [08:08:10.0000] <gsnedders> AryehGregor: How do you know it is a no-op? [08:08:11.0000] <AryehGregor> bga_, only if they're sufficiently small ints. [08:09:00.0000] <AryehGregor> gsnedders, because I said all the elements are unique to start with. [08:09:01.0000] <Philip`> var found = {}; arr.filter(function(el) { var r = found[el]; found[el] = 1; return !r; }); ? [08:09:02.0000] <gsnedders> AryehGregor: So you have an algorithm that takes an array of unique items and returns one? [08:09:03.0000] <gsnedders> Philip`: Only works if el is guaranteed to be a string [08:10:00.0000] <gsnedders> Philip`: Also breaks with arr = ["toString"] [08:10:01.0000] <Philip`> JSONify it if not [08:10:02.0000] <AryehGregor> gsnedders, no, I have an algorithm that accepts an array of unique items and returns the same array but with all duplicate items removed. It goes like this: function(arr) { return arr; } [08:10:03.0000] <gsnedders> AryehGregor: That's not exactly an interesting case… the sorted list one at least is. [08:10:04.0000] <AryehGregor> gsnedders, my point is that we were talking about the general case, and it's clearly easier in special cases. [08:11:00.0000] <annevk> Ms2ger, https://bitbucket.org/ms2ger/dom-core/changeset/67d16b47908c and https://bitbucket.org/ms2ger/dom-core/changeset/9f35be8e6f89 [08:11:01.0000] <AryehGregor> Wait, setting foo[s] to something will behave magically if s happens to be "toString"? That seems very scary. [08:11:02.0000] <annevk> Ms2ger, should define compareDocumentPosition() [08:11:03.0000] <gsnedders> Philip`: You can't JSONify everything [08:11:04.0000] <Ms2ger> Yay! [08:11:05.0000] <gsnedders> AryehGregor: No, it doesn't do anything magic. [08:11:06.0000] <bga_> Philip` its still O(n) - O(n*log(n)) depends from hash fn [08:11:07.0000] <AryehGregor> Good. [08:12:00.0000] <bga_> and need too many mamory [08:12:01.0000] <gsnedders> AryehGregor: Just {}.toString is defined, so !r is always false. [08:12:02.0000] <bga_> *memory [08:12:03.0000] <gsnedders> AryehGregor: Because everything goes up the prototype chain, and Object.prototype.toString exists [08:12:04.0000] <Philip`> gsnedders: You can't sort everything or compare everything for equality, either [08:12:05.0000] <AryehGregor> Oh, I see. [08:12:06.0000] <AryehGregor> That is sort of magic, though. [08:13:00.0000] <bga_> gsnedders right, var found = Object.create(null) [08:13:01.0000] <gsnedders> Philip`: You can compare everything for equality, no? Some things are non-trivial (±0, etc.) [08:13:02.0000] <bga_> but new issue is __proto__ [08:13:03.0000] <gsnedders> bga_: Or just use hasOwnProperty. [08:13:04.0000] <bga_> hasOwnPorperty is double lookup [08:13:05.0000] <bga_> :( [08:13:06.0000] <gsnedders> bga_: How so? [08:14:00.0000] <gsnedders> bga_: Oh, you mean the fact you have to look up hasOwnProperty? That's cached. [08:14:01.0000] <gsnedders> Except it won't be becaues the class of found will continuously change >_> [08:14:02.0000] <gsnedders> *because [08:16:00.0000] <bga_> gsnedders i have remember for(var i in obj){ if(obj.hasOwnProperty(i)){ var v = obj[i] }}, sorry [08:16:01.0000] <bga_> obj.hasOwnProperty(i) // 1st lookup var v = obj[i] // 2nd lookup [08:17:00.0000] <gsnedders> bga_: IonMonkey should make that a single lookup, at least. [08:17:01.0000] <bga_> gsnedders btw i know optimization [08:18:00.0000] <bga_> its works for all engines except IE [08:18:01.0000] <gsnedders> bga_: For that pattern? [08:18:02.0000] <Ms2ger> gsnedders, keeping a close eye on us, are you? :) [08:18:03.0000] <bga_> for(var i in obj){ if(!obj.hasOwnProperty(i)) break; var v = obj[i] } [08:18:04.0000] <gsnedders> Ms2ger: I know what goes on in JS-land. :) [08:19:00.0000] <gsnedders> bga_: Not continue? Otherwise the two are different… [08:19:01.0000] <bga_> because modern engines traverse keys from top to bottom [08:20:00.0000] <Philip`> Someone should make a SpiderMonkey Island adventure game where you have to solve the seemingly-impossible puzzle of working out exactly what all various ...Monkey names refer to [08:20:01.0000] <bga_> except IE which traverse from 2nd proto to bottom and then top [08:20:02.0000] <gsnedders> /me still doesn't see why it should be quicker than the first [08:21:00.0000] <bga_> gsnedders {a: 1, __proto__: {b: 1, __proto__: .... {end: 1}}} [08:22:00.0000] <Ms2ger> Philip`, there was a blog post explaining just that recently [08:22:01.0000] <bga_> not ie - a, b, ... end [08:22:02.0000] <bga_> ie - b,... end, a [08:22:03.0000] <gsnedders> bga_: Yeah, sure. But both do hasOwnProperty at the same point, it's just whether it's negated and what's in the if block that differs. [08:22:04.0000] <gsnedders> bga_: I'm well aware of how stuff is represented in JS engines, FWIW. [08:23:00.0000] <Ms2ger> "gsnedders, PhD" [08:23:01.0000] <Ms2ger> /me imagines [08:24:00.0000] <bga_> gsnedders i have Object.prototype._each = IS_GOOD_TRAVERSE_ORDER && "break" case || general case [08:24:01.0000] <gsnedders> Ms2ger: meh, uni [08:24:02.0000] <bga_> feature detection [08:24:03.0000] <gsnedders> Ms2ger: It's more fun just working on ES engines :) [08:24:04.0000] <Ms2ger> gsnedders++ [08:24:05.0000] <Ms2ger> s/ES/DOM/ [08:24:06.0000] <Ms2ger> IMO [08:25:00.0000] <gsnedders> Ms2ger: I've got bored of DOM. Compilers are more interesting. :) [08:25:01.0000] <gsnedders> bga_: break still makes the two have different behaviour, though. [08:25:02.0000] <gsnedders> Oh, wait, duh [08:25:03.0000] <gsnedders> /me facepalms [08:25:04.0000] <gsnedders> Because it's the order of enumeration you were referring to. [08:25:05.0000] <gsnedders> Right. [08:25:06.0000] <bga_> :) [08:27:00.0000] <bga_> gsnedders btw how IonMonkey optimize double lookup? [08:27:01.0000] <bga_> just compare ast with pattern? [08:27:02.0000] <bga_> or more smarter? [08:28:00.0000] <gsnedders> bga_: Well, it's not written yet, but by using a lower-level IR, I presume [[GetOwnProperty]] will be an instruction within it, and then once you apply CSE you'll only have one call to it [08:28:01.0000] <gsnedders> (assuming they inline hasOwnProperty, that is) [08:32:00.0000] <gsnedders> Ms2ger: FWIW, I probably will get at least a bachelors, though in what subject I dunno. [08:32:01.0000] <Ms2ger> Heh [08:33:00.0000] <gsnedders> (equally whether it'll be a BA or a BSc) [08:33:01.0000] <gsnedders> (actually, it won't be a BA, because the ancient universities in Scotland don't award them, only awarding MAs) [08:34:00.0000] <gsnedders> (Though for all practical purposes they're a BA) [08:34:01.0000] <Ms2ger> Still enjoying the A? [08:35:00.0000] <gsnedders> Yeah. Probably more so than either maths or CS. [08:36:00.0000] <Ms2ger> The maths is too theoretical and you won't ever need anything from CS? :) [08:37:00.0000] <Philip`> Maths can never be too theoretical [08:37:01.0000] <zcorpan> it can be in theory [08:38:00.0000] <Ms2ger> Prove it! [08:38:01.0000] <gsnedders> Ms2ger: The maths is too basic so far, and, well, I know a lot of the CS stuff. There is stuff next year that I don't know (algebraic descriptions of algorithms for proofs, mianly). [08:38:02.0000] <gsnedders> *mainly [08:39:00.0000] <Ms2ger> I guess that's what you get for having too much experience ;) [08:40:00.0000] <gsnedders> Indeed. I had people trying to convince me to do some random undergrad, then do a CS masters. [08:43:00.0000] <Philip`> Can you attend arbitrary lectures for other years or other courses? [08:43:01.0000] <Philip`> (Maybe there's optional topics you won't have time for later but could learn about now) [08:53:00.0000] <gsnedders> Philip`: Technically no, practically yes. [09:42:00.0000] <AryehGregor> Ms2ger, what text editor do you use? [09:42:01.0000] <AryehGregor> Like, say, for spec editing. [09:42:02.0000] <Ms2ger> gedit, why [09:42:03.0000] <Ms2ger> ? [09:42:04.0000] <AryehGregor> I just discovered how awesome vim folding is. [09:42:05.0000] <AryehGregor> But I guess gedit doesn't support that. :) [09:43:00.0000] <Ms2ger> How well does it support HTML? [09:43:01.0000] <AryehGregor> How well does what support HTML? [09:43:02.0000] <Ms2ger> vim [09:44:00.0000] <AryehGregor> Well, the syntax highlighting seems to be essentially perfect. The autoindent script is annoying, though, and infuriating for embedded JS. [09:44:01.0000] <AryehGregor> (syntax highlighting works essentially perfectly for embedded JS and CSS too) [09:44:02.0000] <AryehGregor> Dunno what else you mean by "support". [09:47:00.0000] <AryehGregor> I guess the syntax highlighting could be better, like highlighting mismatched end tags. [09:47:01.0000] <AryehGregor> Certainly not better than a dedicated HTML IDE would be, but probably better than gedit. :) [09:47:02.0000] <Ms2ger> Oh, if only annevk had an editor that highlighted mismatched end tags :) [09:48:00.0000] <AryehGregor> Okay, so if I say that the boundary point of any range in a selection must be a Text or Element node and must descend from a Document, what happens if the author calls setStart() or something on a range that's in a selection? [09:48:01.0000] <AryehGregor> Should I change it so that getRangeAt() doesn't return a live range? [09:48:02.0000] <AryehGregor> That's how WebKit and Opera work . . . [09:49:00.0000] <AryehGregor> /me wants to make this change because it would simplify an awful lot in the edit command spec, and will make a lot of author code more correct as well [10:21:00.0000] <AryehGregor> What's up with the weird formatting here? https://bitbucket.org/ms2ger/dom-range/changeset/b9ca1640aeee [10:21:01.0000] <AryehGregor> Does hg or bitbucket expect some special format? [10:21:02.0000] <AryehGregor> /me is doing it more or less git-style, which he thought hg was okay with too, but maybe not [10:27:00.0000] <charlvn> AryehGregor: there seems to be two things: indentation and line endings [10:28:00.0000] <AryehGregor> There was no indentation in the raw commit message. [10:28:01.0000] <AryehGregor> There were forced line endings, yeah. I do that basically because git requires it if you don't want to wreck up formatting. [10:28:02.0000] <charlvn> no i'm referring the actual changeset, not the commit message [10:28:03.0000] <AryehGregor> Well, really just because my default setting in vim is to wrap at 79 columns and I didn't make an exception for hg commits. [10:29:00.0000] <charlvn> yeah i have this problem a lot myself [10:29:01.0000] <AryehGregor> Huh? Then I'm confused. What about the changeset? [10:29:02.0000] <charlvn> i meant there are changes in indentation and line endings in the changeset [10:30:00.0000] <charlvn> AryehGregor> There was no indentation in the raw commit message. [10:30:01.0000] <AryehGregor> /me is now completely confused. [10:30:02.0000] <charlvn> the commit message is just the thing right at the top [10:30:03.0000] <charlvn> "Restrict possible selection boundary points"... [10:30:04.0000] <AryehGregor> I know what a commit message is. [10:30:05.0000] <AryehGregor> I'm confused about what you're saying. [10:31:00.0000] <AryehGregor> I see extra line breaks in the commit message and I'm wondering why. [10:31:01.0000] <charlvn> you said "There was no indentation in the raw commit message." [10:31:02.0000] <charlvn> oh i see, sorry i misunderstood [10:31:03.0000] <AryehGregor> It seems where I put a single line break, it added a second one. [10:31:04.0000] <charlvn> i thought you were talking about the changeset itself [10:31:05.0000] <AryehGregor> No, the commit message. [10:31:06.0000] <charlvn> you mean the double line endings in the commit message [10:31:07.0000] <charlvn> resulting in empty lines [10:32:00.0000] <AryehGregor> It seems to treat two consecutive line breaks as a <p>, and then a single line break as <br>, but white-space is set to pre-wrap, so it adds two line breaks instead. [10:32:01.0000] <AryehGregor> Looks like a simple bug. [10:32:02.0000] <charlvn> ah yeah that sucks [11:05:00.0000] <zewt-> is there anything in the spec that explicitly says that objects must not hold a strong reference to another object unless explicitly specified to? eg. an HTMLDocument can't hold a reference to elements that are no longer underneith them, else it'd leak references [11:07:00.0000] <AryehGregor> zewt, what's the author-visible impact? [11:07:01.0000] <AryehGregor> I mean, why is that not an implementation detail? [11:08:00.0000] <zewt> if an HTMLDocument kept a reference to every HTMLImageElement that was previously inserted into it, it'd leak memory forever; developers need to know when references are held, so they know when that situation happens [11:09:00.0000] <AryehGregor> That's an implementation detail. [11:09:01.0000] <zewt> definitely not [11:09:02.0000] <zewt> "using infinite amounts of memory" is not an implementation detail. heh [11:09:03.0000] <AryehGregor> Sure it is, it's a QoI problem. I.e., an obvious bug. [11:09:04.0000] <AryehGregor> You don't need a standard to tell you it's stupid. [11:10:00.0000] <Hixie> gsnedders: if patent policy is a concern, i'm happy to work with people to address it so long as someone else is willing to take point on the effort [11:10:01.0000] <AryehGregor> zewt, we could also specify that browsers aren't allowed to have remote code execution vulnerabilities. [11:10:02.0000] <zewt> it's the job of a spec to be explicit about things, not to say "that's obvious" [11:10:03.0000] <AryehGregor> The spec only covers behavior that's either programmatically visible to authors, or visibly visible to users. This is neither. If there are memory leaks, you won't notice unless they happen to be really big. [11:10:04.0000] <AryehGregor> We can't say those violate the spec. [11:11:00.0000] <AryehGregor> Since you can't even detect them reliably. [11:11:01.0000] <AryehGregor> What would the conformance test be, running the browser in valgrind? [11:11:02.0000] <zewt> uh, I've crashed WebKit by scrolling around GMaps for a while in a 512MB VM, because it has exactly the bug I just described [11:11:03.0000] <zewt> that's pretty user-visible. [11:11:04.0000] <AryehGregor> Yes, and that's a WebKit bug. [11:11:05.0000] <AryehGregor> But not a standards-compliance bug, just a bug bug. [11:11:06.0000] <AryehGregor> Standards aren't necessary to tell implementers things that they'll all agree to anyway. [11:11:07.0000] <AryehGregor> Like "let's not have giant memory leaks". [11:11:08.0000] <zewt> except they don't agree. [11:12:00.0000] <AryehGregor> orly? [11:12:01.0000] <zewt> webgl person is saying that it's OK for a webgl context to hold a reference to texture objects [11:12:02.0000] <zewt> (analogous to document/image) [11:13:00.0000] <AryehGregor> It's "okay" in that it doesn't violate the standard, and shouldn't violate the standard, any more than erasing your hard drive when you install the browser would violate the standard. [11:13:01.0000] <zewt> sorry, that's just silly. [11:13:02.0000] <AryehGregor> It doesn't affect interop any more than any performance or crash bug. [11:13:03.0000] <AryehGregor> Do you think the standard also has to say that browsers aren't allowed to contain arbitrary code execution vulnerabilities? [11:14:00.0000] <gsnedders> AryehGregor: What do we do when we have 64MB of RAM? You start hitting OOM often, even without memory leaks. [11:14:01.0000] <zewt> that's irrelevant; it has no parallel to "holding a strong ref to an object". [11:14:02.0000] <gsnedders> AryehGregor: And that matters on mobile. [11:14:03.0000] <AryehGregor> Still QoI. [11:16:00.0000] <zewt> it's pretty hard to claim that an object holding another object alive unexpectedly isn't an interop problem. [11:17:00.0000] <gsnedders> zewt: GC shouldn't be black-box visible, so what's there for the spec to say? [11:17:01.0000] <AryehGregor> It's no more an interop problem than "browser crashes when you call a particular method under these conditions". [11:17:02.0000] <gsnedders> "Make sure you GC often enough to not crash, if you don't handle OOM gracefully."? [11:17:03.0000] <AryehGregor> Crashes, hangs, excessive memory usage, etc. are all irrelevant to standards. [11:18:00.0000] <AryehGregor> Because everyone wants to minimize them anyway. You don't need *coordination*. [11:18:01.0000] <AryehGregor> Standards are where implementers might not agree on what to implement, so they coordinate. They all agree they don't want memory leaks, so it doesn't need to be written down. [11:18:02.0000] <zewt> gsnedders: it's visible if you run a loop that, for example, creates an image, drops it in a document, then removes it and repeats; eventually--depending on what's being kept alive and the amount of memory available--it'll misbehave. not a good approach for a test suite, but certainly visible [11:19:00.0000] <zewt> gsnedders: not talking about when you GC, but what holds implicit references to objects [11:19:01.0000] <gsnedders> zewt: It's GC-related behaviour whether you protect stuff. It's not really black-box observable unless it's wrong. [11:20:00.0000] <zewt> AryehGregor: well again, that's evidently not the case with WebGL implementations [11:20:01.0000] <Philip`> Finite RAM is just a hardware limitation, so the spec lets implementations do whatever they fancy [11:21:00.0000] <zewt> gsnedders: google maps crashes the browser on android phones pretty quickly, too :| but they do acknowledge that one as a bug [11:21:01.0000] <zewt> (probably less so on newer, beefier phones that can mask the bug longer) [11:21:02.0000] <Philip`> and GC is just a hack to let browsers survive a little longer before hitting that limitation in practice [11:22:00.0000] <zewt> well, no, GC serves many more purposes than that :) [11:22:01.0000] <gsnedders> zewt: Yay for browsers shipping on devices with no swap without OOM handling! [11:22:02.0000] <zewt> i suppose if you view an ideal world as one with infinite RAM [11:25:00.0000] <AryehGregor> zewt, no real-world WebGL implementer thinks memory leaks are okay. [11:26:00.0000] <AryehGregor> If they did, a spec wouldn't change their mind. [11:33:00.0000] <gsnedders> /me wonders if informative notes about when things have to be protected/unprotected would be useful [11:44:00.0000] <AryehGregor> So this says IE implements queryCommandIndeterm() by returning true if (inter alia) OLECMDF_LATCHED is clear but OLECMDF_NINCHED is set. [11:44:01.0000] <AryehGregor> This being: http://www.geoffchappell.com/viewer.htm?doc=studies/windows/ie/mshtml/methods/basemso/querycommandindeterm.htm [11:45:00.0000] <AryehGregor> Now this says what OLECMDF_LATCHED does: http://msdn.microsoft.com/en-us/library/ms695237(v=vs.85).aspx [11:45:01.0000] <TabAtkins> NINCHED? [11:45:02.0000] <AryehGregor> But I can't find documentation for OLECMDF_NINCHED anywhere. [11:45:03.0000] <TabAtkins> That's not even a word. [11:45:04.0000] <AryehGregor> Anyone have any ideas? [11:45:05.0000] <AryehGregor> Gecko and WebKit seem to maybe agree on what "indeterminate" means, but IE doesn't. [11:45:06.0000] <AryehGregor> And I'm not sure what IE does mean. [11:45:07.0000] <AryehGregor> (I'm pretty sure the method is useless, and Opera doesn't even implement it, but if it's simple to spec I want to do so.) [11:46:00.0000] <AryehGregor> Maybe someone here has better Google-fu or better knowledge of MS technologies? [11:46:01.0000] <AryehGregor> The MS docs here are just garbage . . . what I'd give for every browser to have docs as good as Mozilla does. [11:47:00.0000] <TabAtkins> http://www.dotnetmonster.com/Uwe/Forum.aspx/vs-net-ide/2687/vsCommandStatusTextWanted-when-does-it-change [11:47:01.0000] <TabAtkins> ? [11:47:02.0000] <TabAtkins> Specifically, Carlos J Quintero's response. [11:47:03.0000] <AryehGregor> Nice, thanks. [11:48:00.0000] <TabAtkins> (Btw, I just searched for "ninched" and that was the first response.) [11:48:01.0000] <AryehGregor> Okay, I guess what it means is what I thought it meant, namely that it should return true if the style is applied to some things in the range and not others, and false if it's all applied or all not. [11:48:02.0000] <Philip`> "no input no change" - not an entirely intuitive acronym [11:48:03.0000] <AryehGregor> Yeah, I guessed that after you posted the link. I was searching for OLECMDF_LATCHED, which told me nothing except that it's equal to 8. [11:50:00.0000] <AryehGregor> This has a good explanation: http://blogs.msdn.com/b/murrays/archive/2011/05/07/ninch-and-emu.aspx [11:50:01.0000] <AryehGregor> The only thing is, IE9 doesn't seem to do it that way. It seems to always return false. [11:51:00.0000] <AryehGregor> Anyway, I know enough to spec it now. [11:51:01.0000] <AryehGregor> Thanks all! [11:53:00.0000] <AryehGregor> It's not useless, either. It lets editing toolbars display the button in a semi-depressed state. [13:46:00.0000] <AryehGregor> Opinions wanted: is this taking functional programming overboard, or is it a nice way to do it? http://pastebin.com/pn0kzAHT [13:49:00.0000] <zewt> never been a fan of that sort of thing, just seems unintuitive [13:56:00.0000] <AryehGregor> I guess the declarative version would be like this: http://pastebin.com/sdfDadTL [13:56:01.0000] <AryehGregor> Seems more awkward, although in some ways more straightforward. [13:57:00.0000] <AryehGregor> Lower-level, certainly. [13:57:01.0000] <AryehGregor> Oh well. I guess if someone else takes over maintaining this code from me, they'll have fun cursing my name if they don't like my programming style. [13:58:00.0000] <Ms2ger> Oh, hi [13:58:01.0000] <AryehGregor> This is edit commands stuff, you probably won't take it over. :) [13:58:02.0000] <Ms2ger> Oh, good [13:58:03.0000] <gsnedders> Oh, right [13:58:04.0000] <AryehGregor> You have plenty of my DOM Range tests already, though. But my JS programming style is changing over time. [13:58:05.0000] <Ms2ger> But I actually kind of like it [13:58:06.0000] <AryehGregor> It's much more functional now than it was a few months ago. [14:00:00.0000] <Philip`> It'd be a nice style if JS's function syntax wasn't so ugly [14:00:01.0000] <gsnedders> w00t Harmony! [14:01:00.0000] <AryehGregor> What does Harmony define here? [14:02:00.0000] <Philip`> Also I suppose I'm more used to pipelines being written in the other direction, in ML and Perl etc [14:03:00.0000] <gsnedders> It doesn't, yet. It'll have some sort of lambda syntax. [14:03:01.0000] <zewt> gross [14:03:02.0000] <zewt> one of the nice things about javascript is that it doesn't have any lambda syntax, just a simple, consistent function syntax [14:03:03.0000] <Ms2ger> In SM, you could use http://pastebin.com/apJDqv2h [14:04:00.0000] <zewt> python's lambda syntax has always irked me; a poor workaround for its syntax design flaws [14:05:00.0000] <AryehGregor> Yeah, Python's lambdas are lame. [14:05:01.0000] <zewt> lack of inline functions is one of Python's more glaring mistakes [14:05:02.0000] <zewt> (to be fair, it does enough right that the things it does wrong stand out more) [14:06:00.0000] <Philip`> I thought the usual argument was that you ought to be naming your functions instead of using anonymous lambdas, so it doesn't matter that Python doesn't support the latter [14:06:01.0000] <Philip`> so it's a problem with the philosophy and not just the syntax [14:06:02.0000] <zewt> never seen that argument; it sounds more like a weak attempt to justify the mistake after the fact [14:06:03.0000] <AryehGregor> <font size=1> and <span style=font-size:xx-small> don't have the same effect in Gecko. :( [14:07:00.0000] <AryehGregor> zewt, I'm pretty sure that's what the BDFL thinks. [14:07:01.0000] <zewt> it's pretty painfully wrong. [14:07:02.0000] <AryehGregor> Agreed. [14:07:03.0000] <zewt> (not expecting to have to convince JS people of that :) [14:08:00.0000] <AryehGregor> One of the key advantages of high-level languages is the ability to avoid explicit temporary variables. [14:08:01.0000] <AryehGregor> Those are one of the things that makes C so much more verbose than everything else. [14:09:00.0000] <AryehGregor> That's one of the big advantages of garbage collection (aside from making bugs less likely). [14:09:01.0000] <zewt> it also makes implementing templating systems, like PHP and Rails's, in Python very hard, which is a really bad problem [14:09:02.0000] <zewt> well, I guess that's more a problem with the significant-whitespace thing than inline functions; I've had to work around it and it's not fun [14:10:00.0000] <AryehGregor> Significant whitespace is actually a big problem with having real lambdas in Python. [14:10:01.0000] <AryehGregor> That's why they're one line only. [14:10:02.0000] <AryehGregor> I'm not sure what the syntax would have to look like, without adding braces or equivalent. [14:10:03.0000] <zewt> significant whitespace seems like the actual reason lambdas exist in python: the syntax has no real way of writing inline functions [14:11:00.0000] <zewt> not without some particularly nasty syntax hacks, anyway [14:12:00.0000] <AryehGregor> Guido doesn't like functional programming much anyway, IIRC. [14:12:01.0000] <zewt> i don't, either, but inline functions have a lot more use than that [14:13:00.0000] <AryehGregor> They're mostly useful for stuff like map and filter, no? You can use them for other things, but that's the most common use I've seen by far. [14:13:01.0000] <zewt> map and filter usually turn into comprehensions in Python [14:13:02.0000] <AryehGregor> True. [14:15:00.0000] <zewt> in JS you have the common patterns of passing eg. completion/error functions, for example [14:15:01.0000] <AryehGregor> But the same principle applies. [14:15:02.0000] <AryehGregor> Yes, that's very true. [14:15:03.0000] <zewt> in those cases, you often want to avoid writing them as separate functions, because that puts the code logically out of order [14:16:00.0000] <AryehGregor> Ugh, why does Gecko randomly throw exceptions in so many corner-cases for execCommand() and queryCommand*()? [14:16:01.0000] <AryehGregor> Well, you can have nested functions in Python, so it doesn't have to be very far out of order. [14:16:02.0000] <zewt> also, naming a function is less clear: when you read the code, you can't tell at a glance that the function is used in exactly one place; you have to scan the entire scope to be sure, which simply goes away with anonymous/inline functions [14:16:03.0000] <AryehGregor> True, although naming conventions can help that a lot. [14:17:00.0000] <Ms2ger> Probably because we depend on some internal state that's not too hard to mess up [14:19:00.0000] <AryehGregor> What's the policy going to be for pushing out Firefox updates now, by the way? Silent update on restart like Chrome, or users get prompted every six weeks? [14:20:00.0000] <AryehGregor> Firefox extensions are much more likely to break on update than Chrome extensions . . . [14:20:01.0000] <AryehGregor> (I think whoever wrote this code in Gecko favored the "throw exceptions whenever anything goes wrong" approach.) [14:21:00.0000] <zewt> AryehGregor: and it seems like with FF's design, it'd be hard or impossible to even have any kind of transition plan for extensions, since extensions can pretty much access anything [14:21:01.0000] <AryehGregor> Yes. [14:21:02.0000] <AryehGregor> But they can also be very powerful. [14:22:00.0000] <AryehGregor> It's a tradeoff. [14:22:01.0000] <zewt> and it's not very reasonable to expect plugin authors to constantly monitor testing releases, when releases are just too quick [14:23:00.0000] <smaug____> addon [14:24:00.0000] <AryehGregor> Yeah, extension. [14:24:01.0000] <AryehGregor> Not plugin. [14:24:02.0000] <smaug____> and you don't need to constantly monitor the changes [14:24:03.0000] <smaug____> it takes ~3 months to from Nightly to release [14:25:00.0000] <zewt> which means developers have to test and update at least once every three months--they're forced into the same release cycle as the browser [14:25:01.0000] <smaug____> so addon developer can probably handle a release in Aurora and Beta in the same time [14:25:02.0000] <jamesr> the chromium extension APIs were designed with auto-updating in mind [14:26:00.0000] <zewt> some people will have the time for that, some won't [14:27:00.0000] <zewt> i was surprised at not having any major hiccups when updating to 5 [14:28:00.0000] <smaug____> IIRC, most of the addons were automatically marked to be compatible with Fx5 [14:28:01.0000] <smaug____> since the changes from Fx4 weren't that huge [14:29:00.0000] <smaug____> well, API changes weren't that huge [14:29:01.0000] <gsnedders> AryehGregor: There's a reason why they're pushing whatever their new JS based extension system is. [14:29:02.0000] <AryehGregor> Jetpacks? [14:29:03.0000] <AryehGregor> Like Chrome, yeah. [14:29:04.0000] <gsnedders> And Opera, too. [14:29:05.0000] <smaug____> yeah, Jetpack is closer to Chrome's not so powerful extensions [14:32:00.0000] <smaug____> anyone from webkit interested in mutation events? or getting rid of them? There is a thread in webapps mailing list about that. [14:32:01.0000] <TabAtkins> Yes, most definitely. That thread pre-empted one of our Chrome people by, like, a day. [14:32:02.0000] <TabAtkins> We've got a proposal that is similar in some details to Jonas. [14:33:00.0000] <smaug____> TabAtkins: my proposal is a bit simpler than what Jonas proposed [14:33:01.0000] <smaug____> but still pretty similar [14:45:00.0000] <jamesr> implement _all_ the proposals! [14:45:01.0000] <TabAtkins> </meme> [14:45:02.0000] <jamesr> smaug____: we're definitely interested in doing something about mutation events over in webkit land [14:46:00.0000] <smaug____> jamesr: yes! and implement event all the mutation events in the same time! [14:46:01.0000] <smaug____> s/event/even/ [14:46:02.0000] <smaug____> I guess no browser supports all the mutation events atm [14:47:00.0000] <smaug____> jamesr: just curious, is the chrome proposal somewhere online? [14:47:01.0000] <jamesr> that's the thing tab was alluding too - i think he's polishing something up to send out [14:48:00.0000] <TabAtkins> Yus. [14:48:01.0000] <TabAtkins> Should be online this week. [14:48:02.0000] <TabAtkins> Though not from me, specifically. [15:06:00.0000] <Hixie> zewt: note that an image does hold a reference to its Document, via ownerDocument [15:07:00.0000] <Hixie> zewt: (the HTML spec says all attributes that return objects imply a strong reference from the attribute's object to the returned object) [15:11:00.0000] <heedly> When I bind loadedmetadata, video.duration on is as long as much data as has been loaded. [15:12:00.0000] <heedly> Is there anyway to get the actual duration? [15:12:01.0000] <TabAtkins> Wait for it to fully load (when it fires canplaythrough)? [15:13:00.0000] <jamesr> fyi canplaythrough isn't reliable in webkit currently [15:16:00.0000] <zewt> Hixie: but not vice versa [15:22:00.0000] <jamesr> how out of date is w3.org/TR/html5, typically? [15:23:00.0000] <ttepasse> AryehGregor, I couldn't resist not to put my weird mixture of functional and imperative programming [15:23:01.0000] <ttepasse> Argh [15:23:02.0000] <AryehGregor> jamesr, months. [15:24:00.0000] <ttepasse> ... on your problem: https://gist.github.com/1052411 [15:24:01.0000] <ttepasse> Revisions [15:24:02.0000] <ttepasse> e62fe4 ttepasse just now [15:24:03.0000] <ttepasse> 69d906 ttepasse just now [15:24:04.0000] <ttepasse> gist: 1052411 [15:24:05.0000] <ttepasse> Description: [15:24:06.0000] <ttepasse> edit [15:24:07.0000] <ttepasse> Public Clone URL: git://gist.github.com/1052411.git [15:24:08.0000] <ttepasse> Private Clone URL: [15:24:09.0000] <ttepasse> git⊙ggc:1052411.git [15:24:10.0000] <ttepasse> Embed All Files: show embed [15:24:11.0000] <ttepasse> JavaScript # embed raw [15:24:12.0000] <ttepasse> 1 [15:24:13.0000] <ttepasse> 2 [15:24:14.0000] <jamesr> holy flood batman [15:24:15.0000] <paul_irish> RAWR!!!!! [15:29:00.0000] <gsnedders> paul_irish: Scary. [15:29:01.0000] <ttepasse> (Sorry for the flooding. Copy'n'Paste is a ... bad person) [15:30:00.0000] <Hixie> holy cow, ttepasse is the first person to be kicked in #whatwg in about 6 years [15:30:01.0000] <paul_irish> :) , btw if anyone else wants op or whatever lemme know [15:30:02.0000] <paul_irish> sorry ttepasse. <3 [15:30:03.0000] <ttepasse> Hey, I understand. My first flooding in ... ten years or so. ;) [15:31:00.0000] <gsnedders> ttepasse: So, were you the last person kicked here for some other reason? [15:31:01.0000] <AryehGregor> hsivonen, othermaciej thinks we should use "EDITOR'S RESPONSE" and not "EDITORIAL ASSISTANT'S RESPONSE", since we're acting on the editor's behalf. [15:31:02.0000] <othermaciej> it doesn't matter much but that's my suggestion and it is less verbose [15:32:00.0000] <ttepasse> Hey, the public logs seem to be down. My future isn't in danger. [15:33:00.0000] <AryehGregor> We should probably be consistent, whatever we do. [15:33:01.0000] <AryehGregor> It would be confusing if some of us say "editor" and some say "editorial assistant". [15:34:00.0000] <jamesr> EDITOR'S MINION'S RESPONSE [15:35:00.0000] <Hixie> now we're talking [16:24:00.0000] <heycam> if Flash does support some API to associate accessibility objects with areas of a canvas on which immediate mode drawing is done, then it would be good to see a comparison of its approach with the one being proposed [16:27:00.0000] <jamesr> heycam: all those canvas ax threads seem to end up being very long, emotional, and circular [16:28:00.0000] <heycam> jamesr, yeah, I tried to steer some of the discussion towards the actual proposal and how it may or may not work [16:55:00.0000] <Dashiva> Are the logs down? 2011-06-29 [19:36:00.0000] <roc> TabAtkins: thanks for reminding me about http://code.google.com/p/chromium/issues/detail?id=73609, please push on it :-) [22:58:00.0000] <annevk> gsnedders, you are in Oslo right? [22:58:01.0000] <annevk> gsnedders, you can help me set up Ms2ger-style Anolis :) [22:58:02.0000] <annevk> and then everything will be awesome [23:21:00.0000] <annevk> AryehGregor, so additional references is a lot of work for little benefit, but linking "IDL attribute" throughout the draft is useful? [23:22:00.0000] <annevk> /me shrugs [23:26:00.0000] <zcorpan> maybe the IDL boxes should have a label saying "IDL" to make it more discoverable what IDL attribute means [23:26:01.0000] <zcorpan> is there a bug asking for linkification of IDL attribute? [23:26:02.0000] <zcorpan> there is [23:38:00.0000] <boblet> zcorpan: re: the blockquote/footer bug you commented on, why don’t you think using footer for attribution is correct? The defn for footer states “The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element”. Blockquote is a sectioning root element… [23:39:00.0000] <zcorpan> boblet: blockquote says its content is quoted from another source [23:40:00.0000] <zcorpan> boblet: it doesn't make an exception for footer [23:40:01.0000] <zewt> quotostrophy [23:40:02.0000] <zcorpan> boblet: what do you do if what you're quoting has a footer? [23:41:00.0000] <annevk> boblet, the source has to be in a paragraph around the <blockquote> [23:41:01.0000] <annevk> boblet, the spec says so, even [23:41:02.0000] <boblet> …add two footers? [23:42:00.0000] <boblet> damn looks like I should have got more ppl to give feedback bf publishing :/ [23:42:01.0000] <zcorpan> what if you don't want to provide your own citation and want to quote a footer? [23:44:00.0000] <zcorpan> hmm css should allow the "thin" etc keywords in margins and paddings [23:45:00.0000] <zcorpan> TabAtkins: ^ [23:45:01.0000] <zcorpan> consider the css i just wrote: .idl { position:relative } [23:45:02.0000] <zcorpan> .idl::before { content:'IDL'; font:bold small sans-serif; padding:.5em; background:white; position:absolute; top:0; margin:-1px 0 0 -4em; width:1.5em; border:thin solid; border-radius:0 0 0 .5em } [23:45:03.0000] <boblet> annevk: can you point me to where the spec says that? [23:46:00.0000] <zcorpan> i use margin:-1px to make it line up with the border, but the border is thin, not 1px [23:46:01.0000] <zcorpan> or is thin defined to be 1px? [23:46:02.0000] <annevk> boblet, maybe that text got removed [23:48:00.0000] <boblet> kk. well that sux. using footer was a really nice way of tying citation and quote together. any suggestions other than <blockquote>…</blockquote><p>— citation</p>? [23:48:01.0000] <annevk> boblet, first example still uses that pattern though [23:49:00.0000] <annevk> boblet, not really... we might have a dedicated <credit> element at some point [23:49:01.0000] <annevk> but whether that's really needed is dubious [23:49:02.0000] <boblet> there’s no way to link a citation to a <blockquote> or <q> other than proximity then? I haz a sad [23:50:00.0000] <zcorpan> i think hsivonen has argued that the citation should just go in the blockquote element without special markup [23:50:01.0000] <annevk> just markup man [23:50:02.0000] <annevk> don't get worked up over it ;) [23:51:00.0000] <boblet> annevk: hold on, am I in the wrong place? :p [23:51:01.0000] <annevk> now, APIs... [23:51:02.0000] <zcorpan> boblet: try the forums! [23:52:00.0000] <boblet> zcorpan: that’s what I’ve done traditionally, so using footer seemed like a better way of doing that [23:53:00.0000] <woef> Hmmm, do you guys answer to conceptual css questions, or are you just hardcore htmlheads? :) [23:53:01.0000] <boblet> ( ^ re: hsivonen’s suggestion [23:53:02.0000] <zcorpan> boblet: how is it better? [23:53:03.0000] <boblet> woef: ask and see ;) [23:54:00.0000] <Onderhond> Can anyone tell me how and why certain styling restrictions are set on specific html elements. [23:54:01.0000] <boblet> footer and header are basically metadata containers associated with content [23:54:02.0000] <Onderhond> Like, why is there no margin on a tr [23:55:00.0000] <Onderhond> (though there is something called "border-spacing" [23:55:01.0000] <boblet> zcorpan: also using footer makes the separation between quoted content and the citation metadata explicit (or at least I thought so) [23:57:00.0000] <boblet> …at least more explicit than just having the citation in the last <p> of the blockquote [23:58:00.0000] <zcorpan> boblet: since it's possible to quote footers, it's not really more explicit than p [23:59:00.0000] <annevk> Onderhond, from a CSS standpoint it's a different display type [23:59:01.0000] <annevk> Onderhond, it's a table row [23:59:02.0000] <annevk> Onderhond, not a block-level element [23:59:03.0000] <Onderhond> Yeah, I figured as much. [00:00:00.0000] <annevk> Onderhond, and they are a little different from ordinary elements [00:00:01.0000] <Onderhond> But is that reason enough to invent a new property doing exactly the same thing? :) [00:01:00.0000] <Onderhond> Or am I missing some subtle nuances between border-spacing and margin? [00:01:01.0000] <zcorpan> if you want margin on tr, you can make it display:block [00:01:02.0000] <Onderhond> zcorpan: I know, but then I lose the tr/td behavior. [00:01:03.0000] <zcorpan> it'll ruin the table, but you can set margins [00:02:00.0000] <Onderhond> It's not so much a practical issue. [00:02:01.0000] <Onderhond> I'm just wondering why certain restrictions are set. [00:02:02.0000] <zcorpan> to make it implementable, i guess [00:02:03.0000] <Onderhond> Most restrictions sound quite reasonable at first, but you always come across certain situations where they are a pain in the ass. [00:02:04.0000] <boblet> zcorpan: I understand what you’re saying, but that still sucks. It’s pretty common for blockquotes to be called out with indentation, different background color, different type treatment etc. if the citation content is outside the blockquote it’s annoying to style that [00:03:00.0000] <zcorpan> boblet: use a class [00:03:01.0000] <Onderhond> And from a layman's point of view, programming a restriction seems like more work than allowing an existing property to do its thing :) [00:03:02.0000] <Onderhond> And it sounds like even more work to invent a new one to do exactly the same thing as another. [00:03:03.0000] <zcorpan> boblet: oh wait i thought you were talking about hsivonen suggestion [00:03:04.0000] <zcorpan> boblet: yeah i agree having citation outside blockquote sucks for styling [00:03:05.0000] <Onderhond> block/inline don't have different properties for left/right margins either. And they're quite different display types too. [00:03:06.0000] <zcorpan> boblet: but it's what the spec says currently [00:03:07.0000] <annevk> Onderhond, but border-spacing does not do the exact same thing [00:04:00.0000] <annevk> also, it's way late to change any of this... [00:04:01.0000] <Onderhond> annevk: sure sure :) [00:05:00.0000] <Onderhond> It just surprises me sometimes to find restrictions that only seem to make things harder. [00:05:01.0000] <Onderhond> But maybe that's only from a user's perspective. [00:06:00.0000] <boblet> zcorpan: hsivonen’s idea (and my pre-HTML5 pattern) to add citation as blockquote content would go against current spec too tho, no? as much as using footer… [00:06:01.0000] <zcorpan> boblet: yes [00:06:02.0000] <Onderhond> annevk: it's a bit like restricting divs from being used in a h1 (hx) element. [00:07:00.0000] <Onderhond> Sounds logical in most situations. [00:07:01.0000] <annevk> well, there is certainly quite some stuff over engineered [00:07:02.0000] <annevk> but then it got implemented, shipped, and widely used [00:08:00.0000] <Onderhond> A same thing almost happened to the footer-element. Glad that got corrected. [00:08:01.0000] <annevk> at which point you're stuck [00:08:02.0000] <Onderhond> I'm all for best practises, not so much for restrictions. [00:08:03.0000] <zcorpan> i guess border-spacing is the way it is to match html's cellspacing [00:09:00.0000] <zcorpan> and cellspacing predated css margin [00:09:01.0000] <annevk> it's better now, more people are involved, and pragmatism typically wins from over engineering [00:09:02.0000] <boblet> pity that figcaption is not caption, or that there’s not some general captioning element that’d be usable here [00:09:03.0000] <annevk> you mean <legend>? [00:09:04.0000] <boblet> … or attribute flag or something [00:09:05.0000] <annevk> still not sure why we gave in on that [00:10:00.0000] <boblet> annevk: gave in on what? [00:10:01.0000] <zcorpan> <legend> was a PITA to use with figure, to be fair [00:10:02.0000] <Onderhond> http://onderhond.com/temp/product-lines.png -> this was the practical problem btw [00:10:03.0000] <boblet> aah, I remember now [00:10:04.0000] <Onderhond> I okay'd the design, but got stuck implementing it. Seems rather silly for such a trivial thing :) [00:11:00.0000] <Onderhond> Still no way to make it work fine in IE6-7 [00:11:01.0000] <zcorpan> Onderhond: border:double? [00:11:02.0000] <Onderhond> zcorpan: try it with a gradient background :) [00:12:00.0000] <zcorpan> make the background transparent at the top [00:12:01.0000] <Onderhond> Anyway, it works quite fine with border-spacing, just not in older browsers. [00:18:00.0000] <boblet> zcorpan: would an attribution element that went inside blockquote need to be unique? or is it theoretically possible that eg footer could be permitted for attrib. in addition to being blockquotable content? I get the feeling that such special-casing would be bad. but… :) [00:19:00.0000] <zcorpan> boblet: it's theoretically possible, sure, we can make the spec say anything we want [00:19:01.0000] <boblet> will do some research for pre-HTML5 blockquote citations and see if there are any patterns, then think about reopening that bug if I’ve got an argument stronger than “awww man” ;) [00:19:02.0000] <zewt> more quotostrophies [00:20:00.0000] <boblet> zewt: what’s wrong with a good quotostrophy now and then? [00:20:01.0000] <zcorpan> boblet: imo the best reason to put attribution in blockquote is ease of styling, but that hasn't convinced Hixie so far [00:20:02.0000] <boblet> zcorpan: maybe some pre-HTML5 patterns will help [00:21:00.0000] <boblet> while I’m here anything else I messed up in http://html5doctor.com/blockquote-q-cite/ ? :/ [00:21:01.0000] <zcorpan> boblet: maybe we could add a feature to css similar to display:run-in but the next sibling instead of previous sibling [00:22:00.0000] <zcorpan> except that display:run-in is a PITA as well [00:23:00.0000] <zcorpan> maybe XBL or css templates or so would make it possible to put attributions inside the blockquotes on the styling layer [00:24:00.0000] <zcorpan> boblet: imo cite="" is completely useless and should be dropped from the spec [00:25:00.0000] <zcorpan> i also think <q> is fairly useless :) [00:25:01.0000] <boblet> zcorpan: agree on both counts. altho the benefit of @cite increases if there’s no way to link attribution explicitly with a block quote [00:26:00.0000] <zcorpan> use case for having a link? [00:26:01.0000] <boblet> <q> does have some multilingual benefits [00:26:02.0000] <boblet> to get more context for the quote [00:27:00.0000] <boblet> also to prove you’re not misquoting [00:27:01.0000] <zcorpan> i mean link as in "no way to link attribution explicitly with a block quote" [00:27:02.0000] <zcorpan> for more context for the quote there's <a href> [00:29:00.0000] <hsivonen> roc: Have you seen Swiffy's use of SVG fonts yet? [00:29:01.0000] <hsivonen> http://swiffy.googlelabs.com/gallery/example1.html is correctly fontified in WebKit but not in Gecko [00:30:00.0000] <hsivonen> /me expects bug title "Implement SVG fonts in order to render Chrome ads properly" [00:31:00.0000] <roc> ironically we have a new approach to SVG fonts being discussed in www-font that a lot of people like [00:32:00.0000] <roc> I would rather submit a JS SFNT generator as a Swiffy patch than support SVG fonts as specced today [00:32:01.0000] <hsivonen> is SFNT a TrueType table name? [00:33:00.0000] <roc> it's the generic name for the Truetype container format [00:33:01.0000] <boblet> zcorpan: aah. easier to generate usable quotes database, eg correctly attributed quote of the day site, specialist bibliographic use in-site or across a discipline etc [00:33:02.0000] <hsivonen> roc: let's hope they make swiffy open source and accept patches [00:34:00.0000] <zcorpan> boblet: if it's your own content you want to annotate for easy scraping, html has extension points for such things [00:35:00.0000] <zcorpan> boblet: you don't need the spec's semantic wand to do that [00:35:01.0000] <zcorpan> boblet: if it's someone else's arbitrary content, you can't trust them to use <cite> correctly anyway [00:36:00.0000] <hsivonen> roc: this proposal? http://lists.w3.org/Archives/Public/www-font/2011AprJun/0144.html [00:37:00.0000] <roc> oh, it's not open source already?> [00:37:01.0000] <roc> bad Google [00:37:02.0000] <hsivonen> roc: not already. the FAQ says they don't even know if it will be [00:37:03.0000] <roc> hsivonen: yeah [00:38:00.0000] <zcorpan> i love that v.nu warns for cite="" :) [00:38:01.0000] <hsivonen> zcorpan: there's a bug about that, though :-( [00:38:02.0000] <hsivonen> I wonder how many Flash to WebKit converters there are by now [00:39:00.0000] <hsivonen> I can think of 4 off the top of my head [00:39:01.0000] <zcorpan> hsivonen: pointer? [00:40:00.0000] <hsivonen> zcorpan: wow. I don't find the bug. [00:40:01.0000] <hsivonen> maybe it was an email then [00:40:02.0000] <boblet> zcorpan: true, but better chance of it if there’s an established pattern. eg Google offering quotes as a subtype of search results. including page is good, but also including source info when available is better. I suspect in academic situations it would be more common to get decent info if there was a pattern for it too [00:41:00.0000] <hsivonen> zcorpan: ok, can't find the bug, can't fix the bug ;-) [00:41:01.0000] <zcorpan> heh [00:41:02.0000] <hsivonen> zcorpan: the basic idea was that it shouldn't warn since cite is part of microdata [00:42:00.0000] <zcorpan> it is? oh yeah it is [00:42:01.0000] <zcorpan> i guess that's fair enough [00:42:02.0000] <hsivonen> I'm not convinced that making it part of microdata was a good idea [00:42:03.0000] <hsivonen> anyway, the warning is factually correct until browsers support microdata [00:43:00.0000] <zcorpan> seems ok to use <link> for the microdata use case if you want an invisible link [00:44:00.0000] <annevk> are we not going to support <blockquote cite> eventually? :/ [00:44:01.0000] <zcorpan> are we? [00:44:02.0000] <hsivonen> is Smokescreen still being developed? [00:44:03.0000] <annevk> /me was hoping that <blockquote> / <q> would get some XBL love [00:44:04.0000] <hsivonen> what about Gordon? [00:44:05.0000] <hsivonen> smokescreen.us looks like there hasn't been action since May 2010 [00:45:00.0000] <zcorpan> annevk: wouldn't it just give two links for people who follow the Doctor's advice and use both cite="" and <a href>? [00:45:01.0000] <hsivonen> the last commit to Gordon is over a year old [00:45:02.0000] <boblet> hsivonen: btw do you still think attribution inside <blockquote> (as content) is a good idea? (heard from zcorpan that you did at some stage) [00:46:00.0000] <zcorpan> boblet: (using both cite="" and <a href> gives browsers an incentive not to support cite="") [00:46:01.0000] <hsivonen> boblet: yes [00:46:02.0000] <boblet> zcorpan: if there’s a way to have that link moved out of @cite and into … something I’d be all for dropping @cite [00:46:03.0000] <hsivonen> boblet: assuming you want the attribution to be part of the indented block [00:47:00.0000] <boblet> hsivonen: what’s your view on using footer to wrap that attribution rather than say <p> [00:48:00.0000] <hsivonen> boblet: a footer might confuse JAWS when browsers get around to mapping <footer> to the JAWS page navigation [00:48:01.0000] <hsivonen> (not sure if Firefox already does that) [00:50:00.0000] <boblet> in what way? it’d be contained to the blockquote though, no? [00:53:00.0000] <hsivonen> boblet: if you want <footer> in <blockquote> to have special implementation requirements, why not mint some kind of <attribution> element instead while we are at it? [00:53:01.0000] <hsivonen> boblet: I think making <footer> special in a <blockquote> would be the wrong way [00:53:02.0000] <annevk> zcorpan, I'd expect to only show cite="" in a tooltip kind of way, but yeah, I guess initially it would [00:54:00.0000] <annevk> zcorpan, maybe it's not worth it though and we should drop cite="" [00:54:01.0000] <hsivonen> I wish we just nuked cite="" as a failure like longdesc="" [00:54:02.0000] <annevk> I used a little script to make cite="" function on my site [00:55:00.0000] <annevk> but yeah, it's not ideal [00:55:01.0000] <annevk> not really looking forward to retroactively fixing all my content [00:55:02.0000] <hsivonen> annevk: if the argument is a private script, you are in the post hoc rationalization land [00:55:03.0000] <boblet> hsivonen: wouldn’t be opposed to <attribution>, but rather than making <footer> special, what I’m suggesting is only that “The footer element represents a footer for its nearest ancestor sectioning content or sectioning root element” beats “The blockquote element represents a section that is quoted from another source” [00:55:04.0000] <zcorpan> annevk: showing it in a tooltip seems pretty useless [00:56:00.0000] <hsivonen> boblet: oh, good point about sectioning roots [00:56:01.0000] <boblet> eg. “The blockquote element represents a section that is quoted from another source, optionally with attribution in a footer element” [00:56:02.0000] <hsivonen> boblet: I guess this comes back to whether HTML5 sections are truly implementable in browsers [00:56:03.0000] <boblet> no implementer implications [00:56:04.0000] <hsivonen> for accessibility and selectors [00:57:00.0000] <annevk> zcorpan, not the normal kind of tooltip [00:57:01.0000] <boblet> I prolly misunderstand what’s involved for implementors tho [00:57:02.0000] <hsivonen> boblet: well, you probably should add some implementor implications to avoid making footer in blockquote have the same navigational semantics in AT as footer in body [00:57:03.0000] <annevk> hsivonen, oh yeah [00:57:04.0000] <annevk> hsivonen, would still suck to have to rewrite all <blockquote cite> / <q cite> stuff though [00:58:00.0000] <annevk> or I could leave it invalid... [00:58:01.0000] <hsivonen> annevk: I think you are implicitly arguing against every obsoleting anything :-) [00:59:00.0000] <boblet> hsivonen: but that should be a given for sectioning roots excepting body no? [01:00:00.0000] <boblet> but yeah my basic mental model is header and footer are metadata containers for that section’s content, so it makes sense that footer in blockquote would be potentially usable for blockquote metadata [01:00:01.0000] <boblet> /me hmm, will email about this before rewriting article I think :/ [01:02:00.0000] <zcorpan> google+ eh? [01:02:01.0000] <zcorpan> what a stupid name [01:02:02.0000] <zewt> trying to compensate for the google- of the hideous black bar [01:02:03.0000] <hsivonen> boblet: well, the relationship of <footer> and role=contentinfo could use some more explicit language about implementation requirements [01:03:00.0000] <hsivonen> where by "explicit language" I don't mean cursing [01:03:01.0000] <boblet> :) true [01:03:02.0000] <annevk> hsivonen, nah, just the stuff I use :p [01:04:00.0000] <zcorpan> hsivonen: cursing would be pretty funny [01:29:00.0000] <boblet> zcorpan: I thought we had the forum(/mailing list/bug reporting tools…) for that? :| [01:31:00.0000] <boblet> so, in a knife fight between <style scoped> and <figcaption> as figure:first-child, who wins? would be nice to add <style scoped> but still have <figcaption> above <figure> content… [01:36:00.0000] <zcorpan> boblet: <style scoped> is allowed only as first child [01:36:01.0000] <zcorpan> boblet: <figcaption> is allowed as either first child or last child [01:36:02.0000] <zcorpan> can't have both being first child :) [01:37:00.0000] <zcorpan> but you could argue that this is a spec bug [01:37:01.0000] <zcorpan> and file a bug [01:37:02.0000] <boblet> zcorpan: they both die! noo! police are called, girls cry… [01:37:03.0000] <boblet> moving style to a wrapper div, but will add that to the list [01:48:00.0000] <boblet> style scoped was implemented in something recently, right? WebKit nightlies? [01:49:00.0000] <Ms2ger> Oh? [01:50:00.0000] <boblet> thought I saw that in Twitter, but can’t find evidence. progress on the WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=49142 but can{t check due to Saf5.1 (boo) [02:04:00.0000] <linclark> the IRC logs for this channel used to be available at http://krijnhoetmer.nl/irc-logs/whatwg/20100424 [02:04:01.0000] <linclark> but haven't been able to access that site for the past two days [02:04:02.0000] <linclark> is there anywhere that has backup IRC logs? [02:08:00.0000] <annevk> linclark, no, nobody has set something up [02:09:00.0000] <linclark> annevk: do you know what's up with the log site? [02:09:01.0000] <linclark> I think I accessed it just last week or the week before [02:09:02.0000] <annevk> krijn's computer is breaking down [02:09:03.0000] <krijn> It's not [02:09:04.0000] <annevk> it's Windows plus some ancient IRC client plus PHP [02:10:00.0000] <krijn> Network cable issues now [02:10:01.0000] <annevk> oh [02:10:02.0000] <krijn> Will (try to) fix it Saturday [02:10:03.0000] <annevk> if only DreamHost allowed IRC clients to run [02:10:04.0000] <krijn> Yeah, or IRCCloud had logs available as text [02:11:00.0000] <annevk> do they have public logs? [02:11:01.0000] <krijn> Don't know [02:11:02.0000] <krijn> But would solve the problem :) [02:11:03.0000] <annevk> guess I should accept my invite so I won't lose out on info until Saturday! [02:11:04.0000] <krijn> If someone can keep the logs of this week, I'll add them when my server is back online [02:14:00.0000] <sst_> hi there, can i use aside also for a section or is it only for page? [02:14:01.0000] <annevk-cloud> /me creates some wind [02:15:00.0000] <annevk-cloud> /me wins [02:17:00.0000] <hsivonen> this draft is awesome: http://dev.w3.org/2009/dap/design-patterns/ [02:19:00.0000] <annevk> hopefully they elaborate a bit more [02:19:01.0000] <annevk> API design principles could certainly be nice [02:30:00.0000] <gsnedders> annevk: I am in Oslo. So I guess I can… [02:31:00.0000] <annevk> glad you're so excited about it :) [02:34:00.0000] <gsnedders> annevk: When you getting here? [02:35:00.0000] <annevk> 5PM at the office, more or less [02:36:00.0000] <gsnedders> annevk: I'm sitting around Core-Systems, FWIW. [02:46:00.0000] <hsivonen> A Microsoft blog post said that they deliver updates for 5 browsers [02:46:01.0000] <hsivonen> what's the 5th? Windows Phone edition of IE? [02:47:00.0000] <hsivonen> /me counts 6, 7, 8 and 9 as four [04:11:00.0000] <annevk-cloud> looks like this actually works, but if nobody says anything while I'm gone it's not very useful... [04:12:00.0000] <Ms2ger> :) [04:50:00.0000] <annevk-cloud> Also works on the phone... [05:39:00.0000] <AnselmBradford> Does anyone know why the "accept" attribute on the form element is not listed in the obsolete section of the latest spec? [05:40:00.0000] <Ms2ger> Nobody implements it? [05:41:00.0000] <zcorpan> AnselmBradford: file a bug [05:41:01.0000] <AnselmBradford> but it's listed as an attribute in the 4.01 spec? Shouldn't it still be labelled obsolete even if nobody implemented it [05:41:02.0000] <zcorpan> yes [05:41:03.0000] <Ms2ger> Meh, I don't care about HTML4 [05:42:00.0000] <zcorpan> opera actually implemented it, found compat problems and then it was removed from html5 (and opera) [05:42:01.0000] <zcorpan> iirc [05:42:02.0000] <Ms2ger> Heh [05:42:03.0000] <AnselmBradford> ok, filing a bug on it... [05:49:00.0000] <AnselmBradford> hmm... "An error occured while submitting your comment. Please let ian⊙hc know." that happen often? [05:49:01.0000] <zcorpan> has happened before, but it usually works [05:49:02.0000] <zcorpan> Hixie: ^ [05:58:00.0000] <zcorpan> AnselmBradford: seems the bug went through anyway [05:59:00.0000] <AnselmBradford> yeah it was my problem ... behind a proxy I need to log into and my login time expired ;-P [06:00:00.0000] <zcorpan> ah [06:29:00.0000] <matjas_> any particular reason why autofocus shouldn’t be allowed for elements having @contenteditable? [06:30:00.0000] <matjas> it’s still possible through JS and I don’t really see the problem with it [06:31:00.0000] <zcorpan> matjas: lots of form features aren't available on contenteditable [06:31:01.0000] <zcorpan> matjas: e.g. you can't submit it [06:32:00.0000] <matjas> is that why autofocus isn’t allowed? [06:32:01.0000] <zcorpan> i think so. i don't recall anybody asking for autofocus specifically before [06:34:00.0000] <zcorpan> most form features would make sense to support for contenteditable, but it's doable with script, contenteditable interop is still bad, and baby steps... [06:35:00.0000] <matjas> /me was wondering if this is worth filing a bug over [06:35:01.0000] <matjas> interop issues may be a good reason not to [06:36:00.0000] <zcorpan> thankfully AryehGregor is working on fixing the interop part [06:37:00.0000] <matjas> AryehGregor++ [07:24:00.0000] <hsivonen> https://twitter.com/#!/DublinCore/status/86079161923407873 [08:10:00.0000] <AryehGregor> Hmm. So if a command is unrecognized, should queryCommandState() and so on throw, or just return something noncommittal? [08:10:01.0000] <AryehGregor> I guess throwing makes more sense. [08:12:00.0000] <gsnedders> Throwing makes a lot more sense, IMO [08:15:00.0000] <AryehGregor> It's what IE and Gecko do, but not WebKit or Opera. [08:15:01.0000] <AryehGregor> /me switches the spec to IE/Gecko [08:16:00.0000] <MikeSmith> hsivonen: interesting discussion on the webkit-dev list about whether they should replace libxml2 dependency with their own XML parser [08:16:01.0000] <MikeSmith> or replace it with expat [08:26:00.0000] <Philip`> Isn't parsing XML already a solved problem, and not one that needs to be started again from scratch? [08:27:00.0000] <gsnedders> Does Gecko have its own XML parser? [08:28:00.0000] <AryehGregor> How about requesting state or value or something where that makes no sense, like document.queryCommandValue("bold")? I'd be inclined to say that should throw too. [08:28:01.0000] <AryehGregor> /me tests what browsers do [08:29:00.0000] <AryehGregor> Hmm, it seems like everyone just returns a useless value. [08:29:01.0000] <karlcow> abarth: you might be interested by the discussion in http://bugs.python.org/issue2193 specifically the messages starting on June 29 [08:30:00.0000] <abarth> k [08:30:01.0000] <AryehGregor> Mostly . . . Gecko is actually inconsistent here. [08:30:02.0000] <karlcow> "So, the document doesn't tell servers how to parse cookies, only how to generate them." [08:33:00.0000] <abarth> karlcow: i don't fully understand the patch, but the discussion seems reasonable [08:33:01.0000] <abarth> karlcow: they're generating cookies in the well-behaved profile, which is the right thing to do [08:42:00.0000] <Ms2ger> gsnedders, expat, IIRC [08:50:00.0000] <gsnedders> /me wonders how the perf of browser's parsers compares [08:53:00.0000] <hsivonen> gsnedders: Gecko uses a very lightly patched expat [08:57:00.0000] <annevk> http://dglazkov.github.com/component-model/dom.html interesting [08:58:00.0000] <Ms2ger> String? [08:58:01.0000] <annevk> prolly WebKit-internal name [09:28:00.0000] <jcranmer> "No-one can expect an implementation that predates a REC to conform to the REC." [09:28:01.0000] <jcranmer> <3 [09:30:00.0000] <gsnedders> Woah. Radical. [09:39:00.0000] <David_Bradbury> Is it possible in canvas to do higher-order bezier curves? (More than 2 control points) [09:42:00.0000] <annevk> teehee [09:43:00.0000] <annevk> 2011 is the year CSS drafts will have links to editor's drafts [09:43:01.0000] <bga_> David_Bradbury you can split your higher-order curve to bezier splines [09:43:02.0000] <Ms2ger> annevk++ [09:43:03.0000] <Philip`> David_Bradbury: The API only supports quadratic and cubic, so you'd have to do anything else manually (which probably shouldn't be too hard) [09:45:00.0000] <Ms2ger> And tantek++ for good measure [09:45:01.0000] <David_Bradbury> Fair enough, I was just curious if this was possible :) [09:45:02.0000] <bga_> David_Bradbury http://en.wikipedia.org/wiki/Spline_interpolation [09:45:03.0000] <Philip`> e.g. http://philip.html5.org/demos/canvas/bezier-approx.html does cubic ones manually [09:46:00.0000] <David_Bradbury> Thanks bga_ & Philip` :) [09:48:00.0000] <TabAtkins_> annevk: I always had links to EDs in my specs. It just wasn't part of the template. [09:49:00.0000] <annevk> yes but Bert took them out [09:49:01.0000] <David_Bradbury> Also, Philip` - You may want to set your lineCap to 'butt' to make sure the example isn't detecting extra points :) [09:49:02.0000] <TabAtkins_> wait, what? [09:49:03.0000] <TabAtkins_> /me goes to look. [09:49:04.0000] <annevk> compare the editor's draft of CSSOM View and its TR/ draft [09:49:05.0000] <TabAtkins_> Check out http://www.w3.org/TR/css3-images/ though. [09:49:06.0000] <annevk> he technically is allowed to do that [09:49:07.0000] <TabAtkins_> Still has the ED link. [09:49:08.0000] <annevk> sweet [09:49:09.0000] <Ms2ger> lists doesn't [09:50:00.0000] <annevk> so then it was just an oversight on his part [09:50:01.0000] <TabAtkins_> Ms2ger: That's because I use a slightly different template on Lists, because I'm inconsistent. [09:51:00.0000] <TabAtkins_> /me needs to update his specs to the Module Template. [09:51:01.0000] <Ms2ger> Also, still merge markers in lists ED [09:51:02.0000] <TabAtkins_> /me also needs to send an update to Lists that removes the merge markers. [10:10:00.0000] <David_Bradbury> Also, out of curiosity - Are there any future plans for other types of gradients other than linear/radial thus far? [10:14:00.0000] <Philip`> David_Bradbury: No [10:14:01.0000] <Philip`> (I don't think anyone has ever asked for any) [10:15:00.0000] <David_Bradbury> Interesting [10:16:00.0000] <David_Bradbury> I think quadratic/bezier/cubic gradients would be useful [10:18:00.0000] <Philip`> I'm not sure what you mean by that [10:19:00.0000] <MikeSmith> annevk: why did Bert take those links out? [10:19:01.0000] <Ms2ger> Didn't like them, I guess [10:19:02.0000] <MikeSmith> hmm [10:20:00.0000] <annevk> Ms2ger, what the hell is --filter? [10:20:01.0000] <MikeSmith> not a terrifically compelling reason [10:20:02.0000] <annevk> Ms2ger, Anolis does not know about this Makefile thingiebingie [10:20:03.0000] <Ms2ger> Did you get my fork? [10:20:04.0000] <annevk> Ms2ger, also, the problem with make not finding lxml (my original problem) was apparently the first line of the anolis script finding the wrong Python [10:21:00.0000] <annevk> Ms2ger, yes [10:21:01.0000] <annevk> Ms2ger, straight from bitbucket.org [10:21:02.0000] <annevk> just now [10:22:00.0000] <annevk> macports actually has html5lib btw [10:22:01.0000] <annevk> pretty neat [10:22:02.0000] <Ms2ger> https://bitbucket.org/ms2ger/anolis/src/9863b9049451/anolis#cl-105 [10:23:00.0000] <Ms2ger> Could you try setting ANOLIS to an absolute path in the Makefile? [10:23:01.0000] <David_Bradbury> Philip`: Have you ever worked with Adobe Illustrator? [10:24:00.0000] <David_Bradbury> With bezier/quad/cubic gradients you can do things like - http://www.khulsey.com/adobe_illustrator_gradient_mesh.html [10:25:00.0000] <David_Bradbury> I know Silverlight has support for it [10:25:01.0000] <David_Bradbury> Don't think SVG does [10:26:00.0000] <annevk> Ms2ger, same problem, gonna eat now :) [10:26:01.0000] <Ms2ger> Ok, see you [10:28:00.0000] <David_Bradbury> Looks like SVG has a variation on bezier gradients called mesh gradients (like Illustrator) [10:30:00.0000] <Philip`> David_Bradbury: Hmm, looks like it'd be a bit tricky to make a usable API for that [10:35:00.0000] <David_Bradbury> I'd imagine something such as - createQuadraticGradient(x0, y0, x1, y1, cpx1, cpy1, cpx2, cpy2 ...) with the start and end points defined at the beginning [10:36:00.0000] <David_Bradbury> the a variable number of arguments at the end for each point [10:36:01.0000] <David_Bradbury> control point* [10:41:00.0000] <Philip`> http://www.khulsey.com/illustrator_gradient_mesh2.jpeg seems to show each gradient made of 12 cubic Béziers, so you'd need 96 arguments to the function [10:42:00.0000] <David_Bradbury> Philip`: Another option would be to be creatMeshGradient(x0,y0,x1,y1); [10:42:01.0000] <Ms2ger> Sounds like WebGL [10:42:02.0000] <David_Bradbury> Then create mesh points [10:43:00.0000] <David_Bradbury> just like how there are color stops [10:43:01.0000] <David_Bradbury> createMeshGradient* [10:43:02.0000] <Philip`> Seems like a lot of complexity for a rarely-used feature, so I'd probably be happier to tell people to implement it themselves (using createImageData and patterns, or whatever) instead of trying to test and debug half a dozen different browser implementations of it :-) [10:43:03.0000] <David_Bradbury> So it may end up looking like [10:44:00.0000] <David_Bradbury> var foo = context.createMeshGradient(x0,y0,x1,y1); [10:44:01.0000] <David_Bradbury> foo.addMeshStop(x1, y1, x2, y2) [10:44:02.0000] <David_Bradbury> True [10:45:00.0000] <David_Bradbury> But I don't know if createImageData is fast enough for those sort of calculations [10:46:00.0000] <David_Bradbury> more accurately - foo.addMeshStop(cpx1, cpy1, cpx2, cpy2) [10:48:00.0000] <Philip`> Maybe best to wait until people have implemented it in JS and found it to be useful except for being too slow, before trying to add complexity to the browser implementations [10:52:00.0000] <MikeSmith> Philip`: clearly you don't understand how things really work [10:54:00.0000] <MikeSmith> if browsers don't implement a11y proposal X, then the hammer of government regulation will come down on browsers [10:54:01.0000] <MikeSmith> ? [10:55:00.0000] <Ms2ger> Is that the government with a fork of HTML? [10:55:01.0000] <MikeSmith> you all remember of course the many times that has happened in the past [10:56:00.0000] <Philip`> What if cyberterrorists fork HTML? [10:56:01.0000] <Ms2ger> What's that, the past? [10:56:02.0000] <David_Bradbury> The government told me that the past didn't happen. I could have sworn it did, but I trust them [10:57:00.0000] <TabAtkins> David_Bradbury: Potentially, but any plans are deferred to Image Values 4. [10:58:00.0000] <TabAtkins> For example, conic gradients are a possibility. [10:58:01.0000] <Ms2ger> We have always been at war with a11^W Eurasia [11:00:00.0000] <David_Bradbury> TabAtkins: I think having a discussion about it would be good to have [11:00:01.0000] <TabAtkins> You can start a discussion, just be aware that the feedback will just go into my "look at later" folder. [11:01:00.0000] <David_Bradbury> I don't mind that at all [11:01:01.0000] <David_Bradbury> I haven't started one before, I just email help⊙wo, yes? [11:02:00.0000] <TabAtkins> For general whatwg email, email whatwg⊙wo Gradient discussions are probably best done on the CSSWG list, though, which is www-style⊙wo [11:02:01.0000] <TabAtkins> Unless you're explicitly discussing canvas gradients, but they should match up with what CSS does anyway. [11:03:00.0000] <bga_> David_Bradbury just implement this feature, land your patch to webkit as webkitCreateMeshGradient [11:03:01.0000] <David_Bradbury> The thing with CSS though is that it doesn't really define regions at all [11:03:02.0000] <bga_> as i see - draw algo is easy [11:03:03.0000] <TabAtkins> Ah, mesh gradients. The CSSWG is explicitly letting SVG handle that. [11:03:04.0000] <David_Bradbury> Hah, that's always an option. I'll just patch webkit and gecko without talking to anyone :p [11:04:00.0000] <TabAtkins> Because defining them properly requires enough syntax that CSS isn't really well-suited. [11:04:01.0000] <David_Bradbury> Yeah, I was looking to implement that into canvas [11:05:00.0000] <David_Bradbury> either as bezier/cubic/curved gradients [11:05:01.0000] <David_Bradbury> or meshed [11:05:02.0000] <TabAtkins> In that case, I recommend first starting discussion with the SVGWG (www-svg⊙wo) so we can get mesh gradients nailed down. That way <canvas> can just ape the SVG model. [11:05:03.0000] <David_Bradbury> which are basically different implementations of the same thing [11:05:04.0000] <David_Bradbury> Fair enough [11:15:00.0000] <bga_> btw TabAtkins is it possible to support canvas w/o alpha channel as in Flash. no overhead to fill pixelData[i*4 + 3] = 255 before putImageData, no overhead to blend colors, directdraw overlay mode will be ideal for perfomance :) [11:16:00.0000] <TabAtkins> bga_: Theoretically possible? Yes. Possible right now? No. [11:16:01.0000] <Philip`> Mozilla has a moz-opaque attribute which I think disables blending when compositing the canvas onto the page [11:18:00.0000] <bga_> good [11:18:01.0000] <bga_> will test perfomance [11:18:02.0000] <David_Bradbury> Hmm [11:19:00.0000] <David_Bradbury> Looks like the w3 "may include more types of gradient elements" for SVG [11:19:01.0000] <David_Bradbury> How far along is SVG 2.0? [11:19:02.0000] <TabAtkins> As a member of the SVGWG, I dunno. [11:19:03.0000] <TabAtkins> (I'm a recent join.) [11:20:00.0000] <TabAtkins> Just email the SVGWG announcing your intentions and asking about progress. [11:20:01.0000] <David_Bradbury> Fair enough [12:50:00.0000] <timeless> hello world [12:51:00.0000] <timeless> i'm looking for something which talks about goals like trying to do things for the 80% * (actual percentage may be different) [12:58:00.0000] <karlcow> http://tools.ietf.org/wg/httpbis/agenda?item=agenda81.html [12:59:00.0000] <Ms2ger> Hah, httpbis [12:59:01.0000] <timeless> Ms2ger: maybe you know? :) [13:00:00.0000] <Ms2ger> Nope [13:03:00.0000] <timeless> gah, to get outlook to let me reply to html mail w/ plain text, i'd need http://www.emailaddressmanager.com/outlook-bells.html [13:04:00.0000] <Ms2ger> Gah, outlook [13:04:01.0000] <timeless> i'm contemplating trying thunderbird+lightning [13:04:02.0000] <timeless> i do *not* look forward to its headaches [13:12:00.0000] <AryehGregor> If I'm reading WebIDL correctly, specs have to say what do if optional arguments aren't provided, right? They're not magically treated the same as undefined or anything? [13:13:00.0000] <Ms2ger> What's "undefined" in C++? [13:13:01.0000] <AryehGregor> Fortunately, I only care about the ECMAScript binding. [13:13:02.0000] <timeless> ms2ger: eh? [13:14:00.0000] <timeless> int x; [13:14:01.0000] <timeless> the value of x is undefined [13:14:02.0000] <timeless> you don't really want to do that :) [13:16:00.0000] <AryehGregor> Heh. Not what he meant, though. [13:16:01.0000] <timeless> it doesn't exist [13:16:02.0000] <timeless> if he meant in XPCOM/SpiderMonkey land, that might be different [13:17:00.0000] <timeless> JSVAL_TYPE_UNDEFINED [13:17:01.0000] <AryehGregor> He was trying to point out that WebIDL can't magically make unspecified arguments undefined, and specs have to say what to do explicitly, because the JS concept of "undefined" doesn't exist in non-ECMAScript bindings of WebIDL, and WebIDL is theoretically language-neutral. [13:18:00.0000] <timeless> ah [13:18:01.0000] <timeless> well, [13:18:02.0000] <timeless> with xpcom land and js in general you can ask how many arguments your function was given [13:19:00.0000] <AryehGregor> We're talking spec-land, not JS-land. [13:19:01.0000] <timeless> webidl could provide that for an overloaded function a hidden argument is included indicating the number of arguments actually provided by the caller [13:19:02.0000] <timeless> and that all other ones can actually be <garbage> (or 0) and that the callee should only honor those up through that hidden argument count [13:20:00.0000] <timeless> such a specification wouldn't be too hard [13:20:01.0000] <timeless> and implementations aren't that hard either [13:20:02.0000] <timeless> that's more or less how it actually works in gecko [13:21:00.0000] <AryehGregor> The callee is already allowed to know how many arguments it's passed in WebIDL. The callee is a function implemented in native browser code, typically. [13:21:01.0000] <AryehGregor> My question was, as a specification writer using WebIDL, do I have to explicitly say in the spec what happens if an optional argument is omitted, or does WebIDL already have some default action in that case? [13:22:00.0000] <AryehGregor> It looks like I have to specify, so specify I will. [13:26:00.0000] <Philip`> What could it possibly define as a default that would make any sense? [13:26:01.0000] <AryehGregor> Given that it has to make sense cross-language, nothing, I guess. [13:27:00.0000] <Philip`> The interpretation of arguments depends on what the function actually does, which is what you're specifying, so surely you're the only person who can decide what a missing argument does [13:29:00.0000] <AryehGregor> Well, in JavaScript, missing arguments become undefined, which could be automatically cast to the type specified in the IDL. [13:33:00.0000] <Philip`> That sounds more like required arguments than optional arguments, since your spec is requiring that they always have a value [13:34:00.0000] <AryehGregor> But I want them to have a default value. [13:37:00.0000] <annevk> Ms2ger, so apparently I do not have simplejson or some such [13:37:01.0000] <annevk> Ms2ger, but I only found that out by running anolis directly [13:37:02.0000] <Ms2ger> Hmm [13:37:03.0000] <annevk> Ms2ger, it would be helpful if dependencies are listed somewhere [13:37:04.0000] <Ms2ger> What python version do you have? [13:37:05.0000] <annevk> lxml, html5lib, simplejson [13:37:06.0000] <annevk> 2.6 [13:37:07.0000] <annevk> it seems [13:38:00.0000] <annevk> no idea if it works with this btw [13:39:00.0000] <Ms2ger> Let me try something.. [13:39:01.0000] <timeless> AryehGregor: can't you mark an argument as nullable instead of optional? [13:39:02.0000] <timeless> oh [13:39:03.0000] <AryehGregor> timeless, yes, but why would I want to do that? [13:40:00.0000] <timeless> we changed webidl so that callers need to pass all arguments [13:40:01.0000] <timeless> otherwise they get exceptions [13:40:02.0000] <timeless> no simple undefined filling for missing arguments [13:40:03.0000] <timeless> sorry :) [13:40:04.0000] <timeless> this wasn't the case in the webkit implementation :) [13:40:05.0000] <timeless> iiuc it provided undefined for missing arguments [13:41:00.0000] <annevk> installing simplejson involves fiddling with openssl [13:41:01.0000] <annevk> wtf macports [13:41:02.0000] <annevk> sqlite3! [13:41:03.0000] <zewt> that's how simple it is [13:41:04.0000] <timeless> hqh [13:41:05.0000] <timeless> hheh [13:41:06.0000] <timeless> gerr [13:41:07.0000] <annevk> omg [13:41:08.0000] <zewt> hhqh [13:41:09.0000] <timeless> /me ikicks kinesis keyboard [13:42:00.0000] <Ms2ger> annevk, could you try updating? [13:42:01.0000] <annevk> it's actually installing sqlite3 now [13:42:02.0000] <timeless> annevk: careful [13:42:03.0000] <zewt> it's punishing you for using a mac [13:42:04.0000] <timeless> from memory things like that sometimes break building native apps :) [13:42:05.0000] <annevk> Ms2ger, I guess [13:43:00.0000] <Ms2ger> (anolis, that is) [13:43:01.0000] <annevk> ooh, Building Python26 [13:43:02.0000] <zewt> building? [13:43:03.0000] <zewt> gross :P [13:44:00.0000] <annevk> Ms2ger, already installing simplejson [13:44:01.0000] <timeless> nice [13:44:02.0000] <Ms2ger> That works too [13:44:03.0000] <annevk> and lots of other things it seems [13:46:00.0000] <zewt> isn't simplejson replaced by python's builtin json module anyway? [13:46:01.0000] <zewt> don't recall if they're from the same codebase off-hand [13:47:00.0000] <Ms2ger> I just made it try importing the builtin json first [13:47:01.0000] <annevk> I saw [13:47:02.0000] <annevk> oh, replying to zewt [13:48:00.0000] <Ms2ger> Yes :) [13:48:01.0000] <zewt> it was imported to core in 2.6, i think? [13:49:00.0000] <Ms2ger> Yes [13:49:01.0000] <annevk> now I get "anolis: error: --dump-xrefs option does not take a value" [13:50:00.0000] <Ms2ger> Er [13:50:01.0000] <annevk> and executing anolis directly gives some weird output [13:51:00.0000] <Ms2ger> Try just make Overview.html [13:52:00.0000] <annevk> then it says Overview.html is up to date [13:52:01.0000] <Ms2ger> So did it change? [13:52:02.0000] <annevk> oh yes, lots of quotes got removed and such [13:52:03.0000] <annevk> do I need any other parameters? [13:53:00.0000] <Ms2ger> Huh [13:53:01.0000] <annevk> and -ED became -[STATUS] again [13:55:00.0000] <annevk> hmm, and it also still complaints about --filter unless I run anolis xxx.src.html xxx.html first [13:56:00.0000] <annevk> ah, dglazkov is not here [13:56:01.0000] <Ms2ger> Try changing .src.html and then make again [13:57:00.0000] <annevk> same problems [13:58:00.0000] <Ms2ger> :( [13:59:00.0000] <timeless> Ms2ger: so, i installed thunderbird [13:59:01.0000] <timeless> it couldn't configure itself for my mail account [13:59:02.0000] <Ms2ger> annevk, could you pastebin the output? [13:59:03.0000] <timeless> and while there seems to be an addon that might work, there's no sign of how to install it [14:00:00.0000] <Ms2ger> timeless, yay, open source :) [14:00:01.0000] <zewt> seems like if you need addons to make email work in 2011, something is amiss, heh [14:00:02.0000] <annevk> anolis --dump-xrefs=data/xrefs/dom/domcore.json Overview.src.html /tmp/spec [14:00:03.0000] <annevk> Usage: anolis [options] input output [14:00:04.0000] <annevk> Post-process a document, adding cross-references, table of contents, etc. [14:00:05.0000] <annevk> anolis: error: --dump-xrefs option does not take a value [14:00:06.0000] <annevk> make: *** [data/xrefs/dom/domcore.json] Error 2 [14:00:07.0000] <annevk> and the other I get is [14:00:08.0000] <timeless> Ms2ger: oh, there might or might not be source for some of it [14:00:09.0000] <timeless> but that probably requires building gecko, thunderbird, and it [14:00:10.0000] <timeless> and it probably wouldn't work [14:01:00.0000] <Ms2ger> annevk, anolis --version? [14:01:01.0000] <annevk> 1.1 [14:01:02.0000] <Ms2ger> That would explain things [14:01:03.0000] <Ms2ger> It's supposed to be 1.2pre [14:02:00.0000] <annevk> but I pulled the latest and installed that [14:03:00.0000] <annevk> using setup.py to install [14:03:01.0000] <annevk> i.e. I download the whole thing and run sudo python setup.py install [14:03:02.0000] <Ms2ger> Could you try changing ANOLIS in the Makefile again, and add a target to do $(ANOLIS) --version? [14:07:00.0000] <annevk> how does that work? [14:08:00.0000] <Ms2ger> Add version:\n\t$(ANOLIS) --version [14:08:01.0000] <Ms2ger> And then make version [14:11:00.0000] <annevk> /usr/local/bin/anolis --version [14:11:01.0000] <annevk> anolis 1.1 [14:12:00.0000] <annevk> I'll take another look when gsnedders is around [14:14:00.0000] <Ms2ger> If you don't feel attached to that anolis version, you could try deleting it, I guess [14:15:00.0000] <Ms2ger> Or make gsnedders fix it :) [14:17:00.0000] <Ms2ger> /me wanders off [14:17:01.0000] <annevk> hmm, deleted the file in /bin/ and after reinstalling it says it cannot find such a file [14:17:02.0000] <annevk> guess I will do that too [14:32:00.0000] <timeless> annevk: you might try 'rehash' [14:43:00.0000] <AryehGregor> You know what I just realized would make some functional programming things a lot easier? If operators on functions returned new functions whose return values would have the operators applied. So f && g would be something like function() { return f.apply(null, arguments) && g.apply(null, arguments) }. [14:44:00.0000] <TabAtkins> But what if you wanted the operator to apply to the function itself for some reason?!? [14:44:01.0000] <AryehGregor> Not likely in JS anytime soon, of course. [14:45:00.0000] <TabAtkins> Wait, does f&&g return one function or two? [14:45:01.0000] <AryehGregor> How could it return two functions? [14:45:02.0000] <TabAtkins> I'm asking you, because the way you wrote your text implied two. But the pseudocode is clearer. [14:46:00.0000] <moo-_-> I think JS lacks enough syntatic sugar to make features like that? [14:46:01.0000] <AryehGregor> I mean that I want to do something like myList.filter(isFoo && isBar). [14:46:02.0000] <AryehGregor> Instead of myList.filter(function(item) { return isFoo(item) && isBar(item) }). [14:47:00.0000] <TabAtkins> Is it just the logical operators you want this to happen to, or more generally? [14:47:01.0000] <timeless> in spidermonkey you can get away w/o some of those {}s :) [14:47:02.0000] <AryehGregor> May as well be more generally. [14:47:03.0000] <AryehGregor> timeless, what do you mean? [14:48:00.0000] <TabAtkins> Hrm. My functional calculus in Lisp is actually not well-suited to doing that. [14:48:01.0000] <TabAtkins> (f+ (unpack &&) (xcompose f g)) [14:48:02.0000] <timeless> AryehGregor: this doesn't work, i'll have to find a real reference for it, but roughly: [14:48:03.0000] <timeless> javascript:function a() return 1; a() [14:49:00.0000] <timeless> http://mxr.mozilla.org/mozilla-central/search?string=function&find=%5C.js&filter=function%5B%5E%7B%5D%2B%3B [14:49:01.0000] <timeless> line 40 -- do_execute_soon(function() request.resume()); [14:50:00.0000] <AryehGregor> Does ES5 allow that? [14:50:01.0000] <timeless> /me shrugs [14:50:02.0000] <timeless> i said spidermonkey [14:51:00.0000] <AryehGregor> /me will look it up in a minute [14:51:01.0000] <ttepasse> AryehGregor, in a way myList.filter(firstPred).filter(secondPred) is short and easier to read. On the other hand more computational steps, of course. [14:51:02.0000] <AryehGregor> Yeah, but my code isn't only for SpiderMonkey, so I'm interested. :) [14:51:03.0000] <AryehGregor> ttepasse, that doesn't generalize to, e.g., || or !. [14:51:04.0000] <TabAtkins> AryehGregor: Define a global op object with function versions of the operators. [14:51:05.0000] <TabAtkins> op.or = function(a,b) { return a||b; }; [14:52:00.0000] <AryehGregor> Then what? [14:52:01.0000] <TabAtkins> Oh, sorry, I didn't read ttepasse properly. [14:52:02.0000] <timeless> AryehGregor: it's probably at best a proposal [14:52:03.0000] <timeless> /me shrugs [14:52:04.0000] <TabAtkins> Then define every, some, notall, and none. [14:53:00.0000] <TabAtkins> s/Then d/D/ [14:53:01.0000] <TabAtkins> The usual way functional languages do this is via explicit "and/or all of these functions" functions. [14:53:02.0000] <TabAtkins> myList.filter(every(f,g)) [14:55:00.0000] <TabAtkins> Overloading || on functions would prevent you from using || to set a default value for a var that might be a function. [14:59:00.0000] <AryehGregor> True, I forgot JS allowed that. [15:00:00.0000] <AryehGregor> Sad. ES5 requires the curly braces. [15:01:00.0000] <AryehGregor> I hope it's going to make it into the next version. [15:02:00.0000] <TabAtkins> I think it'll happen in the context of arrow functions, like myList.filter((item)=>isFoo(item)&&isBar(item)); [15:02:01.0000] <gsnedders> TabAtkins: s/=/-/ [15:02:02.0000] <gsnedders> Though there's currently three separate proposals for such things [15:02:03.0000] <TabAtkins> I forget which is being proposed at any given time. [15:03:00.0000] <TabAtkins> There's also the *horrifying* curly-block syntax. [15:03:01.0000] <TabAtkins> myList.filter({|item| isFoo(item)&&isBar(item)}); [15:05:00.0000] <AryehGregor> Oh, wow. Passing "true" as the second parameter in execCommand() does really complicated stuff in IE. [15:05:01.0000] <AryehGregor> I assumed it would just let you change the value, but it actually gives you all sorts of options, like providing alt text for an image and things. [15:05:02.0000] <AryehGregor> /me wonders if and how to spec it [15:07:00.0000] <ttepasse> TabAtkins, afaik pythonic array comprehensions are still a possible feature of ES.next which is another, better syntax for filtering. [15:07:01.0000] <TabAtkins> I thought they were in. [15:08:00.0000] <TabAtkins> Array comprehensions are the best. [15:08:01.0000] <TabAtkins> [x for x in myList if isFoo(x) && isBar(x)] [15:08:02.0000] <ttepasse> An idea for AryehGregor, untested: https://gist.github.com/1055146 [15:14:00.0000] <ttepasse> Ok, please ignore it. Forgot the first function. [15:16:00.0000] <Hixie> AryehGregor: perl kinda does this with the implied parameter [15:17:00.0000] <Hixie> AryehGregor: if you defined sub f ($) { ... } and sub g ($) { ... } (so two functions that each take one argument) [15:18:00.0000] <Hixie> er well no, i mean, if you defined them as taking () and operating on $_, which is the convention [15:18:01.0000] <Hixie> you could do grep { f && g } @list; [15:18:02.0000] <Hixie> to do what you describe [15:18:03.0000] <Hixie> maybe [15:18:04.0000] <Hixie> untested :-) [15:18:05.0000] <Hixie> (also ugly and not recommended) [15:28:00.0000] <AryehGregor> "Beautiful and interactive Web applications are easier to deliver with support for several new technologies like CSS3 Positioned Floats, HTML5 Drag-drop, File Reader API, Media Query Listeners and initial support for HTML5 Forms." [15:28:01.0000] <AryehGregor> Wait, drag-drop? Didn't IE support that already? I guess it means it supports the new features added . . . [15:28:02.0000] <TabAtkins> It's HTML5. [15:29:00.0000] <AryehGregor> Yeah, but it's listed as a new feature of IE10PP2. [15:29:01.0000] <AryehGregor> I'll be interested to see what the form support looks like. [15:29:02.0000] <TabAtkins> I know, I'm just telling you why it's new and exciting. [15:30:00.0000] <AryehGregor> Oh, HTML5 parser too, apparently. [15:30:01.0000] <AryehGregor> Yay. [15:30:02.0000] <AryehGregor> That's reason enough for me to switch to it for my testing. [15:35:00.0000] <Yuhong> I like to mention this: http://news.slashdot.org/comments.pl?sid=2281734&cid=36616788 [15:43:00.0000] <Hixie> AryehGregor: we did add a bunch of new d&d features [15:43:01.0000] <AryehGregor> Yeah, I remembered after I said that. [15:43:02.0000] <Hixie> AryehGregor: i assume they particularly mean file d&d [15:43:03.0000] <AryehGregor> dropzone and whatever. [15:43:04.0000] <AryehGregor> Ah. [15:46:00.0000] <Yuhong> About IE and CSS. [16:23:00.0000] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/complete.html#audiotracklist-and-videotracklist-objects - does that look ok? [16:33:00.0000] <ttepasse> Hm. Everytime I read about XBL(2) and the component/widget model it sounds interesting but then leaves me with a lot of questions of how and when to use it. Assuming it will someday land in browsers and be usable by web authors. [16:34:00.0000] <ttepasse> E.g. ... Twitter has some guidelines about embedding/quoting tweets outside of their silo. In a way a tweet isn't such a part of a document but a widget. [16:36:00.0000] <ttepasse> So, I think ... <tweet tweetid=1234 style="binding:url(example.org/tweet.xbl)"></tweet> ... or <blockquote class="tweet">...</blockquote> with an assorted binding. [16:38:00.0000] <ttepasse> Additional ... display of a tweet per Twitters display guidelines could have buttons for actions, like favorite and retweet. Should these be part of the document that embeds this tweet or should they be hidden in the shadow DOM? And if hidden, what does the user agent with the shadow DOM? Will ARIA information be exposed or not? [16:38:01.0000] <ttepasse> </loudthinking> [16:44:00.0000] <cpearce> Hixie: "The AudioTrackList and VideoTrackList interfacesa are used ..." did you mean "interfaces" ? [16:44:01.0000] <Hixie> oops thanks will fix [16:45:00.0000] <ttepasse> Each audio track_s_ is represented by an AudioTrack object [16:45:01.0000] <Hixie> thanks, fix in the pipeline 2011-06-30 [17:16:00.0000] <bga_> heh [17:16:01.0000] <bga_> setImmediate [17:17:00.0000] <heycam> I am not a fan of the name [17:17:01.0000] <bga_> its just setTimeout with 0 [17:17:02.0000] <bga_> but with new name! [17:23:00.0000] <gsnedders> Also a lot of the reasons for it being proposed aren't true in Opera (like scripts entirely blocking the UI). [17:28:00.0000] <bga_> hehe in Opera even iframes are multithreaded [17:28:01.0000] <gsnedders> bga_: They're not real threads, though. [17:29:00.0000] <bga_> i know [17:30:00.0000] <bga_> but scripts in 10 iframes works parrallel and shared access to parent dom is ok [22:58:00.0000] <zcorpan> will somebody resurrect logs? [01:17:00.0000] <zcorpan> othermaciej: <http://www.w3.org/mid/E1Qc8p0-0003pB-5h⊙jwo> seems PriorityRequest isn't working as intended [01:18:00.0000] <othermaciej> zcorpan: I can remind him of the right thing to do, but probably in the morning [01:23:00.0000] <annevk> whoa still connected [01:44:00.0000] <annevk> Ms2ger, https://bitbucket.org/ms2ger/anolis/src/720bb976fe83/setup.py says 1.1 [01:45:00.0000] <annevk> Ms2ger, ... [01:45:01.0000] <annevk> oh wait [01:45:02.0000] <annevk> you will never read that [01:45:03.0000] <annevk> fricking logs [01:45:04.0000] <annevk> but the fuck [01:45:05.0000] <annevk> it does say 1.2pre [01:46:00.0000] <annevk> holy shit it works [01:55:00.0000] <krijn> :( [02:08:00.0000] <zcorpan> krijn: so wassup with the logs? [02:10:00.0000] <annevk> zcorpan, network cable [02:10:01.0000] <annevk> zcorpan, will be looked at Saturday hopefully [02:10:02.0000] <zcorpan> k [02:10:03.0000] <zcorpan> well i'll be on vacation so as long as it's fixed in august! [02:11:00.0000] <annevk> have fun [02:11:01.0000] <zcorpan> will do [02:11:02.0000] <annevk> gonna go for a month? [02:12:00.0000] <zcorpan> yeah [02:13:00.0000] <zcorpan> i expect html5 to be finished when i get back [02:19:00.0000] <annevk> sounds reasonable [02:29:00.0000] <bga_> annoying bug in chromium. Need press enter twice everywhere :/ [04:37:00.0000] <annevk> shouldn't exceptions be solved before going to Last Call? [04:37:01.0000] <annevk> heycam|away, ^^ [04:55:00.0000] <annevk> how do I make hg commit ignore a certain file? [04:56:00.0000] <Ms2ger> hg commit -X? [04:57:00.0000] <Philip`> "hg commit f1 f2 f4 f5" where f3 is the file you want to ignore? [04:57:01.0000] <Ms2ger> Or add it to .hgignore if you always want to ignore it [04:57:02.0000] <Philip`> I thought .hgignore only makes it ignored from the perspective of 'hg add', not 'hg commit' [04:58:00.0000] <annevk> check this out: https://bitbucket.org/ms2ger/dom-core/changeset/816f0c664329 [04:59:00.0000] <Ms2ger> ! [05:00:00.0000] <Ms2ger> I guess I'd better fix that dom-core [05:00:01.0000] <Philip`> /me would like it if Bitbucket didn't have to load a hundred .css and .js files before rendering the page [05:03:00.0000] <Ms2ger> Fixed [06:40:00.0000] <annevk> ooh [06:40:01.0000] <annevk> roc has a post about permissions [06:41:00.0000] <roc> I hope you agree with it [06:41:01.0000] <roc> if you don't, I'll probably want to change it so you do :-) [06:42:00.0000] <annevk> http://www.w3.org/TR/css3-ruby/#display XHTMLMOD o_O [06:42:01.0000] <annevk> gonna read it now roc :) [06:47:00.0000] <annevk> roc, looks great; really glad you sometimes post these higher-level architectural views on the platform besides what goes on with respect to details of layout and video and whatnot :) [06:50:00.0000] <roc> thanks [07:04:00.0000] <annevk> Ms2ger, so anolis currently is at /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/anolis; is there a way I can make an alias for that so that the Makefile just works? [07:04:01.0000] <Ms2ger> Maybe a symlink from /usr/bin/anolis or some such? [07:10:00.0000] <annevk> good idea [07:17:00.0000] <annevk> oh, roc, this is you: http://twitter.com/#!/rocallahan ? [07:17:01.0000] <roc> yes [07:17:02.0000] <roc> but I have never tweeted [07:18:00.0000] <Ms2ger> Oh, I'm in good company :) [07:20:00.0000] <annevk> haha [07:29:00.0000] <karlcow> http://weblogs.mozillazine.org/roc/archives/2011/06/permissions_for.html [07:29:01.0000] <annevk> @WHATWG has almost five thousand people following [07:30:00.0000] <annevk> five thousand people following SVN changes to the HTML spec [07:31:00.0000] <hsivonen> annevk: and occasional blog post announcements [07:32:00.0000] <Philip`> Does "following" imply more than letting the updates drift past their eyeballs without reading? [07:32:01.0000] <Ms2ger> No [07:33:00.0000] <hsivonen> sigh. the following is now marked as an a11y and a11y_canvas bug: http://www.w3.org/Bugs/Public/show_bug.cgi?id=13096 [07:33:01.0000] <hsivonen> really? [07:33:02.0000] <karlcow> I follow @whatwg but I'm not reading it. [07:33:03.0000] <karlcow> followers number is meaningless [07:33:04.0000] <hsivonen> isn't that just asking for some API sugar for a special case? [07:33:05.0000] <hsivonen> karlcow: like version numbers [07:33:06.0000] <karlcow> mwahaha [07:33:07.0000] <Ms2ger> a11y is a meaningless keyword, aaik [07:33:08.0000] <karlcow> troll [07:33:09.0000] <Ms2ger> +f [07:34:00.0000] <karlcow> /me says hsivonen has spent too much time here. He was a lot less trollish 4 years ago :) Just plain direct. [07:35:00.0000] <Philip`> hsivonen: Sounds like the aim is to be an optimisation for a special case, more than API sugar [07:35:01.0000] <hsivonen> karlcow: you have an interesting view of what's trollish [07:35:02.0000] <karlcow> hsivonen: not only for trollish ;) [07:36:00.0000] <Philip`> (A likely very minor optimisation for a likely very rare special case, with no attempt at measuring whether the current performance is a problem or how much the optimisation could help) [07:36:01.0000] <annevk> perchance it's karlcow that changed? [07:36:02.0000] <annevk> calling me an idiot, hsivonen a troll [07:36:03.0000] <annevk> you never did that before [07:36:04.0000] <karlcow> still the same not understandable dreamer [07:36:05.0000] <karlcow> tss tss [07:37:00.0000] <karlcow> annevk: I said what you said was stupid. not that you were an idiot. [07:38:00.0000] <karlcow> I still think it was stupid, and I still think you are not an idiot, specifically because I tend to ignore completely idiot people [07:39:00.0000] <hsivonen> roc++ for speaking against the Android permission model on a planet.mozilla.org-syndicated post [07:43:00.0000] <zcorpan> /me is becoming increasingly disinterested in reading emails involving "canvas" and "accessibility" [07:43:01.0000] <hsivonen> roc: another thing that bothers me about both the Chrome and the Mozilla app manifests is the ability to have a path prefix for an app instead of requiring sites to mint a hostname per app [07:44:00.0000] <roc> say so [07:44:01.0000] <hsivonen> roc: trying to add path-based security to complex runtimes that are built with origin-based security in mind won't end well [07:44:02.0000] <roc> I haven't really followed it [07:44:03.0000] <roc> I agree [07:44:04.0000] <hsivonen> roc: what would be the right place to say so? I still have no clue where app manifest discussion is supposed to happen [07:45:00.0000] <roc> email the people and ask them [07:45:01.0000] <hsivonen> roc: ok [07:45:02.0000] <Ms2ger> zcorpan, are you suggesting you were interested before? [07:46:00.0000] <zcorpan> Ms2ger: no [07:46:01.0000] <karlcow> >Someone should do a study where they promote a simple game app which requests absurdly overbroad permissions, and see how many users download the game but reject it at the permissions screen. [07:46:02.0000] <karlcow> from http://weblogs.mozillazine.org/roc/archives/2011/06/permissions_for.html [07:46:03.0000] <zcorpan> Ms2ger: at first i was neutral to the subject and it went downhill from there [07:46:04.0000] <Ms2ger> I see [07:46:05.0000] <Ms2ger> I'm afraid I've never really been neutral [07:47:00.0000] <karlcow> hmm in fact I have the feeling that most people do not care. :( That is the sad part for having seen it people giving all their private information for a stupid contest marketing game with the likehood of winning the game sponsor baseball cap… I think it was a car brand. [07:51:00.0000] <annevk> hsivonen, you could start by a blog post [07:52:00.0000] <annevk> hsivonen, your last one reached a lot of people [07:52:01.0000] <annevk> this post from roc does too [07:52:02.0000] <annevk> blogging works reasonable well I think for arguing larger points [07:53:00.0000] <karlcow> roc: in the "Permissions In Context", do you include the case of the one-time permission. For example location, for this precise time I accept to share my location, but not the next time. [07:53:01.0000] <karlcow> or permission for a while, for the next hour you can access my location but not after [07:53:02.0000] <karlcow> or the opposite silencing a feature for a little bit. [07:53:03.0000] <roc> that's sort of orthogonal [07:54:00.0000] <roc> obviously if you require up-front permissions, you can't support that at all [07:54:01.0000] <karlcow> For example apps which cut the sound automagically when a video chat is coming [07:54:02.0000] <karlcow> ah ok, just talking about upfront [07:54:03.0000] <roc> if you support permission-on-demand, as I'm advocating, then user-agents can support that [07:55:00.0000] <roc> however [07:55:01.0000] <roc> *revoking* permissions is a bit hard; if you want to support revoking permissions while the app is running, that's a lot harder to handle robustly [07:56:00.0000] <hsivonen> hmm. maybe my path-based security concern has been resolved already [07:56:01.0000] <roc> cutting sound isn't really a permissions issue [07:56:02.0000] <hsivonen> the Chrome and Mozilla manifest drafts are really similar [07:56:03.0000] <hsivonen> it's a shame if Web authors end up having to write two isomorphic manifests with trivial name substitutions for fields [07:57:00.0000] <hsivonen> (of more than 2) [07:58:00.0000] <Ms2ger> Better than two non-isomorphic manifests, I guess [08:02:00.0000] <karlcow> "you don't want a site you sometimes use for teleconferencing to always be able to listen to you." :) I remember an experiment from a phone/device? vendor (not sure which one anymore) where people had volunteered for leaving the mic opened and the phone was adjusting its behavior depending on the sound environment [08:05:00.0000] <karlcow> not the same thing, but similar experiment of contextual settings based on monitoring your environment http://wi.hexagram.ca/?p=68 [08:08:00.0000] <hsivonen> roc: fwiw, I sent email about paths to a couple of people working on Web apps, though it seems to me it's a solved problem already [08:08:01.0000] <roc> good [08:13:00.0000] <annevk> sweet [08:13:01.0000] <annevk> WebKit implemented mutation events in a different way from Gecko [08:13:02.0000] <hsivonen> annevk: intentionally or unintentionally? [08:13:03.0000] <annevk> that means we can at least make some simplifications [08:14:00.0000] <hsivonen> annevk: what about Opera and IE9? [08:14:01.0000] <annevk> http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/1381.html [08:14:02.0000] <annevk> hsivonen, no idea, have not played with them yet [08:14:03.0000] <annevk> I am still hoping they can be removed as smaug wants [08:15:00.0000] <hsivonen> mutation events are unhappiness [08:15:01.0000] <richardschwerdtf> q+ [08:15:02.0000] <hsivonen> richardschwerdtf: wrong window? [08:15:03.0000] <richardschwerdtf> thanks henri [09:03:00.0000] <karlcow> mutation events sound like manic depressive [09:06:00.0000] <karlcow> http://www.bonkersworld.net/2011/06/27/organizational-charts/ [09:13:00.0000] <annevk> haha nice [09:17:00.0000] <annevk> sweet [09:17:01.0000] <annevk> it seems I don't have to pay to visit the states as I renewed just in time [09:18:00.0000] <annevk> I'm good until March 2012 [09:18:01.0000] <annevk> (still a silly system though) [09:18:02.0000] <_bga> lol i can finally post binary data w/o utf-8 convert :P [09:18:03.0000] <_bga> <form accept-charset="cp866" target='myframe'> [09:19:00.0000] <_bga> and convert binary data to cp866 [09:19:01.0000] <_bga> but still can not send \x00 [09:22:00.0000] <Philip`> That sounds mildly insane [09:22:01.0000] <Philip`> Is cp866 supported everywhere? [09:23:00.0000] <Philip`> Can't you just use application/x-www-form-urlencoded? [09:23:01.0000] <_bga> i dont want send triple size data [09:24:00.0000] <_bga> i dont know about how widely cp866 is supported [09:25:00.0000] <_bga> i hope - everywhere, else i will choose anotheк charset w/ 0-255 [09:52:00.0000] <annevk> http://lists.w3.org/Archives/Public/public-web-notification/2011Jun/0000.html [09:53:00.0000] <annevk> http://www.w3.org/TR/notifications/ still has the "problem" of depending on http://dev.w3.org/2006/webapi/WebNotifications/publish/FeaturePermissions.html but I am not sure how to avoid that [10:01:00.0000] <Hixie> annevk: why would you create a notification but not show it? [10:02:00.0000] <Hixie> annevk: also, an example suggests that notifications timing out should be done from script. That's bad for accessibility, where you don't want things timing out automatically since people with slower ability to consume content (e.g. because the screen reader hasn't gotten to it yet) will miss notifications. [10:03:00.0000] <Hixie> annevk: better imho to have a way to say whether a notification is ephemeral or should be kept until acknowledged, then let the OS decide what the former's timeout is [10:03:01.0000] <Hixie> annevk: (of course you still need .cancel(), but it would be only for when the notification is no longer useful, not for a timeout) [10:04:00.0000] <Hixie> annevk: as currently specced, it seems a notification can only be used once ("must be invoked after the "show" event" e.g. implies there's only ever one show event), which doesn't make sense if you do keep show() rather than changing it to autoshow the notification when it is created [10:05:00.0000] <Hixie> annevk: the API is defined in terms of event listeners being called, not in terms of events firing [10:06:00.0000] <Hixie> annevk: 'show' is defined to fire "at the point when the notification actually becomes visible to the user" which seems to contradict the next statement "the notification will never become visible before this event is dispatched" [10:07:00.0000] <Hixie> annevk: the spec should be rephrased in terms of a processing model, right now it's ambiguous in various ways: e.g. what happens if you change replaceId after calling show() to something that conflicts with an existing notification? [10:07:01.0000] <Hixie> annevk: not clear what "The dir attribute of the Notification interface has has all the properties of the dir attribute as defined in [HTML5]" means... does it mean it's a content attribute, e.g.? [10:08:00.0000] <Hixie> annevk: i recommend making that just self-defined instead of referring to the HTML spec [10:08:01.0000] <Hixie> annevk: "may ignore any markup in this string" doesn't make any sense. If I have a notification whose body is "Go to meeting about the <video> element", what should the notification say? [10:09:00.0000] <Hixie> annevk: oh, hm, there are processing models. They seem to conflict with other parts of the spec. [10:10:00.0000] <Hixie> annevk: is there somewhere to file bugs? there's no feedback form on the spec. I can send e-mail if you like. [10:23:00.0000] <othermaciej> Hixie: have you been in the loop on this components thing that dglazkov et al are working on? [10:23:01.0000] <Hixie> only vaguely [10:23:02.0000] <TabAtkins> othermaciej: I'm in the loop if you have questions. [10:24:00.0000] <othermaciej> it's not clear to me why they decided to throw out XBL2 entirely and start with something only tangentially related and which is obviously deficient in many ways [10:24:01.0000] <Hixie> is there a page documenting the use cases yet? that's the main feedback i've been giving [10:24:02.0000] <TabAtkins> I think Alex and Dimitri's last posts answered that. [10:24:03.0000] <TabAtkins> Hixie: Yes, there's been one for months. [10:24:04.0000] <Hixie> url? [10:24:05.0000] <othermaciej> there is a page that lists use cases, but nothing that relates their proposal to the use cases [10:25:00.0000] <TabAtkins> Hixie: http://wiki.whatwg.org/wiki/Component_Model_Use_Cases [10:25:01.0000] <othermaciej> (nor anything that explains why XBL2 would fail to meet them for that matter) [10:25:02.0000] <Hixie> TabAtkins: i meant, the use cases that are intended to be addressed by the proposal [10:25:03.0000] <othermaciej> in fact the proposal rather obviously fails to meet some of the listed use cases [10:25:04.0000] <Hixie> TabAtkins: also, those are not use cases [10:26:00.0000] <Hixie> TabAtkins: they are mostly design constraints [10:26:01.0000] <Hixie> TabAtkins: (aka requirements) [10:26:02.0000] <TabAtkins> Hixie: You're mostly right. The major use-case is represented by the widgets that every major UI library provides. [10:26:03.0000] <slightlyoff> I'm really warry of trying to cram an XBL2-shaped thing through an arbitrary use-case hole [10:26:04.0000] <othermaciej> in fact, since the proposed API can't bind controls, it fails to meet almost all of those use cases [10:26:05.0000] <slightlyoff> since most of the problems aren't "binding" related [10:26:06.0000] <slightlyoff> they're "is-a" relationship related [10:27:00.0000] <slightlyoff> and binding in the XBL sense only tangentially meets that, with really high conceptual overhead to boot [10:27:01.0000] <Hixie> TabAtkins: if the main use case is just widgets, xbl2, or something in the recent xbl2-adapted-for-html direction, seems sufficient [10:27:02.0000] <slightlyoff> but I'll address that in the public-webapps thread [10:28:00.0000] <Hixie> TabAtkins: (and has the advantage of being directly based on xbl used in mozilla for exactly that purpose for over a decade now) [10:28:01.0000] <TabAtkins> I defer to slightlyoff. [10:28:02.0000] <TabAtkins> And his emails. [10:28:03.0000] <othermaciej> from reading the use case page, it seems like almost none of them are met by the proposal [10:28:04.0000] <Hixie> slightlyoff: clearly nothing should be based on arbitrary use cases, but it's critical to good language design to know what problem one is solving before solving it [10:29:00.0000] <Hixie> slightlyoff: after all, how else can one evaluate one's proposal? [10:29:01.0000] <TabAtkins> slightlyoff: The post you made to webkit-dev is very good and should be sent to public-webapps. [10:29:02.0000] <othermaciej> I feel like what's happened is a list of use cases was presented, then a proposal was made that bears no obvious relationship to the list [10:29:03.0000] <Hixie> /me is still looking for use cases, rather than requirements [10:29:04.0000] <dglazkov> Hello folks! [10:29:05.0000] <slightlyoff> hey dglazkov [10:29:06.0000] <Hixie> hey dglazkov! [10:30:00.0000] <slightlyoff> othermaciej and Hixie are looking for use-cases [10:30:01.0000] <othermaciej> that's assuming we even accept those as use cases [10:30:02.0000] <othermaciej> I'm willing to provisionally accept them, whether you call them use cases or requirements [10:30:03.0000] <slightlyoff> so let me step back [10:30:04.0000] <slightlyoff> and present things like this: [10:30:05.0000] <othermaciej> what I'd like to see is an explanation of which ones the propose is intended to satisfy, and how it does so [10:30:06.0000] <slightlyoff> there is a series of problems that we *might* hve [10:30:07.0000] <slightlyoff> have [10:30:08.0000] <othermaciej> because it seems to meet almost none of these requirements [10:30:09.0000] <slightlyoff> and a set of problems that real web developers *do* have [10:30:10.0000] <slightlyoff> and they're paying dearly to get them solved [10:31:00.0000] <slightlyoff> mostly in the form of latency and complexity [10:31:01.0000] <slightlyoff> so clearly, they're valuable [10:31:02.0000] <slightlyoff> I have no interest in solving problems we might have [10:31:03.0000] <slightlyoff> only the ones we demonstrably do [10:31:04.0000] <slightlyoff> disagree? Ok, but those are my biases [10:31:05.0000] <Hixie> we should most definitely first address real problems, yes [10:32:00.0000] <slightlyoff> I also submit that we should be paying attention to the layering properties of the system [10:32:01.0000] <slightlyoff> as othermaciej is clearly pointing out [10:32:02.0000] <othermaciej> I think it would be more fruitful to discuss the specific list of those problems, ideally in the form of concrete use cases [10:32:03.0000] <Hixie> yeah [10:32:04.0000] <slightlyoff> so let me try to list them here quickly, and I can expand on-list in a bit [10:32:05.0000] <othermaciej> I see a lot of people saying that they care about the set of problems faced by "real web developers" but no clear statement of what those are, or what other kinds of problems are out of scope [10:33:00.0000] <othermaciej> put it in a wiki page ideally [10:33:01.0000] <othermaciej> it needs to be recorded persistently [10:33:02.0000] <slightlyoff> I can do that [10:33:03.0000] <othermaciej> apparently the page at http://wiki.whatwg.org/wiki/Component_Model_Use_Cases is not it [10:34:00.0000] <slightlyoff> 1.) custom UI control development [10:34:01.0000] <othermaciej> dglazkov: I sent you a reply about encapsulation but I can see I'll have to post more about this on public-webapps [10:34:02.0000] <slightlyoff> preferably with a view, constructed in HTML, CSS, and DOM that doesn't bleed through into the "visible" DOM [10:35:00.0000] <slightlyoff> 2.) declarative composition of custom controls with HTML markup [10:35:01.0000] <slightlyoff> 3.) secure "view" construction for built-in or security-sensitive controls [10:36:00.0000] <slightlyoff> #1 is the primary use-case, though [10:36:01.0000] <othermaciej> 2 and 3 are clearly failed by the current proposal [10:36:02.0000] <othermaciej> 1, it's hard to tell without more detail [10:36:03.0000] <slightlyoff> #3 can be accomidated with minor tweaks [10:36:04.0000] <slightlyoff> as for #2, what we've presented so far isn't complete [10:37:00.0000] <othermaciej> ah, We'll Add Security Later(tm) [10:37:01.0000] <slightlyoff> there's a "document.registerTag()" we haven't proposed yet [10:37:02.0000] <slightlyoff> no [10:37:03.0000] <slightlyoff> it's just part of the Element lifecycle [10:37:04.0000] <slightlyoff> and that isn't explained in the IDL [10:37:05.0000] <dglazkov> slightlyoff: he left [10:37:06.0000] <slightlyoff> (another reason that IDL blows for all of this) [10:38:00.0000] <dglazkov> I think there's a disconnect about iterative approach [10:38:01.0000] <dglazkov> including doubts on whether it's possible [10:44:00.0000] <dglazkov> hey othermaciej! welcome back [10:45:00.0000] <slightlyoff> othermaciej: as I was saying, we hope to explain the properties you're looking for based on describing the lifecycle of Elements and their subclasses [10:45:01.0000] <Hixie> if the problem we're solving is just making custom widgets, then why isn't xbl2 sufficient? [10:45:02.0000] <slightlyoff> such that you get a chance in the context of "new MyElementType" to either tack the shadow onto the public side of the object, or not, holding it inside closures and squirreling it away for private use [10:46:00.0000] <othermaciej> all I'm really looking for is: [10:46:01.0000] <othermaciej> - list of use cases, ideally backed up with very concrete examples, not just vague high-level statements [10:46:02.0000] <othermaciej> - explanation of which use cases the proposal even intends to address, and which will possibly be addressed later [10:46:03.0000] <slightlyoff> happy to produce that [10:46:04.0000] <othermaciej> - explanation of how the proposal satisfies the use cases it is intended to address [10:46:05.0000] <othermaciej> it's hard to even have a conversation without these things [10:47:00.0000] <slightlyoff> OK [10:47:01.0000] <othermaciej> I mean, I can't even really argue with the current use case list on the whatwg wiki, but I don't know how to use it to discuss the proposal [10:47:02.0000] <slightlyoff> I would like to ask for some forebearance in NOT describing possible solutions in IDL, though [10:48:00.0000] <slightlyoff> it's jaundices the conversation [10:49:00.0000] <othermaciej> dglazkov started it [10:49:01.0000] <slightlyoff> heh [10:49:02.0000] <slightlyoff> OK [10:49:03.0000] <othermaciej> and when I objected to his proposal-in-the-form-of-IDL, he asked me to propose a concrete alternative [10:50:00.0000] <othermaciej> I will note that I am in no way wedded to what I proposed, I think it still fails to provide many important things, such as defining components declaratively, binding components declaratively, and multiple bindings [10:50:01.0000] <othermaciej> but it at least shows (I hope) that the encapsulation problem is easy to solve without adding significant complexity [10:51:00.0000] <slightlyoff> yes, I think encapsulation is both important and tractable, but I don't agree that the strong form of it is going to be the common case [10:51:01.0000] <dglazkov> othermaciej: sent a respoonse. [10:51:02.0000] <slightlyoff> anyhow, something to debate once we have a shorter, more concrete use-case doc [10:52:00.0000] <dglazkov> slightlyoff: let's use the current use cases page. We shouldn't have more than one [10:52:01.0000] <slightlyoff> alrighty [10:52:02.0000] <slightlyoff> will slash/burn [10:52:03.0000] <dglazkov> slightlyoff: sure thing :) [10:53:00.0000] <Hixie> the widl checker is now telling me "Interface HTMLAllCollection is defined as a caller operation, but caller should be reserved to specify legacy APIs" [10:53:01.0000] <Hixie> man if HTMLAllCollection doesn't count as a legacy API, I dunno what would [10:54:00.0000] <othermaciej> dglazkov: I'm disappointed that you did not address the benefits I listed for my proposal [10:55:00.0000] <othermaciej> and dismissed it with handwaving about "we need to compose from smaller parts" when it's actually only trivially more complex than your proposal, and arguably no more complex than your "add a boolean flag" proposal [10:55:01.0000] <dglazkov> othermaciej: I didn't dismiss your proposal! I don't hate it. It's pretty much (aside from multiple bindings) the same thing I came up with [10:56:00.0000] <slightlyoff> ok, have to run to another thing. Will post use-cases and a response to othermaciej's post soon-ish [10:57:00.0000] <othermaciej> dglazkov: did you read my list of stated benefits relative to your proposal? do you think it is false? [10:57:01.0000] <othermaciej> I don't feel like "we considered something like this before and rejected it" really addresses those points [10:58:00.0000] <dglazkov> othermaciej: yep, I did. Let me expand in a response. [10:59:00.0000] <othermaciej> I feel like those benefits are a lot more specific than "compose from small pieces", in fact I think my proposal splits into smaller pieces by separating the act of creating a component from the act of binding [11:00:00.0000] <dglazkov> othermaciej: right -- and mine goes for an even smaller chunk -- there's no notion of component yet [11:01:00.0000] <dglazkov> othermaciej: I guess what I am saying is that your proposal (aside from multiple bindings) is simply a superset of mine. [11:01:01.0000] <dglazkov> othermaciej: and we're only arguing on whether to land it incrementally or altogether [11:01:02.0000] <othermaciej> it's actually not a superset [11:02:00.0000] <dglazkov> oh? [11:02:01.0000] <othermaciej> it includes some common elements (deliberately because I tried to make it as similar as possible) [11:02:02.0000] <othermaciej> but it separates the act of creating a component from the act of binding an instance of it to an element [11:02:03.0000] <othermaciej> in yours, these are both served by "just poke directly at the shadow DOM" [11:02:04.0000] <dglazkov> othermaciej: that's because it's the underlying machinery [11:02:05.0000] <othermaciej> my proposal is deliberately higher level and omits the ability to poke directly at the shadow DOM [11:03:00.0000] <othermaciej> yes, my proposal is to not expose that underlying machinery directly [11:04:00.0000] <dglazkov> othermaciej: you still expose it, just not allow access to it once a component is bound [11:04:01.0000] <othermaciej> I am in a meeting now so can't talk further [11:04:02.0000] <dglazkov> no worries. I'll respond in an email [11:04:03.0000] <othermaciej> but I also feel like we are talking past each other and this conversation is quite possibly fruitless [11:09:00.0000] <dglazkov> othermaciej: I hope not! I am grateful that we have this discussion and have all intentions of reaching consensus. [11:11:00.0000] <smaug____> /me hasn't yet understood quite understood the reason for shadow DOM (if XBL2 is supported) [11:11:01.0000] <smaug____> -understood [11:37:00.0000] <jamesr> smaug____: in a world where XBL2 is supported, perhaps. we aren't in such a world [11:38:00.0000] <Hixie> right now nothing's supported :-)\ [11:42:00.0000] <dglazkov> smaug____: shadow DOM is part of XBL2 [11:45:00.0000] <smaug____> dglazkov: yeah [11:46:00.0000] <smaug____> but IIRC, XBL2 doesn't expose it in the same way to outside [12:17:00.0000] <matjas> annevk: what’s the expected behavior when the user triple-clicks “lolwut” in this example? <p>foo<i contenteditable>lolwut</i> [12:17:01.0000] <matjas> WebKit and IE seem to select only the editable text (which is what I would expect), but Opera and Fx select the entire paragraph [12:18:00.0000] <matjas> (Asking because of https://bugzilla.mozilla.org/show_bug.cgi?id=389348#c3) [12:18:01.0000] <jcranmer> Time for today's funnies: [12:19:00.0000] <jcranmer> "The problem is that not all browsers support HTML5. Why? Because it is not finalized yet." [12:19:01.0000] <AryehGregor> matjas, IIRC, some browsers don't allow a single user-created selection to be partially within contenteditable and partially outside. [12:19:02.0000] <AryehGregor> Just like you can't have a selection partly in a textarea and partly outside. [12:19:03.0000] <AryehGregor> It's something I've thought about maybe speccing. [12:20:00.0000] <matjas> AryehGregor: so currently the spec doesn’t say anything about this? [12:20:01.0000] <AryehGregor> It would actually simplify things if I could assume that a selection must be either wholly editable or not. But it doesn't have huge interop implications, so maybe it doesn't need to happen. [12:20:02.0000] <AryehGregor> No. [12:20:03.0000] <AryehGregor> UAs can make whatever selections they want. [12:20:04.0000] <matjas> The WebKit/IE behavior definitely feels the most natural to me [12:29:00.0000] <AryehGregor> It's also not obvious to the user what happens if they have some editable text selected and some non-editable text, and they hit delete or such. [12:29:01.0000] <AryehGregor> IIRC, I've specced that the non-editable part of the selection is ignored, so it's the same as if you just didn't select that part, but some browsers will refuse to do the delete. [12:33:00.0000] <zewt> sure is neat that gmail is now going WARNING WARNING PHISHING for random legit emails [12:33:01.0000] <zewt> nothing like false positives to train users to ignore warnings [12:34:00.0000] <zewt> This message may not have been sent by: timeless⊙gc [12:38:00.0000] <zewt> heh, i wonder if gmail deliberately opens mails on mousedown instead of click to make it seem more responsive [12:38:01.0000] <zewt> that's a little dumb, but it'd make sense to start prefetching on mousedown [12:43:00.0000] <TabAtkins> Some product starts prefetching entire websites on mouseover, because most people hover over links between .2s and .5s, minimum, which is a significant chunk of most site's loading times. [12:43:01.0000] <zewt> that's pretty ugly; I tend to hover over things when skimming, not just when I'm going to click [12:43:02.0000] <TabAtkins> That just means you'll burn a little extra processor power, is all. [12:43:03.0000] <TabAtkins> And since you're *not* navigating at the time, just reading, that's mostly wasted power anyway. [12:44:00.0000] <zewt> the animated/glowy "+1" nonsense on google search is driving me insane, since it causes constant glowing in my peripheral vision every time I read search results [12:44:01.0000] <The_8472> then... apply a userstyle! [12:44:02.0000] <zewt> and have to change it every time the css obfuscation changes? lots of fun [12:45:00.0000] <The_8472> use blunt tools [12:45:01.0000] <zewt> can't even block the image itself, since it's part of a big sprite table [12:45:02.0000] <_bga> zewt just enable "Hight Contrast B/W" in opera :P [12:46:00.0000] <zewt> i used opera ... once upon a time :P [12:46:01.0000] <The_8472> btw, what +1 thing are you talking about? [12:46:02.0000] <AryehGregor> TabAtkins, you're wasting network usage here, not just CPU power. Wasting network usage is a problem because it hurts other people. [12:47:00.0000] <The_8472> because i don't have it my google results [12:47:01.0000] <TabAtkins> AryehGregor: Slightly, yes. [12:47:02.0000] <zewt> the: http://i.imgur.com/1nfZR.png [12:48:00.0000] <_bga> zewt btw * { transition: none } in userstyle will solve problem [12:48:01.0000] <The_8472> <The_8472> use blunt tools <- [12:48:02.0000] <_bga> or blocking one js script [12:48:03.0000] <zewt> google scripts aren't exactly easy to block, heh [12:49:00.0000] <zewt> short of blocking everything, of course [12:51:00.0000] <zewt> fyi, it's a plain javascript animation, not a CSS transition [12:55:00.0000] <_bga> zewt js is disabled in my opera by default. I dont see "nice" animations and effects :) [12:55:01.0000] <zewt> i'd prefer not to break 90% of websites [12:55:02.0000] <zewt> heh [12:55:03.0000] <zewt> i disabled JS for as long as I could, but it's not feasible in 2011 [12:57:00.0000] <dglazkov> othermaciej: I writed a letter! [12:59:00.0000] <zewt> i dream of the day firefox stops copying alt texts into the clipboard [12:59:01.0000] <zewt> there must be some obscure setting to fix that... [13:00:00.0000] <The_8472> isn't that correct behavior? if images cannot be displayed their alt text should be [13:00:01.0000] <zewt> it's incorrect for real world use, so no [13:00:02.0000] <The_8472> if you consider copying into a text-only medium as a form of "displaying" it... [13:00:03.0000] <zewt> all it ever does is result in copying stuff the user doesn't want and then has to edit out [13:01:00.0000] <zewt> copying alt text to the clipboard is putting theory above practice; in practice, it just doesn't work at all [13:01:01.0000] <AryehGregor> /me manually inserts RLMs into his e-mail so the rendering isn't wrecked up by the UBA [13:01:02.0000] <AryehGregor> zewt, depends on what the alt text is. [13:02:00.0000] <AryehGregor> If it's a smilie on a forum, and the alt text is the code used to create the smilie, copying the alt text is perfect. [13:02:01.0000] <zewt> AryehGregor: sure, copying the text is getting it right for 1% at the expense of getting it wrong for 99% [13:02:02.0000] <AryehGregor> The problem is really that most alt text is braindead. [13:03:00.0000] <The_8472> you could use a userscript that strips out alt text on selection events and reinserts them on deselection! [13:03:01.0000] <zewt> what could possibly go wrong :P [13:05:00.0000] <zewt> at least ff4 fixed hidden text being copied--that was much worse [13:22:00.0000] <annevk> Hixie, please email public-web-notification⊙wo; that'd be awesome [13:23:00.0000] <annevk> Hixie, the "may ignore markup" issue is known [13:24:00.0000] <Hixie> k [13:27:00.0000] <annevk> matjas, that is UI [13:28:00.0000] <jamesr> new way to win your argument about canvas AX: call other people "dumb as concrete" [13:28:01.0000] <Hixie> annevk: why is http://dev.w3.org/2006/webapi/WebNotifications/#idl-if-Notification empty? [13:30:00.0000] <The_8472> concrete isn't that dumb. it just supports everything, regardless of merit. [13:30:01.0000] <Hixie> jamesr: i really don't understand why anyone is taking part in that discussion [13:31:00.0000] <annevk> Hixie, the editor's draft is kind of buggy I believe [13:31:01.0000] <annevk> Hixie, the TR/ draft is actually the last copy here [13:32:00.0000] <Hixie> which editor's draft? the w3c one or the whatwg one? the w3c one is self-contradictory and bogus [13:32:01.0000] <jamesr> Hixie: well at one point it seemed like he was intending to file a formal objection (presumably on IBM's behalf) on canvas being included in the w3c html spec [13:32:02.0000] <Hixie> jamesr: sounds good to me! [13:32:03.0000] <Hixie> (the whatwg one has accessibility APIs that multiple browser vendors have suggested is implementable, unlike the w3c one) [13:32:04.0000] <jamesr> yeah i had a feeling you wouldn't mind that too much :P [13:33:00.0000] <Hixie> not like formal objections do anything [13:33:01.0000] <jamesr> it spawned a near centi-thread on www-style [13:33:02.0000] <Philip`> If people don't take part, I imagine some oddly-designed feature could be created and then find its way into the W3C spec via the decision process, and then everyone would waste their time either implementing or arguing about or learning to ignore it, and any problems the feature was attempting to solve still wouldn't be solved [13:34:00.0000] <Philip`> so it'd be possibly beneficial to influence things in a positive direction earlier on [13:34:01.0000] <jamesr> i think that's already happened [13:34:02.0000] <jamesr> at least once [13:34:03.0000] <jamesr> hence the focus ring fork [13:34:04.0000] <jamesr> it's a problem worth solving, though [13:34:05.0000] <Hixie> Philip`: the w3c spec is unimplementable. it literally contradicts itself. so anyone following that is doomed anyway. [13:34:06.0000] <jamesr> apparently not in that venue, however [13:35:00.0000] <Philip`> The sun will explode eventually so we're all doomed anyway, but we should try to make people slightly less doomed when possible [13:36:00.0000] <annevk> Hixie, there's a WHATWG draft for web notifications? [13:36:01.0000] <The_8472> <Philip`> The sun will explode eventually so we're all doomed anyway <- plenty of time to build a space elevator&co [13:36:02.0000] <Hixie> Philip`: the sun exploding will happen far in the future. Someone following the W3C copy is doomed today. [13:36:03.0000] <annevk> Hixie, I'm saying you want to review http://www.w3.org/TR/notifications/ if anything [13:36:04.0000] <Hixie> annevk: oh you meant the notifications editors draft is buggy. I thought you meant the canvas one. [13:37:00.0000] <Hixie> annevk: ok new bug with the notifications thing: please can there be a permanent URL with the latest stuff. [13:37:01.0000] <annevk> Hixie, also email [13:37:02.0000] <Hixie> k [13:37:03.0000] <annevk> Hixie, you need to do some editor's class at Google [13:37:04.0000] <annevk> Hixie, editors* [13:37:05.0000] <Hixie> would that i have the time [13:37:06.0000] <annevk> Hixie, because this guy is from Google, but MikeSmith had a bunch of trouble getting it ready for publication [13:38:00.0000] <annevk> Hixie, he's using some ancient version of ReSpec [13:38:01.0000] <Hixie> i tell everyone to use html [13:38:02.0000] <Hixie> not much i can do if they don't :-) [15:01:00.0000] <dglazkov> damn running out of steam debating this component model stuff [15:01:01.0000] <dglazkov> I really am not a spec wonk [15:02:00.0000] <dglazkov> I'd rather write code [15:02:01.0000] <dglazkov> /me whines [15:02:02.0000] <jamesr> but what code do you plan to write? [15:02:03.0000] <jamesr> that's the question [15:03:00.0000] <dglazkov> pretty code, of course [15:03:01.0000] <jamesr> but what will it _do_ [15:03:02.0000] <dglazkov> awesome stuff, naturally [15:03:03.0000] <dglazkov> oh noes [15:03:04.0000] <dglazkov> he's gonna ask for use cases next [15:03:05.0000] <dglazkov> jamesr, don't you dare [15:04:00.0000] <TabAtkins> Hehe. [15:04:01.0000] <jamesr> i want a juice case [15:04:02.0000] <jamesr> and some pretzels [15:04:03.0000] <dglazkov> you sound like othermaciej :P [15:05:00.0000] <TabAtkins> othermaciej just wants intimate relationships. ^_^ [15:05:01.0000] <dglazkov> hey, those are pretty nice. [15:08:00.0000] <bga_> hm [15:08:01.0000] <karlcow> until they become promiscuous or platonic [15:09:00.0000] <bga_> domevents isnt fired during dom load [15:09:01.0000] <bga_> :( [15:09:02.0000] <TabAtkins> jamesr: I'm sorry I'm dumb as concrete. I try. ;_; [15:10:00.0000] <richardschwerdtf> you can't help it [15:11:00.0000] <jamesr> TabAtkins: at least you normally aren't a complete dick on public mailing lists [15:11:01.0000] <TabAtkins> I do have that, at least. (I save that for private emails that are then shared publicly.) [15:11:02.0000] <bga_> is there other way to catch dom node after load but before draw except put <script> after node or poll dom? [15:12:00.0000] <bga_> task: avoid double draw [15:12:01.0000] <jamesr> double draw? what do you mean exactly? [15:12:02.0000] <richardschwerdtf> TabAtkins: No you publicly waste people's time. [15:12:03.0000] <bga_> pure and with applied widget [15:13:00.0000] <jamesr> bga_: so you want to do something to a DOM node after it's loaded but before it draws? [15:13:01.0000] <bga_> extractly [15:13:02.0000] <bga_> jamesr, change dom [15:13:03.0000] <bga_> but before draw [15:13:04.0000] <jamesr> are you trying to use mutation events? [15:14:00.0000] <bga_> yeah [15:14:01.0000] <jamesr> this seems very relevant to that mutation events thread on webapps [15:14:02.0000] <bga_> but its not fired [15:15:00.0000] <bga_> nor in webkit nor in gecko [15:16:00.0000] <jamesr> yeah that's an issue [15:17:00.0000] <jamesr> bga_: but you should chime in to that thread with your use case [15:17:01.0000] <jamesr> one problem is that the currently specified dom mutation events are way too heavyweight to fire during main resource parsing [15:18:00.0000] <The_8472> can't they be scoped with selectors or something? [15:22:00.0000] <bga_> The_8472 yeah. Task is catch only nodes with specific attribute, not all nodes [15:22:01.0000] <jamesr> that doesn't help as much with the efficiency issues as you might think it would [15:24:00.0000] <The_8472> even if we would restrict it to level 2 selectors? [15:26:00.0000] <The_8472> but yeah... i guess the call overhead alone could eat quite some performance [15:27:00.0000] <jamesr> also if it's a DOM event then you have to calculate the propagation chain and all that gunk [15:27:01.0000] <jamesr> the callback-not-event proposals help there [15:28:00.0000] <The_8472> considering that it would already have scoping the event propagation would be quite redundant imo [15:28:01.0000] <jamesr> still have to spend CPU calculating the propagation chain [16:18:00.0000] <boblet> AryehGregor: re: your reply on blockquote/footer, I don’t understand “This means it's tied to the nearest <section> or <article> or such. It's not supposed to be specifically related to any other type of ancestor, like <blockquote>.” blockquote is a sectioning root element… [16:21:00.0000] <Hixie> boblet: why do you want to have the footer in the blockquote? [16:22:00.0000] <boblet> Hixie: to include attribution about the block quote… [16:24:00.0000] <boblet> Hixie: why in specifically rather than in surrounding prose: CSS styling, pre-HTML5 pattern, ‘logical’ association, and that seems a cromulent use of footer according to “A footer typically contains information about its section” [16:24:01.0000] <Hixie> CSS styling is the only one of those that seems like a real reason (as opposed to "i want to") [16:24:02.0000] <Hixie> what kind of styling do you want to do? [16:25:00.0000] <TabAtkins> Presumably throw a border around the whole blockquote. [16:25:01.0000] <boblet> It’s common for blockquote attribution to appear as part of the block quote. Common styles for block quotes include indenting (default), a different background color, or a left border. On HTML5 Doctor we use a border and box-shadow. If the attribution is outside the blockquote, making the styles match is annoying, requiring a class for eg indent, or a wrapper div for eg box-shadow. [16:26:00.0000] <erlehmann> cromulent. [16:26:01.0000] <erlehmann> wat [16:27:00.0000] <TabAtkins> http://www.google.com/webhp?q=define%3Acromulent [16:27:01.0000] <boblet> erlehmann: http://html5doctor.com/ruby-rt-rp-element/#en ;) [16:29:00.0000] <Hixie> boblet: just wrap the blockquote and attribution in a div, and style that :-) [16:29:01.0000] <erlehmann> then do microdata magic to connect it? [16:30:00.0000] <erlehmann> TabAtkins, boblet, intredasting. [16:32:00.0000] <Hixie> erlehmann: why? what problem would that solve? [16:32:01.0000] <boblet> Hixie: that’s possible, and one of the pre-HTML5 patterns I found. but I’d still argue that it’s annoying to do so. using footer seems much cleaner, fits the usage pattern of footer, and blockquote is a sectioning root element… [16:33:00.0000] <TabAtkins> Hixie: <footer>s are attached to the nearest ancestor section, thus *not* the preceding blockquote sibling. [16:33:01.0000] <erlehmann> Hixie, so it is known that it is an attribution? [16:33:02.0000] <Hixie> using footer here doesn't seem like it solves any problems [16:33:03.0000] <Hixie> just use <p> [16:33:04.0000] <boblet> I should mention that I’m not expecting any special implementor behaviour associated with this [16:33:05.0000] <Hixie> <div><blockquote>...</blockquote> <p>&mdash; ...</p></div> is what i do, works fine [16:34:00.0000] <erlehmann> boblet, what if you want to quote a footer? HA! :D [16:35:00.0000] <boblet> erlehmann: a footer just contains information about its section. There’s no restriction on having two footers in a sectioning element, so there’s no problem with quoting a footer and then having attribution in another footer. And if the block quote includes content and a footer, then the footer will still refer to the content, regardless of whether it is quoted or contains attribution [16:35:01.0000] <Hixie> ok i'm checking http://www.whatwg.org/specs/web-apps/current-work/complete.html#stream-api in shortly, first chance to tell me i'm off in the weeds :-) [16:37:00.0000] <boblet> Hixie: why *not* use footer, given blockquote is a sectioning root element? [16:37:01.0000] <Hixie> because you're not quoting a footer [16:37:02.0000] <boblet> but the footer is providing information about the section, in this case the blockquote’s content [16:39:00.0000] <Hixie> boblet: but you're not quoting it [16:40:00.0000] <boblet> Hixie: also, doesn’t that mean you’d need to change footer’s current definition so that it’s not allowed in blockquote (unless it’s being quoted)? [16:40:01.0000] <erlehmann> i like how hixie is just letting that flow. [16:40:02.0000] <erlehmann> against a wall :) [16:41:00.0000] <boblet> erlehmann: you’re not helping :p [16:41:01.0000] <Hixie> boblet: that is already its definition [16:41:02.0000] <Hixie> boblet: by definition, nothing in blockquote is allowed unless it's being quoted, since the meaning of blockquote is "this is being quoted" and you're not allowed to use elements that violate their meaning [16:41:03.0000] <erlehmann> i second that motion. [16:41:04.0000] <zewt> /me squints trying to read weirdly-rendered sentence with five quotostrophies [16:42:00.0000] <erlehmann> zewt, how are people styling that? do they use different quotes beyond single-and-double-quotes? [16:43:00.0000] <boblet> so what’s the logic behind figcaption, vs wrapping figure in div and adding a caption in a paragraph? [16:43:01.0000] <zewt> ' :) [16:43:02.0000] <boblet> zewt: wow, 5 levels of quotation is pretty rare [16:43:03.0000] <boogyman> boblet: the latter doesn't doesn't offer the same context [16:43:04.0000] <zewt> erlehmann: oh, you mean the glyph itself? [16:44:00.0000] <zewt> many fonts have different glyphs for close-single-quote and apostrophe, and using the former for the latter looks strange [16:44:01.0000] <erlehmann> boblet, http://schema.org/CreativeWork can have an author. if you wish to include attribution, why not use microdata? [16:44:02.0000] <boblet> boogyman: what do you mean by context? [16:45:00.0000] <boogyman> boblet: how a user-agent processing and understands the relation of two or more elements [16:46:00.0000] <zewt> erlehmann: http://i.imgur.com/pmBiJ.png it's an extreme example (crappy font I'm in at the moment), but it happens in more common, proportional fonts as well [16:46:01.0000] <boogyman> a <div><p> provides no context, as it is a general "wrapper" where a <figure><figcaption> creates a relationship between the two "objects" [16:46:02.0000] <boblet> erlehmann: sure, it’s possible to use microdata (or microformats or RDFa) to indicate an author as mentioned in http://html5doctor.com/blockquote-q-cite/ [16:47:00.0000] <zewt> (enough that it sticks out and looks weird) [16:47:01.0000] <erlehmann> zewt, i reject your font and substitute my own. [16:47:02.0000] <erlehmann> fun fact: i use droid sans for interfaces :) [16:47:03.0000] <boblet> zewt: youd prefer txtspeak? [16:47:04.0000] <zewt> erlehmann: for that font, fair enough :) my client isn't smart enough with fonts so I have it in a fugly japanese font for some channels [16:48:00.0000] <erlehmann> boblet, Y U NO TXTSPK? [16:48:01.0000] <erlehmann> :B [16:48:02.0000] <boblet> boogyman: same logic to my argument for using footer in blockquote [16:49:00.0000] <boblet> erlehmann: “”‘’ are on my keyboard… why not [16:49:01.0000] <erlehmann> nifty tables there on html5doctor [16:50:00.0000] <erlehmann> boblet, i use neo2 and have even more characters! „“”‚‘’⟨⟩»«›‹ [16:50:01.0000] <erlehmann> but i mostly use „“ and ‚‘ (german) [16:51:00.0000] <erlehmann> CSS styling quotes is rad :) [16:57:00.0000] <boblet> Hixie: another styling issue with your idea — I’d have to always use a wrapping div, even for blockquotes with no attribution, or hang the styles on a class and apply that to div (for attribution case) or blockquote (for no attrib case) [16:58:00.0000] <boblet> alternatively if I wanted to just use straight blockquote (no class) when there’s no attribution, I’d need to overwrite all the blockquote styles if there’s a parent div class="blockquote" [16:59:00.0000] <Hixie> :not(div.bq) > blockquote { }