2013-03-01 [16:00:14.0000] where "back up" will mean that the same condition (A, B, etc) will be true again when you go to mode 2, and otherwise it's the next character that's processed [17:01:44.0000] Well, the two as you wrote them out aren't equivalent, since A will mean that Y gets done twice... [17:14:54.0000] Hixie, the as-if clause means that defining an inefficient algorithm in a spec isn't a problem [17:15:04.0000] assuming that the same results can be reached by a more efficient algorithm [17:15:07.0000] and spec implementors realize this fact [17:15:50.0000] but it sounds like your problem is figuring out what behavior you actually want [00:41:37.0000] when has Web Sockets been changed incompatible for the last time? Are more incompatible changes coming up? which browsers implement the spec? [00:41:49.0000] Is Safari still on an ancient version? [00:44:33.0000] hsivonen: AFAIK there aren't incompatible changes planned [00:44:40.0000] At least it has an RFC now [00:45:16.0000] I don't exactly know which browsers implement the spec, but it should be easy to test [00:45:41.0000] http://autobahn.ws/testsuite tests the protocol layer [00:46:22.0000] https://developer.mozilla.org/en-US/docs/WebSockets says all browsers implement the RFC in the latest releases [00:47:28.0000] http://w3c-test.org/webapps/WebSockets/tests/ has API tests; the Microsoft ones aren't that great and the Opera ones aren't all converted to testharness yet [00:47:46.0000] But happily I don't have anything better to do at the weekend [00:47:59.0000] Scare quotes implied [00:48:57.0000] (on the subject of which, is there a sync way to perform a request that will (un)set a cookie?) [00:48:59.0000] I find it fascinating that someone wants to use a non-standard Gecko-specific feature but is not OK with using Web Socket, because it is in "BETA" [00:49:18.0000] hsivonen: huh? [00:50:33.0000] jgraham: you encounter interesting people when trying to remove engine-specific features that have bad maintainability characteristics [00:50:51.0000] jgraham: we're trying to remove Gecko XMLHttpRequest multipart [00:51:10.0000] /me goes to work [00:51:10.0000] I'm sure the move to WebKit will result in people with Opera-dependent intranets complaining [00:51:56.0000] /me is officially back in business [00:52:06.0000] Yay! [00:53:01.0000] /me has never actually heard of an Opera-dependent intranet [00:53:24.0000] Of course, there's lots of things that I haven't heard of that nevertheless exist… [00:55:10.0000] jgraham: and for all those years chaals always got upset when something I said had a slighly intranet-dismissive sentiment [00:55:10.0000] zcorpan: I don't suppose that means that you have time to release (y)our postMessage tests? ;) [00:55:44.0000] jgraham: anyway, I wasn't aware that someone would have an intranet app dependent on an encoding label not supported by IE [00:55:55.0000] jgraham: i'd like to get things set up on my new laptop first [00:56:54.0000] zcorpan: Sure :) I just did a double take the other day when I realised they had never been released. If you don't get around to it I'm sure I will one of these days [00:57:18.0000] hsivonen: Maybe Charles knows things I don't know? [00:57:25.0000] nice [00:58:31.0000] /me chuckles at "Opera-dependent intranets"... but who knows... [00:59:13.0000] To be fair, I'm sure there exist presto-dependent non-web environments [00:59:58.0000] I was thinking there was probably some, maybe in the countries where Opera has a high uptake [01:00:23.0000] I remember when I was at Opera, the time tracking application would only work well with FireFox for a while :) [01:00:47.0000] "work well" [01:01:13.0000] jgraham: you no like how I talks? :) [01:01:37.0000] I dislike your attention to scare quotes [01:01:55.0000] fair enough [01:07:43.0000] pretty cool how video stuff can work with FourCCs instead of namespace URIs [01:08:16.0000] I wonder if there's a mapping from FourCCs to RDF URIs. You know, to make them less prone to collision. [01:10:08.0000] http://www.fourcc.org/namespace/four-character-code/D/A/V/C would clearly be superior to 'DAVC' [01:10:39.0000] othermaciej: no year in URI!!! [01:12:24.0000] pardon, http://www.fourcc.org/namespace/1984/four-character-code/D/A/V/C [01:17:21.0000] Hmm, "1984" in a video codec namespace URI makes me think of "video watches you" type jokes [01:18:46.0000] That'd be good since you could easily extend it to http://www.fourcc.org/namespace/1984/five-character-code/D/A/V/C/E etc if you start running out of four-character strings [01:20:22.0000] (Obviously fivecc.org would have been registered by some domain parking spammer so it'd be best to stick with the old domain) [01:22:16.0000] (and updating the year would just cause confusion) [01:23:54.0000] I bet there's text/html where the year in xmlns has been updated to the year of document authoring [01:24:51.0000] Resource with origin A initiates a request to another resource on origin A. That redirects to B. What is the value of the Origin header? [01:25:19.0000] http://devfiles.myopera.com/articles/591/nsnamelist-url.htm has some http://www.w3.org/2006/xhtml [01:25:30.0000] Also some http://www.w3.org/1999/xphp [01:28:58.0000] annevk: surely the Origin should be A? [01:29:15.0000] (not sure why that case would be ambiguous) [01:29:20.0000] othermaciej: but if B redirects to C it should be "null" [01:29:46.0000] othermaciej: but yeah, the origin didn't change, so it can remain the same [01:29:50.0000] my bad [01:30:43.0000] where is the Origin header spec'd, officially? [01:31:59.0000] is CORS the only spec? has the idea of sending Origin more widely than that been abandoned? [01:33:05.0000] https://tools.ietf.org/html/rfc6454 and HTML and CORS both define the requirements. [01:33:36.0000] My plan is to write Fetch which takes everything from CORS and HTML and will handle all those networking requirements. Well, at least those related to fetching resources. [01:33:42.0000] for some reason I was only able to find the Internet-Draft, not the RFC [01:35:38.0000] It's actually not a plan anymore, I'm writing a draft... [01:37:14.0000] Still kind of a plan unless you have actually achieved all the listed goals [01:38:20.0000] Ah yeah, that is still the plan. But I'm a bit further than planning. [02:17:48.0000] jgraham: those websockets binary/ tests fail for me in Chrome [02:17:57.0000] though they pass everywhere else [02:18:04.0000] well except I don't know about IE [02:18:28.0000] but maybe they are failing for Ken in IE for the same reason they fail for me in Chrome [02:18:42.0000] oh wait [02:18:45.0000] weired [02:19:16.0000] nm [02:19:37.0000] they fail for me in Chromium that I built myself [02:20:04.0000] but they pass in Canary [02:20:32.0000] so I guess there's just something wrong in my build [02:24:18.0000] MikeSmith: WFM in chrome [02:24:30.0000] yeah [02:25:48.0000] I guess I should test stuff first in browsers I haven't made hacks to [02:26:54.0000] That sounds very boring [02:27:25.0000] I need a personal bug tracker [02:27:29.0000] so mountain lion should have hg preinstalled? -bash: hg: command not found [02:27:41.0000] so I can harrass myself with bug reports [02:27:58.0000] zcorpan_: I think it has git but not hg [02:28:05.0000] zcorpan_: I don't think so... Not even with XCode afaik [02:28:13.0000] yeah [02:28:14.0000] oh, Xcode [02:28:22.0000] ok [02:31:39.0000] man this is weird, the error I'm getting is "SyntaxError: DOM Exception 12(stack: Error: An invalid or illegal string was specified. at Object. (file:///opt/workspace/webapps/WebSockets/tests/submissions/Opera/binary/002.html:9:12" [02:33:21.0000] 002.html:9:12 is the word "new" [02:35:31.0000] for html5lib should i clone and run `python setup.py develop` or just `python setup.py`? [02:35:54.0000] gsnedders, ^ [02:44:05.0000] oh I didn't realize John Luther came from On2 [02:44:13.0000] makes sense [02:44:58.0000] WebM/VP8|9 PM at Google [03:06:02.0000] I like this: https://twitter.com/joeyheflich/status/307224956050235394 [03:27:46.0000] ok looks like i've got anolis running now. time for lunch [03:29:43.0000] why are " [03:30:26.0000] why are "x-dns-prefetch-control" and "X-UA-Compatible" listed on http://wiki.whatwg.org/wiki/PragmaExtensions ? [03:30:52.0000] the spec says "Such extensions must use a name that is identical to an HTTP header registered in the Permanent Message Header Field Registry" [03:34:59.0000] because where else would we register such things? [03:37:48.0000] somewhere other than there [03:38:23.0000] because if you put them there, people file bugs asking to have them supported in the validator [03:38:49.0000] but we can't support those because they're not in the Permanent Message Header Field registry [03:47:34.0000] zcorpan: with "develop" you will get the fiels left in place, without "develop" it will move the files to the relevant site-packages directory [03:50:02.0000] *files [03:57:14.0000] MikeSmith: so I think we should split that table then into proposed and allowed [03:57:29.0000] MikeSmith: I can do that if you want [03:57:41.0000] annevk: nah I can [03:57:43.0000] will do right now [03:58:06.0000] MikeSmith: long term Hixie will fix this once he sorts out a plan to do extensions [03:58:15.0000] ok [04:28:11.0000] It's so annoying that HTTP headers have no canonical concept [04:48:34.0000] anyone have a clue what https://www.w3.org/Bugs/Public/show_bug.cgi?id=20293 is about? [04:49:18.0000] Hixie, I hope [04:52:19.0000] Hixie: ^ [04:54:54.0000] sounds like an interesting bug [05:05:34.0000] "there's a quirk for J which does not exist for J" https://bugzilla.mozilla.org/show_bug.cgi?id=450723#c4 [05:06:19.0000] can't reproduce though (on a windows laptop with wingdings installed) [05:06:50.0000] OK, that quirk is wonderful. [05:07:01.0000] J is the smiley, often used by Outlook. [05:07:02.0000] ah the same comment says the quirk is busted on trunk [05:08:55.0000] Now I feel old [05:09:03.0000] I remember bug 90643 from 2001 [05:09:21.0000] Well, on trunk from 2008 [05:11:50.0000] yeah. it'd explain why i can't reproduce it now [05:12:16.0000] (or at least I remember some bug about that behaviour, although in my mind there were a lot more upset people) [05:19:47.0000] jgraham: so can I get a critic review set up for https://github.com/w3c/html-testsuite/pull/21 and https://github.com/w3c/html-testsuite/pull/18 ? [05:20:20.0000] oh wait Ms2ger is already review https://github.com/w3c/html-testsuite/pull/18 [05:20:31.0000] Part of it [05:20:44.0000] If someone want to beat me to continuing the review, please do :) [05:21:10.0000] MikeSmith: Sure, but I can't sync the comments [05:21:14.0000] (yet) [05:21:19.0000] I'll try to do 21 first [05:21:44.0000] jgraham: no problem because there are not technical comments for it yet anyway [05:22:46.0000] there was one from Ms2ger but I think Dzenana already responded to it with an updated diff [05:23:18.0000] MikeSmith: OK, well set yourself up with a filter for the html-testsuite repo at http://critic.hoppipolla.co.uk/ (bottom of the homepage, select the repo in the dropdown, add / as the path and click save) [05:23:28.0000] Then close and reopen the pull request [05:23:59.0000] That critic doesn't send email yet [05:24:17.0000] But if it did it would ten email you and tell you that it has a new review [05:24:26.0000] ok [05:24:28.0000] and it will appear on your dashboard [05:25:51.0000] darobin: Did I already point out http://critic.hoppipolla.co.uk/r/8 to you? [05:25:59.0000] Oh I think I mentioned it in the PR [05:26:10.0000] So never mind me [05:26:30.0000] jgraham: you did yes, sorry, putting out other fires — will get to it shortly [05:26:36.0000] jgraham: do I did all those steps but my dashboard says "No reviews!" [05:27:31.0000] MikeSmith, now click the link again [05:28:05.0000] Ms2ger: which link? close/reopen? [05:28:07.0000] ... no pointer-events in IE10? seriously? [05:28:35.0000] MikeSmith: Hmm, I am getting an error message from git [05:28:43.0000] MikeSmith, I'm confused, nvm me :) [05:29:19.0000] pre-recieve hook declined [05:29:45.0000] /me tries to break critic [05:29:50.0000] http://critic.hoppipolla.co.uk/r/%C3%A7 [05:29:55.0000] "Got 'id=�', expected expected integer." [05:34:32.0000] MikeSmith: Will need to investigate further later [05:39:18.0000] jgraham: ok, no worries [05:39:59.0000] it's Friday night here and getting close to drinking time so I'm not going to be doing any reviewing today anyway [06:39:23.0000] annevk: is suggesting comma-separated values in Access-Control-Allow-Origin correct in https://bugzilla.mozilla.org/show_bug.cgi?id=845789 ? [06:41:23.0000] hsivonen: the spec only accepts a single value [06:42:19.0000] hsivonen: somewhat related, http://lists.w3.org/Archives/Public/www-archive/2013Feb/0093.html suggests Firefox has a fundamental bug in header parsing [06:42:47.0000] I bet we do [06:42:48.0000] X: TEST CRLF X: TEST and X: TEST, TEST are supposed to be equivalent [06:43:32.0000] Of course those rules do not work for cookies so... [06:46:29.0000] hsivonen: added a comment [06:55:33.0000] annevk: thanks [06:56:10.0000] (I was unaware that we had a YSoD equivalent for HTTP header violations) [07:18:23.0000] jgraham: what't the situation with testcases? are they on github now? should i move https://dvcs.w3.org/hg/quirks-mode to github? [07:18:45.0000] zcorpan: HTML testcases are on github [07:19:01.0000] ok [07:19:03.0000] The plan is to add other testcases to github in the same repo [07:19:15.0000] But webapps needs some convincing [07:19:28.0000] We will end up with something like web-platform-tests [07:19:45.0000] i guess i'll wait a bit with the quirks tests [07:21:37.0000] Yeah I don't really know if you should just dump them in the html-testsuite repo or create a new one [07:21:47.0000] Dump them, IMO [07:31:49.0000] one of the more hilarious UI errors: hitting ^R in IE9's console, instead of reloading like everything in the world, asks if you want to clear your browser cache [07:44:48.0000] hsivonen: CORS has such requirements [07:44:57.0000] hsivonen: I didn't know we also applied it to Location though... [08:01:14.0000] /me wonders how long until a reference to w3c-css-wg on w3cmemes [08:03:34.0000] Zarro Quirks Boogs [08:04:07.0000] hsivonen: w3c-css-wg [08:04:08.0000] ? [08:05:18.0000] jgraham: read forward from https://lists.w3.org/Archives/Member/w3c-css-wg/2013JanMar/0211.html or backward from https://lists.w3.org/Archives/Member/w3c-css-wg/2013JanMar/0241.html [08:09:05.0000] wat? http://www.w3.org/TR/2013/WD-xhtml-pubid-20130228/ [08:10:14.0000] lol [08:10:36.0000] I thought the TAG was somewhat odd [08:15:15.0000] http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2125 - unsurprisingly, opera/firefox/chrome don't support that FPI [08:26:27.0000] HTTP is so sucky [08:26:43.0000] it's all bytes but everyone talks about as if it's strings [08:27:22.0000] so how can a spec clearly talk about this? [08:28:15.0000] E.g. in http://www.w3.org/TR/2013/CR-cors-20130129/#preflight-request (using this link for stable reference) it talks about ASCII lowercasing header field names, but the ASCII lowercasing is a string operation [08:28:22.0000] so it's wrong [08:28:31.0000] annevk: WSGI (the Python thing to turn HTTP into a calling convention) uses latin-1 [08:29:07.0000] SimonSapin: and throws for non latin-1 input? [08:29:33.0000] SimonSapin: but sure, you can do some conversion things at the edges and have input control, but it's not entirely clear what the right approach is [08:29:46.0000] that is, some headers are represented as Unicoded string decoded from the wire as latin-1. (That is, real ISO-8851-1 where each byte is decoded as a code point of the same value) [08:30:21.0000] often the actual encoding is something else, so frameworks encode back to bytes and decode again [08:31:17.0000] lends more credence to the HTTP is a fricking mess meme [08:42:23.0000] but I guess there's like two people in the world that care about this :-( [08:47:52.0000] tentative plan, since it's mostly strings that look like bytes, I'll write them out as strings without " and " [08:47:58.0000] and use stuff like "byte lowercased" [08:48:15.0000] annevk: Even if you care, I guess the cost of switch is much higher than the benefits of nice byte/character separation [08:48:18.0000] and hope I'm the only one that thinks of the annoying questions [08:48:47.0000] SimonSapin: it's not so much the switch as security implications and interoperability considerations in general [09:03:43.0000] good morning, Whatwg! [10:02:21.0000] jsbell, thanks for those fixes; I'll try to review them soon :) [10:02:45.0000] /me adds that to the end of his todo list [10:08:06.0000] Ms2ger: Thank you! [10:41:15.0000] Hixie: interested in your thoughts on http://lists.w3.org/Archives/Public/public-whatwg-archive/2013Feb/0189.html (I probably wrote too much in the original email...) [10:51:45.0000] Is there any good way to expose in IDL that some interface's attributes should all be iterable? [10:52:09.0000] Context: For CSS Variables, I hang a "var" object off of style that contains only the custom properties. It's useful to be able to iterate over that. [10:52:31.0000] You can do a for-in loop, but being able to forEach() it would be good too. [10:53:55.0000] Also: am I right that you can for-in something that uses named getters/setters to expose all of its properties? [10:59:30.0000] Yes [10:59:57.0000] for of should work if you have indexed properties [11:01:46.0000] Also for named? [11:01:52.0000] (indexed is only numbered stuff) [11:02:33.0000] No, but I'm not sure you'd want that [11:02:52.0000] How else do you iterate over an unknown collection of things? [11:03:07.0000] Such as "all the custom properties on this element"? [11:03:09.0000] Well, what would you want to iterate over? [11:03:24.0000] I mean, having just the values and not the keys doesn't seem useful [11:03:38.0000] Wait, what? for-in exposes the keys. [11:03:43.0000] Yeah, for in does [11:03:44.0000] You have to grab the values yourself. [11:03:49.0000] for of / forEach don't [11:04:07.0000] (forEach does - the key is the second callback argument) [11:04:20.0000] But yeah, for-of defaults to iterating over values, of course. [11:04:31.0000] For array-like things. [11:04:50.0000] I guess you could have a special iterator [11:04:50.0000] TabAtkins: the idea is that each time through the algorithm you get a new token, or whatever, unless you "go back", in which case you get the same token again the second time [11:05:11.0000] Hixie: Oh, so it's just a "reconsume" thing. [11:05:44.0000] jamesr__: understood that as-if means they are equivalent, the question is just whether implementors prefer an obviously inefficient but very regular algorithm, or one that isn't quite so overly regular/consistent, but has obvious optimisations taken care of already [11:05:55.0000] Ms2ger: That's kinda what I'm wondering about, actually. All the iterable things in ES will expose a default iterator, but then several explicit iterators for going over keys, values, or items. [11:06:07.0000] Mm [11:06:15.0000] I don't think anyone does that yet [11:06:16.0000] I guess that'll work automatically if you have indexed/named properties? [11:06:18.0000] No, not yet. [11:06:30.0000] For indexed properties, Gecko does [11:06:46.0000] I'm going to assume it'll work automatically, and for now just rely on the fact that for-in works over the keys of named properties. [11:07:00.0000] Probably poke public-script-coord if you want something else [11:10:16.0000] aklein: yeah, that thing is on my pile... not sure what thoughts I have. i don't think it's clear that gecko's behaviour is a bug. not sure what the ideal behaviour is though. [11:11:17.0000] TabAtkins: right. so my question could be phrased as, if you know what will happen when you reconsume, and it's trivial to describe (e.g. it's "do nothing", or just "output the value unchanged"), should I still reconsume, or should I inline that behaviour. [11:11:43.0000] Oh, I inline if it's short, and reconsume if it's long. [11:12:07.0000] It kinda depends on whether the inlining is clear, or if it's clearer to explicitly head into the next case. [11:12:46.0000] yeah, that's the annoyingly vague "it depends" conclusion I came to too :-) [11:12:51.0000] Heh, yeah. [11:13:19.0000] For short "do nothing" things, though, I pretty much always inline. [11:13:33.0000] I'm also a fan of early returns in programming languages. [11:38:43.0000] i can't stand code that tries to avoid multiple returns [11:39:32.0000] always seems like a mistake people make because someone told them "functions should have only one return" while they were learning, they internalized it before they were experienced enough to think their own thoughts, then they moved forward in their career never questioning it [11:41:29.0000] could also be the result of some old languages that didn't have return statements [11:41:47.0000] e.g. old versions of pascal only had assign-to-function-result, and no way to early exit, iirc [11:42:48.0000] zewt: My favourite thing is "void foo() { int status = OK; ... if (bar()) { status = ERR; goto end; } ... end: return status; }" [11:43:07.0000] that's probably an old C habit [11:43:34.0000] where gotos were a common pattern for resource collection over the error paths [11:43:56.0000] /me is still writing in C, so that's still the common pattern :-( [11:44:13.0000] there's no reason to ever write in C today, unless you're on a platform with no C++ compiler (embedded, sometimes) [11:44:44.0000] (well, or if you're maintaining a legacy C codebase, of course) [11:46:17.0000] /me is writing on an embedded platform, and there is a C++ compiler but nobody uses it so nobody is brave enough to be the first person to find all the bugs in it [11:46:28.0000] yeah that's fair (been there) [11:46:31.0000] or you're competing in the ioccc, which knowing Philip` is probably what's going on... :-P [11:48:52.0000] Surely they've found most of the interesting ways of obfuscating C by now, and should start the IOC++CC to get a whole new range of possibilities [11:49:02.0000] The international obfuscated canvas ctesting competition? [11:59:55.0000] Hixie: k, just glad to know it's somewhere on the stack. thanks. [12:02:08.0000] Hixie: not clear on how that could not be a bug in Gecko. but then, I don't fully understand the intent of MathML text integration points [12:02:55.0000] aklein: the spec doesn't compare the namespaces there, so gecko not comparing them either seems correct. but i haven't looked at the spec closely today. [12:03:25.0000] aklein: my recommendation if this is blocking your work would be to get hsivonen to agree to a particular interpretation/change, and then update the list accordingly and i'll make sure the spec matches what y'all agree to [12:04:02.0000] (i don't think at the end of the day the precise behaviour is all that important here so long as we all agree on one, since it's only relevant for bogus docs anyway) [12:06:59.0000] Hixie: agreed that particular behavior isn't terribly important, but I think there are some implementations that are more likely to lead to the parser getting into a bad state. will see if I can raise the issues with hsivonen [12:07:39.0000] thanks [12:17:09.0000] Hixie: Younger people who never used old languages like that still parrot the "one return per function" crap. [12:19:03.0000] I've never heard that before, fwiw [12:19:04.0000] it's the programming equivalent of "don't end a sentence with a preposition", with similar effects [12:19:46.0000] Heh, excellent analogy. [12:21:41.0000] hsivonen: in case you weren't following ^^, I'm interested in your thoughts on some corner cases of parsing [12:21:56.0000] TabAtkins, zewt: yeah [12:22:35.0000] anybody happen to know the origin or "URL" vs. "URI"? the whole thing always feels like whoever was writing the URI spec went "hey, this isn't exactly the same as URL, so we should call it something different and people will distinguish them and use different parsers" (when what really happened is they're the same thing with no real-world distinction) [12:23:16.0000] i guess i'm just curious if there's a less stupid reason the term came into being than what amounts to branding, heh [12:23:59.0000] Sometimes the URL is used merely as an identifier, not a locator. Thus, the name switch. [12:24:24.0000] that's almost a worse reason [12:26:00.0000] worst thing about regexps is when they don't match and you can't figure out why [12:26:14.0000] You mean "regexps" [12:26:46.0000] I presume you meant s/when.*/regexps/ ? [12:26:58.0000] Hixie: might be able to find a syntax highlighter, so you can walk the cursor across to find which thing doesn't match with what you expected it to [12:27:42.0000] zewt: yeah [12:28:02.0000] Hixie: Try http://regexpal.com/ ? [12:28:28.0000] /me tries [12:28:29.0000] (thanks) [12:28:50.0000] (we're going to ignore that my regexp is dynamically generated so who the fuck knows what it even really is) [12:30:54.0000] well according to regexpal it should be working [12:46:18.0000] Then maybe you're not generating the correct regex? [12:49:15.0000] i was making some mistake with /g in perl [12:49:33.0000] autogenerated regexes in perl? "and now you have four problems" [12:49:39.0000] i ended up just not using /g for that part of the code since i didn't need to [12:49:46.0000] zewt: 0 problems now :-) [12:51:00.0000] You just haven't noticed them yet :) [13:02:14.0000] zewt - once upon a time, URI(dentifier) was a superclass, with subclasses of URL(ocator) and URN(ame), any of which could be dereferenced according to the rules of their scheme. [13:02:14.0000] then someone had the "brilliant" idea to make urn: a non-dereferenceable URI scheme, and URN lost what little traction it had, and URL and URI have since appeared to the uninitiated to be the same things. [13:03:03.0000] some historical perspective I was coincidentally looking at earlier today... http://www.w3.org/DesignIssues/NameMyth.html [13:24:15.0000] because they have since been the same thing, in the real world :) [13:25:16.0000] /me not knowing the difference doesn't make them the same thing [13:25:52.0000] nobody in the world knowing the difference, using the terms interchangeably for things that look the same and are parsed interchangeably ... makes them the same thing [13:25:57.0000] whether a string is URL or URN is unknown and opaque to the user. only the handling server knows whether it's grabbing a file from a location (URL), or doing something else (URN) [13:26:09.0000] conversely, calling things by two different name doesn't make them different [13:26:25.0000] just because you can't tell the difference between a legit Rembrandt and a forgery, doesn't make them the same thing. [13:26:34.0000] unless you want to buy this thing I found in the garage... [13:27:13.0000] uh huh [15:07:44.0000] damnit, i've just reduced my problem to another problem [15:08:25.0000] given two strings A and B, how do i do a locale-specific case-insensitive comparison? [15:08:38.0000] do we have a UTR we can refer to for that or something? [15:08:44.0000] given two strings and a language, i guess [15:10:29.0000] Hixie: you mean 2 strings in different languages? [15:11:14.0000] ie: 'Ich bin m�de' <-> 'I'm tired'? [15:12:49.0000] two arbitrary strings [15:13:14.0000] and a language, though nothing guarantees the strings even use that language's script, let alone be in any language at all [15:13:58.0000] if you want to know if they mean the same, I don't think there will be anything for that [15:14:21.0000] if you want to know if the chars are the same, I'd say converting them to the same encoding will do the trick [15:15:07.0000] But I wouldn't know if there's any way to determine the encoding of a giving string with 100% certainty when given just the string [15:18:47.0000] ronaldmansveld: ... that has nothing to do with encoding [15:19:08.0000] http://www.ecma-international.org/ecma-262/5.1/#sec-15.5.4.9 [15:19:23.0000] Er sorry [15:19:34.0000] Or, maybe that is what you want [15:19:41.0000] Hixie: http://www.w3.org/International/wiki/Case_folding ? [15:19:51.0000] Although it basically says "implementation defined" [15:20:03.0000] i mean a < vs > comparison [15:20:06.0000] not a == vs != comparison [15:20:08.0000] sorry for ambiguity [15:20:18.0000] ah, that makes it a lot clearer, sorry [15:20:37.0000] Oh, I've ONLY ever seen that done between languages by code point after casefolding :\ [15:20:55.0000] and it's usually very surprising :\ [15:21:05.0000] some code points sort differently based on the language being sorted, right? [15:21:42.0000] Right, if it's mixed language sort I've only ever seen raw code point sorting :\ [15:22:02.0000] Hixie: Yes [15:24:38.0000] ok so i guess i just need a way to invoke those algorithms [15:25:57.0000] jgraham: thanks for the links, makes it all a lot clearer now :) [15:32:47.0000] Hixie: Yes, there's a way. I forget which list of foldings does the locale-sensitive stuff, though. [15:33:01.0000] For locale *in*sensitive, use the C+F mapping. [15:33:14.0000] Defined somewhere. I'm not very helpful. ^_^ [15:33:46.0000] TabAtkins: yeah, that would have more or less been my answer if someone asked me :-P [15:49:14.0000] how about a raw unicode comparison of two strings A and B? how do i phrase that? [15:50:03.0000] codepoint-by-codepoint comparison? [15:50:18.0000] Do you want to do normalization? [15:50:27.0000] let's assume we normalised already [15:50:37.0000] Then what I said. [15:50:46.0000] "codepoint-by-codepoint" doesn't tell me anything about which is greater [15:50:50.0000] all comparisons are "codepoint-by-codepoint" [15:50:57.0000] Not necessarily! [15:51:01.0000] well fair enough [15:51:05.0000] But anyway, say it's a lexicographic sort by codepoint. [15:51:10.0000] k [15:53:13.0000] really no idea how i'm gonna do the language-sensitive one [15:54:15.0000] "\ud7ff" < "\ue000" < "\ud800\udc00" sounds fun [15:54:40.0000] i actually said to compare by unicode scalar value [15:54:43.0000] which takes care of that [15:54:59.0000] TabAtkins: Lexicographic sort doesn't really define whether "a" < "aa" [15:55:11.0000] that's a more serious problem [15:55:53.0000] utr10 is apparently what i need [15:56:09.0000] It... should? Isn't lack of something always less than presence? [15:56:12.0000] doesn't seem to be written in english though [15:56:17.0000] Or is that undefined and left to the thing doing the sorting? [15:57:57.0000] TabAtkins: My understanding of lexicographic orders is that they're defining (a,b) < (a',b') iff a < a' or (a = a' and b < b'), where you need to define what "=" and "<" and the other "<" mean [15:58:47.0000] Unicode Collation Algorithm to the rescue! [15:59:13.0000] Sure. I just assumed that it was taken as given that when they're of different length, but equal up to the end of the shorter item, the shorter item is "less". 2013-03-02 [16:01:13.0000] apparently the magic answer is "Apply the Unicode Collation Algorithm, using the Default Unicode Collation Element Table as customized for the language of the element e in the Common Locale Data Repository. [16:01:17.0000] " [16:01:27.0000] who are you expecting to do this? [16:01:33.0000] Presumably table sorters. [16:01:45.0000] jamesr: ICU implements the UCA already [16:01:54.0000] so that should be off-the-shelf [16:02:07.0000] and you want browsers to do this whenever table cell values change or something like that? [16:02:31.0000] i wouldn't say _I_ want that. but that's what people have been clamouring for, yeah. [16:03:40.0000] and what lang do we use for this? the lang of the table or the page or something? [16:03:50.0000] TabAtkins: That does seem conventional when comparing strings, but the phrase "lexicographic sort by codepoint" seems to be trying to be precise enough that I think it's not entirely unreasonable to expect it to say how lengths are handled instead of requiring you to infer it [16:04:05.0000] jamesr: language of the column's, currently, but that's a minor detail [16:04:42.0000] /me might be overly sensitive to the term "lexicographic" though [16:05:23.0000] Philip`: i ended up just using the UCA with the defaults in that case [17:00:39.0000] Hixie: why do you want to do locale-specific case-insensitivity? unicode case folding exists exactly to avoid that mess (for locale-insensitive case-insensitivty) [17:21:17.0000] zewt: eh? how does locale-specific case-insensitivity differ from unicode case folding? [17:23:59.0000] case folding is locale-insensitive by definition [17:24:05.0000] afaik [17:25:29.0000] zewt: you know wrong :-) [17:25:56.0000] http://www.unicode.org/faq/casemap_charprop.html By contrast, case folding, which is based on the lowercase mapping, is intended to be language-neutral. Since the case folding rules do not vary by language or context, this makes them unsuitable as the basis for displaying or transforming text for human consumption. [17:25:56.0000] e.g. look up "turkish i" [17:26:21.0000] i maps to i in all languages, including turkish, when you're using case folding [17:26:32.0000] if you want language-specific lowercasing you want case mapping, not case folding [17:27:13.0000] all i was is a sort which when in turkish puts lowercase dotted-i and uppercase dotted-i together, and in english does not. [17:27:37.0000] that's not case folding then [17:28:02.0000] which i believe is "the Unicode Collation Algorithm using the Default Unicode Collation Element Table as customized for the language /foo/ in the Common Locale Data Repository, ignoring case" [21:22:25.0000] wow an actual switch statement in the spec [21:25:42.0000] oh only in the source [21:26:35.0000] so Hixie you have some tool for converting the swtich-statement stuff in the source into prose? [22:44:39.0000] jgraham: please ping me if you are around today and have to chat about the websocket tests. I'm also getting intermittent Timeout errors for them. Maybe 25% or so of the time. [01:21:44.0000] teers [01:21:51.0000] Err, right [01:22:08.0000] Of joy, of course [01:59:54.0000] MikeSmith: Sure I am around today [02:00:47.0000] hey jgraham [02:00:58.0000] any clues on the timeouts errors? [02:01:09.0000] Well [02:01:47.0000] Nothing more than "maybe the tests are just a bit close to the timeout" [02:02:33.0000] is it possible to increase the timeout per-test? [02:02:40.0000] Yeah [02:02:57.0000] So, iirc, the default is like 1s [02:03:11.0000] and the default timeout for the whole file is like 5s [02:03:51.0000] To increase the former you pass an options dict like {timeout:timeout-in-ms} to the test constructor [02:03:59.0000] ok [02:04:08.0000] For the latter you do the same to the setup function [02:04:31.0000] ok [02:04:53.0000] Do you have a browser/test combination that gives random behaviour that I can try? [02:05:00.0000] I could try looking it at it from the server side but really that server has very llight load on it [02:05:39.0000] jgraham: no they all give me timeout errors maybe 1 out of 4 times or so [02:07:29.0000] hmm except for Opera right now [02:07:35.0000] MikeSmith: Well I tried http://w3c-test.org/webapps/WebSockets/tests/submissions/Opera/binary/001.html and couldn't see any timeouts [02:07:43.0000] in Firefox/Chrome/Opera [02:08:31.0000] OTOH 002.html appears to timeout in all but Chrome, but 100% of the time [02:09:00.0000] Maybe you just have more latency to w3c-test.org than me [02:09:36.0000] 002.html times out for me in Chrome too [02:09:43.0000] but only somtimes [02:09:46.0000] not always [02:09:54.0000] (this is why friends don't let friends run tests on infrastructure they don't control) [02:10:36.0000] heh [02:10:53.0000] What's your ping time to w3c-test.org? [02:12:59.0000] PING w3c-test.org (128.30.52.118): 56 data bytes [02:12:59.0000] 64 bytes from 128.30.52.118: icmp_seq=0 ttl=35 time=274.241 ms [02:12:59.0000] 64 bytes from 128.30.52.118: icmp_seq=1 ttl=36 time=371.074 ms [02:12:59.0000] 64 bytes from 128.30.52.118: icmp_seq=2 ttl=35 time=291.444 ms [02:12:59.0000] Request timeout for icmp_seq 3 [02:13:01.0000] 64 bytes from 128.30.52.118: icmp_seq=3 ttl=36 time=1144.780 ms [02:13:04.0000] 64 bytes from 128.30.52.118: icmp_seq=4 ttl=36 time=288.365 ms [02:13:41.0000] but hey I finally had the sense to actually look at the logs on the server and I'm seeing an error [02:14:45.0000] "mod_pywebsocket: web_socket_transfer_data raised exception for /ws/echo: Connection read error" [02:16:13.0000] Yeah, well if you are geting 1 in 4 packets taking > 1s that is a problem on its own :) [02:16:49.0000] yeah [14:03:12.0000] Hixie: Don't know if this is still applicable or what, but the Mac OS X sorting algorithm seems to take each embedded series of digits as a separate number, meaning hex numbers sort very unintuitively. 2013-03-03 [17:20:33.0000] You know, I'm surprised all these "don't use X, it's too inconsistent" posts haven't made their way to HTML yet [17:21:05.0000] (All values of X are generally old technologies that have evolved over a significant period of time: PHP, MySQL, etc.) [17:21:28.0000] They don't have the benefit of using years of experience to engineer away the problems and inconsistencies [17:21:47.0000] I thought that made its way to HTML ages ago, and led to XHTML [17:21:53.0000] but we've got over that now [17:22:14.0000] well, these posts post-date XHTML, but OK [17:22:58.0000] I expect nobody actually likes HTML, but most people have just got tired of complaining about it [17:24:15.0000] the Internet never tires of complaining [17:25:10.0000] GPHemsley: yeah, i couldn't work out a way to make hex, "season 1 episode 1", version numbers, IP addresses, 1.245e12, $1.23, and 1.23kg all sort correctly with one algorithm, so i had to punt on one and a half of those (hex and two-part version numbers) [17:27:01.0000] What about IPv6 addresses? [17:30:27.0000] they're hex [17:33:23.0000] Not really, since you'd want 2001:db8::1:1 < 2001:db8::2:2 < 2001:db8::1:1:1 [17:35:09.0000] Oh, you said hex was one of the things that didn't work, and they're not just hex but they are partially hex, so I suppose that's already covered :-( [17:35:25.0000] /me shouldn't IRC when tired [17:37:45.0000] i hear ya [18:01:17.0000] some cases are logically incompatible with other cases, so yeah, gotta pick a subset [19:40:38.0000] death to specs that screaming case MUST [19:40:49.0000] was: re: readability matters [19:42:29.0000] also it's 2013 and i'm still having to read ietf specs optimized for 80x66 fixed-width printers [19:44:03.0000] i have a mental image of the people writing ietf specs printing them out on their daisywheel printers for proofreading [19:44:28.0000] zewt: they're not optimised for printers, so much as teletypes. [19:44:33.0000] (...which is worse) [19:52:38.0000] I don't like boldface but lowercase must either [19:52:53.0000] I think small caps must is not so bad [19:57:40.0000] i like "must" [19:58:15.0000] just writing it in plain english is fine and doesn't make my mind stop and scream the word in my head every time [19:58:53.0000] any kind of caps induces a pause and "MUST!!!!!!!!!" in my head as i'm reading, which is pretty catastrophic when i'm just trying to find out what something is supposed to do [19:59:57.0000] relatedly, i can't read wikipedia without a user style to hide superscripts, because apparently they think having a footnote number every 3 words is somehow okay [00:29:19.0000] Hixie, now you're done with sorting, can you start on the useful work again? :) [03:13:31.0000] In HTML, where did the note go that localization of applications has to be done server-side [03:13:32.0000] ? [03:22:41.0000] http://html5.org/tools/web-apps-tracker?from=3980&to=3981 [03:29:44.0000] Hey annevk, how's the UK so far? [03:31:17.0000] krijn_: pretty good [03:32:14.0000] krijn: quite used to living here actually, even though it's been just a month now [03:32:26.0000] krijn: how's Brighton? [03:32:32.0000] Pretty good [03:32:46.0000] Quite used already, even though it's been just a week :) [03:33:21.0000] Without any furniture, but heck [03:48:50.0000] Same same, but a bad and and some wall-closet space seems sufficient [03:49:07.0000] euh, bed, bath, and wall-closet space* [03:56:25.0000] 🍺 [04:05:58.0000] MikeSmith: yes [04:06:05.0000] :-) [04:08:07.0000] I grabbed that from a message that brew emits now when it's done updating [04:08:22.0000] I dunno how long it's been doing that [04:08:28.0000] didn't notice it til today [04:08:43.0000] fun to see that in the console [04:09:16.0000] unfortunately just shows up as the replacement character in my irssi [04:10:49.0000] annevk: the gf disagrees :) [04:11:42.0000] hmm yeah it seems screen(1) doesn't handle it [04:12:54.0000] I tried to buy a TV yesterday and a sound bar, but that requires first having someone come over to see if they can install it on the wall at all [04:13:23.0000] so for now I'll settle for the electro at Joe & The Juice [04:22:50.0000] Man, I can't even get a proper internet connection [04:24:07.0000] I have to wait a couple more days for that too... [06:57:58.0000] So what's the deal? Is *.nl moving to the uk? [06:58:13.0000] Don't tell UKIP... [07:02:20.0000] MikeSmith: I think all the WebSockets tests under submissions/Opera/interfaces/ are converted now [07:02:36.0000] Just cookies/ and unload-a-document/ left to go [07:02:50.0000] (i.e. the non-trivial ones :) [07:03:16.0000] Also I seem to have broken critic in some way so no pull requests are getting through at the moment [07:03:27.0000] Might look into that more later [08:56:55.0000] jgraham: ok [12:05:16.0000] OK, all but one WebSockets test should be updated now [12:05:33.0000] But I think the cookies ones might ahve got broken in the conversion [12:05:54.0000] I need to ask zcorpan to have a look when he's around [12:14:39.0000] http://i.imgur.com/kHWtqeq.jpg [12:15:48.0000] O_O Little heartbroken foxy. [13:22:38.0000] How long until we get single-line comments in CSS? [13:22:47.0000] /me runs and hides. [13:23:02.0000] I wonder why online furniture shops don't let you search by size [13:23:05.0000] That'd be really useful [13:26:14.0000] GPHemsley: It's OK, making // at the start of a line valid would break the web and the CSS WG are far too responsible to evev consider that [13:26:23.0000] No, wait... [15:30:35.0000] Well, IE9 finally supports XHTML, and IE8 is finally becoming obsolete. [15:31:10.0000] The lack of XHTML support in IE8 is far from the only problem that make it a boat anchor. 2013-03-04 [16:04:52.0000] (can't tell if joking) [16:06:29.0000] (Depends if he meant IE8 was being a boat anchor, or XHTML was being a boat anchor) [16:06:49.0000] (I suggest throwing them both off a boat and seeing which sinks fastest) [16:29:34.0000] (can't tell if joking about lack of XHTML actually being a problem that needed to be solved) [17:35:38.0000] IE8 being a boat anchor. It for example also do not support much of DOM level 2, which is why jQuery 2.0 won't support it. [22:30:34.0000] on the same day WaSP declares "our work here is done", we have a Chrome ad from Disney saying "a Web experience built for Chrome" [22:33:09.0000] roc: Wasp has been fairly inactive for a while [22:33:29.0000] Declaring a boom does not deny the fact that you went out with a whimper. [02:38:53.0000] annevk: is there value other than encoding table and test case savings in dropping single-byte encodings whose lower half is ASCII and upper half has no overlap with ASCII? [02:39:58.0000] hsivonen: very limited value [02:40:58.0000] hmm. Warner now allows HD movies in iTunes on Mac. [02:41:08.0000] hsivonen: we can add ibm850 back I suppose [02:42:10.0000] annevk: what other single-byte encodings did we drop? random Mac stuff? [02:42:24.0000] http://www.voddler.com/en/movie/info/2798385737197326461/skyfall/ [02:42:33.0000] hsivonen: I haven't kept track [02:42:37.0000] Voddler advertises Skyfall available for HTML5 streaming [02:42:44.0000] hsivonen: or was not cc'd, either way [02:42:59.0000] I wonder what HTML5 streaming means [02:43:07.0000] can't be EME at this point in time [02:43:24.0000] I called what I did HTML5 streaming, that was Ogg Theora + Vorbis. :-) [02:43:37.0000] their payment service is down, so I couldn't pay 3.70 euros to check [02:44:57.0000] annevk: does IE support IBM850? (I'm guessing yes, but didn't launch a VM to check) [02:45:07.0000] That's like 3/4rds the cost of it in Norway. :( [02:46:45.0000] hsivonen: http://wiki.whatwg.org/wiki/Web_Encodings suggests it does [02:51:40.0000] hsivonen: I'm not really sure what the right approach here is. Should we add an encoding per report we get? [02:52:05.0000] hsivonen: given one report it's prolly likely other pages are affected and definitely other users. [02:52:48.0000] hsivonen: then the next question is what set of labels we add. The same as IE or what we had before? [02:52:59.0000] /me does not like encodings [02:54:01.0000] You chose to work on it! [02:54:16.0000] gsnedders: yes, to make it a solved problem [02:57:13.0000] annevk: you don't like encodings but you have two huge books on that subject on your desk... ;) [03:01:10.0000] Yeah, they'll be moving to the public bookshelf soon. I haven't opened them in a while now... [03:01:40.0000] Although I guess I should ask MikeSmith about the CJKV one as technically it's from Keio... [03:07:08.0000] annevk: the stuff we only supported with uninteroperable labels might not be worth putting back [03:07:44.0000] annevk: single-byte encodings that IE supports with sane labels *might* be worth putting back [03:09:09.0000] I'm really quite surprised that someone uses the old DOS Western European encoding on the Web [03:09:21.0000] hsivonen: on a site with login, no less [03:09:36.0000] hsivonen: with a copyright statement amended for 2012 [03:09:42.0000] I'm not [03:09:56.0000] good for you [03:10:02.0000] plenty of people have really old legacy systems, and those tend to spill over [03:10:58.0000] "we have this really old machine that handles our inventory, we've managed to put an FTP server in front of its daily exports, can you take that and put it on the web" is a relatively common request [03:11:55.0000] what happens with the encodings there then really depends on the developer... which means you see horrors [03:12:50.0000] /me still remembers "it does strange things when our Chinese customers add new entries imported into our system" bug reports [03:14:42.0000] annevk: that CJKV book didn't belong to Keio, I don't think. It think it belonged personally to Felix Sasaki, and he gave it to me when he left W3C and moved back to Germany. So feel free to do whatever you want with it. [03:15:10.0000] MikeSmith: my idea was to put it in Mozilla's community area [03:15:31.0000] Not to set fire to it? [03:15:35.0000] MikeSmith: we have a public bookshelf there, but since there's no security someone might take it (but then hopefully they'll read it) [03:15:55.0000] Using the medieval adage "a problem enflamed is a problem solved"? [03:16:32.0000] darobin: apparently wind energy is so old that it's old enough to have a DOS-era legacy system [03:16:47.0000] jgraham: there's electronic copies :-( [03:20:06.0000] annevk: yeah if you're not needing it yourself any more, seems like it'd be good to put it out there for others to if. If somebody's so keen on it to take it home, that wouldn't be a tragedy [03:20:40.0000] MikeSmith: another person entangled in legacy encodings not a tragedy? [03:21:00.0000] heh [03:22:11.0000] I just had to throw away at least 50 books at Keio becausethe office is going to be remodeled and we don't have room for them. I wish somebody had cared enough about any of them to already have walked off with them. [03:22:47.0000] some of them were pretty old, though. Like, a guide to the Korn shell. [03:23:49.0000] next time mail them to this office, seems we have some space left [03:59:11.0000] what's the negation of the first two bullet points under 1. in http://www.w3.org/TR/2013/CR-cors-20130129/#cross-origin-request-with-preflight-0 [03:59:22.0000] boolean logic :( [04:01:54.0000] NOT(true OR true) == false AND false [04:02:03.0000] annevk: Can't really tell where the brackets are in those sentences anyway [04:02:32.0000] but this is NOT(true OR true AND true) so false AND false OR false [04:03:06.0000] annevk: More brackets, please [04:03:08.0000] jgraham: why not? [04:03:42.0000] Is it X OR (Y AND Z) or (X OR Y) AND Z [04:03:55.0000] AND has precedence no? [04:04:21.0000] Not if you want to be clear :) [04:04:27.0000] I'm open to rewriting this even more though [04:04:37.0000] /me wonders how [04:04:42.0000] In English? It's unclear. In other cases there might be rules [04:04:57.0000] If ... [04:05:04.0000] * there's no method cache match [04:05:20.0000] * it's no simple method or the force preflight flag is set [04:05:45.0000] !(X OR (Y AND Z)) = !X & !(Y AND Z) = !X & (!Y OR !Z) [04:06:05.0000] Which is what you said [04:06:21.0000] * for every header in request headers there is no cache match and the field name is not a simple header [04:06:27.0000] Then ... preflight time [04:06:44.0000] jgraham: does what I just wrote work? [04:07:16.0000] (but it's wrong :-(, it only has to fail for one header) [04:07:41.0000] I'll go with no then :) [04:07:41.0000] There's at least one header in request headers for which there is no cache match and which is not a simple header [04:07:46.0000] But the style is better [04:07:48.0000] jgraham: try again [04:07:57.0000] (lunch) [04:08:02.0000] so lame [04:08:07.0000] and late for Sweden [04:08:57.0000] It's jgraham. [04:09:00.0000] It's early for him. [04:15:31.0000] Great success: http://www.iwanttouse.com/#apng,download [04:55:46.0000] Using no specific features [04:55:48.0000] reaches 95.43% of web users [04:56:06.0000] /me wonders what the other 4.57% are doing [04:56:59.0000] Amaya [04:57:26.0000] darobin is almost 5% of web traffic? [05:12:21.0000] jgraham: did you figure out what that meant? [05:12:42.0000] some "other" browser unspecific matter? [05:13:12.0000] hsivonen: I suspect it means that 4.57% of users are using browsers that aren't covered by caniuse.com data [05:13:22.0000] Although that seems *very* high [05:30:14.0000] maybe their UA data includes bots [05:30:18.0000] (by mistake) [05:30:29.0000] Seems to be from statcounter [05:30:39.0000] Can't really tell how one would get anything useful out of that [05:36:38.0000] jgraham: oh it says that now? I had it at 0 [05:37:20.0000] Is that not ~% of "other" on statcounter? [05:37:40.0000] http://caniuse.com/usage_table.php [05:38:27.0000] Still doesn't add up to 100% [05:50:17.0000] jgraham: did you count "Browsers not included on site" ? [05:51:47.0000] Yes [05:52:11.0000] I get 99.925, could be rounding errors [05:52:11.0000] 0.865 + 3.38 + 95.68 = 99.925 [05:53:19.0000] Could be if the top number is only accurate to +- 0.005, I suppose [05:54:10.0000] or if each of these three values is a sum of rounded values, errors accumulate [05:54:38.0000] Yay floats! [05:57:09.0000] Not floats at all [05:57:20.0000] Just propogation of errors [05:57:58.0000] There are 65 values that are +/- 0.0005 and 12 values that are apparently +/- 0.05 [05:58:05.0000] er 0.005 [06:00:03.0000] (and iirc you can just add in quadrature) [06:09:59.0000] Which task source does WebSocket use? The protocol that is? [06:12:28.0000] "The task source for all tasks queued in this section is the WebSocket task source." [06:15:59.0000] ta [06:16:15.0000] So is the networking task source the exclusive domain of "fetch"? [06:16:27.0000] Sounds like we should have named it the fetch task source... [06:17:14.0000] does it even do anything, except to say "you don't have to guarantee task ordering with anything else"? [06:18:25.0000] I think that's the main purpose. Which may mean XMLHttpRequest has a bug as it does not use the networking task source but should probably piggyback on that somehow... [06:24:46.0000] My main problem at the moment is that I don't really have a good interface for return this asynchronously... HTML has this text about queuing tasks, but that does not work for a number of cases... [06:24:48.0000] I wonder if Google has done browser stats internally across all sites that use Google Analytics [06:25:15.0000] Namely: upload progress events, preflight request done. Maybe something else? [06:25:53.0000] Did we decide on when upload progress events are done? Is it when you get an ACK from the server? [06:26:08.0000] Is that even how TCP/IP works? [06:26:21.0000] annevk: are you basically looking for a way to write callbacks in a spec? [06:26:42.0000] annevk: It's a violation of layering, but yes, it's the only way to do it. [06:26:52.0000] zewt: kind of [06:26:57.0000] gsnedders: no, there are different approaches [06:27:02.0000] well [06:27:08.0000] zewt: except that if some flag is set there are no callbacks and it becomes a return value [06:27:13.0000] i guess that's basically what it amounts to either way i'm thinking of [06:27:47.0000] typically i look at the available buffer space on the socket, and figure out when it's emptied past what I want (but that's basically going to follow ACKs too) [06:27:47.0000] gsnedders: we can also wait for a full HTTP response which may be what Gecko is doing [06:28:01.0000] gsnedders: and depending on the status code dispatch either load or error or some such [06:28:06.0000] annevk: that sounds like it breaks the point of upload progress events entirely [06:28:33.0000] i mean, if you wait for the response, you're not firing upload progress *during the upload* at all, and that's the whole point ... right? [06:28:45.0000] annevk: I think we shouldn't define it. Not really that nice to depend on things the TCP layer in the OS does… [06:29:02.0000] zewt: mainly worrying about the final set of events [06:29:28.0000] hsivonen: It would be astonishing if they didn't [06:29:30.0000] annevk: Like, I think when you dispatch them during upload cannot be practically defined in such a way it can be implemented on all OSes. [06:29:32.0000] gsnedders: we tried that, didn't work [06:29:41.0000] i don't think it makes sense to wait any longer than the 200 OK, and maybe not even that long [06:30:17.0000] zewt: in practice there's not going to be much difference between that and the full set of headers as I understand it, but sure [06:30:25.0000] (if the server has a long delay while it figures out the answer to your upload, seems like upload should still be considered finished right away) [06:30:36.0000] None of this is really helping me unfortunately :-( [06:30:41.0000] Right, I think we have to have a minimum set of number to send (like at completion), but can send more? [06:30:47.0000] Or annevk, that not work? [06:31:06.0000] but "wait for a full HTTP response" sounds very wrong (then you're waiting for the response body, too) [06:31:29.0000] zewt: oh sorry, not for the body, just long enough to see if you're gonna redirect [06:31:34.0000] annevk: lacking more specific questions I can only throw darts :P [06:32:04.0000] Maybe I should put my sketch up somewhere [06:32:54.0000] http://html5.org/temp/fetch.html [06:33:11.0000] also it might help to know what the "becomes a return value" case is about (sounds like sync/async, but my first impression would be to do both with callbacks) [06:33:15.0000] It hasn't run through Anolis yet so it's quite ugly [06:33:58.0000] Basically "fetch" is the entry point, which might invoke some other algorithms asynchronously (or synchronously if the synchronous flag is set) [06:34:00.0000] i mean, if you want a synchronous caller to fetch to be able to get the same info about what's happening (callbacks) as an async one [06:35:19.0000] I guess I can keep the model where the other algorithms simply return the response to "fetch" which returns it in the end. And they also all queue tasks on the networking task source... [06:35:45.0000] The latter model would be used by asynchronous invokers, the other model by synchronous... [06:37:35.0000] so, "notify caller that preflight succeeded..." is a callbacky case [06:37:56.0000] It still leaves some questions. E.g. how to queue tasks if we don't know yet it'll be a redirect. [06:39:17.0000] could that be simply "invoke *preflight succeeded callback*, if set", make that an optional parameter to set, then let the caller sort out what to do with it (eg. queueing a task if it's async) [06:39:37.0000] er, optional parameter to fetch (propagated down to this algorithm) [06:41:53.0000] Actually, if we do this right we don't need that callback I think. [06:41:58.0000] then since it's the caller queueing any tasks, fetch doesn't have to care (eg. if websocket or XHR use a different task source) [06:42:35.0000] are you thinking of having progress events be fired by fetch? [06:42:38.0000] XHR checks for "preflight complete" but "fetch" can handle that logic perfectly as it knows what is a preflight and what is not [06:42:44.0000] (iirc they're not very uniform across apis...) [06:43:12.0000] zewt: not the actual firing, but queueing tasks that make them possible [06:43:35.0000] that's what this callback is, right? [06:43:57.0000] (i don't care particularly about this callback, it's just the first callback i saw) [06:44:22.0000] This callback is kinda pointless. It just indicates that the upload events start when the body is being transmitted, which will always be after the preflight anyway... [06:44:51.0000] So I think I could remove that from XHR entirely and it would in effect say the same thing... [06:45:53.0000] afk a bit [06:45:58.0000] HTML has these callbacks for fetch today: tasks queued while receiving the entity body for incremental display of images. The final task at the end of fetch. [06:48:04.0000] For XHR I need upload. I also want to clarify somehow that networking tasks should start when we know it's not a redirect. So basically when the entity body is being transferred... [06:48:47.0000] But maybe we need more granularity for certain APIs... [06:50:09.0000] I need Hixie [07:21:37.0000] marcosc: you're missing "HTTP" in hosted app [07:21:53.0000] annevk: true [07:22:03.0000] Added, thanks! [07:22:04.0000] marcosc: though calilng a packaged app "web" seems like a stretch [07:22:13.0000] heh [07:22:16.0000] also true [07:22:29.0000] changed it to packaged app [07:22:52.0000] hosted web app is ok [07:22:58.0000] it still runs off http [07:40:06.0000] Hixie: do you mind sharing the preprocessor for the stuff that's showing up under http://www.w3.org/html/wg/drafts/html/master/tabular-data.html#parsing-the-sort-key step 5.2? [07:42:11.0000] Heh, neat [07:42:36.0000] yeah, it's pretty neat [07:42:57.0000] And if it breaks you, all the better ;) [07:43:42.0000] my sweet, sweet and belovèd Ms2ger. :-* [07:44:50.0000] gaaah [07:45:16.0000] i click the order search box on amazon, start typing, and I end up with my search text randomly inserted in the middle of "Title, Department, Recipient" [07:45:28.0000] dear amazon: use @placeholder, you idiots [07:47:15.0000] I get the impression that adding more powerful form stuff has only encouraged developers to be more stupid in how they handle forms [07:48:20.0000] seems like a few people use @placeholder, and everyone else goes "good idea!! i can do that in javascript!" [07:52:59.0000] yeah [07:53:12.0000] the Twitter search form helpfully voids itself on load [07:53:20.0000] it's always great when you type faster than it loads [07:53:24.0000] which is, well, rather easy [07:55:44.0000] symptoms of people testing on local networks [08:32:00.0000] ooh, I was already wondering what that was when reading the diff [08:32:06.0000] so that's post-processed [08:35:23.0000] yeah [08:37:11.0000] seems like something that could be re-purposed in other specs [08:37:14.0000] fetch? [08:37:26.0000] the tool I mean [08:39:04.0000] I was talking about Hixie's case-switch thingie [08:39:13.0000] for once, although I'd love to talk about Fetch more :p [08:40:56.0000] I meant since you've just started writing up Fetch, if you have state-machine algorithms in there, you could write them using this case-switch shorthand, then have the tool make it into words for you [08:41:31.0000] oh sorry, not that much case-switch going on right now [08:42:18.0000] good morning, Whatwg! [08:42:24.0000] /me pipes a Mark Watson message from his mutt into lynx -stdin so that you can tell which parts are his words and which parts are stuff he's quoting [08:42:56.0000] /me wishes Mark would write all his messages from his iPhone instead because those are a lot easier to read [08:53:54.0000] So XHR dispatches loadstart, then readystatechange readystatechange and then progress events start? [08:54:15.0000] that's prolly roughly what should be happening [08:56:10.0000] zewt: gsnedders: it seems for upload progress events we resolved to fire loadend when the outgoing buffer is empty [08:56:20.0000] zewt: gsnedders: and not wait for ACK or some kind of HTTP response [08:56:54.0000] zewt: gsnedders: http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0749.html [10:20:23.0000] Hixie: reply to http://lists.w3.org/Archives/Public/public-whatwg-archive/2013Mar/0024.html would be great, ta [10:25:16.0000] jgraham: Actually, I've pushed back on single-line comments in CSS until someone can demonstrate a low chance of breakage, particularly in minified stylesheets. [10:26:30.0000] only allow them when a line starts with whitespace followed by // ? [10:26:40.0000] but maybe that's not good enough for people [10:28:32.0000] Nah, people want them at the end of a line, after a property. [10:38:17.0000] I want the ability to comment properties out without having to go to the beginning and end of a file. [10:38:27.0000] s/file/line/ [10:38:44.0000] That's easy - just put any invalid property-name char at the beginning of the line. [10:38:50.0000] If you want, use // [10:39:35.0000] Yeah, I was thinking that might work [10:39:53.0000] That "comments it out" by invalidating the declaration, which causes the parser to swallow and ignore the entire declaration but no more. [10:40:17.0000] hmm... that could even work for inline styles, huh? [10:40:22.0000] Yup. [10:40:27.0000] interesting [10:40:36.0000] I wonder if that should be documented/reminded somewhere? [10:40:56.0000] The annoying part is that if you want to put a comment *after* a declaration, using // will eat the *next* declaration instead. [10:41:23.0000] right [10:41:48.0000] what if you end your comment in a semicolon? [10:41:55.0000] That'll work. [10:42:01.0000] hmm [10:42:26.0000] That doesn't help with comments between blocks, though. There you'd need to end the comment with a {}, I think. [10:42:31.0000] Though... maybe not. Let me test. [10:43:37.0000] No, you definitely need a {}, because the parser thinks it's in the selector for a style rule. [10:44:27.0000] So, as long as you're commenting inside of a block, you can do "// ;" and it'll work. [10:44:36.0000] Outside of a block, just use block comments. [10:45:04.0000] that sounds fair [10:45:04.0000] That might actually be useful to document. [10:45:19.0000] There's a thread waiting on some conclusions about this - I'll bring it up there. [10:45:34.0000] Blocks require block comments. That's easy to rememeber. [10:46:21.0000] Perhaps even explicitly reserve the '//' property for comments? [10:46:29.0000] (IDK how that works.) [10:46:41.0000] Properties already can't be named // anyway - they're restricted to idents. [10:47:06.0000] Hmm... by that logic, then, you could also use #, right? [10:47:10.0000] Yup. [10:47:18.0000] Anything and everything that's not a valid property name. [10:47:22.0000] right [12:09:41.0000] any blog admins around? [12:14:21.0000] i have a blog [12:14:50.0000] i meant the whatwg blog [12:14:52.0000] sorry :-) [12:22:31.0000] I have an admin (but not for the WHATWG blog) [12:22:33.0000] (I think) [12:37:01.0000] a wiki could be used as a blog... does that count? ;) [13:02:57.0000] line comments that don't actually work anywhere sound unpleasant [14:01:19.0000] MikeSmith: Hej, at some point when you have a moment it would be awesome if you could look and see if there are any serverside errors that look like they correspond to what Ken's seeing? [14:01:37.0000] Hmm, that wasn't actually a question [14:01:57.0000] s/\?/./ perhaps [14:03:00.0000] It is pretty non-obvious to me why it would work for me and for you (most of the time) but never for him, unless it is something on his local network [14:03:03.0000] But still [14:24:26.0000] Hixie: you around? [14:25:06.0000] Hixie: my first question was about does fetch, then another does a fetch, both queue network tasks, how do you know which task is for which image? [14:25:38.0000] why would you not know? [14:25:59.0000] that's like saying you put a ball on the ground, i put a ball on the ground, how do you know which ball was put down by whom [14:32:29.0000] Hixie: there's nothing in the task queue design that tells you these things [14:33:15.0000] annevk: "the buffer is empty" implies the ACK is received, by definition [14:34:16.0000] Hixie: as for tasks for uploading, don't you need to signify from the network layer that something is happening and then have the API layer expose that? [14:41:19.0000] zewt: k [14:52:39.0000] Ah, the WaSP. [14:53:31.0000] That is the one that petitioned Netscape to cancel Mariner, leaving Netscape nothing to compete in time for IE5. [14:53:48.0000] Which ended up increasing the use of document.all. [14:54:08.0000] To the point other browsers had to implement it! [14:55:40.0000] And yea, Mariner was going to implement getElementById too. [14:55:50.0000] but not CSS [14:56:01.0000] which was just a wee bit more important than getElementById [14:56:31.0000] Netscape 4 implemented CSS but poorly, Netscape 5 was going to implement CSS better. [14:56:52.0000] "poorly" is being generous [14:57:06.0000] "better" than "poorly" was nowhere near good enough [14:57:22.0000] (in comparison to what everybody else was coding support for) [14:59:05.0000] If I was going to fix CSS support in NS4, I'd consider instead of depending on the JS parser, to have the CSS parser directly call the JSSS functions. [14:59:22.0000] lol [14:59:46.0000] except for that whole CSS suddenly disappearing when JS was turned off problem ;) [15:00:01.0000] Hixie: I think those are basically my questions [15:00:59.0000] Hixie: and maybe how to queue tasks on the networking task force specifically for cases such as "transmitting entity body", "headers are processed", "receiving entity body", ... and then how the API hooks into those [15:01:34.0000] Hixie: it all feels a bit handwavy at the moment and in fact XHR has somewhat differing requirements as to when to dispatch progress events :-( [15:01:57.0000] Hixie: if the fetching model was perfectly clear, none of that would be problematic [15:04:03.0000] To be honest, the CSS spec wasn't all that good either. [15:04:24.0000] a few of us managed to make it work ;) [15:04:55.0000] hsivonen mentioned in retrospect the CSS spec should have been changed to match browsers instead of quirks and standards mode. [15:05:48.0000] annevk: re upload, nothing i've done does anything on upload as far as i know, so i haven't done anything with that [15:06:14.0000] browsers didn't agree - so there was no such thing as "changed to match browsers" [15:06:31.0000] annevk: but sure, if you want to do something that depends on network buffers emptying or something, then sure, tasks for that makes sense [15:06:36.0000] tantek: the table quirk is pretty much agreed upon now [15:06:53.0000] annevk: i don't really understand the other question though. do you have a concrete example of what's ambiguous? [15:06:54.0000] yes, now. [15:06:58.0000] Yes, but they did agree on one thing that deviated from the CSS standards (box model). [15:07:01.0000] but not in 1999/2000 [15:07:09.0000] yuhong - nah - depended on which element [15:07:21.0000] browsers themselves (especially NS) were inconsistent [15:07:53.0000] Hixie: e.g. how many tasks does XHR use to change from OPENED to HEADERS_RECEIVED to LOADING to DONE assuming there's no response entity body? [15:09:09.0000] Hixie: I think the browser networking model uses three tasks for that, but there's nothing really currently that requires that in fetch [15:09:26.0000] Hixie: you could have a single task for the entire response [15:09:50.0000] is there a web observable behavior difference? [15:09:54.0000] annevk: does it matter? ^ [15:10:31.0000] could you ever tell if a browser was using 1 task or using 3 separate tasks and just choosing to service the tasks from the networking task source back to back? [15:10:42.0000] i suppose if they're in separate tasks, then it's not guaranteed that nothing can happen between them, where if (in that case) they always use one task, it is [15:11:05.0000] it could, but since it's a separate task source it's up to the browser whether anything else happens in between or not [15:11:12.0000] since the browser can pick which task source to service at any point in time [15:11:29.0000] Now I realize that even versioning as a buzzword don't make sense. [15:11:34.0000] jamesr: I'm not sure if there's an observable difference [15:11:38.0000] annevk, then why do you care? [15:11:41.0000] jamesr: right, but if they're in a single task, then they're *required* to ensure nothing else happens in between; in separate tasks, they can choose to do so or not to [15:11:55.0000] annevk: well yeah. you could be receiving one byte per TCP packet, or you could get the whole GB all at once with the OS only telling you once it's buffered the whole thing, there's no way to say which is going to happen [15:12:04.0000] zewt, very true. so the difference is if you want to require them be back-to-back or not [15:12:09.0000] i can't imagine why you would want to [15:12:12.0000] annevk: so the number of tasks is entirely arbitrary [15:13:18.0000] MozillaZine's article on this: http://www.mozillazine.org/talkback.html?article=1708 [15:13:38.0000] jamesr: well, if in common cases you can never sit blocked in some of those states on network activity (which I think is the case), then you might be able to get more deterministic behavior [15:14:01.0000] eg. annevk: weren't you noting that it's impossible to actually sit in HEADERS_RECEIVED, since you always go right to LOADING (or something along those lines)? [15:14:20.0000] jamesr: I care because a) I don't know and b) XHR is currently somewhat unclear as to whether you could skip certain states because of this [15:14:59.0000] zewt: I was, but I might have been incorrect if the fetching layer actually does distinguish that case and queues a separate task for it (as XHR expects) [15:15:59.0000] right, but if in reality browsers do run those states atomically, then it might make sense to require it be in a single task [15:16:07.0000] (no clue if they do or not) [15:16:28.0000] probably a tough thing to test, too... [15:16:42.0000] could depend on buffer sizes, etc [15:16:45.0000] so you suspect there are cases where the spec could be more exact, but you aren't sure if that matches implementation's behavior? [15:17:27.0000] jamesr: no, I think the spec might be incorrect in certain cases because it expects an order that's not necessarily given [15:18:03.0000] have an example? [15:18:05.0000] sorry, lost you a bit--what ordering isn't given? [15:18:35.0000] jamesr: http://xhr.spec.whatwg.org/#same-origin-request-event-rules will be used exactly once if there was only ever one networking task [15:18:51.0000] jamesr: which basically falls flat [15:19:41.0000] actually i don't really know what this section means [15:20:18.0000] what does "While making the request also follow the same-origin request event rules."? when are these "rules" triggered? [15:20:51.0000] maybe this is tied to language in fetch that I'm just not familiar with [15:21:17.0000] From http://blogs.msdn.com/b/ieinternals/archive/2011/03/23/understanding-local-machine-zone-lockdown-restricted-this-webpage-from-running-scripts-or-activex-controls.aspx [15:21:17.0000] no it's vague and I want to fix it [15:21:55.0000] in part by getting the answer as to whether fetch should give explicit callbacks for these situations or not [15:22:24.0000] while i'm not the one you want an answer from, i expect the answer is yes :) [15:22:27.0000] About the IE team citra early 2004 when no real work was done on the rendering engine itself: "But it's understandable, at the time, I believe the IE team was under a dozen brave souls, and boy were they busy.]" [15:23:19.0000] Hixie: would it work to queue tasks on the networking task source with certain hints associated with them? [15:23:58.0000] Hixie: e.g. "upload task", "headers in the bag task", "receiving some entity task", ... [15:24:26.0000] As I mentioned before, even later on it took until XHTML and DOM Level 2 was more than *10* years old for IE to finally implement them. [15:24:56.0000] annevk: personally I wouldn't queue tasks, just take algorithm-callbacks by name and invoke them [15:25:10.0000] if the user (eg. xhr) wants them to happen in some task, then queue a task from there [15:25:20.0000] And by then, XP was in extended support, and thus MS did not release IE9 for them, making IE8 the new Netscape 4. [15:25:31.0000] Hixie doesn't want to change the model and HTML uses tasks for this all over [15:25:39.0000] (for XHR, it might want them in the XHR's personal task source, rather than networking) [15:26:18.0000] We can make the task source configurable, sure [15:26:23.0000] annevk: don't need to change the model from HTTP's point of view; just wrap the algorithm if needed and you'll get the same result [15:26:33.0000] Why does jQuery 2.0 not support IE8? [15:27:22.0000] zewt: that sounds hacky [15:27:23.0000] In fact, what changed in IE7 and IE8 is pretty small compared to what changed in IE9. [15:27:26.0000] not sure [15:28:33.0000] anyway, bedtime [15:28:53.0000] don't think it's hacky (it's just like any compatibility shim in an API), but dunno if it's right, either [15:32:25.0000] And BTW mutation events reminds me of win32k user mode callbacks. [15:33:08.0000] http://www.mista.nu/research/mandt-win32k-paper.pdf [15:35:07.0000] With IE10 not implementing mutation observers, I wonder if browsers will ever be able to remove it. [15:35:14.0000] *mutation events. [15:39:46.0000] BTW, the quirks vs standards mode is mentioned in http://www.w3.org/wiki/Evolution/Versions [15:40:05.0000] I am thinking of using CSS box model as an example. [15:40:29.0000] When I finally begin to edit the wiki. [15:47:02.0000] anne: don't understand what this is for 2013-03-05 [16:25:35.0000] hey all, I'm trying to use a local copy of validator.nu to validate against a custom schema, but haven't found how to enter the custom schema into the web service [16:25:49.0000] is this the right place to ask about it? [16:26:40.0000] hmm, the irc page says many of you share my timezone -0700 interesting [16:26:44.0000] anyone around by chance? [16:28:17.0000] this is a reasonable place to ask [16:28:23.0000] you want MikeSmith or hsivonen [16:28:39.0000] they're both probably asleep right now [16:28:41.0000] ok, thx [16:28:44.0000] ah, europeans? [16:28:56.0000] hsivonen: is in europe and MikeSmith in japan [16:28:59.0000] er [16:29:00.0000] np, I'll hang out here for the next week or so probably [16:29:08.0000] s/ hsivonen / jpwhiting [16:29:12.0000] hehe [16:29:20.0000] or no, just remove the colon [16:29:22.0000] what am i saying [16:29:25.0000] I've already messed up your tab completion hehe [16:29:26.0000] i'm clearly too tired to be working [16:29:30.0000] time to edit the spec [16:33:58.0000] ap: ping https://www.w3.org/Bugs/Public/show_bug.cgi?id=18460 [16:34:15.0000] Hixie: looking [16:37:48.0000] Hixie: I don't have a proposed verbiage for the spec. All I know is that XSLT spec requires producing

, and that this is bad for HTML [16:38:20.0000] Hixie: Simon Pieters appears to know more, having said "If you're going to fix it, why not fix it properly?" [16:39:21.0000] Hixie: whether we can get XSLT spec to change, I also don't know [16:39:32.0000] surely XSLT outputs XML [16:39:43.0000] if it outputs
in text/html then it's just wrong [16:39:56.0000] which doesn't seem like an HTML bug [16:40:10.0000] Hixie: they wrote their spec under the assumption that HTML elements have an empty namespace [16:40:17.0000] Hixie: and then HTML changed [16:41:38.0000] Hixie: HTML spec already patches the XSLT spec, http://www.w3.org/TR/html5/dom.html#interactions-with-xpath-and-xslt [16:41:49.0000] woah, man, don't like to the TR/ page :-) [16:41:56.0000] http://whatwg.org/#interactions-with-xpath-and-xslt [16:41:58.0000] er [16:42:01.0000] http://whatwg.org/html#interactions-with-xpath-and-xslt [16:42:08.0000] it's a trap [16:42:30.0000] Hixie: sorry, didn't mean to offend :). just copied the link from https://www.w3.org/Bugs/Public/show_bug.cgi?id=18460 [16:42:37.0000] ap: sure, i'm happy to patch it more. i just need to know what to say. [16:43:13.0000] anyway, i'll ping zcorpan again [17:23:49.0000] jpwhiting: hi. Looking now [17:25:34.0000] jpwhiting: ok, you need to use the "schema" parameter [17:25:41.0000] http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters#schema [17:26:01.0000] "This parameter takes a space-separated list of schema IRIs (http or https). The schemas can be RELAX NG 1.0 schemas, Schematron 1.5 schemas or identifiers for built-in non-schema-based checkers." [17:29:50.0000] MikeSmith: yeah, I'd like to embed mine into the validator.nu itself running locally, but haven't been able to yet [17:30:13.0000] ah [17:30:31.0000] I've also found two places within the tool that have schemas, both syntax/relaxng and validator/schema [17:30:38.0000] not sure which location is used [17:31:27.0000] I've copied my schema .rnc file to both places and it includes other .rnc files also, but I get an error http://paste.kde.org/687836/ [17:31:53.0000] and have added it to both validator/entity-map.txt and validator/presets.txt [17:32:20.0000] it's a copy of syntax/relaxng/html5.rnc with some things commented out like ruby and svg [17:35:04.0000] jpwhiting: if you go into the validator/src/nu/validator/localentities/files directory, do you see a corresponding file there? [17:36:11.0000] MikeSmith: nope [17:36:16.0000] no *sta* in there [17:36:25.0000] I am trying to run with build/build.py --local run [17:37:19.0000] did you already do a "build/build.py build" after you added the scheam? [17:37:27.0000] *schema [17:37:28.0000] ah, no [17:37:29.0000] /me tries [17:39:57.0000] ok, then if I run it gives a different error, Syntax error File: http://s.validator.nu/common.rnc Line: 1 Col: 0 [17:40:01.0000] is it not expecting rnc format? [17:42:01.0000] http://paste.kde.org/687854/ [17:42:47.0000] jpwhiting: Reference to undefined pattern “html.elem”. [17:42:52.0000] appsears to be the root cause [17:43:24.0000] your schema seems to be using the html.elem pattern before it's defined [17:43:29.0000] ah, that appears after include "common.rnc" [17:43:39.0000] just like in syntax/relaxng/html5.rnc [17:44:03.0000] do I need to move start = html.elem above it? [17:44:34.0000] does it use the rnc files from syntax/relaxng? or from validator/schema I guess [17:45:18.0000] /me moves it in validator/schema/sta.rnc [17:45:26.0000] and rebuilds [17:45:31.0000] yeah that's probably what you want [17:46:06.0000] I think what those errors indicate is that it's not finding a common.rnc file a tall [17:46:09.0000] *at all [17:46:32.0000] nor any of the other includes [17:46:38.0000] ah, because that's in syntax/relaxng but not validato/schema [17:46:41.0000] ok, /me copies [17:51:21.0000] yeah that may work [17:51:34.0000] it's seems to be finding the "meter.rnc" file OK [17:51:47.0000] which I assume is a file you added [17:51:55.0000] yep [17:52:10.0000] so if you put copies of the other files in the same place where that one is, you should be OK [18:19:41.0000] hsivonen: http://validator.nu/ not responding (though http://html5.validator.nu/ is responding fine) [18:39:08.0000] jgraham: https://code.google.com/p/pywebsocket/issues/detail?id=101 is the same as what's causing the websocket test problems, I think [18:39:30.0000] fix is https://code.google.com/p/pywebsocket/source/detail?r=552 "Support Python 2.7" [18:39:58.0000] I think I just need to update the pywebsocket install on w3c-test.org and that should fix it [18:40:02.0000] hopefully [18:43:52.0000] hmm no [18:43:55.0000] unfortunately [18:44:01.0000] we already have that fix [18:57:52.0000] MikeSmith: ok, another question, validator/entity-map.txt has html5/html5full.rnc and such but there's no html5 folder in validator/schema [18:58:01.0000] where do those files come from? [18:58:46.0000] from syntax/relaxng [18:59:09.0000] that "html5/" basically is an alias for syntax/relaxng [19:00:00.0000] sorry for the hairiness of this but it's not something that's really designed to be user-hackable very easily [19:00:19.0000] ah, so I don't need to copy these files from syntax/relaxng to validator/schema, just need to make my schema use html5/blah for it's includes [19:00:21.0000] makes sense [19:00:31.0000] even when I go in and touch that stuff I have to re-learn where everything is [19:00:46.0000] ah, np I didn't expect it to be simple (for a project that use a build script for running a web service too) :) [19:00:52.0000] yep, np [19:04:05.0000] sweet, that worked :) [19:12:41.0000] hmm, seems to get stuck on the initial html tag though :/ [19:13:10.0000] http://pastebin.com/dkW3xxFV says unnamespaced html element as the first and only error [19:13:18.0000] when using my schema or html5+svg+mathml schema [19:13:59.0000] /me checks the html5.rnc that's used in the presets, maybe I'm missing something [20:23:51.0000] jpwhiting: that would seems to indicate that it's going through the XML parser for some reason [20:24:02.0000] ah yeah I think I know why [20:24:18.0000] you have to tell that code that's an HTML-compatiable schema [20:24:24.0000] I think otherwise it assumes XML [20:24:34.0000] gimme a minute [20:27:51.0000] ah no [20:28:04.0000] it's in the JS for the UI [20:29:55.0000] jpwhiting: validator/site/script.js you have to add your schema URI to that list of isHtmlCompatiblePreset URIs [20:30:09.0000] otherwise the validator is going to assume it's XML [20:54:36.0000] hmm, how do you do a createPattern but with image scaling? [20:54:44.0000] drawImage takes a dh and dw [20:56:00.0000] oh sigh, you need to drawImage() it into another canvas :( [23:26:18.0000] Hixie: :-( [23:28:54.0000] Hixie: It's really simple. XHR invokes fetch, asynchronously for the purposes of this discussion. Fetch queues tasks. XHR needs to piggyback on those tasks to do various things. If we can label the tasks somehow, that would make the piggybacking easier as the relationship between the tasks queued and what XHR is doing would be perfectly clear. [23:30:32.0000] Hixie: And as far as I can tell there's a couple of such points: data is being transmitted to the server, header data has been received from the server, body data is being received from the server, everything is in [23:32:13.0000] So the HTML WG does really copy the WHATWG, including typos in my last name: https://github.com/w3c/html/commit/b2e4d7e252df4c1be9e71666ec794ab0b2fa3a3e [23:32:34.0000] Glad to see they're also adopting the URL Standard though, that's nice. [23:33:40.0000] Also amusing that Microsoft would make such a commit. Maybe they didn't pay attention to what was going on? With DOM Parsing & Serialization they were all over it. [00:54:01.0000] I guess I'll go with both tasks and callback like things like DOM has. E.g. such as http://dom.spec.whatwg.org/#node-is-inserted [01:23:49.0000] MikeSmith: https://twitter.com/brucel/status/308862208396386305 [01:25:19.0000] source code of opera.com looks pretty buggy [01:26:46.0000] annevk: is ok, it works in webkit :) [01:27:27.0000] and it has
, prolly all good [01:27:57.0000] heh [01:28:39.0000] Hmm. Should have a tidy post-processing step probably. [01:29:01.0000] Just because, strange people like annevk takes a look at the source without using an inspector which does it for you P: [01:30:03.0000] You make me feel like an endangered species [01:30:43.0000] so question is does opera mini beta for android expose acc layer provided in webkit? [01:31:15.0000] will test and find out... [01:32:37.0000] SteveF: There is no Opera Mini Beta — there is just "Opera", with both the Chromium-based renderer and the Presto-based "off-the-road mode". [01:33:28.0000] gsnedders: OK so same question diff name [01:34:00.0000] SteveF: I think gsnedders answered the question :) [01:34:22.0000] The OBML impl is largely the same, so change there won't exist. The Chromium-based renderer I don't know about here. [01:35:16.0000] "Chromium-based renderer" may equal acc layer exposed [01:36:21.0000] SteveF: Waiting for it ;-) [01:36:48.0000] odinho: so is that a not yet? [01:36:59.0000] SteveF: Waiting for you to test it, that is :D [01:37:22.0000] I must say, Opera 14 on my mobile works nicely so far. [01:37:28.0000] odinho: OK am firing up nexus now [01:56:55.0000] and nexus won't fire up... [01:57:23.0000] :/ [02:07:21.0000] some bug when the battery is low, now how to fix [02:09:33.0000] http://lists.w3.org/Archives/Public/www-international/2013JanMar/0327.html "The web site uses its own non-standard tags, tc and sc. Instead, they should be using the BCP 47 tags zh-Hant and zh-Hans (or zh-Hant-HK and zh-Hans-HK)." [02:10:05.0000] Given that people already do simple stuff like lang=nl incorrectly, asking them to go to those extremes... [02:10:23.0000] I think that's basically asking for people to give up on correct annotation. [02:15:02.0000] annevk: lang=nl is incorrect? [02:15:30.0000] mounir: no, but people forget to tag it as such or use lang=en instead due to copypasta, etc. [02:18:06.0000] "tag it as such"? [02:18:37.0000] mounir: forget to have a lang attr at all? [02:19:04.0000] Stroopwafels [02:19:07.0000] Stroopwafels [02:19:29.0000] I guess I just should sleep more during the night... [02:19:47.0000] mounir: http://www.answers.com/topic/tag 11.1 ;-) [02:19:48.0000] sleeping during the day is fine too [02:20:00.0000] sleep all the things [02:20:15.0000] Ms2ger: yum [02:32:20.0000] SimonSapin: indeed, the main issue is that not everybody agrees with that [02:38:56.0000] If you have a class that has a couple of subclasses. How do you refer to the class excluding the subclasses? [02:39:12.0000] And how would you refer to the class including the subclasses? [03:24:07.0000] mmm... copypasta [03:27:07.0000] annevk: about the classes, are you speaking generally or in some particular language? [03:31:35.0000] Is https://groups.google.com/forum/?fromgroups=#!forum/jquery-standards dead? [03:31:43.0000] marcosc: language is English [03:36:12.0000] annevk: argh, that's hard as it's context dependent. And gets into taxonomies. [03:36:38.0000] marcosc: you have a response [03:36:52.0000] onology! [03:36:57.0000] marcosc: a response can be a redirect or network error any other response, named response [03:36:57.0000] /me wins the thread [03:37:15.0000] or any other response* [03:37:28.0000] Or I would if I could type [03:37:31.0000] sigh [03:37:33.0000] sometimes you want to refer to response and include redirects and network errors, sometimes you don't [03:37:53.0000] *ontology [03:38:26.0000] ./ban jgraham "forbidden word used!" [03:38:37.0000] lets owl it up [03:38:45.0000] heh [03:38:49.0000] but really, none of this is helping [03:38:57.0000] annevk: you might make a group just for those cases [03:39:45.0000] marcosc: name it [03:40:01.0000] /me runs bikeshed.js [03:43:07.0000] argh. That's a hard one. I wonder if you are just better off listing them as you do above. [03:45:11.0000] given that you have response already cleanly defined; then you just include x, and exclude y, as you just did. That was making pretty good sense to me. [03:45:29.0000] even jgraham could follow along! :) [03:45:38.0000] okay, so that's what I've done so far [03:46:39.0000] /me isn't following :p [03:47:47.0000] heh [04:09:16.0000] Okay, so http://html5.org/temp/fetch.html is a bit clearer now... Now I guess I need to define "request" and remove some of those red boxes... [04:12:53.0000] oh. lovely. Thunderbird uses a different encoding detector interface than Firefox [04:13:03.0000] but we are building that code for Firefox, too [04:14:14.0000] Meaning we just have some additional dead code? [04:14:34.0000] annevk: well, it's not dead in TB. but dead in FF, yeah [04:26:48.0000] annevk: I wonder if we have use cases for the CJK detector... [05:07:22.0000] annevk: so what did you decide? HEADERS_RECEIVED + LOADING in the same task or separate ? [05:08:16.0000] ah, perhaps no decision yet. fetch.html doesn't mention either one [05:14:29.0000] odinho: browser chrome is usable with talkback on android can't get anything from web content, but that maybe just me as I am not overly familiar with AT on android [05:27:44.0000] annevk: ping [05:32:19.0000] mounir: yo [05:32:59.0000] smaug____: can you think of a way to make that detectable? [05:33:13.0000] smaug____: if not, it probably does not make sense to make requirements either way [05:33:52.0000] smaug____: I will make it more explicit in what order headers -> loading -> progress -> done happens though via some kind of English version of callbacks [05:33:55.0000] annevk: it is detectable with nested event loop spinning. [05:34:24.0000] jamesr: ^ [05:34:28.0000] annevk: refresh my memory: if I have a connnection from my laptop (like file:///) to a server, the CORS request will use "Origin: null"? [05:34:51.0000] mounir: yes, if that works at all [05:35:06.0000] what do you mean? [05:35:45.0000] mounir: well UAs might disallow outgoing requests from file: as that could be a privacy concern of sorts [05:36:20.0000] ok [05:36:43.0000] smaug____: so during headers_received you invoke showModalDialog or some such and then what? I always forget how this works [05:37:29.0000] so if UA allows it, we have "Origin: null" and should "Access-Control-Allow-Origin: *" makes "Origin: null" allowed? [05:37:34.0000] (on the server side) [05:39:35.0000] annevk: right. if state is changed twice during the same task and first change spins event loop, the second state change happens only after nested spinning ends... and in fact it would be possible to get ordering wrong. 11243, I think [05:40:55.0000] smaug____: so once data: URL fetching works, everything will be fetched at once basically [05:41:18.0000] smaug____: (just saying as another data point) [05:41:44.0000] does data: fetching need to work that way? [05:42:04.0000] we're going to define how it works, it could queue 3 networking tasks [05:45:10.0000] smaug____: so I think what you're saying makes me think we should always have at least 4 tasks [05:45:16.0000] 1. headers are in [05:45:27.0000] 2. part of the body is in or there is no body [05:45:38.0000] 3. progress is made (repeat) [05:45:41.0000] 4. teehee [05:46:03.0000] I like the teehee-part. [05:46:16.0000] mounir: euhm, yes [05:46:33.0000] mounir: but if there's credentials in the request, it needs to be spelled "null" on the server [05:46:51.0000] mounir: and there'd need to be a Access-Control-Allow-Credentials header [05:46:57.0000] annevk: well, 3 is optional [05:47:13.0000] annevk: is the right way to do encoding alias resolution from JS to do (new TextDecoder(label)).encoding ? [05:47:31.0000] smaug____: so sometimes we'd not dispatch progress at all? even though we'd dispatch loadstart and loadend? (works for me btw) [05:47:43.0000] hsivonen: yes [05:48:02.0000] annevk: except that returns in lower case rather than Gecko-canonical case, right? [05:48:11.0000] hsivonen: yes and it also does not work for replaced [05:48:17.0000] annevk: didn't catch that [05:48:39.0000] mounir: is this a fetch via XHR? [05:48:49.0000] annevk: sigh. I guess we'll need some xpconnected goo for getting the pref UI right [05:49:07.0000] mounir: if so, server requirements depend on the withCredentials attribute [05:49:27.0000] hsivonen: it seems kinda odd to put such a thing in the standard [05:49:37.0000] annevk: yes, it's trough XHR [05:49:46.0000] hsivonen: but implementing the requirements from the standard is trivial just in JS too... [05:49:56.0000] hsivonen: although someone would have to keep it in sync [05:50:06.0000] mounir: so what's unclear? [05:50:37.0000] annevk: oh, right, there would be the final progress event, maybe [05:50:45.0000] mounir: * on the server works, if the request has the withCredentials set to true, the server needs null and the ...-Allow-Credentials: true header [05:51:20.0000] if the request hasn't withCredentals set to true? [05:51:22.0000] smaug____: oooh, but that means you're right :) [05:51:22.0000] annevk: I'm not suggesting putting the Gecko-canonical case in the spec for now [05:51:39.0000] smaug____: as the final progress event is dispatched in the same task that dispatches loadend [05:52:33.0000] *of course* I'm right :p [05:53:05.0000] smaug____: if only you realized it :p [06:29:31.0000] annevk: we were trying to guarantee that an onprogress at 100% would always happen, iirc [06:30:06.0000] zewt: yeah, I forgot it was there [06:41:32.0000] Hmm, inherits crossorigin from the parent media element? [06:51:44.0000] annevk: yes [06:52:22.0000] annevk: we considered using instead but in the end decided against it [06:53:29.0000] annevk: for reasons involving author expectation, redundancy, and lack of use cases for different crossorigin settings for each track, iirc [06:53:47.0000] and that it's relatively trivial to inherit in the impl [07:48:44.0000] MikeSmith: still around? [07:49:18.0000] I added my rnc file to the list of isHtmlCompatiblePreset URIs and now it says " Schema Error: The chosen preset schema is not appropriate for HTML." [07:51:18.0000] maybe because I created it in build.py with the same lines as html5core but used schemaDriverToggle_Html5 instead of HtmlCore [07:51:35.0000] ah, /me missed a line though [07:52:35.0000] jpwhiting: looking now [07:54:30.0000] I would send you a diff but your build system uses many svn and mercurial instances to checkout, so it's very tricky to make a patch... [07:54:32.0000] jpwhiting: yeah as I first thought earlier it's not enough to add your schema to the JS file [07:54:59.0000] ah [07:55:12.0000] you have to add your schema URL to validator/servlet/VerifierServletTransaction.java [07:55:35.0000] line 807 or so [07:55:40.0000] schemaUrls.startsWith [07:55:50.0000] I don't have a servlet folder under validator here [07:56:11.0000] private boolean isHtmlUnsafePreset [07:56:15.0000] ah, src/nu/validator/servlet? [07:56:24.0000] ah yeah that [07:56:40.0000] (shouldda copied the whole path) [07:57:05.0000] np, ok, I'll try with that too [07:57:07.0000] thanks [07:57:53.0000] perfect, thanks [08:03:23.0000] darobin: could you have a look at https://github.com/darobin/respec/pull/156 ? [08:23:07.0000] mounir: LGTM [08:23:12.0000] do you need this in a build soon? [08:23:31.0000] darobin: Wrong browser [08:23:50.0000] jgraham: huduhwha? [08:24:21.0000] LGTM = WebKit, r+ = Mozilla, Accepted = Opera (Critic) [08:24:39.0000] Dunno what Microsoft use [08:24:57.0000] jgraham: You're thinking Chrome, maybe? WebKit is r+ [08:24:57.0000] We could probably have an uncharitable competition [08:24:59.0000] heh [08:25:11.0000] Oh, Chrome then [08:25:13.0000] We use bugzilla just like Moz does. [08:25:41.0000] Sure, but I hear WebKit people say LGTM in bugzilla [08:25:48.0000] Or see, really [08:25:49.0000] I really meant Let's Go Troll Mounir [08:25:51.0000] but hey [08:26:08.0000] darobin: You mean we weren't supposed to start until now? [08:26:17.0000] jgraham: Sure, it sounds weird to r+ something in chat. [08:26:42.0000] jgraham: I thought we were missing some oomph in our trolling [08:27:18.0000] TabAtkins: I am clearly not an expert here, but I'm pretty sure I see Moz. people say r+ outside of the status field [08:28:48.0000] Eh, they could. [08:29:23.0000] darobin: i need that to get FPWD for the runtime spec [08:29:31.0000] so if it could be in a build soon that would be great [08:29:37.0000] but no rush [08:29:42.0000] is soon == today or soon == tomorrow? [08:30:35.0000] darobin: as you prefer, really [08:30:41.0000] no rush means in 5 min typically [08:31:00.0000] mounir: well, if I preferred today I'd JFDI instead of asking you :) [08:32:57.0000] darobin: I meant the "no rush" :) [08:33:03.0000] so do it tomorrow [08:33:08.0000] So I think we should have three CORS modes [08:33:17.0000] taint / no / yes [08:33:28.0000] mounir: coolness then [08:33:41.0000] and then the other stuff Hixie invented is some kind of cross-origin setting for cookies and such [08:34:02.0000] Not :I'm confused", "Seriously WTF" and "I'm going to hunt down the persaon that invented this piece of shit and kill them with a spoon"? [08:34:18.0000] ~~/ Oooh my baby CORS, now it's a yes, now it's a no, really taint what it used to beeee /~~ [08:34:23.0000] Or am I confusing it with appcache? [08:34:40.0000] jgraham++ [08:35:22.0000] Anyway, sorry I think annevk was makign a sensible point… [08:36:17.0000] annevk: Are those modes that the server opts into, or that the client requests? [08:36:19.0000] darobin: not sure if joking or expressing an opinion by means of ? [08:36:28.0000] Or that the fetch algorithm uses? [08:36:37.0000] TabAtkins: fetch [08:36:55.0000] Ah, okay. Yeah, enough things taint that it would be useful to capture that in the algo directly. [08:37:18.0000] CORS no could then be used instead of the force same-origin flag [08:37:47.0000] annevk: I was just singing [08:37:52.0000] probably something sounding like Abba [08:38:25.0000] and CORS no / CORS taint is what the potentially CORS fetch thing goes into depending on the value of the crossorigin attribute [08:39:24.0000] and then I guess I'd write some kind of wrapper text that allows Hixie to use the old calling conventions for fetch...? [08:40:03.0000] Also: write some goddam explanatory text so the rest of us can actually figure out how to invoke your spec. ^_^ [08:44:10.0000] which spec? [08:44:41.0000] Last time I looked at CORS to try and use it (I forget for which spec), I couldn't figure out what to actually *do* with it. [08:45:00.0000] there's text on what specifications are supposed to do [08:45:01.0000] I knew I had to do something with forming a request, and handling it somehow, but that was all I could get without a really deep reading. [08:45:20.0000] not that specifications did that [08:46:52.0000] but then specifications were typically not even using fetch to begin with [08:47:15.0000] so if from a situation without fetch you're also trying to tackle CORS, well, yeah, it's gonna be icky [08:47:47.0000] also, nobody ever gives written feedback on that [08:48:23.0000] Heh. [08:49:06.0000] For example, reading the CORS section, I can't actually find any mention of the fetch algorithm. [08:50:11.0000] If you search in the CORS specification you'll find that the two relevant fetch instances are linked (and another one that's not so relevant is too) [08:50:20.0000] Now, this is going to change [08:50:52.0000] Sure, but why should I know about that? I'm just a dude trying to write a spec, and someone told me to use CORS. I look in the section about Specification Advice, and I'm not enlightened. [08:50:53.0000] http://html5.org/temp/fetch.html is my draft for Fetch, which encompasses both HTML fetch and CORS and will give a single entry point with ideally sensible defaults [08:51:22.0000] TabAtkins: for starters, there's no such thing as "a dude trying to write a spec" :p [08:51:33.0000] That's me! [08:52:24.0000] TabAtkins: it says quite clearly how to construct a cross-origin request though [08:52:30.0000] TabAtkins: "For all cross-origin requests that APIs can make for which the resource sharing policy in this specification is supposed to apply, the CORS API specification needs to reference the cross-origin request algorithm and set the following input variables appropriately: ..." [08:53:16.0000] Now this is fairly low-level, but then CORS is fairly low-level. Fetch will make it slightly higher-level. [08:53:20.0000] I think you and I have different definitions of the word "clearly". [08:53:22.0000] ^_^ [08:53:46.0000] Personally, I'd love something that just started like "To make a request using CORS, ..." [08:53:52.0000] That's what it says :-) [08:53:58.0000] Instructions for me, not descriptions of the things I have to produce. [08:54:45.0000] It's an instruction to reference that algorithm, set the variables correctly, and handle whatever it returns as appropriate... [08:55:01.0000] In any event, ideally it's obsolete within a month [08:58:24.0000] TabAtkins: while we're at it, is the box model defined yet? Can I reference some concept defined in CSS for what fullscreen calls "top layer"? [08:58:41.0000] Hey, I don't live in a glass house. [09:00:01.0000] annevk: AFAIK "top layer" is a new concept that we have yet to define [09:00:07.0000] it’s kind of a super-z-index [09:00:44.0000] SimonSapin: tell me more ;) [09:01:13.0000] Fullscreen needs us to define something [09:01:20.0000] SimonSapin: I wrote Fullscreen ;) [09:01:21.0000] we discussed it at the last f2f [09:02:10.0000] annevk: http://lists.w3.org/Archives/Public/www-style/2013Feb/0392.html "Top layer positioning" [09:02:30.0000] (well, the W3C copy, roc did a bunch of it iirc and Hixie gave input on the top layer bit as it's used by dialog too) [09:02:38.0000] did I just say W3C copy? [09:02:43.0000] wow, I meant spec copy [09:02:57.0000] ? [09:03:08.0000] does spec copy means whatwg? [09:03:51.0000] SimonSapin: http://fullscreen.spec.whatwg.org/#new-stacking-layer [09:04:13.0000] surprised that reference was not part of the discussion [09:06:36.0000] annevk: are :fullscreen and ::backdrop implemented? [09:06:55.0000] SimonSapin: dunno [09:07:23.0000] been working on low-level stuff mostly apart from fixing minor bugs there [09:09:56.0000] so, fullscreen is two things: 1. hide the browser chrome and extend the viewport to be as big as possible, preferably the whole screen 2. Move an element to the top layer and maybe set its width/height to 100% [09:10:43.0000] annevk: 2. is kind of magic, we discussed having it in CSS even for non-fullscreen stuff [09:10:50.0000] and make it not magic [09:11:02.0000] it's needed for too [09:11:09.0000] it's not really magic [09:11:17.0000] it's just a new stacking layer [09:11:36.0000] the only problem is that it's monkey patching [09:11:42.0000] That's magic. :/ [09:11:58.0000] good morning, Whatwg! [09:12:24.0000] The big problem is that doesn't just need a new layer - it needs positioning too. And you don't want to prevent the under-layer from scrolling. [09:12:34.0000] annevk: yes, basically we want something in csswg space that describes this new stacking layer, and maybe a property/value to put stuff there [09:12:47.0000] For example, most popup-style tips want to be on the top layer, but they just want to scroll with the page normally. [09:16:08.0000] So it's been almost a year now since this text has been out there. I made the request for something better around the same time I drafted this and around the time the CSS WG gave feedback. I might have said something in November 2011 too during one of my last CSS WG F2F meetings. [09:17:16.0000] I don't feel this is really up to me. Maybe we can change this a year after the fact, maybe we can't. I guess we'll see, but thus far I don't see a replacement. [09:17:47.0000] Yup, and it's one of many important things I've been working on. [09:21:19.0000] annevk: change what after the fact? [09:26:32.0000] SimonSapin: details [09:36:13.0000] Adding a top-layer to fixpos is easy enough, because fixpos doesn't do anything fancy in the first place. [09:37:12.0000] 's complexity is enough to tip it into the "new feature" bucket, though - special-casing it wouldn't make it any simpler, and would shut out a bunch of nearly identical things. [10:07:22.0000] anyone around involved with indieui? [10:07:32.0000] it's serving from https and trying to load respec from http [10:07:54.0000] Dunno, tantek? [10:08:01.0000] tantek, ^^ [10:08:22.0000] it's just not the same without respec's familiar FOUC [10:09:26.0000] On that subject, I just added command-line options to my preprocessor. I feel like a big boy now. [10:27:42.0000] https://dvcs.w3.org/hg/IndieUI/raw-file/default/src/indie-ui-events.html#UIValueChangeRequestEvent [10:27:44.0000] is that an enum? [10:30:00.0000] jamesr, no [10:30:07.0000] what is it? [10:30:14.0000] Stupid [10:30:21.0000] or rather, is it *trying* to be an enum? [10:30:31.0000] No [10:30:36.0000] Argh, someone needs to review that spec. And someone shouldn't be me. [10:30:52.0000] jamesr: fwiw, see whatwg list for why tasks are important [10:30:54.0000] It's *trying* to do the stupid "hack an enum as a manual set of integers" thing. [10:30:55.0000] Note that it doesn't even allow you to see which of these ints apply [10:31:44.0000] /me scrolls up [10:32:51.0000] am not involved with indieui [10:32:58.0000] the name is a bit of a misnomer too [10:33:24.0000] maybe if respec would load i could see contact info [10:33:25.0000] it's more about "hardware independent events" [10:33:43.0000] not really what people think of with the term "indie" [10:33:55.0000] this is my kind of indie: #indiewebcamp [10:34:21.0000] James Craig, Apple Inc. [10:34:21.0000] Michael Cooper, W3C [10:34:24.0000] jamesr, ^ [10:34:25.0000] jamesr - googling for IndieUI gives: http://www.w3.org/WAI/IndieUI/ [10:34:38.0000] And apparently sangwhan and Lachy are involved [10:34:43.0000] And hober [10:35:11.0000] email addresses here: http://www.w3.org/WAI/IndieUI/#contacts [10:35:24.0000] I've chatted a bit with James Craig and hober about it [10:35:47.0000] conceptually it seems worth exploring - though from my own previous experience with attempting such events I know it's a nontrivial problem so I'm not holding my breath [10:35:59.0000] or rather, attempting such abstractions [10:38:45.0000] we haven't even specced the actual events correctly [10:38:57.0000] building abstractions on top of a turd is unlikely to yield good results [10:41:14.0000] annevk - that seems like an accurate assessment of the situation. [10:43:51.0000] I told some people, but people love building turds, so they don't listen. Or maybe it's more that people love building sand castles, which are kinda the same, and wash away just as easily. [10:44:35.0000] But they look nicer [10:45:41.0000] Also, the message "build this instead" doesn't work. If I think they should do that instead, I should do that instead, and then yell at them once I'm done. But fixing user interaction events seems even less rewarding than fixing fetching. [10:49:17.0000] arg, I wonder if Respec supports given a spec a sub-title. [11:09:58.0000] jamesr: i'll ping jcraig re: his respec bug [11:12:11.0000] hober, thanks [11:12:29.0000] hober, while you're at it, want to ask him about those ghetto enums? [11:15:27.0000] jamesr: sure. :) [11:16:24.0000] jamesr: that spec needs help [11:16:35.0000] Or a grave [11:17:32.0000] i'd be happy for just loading up the ED with proper styling [11:51:52.0000] Hixie: this thing of not being able to round-trip the DOM through serialization really sucks for editing code. Any ideas on a solution or are we just doomed? [11:52:30.0000] Hixie: a thought i had is that you could somehow mark a part of your HTML/DOM as using E4H parsing. [11:52:56.0000] It's not a great solution because you then need to use E4H parsing wherever you display the content. [11:53:24.0000] but, then we could also make it so that whenever you copy, we put a text/e4h or something on the clipboard in addition to the text/html [11:53:40.0000] so that round-tripping through copy-paste could at least be made to work well [12:23:46.0000] annevk: i don't understand what's not clear. you call fetch. fetch queues up some tasks for you, including a final task. so you just say "when the task is queued" or "when the final task is queued" or whatever. [12:24:40.0000] Hixie: okay, maybe that kind of implicit association works [12:25:34.0000] Hixie: feel free to ignore that part of the email [12:25:53.0000] ojan: there are things in the source the DOM can't represent and vice versa; i don't think anyone has made any attempt at fixing that. it's not clear what the use case is. What are you finding hard in editing code? [12:26:09.0000] annevk: heh k [12:26:29.0000] annevk: i mean, it's always possible that i'm wrong, but then the html spec has a number of problems, since i use that style througout... :-) [12:26:38.0000] nobody seems to have had troubles implementing it so far [12:27:12.0000] anyone around who's a whatwg blog adminy type person? i have someone who has sent me a link to a translation of some blog entry that they'd like linked to [12:27:23.0000] Hixie: it's just that if you look at it in the abstract there's a whole number of places that can queue tasks on that networking queue, so how do you know it's yours is kinda undefined / implicit [12:27:34.0000] Hixie: sounds like SEO scam [12:29:46.0000] could be seo spam, but i'm fine with it being linked to with rel=nofollow :-) [12:30:05.0000] /me updates blog [12:30:08.0000] annevk: how do you envisage making it explicit? [12:30:13.0000] Hixie: I've got admin btw [12:30:33.0000] the html spec uses terminology like "Fetching an external script must delay the load event of the element's document until the task that is queued by the networking task source once the resource has been fetched (defined above) has been run" [12:30:37.0000] which doesn't seem ambiguous at all [12:31:54.0000] hm yeah, actually, this page does seem like seo spam [12:31:59.0000] nevermind [12:32:01.0000] I think maybe I just misunderstood that concept entirely... E.g. XHR ended up (in part based on comments too iirc) with a task source per object. [12:32:22.0000] So you could easily clear all tasks for one instance. [12:32:59.0000] that means that each XHR's events are ordered with respect to the other events for that XHR object, but not with respect to any other events [12:33:03.0000] which sounds legit [12:33:28.0000] task sources are just a way to make sure things that should be ordered relative to each other, are ordered relative to each other [12:34:09.0000] But should e.g. img loads be ordered relative to each other or should each img have its own network task source? [12:35:35.0000] well it's kind of academic since the order they're put in the task source is dependent on how the UA deals with network traffic [12:38:11.0000] Hixie: when you copy and then paste in a contentEditable region, we round-trip through an HTML string [12:38:34.0000] Hixie: so, if you create a DOM that can't be represented by HTML, then your copy-paste doesn't actually end up pasting in the same content [12:39:11.0000] Hixie: similarly, when you are done with your rich text editing and you serialize the content for showing in a different context (e.g. you send your rich-text email) [12:39:28.0000] Hixie: the sent result would be different from the result the user saw [12:45:46.0000] Quick, somebody help me come up with names for a property that suppresses box generation (the thing that display:none does). [12:45:57.0000] Current candidates are "box" and "show". We hate these. [12:46:30.0000] so what's wrong with display:none? [12:46:34.0000] The current values for the property will be "normal", "none", "contents", and "hide"/"collapsed"/something. These are up for debate. [12:46:38.0000] annevk: Whole lots. [12:47:11.0000] annevk: Ask jQuery, for one - call .hide(), then .show(). What's its display? [12:47:26.0000] What if it started as display:none, and then they just call .show()? [12:47:33.0000] Additionally, the hidden attribute. [12:47:50.0000] Authors need to be able to tweak it (use transitions, etc), so you can't put its effect in the UA !important level. [12:48:03.0000] But it's way too easy to accidentally override if put in the UA or pres-hint level. [12:48:09.0000] Hixie: regarding this point: http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2013-February/038973.html, is the fact that nested articles could be something other than comments not a compelling enough reason to add a element? (e.g., Silvia would have to show that this is a significant problem?) [12:48:18.0000] TabAtkins: box-tree? [12:48:19.0000] A completely separate property wouldn't be accidentally overriden by someone setting "display: flex;". [12:50:51.0000] ojan: ok but what kind of stuff can't you represent that is user-visible? do you mean like form controls' current values and canvas element's images? or something else? [12:51:25.0000] yroc: how could nested
s be anything other than comments? [12:51:44.0000] Hixie: the bug in question involved nested

s [12:52:02.0000] ah, well, if the DOM is bogus in the first place, yeah... [12:52:14.0000] Hixie: personally, I don't know, but Silvia seems to think it's possible (without specifying an example) [12:52:25.0000] i mean...you can create the DOM...so... [12:52:39.0000] yroc: the spec says "When article elements are nested, the inner article elements represent articles that are in principle related to the contents of the outer article." [12:52:49.0000] call it bogus of you like...but in practice, the user experience is busted [12:52:52.0000] yroc: i haven't yet dealt with that thread though [12:52:57.0000] ojan: sure [12:53:03.0000] ojan: i just meant it's not a valid document in the first place [12:53:20.0000] ojan: and we make things invalid when they're going to break [12:53:36.0000] ojan: as a warning to people that things will break [12:53:42.0000] ojan: but sure, some people will do it anyway... [12:54:17.0000] ojan: hmm [12:54:20.0000] i mean...i guess it's not a tragedy for us to break on invalid content. [12:54:49.0000] ojan: how did they end up with nested

s in the case in question? explicit dom manipulation? [12:54:59.0000] in this case, funny enough it was WebKit creating the nested paragraphs :( [12:55:04.0000] d'oh [12:55:05.0000] so, we just fixed that [12:55:08.0000] editing code! [12:55:21.0000] but, explicit DOM manipulation or E4H was what i had in mind [12:55:29.0000] if it's just copy-and-paste, i guess one way would be for browsers to have a copy-and-paste format [12:55:43.0000] that describes the DOM to be copied somehow [12:55:58.0000] esprehn_: webkit's editing code is one of those bits of the codebase that falls in that rare category of deserving a full-rewrite IMO. [12:56:12.0000] is anyone actually interested in e4h? when i wrote the strawman spec, nobody seemed to want to implement it [12:56:34.0000] Hixie: yeah, that's what i had in mind with the suggestion to put e4h on the clipboard [12:56:42.0000] Hixie: I'm interested in solving that problem [12:56:53.0000] E4H sounds like a fine solution to me. [12:57:03.0000] Hixie: How about, a nested article could be a chapter of a book *if* the chapter is syndicatable. [12:57:05.0000] just need someone with the time and skills to implement it [12:57:33.0000] ojan: perhaps even in JS [12:57:47.0000] anyways... the problem is that it's not just copy-paste [12:57:49.0000] yroc: why would it be nested? what's the outer

? [12:58:07.0000] Hixie: think of the case where your sending an email or publishing a blog post [12:58:18.0000] Hixie: then the server needs a serialized form to serve up [12:58:34.0000] Hixie: The outer article is the whole book. The inner article is a chapter (again, if the chapter is standalone). There are books like that. [12:59:45.0000] esprehn_: i could imagine rewriting it in JS if we expose some extra hooks [13:00:00.0000] Hixie: I'm not talking about most fiction novels, where one chapter doesn't really make sense on its own, and isn't intended to be read by itself. [13:00:07.0000] and eventually, we could probably standardize those hooks and expose them to web content [13:00:43.0000] it'd be kind of awesome if contentEditable just became a builtin JS library that all browsers shared [13:01:30.0000] ojan: well i wouldn't want people to serve up nested

s [13:01:39.0000] ojan: but yeah [13:02:04.0000] nested divs and spans though... [13:02:12.0000] ojan: i'm skeptical about exposing a third format for the DOM (not counting JS), it's bad enough that we have 2 [13:02:18.0000] ojan: but yeah [13:02:29.0000] ojan: dunno what to tell you exactly :-) [13:02:44.0000] yroc: i don't see why you'd wrap the book in an

[13:02:54.0000] yroc: it's just the page [13:03:15.0000] yroc: unless we're talking about a page with multiple books each of which has multiple sub-books? this seems rather hypothetical [13:03:37.0000] yroc: anyway, feel free to continue commenting on that thread. like i said, i haven't read it or dealt with it yet. [13:03:40.0000] Hixie: yeah...it's gross. but...if we were to implement E4H, then we essentially have that 3rd format already, no? [13:03:40.0000] gotta go to lunch [13:03:56.0000] where is the E4H spec? [13:04:01.0000] /strawman [13:04:16.0000] http://www.hixie.ch/specs/e4h/strawman [13:04:50.0000] esprehn_: i think it's great and we should implement it. [13:05:30.0000] Hixie: Since 100% of the attempts to implemnt the navigation part of the spec have failed, it isn't really clear to me that you can infer anything about the success of the design from the lack of complaints so far [13:05:32.0000] I used to be a fan of http://wiki.ecmascript.org/doku.php?id=harmony:quasis for this [13:05:55.0000] quasis doesn't do the runtime thing [13:06:01.0000] but abarth convinced me that quasis are a much scarier solution than e4h from a security perspective because you have to roundtrip through strings [13:06:11.0000] runtime thing? [13:06:23.0000] parse time, sorry [13:06:46.0000] nobody likes E4H though [13:06:54.0000] i like E4H! [13:07:03.0000] who doesn't like it? [13:07:31.0000] /me uses logic to deduce that ojan is nobody [13:07:55.0000] ojan: http://lists.w3.org/Archives/Public/public-script-coord/2011OctDec/thread.html#msg65 [13:08:03.0000] ojan: we should probably add the ? syntax for mdv [13:08:07.0000] It's so insane that $('
my random' + randomvar + ' html
') is the state of the art for generating DOMs [13:08:10.0000] ojan: checked?={checked} aklein [13:08:18.0000] ojan: http://lists.w3.org/Archives/Public/public-script-coord/2011OctDec/thread.html#msg33 [13:08:21.0000] rafaelw___: ^^^^ [13:09:56.0000] ojan: http://lists.w3.org/Archives/Public/public-webapps/2012AprJun/thread.html#msg1067 (latest attempt, this time by Hixie with aforementioned strawman) [13:11:00.0000] annevk: That is like 3 people and you don;t really follow up with advantages compared to quasis, so I don't think it says much one way or another [13:11:10.0000] slightlyoff-- for speaking for the Chrome team on that thread [13:12:26.0000] jgraham: if you don't think it's an uphill battle, go for it! :-) [13:12:50.0000] I think everything involving TC39 is an uphill battle [13:13:30.0000] But I am also the wrong person to advocate E4H because I don't really know if it's a good design [13:15:22.0000] I'm not sure anyone involved in platform design really knows what they're doing. [13:19:25.0000] annevk: hah! that's probably true...but someone has to do it. [13:19:33.0000] annevk: or we're stuck with jquery forever [13:25:48.0000] ojan: so if quasis are not going to get through security review we should give this another go maybe [13:26:38.0000] ojan: having node-primitives in JavaScript is still a good idea I think [13:28:57.0000] hsivonen: good evening [13:29:12.0000] is there a way I can make my local validator.nu only use my own schema? [13:29:28.0000] it's already a choice in the presets, but I want to make it the default also somehow [13:30:16.0000] /me tries removing the other presets for now [13:33:16.0000] jpwhiting: I doubt hsivonen will answer now [13:33:56.0000] yeah, pretty late there, true [13:34:00.0000] Try again in 9-10 hours, perhaps? [13:34:09.0000] yep, will do [13:34:20.0000] or wait for MikeSmith to come around [13:36:06.0000] MikeSmith never sleeps [13:36:11.0000] As far as I can tell [13:36:18.0000] I think he might be bionic [13:36:36.0000] much like CityBank™ [13:42:48.0000] abarth: you around? [13:42:55.0000] ojan: hi [13:43:52.0000] ojan: what can I do for you? [13:52:59.0000] abarth: do you remember this quasis vs E4H discussion? [13:53:05.0000] yes [13:53:16.0000] abarth: do you still believe quasis have security issues? [13:54:00.0000] ojan: I don't remember all the details anymore [13:54:27.0000] ojan: I remember that some of the choices were bad and some were good [13:54:29.0000] I want us to solve this issue of being able to create DOM in a concise way...i don't feel terribly strongly about E4H vs quasis...but i want one of them to happen and right now i think the feature is in limbo because of disagreement about which is better [13:54:47.0000] abarth: what i remember is that you disliked quasis because they roundtrip through strings [13:55:11.0000] yes, you don't want to send any strings that contain untrusted data through the HTML parser [13:55:18.0000] that means you've lost from a security PoV [13:55:26.0000] abarth: well...these wouldn't go through the HTML parser [13:55:40.0000] what happens to the strings? [13:55:43.0000] Hmm, I thought that was the point? [13:55:57.0000] oh...well...the E4H version doesn't [13:56:01.0000] Right [13:56:39.0000] in theory, quasis could use the same sort of parsing the E4H does [13:56:46.0000] But html`some string` is syntax sugar for creating a document fragment and setting its innerHTML to some string, with substitutions based on some special syntax, right? [13:56:58.0000] jgraham: yeah, that's the current proposal [13:57:25.0000] abarth: what's special about the HTML parser vs. an XML parser? [13:58:52.0000] (I think quasis are a bit ugly, but I don't understand the security argument. Or at least I don't see how it is worse than innerHTML which is the defacto solution for this problem today) [13:58:55.0000] i'd like to restart this discussion on public-script-coord so that we can actually make forward progress here...but i feel like i need to understand the security side of it better to make an argument one way or the other [13:59:16.0000] jgraham: it's definitely not worse than innerHTML, but if we're designing a new API, we can do better. [14:00:06.0000] jgraham: innerHTML is a security disaster [14:01:10.0000] abarth: alternately, if i start a discussion on public-script-coord, would you be willing to chime in with the security argument? [14:01:48.0000] abarth: that way you don't have to convince me and then later convince everyone else :) [14:03:23.0000] OK, well if the argument is that we should do better with new APIs and try to educate people that current best-practice is a security disaster, I can live with that [14:04:31.0000] jgraham: whatever new API we come up with ideally will be easier to use and more secure. in either case, people will have to learn a new thing to use. [14:07:59.0000] ojan: sure [14:10:04.0000] abarth++ thanks [15:23:22.0000] ojan: e4h is just javascript [15:24:11.0000] ojan: i dunno that i'd want to use JS as a data exchange format [15:24:33.0000] ojan: and i'm 100% sure it can't roundtrip everything in the DOM (e.g. you can't roundtrip the current state) [15:24:49.0000] (using e4h) [15:26:06.0000] ojan: (re e4h, if there's anything i can do to help you get it implemented, let me know) [15:35:43.0000] Hixie: the thing to do is to get other browser vendors vaguely positive about it. if we could get Mozilla to voice support for it, that'd be enough for me to feel comfortable shipping it in Chrome... [15:35:54.0000] Hixie: i plan to start another thread on public-script-coord [15:36:10.0000] Hixie: please chime in if i leaving anything important out. [15:39:00.0000] roger [15:39:04.0000] you got the link to the spec? [15:39:07.0000] ("spec") [15:39:13.0000] has anyone here written up (or knows of) a good article on navigation markup, including sub-navigation, recommended class names, aria, etc? [15:39:35.0000] JonathanNeal: what do you mean by "navigation markup"? [15:40:01.0000] Just, someone demonstrating best practices, including their own opinion on what roles to throw in even. [15:40:32.0000] For instance, there are times when you can use classnames that are sympathetic with aria roles. [15:41:13.0000] Or, you could look at a large group of websites, and arrive at a general consensus (or a few consensuses) of what markup people prefer. [15:43:39.0000] I don't know about an article, but my gut tells me that currently a nav with an ul, where li's contain the anchors is considered the way to go. (Just a gut-feeling, no proof for this) [15:43:56.0000] JonathanNeal: that seems to be what you mean by "article", not what you mean by "navigation markup" :-) [15:44:08.0000] JonathanNeal: do you mean like the links on the side of a page that get you to the home page or whatever? [15:45:13.0000] the html markup of a navigation list, where some items may themselves contain sub-navigation lists. [15:46:36.0000] i would recommend using ...label... for the links, and either

or