/irc-logs / freenode / #whatwg / 2013-11-04 / end

Options:

  1. # Session Start: Mon Nov 04 00:00:00 2013
  2. # Session Ident: #whatwg
  3. # [00:11] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
  4. # [00:11] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  5. # [00:15] * Quits: WebJonas (~Jonas@166.201.202.84.customer.cdi.no) (Ping timeout: 245 seconds)
  6. # [00:16] <jgraham> zewt: Yeah, it does often seem that TC39 are big on consistency and bad on usability. It isn't obvious why you couldn't add the ability to override the meaning of [] in particular classes and use that to make map less user hostile
  7. # [00:16] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  8. # [00:23] <Domenic_> you would be unable to pass a Map into a lot of existing code that assumes existing object keys are strings.
  9. # [00:23] * Quits: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net) (Quit: tobie)
  10. # [00:24] <zewt> so?
  11. # [00:25] <zewt> can't think of any case in any code i've ever written where that would matter more than having a map interface that isn't gross
  12. # [00:27] <zewt> and it trades for being able to use the class in tons of existing code that assumes object keys are the keys of the dictionary
  13. # [00:28] <zewt> function sum_values(dict) { var total = 0; for(var key in dict) total += dict[key]; return total; }
  14. # [00:28] <zewt> would work for both types, instead of having to write separate code for maps with their different interface
  15. # [00:29] * Quits: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com) (Quit: tantek)
  16. # [00:41] * Quits: jdaggett (~jdaggett@103.5.142.21) (Quit: jdaggett)
  17. # [00:42] * Quits: annevk (~annevk@2.31.25.160) (Remote host closed the connection)
  18. # [00:46] * Quits: ot (~css@unaffiliated/css) (Remote host closed the connection)
  19. # [00:49] * Joins: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com)
  20. # [01:06] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: Back to real life!)
  21. # [01:13] * Joins: jdaggett (~jdaggett@103.5.142.32)
  22. # [01:21] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
  23. # [01:24] * Joins: malaclyps (~Danny@gateway/tor-sasl/malaclyps)
  24. # [01:29] * Quits: jorgepedret (~jorgepedr@70-36-56-110.dyn.novuscom.net) (Quit: Computer has gone to sleep.)
  25. # [01:31] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  26. # [01:37] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
  27. # [01:38] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  28. # [01:40] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 272 seconds)
  29. # [01:43] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  30. # [01:58] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  31. # [02:06] * Quits: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com) (Quit: tantek)
  32. # [02:27] * Quits: Guest88386 (~master@74-50-124-83.static.hvvc.us) (Ping timeout: 248 seconds)
  33. # [02:38] <Domenic_> annevk-cloud: why does ServiceWorker want multi-destination streams exactly? I can't quite understand it from that issue.
  34. # [02:40] * Joins: Guest88386 (~master@198.178.124.69)
  35. # [02:49] <TabAtkins> zewt: While there *is* a tc39 proposal for overriding the behavior of [], it would still be bad to make that the default for Maps, because of how JS treats .foo and ['foo'] identically. As Domenic_ has said, making maps use [] by default would break a *lot* of code that is currently assuming you can do obj[v] to access a property. And without that []
  36. # [02:49] <TabAtkins> ability, JS has no way to access a property whose name is stored in a string.
  37. # [02:49] * Joins: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt)
  38. # [02:49] <TabAtkins> (Python has a special function just for that - getattr() and setattr(). They're clumsy to use.)
  39. # [02:50] <zewt> they're identically clumsy to map.get() and map.set(), and that's okay because accessing a raw property on a map (rather than a key stored in the map) is rare
  40. # [02:50] <TabAtkins> It's fun to claim that, but every metaprogramming function ever uses computed properties.
  41. # [02:51] <zewt> (i was referring to leaving .foo and ["foo"] the same, but allowing properties to have non-string values, which of course wouldn't be accessible via .foo; an alternative is detaching .foo and ["foo"], but that wasn't what I was talking about)
  42. # [02:52] * Quits: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt) (Client Quit)
  43. # [02:52] <zewt> i've used python extensively, and getattr() is definitely the exception (but it's not really a useful comparison, since python already treats .foo and ["foo"] as two different things)
  44. # [02:52] <TabAtkins> And Map#get() and #set() are less clumsy, because they're used consistently. Even Python's getattr() and setattr() are less clumsy than they would be in JS, because they're the *only* way to get computed property names. Your suggestion would mean that *some* objects can have their properties accessed with obj[v], but not all.
  45. # [02:52] <zewt> they're not at all used consistently, because the dictionaries everyone already uses are simple objects that don't have .get or .set at all
  46. # [02:52] * Joins: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt)
  47. # [02:53] <TabAtkins> You're using "consistently" in a different manner than I am.
  48. # [02:53] * Quits: hugomrdias (~hugomrdia@50.247.54.77.rev.vodafone.pt) (Read error: Connection reset by peer)
  49. # [02:53] <TabAtkins> You're referring to I guess consistency with existing practice.
  50. # [02:53] <zewt> i have endless amounts of code passing around dictionaries as objects; making Map have .get and .set instead of using [] means *none* of that code works with Map
  51. # [02:53] <TabAtkins> Which is terrible, and the whole reason we invented Maps.
  52. # [02:53] <TabAtkins> Mixing up keys and properties is super terrible.
  53. # [02:53] <TabAtkins> But we just grin and bear it right now, because there's no other way to get O(1) maps.
  54. # [02:54] <zewt> dominic's argument was that code assumes properties are strings, so allowing foo[Object] would break lots of code with that assumption; i'm saying that might be so (can't think of any real examples), but you trade for definitely not working with tons of code, which assumes key/value stores accessed with []
  55. # [02:54] <TabAtkins> I'm sorry that it took so long for JS to grow a Map class, but it's designed well now that it exists.
  56. # [02:55] <zewt> not being able to use simple objects and Map interchangeably for the "simple dictionary" pattern means I'm going to default to using objects, and only ever use Map when I really, specifically need to store non-string keys; that's a bad result
  57. # [02:57] <TabAtkins> Shrug, that'll definitely happen sometimes.
  58. # [02:57] <zewt> no, it'll happen all the time
  59. # [02:57] <TabAtkins> I wish {} hadn't already been claimed for object literals. :/
  60. # [02:57] <zewt> well, it would be nice if JS was like Python and treated .foo and ["foo"] as two different things, but that's not what we're talking about
  61. # [02:58] <TabAtkins> Regardless, unless we *also* overrode the behavior of .foo, you'd *still* run into the same problems you're outlining.
  62. # [02:58] <zewt> ... but we're *talking* about overriding both ["foo"] and .foo, since they're the same thing
  63. # [02:58] <TabAtkins> Because people like doing obj.foo over obj['foo'] when the "foo" is a literal.
  64. # [02:58] <TabAtkins> No, jeez, that's so terrible.
  65. # [02:58] <zewt> nobody is suggesting making ["foo"] and .foo different
  66. # [02:59] <TabAtkins> Every Map would have a "toString" key in it automatically, or at least would *look* like it did. +"get", "set", "delete", and others.
  67. # [02:59] <zewt> just make Map have no members and have an identical interface as a simple Object, and things that act on them go elsewhere (which is also consistent with what we already have, eg. Object.keys)
  68. # [03:00] * heycam is now known as heycam|away
  69. # [03:00] <TabAtkins> Object.keys is a hack around the problem that we don't want more properties to show up on everything. Maps are like normal objects, which have their behavior as methods on themselves.
  70. # [03:00] <TabAtkins> Having to do Map.clear(m) would be so shitty. :/
  71. # [03:00] <zewt> trivially, inconsequentially shitty
  72. # [03:01] <zewt> at the "it would be nice" level
  73. # [03:01] <TabAtkins> It's inconsistent with how virtually every other object in the entire language works, except for Object itself, which is an exception for obvious reasons.
  74. # [03:01] <zewt> Object.keys(foo) is a bit annoying (compared to foo.keys()); having object dictionaries and Map dictionaries have different interfaces is massively annoying
  75. # [03:02] <TabAtkins> Seriously, for every argument that it would be consistent in one way, it's less consistent in another way, seemingly worse way.
  76. # [03:03] * Quits: broquaint (~dbrook@static.94.217.47.78.clients.your-server.de) (Ping timeout: 272 seconds)
  77. # [03:03] * Joins: broquaint (~dbrook@static.94.217.47.78.clients.your-server.de)
  78. # [03:03] <zewt> i'd say the opposite: having Map have a different API (at least among the things discussed here so far) gives minor academic prettiness, at the expense of bigger failures
  79. # [03:04] <zewt> anyway, the result is that Map will be a type used for special-purpose scenarios, where you specifically need to stash things with objects as keys, and never a general-purpose container ... which is something the Web can live with (we've lived with string keys this far, after all), it's just sucky
  80. # [03:05] <TabAtkins> I agree that it would be *nice* for Maps and Objects-as-Maps to work the same way, but to make it happen, you have to accept several of the downsides of Objects-as-Maps (which we were trying to get away from) and having to structure the operations in a weird way that doesn't match anything else.
  81. # [03:05] <zewt> to me it seems better to match the dictionaries everyone is using, instead of a dictionary class that matches everything *except* ... you know, dictionaries
  82. # [03:06] <TabAtkins> Welp, I've explained why it's not better, or at least why I and TC39 think it's not better, so shrug.
  83. # [03:06] <zewt> i don't know much about TC39, except that every time I see that sequence of letters, it's about something I think is badly designed, heh
  84. # [03:07] <TabAtkins> Don't take this the wrong way, but most of the time when I see you complaining about it, I think you're on the wrong side. ^_^
  85. # [03:07] <zewt> oh well
  86. # [03:10] <Hixie> zewt: if it makes you feel any better, most of the time when i see tab defending TC39, I think _he's_ on the wrong side, so... :-)
  87. # [03:11] <zewt> <TabAtkins> oh well
  88. # [03:11] <Hixie> then again, my preferences in languages are basically diametrically opposed to javascript's basic philosophies, so it's not particularly surprising
  89. # [03:11] <zewt> i wish bugzilla would post to lists in a way gmail threads properly
  90. # [03:12] <zewt> it's annoying eg. reading the set()/toggle() bug, searching through dom for a minute and seeing "oh, toggle does this", then loading the bug and seeing that was already commented, it just ended up as a separate thread
  91. # [03:12] <Hixie> don't use gmail?
  92. # [03:12] <zewt> i think it's the "new:" it adds to new bugs that screws up gmail
  93. # [03:12] <zewt> yeah "change to a different email client" is pretty much never a useful solution, heh
  94. # [03:12] <Hixie> oh actually yeah, that particular one breaks even in pine
  95. # [03:12] <zewt> don't use pine?
  96. # [03:12] <zewt> :P
  97. # [03:14] * Joins: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net)
  98. # [03:22] <zewt> heh, i guess that's a pattern that fundamentally disagrees with the "arguments not passed should act like they're set to undefined" idea
  99. # [03:22] <zewt> (classList.set("foo", false))
  100. # [03:23] <zewt> actually I guess not and I'm just tired
  101. # [03:24] <zewt> maybe I should be watching TV and zoning out instead of reading specs on Sunday night
  102. # [03:30] * Quits: jdaggett (~jdaggett@103.5.142.32) (Quit: jdaggett)
  103. # [03:33] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  104. # [03:33] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
  105. # [03:44] * Quits: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com) (Quit: leaving)
  106. # [03:45] * Joins: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com)
  107. # [03:46] <zewt> losing hope in humanity at still having to explicitly configure screen to utf-8
  108. # [03:46] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
  109. # [03:48] * Joins: newtron_ (~newtron@76-10-180-252.dsl.teksavvy.com)
  110. # [03:52] * Quits: newtron_ (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  111. # [03:54] * heycam|away is now known as heycam
  112. # [04:08] * heycam is now known as heycam|away
  113. # [04:16] * heycam|away is now known as heycam
  114. # [04:29] * heycam is now known as heycam|away
  115. # [04:32] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  116. # [04:38] * Quits: BoyanYordanov (~boyan@77.71.96.54) (Quit: Leaving)
  117. # [04:43] * Joins: lmclister (~lmclister@210.177.241.2)
  118. # [04:45] * Joins: Benvie_ (~bbenvie@204.28.118.69)
  119. # [04:47] * Joins: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com)
  120. # [04:50] * Quits: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com) (Client Quit)
  121. # [04:56] * Quits: plutoniix (~plutoniix@node-iff.pool-101-108.dynamic.totbb.net) (Quit: จรลี จรลา)
  122. # [04:58] * Quits: Guest88386 (~master@198.178.124.69) (Ping timeout: 245 seconds)
  123. # [05:07] * DaveMethvin is now known as DaveMethvin|away
  124. # [05:12] * heycam|away is now known as heycam
  125. # [05:37] * Quits: Benvie_ (~bbenvie@204.28.118.69) (Ping timeout: 246 seconds)
  126. # [06:10] * Quits: lmclister (~lmclister@210.177.241.2)
  127. # [06:12] * Quits: papercut (papercut@gateway/shell/elitebnc/x-avusxrrqgofwwxik) (Quit: EliteBNC free bnc service - http://elitebnc.org - be a part of the Elite!)
  128. # [06:17] * Joins: lmclister (~lmclister@202.82.120.65)
  129. # [06:21] * Joins: plutoniix (~plutoniix@node-yzh.pool-180-180.dynamic.totbb.net)
  130. # [06:22] * Joins: [[zz]] (~zz]]@node-yzh.pool-180-180.dynamic.totbb.net)
  131. # [06:29] * Quits: seventh (seventh@69.80.108.17) (Ping timeout: 245 seconds)
  132. # [06:33] * Quits: lmclister (~lmclister@202.82.120.65)
  133. # [06:37] * Joins: tantek (~tantek@107.25.184.185)
  134. # [06:38] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Remote host closed the connection)
  135. # [06:39] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  136. # [06:41] * Quits: plutoniix (~plutoniix@node-yzh.pool-180-180.dynamic.totbb.net) (Quit: จรลี จรลา)
  137. # [06:43] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  138. # [06:50] * heycam is now known as heycam|away
  139. # [07:20] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
  140. # [07:30] * Joins: papercut (papercut@gateway/shell/elitebnc/x-gigivjnfkhxacicj)
  141. # [07:34] * Joins: a-ja (~Instantbi@70.230.164.222)
  142. # [07:37] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Ping timeout: 245 seconds)
  143. # [07:39] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  144. # [07:43] * Joins: zdobersek (~zdobersek@46.165.210.17)
  145. # [07:49] * Quits: jernoble (~jernoble@17.212.152.13) (Ping timeout: 240 seconds)
  146. # [07:50] * Joins: jernoble (~jernoble@17.212.152.13)
  147. # [07:58] * DaveMethvin|away is now known as DaveMethvin
  148. # [08:03] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  149. # [08:04] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
  150. # [08:04] <MikeSmith> BOM breaks Crosswalk testing? https://github.com/w3c/web-platform-tests/pull/400
  151. # [08:06] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  152. # [08:06] * Quits: Somatt_wrk_ (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 240 seconds)
  153. # [08:07] <MikeSmith> Hixie: about troubleshooting the bugzilla problem if you think it might help, I can ask somebody to look at the server logs
  154. # [08:08] <MikeSmith> (I'd do it myself but I don't have shell access to the server)
  155. # [08:10] * DaveMethvin is now known as DaveMethvin|away
  156. # [08:11] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  157. # [08:17] * Quits: Zauberfisch (~Zauberfis@venus.zauberfisch.at) (Read error: Connection reset by peer)
  158. # [08:20] <MikeSmith> 笑 serious discussion about now adding a usemap-N attribute
  159. # [08:20] <MikeSmith> good times
  160. # [08:29] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 260 seconds)
  161. # [08:32] * Joins: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net)
  162. # [09:00] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  163. # [09:01] * Joins: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl)
  164. # Session Close: Mon Nov 04 09:01:47 2013
  165. #
  166. # Session Start: Mon Nov 04 09:01:47 2013
  167. # Session Ident: #whatwg
  168. # [09:01] * Disconnected
  169. # [09:05] * Attempting to rejoin channel #whatwg
  170. # [09:05] * Rejoined channel #whatwg
  171. # [09:05] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ & http://logbot.glob.com.au/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  172. # [09:05] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
  173. # [09:14] * Quits: malaclyps (~Danny@gateway/tor-sasl/malaclyps) (Ping timeout: 240 seconds)
  174. # [09:14] <zcorpan> Hixie: the login thing in the spec is gone?
  175. # [09:17] * Joins: hasather (~hasather@80.91.33.141)
  176. # [09:24] * Joins: rego (~rego@231.193.27.77.dynamic.mundo-r.com)
  177. # [09:26] <MikeSmith> zcorpan: the usemap thing shows another reason why an attribute-based solution is suboptimal here. Along with the specific existing problem of making it work with usemap, it come with the same problem for any new attributes we might want to add to img later (attributes whose values might need to vary based on the properites of the image)
  178. # [09:29] <zcorpan> MikeSmith: i don't think it shows that it's suboptimal. you either want an existing feature of img to work, and you have to provide it, or you don't and don't, regardless of img vs picture
  179. # [09:29] <MikeSmith> of course
  180. # [09:30] <MikeSmith> but with picture it doesn't require anything more than adding a usemap analog to source
  181. # [09:30] <MikeSmith> or just usemap
  182. # [09:31] <MikeSmith> whereas with src-N it requires introducing further mess
  183. # [09:31] <MikeSmith> from an authoring point of view
  184. # [09:32] <zcorpan> well first we need to consider whether we need to have the usemap feature available at all together with image switching
  185. # [09:32] * Quits: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net) (Ping timeout: 272 seconds)
  186. # [09:32] <MikeSmith> true
  187. # [09:33] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  188. # [09:33] * Joins: hasather (~hasather@80.91.33.141)
  189. # [09:34] <zcorpan> most features of img we actually want to work the same, i think
  190. # [09:34] <MikeSmith> yeah I would think so
  191. # [09:36] <zcorpan> so that argues for using <img>, but doesn't argue for attributes for the sources - it *could* do what <input list> does
  192. # [09:36] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  193. # [09:36] * Joins: hasather (~hasather@80.91.33.141)
  194. # [09:37] <zcorpan> i'm not sure that's an awesome solution either though; it requires the author to mint IDs for all images
  195. # [09:39] <zcorpan> or it could check the next element sibling, like <img usesourcelist alt ...><sourcelist>...
  196. # [09:39] <MikeSmith> still seems better than minting yet another attribute
  197. # [09:41] <zcorpan> what attribute?
  198. # [09:41] <MikeSmith> I meant yet another attribute like src-N
  199. # [09:42] <MikeSmith> with some complex microsyntax
  200. # [09:42] <zcorpan> for usemap you mean?
  201. # [09:42] <MikeSmith> just for the usemap case
  202. # [09:42] <MikeSmith> yeah
  203. # [09:43] <zcorpan> ok. yeah i don't disagree. but i'm not convinced we need usemap
  204. # [09:44] <MikeSmith> yeah, me neither
  205. # [09:45] <MikeSmith> but I think others are likely to say it needs to be supported for the src-N case
  206. # [09:46] <zcorpan> that doesn't make it a good idea to do it
  207. # [09:47] <Ms2ger> Like src-N? ;)
  208. # [09:47] <zcorpan> like anything, just people saying "this is needed" by itself doesn't mean much
  209. # [09:49] <zcorpan> as for usemap, if it needs anything, the first step would be to explore real cases where you'd use it and see what is actually needed. maybe what we really need is an event when there's a breakpoint switch
  210. # [09:52] * Quits: tantek (~tantek@107.25.184.185) (Quit: tantek)
  211. # [09:54] * Joins: tantek (~tantek@107.25.184.185)
  212. # [09:57] * Joins: WesleyMcClane_ (~quassel@host151-145-dynamic.10-87-r.retail.telecomitalia.it)
  213. # [09:58] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
  214. # [09:58] * Joins: bholley (~bholley@p5B279731.dip0.t-ipconnect.de)
  215. # [10:00] * Quits: WesleyMcClane (~quassel@host185-107-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 245 seconds)
  216. # [10:01] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  217. # [10:05] * Quits: tantek (~tantek@107.25.184.185) (Quit: tantek)
  218. # [10:06] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
  219. # [10:09] <MikeSmith> hsivonen: when I take a document with an HTML4 doctype and feed it to validator.nu, and I manually choose an HTML5 preset, I'd expect to see an "obsolete doctype" warning. But I don't.
  220. # [10:09] <Ms2ger> Is it an allowed one?
  221. # [10:09] <MikeSmith> http://validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521DOCTYPE%2520HTML%2520PUBLIC%2520%22-%252F%252FW3C%252F%252FDTD%2520HTML%25204.01%252F%252FEN%22%2520%2520%22http%253A%252F%252Fwww.w3.org%252FTR%252Fhtml4%252Fstrict.dtd%22%3E%3Ctitle%3Etest%3C%252Ftitle%3E%3Cp%3Etest%250D%250A&schema=http%3A%2F%2Fs.validator.nu%2Fhtml5.rnc+http%3A%2F%2Fs.validator.nu%2Fhtml5%2Fassertions.sch+http%3A%2F%2Fc.validator.nu%2Fall%2F
  222. # [10:09] <MikeSmith> Ms2ger: yeah
  223. # [10:10] <MikeSmith> and from code inspection I know why it's not emitting the warning
  224. # [10:10] <MikeSmith> the reason is it only emits the warning if the parser mode is set to HTML5 parsing
  225. # [10:11] <MikeSmith> which you can do in the validator.nu UI by manually setting the Parser option to HTML5
  226. # [10:11] <MikeSmith> http://validator.nu/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%2521DOCTYPE%2520HTML%2520PUBLIC%2520%22-%252F%252FW3C%252F%252FDTD%2520HTML%25204.01%252F%252FEN%22%2520%2520%22http%253A%252F%252Fwww.w3.org%252FTR%252Fhtml4%252Fstrict.dtd%22%3E%3Ctitle%3Etest%3C%252Ftitle%3E%3Cp%3Etest%250D%250A&schema=http%3A%2F%2Fs.validator.nu%2Fhtml5.rnc+http%3A%2F%2Fs.validator.nu%2Fhtml5%2Fassertions.sch+http%3A%2F%2Fc.validator.nu%2Fall%2F&parser=html5
  227. # [10:12] <MikeSmith> but I don't think users should be expected to do that manually
  228. # [10:14] * Joins: rniwa (~rniwa@c-98-207-134-149.hsd1.ca.comcast.net)
  229. # [10:14] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  230. # [10:15] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
  231. # [10:15] <MikeSmith> I guess the best way to deal with it would be to be automatically set the parser mode to HTML5 if a user chooses an HTML5 preset
  232. # [10:17] * Joins: darobin (~darobin@78.109.80.74)
  233. # [10:17] <JakeA> Domenic_: annevk-cloud: Was there any discussion for an "always" method on Promises?
  234. # [10:17] <Domenic_> JakeA: yes, https://github.com/domenic/promises-unwrapping/issues/18
  235. # [10:18] * Joins: Zauberfisch (~Zauberfis@venus.zauberfisch.at)
  236. # [10:18] <Domenic_> it may be possible to get it in now that the fate of promises themselves is less up in the air. but we'll see.
  237. # [10:19] <JakeA> I'm playing around with them, but find myself doing .then(func, func) a lot
  238. # [10:19] <JakeA> or .catch(function(){})
  239. # [10:20] <annevk-cloud> Domenic_, ask JakeA the streams thing
  240. # [10:20] <JakeA> Domenic_: Ended up with this for displaying cached data then attempting a live update https://gist.github.com/jakearchibald/481ae9e5e72d83147585
  241. # [10:20] <Domenic_> .then(func, func) has pretty bad semantics, not as good as finally.
  242. # [10:21] <Domenic_> JakeA: what was the service worker use case for piping a stream to multiple destinations?
  243. # [10:22] <JakeA> Domenic_: What you mentioned in your doc. Getting a network response and sending it to the browser and cache at the same time
  244. # [10:22] <Domenic_> JakeA: ah excellent, I guessed right! :D
  245. # [10:24] <JakeA> There's potential for a transformation in between too. Eg, the copy from the network could have state info that you don't want in the cache, eg "Logged in a Jake" which may not be true later
  246. # [10:24] * Quits: Ms2ger (~Ms2ger@20.202-242-81.adsl-dyn.isp.belgacom.be) (Quit: bbl)
  247. # [10:24] <JakeA> So network stream goes to the browser, but also to a transform to strip bits out, then the cache
  248. # [10:25] <JakeA> That would probably be messy and regexy though, but possibly the best solution for server-constructed sites that want to hack in offline support
  249. # [10:26] <JakeA> Domenic_: Looking at finally… that doesn't recover from the error right? It passes the error along?
  250. # [10:26] <JakeA> If so, I don't think it fits my usecase
  251. # [10:26] <Domenic_> JakeA: right, just like sync try { } finally { }
  252. # [10:27] <Domenic_> yeah, I think you really want an empty catch block
  253. # [10:27] <JakeA> What if .catch() desugared to .catch(function(reason) { return reason })?
  254. # [10:27] <JakeA> That'd work
  255. # [10:28] <Domenic_> seems weird
  256. # [10:28] <Domenic_> arrow functions make it nicer .catch(r => r)
  257. # [10:30] <zcorpan> MikeSmith: why should it warn about the html4 doctype when validating as html5?
  258. # [10:30] <JakeA> showSpinner().then(fetchStuff).catch().then(hideSpinner)
  259. # [10:31] <MikeSmith> zcorpan: because the spec says it's an obsolete doctype
  260. # [10:31] <JakeA> reads well to me as in "catch errors and continue"
  261. # [10:31] <Domenic_> hmm yeah it kind of does
  262. # [10:31] <MikeSmith> zcorpan: and authors should change it to just <!doctype html>
  263. # [10:31] <JakeA> maybe desugaring to .catch(function() {}) would be safer, because you're sure of the value afterwards
  264. # [10:32] <Domenic_> agreed, seems weird to have an error for a value.
  265. # [10:32] <zcorpan> MikeSmith: ok i see it in the spec now. i thought it was supposed to be silently permitted
  266. # [10:32] <JakeA> Domenic_: Shall I make an issue for this, or has the discussion moved elsewhere?
  267. # [10:32] <JakeA> Or are changes to .catch() with no args set in stone now?
  268. # [10:32] <Domenic_> JakeA: issue is great. We'll see what people think. I gotta sleep now though :)
  269. # [10:33] <JakeA> G'night!
  270. # [10:33] <MikeSmith> zcorpan: well I'm not sure the spec explicitly states what conformance checkers should do
  271. # [10:33] <MikeSmith> for this case
  272. # [10:33] <zcorpan> http://www.whatwg.org/specs/web-apps/current-work/multipage/obsolete.html#warnings-for-obsolete-but-conforming-features
  273. # [10:34] <MikeSmith> ah
  274. # [10:34] <MikeSmith> thanks
  275. # [10:38] * Joins: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net)
  276. # [10:39] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  277. # [10:41] * Parts: a-ja (~Instantbi@70.230.164.222)
  278. # [10:41] <MikeSmith> zcorpan: btw I notice that for HTML4 documents, validator.nu also emits a warning if the doctype lacks a system ID. "Warning: The doctype did not contain the system identifier prescribed by the HTML 4.01 specification."
  279. # [10:42] <zcorpan> MikeSmith: yeah
  280. # [10:42] <MikeSmith> http://validator.nu/?doc=http://qa-dev.w3.org/wmvs/HEAD/dev/tests/html401-strict.html
  281. # [10:43] <MikeSmith> zcorpan: does the HTML4 spec actually say the doctype should have a system ID?
  282. # [10:45] * Joins: bholley_ (~bholley@p5B278D19.dip0.t-ipconnect.de)
  283. # [10:46] <zcorpan> MikeSmith: " HTML 4.01 specifies three DTDs, so authors must include one of the following document type declarations in their documents."
  284. # [10:46] * Joins: Yitro (~Yitro@101.164.232.85)
  285. # [10:47] * Quits: bholley (~bholley@p5B279731.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
  286. # [10:47] * bholley_ is now known as bholley
  287. # [10:47] <zcorpan> you could choose to read it as you must use those exact strings, or must use a doctype that refers to those DTDs, or something in between
  288. # [10:47] * Joins: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk)
  289. # [10:48] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Ping timeout: 240 seconds)
  290. # [10:48] <zcorpan> hsivonen read it as FPI+SI, and on a practical matter IE5 Mac uses quirks mode for HTML 4.01 strict without SI
  291. # [10:49] <zcorpan> but it doesn't really matter either way now
  292. # [10:49] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  293. # [10:50] * Joins: Kolombiken (~Adium@94.137.124.2)
  294. # [10:50] <MikeSmith> ok
  295. # [10:51] <MikeSmith> zcorpan: it matters somewhat for me, because I want to replace the legacy W3C validator
  296. # [10:52] <zcorpan> MikeSmith: ok, so what's the goal there? avoid new warnings? be spec-correct? be useful?
  297. # [10:53] <MikeSmith> first, be useful
  298. # [10:53] <MikeSmith> I don't care about avoiding new warnings, as long as they are useful
  299. # [10:54] <zcorpan> so the usefulness here is whether the author cares about quirks mode in ie5 mac
  300. # [10:55] <zcorpan> which is to say that warning about it isn't useful
  301. # [10:56] <MikeSmith> yeah
  302. # [10:57] <MikeSmith> I think it's not a message that any author would find useful at this point
  303. # [10:57] <zcorpan> also see the 4.0 doctype
  304. # [10:58] <MikeSmith> what about it? you mean, no system ID?
  305. # [10:58] * Quits: rniwa (~rniwa@c-98-207-134-149.hsd1.ca.comcast.net) (Quit: rniwa)
  306. # [10:58] <zcorpan> v.nu treats it differently to 4.01
  307. # [10:59] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
  308. # [11:00] <zcorpan> but i guess that's ok if you validate as html4 -- the html4 spec says you must use 4.01 after all
  309. # [11:00] <MikeSmith> right
  310. # [11:01] * DaveMethvin|away is now known as DaveMethvin
  311. # [11:11] * DaveMethvin is now known as DaveMethvin|away
  312. # [11:11] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  313. # [11:16] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  314. # [11:17] * Joins: Ms2ger (~Ms2ger@b255h096.ugent.be)
  315. # [11:24] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  316. # [11:25] * Joins: hasather (~hasather@80.91.33.141)
  317. # [11:26] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  318. # [11:26] * Joins: hasather (~hasather@80.91.33.141)
  319. # [11:28] * Quits: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr) (Excess Flood)
  320. # [11:30] * Joins: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr)
  321. # [11:32] * Joins: Lachy (~Lachy@213.166.174.2)
  322. # [11:39] <jgraham> TabAtkins: Having Object.getProperty to do the same as the current behaviour of [], and map behave like you would expect with [] seems like a much better design than what TC39 has. Doing proper introspection in JS already requires the extremely-verbose Object.getOwnPropertyDescriptor to do well so I don't think "introspection should be favoured over API usage" is a good argument
  323. # [11:45] * Joins: joelcox (~joelcox@unaffiliated/joelcox)
  324. # [11:45] * Joins: adactio (~adactio@212.42.170.181)
  325. # [11:49] <matjas> if a parent page has <base name=foo>, is it possible to get the `name` from within an iframe in that page?
  326. # [11:50] <Ms2ger> window.parent.document.get...?
  327. # [11:51] <matjas> http://ruxcon.org.au/assets/slides/CSP-kuza55.pptx says <base name=foo> leaks cross-domain
  328. # [11:51] <matjas> i’m trying to understand what the author meant exactly
  329. # [11:52] <JakeA> Anyone feel they know their way around Promises? Would be good to get some thoughts on https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448
  330. # [11:52] <matjas> IIUC `window.parent.document.get...` would fail if the iframe is on a different origin, right?
  331. # [11:56] * Joins: annevk (~annevk@207.218.72.65)
  332. # [12:00] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  333. # [12:01] * Joins: felipeduardo (~felipedua@189.115.44.34)
  334. # [12:02] <Ms2ger> I'd hope so
  335. # [12:02] * matjas asks @kuza55
  336. # [12:06] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  337. # [12:06] * Joins: hasather (~hasather@80.91.33.141)
  338. # [12:08] <jgraham> What's the name attribute on base?
  339. # [12:10] <Ms2ger> Gives the base name, clearly
  340. # [12:11] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 240 seconds)
  341. # [12:11] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  342. # [12:17] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  343. # [12:22] * Quits: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de) (Quit: bholley)
  344. # [12:25] * Joins: WesleyMcClane (~quassel@host92-137-dynamic.7-87-r.retail.telecomitalia.it)
  345. # [12:26] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 272 seconds)
  346. # [12:28] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
  347. # [12:28] * Quits: WesleyMcClane_ (~quassel@host151-145-dynamic.10-87-r.retail.telecomitalia.it) (Ping timeout: 272 seconds)
  348. # [12:33] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
  349. # [12:35] <annevk> JakeA: for the XHR code you are not catching all errors...
  350. # [12:35] <annevk> JakeA: e.g. abort
  351. # [12:36] <JakeA> Good point
  352. # [12:38] <annevk> JakeA: why don't you do Promise.race on the cached vs live and use the first result to run updateGallery?
  353. # [12:38] <JakeA> annevk: It's not just first-wins. If cached comes in first, I still want to do a live update. But if live comes in first I don't want to do a cached update
  354. # [12:39] <annevk> Ah
  355. # [12:39] <JakeA> Race would work if I could do if (networkWon) { abortCachedUpdate(); }
  356. # [12:43] * Joins: hasather (~hasather@80.91.33.141)
  357. # [12:43] <annevk> JakeA: it seems "react to network fetch" doesn't have to be a separate line
  358. # [12:43] <annevk> JakeA: that could be part of liveFetch's callback
  359. # [12:43] <annevk> JakeA: where you set liveFetchResolved
  360. # [12:44] <JakeA> Ah yes, I'd only need it if liveFetch.isResolved were a thing, and updateGallery were async
  361. # [12:44] <JakeA> I *think* I was separating the two fetches & updates, but yeah, not needed
  362. # [12:44] <annevk> and the .race could be refactored by just having then and have showNoDataError hide the spinner
  363. # [12:45] <annevk> not sure what is better
  364. # [12:45] <annevk> it kinda seems you want to hide the spinner when updateGallery is invoked
  365. # [12:46] <annevk> so maybe the .race thing isn't really needed
  366. # [12:46] * Quits: Ms2ger (~Ms2ger@b255h096.ugent.be) (Quit: bbl)
  367. # [12:47] <JakeA> Nah, I only want to hide the spinner when the gallery is updated as a result of the network fetch, or if it fails, but yeah, it could go there
  368. # [12:47] <JakeA> But I still need the race to show the error if both updates fail
  369. # [12:49] <JakeA> I either call hideSpinner where I do now, or at the end of liveUpdate as .then(hideSpinner, hideSpinner)
  370. # [12:49] <JakeA> Actually, hideSpinner is in the wrong place now
  371. # [12:50] <JakeA> As it'll hide on cachedUpdate, which is shouldn't
  372. # [12:52] <JakeA> It feels like promises haven't really helped write this code
  373. # [12:52] <annevk> JakeA: wait, if you care about both updating failing you should not use .race but .all
  374. # [12:53] <JakeA> .all rejects if one fails but the other succeeds. I only want to catch both failing, which race does right?
  375. # [12:53] <JakeA> It's like array's .some?
  376. # [12:54] <JakeA> (both failing means I have no data to show, which is the only case I want to show an error)
  377. # [12:54] <annevk> Ah yeah, I still don't get why updateGallery needs to be wrapped in a promise though
  378. # [12:55] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Remote host closed the connection)
  379. # [12:55] <JakeA> Yeah, it doesn't. Updated.
  380. # [12:56] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
  381. # [12:57] <JakeA> annevk: I was returning the result of updateGallery (which is void) so it could be async in future, but I've removed that bit now
  382. # [12:57] * Quits: Martin1982 (~Martin198@cable-175-208.zeelandnet.nl) (Quit: Gone coding)
  383. # [12:58] <annevk> So yeah, you want finally
  384. # [12:58] <annevk> JakeA: even if updateGallery was async you could return it where you have it now
  385. # [12:59] <JakeA> yeah
  386. # [13:00] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Ping timeout: 245 seconds)
  387. # [13:00] * Joins: richt (~richt@124-170-60-133.dyn.iinet.net.au)
  388. # [13:01] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
  389. # [13:01] <JakeA> So, my conclusions are: "finally" is great. liveFetchResolved is nasty, getting state from the promise would be better. "race" is an unintuitive method name if you're using it to detect all-reject.
  390. # [13:01] <jgraham> \/window 28
  391. # [13:09] <JakeA> annevk: Thanks for reviewing. I thought this use case would play to Promises strengths, but it's not much cleaner & readable than it'd have been without them
  392. # [13:13] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  393. # [13:14] * Quits: richt (~richt@124-170-60-133.dyn.iinet.net.au) (Remote host closed the connection)
  394. # [13:14] * Joins: richt (~richt@124-170-60-133.dyn.iinet.net.au)
  395. # [13:17] <annevk> JakeA: it might be that Domenic_ has some insights in how to structure that better
  396. # [13:17] <JakeA> annevk: Yeah, that's why I posted it here. I've gone through loads of revisions but it feels like I'm missing a trick
  397. # [13:17] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  398. # [13:18] <annevk> JakeA: what you really want I think is to cancel the cached operation if the live succeeds
  399. # [13:18] <annevk> JakeA: we don't have cancellation yet however
  400. # [13:19] * Quits: richt (~richt@124-170-60-133.dyn.iinet.net.au) (Ping timeout: 272 seconds)
  401. # [13:20] <JakeA> Yeah, which I could do with the xhr directly. But I'd only want to call abort if it was in a pending state, so I'd still want to access state from the promise.
  402. # [13:20] <JakeA> I guess I'd get this state from xhr directly
  403. # [13:34] * Quits: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk) (Remote host closed the connection)
  404. # [13:35] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
  405. # [13:35] <matjas> jgraham, Ms2ger, re: <base name> according to this document, you can define an element’s (window) name using <base>: http://help.dottoro.com/lhewchgl.php
  406. # [13:36] <matjas> so once you can get data into <base name="…">, you can leak it cross-domain. that’s what the author meant apparently
  407. # [13:39] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Ping timeout: 245 seconds)
  408. # [13:40] <zcorpan> matjas: test case showing <base name> doing something, pls :-)
  409. # [13:42] <annevk> Did he mean window.name?
  410. # [13:43] <annevk> And <base target=name>?
  411. # [13:43] <annevk> Because I think that is a long well known leak
  412. # [13:52] * Joins: baku (~baku@207.218.72.65)
  413. # [13:57] <zcorpan> so what's the attack scenario with window.name?
  414. # [13:58] * Joins: WesleyMcClane_ (~quassel@host38-151-dynamic.6-87-r.retail.telecomitalia.it)
  415. # [14:01] * Quits: WesleyMcClane (~quassel@host92-137-dynamic.7-87-r.retail.telecomitalia.it) (Ping timeout: 272 seconds)
  416. # [14:02] * Quits: espadrine (~ttyl@acces1121.res.insa-lyon.fr) (Ping timeout: 268 seconds)
  417. # [14:04] <matjas> annevk, zcorpan: nah, <base name>
  418. # [14:04] <matjas> zcorpan: i’m wondering the same thing
  419. # [14:05] <matjas> zcorpan: ah, the window.name thing i can explain
  420. # [14:05] <matjas> zcorpan: a page without X-Frame-Options can be framed in a document that sets the frame name
  421. # [14:08] * Joins: Zauberfisch_ (~Zauberfis@venus.zauberfisch.at)
  422. # [14:09] <MikeSmith> hsivonen: I have a validator patch and a related htmlparser patch I hope you can take a look at this week
  423. # [14:09] <MikeSmith> https://bitbucket.org/sideshowbarker/validator/commits/43e40934e7573aa44e8d8f0b6364bb4210d394d3/raw/
  424. # [14:09] * Joins: karlcow (~karl@nerval.la-grange.net)
  425. # [14:09] <MikeSmith> https://bitbucket.org/sideshowbarker/htmlparser-fork/commits/0c8df2fbb5ed46837954cf1d8ae338ae740848a5/raw/
  426. # [14:10] <zcorpan> matjas: then navigates to _parent and it gets the name?
  427. # [14:11] <matjas> well, the rest is basically https://bugzilla.mozilla.org/show_bug.cgi?id=444222
  428. # [14:11] * Quits: Zauberfisch (~Zauberfis@venus.zauberfisch.at) (Ping timeout: 240 seconds)
  429. # [14:13] * Joins: newtron (~newtron@76-10-180-252.dsl.teksavvy.com)
  430. # [14:14] <zcorpan> i think the spec doesn't have that problem. http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-name
  431. # [14:14] <zcorpan> only for top-level
  432. # [14:16] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
  433. # [14:16] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  434. # [14:18] * Quits: newtron (~newtron@76-10-180-252.dsl.teksavvy.com) (Ping timeout: 272 seconds)
  435. # [14:19] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  436. # [14:19] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 272 seconds)
  437. # [14:20] * Joins: jreading (Adium@nat/novell/x-qirvaskbgqzmhqym)
  438. # [14:21] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
  439. # [14:21] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  440. # [14:24] <zcorpan> TabAtkins: moved to http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#dom-name
  441. # [14:24] <zcorpan> er
  442. # [14:24] <zcorpan> http://dev.w3.org/fxtf/geometry/
  443. # [14:25] <hsivonen> MikeSmith: does the tree builder patch downgrade some errors to warnings?
  444. # [14:25] * Joins: danjesus (~danjesus@187.11.123.208)
  445. # [14:26] <hsivonen> MikeSmith: what's the goal of this change?
  446. # [14:29] * Joins: krawchyk (~krawchyk@65.220.49.251)
  447. # [14:30] * Quits: joelcox (~joelcox@unaffiliated/joelcox) (Quit: joelcox)
  448. # [14:33] * Joins: karlcow (~karl@nerval.la-grange.net)
  449. # [14:34] <MikeSmith> hsivonen: the goal of the TreeBuilder patch is to nu
  450. # [14:34] * DaveMethvin|away is now known as DaveMethvin
  451. # [14:34] <hsivonen> MikeSmith: parse error :-(
  452. # [14:35] <hsivonen> anyway, looking at the tree builder patch more closely, it indeed seems to fix a bug, so r+
  453. # [14:35] <MikeSmith> *not emit an sorry, typing on my mobile
  454. # [14:35] <hsivonen> MikeSmith: what problem does the validator patch solve?
  455. # [14:37] * Joins: Benvie_ (~bbenvie@204.28.118.69)
  456. # [14:37] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
  457. # [14:38] <MikeSmith> hsivonen: validator patch causes a warning to be emitted if the user has manually chosen html5 checking, but the doctype is a html5 or XHTML1 doctype
  458. # [14:39] <MikeSmith> currently we do not emit a warning for that case
  459. # [14:41] <MikeSmith> that is, the case where the user selects an html5 preset without also manually selecting the html5 parser iron
  460. # [14:41] <MikeSmith> *option
  461. # [14:43] <MikeSmith> *but the doctype is an html4 or XHTML1 doctype
  462. # [14:47] <MikeSmith> hsivonen: about the TreeBuilder patch, do I need to open a bugzilla.mozilla bug to have it landed, or you can just land it from that changeset, or...?
  463. # [14:48] <hsivonen> MikeSmith: I can land it.
  464. # [14:48] <MikeSmith> ok
  465. # [14:48] <hsivonen> MikeSmith: r+ on the validator patch, too, I guess
  466. # [14:49] <MikeSmith> thanks
  467. # [14:49] * Joins: decotii (~decotii@hq.croscon.com)
  468. # [14:49] <annevk> zcorpan: ah, I guess today window.name might no longer be reachable
  469. # [14:53] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
  470. # [14:54] * Joins: umgrosscol (~umgrossco@grosscol.umdl.umich.edu)
  471. # [14:56] * Quits: Yitro (~Yitro@101.164.232.85) (Quit: Leaving)
  472. # [14:57] * Joins: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de)
  473. # [14:59] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  474. # [14:59] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Remote host closed the connection)
  475. # [15:00] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
  476. # [15:00] * Joins: hasather (~hasather@80.91.33.141)
  477. # [15:01] <hsivonen> MikeSmith: does the parser patch have a bug number in *some* Bugzilla?
  478. # [15:03] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Read error: Connection reset by peer)
  479. # [15:03] * Joins: newtron (~newtron@199.71.174.203)
  480. # [15:04] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
  481. # [15:04] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Ping timeout: 245 seconds)
  482. # [15:04] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
  483. # Session Close: Mon Nov 04 15:14:03 2013
  484. #
  485. # Session Start: Mon Nov 04 15:14:03 2013
  486. # Session Ident: #whatwg
  487. # [15:14] * Disconnected
  488. # [15:17] * Attempting to rejoin channel #whatwg
  489. # [15:17] * Rejoined channel #whatwg
  490. # [15:17] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ & http://logbot.glob.com.au/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  491. # [15:17] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
  492. # [15:19] * Joins: alrra (~alrra@unaffiliated/alrra)
  493. # [15:20] <annevk> jgraham: I recommend setting whatwg/streams to Watch
  494. # [15:20] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Quit: Leaving.)
  495. # [15:21] <jgraham> annevk: What does that do?
  496. # [15:22] <jgraham> (mostly I need to fix my email filters so that not all email from github ends up in the same folder)
  497. # [15:23] <annevk> jgraham: only gives you notifications when mentioned
  498. # [15:23] * Joins: hasather (~hasather@80.91.33.141)
  499. # [15:23] <annevk> jgraham: oh, "Not watching" is what I meant
  500. # [15:24] <annevk> jgraham: confusingly the label says "Watch" but I guess that's what happens if I press it now
  501. # [15:24] <jgraham> annevk: That seems pretty useless? What I think I want is "one email per new issue, and the ability to subscribe to the issue if I am interested"
  502. # [15:25] <jgraham> (Which isn't possible from github afaik)
  503. # [15:25] <jgraham> Because (insert github rant here)
  504. # [15:27] * Joins: TallTed (~Thud@63.119.36.36)
  505. # [15:29] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  506. # [15:30] * Joins: reyre (~reyre@142.204.133.18)
  507. # [15:31] * Quits: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net) (Read error: Connection reset by peer)
  508. # [15:34] * Joins: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net)
  509. # [15:36] * Krinkle|detached is now known as Krinkle
  510. # [15:36] * Joins: krawchyk_ (~krawchyk@65.220.49.251)
  511. # [15:39] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
  512. # [15:39] * Joins: Ms2ger (~Ms2ger@20.202-242-81.adsl-dyn.isp.belgacom.be)
  513. # [15:40] * Quits: krawchyk (~krawchyk@65.220.49.251) (Ping timeout: 272 seconds)
  514. # [15:42] * Quits: brianloveswords (~brianlove@li124-154.members.linode.com) (Excess Flood)
  515. # [15:43] * Quits: krawchyk_ (~krawchyk@65.220.49.251) (Remote host closed the connection)
  516. # [15:44] * Joins: brianloveswords (~brianlove@li124-154.members.linode.com)
  517. # [15:45] * Quits: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net) (Ping timeout: 245 seconds)
  518. # [15:46] <Ms2ger> (Second github rant here)
  519. # [15:48] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  520. # [15:50] * Joins: idbentley (~idbentley@204.91.28.98)
  521. # [15:51] <annevk> arv: so nextElementSibling on DocumentType is not in stable Chrome yet it seems
  522. # [15:52] <arv> annevk: It is not? Let me check. This was changed several months ago (but I only have dev channel here)
  523. # [15:53] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  524. # [15:53] <Ms2ger> http://lists.w3.org/Archives/Public/www-style/2013Nov/0016.html
  525. # [15:56] * Joins: reyre (~reyre@142.204.133.18)
  526. # [15:56] <annevk> Ms2ger: o_O
  527. # [15:57] <annevk> There's only one sensible reply there
  528. # [15:57] <arv> annevk: I just verified that it is in M31 (current stable)
  529. # [15:57] <annevk> arv: oh!
  530. # [15:58] <Ms2ger> annevk, and that's not to reply? :)
  531. # [15:58] <annevk> arv: so <!DOCTYPE html><script>w(document.firstChild.nextElementSibling)</script> in http://software.hixie.ch/utilities/js/live-dom-viewer/ yields <html>?
  532. # [15:59] <annevk> seems like yes
  533. # [15:59] <MikeSmith> hsivonen: thanks
  534. # [15:59] <arv> annevk: yup
  535. # [16:00] <MikeSmith> hsivonen: and no, I hadn't raised a bug for it anywhere, so there anyway wouldn't have been any bug number to mention in the changeset
  536. # [16:01] <hsivonen> MikeSmith: ok
  537. # [16:01] * Joins: krawchyk (~krawchyk@65.220.49.251)
  538. # [16:04] <Domenic_> JakeA: my initial question would be, assume all your functions are sync. How would you write the code then?
  539. # [16:06] * Joins: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt)
  540. # [16:10] <JakeA> Domenic_: https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943356
  541. # [16:14] <Domenic_> JakeA: in that case, https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943359
  542. # [16:15] <annevk> Domenic_: that doesn't allow racing between the cache and network though
  543. # [16:15] <annevk> Domenic_: which would be an advantage of having this async
  544. # [16:15] * Joins: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk)
  545. # [16:15] <Domenic_> annevk: ah, it wasn't clear that was desired, i will revisit in a bit
  546. # [16:16] <annevk> Domenic_: it seems you want to race between them, cancel cache if network is done, but not cancel network if cache is done
  547. # [16:16] <annevk> Domenic_: and then keep the spinner and content up to date while you do all that
  548. # [16:17] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  549. # [16:17] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
  550. # [16:18] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
  551. # [16:18] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  552. # [16:19] * vcarbune is now known as vcarbune|away
  553. # [16:22] <JakeA> Domenic_: The desired process is https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943260
  554. # [16:22] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  555. # [16:23] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
  556. # [16:24] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  557. # [16:25] * Joins: reyre (~reyre@142.204.133.18)
  558. # [16:26] * Joins: jreading (Adium@nat/novell/x-jjugknedmuxhksat)
  559. # [16:26] * Parts: jreading (Adium@nat/novell/x-jjugknedmuxhksat)
  560. # [16:29] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
  561. # [16:34] * Joins: erichynds (~erichynds@64.206.121.41)
  562. # [16:38] * Joins: bzalasky (~bzalasky@67.188.211.46)
  563. # [16:55] <annevk> Does anyone have opinions on where XMLHttpRequest's restrictions on Request objects go?
  564. # [16:55] <Domenic_> JakeA: just to confirm, what if: 1) fetch from cache fails, but fresh fetch succeeds; and 2) cache data arrives before fresh data.
  565. # [16:55] <annevk> In particular XMLHttpRequest restricts methods and headers.
  566. # [16:56] <annevk> Domenic_: ignore cache
  567. # [16:56] <Domenic_> JakeA: not "and" as in "what happens if both", I meant more, those are two not-yet-specified cases by your desired process.
  568. # [16:56] <annevk> only if both fail do you do shownoupdate
  569. # [16:56] <Domenic_> and if cache arrives before fresh?
  570. # [16:56] <JakeA> Domenic_: If cache fails, but fresh succeeds, page is updated with fresh data & spinner stops
  571. # [16:56] <annevk> you first update with cache, then with fetch
  572. # [16:56] * paul_irish_ is now known as paul_irish
  573. # [16:57] <Domenic_> ah, that breaks the symmetry, making it annoying. ok.
  574. # [16:57] <JakeA> Domenic_: If cached data arrives first, page is updated with cached data. Network fetch continues and page will be updated again if/when it succeeds
  575. # [16:57] <annevk> it seems somewhat common to have this code in the SW
  576. # [16:58] <annevk> though I don't think it should leak outside the SW as JakeA's code suggests
  577. # [16:58] <JakeA> Actually, I saw this code living in the page. The service worker would handle serving the data & populating the cache on a fresh update
  578. # [16:59] * DaveMethvin is now known as DaveMethvin|away
  579. # [16:59] <annevk> If I had an SW I would want that to handle all the cache complexity for me
  580. # [16:59] <annevk> And just deal with URLs myself
  581. # [17:00] <JakeA> The service worker would only be able to handle the initial page serve, not the second request for fresh data & update
  582. # [17:00] <JakeA> eg, the page would want to do stuff like "Don't update with fresh data if old data has been interacted with", eg like writing a tweet reply
  583. # [17:01] * Quits: mven (~mven@ip68-224-15-53.lv.lv.cox.net) (Remote host closed the connection)
  584. # [17:01] <annevk> Ah yeah, fair. Although SW could ping the page but then you would indeed no longer be dealing with just a URL...
  585. # [17:01] <annevk> Sad.
  586. # [17:01] * Joins: mven (~mven@ip68-224-15-53.lv.lv.cox.net)
  587. # [17:02] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 272 seconds)
  588. # [17:02] <Domenic_> if cache comes back successfully then fresh comes back successfully one second later, at which point do you hide the spinner?
  589. # [17:02] <JakeA> annevk: I'll get this full "gallery" example into the repo later in the month. It could be that we could make this stuff easier
  590. # [17:03] <annevk> Domenic_: spinner is for network I'd assume
  591. # [17:03] <JakeA> Domenic_: Spinner only hides once the fresh data request ends, whether it fails or succeeds
  592. # [17:03] * Quits: eric_carlson (~eric@17.212.152.104) (Ping timeout: 265 seconds)
  593. # [17:03] <Domenic_> ah so i should think of this as a non-modal spinner.
  594. # [17:04] <JakeA> I guess, technically, you'd hide the spinner when both requests have completed (fail or succeed). But linking it to the network request is good enough
  595. # [17:04] <JakeA> If the network request fails, but the cache fetch is still happening (likely if there's zero connectivity), it might be nice to still show a spinner
  596. # [17:04] <JakeA> But my code at the top of the gist doesn't do that
  597. # [17:05] <JakeA> Surprising amount of edge cases to this
  598. # [17:06] <annevk> Isn't that what UI is?
  599. # [17:06] * Quits: mven (~mven@ip68-224-15-53.lv.lv.cox.net) (Ping timeout: 272 seconds)
  600. # [17:07] * Quits: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de) (Quit: bholley)
  601. # [17:07] <Domenic_> Using .finally: https://gist.github.com/jakearchibald/785f79b0dea5bfe0c448#comment-943394
  602. # [17:08] * Quits: bzalasky (~bzalasky@67.188.211.46) (Remote host closed the connection)
  603. # [17:09] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  604. # [17:09] <JakeA> annevk: Hah!
  605. # [17:11] * Quits: stalled (~stalled@unaffiliated/stalled) (Ping timeout: 260 seconds)
  606. # [17:12] <JakeA> Domenic_: annevk suggested Promise.all([cacheUpdate, freshUpdate]).catch(showNoDataError) too, either you're both wrong or I don't understand the API…
  607. # [17:12] <JakeA> I thought Promise.all(...) would reject if any of the promises rejected
  608. # [17:12] <JakeA> and only resolve if all of the promises resolved
  609. # [17:12] <Domenic_> hmm yes, i think i am wrong, why did i do that
  610. # [17:13] <JakeA> .race only rejects if all the promises reject, yeah?
  611. # [17:13] <JakeA> I'd have placed bets on me being wrong there
  612. # [17:13] <Domenic_> no it rejects if any of the promises reject before any of the promises fulfills
  613. # [17:13] <Domenic_> what we really want is .any
  614. # [17:13] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
  615. # [17:14] <JakeA> Ohhhhhhh
  616. # [17:14] <Domenic_> the problem with speccing .any is figuring out what the aggregate error should look like if all reject
  617. # [17:15] <JakeA> array of responses, right?
  618. # [17:15] <annevk> JakeA: you need both response and fulfilled/reject state
  619. # [17:17] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  620. # [17:17] <JakeA> Yeah. I thought race resolved on first to resolve, and rejected on all-rejected. Hah
  621. # [17:17] <JakeA> My code in the original gist is broken then
  622. # [17:21] <JakeA> Domenic_: So, need something like finally. & it'd be nice to have freshUpdate.isResolved to remove the need for updatedFromFresh. Is that fair?
  623. # [17:21] * Joins: stalled (~stalled@unaffiliated/stalled)
  624. # [17:24] * Joins: tantek (~tantek@107.25.184.185)
  625. # [17:24] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  626. # [17:29] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 265 seconds)
  627. # [17:30] <Domenic_> JakeA: isResolved isn't really useful, since you could be resolved to a pending promise
  628. # [17:31] <annevk> freshUpdate.hasThenBeenInvoked
  629. # [17:31] <JakeA> I guess I'm looking for isComplete
  630. # [17:31] <Domenic_> .race is pretty useless ... its existence stems from its counterpart being included in DOM promises, and MarkM liking it, and it having very straightforward/easy to spec semantics. If any of those were false it would probably have died along with what we are now calling .any---which is more useful, but harder to spec.
  631. # [17:31] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: barnabywalters)
  632. # [17:31] <JakeA> annevk: Hah, yeah
  633. # [17:31] <Domenic_> sounds like you are looking for isFulfilled, but that is not determinable without possible side effects, e.g. collapsing any lazy promises
  634. # [17:33] <Domenic_> well, maybe i am lying, if you can do it in user space, you should be able to do it in spec space.
  635. # [17:33] * Quits: tantek (~tantek@107.25.184.185) (Ping timeout: 245 seconds)
  636. # [17:33] <JakeA> Does feel like there should be a more promisey way to handle updatedFromFresh
  637. # [17:33] <Domenic_> no, i am not lying, the user-space solution explicitly triggers .then.
  638. # [17:33] <Domenic_> I dunno, seems fine to me.
  639. # [17:34] <Domenic_> Remembering the sync/async parallel, i.e. you would do the exact same thing for sync-ish code.
  640. # [17:34] <annevk> JakeA: would it be much better with callbacks?
  641. # [17:34] <JakeA> Fair enough, I'm probably just trying to cram everything into the model of the new thing. Like when people ask how to do setTimeout in jQuery
  642. # [17:34] <annevk> JakeA: alternatively, how would you ideally have done it?
  643. # [17:34] <Domenic_> haha
  644. # [17:35] <JakeA> annevk: Oh, yeah, I don't have any better solutions. And I'm not being down on promises, just felt like I wasn't doing it as well as it could be done
  645. # [17:36] <annevk> I'm also just wondering :)
  646. # [17:36] <JakeA> But yeah, it sounds like there's a finally() and a Promises.any() missing
  647. # [17:37] <Domenic_> .any is weird because if you reject with an array of reasons you are breaking the rule that rejections should be Errors.
  648. # [17:38] <JakeA> Didn't realise that was a rule, but makes sense
  649. # [17:38] <JakeA> I'm glad we had this chat before I finished my html5rocks article on Promises :D
  650. # [17:38] <Domenic_> e.g. would you write a sync function that does `func(funcs) { var errors = []; funcs.forEach(f => try { f() } catch (e) { errors.push(e); } if (errors.length) { throw errors; } }`? maybe you would, but seems a bit weird.
  651. # [17:39] <Domenic_> haha awesome i love html5rocks
  652. # [17:39] <JakeA> Domenic_: I'll send you the draft when it's done, sounds like it'll benefit from a proof read
  653. # [17:41] * Quits: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt) (Remote host closed the connection)
  654. # [17:50] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
  655. # [17:52] * Joins: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt)
  656. # [17:56] * Joins: reyre (~reyre@142.204.133.18)
  657. # [17:57] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  658. # [17:59] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Ping timeout: 240 seconds)
  659. # [18:00] * Joins: Kolombiken (~Adium@94.137.124.2)
  660. # [18:00] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
  661. # [18:02] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
  662. # [18:03] * Joins: mven (~mven@169.241.49.195)
  663. # [18:04] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  664. # [18:05] * Joins: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de)
  665. # [18:08] <Ms2ger> "What makes @w3c a leader in global innovation?"
  666. # [18:09] <Ms2ger> I'd love to hear
  667. # [18:09] * DaveMethvin|away is now known as DaveMethvin
  668. # [18:09] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Ping timeout: 248 seconds)
  669. # [18:09] <annevk> Too bad @w3cdrm broke
  670. # [18:10] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
  671. # [18:12] <dglazkov> good morning, Whatwg!
  672. # [18:12] * Krinkle is now known as Krinkle|detached
  673. # [18:14] * Quits: annevk (~annevk@207.218.72.65) (Remote host closed the connection)
  674. # [18:14] * Joins: cabanier (~cabanier@192.150.22.55)
  675. # [18:14] * Joins: annevk (~annevk@207.218.72.65)
  676. # [18:17] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  677. # [18:17] * Quits: mven (~mven@169.241.49.195) (Remote host closed the connection)
  678. # [18:21] * Quits: Kolombiken (~Adium@94.137.124.2) (Quit: Leaving.)
  679. # [18:26] * Joins: jsbell (jsbell@nat/google/x-wgvchtunniqhudxw)
  680. # [18:31] * Joins: jorgepedret (~jorgepedr@64-46-23-103.dyn.novuscom.net)
  681. # [18:33] * Quits: Osmose1000 (Osmose1000@2600:3c02::f03c:91ff:feae:1aeb) (Ping timeout: 260 seconds)
  682. # [18:33] * Joins: frozenice (~frozenice@unaffiliated/fr0zenice)
  683. # [18:34] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Quit: Computer has gone to sleep.)
  684. # [18:35] * Joins: Osmose1000 (Osmose1000@2600:3c02::f03c:91ff:feae:1aeb)
  685. # [18:40] * Joins: rxgx (~rxgx@64.38.203.218)
  686. # [18:43] * Joins: espadrine (~ttyl@acces1121.res.insa-lyon.fr)
  687. # [18:44] * Joins: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net)
  688. # [18:45] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  689. # [18:45] * Joins: reyre (~reyre@142.204.133.18)
  690. # [18:46] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: Leaving)
  691. # [18:46] * Joins: alrra (~alrra@unaffiliated/alrra)
  692. # [18:50] * Joins: jwalden (~waldo@nat/mozilla/x-zzfvsylyfqzbapsm)
  693. # [18:51] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net)
  694. # [18:53] * Quits: rxgx (~rxgx@64.38.203.218) (Quit: timeout)
  695. # [18:54] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  696. # [18:56] * Quits: baku (~baku@207.218.72.65) (Quit: Leaving)
  697. # [18:58] * Joins: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net)
  698. # [19:00] * Quits: nielsle (~nielsle@3239078-cl69.boa.fiberby.dk) (Quit: Ex-Chat)
  699. # [19:04] * Joins: ap (~ap@2620:149:4:304:9cf9:b128:77b8:5d59)
  700. # [19:04] * Parts: adactio (~adactio@212.42.170.181)
  701. # [19:05] * Joins: rxgx (~rxgx@64.38.203.218)
  702. # [19:07] * Quits: rxgx (~rxgx@64.38.203.218) (Client Quit)
  703. # [19:07] * Quits: tobie (~tobielang@col74-1-88-183-112-72.fbx.proxad.net) (Quit: tobie)
  704. # [19:07] * Joins: mven (~mven@169.241.49.195)
  705. # [19:08] * Joins: jernoble|laptop (~jernoble@17.114.109.200)
  706. # [19:09] * Quits: shaunbak_ (~shaunbake@brick-lane.lbi.co.uk) (Remote host closed the connection)
  707. # [19:09] * Joins: shaunbaker (~shaunbake@brick-lane.lbi.co.uk)
  708. # [19:11] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  709. # [19:12] * Quits: bholley (~bholley@p5B278D19.dip0.t-ipconnect.de) (Quit: bholley)
  710. # [19:13] * Krinkle|detached is now known as Krinkle
  711. # [19:13] * Quits: shaunbaker (~shaunbake@brick-lane.lbi.co.uk) (Ping timeout: 245 seconds)
  712. # [19:16] * Joins: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk)
  713. # [19:23] * Krinkle is now known as Krinkle|detached
  714. # [19:26] * Joins: nimbu (~nimbu@192.150.10.205)
  715. # [19:29] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  716. # [19:29] * Quits: mven (~mven@169.241.49.195) (Remote host closed the connection)
  717. # [19:30] * Joins: mven (~mven@169.241.49.195)
  718. # [19:35] * Quits: mven (~mven@169.241.49.195) (Ping timeout: 272 seconds)
  719. # [19:35] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  720. # [19:41] * Quits: jwalden (~waldo@nat/mozilla/x-zzfvsylyfqzbapsm) (Quit: brb)
  721. # [19:44] <TabAtkins> jgraham: Normal people don't need to do full-power property introspection; for most uses, just doing foo.bar or ("bar" in foo) is just fine. So gOPD isn't a valid criticism, as it's something you use only in rare metaprogramming cases.
  722. # [19:44] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 265 seconds)
  723. # [19:45] * Joins: jwalden (~waldo@nat/mozilla/x-ahedsdxphzaxelsf)
  724. # [19:45] <Ms2ger> TabAtkins, right, so why not support foo.bar?
  725. # [19:46] <TabAtkins> Because of everything I've already said when discussing this with zewt. You have all Maps appearing to have a "toString" key, and have to either swallow that all Maps appear to have "get"/"set"/"clear"/etc keys as well, or push them off onto the Map object in a fashion that isn't done anywhere else (except Object).
  726. # [19:46] * Quits: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr) (Excess Flood)
  727. # [19:48] * Joins: alecf_ (~alecf@216.239.45.130)
  728. # [19:48] * Quits: alecf_ (~alecf@216.239.45.130) (Client Quit)
  729. # [19:48] * Quits: alecf (alecf@nat/google/x-bglmkvkndejyjwhf) (Remote host closed the connection)
  730. # [19:48] * Joins: alecf (~alecf@216.239.45.130)
  731. # [19:49] <jgraham> FWIW it is less clear to me why . and [] have to do the same thing
  732. # [19:49] <TabAtkins> Because JS has always done that, changing it now would be impossible, and changing it for a *single object* is just silly.
  733. # [19:49] * Joins: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr)
  734. # [19:50] <jgraham> It's only silly if you don't introduce a general mechanism for doing it
  735. # [19:50] <TabAtkins> And having one object act differently, and in a way that'll break lots of naive scripts, directly counters the "consistency" argument used to try and argue for using [] with Maps.
  736. # [19:50] <TabAtkins> Indeed, and there's a proposal for doing that (which isn't making it into ES6).
  737. # [19:50] <jgraham> The argument I used isn't "consistency"
  738. # [19:51] <jgraham> It's "usability"
  739. # [19:51] <TabAtkins> But it's still something that breaks naive scripts, and so you don't want to turn it on for an object by default.
  740. # [19:51] * Joins: jdaggett (~jdaggett@ac233076.dynamic.ppp.asahi-net.or.jp)
  741. # [19:51] <TabAtkins> Yes, I had this same argument with zewt last night.
  742. # [19:52] <jgraham> It only breaks those scripts if people start throwing sets at them without updating them. Which is possible of course, but not obviously a deal breaker
  743. # [19:52] <jgraham> The same is true of lots of new features
  744. # [19:52] <TabAtkins> I acknowledge that [] is slightly more usable, and in line with how you access object-maps. But we can't make Maps do that without accepting a lot of bad things, which hurt the usability as well. So it's definitely not a clear-cut right or wrong decision.
  745. # [19:52] <jgraham> (for example the generic not-in-ES6 mechanism for doing this that you just alluded to)
  746. # [19:53] <TabAtkins> (The generic mechanism is just assigning a function to some Symbol-valued get/set properties on the object, which are then used for gets/sets using [] instead of the default behavior.)
  747. # [19:54] * Joins: weinig (~weinig@17.114.218.152)
  748. # [19:55] <jgraham> Right, more or less what you would expect. No reason that couldn't work for set. And if it does go in, it will be confusing in the future when user objects overload [] but built-in sets don't
  749. # [19:55] <TabAtkins> Of course there's no reason why it wouldn't work. I'm saying you don't want it to work that way *by default*, because doing so is inconsistent with the rest of the language and will break lots of things doing simple metaprogramming.
  750. # [19:56] <TabAtkins> I'm sorry there's no perfect answer. Perhaps JS messed up from the beginning by having .foo and ['foo'] do the same thing. But we can't get away from that.
  751. # [19:57] <jgraham> I don't think I can blame you *personally* for that
  752. # [19:57] <gsnedders> BLAME HIM!
  753. # [19:57] <gsnedders> BURN HIM!
  754. # [19:57] <jgraham> Unless you go on to invent a time machine and threaten Brendan with death unless he consents to your will
  755. # [19:57] <TabAtkins> If I had a time machine, there's several people I would be threatening with death unless they consented to my will.
  756. # [19:58] <jgraham> Hmm, my estimate of the probability of that being the case just went up
  757. # [19:58] <jgraham> *cause
  758. # [19:59] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
  759. # [20:00] * Joins: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru)
  760. # [20:01] * Joins: tantek (~tantek@172.56.30.192)
  761. # [20:01] * Quits: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
  762. # [20:01] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
  763. # [20:02] * Joins: darobin (~darobin@78.208.93.24)
  764. # [20:05] * Quits: weinig (~weinig@17.114.218.152) (Quit: weinig)
  765. # [20:08] * Joins: weinig (~weinig@17.114.218.152)
  766. # [20:09] * Krinkle|detached is now known as Krinkle
  767. # [20:11] * Joins: barnabywalters (~barnabywa@89.17.128.127)
  768. # [20:14] <Domenic_> TabAtkins: I'm confused, is a promise for itself required (since monads don't care what's inside them) or disallowed?
  769. # [20:14] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  770. # [20:14] <TabAtkins> Domenic_: Irrelevant question. The monad contract doesn't care what inside the context. Resolve it however you want.
  771. # [20:15] <TabAtkins> You need to *allow* a monad to be put inside of itself, but it's fine to make that cause rejection. You just shouldn't, for example, throw.
  772. # [20:15] <Domenic_> hmm
  773. # [20:15] <TabAtkins> Just note Mark's comments about remote promises not being able to eagerly reject.
  774. # [20:15] <Domenic_> right yeah
  775. # [20:15] <Domenic_> that'll be tricky
  776. # [20:19] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: Back to real life!)
  777. # [20:21] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  778. # [20:21] * Parts: DylanJ (DylanJ@unaffiliated/dylanj) ("WeeChat 0.4.1")
  779. # [20:23] * Krinkle is now known as Krinkle|detached
  780. # [20:25] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  781. # [20:26] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net)
  782. # [20:30] * Quits: dbaron (~dbaron@173-228-85-89.dsl.dynamic.sonic.net) (Ping timeout: 246 seconds)
  783. # [20:31] * Quits: weinig (~weinig@17.114.218.152) (Quit: weinig)
  784. # [20:35] * Quits: diffalot (~diffalot@76.107.128.104) (Quit: ZNC - http://znc.in)
  785. # [20:36] * Joins: weinig (~weinig@17.114.2.233)
  786. # [20:39] * Joins: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net)
  787. # [20:43] * Quits: tantek (~tantek@172.56.30.192) (Quit: tantek)
  788. # [20:44] * Quits: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net) (Changing host)
  789. # [20:44] * Joins: diffalot (~diffalot@unaffiliated/papyromancer)
  790. # [20:44] * Quits: jdaggett (~jdaggett@ac233076.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  791. # [20:51] * Quits: idbentley (~idbentley@204.91.28.98) (Ping timeout: 245 seconds)
  792. # [20:53] * Quits: erichynds (~erichynds@64.206.121.41)
  793. # [20:54] * Joins: idbentley (~idbentley@204.91.28.98)
  794. # [20:58] * Joins: rniwa (~rniwa@17.212.154.114)
  795. # [20:58] * Joins: Domenic__ (~domenic_@12.173.83.50)
  796. # [21:01] * Joins: puddy (~abcdasdf@structuredweb.rdns.stellanetworks.com)
  797. # [21:01] * Quits: nimbu (~nimbu@192.150.10.205) (Ping timeout: 272 seconds)
  798. # [21:01] * Quits: jwalden (~waldo@nat/mozilla/x-ahedsdxphzaxelsf) (Quit: back shortly)
  799. # [21:02] * Quits: weinig (~weinig@17.114.2.233) (Quit: weinig)
  800. # [21:05] * Joins: jpwhiting (~jeremy@kde/developer/whiting)
  801. # [21:05] <jpwhiting> MikeSmith: ping
  802. # [21:06] * Joins: jwalden (~waldo@nat/mozilla/x-opidsyhcbbnbvnzt)
  803. # [21:07] * Joins: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com)
  804. # [21:09] * Joins: weinig (~weinig@17.114.218.152)
  805. # [21:09] * Quits: marcosc (~marcosc@bl7-243-116.dsl.telepac.pt) (Remote host closed the connection)
  806. # [21:10] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 272 seconds)
  807. # [21:11] * Quits: darobin (~darobin@78.208.93.24) (Remote host closed the connection)
  808. # [21:17] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  809. # [21:23] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
  810. # [21:30] * Joins: shaunbaker (~shaunbake@97e69e6b.skybroadband.com)
  811. # [21:30] * Quits: shaunbaker (~shaunbake@97e69e6b.skybroadband.com) (Remote host closed the connection)
  812. # [21:32] * Quits: alecf (~alecf@216.239.45.130) (Quit: alecf)
  813. # [21:32] * Quits: ap (~ap@2620:149:4:304:9cf9:b128:77b8:5d59) (Read error: Connection reset by peer)
  814. # [21:32] * Joins: ap (~ap@2620:149:4:304:9cf9:b128:77b8:5d59)
  815. # [21:34] * Joins: WebJonas (~Jonas@166.201.202.84.customer.cdi.no)
  816. # [21:35] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  817. # [21:35] * Quits: idbentley (~idbentley@204.91.28.98) (Ping timeout: 240 seconds)
  818. # [21:35] * Quits: WebJonas (~Jonas@166.201.202.84.customer.cdi.no) (Read error: Connection reset by peer)
  819. # [21:36] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
  820. # [21:38] * Quits: TallTed (~Thud@63.119.36.36) (Ping timeout: 272 seconds)
  821. # [21:38] * Quits: weinig (~weinig@17.114.218.152) (Quit: weinig)
  822. # [21:41] * Quits: felipeduardo (~felipedua@189.115.44.34) (Ping timeout: 240 seconds)
  823. # [21:42] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
  824. # [21:45] * Quits: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginm.net) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
  825. # [21:46] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  826. # [21:48] * Joins: idbentley (~idbentley@204.91.28.98)
  827. # [21:49] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  828. # [21:49] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
  829. # [21:50] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
  830. # [21:53] * Quits: Domenic__ (~domenic_@12.173.83.50) (Remote host closed the connection)
  831. # [21:57] * Quits: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com) (Ping timeout: 245 seconds)
  832. # [21:57] * Joins: TallTed (~Thud@63.119.36.36)
  833. # [22:03] * Joins: rxgx (~rxgx@wsip-98-174-192-209.ph.ph.cox.net)
  834. # [22:05] * Quits: rego (~rego@231.193.27.77.dynamic.mundo-r.com) (Remote host closed the connection)
  835. # [22:07] * Quits: Areks_home (~Areks@95-26-130-24.broadband.corbina.ru) (Ping timeout: 272 seconds)
  836. # [22:07] * Joins: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com)
  837. # [22:08] * Joins: RogerWS (~rogerws@wsip-70-166-130-57.fv.ks.cox.net)
  838. # [22:13] * Quits: jkomoros (uid7860@gateway/web/irccloud.com/x-nrxhhemboxoyroxo) (Remote host closed the connection)
  839. # [22:13] * Quits: slightlyoff (sid1768@gateway/web/irccloud.com/x-htialuviwvmfuheo) (Remote host closed the connection)
  840. # [22:13] * Quits: hdv (sid2376@gateway/web/irccloud.com/x-tfpuavtpwpkclieo) (Remote host closed the connection)
  841. # [22:13] * Quits: astearns (sid15080@gateway/web/irccloud.com/x-dhstmqmztwlplsfz) (Remote host closed the connection)
  842. # [22:13] * Quits: BruNeX_ (uid4730@gateway/web/irccloud.com/x-sxkbqgsdoyvdausc) (Remote host closed the connection)
  843. # [22:13] * Quits: Domenic_ (uid10976@gateway/web/irccloud.com/x-yrmhrjnnemvilvnq) (Remote host closed the connection)
  844. # [22:13] * Quits: JakeA (~uid3836@gateway/web/irccloud.com/x-ushkoohejtblgxgx) (Remote host closed the connection)
  845. # [22:13] * Quits: ryanseddon (uid1832@gateway/web/irccloud.com/x-xzxsvtkodgdujhxu) (Write error: Connection reset by peer)
  846. # [22:15] * Quits: charl_ (~charl@charl.eu) (Quit: leaving)
  847. # [22:15] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  848. # [22:15] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: Leaving)
  849. # [22:15] * Joins: topek (~topek@91-119-228-239.dynamic.xdsl-line.inode.at)
  850. # [22:16] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  851. # [22:17] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Client Quit)
  852. # [22:18] * Joins: dbaron (~dbaron@corp-nat.p2p.sfo1.mozilla.com)
  853. # [22:19] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  854. # [22:20] * Quits: TallTed (~Thud@63.119.36.36) (Ping timeout: 268 seconds)
  855. # [22:21] * Joins: othermaciej (~mjs@17.114.218.106)
  856. # [22:21] * Quits: umgrosscol (~umgrossco@grosscol.umdl.umich.edu) (Ping timeout: 245 seconds)
  857. # [22:22] * Joins: tantek (~tantek@172.56.30.192)
  858. # [22:22] * Quits: krit (uid15081@gateway/web/irccloud.com/x-lktnrpqqeuvwhuce) (Remote host closed the connection)
  859. # [22:22] * Quits: benschwarz (uid2121@gateway/web/irccloud.com/x-ivgaqkqdnozvmkev) (Remote host closed the connection)
  860. # [22:22] * Quits: romainhuet (uid2533@gateway/web/irccloud.com/x-jlebgevflxffwqvf) (Remote host closed the connection)
  861. # [22:22] * Quits: remysharp_ (~uid4345@gateway/web/irccloud.com/x-gmzrqunwhwknwcyg) (Remote host closed the connection)
  862. # [22:22] * Quits: jamesr__ (uid10481@gateway/web/irccloud.com/x-rmzxovxmruijgknv) (Remote host closed the connection)
  863. # [22:22] * Quits: matijs (uid2278@gateway/web/irccloud.com/x-ggtsedqoxrkqnhtj) (Read error: Connection reset by peer)
  864. # [22:22] * Quits: rastus_vernon (uid15187@gateway/web/irccloud.com/x-vizpgtnqjnkmonko) (Remote host closed the connection)
  865. # [22:22] * Quits: mvujovic (uid13458@gateway/web/irccloud.com/x-cbjpwlurucjajera) (Remote host closed the connection)
  866. # [22:22] * Quits: agcolom__ (uid6233@gateway/web/irccloud.com/x-cvegdqueyqaigcyn) (Remote host closed the connection)
  867. # [22:22] * Quits: esprehn (uid10445@gateway/web/irccloud.com/x-abkvoghhudpihero) (Remote host closed the connection)
  868. # [22:22] * Quits: pdr (uid7901@pdpc/supporter/active/pdr) (Remote host closed the connection)
  869. # [22:22] * Quits: bkardell__ (uid10373@gateway/web/irccloud.com/x-rmfrryysuqqcmlcm) (Remote host closed the connection)
  870. # [22:22] * Quits: arv (uid4269@gateway/web/irccloud.com/x-gtzqadujelluzgya) (Remote host closed the connection)
  871. # [22:22] * Quits: krawchyk (~krawchyk@65.220.49.251)
  872. # [22:25] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  873. # [22:25] * Joins: karlcow (~karl@nerval.la-grange.net)
  874. # [22:26] * Quits: matjas (uid2247@gateway/web/irccloud.com/x-wxhopnhubriuqchi) (Remote host closed the connection)
  875. # [22:26] * Quits: TabAtkins (uid11559@gateway/web/irccloud.com/x-emwmjlezlpucufwx) (Remote host closed the connection)
  876. # [22:26] * Quits: timeless (uid4015@gateway/web/irccloud.com/x-lvwpgevapdglpdit) (Remote host closed the connection)
  877. # [22:26] * Quits: dglazkov (uid4270@gateway/web/irccloud.com/x-vwzmrvuecxufweuv) (Remote host closed the connection)
  878. # [22:26] * Quits: aklein (uid4454@gateway/web/irccloud.com/x-lzsciaoqodbnwmto) (Remote host closed the connection)
  879. # [22:26] * Quits: anssik_ (uid10742@gateway/web/irccloud.com/x-xbmtehqhxvgsucaa) (Remote host closed the connection)
  880. # [22:26] * Quits: abarth (uid5294@gateway/web/irccloud.com/x-zihrmtpgtpczizqf) (Remote host closed the connection)
  881. # [22:26] * Quits: Ancil_ (uid12206@gateway/web/irccloud.com/x-osrepdbnhobhplcl) (Remote host closed the connection)
  882. # [22:26] * Quits: Phae (uid455@gateway/web/irccloud.com/x-ddnkqvabfuatbros) (Remote host closed the connection)
  883. # [22:26] * Quits: rafaelw (uid4459@gateway/web/irccloud.com/x-wazxhuzunincixik) (Remote host closed the connection)
  884. # [22:26] * Quits: annevk-cloud (uid2483@gateway/web/irccloud.com/x-jsedrnkqjmdootdj) (Remote host closed the connection)
  885. # [22:26] * Quits: scottjehl__ (uid3055@gateway/web/irccloud.com/x-ryxplwadlkjfssak) (Remote host closed the connection)
  886. # [22:26] * Quits: krijn (uid2319@gateway/web/irccloud.com/x-wtrjqcbuttlxyjom) (Remote host closed the connection)
  887. # [22:26] * Quits: wycats (uid79@gateway/web/irccloud.com/x-yotiocukndmjadgn) (Write error: Connection reset by peer)
  888. # [22:26] * Quits: ojan (uid5519@gateway/web/irccloud.com/x-rdzwubfdtfoebcyd) (Remote host closed the connection)
  889. # [22:26] * Quits: dfreedm (uid7859@gateway/web/irccloud.com/x-vdoahiwajyoofzoi) (Remote host closed the connection)
  890. # [22:26] * Quits: scheib (uid4467@gateway/web/irccloud.com/x-jkggkqpvcidagmqd) (Remote host closed the connection)
  891. # [22:26] * Quits: twisted` (uid6794@gateway/web/irccloud.com/x-yjlabckvuenmavca) (Write error: Connection reset by peer)
  892. # [22:26] * Quits: sangwhan__ (uid12645@gateway/web/irccloud.com/x-cqlorxklltdxlrhy) (Remote host closed the connection)
  893. # [22:28] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
  894. # [22:35] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Remote host closed the connection)
  895. # [22:35] * Joins: roven (~roven@78-20-24-80.access.telenet.be)
  896. # [22:36] * Joins: umgrosscol (~umgrossco@grosscol.umdl.umich.edu)
  897. # [22:37] * Joins: roven_ (~roven@78-20-24-80.access.telenet.be)
  898. # [22:37] * Quits: roven (~roven@78-20-24-80.access.telenet.be) (Remote host closed the connection)
  899. # [22:37] * Joins: nimbu (~nimbu@sjfw1-a.adobe.com)
  900. # [22:39] * Joins: esprehn (~esprehn@216.239.45.72)
  901. # [22:39] * Quits: Ms2ger (~Ms2ger@20.202-242-81.adsl-dyn.isp.belgacom.be) (Quit: nn)
  902. # [22:47] * Quits: topek (~topek@91-119-228-239.dynamic.xdsl-line.inode.at) (Remote host closed the connection)
  903. # [22:47] * Quits: jsbell (jsbell@nat/google/x-wgvchtunniqhudxw) (Quit: There's no place like home...)
  904. # [22:50] * Quits: nimbu (~nimbu@sjfw1-a.adobe.com) (Quit: Leaving.)
  905. # [22:53] * Joins: nimbu (~nimbu@192.150.10.205)
  906. # [22:54] * heycam|away is now known as heycam
  907. # [22:59] * Joins: weinig (~weinig@17.114.107.18)
  908. # [23:02] * Joins: mven (~mven@169.241.49.195)
  909. # [23:03] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 272 seconds)
  910. # [23:06] * Joins: eric_carlson (~eric@17.212.152.104)
  911. # [23:07] * Quits: othermaciej (~mjs@17.114.218.106) (Quit: othermaciej)
  912. # [23:08] <Hixie> anyone got an idea of what the event we fire on <details> should be called? fired when it opens or closes
  913. # [23:08] <Hixie> best current suggestion is "ontoggle"
  914. # [23:09] * Joins: jacobolus (~jacobolus@74-93-7-234-SFBA.hfc.comcastbusiness.net)
  915. # [23:10] <Hixie> where's a good bikeshed when you need one
  916. # [23:10] * Joins: slightlyoff (sid1768@gateway/web/irccloud.com/x-mrrinlwpjnepbyan)
  917. # [23:10] * Joins: ryanseddon (uid1832@gateway/web/irccloud.com/x-mseflgirldyrasnr)
  918. # [23:10] * Joins: hdv (sid2376@gateway/web/irccloud.com/x-orvytyhpwmfecyfd)
  919. # [23:10] * Joins: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com)
  920. # [23:11] * Quits: yoav (~yoav@sdo26-1-78-245-148-181.fbx.proxad.net) (Quit: Ex-Chat)
  921. # [23:11] * Joins: JakeA (uid3836@gateway/web/irccloud.com/x-opuswtgayogfouae)
  922. # [23:11] * Joins: BruNeX_ (uid4730@gateway/web/irccloud.com/x-rmwxiralatafhwzc)
  923. # [23:13] <jgraham> That seems like a perfectly good name
  924. # [23:13] * GPHemsley concurs
  925. # [23:15] * Joins: jkomoros (uid7860@gateway/web/irccloud.com/x-lydsauxrcntuzfqk)
  926. # [23:17] * Joins: Domenic_ (sid10976@gateway/web/irccloud.com/x-xnhynpyrjzfiegrb)
  927. # [23:18] <hober> yeah, +1
  928. # [23:20] <jgraham> Hixie: Quick, ship an implementation before anyone disagrees
  929. # [23:21] <miketaylr> i dunno onopenorclosestatechange seems pretty good too
  930. # [23:21] * miketaylr hides
  931. # [23:23] <Hixie> ontoggle it is
  932. # [23:23] * nimbu kills miketaylr
  933. # [23:24] * Joins: astearns (sid15080@gateway/web/irccloud.com/x-tpilmsaywgpkighd)
  934. # [23:29] * Quits: mven (~mven@169.241.49.195) (Remote host closed the connection)
  935. # [23:30] * Joins: mven (~mven@169.241.49.195)
  936. # [23:32] * Quits: umgrosscol (~umgrossco@grosscol.umdl.umich.edu) (Quit: Nettalk6 - www.ntalk.de)
  937. # [23:34] * Joins: othermaciej (~mjs@17.114.106.194)
  938. # [23:34] * Quits: mven (~mven@169.241.49.195) (Ping timeout: 245 seconds)
  939. # [23:37] * Parts: puddy (~abcdasdf@structuredweb.rdns.stellanetworks.com)
  940. # [23:38] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  941. # [23:39] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  942. # [23:43] * Quits: frozenice (~frozenice@unaffiliated/fr0zenice) (Quit: quit.)
  943. # [23:43] * Quits: espadrine (~ttyl@acces1121.res.insa-lyon.fr) (Ping timeout: 240 seconds)
  944. # [23:43] * Joins: benschwarz (uid2121@gateway/web/irccloud.com/x-owykdvjepepfnfem)
  945. # [23:43] * Joins: matijs (uid2278@gateway/web/irccloud.com/x-dncddjvyeshhvdyw)
  946. # [23:43] * Joins: romainhuet (uid2533@gateway/web/irccloud.com/x-lxynumszibpcjzcq)
  947. # [23:43] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 264 seconds)
  948. # [23:46] * Joins: arv (uid4269@gateway/web/irccloud.com/x-ntvqioxbmsisizua)
  949. # [23:46] * Quits: tantek (~tantek@172.56.30.192) (Ping timeout: 245 seconds)
  950. # [23:46] * Joins: remysharp_ (sid4345@gateway/web/irccloud.com/x-oemijmzqsdovgvib)
  951. # [23:48] * Joins: vcarbune (~vcarbune@84-75-248-2.dclient.hispeed.ch)
  952. # [23:48] * Joins: agcolom__ (uid6233@gateway/web/irccloud.com/x-iiszmaqorljhrlnb)
  953. # [23:48] * Joins: birtles (~chatzilla@61-121-216-2.bitcat.net)
  954. # [23:50] * Joins: pdr (sid7901@gateway/web/irccloud.com/x-gzmifyswyiwqoejy)
  955. # [23:51] * Joins: tantek (~tantek@cpe-76-174-8-229.socal.res.rr.com)
  956. # [23:52] * Joins: bkardell__ (uid10373@gateway/web/irccloud.com/x-ciuaclukpvvimnyt)
  957. # [23:52] * Joins: esprehn_ (uid10445@gateway/web/irccloud.com/x-algmhhobtojpadjs)
  958. # [23:52] * Joins: jamesr__ (uid10481@gateway/web/irccloud.com/x-rzcozwuggvkhpdmr)
  959. # [23:54] * Quits: Smylers (~smylers@host86-128-219-55.range86-128.btcentralplus.com) (Quit: Leaving.)
  960. # [23:54] * Joins: TabAtkins (~tabatkins@216.239.45.72)
  961. # [23:54] * Joins: jamesr (jamesr@nat/google/x-itqdrggsxmwrxheo)
  962. # [23:57] * Joins: lmclister (~lmclister@192.150.10.204)
  963. # [23:57] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  964. # Session Close: Tue Nov 05 00:00:00 2013

The end :)