2015-05-01 [18:35:50.0000] terinjokes: which tweet? [22:02:48.0000] TabAtkins: for stuff like Encoding it still says "16 September 2014. CR." [22:25:48.0000] annevk: hi annevk! [22:25:53.0000] annevk: back in London? [22:26:06.0000] rniwa: I'm based in Switzerland these days, but yeah :-) [22:26:24.0000] rniwa: haven't read the latest batch of emails yet [22:28:56.0000] rniwa: re superclass/subclass list, it seems only 3 has API implications [22:29:13.0000] rniwa: well, 1/2 need some consideration as well, e.g. how to replace the shadow tree [22:34:09.0000] annevk: ah, okay. [22:34:09.0000] ah, okay. is there a spec out for it, or has it just been discussed? [22:34:55.0000] rniwa: hmm and seems the other thread didn't progress much [22:34:56.0000] annevk: so i think replacing an existing shadow root is probably best done by attaching a new shadow root. [22:35:07.0000] annevk: yeah.. [22:35:16.0000] annevk: I'm meeting with dglazkov tomorrow to discuss it [22:35:24.0000] rniwa: and not forwarding anything? [22:35:32.0000] annevk: right [22:35:44.0000] annevk: i think the simplest one is to simply detach the old one [22:36:05.0000] sure, if you can detach and add that works too [22:36:11.0000] annevk: but that may have some weird implications like offsetTop, etc... being broken inside superclasss [22:36:32.0000] though it's a bit unclear how that works with closed/isolated [22:36:38.0000] annevk: right. [22:36:56.0000] annevk: I'm not certain if it makes sense to support inheritance in isolated case though [22:37:08.0000] annevk: I can't think of a use case in which you want to do an inhertiance between mutually distrusting parties [22:37:08.0000] rniwa: I think the only reasonable option for the API btw is my gist + nanotask mutation observers, unless we come up with something completely novel [22:37:32.0000] annevk: well, i think there are different trade offs as i outlined in the md/thread [22:37:48.0000] annevk: btw, https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Imperative-API-for-Node-Distribution-in-Shadow-DOM.md [22:37:55.0000] rniwa: that md is quite confusing [22:38:08.0000] annevk: what i'm saying that there are two basic approaches to the problem [22:38:16.0000] one is what you described in your gist [22:38:21.0000] which is what we discussed at dinner [22:38:31.0000] annevk: we natively support redistributions [22:38:54.0000] annevk: what I then realized is that we don't really have a need for *selective* redistributions in nested shadow DOM case [22:39:09.0000] if you don't it starts mattering where you put your host element though, right? [22:39:26.0000] annevk: what do you mean by that? [22:39:48.0000] if redistribution is not a feature, your component may not work if someone put it inside a shadow tree [22:40:01.0000] annevk: it'll work just fine [22:40:28.0000] annevk: only thing we can't do is selecting distributed nodes using a different criteria than the one insertion point used [22:40:37.0000] rniwa: hmm, I need some IDL for that proposal [22:40:53.0000] annevk: say you have in your shadow DOM [22:41:28.0000] annevk: we need redistribution only if you wanted to re-distribute a strict subset that's not identically equal to the set of nodes distributed to that content eleemnt [22:41:56.0000] annevk: if you either always redistribute everything got or none, then we don't need redistribution mechanism [22:42:06.0000] annevk: you just redistribute the entire content element or don't do it at all. [22:44:35.0000] (now i do see that we might be digging a rabbit hole if we went with more sync API that doesn't natively support redistribution because it's like we're re-introducing mutation events in some way, and some frameworks might decide to implement the full redistribution algorithm anyway, which will be horrific. furthermore, requiring sync redistribution might be an anti-pattern to begin with... it's like interleaving offsetLeft access with DOM mutations...) [22:45:13.0000] I think distribution will have to be sync either way [22:45:28.0000] annevk: you mean propagating redistributions? [22:47:42.0000] So in #1 you'd just observe the children of the host element, enumerate them and then distribute them [22:48:27.0000] I just don't see how you don't always need to observe the element... [22:49:12.0000] E.g. if in your shadow tree you have or some such [22:49:39.0000] I guess you could split up the elements, but then we'd be dictating API [22:50:02.0000] annevk: right, i think the way you'd do it is to split content elements. [22:50:16.0000] annevk: in the world of named slots, that's what you'd do [22:50:29.0000] annevk: and libraries/frameworks could add a sugar on top of it [22:50:53.0000] annevk: if we didn't need redistributions, it dramatically simplifies a lot of things. [22:51:05.0000] annevk: it's worth considering it. [22:52:37.0000] well I'm not quite sure why we don't need it [22:52:47.0000] how do we know what element to pick? [22:53:36.0000] that is, how does "redistribute everything" work, as you call it [22:53:54.0000] annevk: you pick whichever content element that fits your criteria [22:54:02.0000] annevk: in the case of [22:54:17.0000] you know that needs header, content, and footer, so you just define those [22:54:18.0000] e.g. [22:54:42.0000] [22:55:11.0000] annevk: conceptually, grabs header, content, footer, right? [22:55:30.0000] annevk: so in order to use that element, you have to supply those elements. [22:55:47.0000] annevk: it doesn't matter whether what you have is a content element or a regular element [22:56:13.0000] hmm [22:56:39.0000] i certainly wouldn't argue this is more developer friendly but there's a lot of appeal for the simplicity [22:57:18.0000] it's deadly clear what one has to do to use an element [22:58:05.0000] Does this also mean elements no longer have to be descendants? [22:58:17.0000] I guess there never was that restriction [22:58:29.0000] annevk: what do you mean by that? [22:58:35.0000] Never mind, I was confused [22:58:58.0000] annevk: so the nice thing about this model is that we no longer need to propagate anything from one shadow DOM to another [22:59:07.0000] you just distribute per shadow DOM and done! [22:59:43.0000] And authors will have to monitor DOM + and distribute based on that? [23:00:41.0000] What's also somewhat worse about this is that there's no explicit opt-in so the switch to purely declarative has to be different [23:02:39.0000] annevk: why would you monitor content element? [23:02:56.0000] for redistribution? [23:03:07.0000] annevk: but why would you need redistribution for? [23:03:40.0000] annevk: if you did [23:04:18.0000] it'll distribute just as well as
~
[23:04:39.0000] <'shadow'> text
[23:04:39.0000] annevk: so you don't need to inspect content element at all. just distribute a content element like any other element and you'll be fine [23:05:02.0000] 's shadow will have to monitor changes to 's child [23:05:28.0000] annevk: how does host2 distribute nodes? [23:05:42.0000] annevk: i.e. what are insertion points and their criteria for selecting nodes? [23:05:48.0000] rniwa: that's up to [23:06:11.0000] annevk: well, we need to know in order for this model to work. [23:06:36.0000] annevk: in the world without redistributions, you need to be deadly aware of what gets used by each custom element [23:06:42.0000] annevk: and supply those explicitly [23:07:03.0000] annevk: so if host2 needs a header and footer, then you have to define content elements yourself and supply those [23:07:30.0000] and the browser magically knows what nodes are linked? [23:07:38.0000] annevk: we don't have to [23:07:56.0000] annevk: author will create elements as needed for host2 [23:08:12.0000] annevk: so all we need to do in the first shadow DOM is to grab contents into each content element [23:08:15.0000] how will those elements end up correctly within host2's shadow though? [23:08:22.0000] annevk: host2 then come in and grab those content elements in turn [23:08:35.0000] doesn't it have to monitor changes for that? [23:08:40.0000] annevk: because content elements in host1 will themselves be distributed into insertion points inside host2 [23:09:02.0000] annevk: not really, it just needs to monitor direct children of which are elements [23:09:23.0000] annevk: will grab each element into its own insertion points as they fit their criteria [23:10:17.0000] rniwa: I don't really follow how this actually works I think [23:10:21.0000] annevk: okay [23:10:23.0000] rniwa: how does it grab, based on what? [23:10:35.0000] rniwa: and what does the browser need to monitor? [23:10:51.0000] annevk: the browser only monitors direct child of and [23:10:55.0000] rniwa: it seems like the md could use some additional text to explain this [23:11:03.0000] annevk: yeah... indeed [23:11:12.0000] i guess this idea isn't clear as it is to me... [23:12:02.0000] annevk: first, decides to distribute nodes into its own insertion points including ones that are under [23:12:30.0000] annevk: some time later or earlier will distribute its direct children into its own insertion points [23:12:34.0000] right, all in 's shadow are its insertion point [23:12:47.0000] it just so happens that 's direct children are of [23:13:11.0000] oh right [23:13:23.0000] annevk: because distributed elements in 's shadow DOM into its insertion points [23:13:25.0000] you don't distribute children of , you distribute [23:13:30.0000] okay I see now [23:13:32.0000] annevk: right! [23:14:11.0000] sorry, i'm not great at explaining these things :( [23:14:28.0000] I wonder if that's problematic for components that are almost the entire page [23:14:49.0000] You might get to a point where there's too much elements, but I guess it's worth studying what is out there [23:15:30.0000] annevk: yeah, that's one problem I can see as well [23:15:38.0000] annevk: but the model is so much simpler it's quite appealing. [23:15:54.0000] annevk: if anything, frameworks can (or we can) add some sugars to make things easier. [23:16:22.0000] we have those components in Firefox OS [23:16:33.0000] annevk: ? [23:17:05.0000] annevk: it would certainly be useful if you can point to a use case in which this model breaks down. [23:19:08.0000] rniwa: would have to ask Wilson, I'm not super familiar [23:19:22.0000] annevk: okay [23:19:37.0000] rniwa: but now I understand it that'll be easier [23:19:45.0000] annevk: okay [23:19:57.0000] annevk: please feel free to edit / add comment to markdown file [23:20:09.0000] annevk: i'm sure you can do a better job of explaining it at this point. [23:20:20.0000] or at least point out parts that are confusing [23:37:07.0000] rniwa: yeah, I'll try to provide a PR [23:37:31.0000] I want to update #2 too [23:37:46.0000] annevk: ok [23:43:02.0000] /me wonders if anyone knows the full name of https://github.com/davidsgrogan [23:46:08.0000] annevk: you mean his IRC nick? [23:46:36.0000] rniwa: I need to add him to the Acknowledgments section [23:46:49.0000] annevk: David Grogan [23:46:54.0000] thanks [23:48:39.0000] rniwa: btw, with respect to extensions to custom elements [23:49:10.0000] rniwa: I think my preference would be "nanotask" mutation observers; mutation observers that fire after a method has returned [23:49:48.0000] rniwa: e.g. appendChild(obj); /* fire mutation observers for appending (and potentially removing if obj was elsewhere in the tree) */ [23:50:26.0000] rniwa: but as a general extension to mutation observers rather than something specific for custom elements [23:50:46.0000] annevk: oh i see [23:51:14.0000] annevk: yeah, i think extending mutation observers will be better than adding an ad-hoc custom only callback mechanism [23:52:38.0000] rniwa: I guess I can add that as alternative too [23:52:48.0000] if we want to keep all proposals in this md [23:52:56.0000] annevk: there's a section about adding a callback [23:53:06.0000] annevk: to custom elements so you probably want to add there [23:53:29.0000] yeah there's Extention to Custom Elements for Consistency with 1/2 [23:53:35.0000] annevk: right [23:53:38.0000] but this is really an alternative to that whole section [23:53:50.0000] but I could rename the section and make it work [23:54:17.0000] annevk: whichever you'd prefer [00:09:13.0000] rniwa: still awake? [00:09:25.0000] rniwa: rewriting now... what did you mean with "of the shadow host of the ancestor shadow root of containt or if index is larger than the length of distributedNodes"? [00:09:27.0000] annevk: yeah, debugging some editing bug as we speak [00:09:39.0000] rniwa: containt -> content? [00:09:50.0000] annevk: yeah, right. [00:10:13.0000] annevk: what I meant is that a node can only be distributed to an insertion point which exists in a shadow DOM of its ancestor [00:10:31.0000] not parent? [00:10:33.0000] annevk: or shadow DOMs inside of them [00:11:17.0000] "of the shadow host of the ancestor shadow root" should that be /or/ the ancestor...? [00:11:17.0000] annevk: oh, i wanted to be permissive because there was a use case like table-chart element where being able to distribute non-direct child is desirable [00:12:21.0000] annevk: well, things need to be backwards in this case [00:13:05.0000] annevk: for a given node to be distributable to a an insertion point [00:13:42.0000] the shadow root of that insertion point needs to be an ancestor of the node to be distributed [00:13:51.0000] annevk: maybe you can just remove that whole sentence and rewrite it [00:14:11.0000] annevk: it's probably better to say just that instead of what's in the md [00:40:58.0000] rniwa: https://github.com/w3c/webcomponents/pull/45 [00:41:47.0000] rniwa: you can view it at https://github.com/annevk/webcomponents/blob/patch-1/proposals/Imperative-API-for-Node-Distribution-in-Shadow-DOM.md for now [00:43:28.0000] dglazkov: if you're still awake ^^ [00:47:38.0000] annevk: thanks! [00:48:01.0000] annevk: dglazkov is a morning person as far as I know. [00:48:26.0000] having kids does that to you [00:48:28.0000] /me is definitely not a morning person [00:48:43.0000] annevk: that might be reason for me not to have kids.. [00:49:29.0000] annevk: merged! [00:50:59.0000] annevk: wow, what happened to the table-chart example [00:51:21.0000] rniwa: that was already like that [00:51:26.0000] :( [00:51:28.0000] /me fixes [00:51:36.0000] rniwa: something happened to the Unicode when you copied it... [00:54:39.0000] annevk: https://github.com/w3c/webcomponents/pull/46 [00:55:32.0000] rniwa: looks good but I can't merge [00:57:04.0000] TabAtkins: I guess I should do that internal links thing... using spec=html makes origin point to concept-url-origin, which is really a term from URL that HTML happens to import [00:57:51.0000] annevk: oh you don't have write access? [00:57:55.0000] rniwa: nope [00:59:11.0000] MikeSmith: could you add annevk to https://github.com/orgs/w3c/teams/webapps ? [01:20:56.0000] rniwa: yeah will do right now [01:22:28.0000] できた rniwa [01:25:13.0000] MikeSmith: thanks [01:25:25.0000] annevk: ^ [01:29:06.0000] sorry, gtg sleep now :( [01:29:13.0000] ttyl guys all! [02:25:55.0000] nn [02:26:00.0000] thanks MikeSmith [02:26:19.0000] cheers [03:57:51.0000] https://storage.spec.whatwg.org/ [04:00:42.0000] It seems I need to read the Bikeshed docs another time to figure out linking from IDL to definitions... [04:01:09.0000] philipj: while setting that up I was reminded that mediasession probably wants a Twitter account too [07:35:25.0000] TabAtkins: you around? [07:35:32.0000] TabAtkins: I get "No 'functionish' refs found for 'stringification behavior'." [07:36:07.0000] TabAtkins: which seems to be due to toString() which is due to the () at the end of toString which seems weird as it uses lt="" [07:36:17.0000] TabAtkins: what is happening? [07:37:13.0000] Domenic: so, first glance result from this system benchmark is that async-read is roughly equivalent to sync-read+ready-promise... except when the browser is under memory pressure... then the sync-read+ready-promise pulls away... I'm not sure how I feel about that yet [07:43:42.0000] annevk: I fixed that in Bikeshed. [07:43:59.0000] annevk: Before sending you the PR. ^_^ [07:44:43.0000] TabAtkins: I see [07:45:13.0000] (In one particular place, it was accidentally falling through to doing text-based link-type identification, so it was trying to interpret that link as a functionish type, but still linking with "stringification behavior". [07:45:15.0000] ) [07:46:05.0000] annevk: Oh, yeah, about origin, use
 to point the term "origin" to the url spec.

[07:46:28.0000] 
no I want HTML's origin

[07:46:43.0000] 
but not HTML's reference to URL's origin

[07:47:23.0000] 
Then use 
 to point the term "origin" to the html spec.

[07:48:01.0000] 
HTML is hell to link to at the moment, and that's... probably not going to get much better.  At least, as I said yesterday, I'm going to add a way to fix common terms from it.

[07:48:22.0000] 
TabAtkins: I updated Bikeshed and I still get that error

[07:49:07.0000] 
...goddammit, I didn't push last night.  Sorry, the fix is still on my work comp.  I'll push in an hour or two when I get into the office.

[07:49:12.0000] 
That's dumb of me, sorry.

[07:49:52.0000] 
The error isn't serious, you can force-generate for now.  That particular link won't autolink until you get the fix, is all, but it's just a thing from the DOM2 changes section.

[07:50:39.0000] 
TabAtkins: bikeshed -f says there's too few arguments

[07:50:51.0000] 
same for --force

[07:51:02.0000] 
or --force-generate

[07:51:02.0000] 
Yup, need to specify the command if you're using flags, because argparse is dumb and I hate it.

[07:51:07.0000] 
`bikeshed -f spec`

[07:51:19.0000] 
I have no words

[07:51:24.0000] 
I do a cheaty hack around argparse's refusal to support a default command.

[07:51:30.0000] 
But it doesn't work if you pass any flags.

[07:51:58.0000] 
You should see argparse's bug if you pass a flag with a space in its value!

[07:52:21.0000] 
(It assumes that you're giving the first positional argument instead; in this case, the input filename.)

[07:53:43.0000] 
In case it isn't clear, `spec` is the literal command, not a variable I'm asking you to fill in.  Bikeshed's `spec` command is the one that actually generates a spec.

[07:54:23.0000] 
Thanks TabAtkins

[07:55:38.0000] 
And thank you for bearing with the rocky introduction of whatwg specs into Bikeshed. Every new spec finds bugs no previous spec poked at, and as WHATWG specs get bikeshedded and put into Shepherd, Bikeshedding them will be easier (because all the autolinks will work).

[07:56:12.0000] 
Yeah, looking forward to that

[07:56:25.0000] 
I noticed WebIDL does not link to HTTPS

[07:56:31.0000] 
which I thought was something we fixed

[07:56:49.0000] 
That's all SpecRef bugs. :/

[08:01:10.0000] 
TabAtkins: the duplicate selectors4 / selectors-4 is too?

[08:01:30.0000] 
Yeah, but I'll be fixing that today or Monday. Got a PR almost ready to go.

[08:01:56.0000] 
Went through and put together a bunch of aliases for all the CSS specs that aren't already named correctly.

[08:20:24.0000] 
Alright, sounds good

[08:20:46.0000] 
TabAtkins: I wrote https://storage.spec.whatwg.org/ in Bikeshed without too much effort

[08:20:53.0000] 
TabAtkins: first thing I wrote from scratch

[08:21:12.0000] 
TabAtkins: I got the IDL stuff wrong, but otherwise it mostly seems okay

[08:37:25.0000] 
What'd you get wrong? I desperately need to improve the docs/help around IDL stuff, and would like to know your errors.

[08:54:55.0000] 
TabAtkins: I thought it would just automatically pick up that I was defining something from the IDL

[08:55:06.0000] 
TabAtkins: but instead it created two definitions

[09:03:19.0000] 
annevk: How'd you initially mark up the second definition?  It does automatically pick it up if you give it enough information for it to know you're defining the term elsewhere.

[09:03:38.0000] 
TabAtkins: requestPersistent()

[09:04:22.0000] 
Yeah, you need to tell it it's a method, and of what interface.

[09:05:23.0000] 
Writing this down, though, for a possible helpful warning in the future.

[09:06:53.0000] 
(In general, definitions need to be given a type; the default type is "dfn", which is for general terms and such.)

[09:09:13.0000] 
I also need to put together a "10 things you need to know to use Bikeshed effectively" thing, so you don't have to read the whole docs to get the basic usage info.

[09:10:29.0000] 
TabAtkins: the other thing I noticed was that while I like to link to /multipage/, Bikeshed's IDL autolinking prefers / for html.spec.whatwg.org

[09:10:35.0000] 
TabAtkins: same for SpecRef

[09:11:14.0000] 
annevk: For SpecRef you can just give a PR to change the reference.

[09:11:23.0000] 
TabAtkins: / seems hostile to everyone on a slow computer or on slow bandwidth

[09:11:25.0000] 
okay

[09:11:44.0000] 
For Bikeshed, that's an artifact of Shepherd; I'm not sure how to handle a spec spread across multiple pages. I'll talk to plinss about it, see if we can fix things.

[09:11:50.0000] 
And yes, single-page is very hostile.

[09:12:10.0000] 
I only load it when I need to ctrl-F for something, and I can't just guess the ID.

[09:23:05.0000] 
TabAtkins: https://github.com/tobie/specref/pull/183

[09:24:05.0000] 
Nice.

[09:26:11.0000] 
annevk: Oh yeah, and I pushed the Bikeshed fixes from last night, so you should build clean now.

[09:26:29.0000] 
arrow functions are so cute

[09:27:04.0000] 
dglazkov: agreed, I like how they make complex things a lot easier to grasp

[09:29:28.0000] 
maybe this whole Javascript thing has legs after all

[09:29:49.0000] 
dglazkov: don't tell Lars

[09:30:19.0000] 
:-P

[09:32:55.0000] 
/me is trying to parse https://lists.w3.org/Archives/Public/public-webapps/2015AprJun/0473.html by rniwa and not succeeding

[09:34:31.0000] 
TabAtkins: I noticed some differences in references when building locally with Bikeshed and using https://api.csswg.org/bikeshed/

[09:35:17.0000] 
Would that be because Bikeshed itself was at different versions, or is there a separate step to update the SpecRef database?

[09:38:59.0000] 
philipj: you need to run bikeshed update

[09:39:13.0000] 
philipj: that should update the databases locally

[09:41:18.0000] 
"ExtendableEvent"?

[09:41:36.0000] 
Ms2ger: from ServiceWorker spec

[09:41:50.0000] 
not the greatest name in the world

[09:41:59.0000] 
https://slightlyoff.github.io/ServiceWorker/spec/service_worker/index.html#extendable-event

[09:42:04.0000] 
basically a waitUntil() method

[09:43:02.0000] 
annevk: ok, thanks :)

[09:43:34.0000] 
annevk: unfortunately @mediasession is already taken on twitter

[09:46:57.0000] 
Wow, those headers are way too big

[09:47:33.0000] 
... And now they're not

[09:48:08.0000] 
Ms2ger: I think that page uses Polymer, it's rather flaky

[09:48:23.0000] 
philipj: mediasessionapi too long?

[09:48:27.0000] 
Well that's insane

[09:48:37.0000] 
@mediasessions

[09:50:05.0000] 
annevk: would work, but the spec doesn't have an API yet :)

[09:50:38.0000] 
I guess I'll wait to discuss it with rich, since it's so half-baked that we don't really want to attract attention yet

[09:51:10.0000] 
philipj: btw, did you notice that on iOS if you play a podcast from Safari, it doesn't stop when you quit Safari?

[09:51:35.0000] 
philipj: browsers could do a lot here by just improving their default heuristics

[09:52:40.0000] 
annevk: yeah, we've looked a lot at the existing behavior in various browsers, and in fact step one of our roadmap is to improve the default behavior without adding anything Web-exposed

[09:53:26.0000] 
this particular aspect is "does playback stop when the page is not visible" (due to tab or app change)

[09:54:27.0000] 
yeah, this is also what I hate about browsers-inside-apps, they suck at all this

[09:54:29.0000] 
since the current default behavior for audio elements is to keep playing in this situation, pages that don't want this could use the page visibility API to change it

[09:54:57.0000] 
but it's not out of the question to make it a setting on media sessions

[09:55:15.0000] 
for example rich thinks we really should pause by default and require apps to opt in to the current behavior

[09:55:33.0000] 
philipj: The API Bikeshed is always at ToT and has the most up-to-date refs. If you ever differ, update Bikeshed (`git pull --rebase` from within Bikeshed's folder) and/or update its local databases (`bikeshed update` from anywhere).

[09:56:02.0000] 
philipj: tab switching causing a pause would be annoying to most users I think

[09:56:37.0000] 
philipj: has rich never attended a YouTube party? :-P

[09:57:18.0000] 
annevk: that would be desktop, and as much as I'd like it making the default behavior the same on desktop and mobile does not look promising

[09:57:46.0000] 
annevk: on Android where tabs show up in the app switcher, having a different behavior for tab switching and app switching might be strange

[09:57:48.0000] 
I guess mobile has some memory issues?

[10:00:11.0000] 
I suppose initially bandwidth and battery might have been a reason for some differences, but at this point I think it's really about the risk of users expecting and relying on the complete lack of coordination on desktop, which would make it hard to do much useful by default

[10:01:19.0000] 
otherwise, I think having only one tab play at any one time would be a nice default

[10:02:55.0000] 
whatever changes to the defaults we can make, I hope to express them in terms of media sessions, so that it can be changed with an API

[10:04:24.0000] 
philipj: I kinda agree - even on desktop, having multiple tabs playing at the same tab is usually just a frustrating accident, unless one of them is playing music.  If music and such could mark themselves as being okay to play in the background, *and* users could mark or unmark players that way by themselves (an option in the right-click menu), it'd be cool.

[10:26:32.0000] 
MikeSmith, ... a baby? :)

[10:28:53.0000] 
Ms2ger: yup

[10:29:01.0000] 
due in mid-October

[10:29:13.0000] 
Sleep while you can :)

[10:29:20.0000] 
haha

[10:29:22.0000] 
yeah

[10:49:13.0000] 
does any browser vendor have data about marquee usage?

[11:02:19.0000] 
Anecdotally very popular in China

[11:08:44.0000] 
sure, but does anyone actually have any data?

[11:09:05.0000] 
like, was  popular 3 years ago, but not anymore ?

[11:09:58.0000] 
(marquee is certainly in my remove-from-the-platform list)

[11:12:33.0000] 
https://esdiscuss.org/topic/please-volunteer-to-maintain-the-html-version-of-the-spec

[11:15:14.0000] 
jorendorff: hope somebody picks up the ball there but it seems absurd that in 2015 the source of the spec is still a Word document

[11:17:12.0000] 
given that there are thousands of people who use the HTML version of the spec get work done and pretty much not even 1 person who reads the Word version (rather than writing it)

[11:29:13.0000] 
TabAtkins: how do I get a custom property value from in JS?

[11:36:25.0000] 
I think Domenic and bterlson are going to do it

[11:36:35.0000] 
It is truly absurd

[11:37:11.0000] 
I lose half a day to rage every time I think about it, so I won't elaborate

[11:50:32.0000] 
smaug____: https://www.chromestatus.com/metrics/feature/timeline/popularity/53 shows  usage is pretty high still

[11:56:35.0000] 
ah, there

[11:56:53.0000] 
somehow I missed that when looking at chromestatus

[15:00:17.0000] 
http://lauren.vortex.com/archive/001099.html

[15:01:47.0000] 
well they sound happy

[15:04:02.0000] 
heh


2015-05-02
[18:34:03.0000] 
dglazkov: You need to use getPropertyValue()

[18:39:50.0000] 
annevk: Theoretically, a bikeshed update will make the HTML links go to multipage now.

[01:29:01.0000] 
TabAtkins: when "bikeshed update" says it's downloading data, is that over HTTPS?

[01:30:31.0000] 
TabAtkins: it still turns "toString()" into "toString"

[01:30:53.0000] 
TabAtkins: so it mangles the content, that would be part of the undesired magic

[01:49:15.0000] 
TabAtkins: oh and Document linking to HTML is somewhat problematic

[01:49:36.0000] 
TabAtkins: happy to help out getting that resolved if you have any ideas

[04:52:43.0000] 
too bad Lauren Weinstein didn't read the actual proposal, which says nothing about making sites inaccessible

[05:23:37.0000] 
roc: too bad the people involved haven't done a much better job of making it more clear what the actual plans are

[05:24:09.0000] 
Lauren is far from the only person who's made the mistake of reading more into than what's actually there

[05:24:53.0000] 
given the zealotry that comes across in of a lot of rhetoric being tossed around, it shouldn't be a surprise

[05:25:07.0000] 
It's totally clear in the first message of the dev-platform thread, which links to this: https://docs.google.com/document/d/1IGYl_rxnqEvzmdAP9AJQYY2i2Uy_sW-cg9QI9ICe-ww/edit?usp=sharing

[05:25:19.0000] 
and it's clear in the official blog post: https://blog.mozilla.org/security/2015/04/30/deprecating-non-secure-http/

[05:26:19.0000] 
roc: so why do you think many people have reacted so strongly to the announcements the way they have?

[05:27:15.0000] 
because people are sinners. Why do *you* think?

[05:28:50.0000] 
I mean, I'm as guilty as anyone of diving into a controversy without checking the original sources, but whoever does it, that's on them.

[05:29:43.0000] 
I see. So the people responsible for getting the message out about this properly are faultless

[05:30:20.0000] 
In this particular issue, yeah, pretty much.

[05:30:43.0000] 
I don't see how they could have made it more clear that we're not going to start blocking HTTP sites.

[05:31:21.0000] 
At some point, someone --- Lauren, or someone he read --- just made that up. And that's not Richard Barnes' fault.

[05:34:09.0000] 
here's an idea: they could have written once sentence at the top of the blog post and the actual proposal: "We are not going to start blocking HTTP sites."

[05:35:10.0000] 
communicating with other people about things like this requires make an effort to understand how people might (mis)interpret your message

[05:35:50.0000] 
I've tried writing blog posts where you explicitly deny every misconception you think someone's going to make

[05:36:27.0000] 
it makes the message unintelligible and people ignore your denials

[05:37:02.0000] 
well in this case a laundry list of possible misconceptions isn't needed

[05:37:49.0000] 
it's easy to say that in hindsight

[05:38:00.0000] 
sure

[05:38:11.0000] 
even so, there are more misconceptions than that one in play

[05:38:13.0000] 
but I really do think that here, one prominent sentence would have helped immensely

[05:38:18.0000] 
true, agree

[05:38:51.0000] 
frankly, I doubt Lauren read the source documents, so I don't think your sentence would have had any effect.

[05:39:12.0000] 
maybe you're right, I dunno

[05:39:22.0000] 
and to be clear I say all this as somebody who agrees completely with the actual plans

[05:39:57.0000] 
I just think the way this was handled has damaged the ability for those plans to move forward, rather than easing them

[05:42:29.0000] 
actually I think it's been good. There's been a lot of support, and a lot of objections have been voiced and ignorance corrected. Sure, haters gonna hate, but I think a lot of people learned things like "there really isn't any traffic that doesn't need to be encrypted"

[05:44:24.0000] 
I'm a bit grumpy tonight, so maybe I'll look back on the logs and regret this conversation tomorrow :-)

[05:53:13.0000] 
roc: no, I appreciate you calling it out

[05:53:28.0000] 
I'm probably being too critical

[06:50:03.0000] 
MikeSmith: I think sometimes denying something makes people assume that it's actualy going to be true. I mean we're all used to politicians or whatever categorically denying things that subsequently turn out to be the case. So I think putting in that kind of upfront denial just draws attention to whatever the thing is and makes people assume that it actually is something you're considering

[06:57:34.0000] 
annevk: Turning "toString()" into "toString" isn't expected. That's not magic, it's a bug. ^_^

[06:59:32.0000] 
annevk: For Document, you need to do a slightly clumsy workaround for that fact that Bikeshed knows about a Document definition already.  Put `force="Document"` on the 
, and it should work.

[07:00:17.0000] 
I should auto-detect that you're doing a definition there, and at least log a warning (saying that you should either be doing `force`, or writing a partial interface).  I'll log that as an issue for improvement, thanks!

[07:15:44.0000] 
MikeSmith: I'd personally put a lot of fault on the people assuming Firefox will start blocking http, because *that's a ridiculously stupid idea and they should be ashamed for assuming it*.  We're not talking about politics here; the people involved usually don't announce broad initiatives that are so wrong-headed a five-year-old could have understood what

[07:15:44.0000] 
was wrong.

[07:17:40.0000] 
annevk: Bikeshed was mostly downloading over https. There were two http urls (both for biblio data), but I just updated them to be https as well.

[11:07:52.0000] 
hmm, seems like html5lib broke relative URLs in the sanitizer… has me wondering if we ever should've let relative URLs through the sanitizer

[11:07:57.0000] 
I guess there's not really any risk


2015-05-03
[22:31:42.0000] 
seems we're having some routing issues or something at MIT that's effecting availability of w3.org services

[07:43:48.0000] 
A question about the HTML Editing APIs... will it be possible to somehow override the range used by execCommand()? Or otherwise extend the API with custom commands?


2015-05-04
[23:44:36.0000] 
TabAtkins: for Document there's this note in the source '"Document" isn't properly defining itself, and the force switch isn't working.'

[23:44:45.0000] 
TabAtkins: is there a bug on file for that in Bikeshed?

[23:44:55.0000] 
TabAtkins: also, I noticed addEventListener also links to the HTML specification...

[23:45:04.0000] 
TabAtkins: it seems we should blacklist some terms for HTML

[00:01:23.0000] 
TabAtkins: filed https://github.com/tabatkins/bikeshed/issues/403

[01:28:34.0000] 
annevk, your latest DOM commit isn't necessary

[01:28:40.0000] 
https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name already lowercases

[01:34:22.0000] 
How do I patch KDE2 under FreeBSD?

[01:41:41.0000] 
Ms2ger: it is necessary; otherwise setAttribute("ALIGN", "left") + getAttribute("align") doesn't work

[01:41:57.0000] 
Domenic, no, it isn't

[01:42:03.0000] 
Wait

[01:42:19.0000] 
Oh, hmm

[01:42:30.0000] 
Okay, it's half necessary :)

[01:42:50.0000] 
If it helps, I have an implementation of the 8-hours-ago spec that fails related web-platform-tests :)

[01:43:43.0000] 
We'll lowercase twice now, so that kinda sucks

[01:44:36.0000] 
How are case-insensitive maps normally done? I would think you'd need to lowercase on both set and get

[01:45:04.0000] 
I guess you could do case-insensitive comparison on get

[01:45:24.0000] 
not sure if that's implementable any faster

[01:50:01.0000] 
Ms2ger: I agree it's not great

[01:50:14.0000] 
Ms2ger: but I couldn't see a better abstraction immediately

[01:50:24.0000] 
Ms2ger: and I figured it would be better to fix this bug and refactor later

[01:50:46.0000] 
Yeah, makes sense

[01:52:27.0000] 
Domenic: normally you want a canonical form so you can store atoms internally

[01:56:36.0000] 
Anyone have a good logo for the Storage Standard?

[01:58:55.0000] 
boxes ... something windows 95ey...

[01:59:00.0000] 
database cylinders...

[01:59:25.0000] 
database cyclinders are popular https://www.google.de/search?q=storage+icon

[02:00:03.0000] 
Heh, or a cloud I guess

[02:00:25.0000] 
gotta save that for the cloud standard

[02:00:58.0000] 
floppy disk icon

[02:00:59.0000] 
Fair, I'm game with cyliners, I wonder if zcorpan has some cycles to whip up some SVG

[02:01:09.0000] 
Floppy disk would also be great

[02:01:23.0000] 
zcorpan usually is the best at this

[02:01:48.0000] 
i like floppy disk a lot too now

[02:02:14.0000] 
/me finds http://commons.wikimedia.org/wiki/File:Floppy_icon.svg in the public domain

[02:02:54.0000] 
Adopting the original one with less detail in some way might be good, maybe I'll take a stab once I have done some actual work

[02:03:42.0000] 
always a balance with these things between making the pretties and doing real work

[02:03:58.0000] 
i still want to spruce up the mobile stylesheets for the specs and add some kind of floating TOC sidebar for the desktop ones

[06:50:49.0000] 
MikeSmith: https://twitter.com/azu_re/status/595212022314217472 Translate gives "Of the of" as translation for the first couple of symbols, is there anything more to it?

[06:51:42.0000] 
Domenic: so I spoke with someone at a node meetup last week who is using streams to pass js objects and is using multiple readers from the same stream

[06:51:58.0000] 
Domenic: this seems somewhat reasonable to me... what do you think?

[06:52:10.0000] 
tobie: [[ENCODING]] is also a bit weird, listing what the W3C considers to be the editors

[06:52:34.0000] 
tobie: perhaps we should just support duplicate metadata for certain entries?

[06:52:40.0000] 
wanderview: seems like a good case for a tee or two

[06:53:03.0000] 
wanderview: or just a single reader that calls multiple functions

[06:53:10.0000] 
Domenic: the problem with tee is that you now have multiple readers consuming the same object... not the same as multiple readers from the same stream

[06:53:11.0000] 
I wish I could tee my tea

[06:53:20.0000] 
wanderview: you mean, alternating?

[06:53:39.0000] 
wanderview: in that case yeah, a single reader alternating between the functions it calls

[06:53:47.0000] 
wanderview: they can just hand out the reader object to multiple people

[06:54:02.0000] 
Domenic: yea... or lock and unlock on each read

[06:54:13.0000] 
meh just handing out the object seems simpler

[06:54:26.0000] 
The object is the capability; if you want to give it out widely, no problem with doing so.

[06:54:29.0000] 
Domenic: use case I can think of is where each reader represents a remote server to do the real work... and you are distributing the incoming load to them

[06:55:16.0000] 
Domenic: or (harder to implement now), somehow attach N Worker threads to read from the same stream

[06:55:41.0000] 
classic queue-with-threadpool model

[06:56:10.0000] 
it would be kind of nice to give devs the ability to build a threadpool in some way

[06:56:45.0000] 
seems totally doable

[06:57:05.0000] 
.read().then(result => dispatchTo(workers[i], result))

[06:58:58.0000] 
Domenic: thats not the same... the workers should pull when they are done with previous work... what you wrote could cause values to backup behind a worker stuck on a lot of slow work

[06:59:12.0000] 
fair

[06:59:13.0000] 
still not hard

[06:59:44.0000] 
yea, it can be built in a library... just a lot of extra messaging for js to manage

[07:00:07.0000] 
especially easy if workers get to expose writable streams and writable streams get more fine-grained flow control (desiredSize)

[07:00:59.0000] 
.read().then(result => findMinBy(workers, w => w.writable.desiredSize).writable.write(result.value)) // eliding done handling

[07:02:06.0000] 
err findMaxBy

[07:34:07.0000] 
Domenic: yea, that seems like a possible way to fix it as well

[07:44:09.0000] 
Is w3c-test.org offline?

[08:37:16.0000] 
https://resources.whatwg.org/logo-storage.svg

[08:40:59.0000] 
might need some top and bottom borders, can't tell until i see it in a circle i guess

[08:46:02.0000] 
Same. Like the idea, but possible needs borders.

[08:53:44.0000] 
there are probably people working in tech today who have never seen a floppy disk in their life

[08:54:00.0000] 
and yet it's still the universal "save/storage" symbol

[08:54:54.0000] 
Yeah, but that's how iconography works.

[08:55:56.0000] 
but we did move away from representing it with a 5 1/4" floppy

[08:57:11.0000] 
Yeah, but the 3 1/2" inch was the last real hard disk (zip disks don't count, nobody cared about them) so there was nothing to update to afterwards.

[08:57:44.0000] 
And consumer CDs were mostly readonly at first; so they couldn't take over.

[08:58:38.0000] 
Plus hard drives were large enough by then that people rarely saved to an external thing anyway. So the icon froze.

[08:59:50.0000] 
could always be a mashup google/amazon/apple/adobe/cloud logo

[09:01:00.0000] 
Domenic: hmm I guess I can make a border around it

[09:01:20.0000] 
I kind of liked it this way

[09:09:01.0000] 
as i said, could work well once i see it with a circle around it

[09:12:18.0000] 
Not all logos have a circle

[09:13:22.0000] 
hmm did not realize to what extent that was true

[09:13:27.0000] 
i guess it would be better here not to

[09:13:28.0000] 
hmm

[09:13:35.0000] 
/me notices the quirks mode logo ... amazing...

[09:15:37.0000] 
I got un-lazy and used inspector to edit storage.spec.whatwg.org and show the logo in place (no circle). I think the giant gap at the bottom where it bleeds into the page is too much :-/

[09:19:42.0000] 
hmm yeah

[09:27:16.0000] 
annevk: It might be fine with a circle around it! I'm not sure. I just *suspect*, without seeing it in full, that the open space at the top and bottom will look weird. But maybe it's fine.

[09:35:56.0000] 
Further patches/bug reports to the storage logo welcome in the resources.whatwg.org repo

[14:04:35.0000] 
jsbell: review ping on this last PR... https://critic.hoppipolla.co.uk/r/4825

[14:07:22.0000] 
wanderview: oops, forgot to submit...

[14:08:51.0000] 
jsbell: the fetch-with-streams really does not drain the Response on .text()? that seems... really wrong

[14:10:46.0000] 
wanderview: there was a recent change in chromium to align with that by the spec author, so I guess so. I have not absorbed streams or fetch-with-streams enough to argue. But I agree it seems weird.

[14:11:13.0000] 
jsbell: well, I've objected to that proposal... I'll follow-up on that... and last I heard from annevk this was not being merged into fetch yet

[14:11:24.0000] 
jsbell: seems premature to include this in wpt upstream

[14:19:26.0000] 
jsbell: with this behavior it seems it forces the browser to keep the contents of the stream in memory....

[14:23:12.0000] 
jsbell: thanks... for being obstinate

[14:23:19.0000] 
:)

[14:24:15.0000] 
wanderview: not waiting on anything else from me, correct?

[14:24:28.0000] 
jsbell: correct, thank you very much for reviewing all those!

[14:25:12.0000] 
I wrote a new issue for the bodyUsed thing: https://github.com/yutakahirano/fetch-with-streams/issues/37

[14:25:37.0000] 
wanderview: np; we'll "downstream" them into Blink soon (I have a minion now...)

[14:26:55.0000] 
wanderview: Oh, so is everything you are waiting for in wpt now merged?

[14:27:15.0000] 
jgraham: I have to address a nit in that last PR

[14:27:21.0000] 
and then I will ask you to merge

[14:27:35.0000] 
Oh, OK

[14:27:55.0000] 
/me requests that people use Issue for things that actually have to be fixed

[14:28:13.0000] 
Even nits, if they have to be fixed

[14:29:46.0000] 
jgraham: I wish there was an easy way to run a PR to wpt upstream against the browser

[14:29:54.0000] 
to make sure I don't make a stupid typo

[14:30:27.0000] 
wanderview: Like starting the webserver on your local machine and running the test? Because that's very possible

[14:30:48.0000] 
./serve in the wpt checkout root, although you probably need to configure your hosts file

[14:31:21.0000] 
jgraham: how do I get the tools dir?

[14:31:43.0000] 
git submodule update --recursive --init

[14:31:45.0000] 
https://github.com/w3c/web-platform-tests/blob/master/README.md#running-the-tests

[14:33:40.0000] 
jgraham: sadly, that doesn't work too well on my headless linux machine

[14:33:46.0000] 
if it only listens on localhost

[14:35:24.0000] 
wanderview: You can actually change that in the config file

[14:36:11.0000] 
Create a config.json with the bits of https://github.com/w3c/web-platform-tests/blob/master/config.default.json that you want to override

[14:37:22.0000] 
I'm just cloning it on my laptop

[14:37:27.0000] 
I have about 3 minutes before I have to leave

[14:39:30.0000] 
jgraham: sorry... it didn't work and I don't have time to investigate more... if you want me to retest before merging I can do it tomorrow

[14:44:23.0000] 
wanderview: Well it still needs to be reviewed anyway

[14:45:05.0000] 
So I guess if jsbell tests and reviews it then I will merge it, but it does seem like tomorrow is more likely


2015-05-05
[22:45:08.0000] 
Mark: The IETF is generally enthusiastic about Opportunistic Security

[22:45:09.0000] 
Mark: The W3C is much less excited about Opportunistic Security

[22:45:15.0000] 
/me is reading https://github.com/w3ctag/meetings/blob/gh-pages/2015/04-sfo/04-21-minutes.md

[23:09:02.0000] 
/me gets to the part where slightlyoff is upset with sortable tables

[23:09:18.0000] 
/me wouldn't really consider that representative of anything

[23:46:39.0000] 
"If your website is a bank, and you see a wildcard CORS header, it's probably really bad."

[23:46:49.0000] 
not true :-(

[23:51:29.0000] 
is w3.org down

[23:55:34.0000] 
http://downforeveryoneorjustme.com/w3.org

[23:55:41.0000] 
I can't access it either though

[00:13:07.0000] 
sorry we having haproxy problems I think

[00:13:11.0000] 
it may be while

[00:13:41.0000] 
oh maybe it's back already now

[00:14:21.0000] 
Domenic: where was that new URL implementation located again?

[00:14:37.0000] 
/me finds https://www.npmjs.com/package/url-standard and https://www.npmjs.com/package/urlsearchparams but they are different

[00:15:22.0000] 
https://www.npmjs.com/search?q=whatwg is pretty cool

[00:15:56.0000] 
Domenic: https://github.com/cofounders/urlutils ?

[00:16:09.0000] 
hmm that is a year old

[00:16:13.0000] 
Sebmaster: ?

[00:22:54.0000] 
ah

[00:22:54.0000] 
https://github.com/jsdom/whatwg-url

[00:23:28.0000] 
Whenever I search for jsdom I end up at https://github.com/tmpvar/jsdom so I didn't realize it was also an organization

[00:55:12.0000] 
yeah maybe we should move it

[01:09:51.0000] 
TabAtkins: when I regen URL it now points to #utf_8-decoder rather than #utf-8-decoder due to a change in linking practices?

[01:10:13.0000] 
TabAtkins: I'm not sure how I can prevent that from happening

[01:15:31.0000] 
Whoever wants underscores?!

[01:15:44.0000] 
I found a workaround, but this makes things way more verbose...

[01:44:25.0000] 
annevk_: explain no longer defaulting to about:blank?

[01:44:54.0000] 
Domenic: apparently #foo against about:blank will at some point yield about:blank#foo

[01:44:58.0000] 
Domenic: or might already in UAs

[01:45:11.0000] 
sure. Why is that a problem?

[01:45:24.0000] 
Domenic: because the intention was that the default was equivalent to no base URL

[01:45:34.0000] 
this is about new URL() only, or...?

[01:45:39.0000] 
yes

[01:45:42.0000] 
ah ok

[01:45:57.0000] 
yeah other specs still need to use about:blank

[01:46:03.0000] 
e.g. new Document()

[01:46:15.0000] 
so given an arbitrary string with no context, "parse this as a URL" i.e. "parse this as an absolute URL" should still be done relative to about:blank

[01:46:16.0000] 
yeah

[01:46:41.0000] 
document.URL seems fine for new URL I guess

[01:47:13.0000] 
"#foo" should only work if "../../foo.html" works IMO

[01:47:13.0000] 
I want new URL to be able to fail on non-absolute URLs

[01:47:18.0000] 
right

[01:48:04.0000] 
Maybe new URL() accepts relative and URL.absolute() fails on relative

[01:48:17.0000] 
.fromAbsolute? I dunno.

[01:48:43.0000] 
it seems new URL() should support all forms and .statics should support subsets

[01:49:09.0000] 
a null base URL is more low-level

[01:49:12.0000] 
I think that agrees with what I said :)

[01:49:31.0000] 
it might :-)

[01:52:02.0000] 
Domenic: do we still use tenXer?

[01:52:11.0000] 
Domenic: for whatwg/url it is triggering failures

[01:52:25.0000] 
annevk: no :( it's some kind of viral thing that spread to all my repos, I have since revoked it

[01:52:51.0000] 
Okay, deleted

[01:56:50.0000] 
 cross-browser returns a long string consisting of "data:text/html," repeatedly. how weird.

[15:04:37.0000] 
that's because you're doing weird things :p

[15:09:15.0000] 
gsnedders: hah. But also, really? That seems surpising because you would have thought that the url was set before the document was sent to the parser

[15:09:29.0000] 
Oh

[15:09:49.0000] 
so, according to standards, what should the number of data: thingies be?

[15:09:49.0000] 
Yeah, no that's not surprising

[15:10:42.0000] 
> An unbalanced tree was written using document.write() causing data from the network to be reparsed.

[15:11:45.0000] 
jgraham: ?

[15:19:15.0000] 
gsnedders: I’m surprised that it’s not infinite

[15:19:48.0000] 
there must be some kind of recursion limit to executing  and then runs a script which document.writes the text "data:text/html,", which is parsed until after the , which runs a script that document.writes "data:text/html,", which…

[15:26:04.0000] 
that was the guess I had… I didn't realise that caused a redirect…

[15:27:18.0000] 
redirect?

[15:27:37.0000] 
ohhhhh

[15:27:38.0000] 
duh

[16:48:39.0000] 
http://stackoverflow.com/questions/12575572 so why exactly do people do this obfuscation where they pass a global into a function instead of just assigning to a local

[16:48:48.0000] 
i see it a lot and it always seems to do nothing but make code harder to follow


2015-05-28
[17:02:07.0000] 
zewt: IIRC because it minifies better

[17:02:26.0000] 
that's pretty disgusting

[17:02:32.0000] 
obfuscate code so that it obfuscates better

[17:20:50.0000] 
Also: it shortens the scope chain between the code and the global in question, which provides questionable tiny perf benefits.

[17:21:50.0000] 
uh, an argument is in the same place as a local variable

[17:21:55.0000] 
at least in most JS VMs

[17:22:08.0000] 
oh, you mean when it's assigned

[17:22:33.0000] 
um, in the typical case JS VMs go straight to the global scope, and don't look at intermediatry scopes.

[17:22:51.0000] 
so there's no scope walking

[17:25:57.0000] 
gsnedders: Yeah, thus the "questionable" part.

[17:26:26.0000] 
jQuery was an early popularizer of the technique, so I bet a lot is cargo-culting.

[17:26:32.0000] 
well, it's not questionable unless you're using eval/with in an intermediatry scope

[17:26:43.0000] 
and if you are you deserve to burn in hell ;P

[17:26:44.0000] 
also the call-an-anonymous-function paradigm is usually one-off calls during initialization and not inner loops

[17:26:47.0000] 
direct eval, that is

[19:39:46.0000] 
"using simple components that we understand and avoiding prematurely solving problems that aren't yet problems"

[19:39:51.0000] 
http://githubengineering.com/rearchitecting-github-pages/

[19:49:57.0000] 
re: https://twitter.com/ID_AA_Carmack/status/515873591515049984

[22:47:40.0000] 
has there been any more progress on annevk's iframe[ansyc] idea

[00:26:14.0000] 
As promises and now streams are moving from the DOM directly into ES, are there plans to do the same with events?

[00:28:00.0000] 
Context: I'm working on the sensor API, the first draft of which inherits from EventTarget, which makes is unsuitable for implementation outside of the browser (e.g.: in node/io).

[01:03:48.0000] 
SimonSapin: I think we should get telemetry on the surrogate thing sooner than later. It seems improbable to me that it would be a compat problem to the point of making users reject the browser

[02:30:18.0000] 
Who is this optimist and what have they done with the real hsivonen?

[06:20:43.0000] 
hayato ping

[06:21:49.0000] 
hayato do you know of any reference material for custom pseudo selectors? (or are they called 'name parts'?)

[12:13:04.0000] 
http://secure.hostgator.com/~affiliat/cgi-bin/affiliates/clickthru.cgi?id=jimi13 great webserver deal

[12:13:09.0000] 
whisper me for the link

[12:43:26.0000] 
what a deal

[13:54:33.0000] 
the whisper command is not working


2015-05-29
[22:49:35.0000] 
We have a winner: https://lists.w3.org/Archives/Public/html-tidy/2015AprJun/0013.html 🏆

[23:12:24.0000] 
MikeSmith: was that from shark or snark?

[23:23:39.0000] 
heh

[05:22:54.0000] 
Hi. I read about one-time possible privacy attack allowing to discover, what sites user visited. The idea is to measure time of loading favucon.ico from various sites. If it is in a cache, it will load sifnificantly faster. What you think?

[05:24:54.0000] 
And the time could be compared with favicon.ico?someRandomValue

[06:06:40.0000] 
IZh: such things have been vaguely plausible for years, and somewhat known of

[16:10:05.0000] 
Has an abort method been decided upon for the fetch API yet?

[16:10:51.0000] 
All I can seem to find is arguing I'm not sure if any progress has actually been made or where to follow news on progress (minus arguments).

[16:21:56.0000] 
but the arguments are what makes it entertaining


2015-05-31
[11:45:37.0000] 
Hixie look at query or email

[11:45:48.0000] 
pls its urgent

[11:46:21.0000] 
a cgi script on your page is not so well-behaved