08:46 | <hsivonen> | MikeSmith: the relevant bit is http://www.whatwg.org/specs/web-apps/current-work/#change-the-encoding |
08:46 | <hsivonen> | MikeSmith: however, it seems that the way the steps are now ordered, the parser shouldn't get as far as step 3 |
08:46 | <hsivonen> | I wonder if the steps were always in that order... |
08:47 | <MikeSmith> | yeah, may well have changed |
08:51 | <MikeSmith> | hsivonen: http://www.w3.org/TR/2008/WD-html5-20080122/#changing |
08:51 | <MikeSmith> | step number 1: If the new encoding is UTF-16, change it to UTF-8. |
08:52 | <hsivonen> | MikeSmith: good to see that my initial reading comprehension has worked even if I've failed to keep up with spec changes |
08:53 | <MikeSmith> | yeah:) |
08:53 | <MikeSmith> | and incidentally, I guess there's at least one thing that TR drafts can occasionally useful for |
08:54 | <hsivonen> | we have a use case for TR! :-) |
08:54 | <MikeSmith> | heh |
08:55 | <MikeSmith> | fwiw, looks like it changed some time between 2009-02-12 and 2009-04-23 |
09:03 | <MikeSmith> | hsivonen: actually, it looks like this was the exact revision: |
09:03 | <MikeSmith> | http://html5.org/tools/web-apps-tracker?from=3203&to=3204 |
11:35 | <annevk> | hmm, I have no notes from last week for the WHATWG Weekly |
11:37 | <annevk> | foolip, the Microdata change means you can now express graph data? |
11:44 | <tjaytje> | hi guys :) |
11:45 | <annevk> | hey |
11:46 | <tjaytje> | this is the official whatwg channel, so if i have any questions what so ever about HTML i can ask them here right ? |
11:50 | <annevk> | yeah |
11:50 | <annevk> | also about ponies |
12:00 | <tjaytje> | Whahaha oke let's talks about ponnies :P |
14:05 | <annevk> | <aside> is for non-critical content |
14:05 | <tjay_> | so replace the aside with a section element ? |
14:06 | <annevk> | actually, that content does look like <aside> would fit |
14:07 | <volkmar> | i think there were a discussion about <input type='email|url'> that needs to be submitted in ASCII, someone has a link to it by any change? |
14:08 | <annevk> | volkmar, http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-May/031519.html |
14:09 | <tjay_> | so everything that is directly related to the content can be coded in a <aside> tag ? |
14:09 | <Onderhond> | Or in this case, related to the site as a whole. |
14:09 | <annevk> | it's not directly related |
14:09 | <annevk> | the content is the text, categories of your blog are not related to that |
14:10 | <annevk> | only tangentially |
14:10 | <Onderhond> | It shouldn't be nested inside the content wrap, I believe that's the main difference. |
14:10 | <annevk> | which fits <aside> |
14:10 | <annevk> | kind of funny that the same journalists that talk about tablets as post-PC also refer to them as tablet PCs |
14:15 | <annevk> | quiz: is there a difference between XML's Name and XML Names' QName? |
14:16 | <annevk> | it appears the answer is no |
14:16 | <annevk> | I win ten thousand dollar and can continue playing for a fridge |
14:16 | <tjay_> | En we gaan door voor het gouden pols horloge ! |
14:16 | <tjay_> | :P |
14:30 | <annevk> | btw |
14:30 | <annevk> | about those ponies |
14:30 | <annevk> | https://plus.google.com/112284435661490019880/posts/Qv2bUFsSMR3 |
14:31 | <annevk> | totally related according to Google+ |
14:37 | <timeless> | Ms2ger: ping |
14:39 | <timeless> | hi smaug____ |
14:39 | <smaug____> | timeless: hi |
14:39 | timeless | is reading webidl-3.3.4.4. Named properties |
16:47 | <hsivonen> | hmm. looks like I'm being nominated to a Task Force: http://lists.w3.org/Archives/Public/www-tag/2011Jul/0011.html |
16:48 | <hsivonen> | manu-db: btw, I am not a Mozilla employee. I'm a contractor. |
16:48 | <hsivonen> | Looks like I need to catch up with Microdata/RDFa email that got sent while I was on vacation |
16:48 | <timeless> | manu-db: fwiw: you probably should favor 'iiuc' over |
16:49 | <timeless> | 'iirc' for such cases |
16:49 | <manu-db> | hsivonen: Thanks for the clarification, but I don't think it matters - you've had good input on RDFa and Microdata in the past, I think you'd be a good person to be in that group. |
16:49 | <timeless> | (understand v. recall) |
16:49 | <timeless> | hsivonen: how / what was your vacation? :) |
16:49 | <timeless> | And have you been g+'d? :) |
16:50 | <Ms2ger> | annevk++ |
16:50 | <hsivonen> | timeless: yeah, the Google+ thing seems to have happened while I was away. Not sure what to think of it, but this time I didn't resist it like Facebook |
16:51 | <timeless> | I'm now in 4 social networks |
16:51 | <timeless> | Orkut, Facebook, g+, g+ |
16:51 | <hsivonen> | timeless: the vacation was nice. in Saxon Switzerland, Königstein, Dresden and Leipzig |
16:51 | <timeless> | cool |
16:51 | <timeless> | places i haven't been |
16:51 | timeless | needs to find a WG interested in hosting a meeting near one of those :) |
16:52 | <hsivonen> | timeless: I'm temporarily staying in Brunswick, so it was easy to travel by train |
16:54 | timeless | has issues convincing google-maps to explain where that is |
16:55 | <timeless> | Braunschweig ? |
16:55 | <hsivonen> | manu-db: I didn't mean to imply the distinction mattered for the TF. |
16:55 | <hsivonen> | timeless: yes |
16:56 | <timeless> | and did you see /msg? |
17:10 | <boblet> | anyone know of HTML5 outline support in anything (apart from Firefox and Chrome default styles)? |
17:11 | <boblet> | afaik nothing on the AT side, but wondering if any browser makers are working on exposing it… |
17:18 | <TabAtkins> | AryehGregor: Regarding http://www.w3.org/Bugs/Public/show_bug.cgi?id=13176 roc stated my opinions well. |
17:18 | <AryehGregor> | TabAtkins, where? |
17:18 | <TabAtkins> | In the scrollback |
17:20 | <AryehGregor> | Hmm, okay. |
17:21 | <AryehGregor> | hsivonen, annevk, zcorpan-who-is-never-here-when-I-want-to-ask-him-something, do any of you want to resolve <http://www.w3.org/Bugs/Public/show_bug.cgi?id=13176>? I don't feel I understand the issue well enough to actually resolve it. If none of you do either, then I'll raise it to P1 so that they can start writing a Change Proposal if they don't get a response. |
17:21 | <AryehGregor> | In thirty days. |
17:22 | <AryehGregor> | (since a lot of the point of Editorial Assistants is to start things moving earlier so there aren't multi-month delays added to the already-long escalation process) |
17:34 | <MikeSmith> | I see Aaron Leventhal is at RIM now too |
17:48 | <MikeSmith> | timeless: did you move? |
17:48 | <MikeSmith> | I mean, move the place where you are living |
17:48 | <timeless> | yes, i'm in Toronto |
17:49 | <timeless> | eh, Aaron L joined us? |
17:49 | <MikeSmith> | I think he's probably been there for a while |
17:50 | <timeless> | oh, so i joined him? |
17:50 | <MikeSmith> | heh |
17:50 | <MikeSmith> | yeah I guess so |
17:51 | <MikeSmith> | please host some WG meeting so I can go and say Hi to you guys |
17:51 | <MikeSmith> | I never been to Toronto |
17:51 | <Ms2ger> | MikeSmith, I assume you're welcome in Mozilla's Toronto office as well ;) |
17:52 | <MikeSmith> | I hope so :) |
17:52 | <MikeSmith> | but yeah, that's where mozlabs is headquartered, right? |
20:02 | <AryehGregor> | If you write two billion lines, you will likely get kicked more than twenty times, assuming the network has automatic flood protection. |
20:03 | <timeless> | it does, see killer and the kicks i got |
20:04 | <timeless> | 2*1e9/(10*365*24*60*60) |
20:04 | <timeless> | is 6.3 |
20:04 | <timeless> | i can't remember what the threshold is for getting kicked, but i think it means that at .2billion lines, i wouldn't |
20:04 | <timeless> | assuming even distribution |
20:05 | <jcranmer> | so 6.3 lines per second? |
20:05 | <timeless> | anyway, the point is that the algorithm for determining whether you've been kicked a lot really needs to consider activity |
20:05 | <timeless> | jcranmer: yeah |
20:05 | <timeless> | assuming i didn't mess up any of the math |
20:06 | <zewt> | for all the times people get kicked from here? |
20:06 | <timeless> | zewt: well, the calculation is 2billion lines / 10 years |
20:06 | <timeless> | pick a network of your choice |
20:06 | <timeless> | i was comparing it to killer on moznet |
20:07 | <timeless> | where i think the threshold is something like 6 lines in 10-15s or something |
20:08 | <zewt> | irc throttles to one line every two seconds anyway, typically |
20:08 | <zewt> | (with token bucket throttling to 5-6 lines) |
20:08 | timeless | likes how 2 billion lines (a random number pulled out of thin air) is only off by one order of magnitude |
20:08 | <zewt> | (bursting, rather) |
20:26 | <zewt> | why does everyone @microsoft posting to webapps post in gigantofont |
20:26 | <TabAtkins> | It's Outlook's fault. |
20:26 | <zewt> | obnoxious as hell |
20:26 | <TabAtkins> | Steve Faulkner has the same problems. |
20:27 | <timeless> | use thunderbird |
20:27 | <zewt> | also Travis Leithead |
20:27 | <timeless> | speaking of which, i need to try thunderbird again now that i found a solution to exchange server |
20:28 | <zewt> | haha great, it looks like the history api firefox bug is affecting gmail now |
20:28 | <zewt> | judging from the fact that back/forward are now randomly not working |
22:37 | <TabAtkins> | jamesr: Oh yeah, also, bikesheddy, "stableTime"? |
22:37 | <jamesr> | yeah, currentTime() was an idea boris had. i don't have particularly strong feelings about name currently |
22:38 | <timeless> | heycam: so... |
22:38 | <jamesr> | was planning to nail down what it does before deciding what it's called :) |
22:38 | <timeless> | i'm probably missing something obvious |
22:38 | <timeless> | in ExtendedAttributeList |
22:38 | <jamesr> | Hixie: it could be. i dunno. implementation wise, this will be consistent across the OS on every system i'm aware of |
22:38 | <timeless> | what provides for the "Constructor" part of "[Constructor(in float x, in float y)]" ? |
22:39 | <Hixie> | jamesr: if it's just the same value across the entire platform, then why would it be tied to a window? |
22:39 | <timeless> | oh |
22:39 | <timeless> | you allow (Foo)Bar(Baz) |
22:39 | <jamesr> | doesn't have to be |
22:39 | <Hixie> | jamesr: just require it to be a random number in a particular range at the start |
22:39 | <timeless> | ok, strange |
22:39 | <jamesr> | yeah |
22:39 | <heycam> | timeless, in fact the Appendix A grammar allows almost anything inside the square brackets |
22:39 | <jamesr> | Hixie: what is "the start"? |
22:39 | <heycam> | timeless, as long as it has balanced brackets/parens |
22:39 | <jamesr> | Hixie: the first access? |
22:39 | <Hixie> | jamesr: if it's random, doesn't much matter |
22:39 | <jamesr> | depending on the range :P |
22:39 | <timeless> | heycam: yeah, there was a note saying you allowed just about everything |
22:39 | <heycam> | timeless, and then in the #idl-extended-attributes section it defines some more restricted cases |
22:39 | <heycam> | yeah |
22:40 | <timeless> | and that the grammar was ambigusous etc |
22:40 | <jamesr> | if the allowed range is big enough then yeah, it doesn't matter |
22:40 | <Hixie> | jamesr: make it random within a range that is equivalent to a few billion years or whatever :-P |
22:40 | <timeless> | heycam, i'm in http://dev.w3.org/2006/webapi/WebIDL/#idl-extended-attributes |
22:40 | <timeless> | it's just that (foo)bar(baz) is kind strange |
22:40 | <zewt> | hmm |
22:40 | <timeless> | and i wonder if it's really useful to allow it |
22:41 | <jamesr> | Hixie: you've just invented the Yfewbillion disaster! |
22:41 | <heycam> | timeless, I wanted to allow anything in there just so that people using their own extended attributes weren't restricted too much |
22:41 | <timeless> | heycam: alright |
22:41 | <TabAtkins> | JS integers are 53 bits wide, which should be plenty enough for anyone. |
22:42 | <jamesr> | TabAtkins: these aren't necessarily integral |
22:42 | <jamesr> | (and in fact probably shouldn't be) |
22:42 | <TabAtkins> | Because of sub-millisecond timing, right? |
22:42 | <jamesr> | yeah |
22:44 | <zewt> | if the seconds value is in the billions, you can't represent nanoseconds with a double, i'm sure someone some day would curse that |
22:45 | <TabAtkins> | A gigasecond is only 30 years, after all. |
22:45 | <zewt> | (realistically I hope microseconds is enough) |
22:45 | <erlehmann> | i am “// check out |
22:45 | <erlehmann> | i am waiting for comments like „// check out my doubles“ in source code. haven't seen *that* yet. |
22:45 | <timeless> | ?? |
22:46 | <TabAtkins> | ?? indeed |
22:46 | Philip` | wants a high-res timer so he can do lots of timing attacks and break security |
22:46 | <zewt> | and then people can blame the timer |
22:47 | <erlehmann> | timeless, a meme on imageboards. posts are numbered sequentially. it is common to end with double digits, so called “doubles” (every 11th number does). so people make a thread “check out my doubles” with a “doubles guy” pointing towards the post number. if they succeed, hate. |
22:47 | Philip` | wonders if anyone has done anything about the canvas image alpha-channel leakage yet |
22:47 | <jamesr> | quads ftw |
22:48 | <jamesr> | Philip`: pulling alpha channel alone isn't super interesting |
22:48 | <erlehmann> | Philip`, the one with the timing attack? |
22:49 | <zewt> | which one? |
22:49 | <jamesr> | Philip`: or rather, not the alpha channel by the high-order bit |
22:51 | <Philip`> | zewt: http://philip.html5.org/demos/canvas/img-timing-1.html or http://philip.html5.org/demos/canvas/img-timing-2.html |
22:51 | <Philip`> | (Relatedly also http://philip.html5.org/demos/canvas/font-timing.html) |
22:51 | <Philip`> | (All somewhat browser/OS-dependent) |
22:52 | <zewt> | but doing what? |
22:52 | <TabAtkins> | zewt: Extracting image data from a tainted canvas. |
22:52 | <jamesr> | revealing whether a pixel in a cross-origin image/canvas is fully transparent or not |
22:52 | <jamesr> | not arbitrary data |
22:52 | <Hixie> | jamesr: no, that's just the starting point. The up-side of the range should be a few trillion years more. |
22:53 | <zewt> | webgl dropped support for non-same-origin/CORS images as textures |
22:53 | <Hixie> | jamesr: and since it's relative, it just means that you can't have one browser run for more than a few trillion years. |
22:53 | <zewt> | Hixie: er, not with a double; that would limit precision to milliseconds... |
22:53 | <TabAtkins> | Darn, img-timing-2 doesn't work in chrome/linux. It's too noisy or something. |
22:53 | <jamesr> | Hixie: you lose resolution a lot more quickly than that |
22:53 | <Hixie> | scale my numbers accordingly |
22:54 | <Hixie> | do i have to do everything here? :-P |
22:54 | <jamesr> | TabAtkins: the attack depends heavily on implementation details of the gfx libraries involved |
22:54 | <Philip`> | jamesr: I think it'd be easy to extend to the whole alpha channel - you can tell if the alpha is 0 or non-0, then just draw onto a temporary canvas with 50% globalAlpha then do timing to determine if it's 0-or-1/256 or higher, then repeat until you know all the bits |
22:54 | <jamesr> | Hixie: well, your numbers scale into ranges that we have to care about :) |
22:54 | <TabAtkins> | Hixie: Come now, at least be within orders of magnitude. You can't even reach a million years if you're using JS numbers and counting milliseconds. |
22:54 | <jamesr> | Philip`: depending on roundoff on the intermediate canvases? that's a lot more interesting |
22:54 | <jamesr> | Philip`: can you check if that really works? |
22:55 | <jamesr> | i think we can can afford 1 year of noise and still keep 20 bits around for subpixel precision |
22:55 | <zewt> | webgl never sets a canvas to non-clean |
22:55 | <jamesr> | which is easily good enough for exactly representing nanoseconds |
22:56 | <zewt> | so I'm not sure that it matters anymore whether you can read back a texture with it |
22:56 | <jamesr> | zewt: it does |
22:56 | <jamesr> | zewt: timing attacks |
22:56 | <jamesr> | it's a lot easier to extract arbitrary image data from a webgl canvas than a 2d canvas |
22:56 | <zewt> | they just changed it a couple months ago, dropping support for non-same-origin/CORS images entirely |
22:56 | <jamesr> | right ,for this reason |
22:57 | <zewt> | so ... it doesn't, then :) |
22:57 | <zewt> | that was the point--this problem already seems fixed |
22:57 | <zewt> | unless there's something I'm missing |
22:58 | <zewt> | (it's not a very nice fix, it broke some of my code badly, which is very annoying) |
22:58 | <zewt> | early adopter woes o/~ |
23:00 | <jamesr> | broke angry birds too |
23:00 | <jamesr> | it's necessary, tho |
23:02 | <zewt> | making them even angrier |
23:03 | <zewt> | i think having a really big noise factor for the base time doesn't matter: the case where that's a problem is where you can take a lot of samples and average out the noise, but in this case by definition you can only get 1 sample, ever |
23:04 | <zewt> | (it does mean you can tell fairly reliably if the user restarted his browser) |
23:05 | <zewt> | (or his OS, if that's what the time base uses) |
23:06 | <zewt> | devil's advocating: it's also a user identifier (so long as he doesn't); even with cookies and everything else disabled, and using eg. Tor, you can probably still track an active user based on his timebase |
23:06 | <zewt> | (... as he doesn't restart) |
23:08 | <jamesr> | how could you detect the timebase? juts by the approx range? |
23:08 | <annevk-cloud> | Is http://lists.w3.org/Archives/Public/public-webrtc/2011Jul/0010.html some indication Mozilla is not planning on working with the WHATWG on this? Kind of weird no email went to the WHATWG list... |
23:09 | <zewt> | when a user views a page, read the time and send it to the server; when the user views another page do it again; then correllate values |
23:09 | <zewt> | if it's the same user, the amount of time passed will be roughly the amount of time between the requests; for different users they'll be wildly different |
23:10 | <jamesr> | yeah |
23:11 | <zewt> | using Window-specific (or perhaps tab-group-specific or whatever) at least alleviates that... |
23:12 | <Philip`> | jamesr: http://philip.html5.org/demos/canvas/img-timing-3.html |
23:12 | <Philip`> | jamesr: In (at least) Opera that reproduces the grey (alpha=0.5ish) and black (alpha=1) lines |
23:13 | <jamesr> | Philip`: are you testing runs/second or seconds/run? |
23:14 | <Philip`> | jamesr: It just does 100 drawImage()s and counts the milliseconds |
23:15 | <jamesr> | yeah it would burn a lot less of my CPU and be more accurate if it tried to do drawImage()s until it hit some time threshhold, then checked how many millis expired |
23:15 | <Philip`> | then repeats forever and does the shading based on the median timing value for each cell |
23:15 | <zewt> | jamesr: could alleviate that by going in the other direction: set the timebase so that the timestamp is, say, roughly Epoch-based (according to whatever the system clock is when the browser starts up) |
23:15 | <jamesr> | zewt: i think having it be unix-epochy is just going to be more confusing |
23:15 | <Philip`> | It's a proof-of-concept, not a production-quality implementation ;-) |
23:16 | <zewt> | that way, user timebases would tend to cluster around that timebase, making correllation not useful |
23:16 | <jamesr> | Philip`: yeah, works pretty well |
23:16 | <jamesr> | ok, so the whole alpha channel :) |
23:17 | <Philip`> | You should pick an epoch far in the future, and be mysterious about the reasons for picking it, then people far in the future will think it must be counting down to some doomsday event |
23:17 | <jamesr> | i doubt webdevs can properly do math with negative numbers |
23:17 | <zewt> | burn |
23:19 | <The_8472> | negative margins already confuse them |
23:19 | <zewt> | i suspect the problem of user trackability is a bigger one than the problem of detecting how long the browser has been running... |
23:19 | <zewt> | eg. adding noise to the base is causing a worse problem than it solves |
23:20 | <zewt> | (tracking that way without noise still works sort-of, but much less reliably, I think, since tons of users will have fairly small values) |
23:20 | <jamesr> | if they are defined as not comparable across contexts, then the tracking problem goes away |
23:21 | <Philip`> | Could you make the API never return an absolute time, and just return an opaque object with a .getDifference(anotherOpaqueTimeObject) method? |
23:21 | <jamesr> | thought of that too |
23:21 | <jamesr> | pain in the butt to use |
23:21 | <The_8472> | Philip`, btw... your is a nice DoS :P |
23:22 | <The_8472> | just had to zap my browser |
23:22 | <zewt> | Philip`: that's also breaking cross-context use implicitly anyway |
23:22 | <zewt> | assuming the object isn't structured clonable or anything |
23:24 | <Philip`> | You could do a "window.timeBase = getCurrentTimeObject()" and then use getCurrentTimeObject().getDifference(timeBase) everywhere in your application and get just a number, which would be a bit verbose but no harder to use than a number-return API, unless you want to use it cross-window in which case you just pass the objects instead |
23:24 | <Philip`> | (and extend the structured clone algorithm to work with it) |
23:25 | <zewt> | i guess what that essentially does is give each page its own implicit time base, of whenever it initialized a base-time object |
23:26 | <jamesr> | or define it such that the first call to getMonotonicTime() returns 0 and everything else is relative to that |
23:26 | <Philip`> | The_8472: Yeah, some browers seem to deal quite inelegantly with it :-( |
23:26 | <zewt> | a time base which, having an actual representation, can be passed around as needed to different contexts |
23:26 | <jamesr> | so the time base is explicit and decided by the author |
23:26 | <zewt> | jamesr: that has the context problem again though |
23:27 | <zewt> | (if handling multiple contexts is given up on, then that's probably the simplest, though) |
23:27 | <jamesr> | zewt: only if we want these comparable across contexts, which i don't think is valuable |
23:31 | <zewt> | messages across threads like "do action when the current time is >= value" can be useful (more precise than saying "do it in 60 seconds"), or "time out when at a specified time" sort of things... |
23:32 | <jamesr> | that would have to be relative to when they receive a message, i think |
23:32 | <zewt> | huh? i mean relative times are less precise than calculating a time in advance and passing it down the line, generally speaking |
23:32 | <jamesr> | yeah, but we don't have shared state between workers |
23:33 | <zewt> | but if the monotonic timebase is universal across the browser then you can do that |
23:33 | <Philip`> | I guess hardware is going to become more like a distributed system in the future, so maybe it's better to avoid assuming an architecture that has a universal clock across all windows/threads/processes/etc, given that universal clocks are fundamentally impossible |
23:34 | <roc> | annevk: no, I think it's just an indication that Anant thought the RTC group was appropriate |
23:35 | <roc> | I hope that Web apps never have to worry about clock skew |
23:35 | <jamesr> | Philip`, zewt: yeah, the question really is "how much skew are you willing to put up with?" |
23:35 | <jamesr> | so i'd rather just not have any promises |
23:37 | <annevk5> | roc, would prolly be good to send at least one email indicating a fork is in the works, since quite a few people gave feedback on the WHATWG list already |
23:41 | <roc> | I'll tell him to provide feedback on the WHATWG list |
23:42 | <roc> | I don't really think of it as a fork, since I don't think Ian's proposal is baked enough for that, but maybe it is |