/irc-logs / freenode / #whatwg / 2013-09-03 / end

Options:

  1. # Session Start: Tue Sep 03 00:00:00 2013
  2. # Session Ident: #whatwg
  3. # [00:03] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Quit: Leaving)
  4. # [00:06] * Quits: dfreedm (uid7859@gateway/web/irccloud.com/x-wvmbcmuzuynaxwms) (Quit: Connection closed for inactivity)
  5. # [00:18] * Joins: tantek (~tantek@50-0-164-83.dsl.dynamic.sonic.net)
  6. # [00:20] * Joins: marcosc (~marcosc@bl7-117-22.dsl.telepac.pt)
  7. # [00:27] * Joins: birtles (~chatzilla@61-121-216-2.bitcat.net)
  8. # [00:27] * Joins: juliet (~css@unaffiliated/css)
  9. # [00:37] * Joins: kinetik (~kinetik@121.99.54.101)
  10. # [00:42] * Quits: yorick (~yorick@oftn/member/yorick) (Remote host closed the connection)
  11. # [00:43] * Quits: rmichnik (~quassel@177.135.228.218) (Ping timeout: 245 seconds)
  12. # [00:46] * Joins: TheGallery (~TheGaller@athedsl-212223.home.otenet.gr)
  13. # [00:54] * Quits: zkis (~zkis@178-55-63-127.bb.dnainternet.fi) (Ping timeout: 260 seconds)
  14. # [01:01] * Quits: TheGallery (~TheGaller@athedsl-212223.home.otenet.gr) (Quit: Leaving)
  15. # [01:01] * heycam|away is now known as heycam
  16. # [01:05] * Joins: taptapdan (~taptapdan@c75-111-74-51.erkacmtk01.ca.dh.suddenlink.net)
  17. # [01:06] * Quits: taptapdan (~taptapdan@c75-111-74-51.erkacmtk01.ca.dh.suddenlink.net) (Client Quit)
  18. # [01:15] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 246 seconds)
  19. # [01:16] * Quits: kinetik (~kinetik@121.99.54.101) (Ping timeout: 264 seconds)
  20. # [01:24] * Quits: tantek (~tantek@50-0-164-83.dsl.dynamic.sonic.net) (Quit: tantek)
  21. # [01:33] * Quits: marcosc (~marcosc@bl7-117-22.dsl.telepac.pt) (Remote host closed the connection)
  22. # [01:39] * Joins: kinetik (~kinetik@121.99.174.7)
  23. # [01:44] * Quits: kinetik (~kinetik@121.99.174.7) (Quit: leaving)
  24. # [01:44] * Joins: kinetik (~kinetik@121.99.174.7)
  25. # [01:53] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
  26. # [01:57] * Joins: rmichnik (~quassel@177.97.42.101.dynamic.adsl.gvt.net.br)
  27. # [02:02] * Quits: rmichnik (~quassel@177.97.42.101.dynamic.adsl.gvt.net.br) (Read error: Connection reset by peer)
  28. # [02:18] * Joins: kriskowal (~kriskowal@24-205-76-28.dhcp.psdn.ca.charter.com)
  29. # [02:24] * Joins: tantek (~tantek@50-0-164-83.dsl.dynamic.sonic.net)
  30. # [02:34] * Joins: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar)
  31. # [02:48] * Quits: smaug____ (~chatzilla@a91-154-47-240.elisa-laajakaista.fi) (Ping timeout: 245 seconds)
  32. # [03:02] * Joins: dwim (~dwim@210.94.41.89)
  33. # [03:05] * heycam is now known as heycam|away
  34. # [03:09] * Quits: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar) (Remote host closed the connection)
  35. # [03:10] * Joins: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar)
  36. # [03:10] * Quits: MikeSmith (~mike@sideshowbarker.net) (Ping timeout: 264 seconds)
  37. # [03:10] * Quits: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch) (Quit: Leaving.)
  38. # [03:11] * Joins: MikeSmith (~mike@sideshowbarker.net)
  39. # [03:14] * heycam|away is now known as heycam
  40. # [03:25] * Quits: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar) (Remote host closed the connection)
  41. # [03:26] * Joins: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar)
  42. # [03:26] * Quits: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar) (Read error: Connection reset by peer)
  43. # [03:30] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  44. # [03:36] * Quits: yoichio_ (yoichio@nat/google/x-lhqkjueawchhqxhn) (Ping timeout: 256 seconds)
  45. # [03:42] * Quits: vitorpacheco (~vitor@189-105-71-176.user.veloxzone.com.br) (Read error: Connection reset by peer)
  46. # [04:12] * heycam is now known as heycam|away
  47. # [04:44] * Parts: juliet (~css@unaffiliated/css)
  48. # [05:02] * Joins: [[zz]] (~q@node-490.pool-125-25.dynamic.totbb.net)
  49. # [05:17] * Joins: yoshu (~josh@174-21-234-55.tukw.qwest.net)
  50. # [05:24] * Quits: bacilla (~karolis@unaffiliated/velkam) (Ping timeout: 264 seconds)
  51. # [05:35] * heycam|away is now known as heycam
  52. # [05:54] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  53. # [05:55] <zcorpan> SteveF: man that is going to kill my poor macbook :-)
  54. # [05:56] * Quits: yoshu (~josh@174-21-234-55.tukw.qwest.net) (Quit: yoshu)
  55. # [06:01] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  56. # [06:17] * Quits: [[zz]] (~q@node-490.pool-125-25.dynamic.totbb.net) (Remote host closed the connection)
  57. # [06:32] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  58. # [06:33] * Quits: diffalot (~papyroman@c-76-107-128-104.hsd1.ms.comcast.net) (Changing host)
  59. # [06:33] * Joins: diffalot (~papyroman@unaffiliated/papyromancer)
  60. # [06:39] * Joins: zcorpan_ (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  61. # [06:39] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Read error: Connection reset by peer)
  62. # [06:49] * Quits: zcorpan_ (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  63. # [06:50] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  64. # [06:54] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 256 seconds)
  65. # [07:14] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  66. # [07:28] * Joins: Areks (~Areks@rs.gridnine.com)
  67. # [07:37] * Joins: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com)
  68. # [07:51] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
  69. # [07:53] <gsnedders> jgraham: I guess the GH workflow would be PRs to me on the PR branch. Ergh.
  70. # [07:53] <gsnedders> jgraham: But idk if I know the spec well enough and/or have the time.
  71. # [07:54] <gsnedders> jgraham: Whereas you probably have an employer kean on you getting them into the testsuite. :)
  72. # [08:03] * Joins: annevk (~annevk@2.31.25.182)
  73. # [08:05] * Joins: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com)
  74. # [08:06] * Quits: kriskowal (~kriskowal@24-205-76-28.dhcp.psdn.ca.charter.com) (Quit: kriskowal)
  75. # [08:12] * Joins: zkis (~zkis@2001:998:22:0:dcf7:4eb3:4b80:7c01)
  76. # [08:24] * Joins: Ms2ger (~Ms2ger@193.190.253.150)
  77. # [08:34] * Joins: sedovsek (~robert@89.143.12.238)
  78. # [08:39] * Joins: mitemitreski (~mitemitre@212.120.17.179)
  79. # [08:42] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  80. # [08:43] * Joins: sedovsek (~robert@89.143.12.238)
  81. # [08:45] * Quits: j_wright (~jwright@ip70-173-127-54.lv.lv.cox.net) (Ping timeout: 240 seconds)
  82. # [08:56] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  83. # [08:58] * Quits: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com) (Ping timeout: 246 seconds)
  84. # [09:00] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Ping timeout: 245 seconds)
  85. # [09:01] * Joins: zcorpan (~zcorpan@94.234.170.168)
  86. # [09:02] * Joins: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt)
  87. # [09:07] * Quits: Cromulent (~Cromulent@cpc1-reig5-2-0-cust251.6-3.cable.virginmedia.com) (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
  88. # [09:12] * heycam is now known as heycam|away
  89. # [09:14] * Quits: zcorpan (~zcorpan@94.234.170.168) (Remote host closed the connection)
  90. # [09:15] * Joins: zcorpan (~zcorpan@c-5eeaaaa8-74736162.cust.telenor.se)
  91. # [09:15] * Joins: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com)
  92. # [09:17] * Joins: Smylers (~smylers@81.143.60.194)
  93. # [09:19] * Quits: zcorpan (~zcorpan@c-5eeaaaa8-74736162.cust.telenor.se) (Ping timeout: 240 seconds)
  94. # [09:28] * Joins: [[zz]] (~q@node-490.pool-125-25.dynamic.totbb.net)
  95. # [09:38] * Joins: rego (~rego@231.193.27.77.dynamic.mundo-r.com)
  96. # [09:42] * Quits: MrTango (~maik@146-52-135-207-dynip.superkabel.de) (Ping timeout: 245 seconds)
  97. # [09:50] * heycam|away is now known as heycam
  98. # [09:50] * Joins: didi-g (~DIDi@88-149-142-91.v4.ngi.it)
  99. # [09:50] * Quits: didi-g (~DIDi@88-149-142-91.v4.ngi.it) (Client Quit)
  100. # [09:51] * Joins: didi-g (~DIDi@88-149-142-91.v4.ngi.it)
  101. # [09:52] * Quits: didi-g (~DIDi@88-149-142-91.v4.ngi.it) (Client Quit)
  102. # [09:53] * Joins: didi-g (~DIDi@88-149-142-91.v4.ngi.it)
  103. # [09:54] * Quits: didi-g (~DIDi@88-149-142-91.v4.ngi.it) (Client Quit)
  104. # [09:56] * Joins: didi-g (~DIDi@88-149-142-91.v4.ngi.it)
  105. # [09:58] * Quits: didi-g (~DIDi@88-149-142-91.v4.ngi.it) (Client Quit)
  106. # [09:58] * Quits: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com) (Ping timeout: 246 seconds)
  107. # [10:08] * Joins: zcorpan (~zcorpan@94.234.170.168)
  108. # [10:12] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
  109. # [10:17] * Quits: jdaggett (~jdaggett@61-121-216-2.bitcat.net) (Ping timeout: 256 seconds)
  110. # [10:23] * Quits: Lachy (~textual@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  111. # [10:24] * Quits: zcorpan (~zcorpan@94.234.170.168) (Ping timeout: 245 seconds)
  112. # [10:27] * Joins: Lachy (~textual@cm-84.215.104.248.getinternet.no)
  113. # [10:30] * Quits: Lachy (~textual@cm-84.215.104.248.getinternet.no) (Client Quit)
  114. # [10:31] * Joins: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net)
  115. # [10:33] * Quits: annevk (~annevk@2.31.25.182) (Remote host closed the connection)
  116. # [10:34] * Joins: zcorpan (~zcorpan@94.234.170.177)
  117. # [10:36] * Joins: nonge_ (~nonge@p5082A960.dip0.t-ipconnect.de)
  118. # [10:39] * Joins: darobin (~darobin@78.109.80.74)
  119. # [10:40] * Quits: nonge (~nonge@p5082BC94.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
  120. # [10:43] * Quits: zcorpan (~zcorpan@94.234.170.177) (Ping timeout: 240 seconds)
  121. # [10:45] * Joins: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com)
  122. # [10:45] * Quits: birtles (~chatzilla@61-121-216-2.bitcat.net) (Quit: ChatZilla 0.9.90-rdmsoft [XULRunner 1.9.0.17/2009122204])
  123. # [10:50] <jgraham> Ms2ger: Achievement unlocked: used all of map, filter and reduce in a single expression
  124. # [10:50] <jgraham> gsnedders: It could be. That would be terrible though
  125. # [10:51] <Ms2ger> jgraham, very much Aryeh's achievement :)
  126. # [10:51] * Joins: zcorpan (~zcorpan@c-5eeaaa5c-74736162.cust.telenor.se)
  127. # [10:52] * Joins: annevk (~annevk@207.218.72.65)
  128. # [10:54] <annevk> When is heycam going to make IDL a Living Standard already?
  129. # [10:54] <heycam> (yeah gosh)
  130. # [10:54] <annevk> v1/v2, everyone implements v2 anyway
  131. # [10:54] <annevk> heycam!
  132. # [10:54] <heycam> hi!
  133. # [10:54] <heycam> Living Standard in CVS
  134. # [10:54] <heycam> undead standard
  135. # [10:55] <annevk> hah, CVS
  136. # [10:55] <annevk> I can teach you some GitHub if you want :p
  137. # [10:55] <heycam> pfft
  138. # [10:55] <annevk> heycam: about IDL, we have ByteString and [EnforceUTF16] and they're supposedly doing the same thing, but different
  139. # [10:56] <Ms2ger> You can even get some idl.spec.whatwg.org
  140. # [10:56] <annevk> heycam: e.g. they both coerce the input to a different type, which is arguably what DOMString, long, etc. do too
  141. # [10:56] <annevk> heycam: well, you didn't spec [EnforceUTF16] that way, which is kinda annoying and which I think is why we want to make that a type
  142. # [10:57] <heycam> annevk, so they should be the same kind of thing
  143. # [10:57] <annevk> heycam: if we don't want to make that a type, we should maybe drop ByteString and [EnforceUTF16] and just deal with it at the spec level... not sure that's necessarily great
  144. # [10:58] * heycam brb phone
  145. # [10:58] <Ms2ger> bz may feel differently
  146. # [10:59] <jgraham> Ms2ger: r+ but I didn't check tht you were actually using idlharness correctly, only that the code you posted would implement the parts of the spec that you quoted if you were using the datastructures correctly\
  147. # [10:59] <Ms2ger> jgraham, the DOM/HTML tests seem to pass, so I'm going to claim it's correct :)
  148. # [10:59] <annevk> ByteString = code units -> bytes; [EnforceUTF16] DOMString = code units -> mapped code units (whereas I wanted Unicode scalar values)
  149. # [11:00] <annevk> heycam: ^
  150. # [11:00] <annevk> Ms2ger: about what?
  151. # [11:00] <jgraham> Ms2ger: Right, I think what I checked, plus some passing tests is convincing
  152. # [11:00] <jgraham> +,
  153. # [11:00] <Ms2ger> annevk, the types thing, but maybe I misunderstood you
  154. # [11:02] <Ms2ger> jgraham, thanks
  155. # [11:03] <heycam> annevk, yeah I can see it from that perspective. (was just thinking that before the phone rang.)
  156. # [11:03] <annevk> Ms2ger: https://www.w3.org/Bugs/Public/show_bug.cgi?id=22808 is a pretty pointless comment... We often "break" something that works and we do that because of X. So if you don't give an argument against X...
  157. # [11:03] <heycam> annevk, I'm sympathetic to the argument of not having ByteString given it's not likely to be used elsewhere
  158. # [11:03] <heycam> whereas [EnforceUTF16] sounds like something that could be more generally useful
  159. # [11:04] <heycam> btw I'm going to be in the london office for the few days before the summit
  160. # [11:04] <annevk> heycam: that's awesome, but I won't be in London, but I'll be in Brussels
  161. # [11:04] <heycam> oh =P
  162. # [11:04] <heycam> ok
  163. # [11:05] <annevk> TAG is meeting the days leading up to it in Boston...
  164. # [11:05] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
  165. # [11:06] <heycam> I'll see you in Brussels then hopefully
  166. # [11:06] <heycam> oh, gotta go; maybe back later
  167. # [11:06] <annevk> Okay, so say we remove ByteString and deal with it in prose. Can we make the output of EnforceUTF16 Unicode scalar values?
  168. # [11:06] * heycam is now known as heycam|away
  169. # [11:09] * Joins: Lachy (~textual@213.166.174.2)
  170. # [11:09] <annevk> Hah, whenever I meet heycam|away on IRC, it's for 5 minutes and he typically has a call or meeting during that :-)
  171. # [11:10] <Ms2ger> jgraham, oh, and a "merge this PR" button in critic would be nice :)
  172. # [11:10] * Joins: smaug____ (~chatzilla@a91-154-47-240.elisa-laajakaista.fi)
  173. # [11:12] <jgraham> Ms2ger: Indeed, but when I tried to add one I couldn't get the authentication right
  174. # [11:12] <jgraham> I guess I could just use the github account of the critic instance itself
  175. # [11:15] * Ms2ger grumbles at the bbc
  176. # [11:16] <jgraham> Ms2ger: You've started reading the Telegraph or something?
  177. # [11:16] <Ms2ger> Nah
  178. # [11:17] * Quits: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net) (Quit: The computer fell asleep)
  179. # [11:17] <Ms2ger> I'm well in range of the radio 4 LW signal, but due to "rights restrictions", I can't listen online
  180. # [11:17] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
  181. # [11:17] * Joins: TheGallery (~TheGaller@athedsl-211343.home.otenet.gr)
  182. # [11:17] <jgraham> To sport or something? Usually you can listen to the radio online
  183. # [11:18] <Ms2ger> Cricket
  184. # [11:18] <jgraham> Ah
  185. # [11:18] <jgraham> Yeah, not sure that's the BBC's fault really
  186. # [11:18] <jgraham> I mean it is obviously stupid, but they get sold region-restricted rights
  187. # [11:19] * Ms2ger grumbles at some unidentified party
  188. # [11:19] <jgraham> Very annoying
  189. # [11:22] * Quits: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
  190. # [11:38] * Quits: zcorpan (~zcorpan@c-5eeaaa5c-74736162.cust.telenor.se) (Ping timeout: 245 seconds)
  191. # [11:39] * Joins: MrTango (~maik@146-52-135-207-dynip.superkabel.de)
  192. # [11:48] * Joins: TheOtherGallery (~TheGaller@athedsl-211343.home.otenet.gr)
  193. # [11:48] * Quits: TheOtherGallery (~TheGaller@athedsl-211343.home.otenet.gr) (Remote host closed the connection)
  194. # [11:48] * Joins: zcorpan (~zcorpan@94.234.170.203)
  195. # [11:49] * Quits: TheGallery (~TheGaller@athedsl-211343.home.otenet.gr) (Quit: Leaving)
  196. # [11:50] * Joins: TheGallery (~TheGaller@athedsl-211343.home.otenet.gr)
  197. # [11:57] <annevk> Man, token-based security people are at it again on public-webappsec
  198. # [11:57] <annevk> I wonder if anyone else here is subscribed to that list...
  199. # [11:59] <Ms2ger> Not me
  200. # [12:01] * Joins: roc (~chatzilla@121.98.230.221)
  201. # [12:09] * Quits: [[zz]] (~q@node-490.pool-125-25.dynamic.totbb.net) (Ping timeout: 245 seconds)
  202. # [12:10] * Joins: [[zz]] (~q@node-490.pool-125-25.dynamic.totbb.net)
  203. # [12:11] <darobin> me neither
  204. # [12:12] <Ms2ger> Ah, darobin
  205. # [12:12] <Ms2ger> Back from vacation? :)
  206. # [12:12] <darobin> Ms2ger!
  207. # [12:12] <darobin> I'm still pondering that one
  208. # [12:15] <jgraham> Sounds like France
  209. # [12:17] * Joins: vitorpacheco (~vitor@189-105-71-176.user.veloxzone.com.br)
  210. # [12:17] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
  211. # [12:22] * Quits: TheGallery (~TheGaller@athedsl-211343.home.otenet.gr) (Quit: Leaving)
  212. # [12:37] * Quits: zcorpan (~zcorpan@94.234.170.203) (Ping timeout: 240 seconds)
  213. # [12:46] * Quits: Garbee (~Garbee@lb1.cluster.grephix.nl) (Read error: Connection reset by peer)
  214. # [12:47] * Joins: Garbee (~Garbee@lb1.cluster.grephix.nl)
  215. # [12:47] * Garbee is now known as Guest61380
  216. # [12:59] * Joins: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch)
  217. # [13:09] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  218. # [13:22] * Joins: charl_ (~charl@2001:67c:2564:524:92b1:1cff:fe89:ae5)
  219. # [13:29] * Quits: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt) (Read error: Connection reset by peer)
  220. # [13:32] * Quits: Ms2ger (~Ms2ger@193.190.253.150) (Read error: Operation timed out)
  221. # [13:33] * Joins: zcorpan (~zcorpan@94.234.170.45)
  222. # [13:34] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
  223. # [13:35] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  224. # [13:38] * Guest61380 is now known as Garbee
  225. # [13:39] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Ping timeout: 264 seconds)
  226. # [13:41] * Joins: felipeduardo (~felipedua@189.115.44.34)
  227. # [13:50] * Joins: Ms2ger (~Ms2ger@193.190.253.150)
  228. # [13:53] * Joins: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt)
  229. # [14:03] * Joins: cheron (~cheron@unaffiliated/cheron)
  230. # [14:04] <annevk> Anyone recall when Hixie_ and I discussed how to write down tasks in Fetch?
  231. # [14:05] <annevk> Most recent discussion that is, not the one Google returns in March...
  232. # [14:06] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
  233. # [14:10] * Quits: zcorpan (~zcorpan@94.234.170.45) (Remote host closed the connection)
  234. # [14:11] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Client Quit)
  235. # [14:12] * Quits: reyre_ (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Remote host closed the connection)
  236. # [14:12] * Joins: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp)
  237. # [14:12] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  238. # [14:14] * Joins: zcorpan (~zcorpan@94.234.170.45)
  239. # [14:15] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  240. # [14:15] * Joins: karlcow (~karl@nerval.la-grange.net)
  241. # [14:16] * Quits: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com) (Read error: Operation timed out)
  242. # [14:17] <zcorpan> anyone know if it's possible to achieve this with css? http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2504
  243. # [14:17] <zcorpan> (i.e. what the script does)
  244. # [14:17] * Quits: zcorpan (~zcorpan@94.234.170.45) (Remote host closed the connection)
  245. # [14:17] * Quits: zkis (~zkis@2001:998:22:0:dcf7:4eb3:4b80:7c01) (Ping timeout: 245 seconds)
  246. # [14:19] * Joins: zcorpan (~zcorpan@94.234.170.45)
  247. # [14:21] * Quits: zcorpan (~zcorpan@94.234.170.45) (Remote host closed the connection)
  248. # [14:24] <annevk> Found it: http://krijnhoetmer.nl/irc-logs/whatwg/20130723#l-734
  249. # [14:32] * Joins: yorick (~yorick@oftn/member/yorick)
  250. # [14:32] * Joins: jreading (Adium@nat/novell/x-oxdncmjkwewzmnxd)
  251. # [14:32] * Parts: jreading (Adium@nat/novell/x-oxdncmjkwewzmnxd)
  252. # [14:36] * Quits: Kolombiken (~Adium@94.137.124.2) (Read error: Connection reset by peer)
  253. # [14:36] * Joins: Kolombiken1 (~Adium@gateway.creuna.se)
  254. # [14:45] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  255. # [14:46] * Quits: rego (~rego@231.193.27.77.dynamic.mundo-r.com) (Remote host closed the connection)
  256. # [14:47] <annevk> Fetch thing is https://www.w3.org/Bugs/Public/show_bug.cgi?id=22387 now
  257. # [14:48] * Kolombiken1 is now known as Kolombiken
  258. # [14:49] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Ping timeout: 240 seconds)
  259. # [14:57] * Joins: tobie_ (~tobielang@25-176.199-178.cust.bluewin.ch)
  260. # [14:58] * Joins: decotii (~decotii@hq.croscon.com)
  261. # [15:15] <annevk> matjas: clearly we need @spaceatkins as a fake @tabatkins
  262. # [15:15] <Ms2ger> annevk, so you're fake Alex?
  263. # [15:15] <matjas> oh god, please make this happen internets
  264. # [15:16] <annevk> Ms2ger: your logic is infallible
  265. # [15:18] * Joins: zcorpan (~zcorpan@80.232.109.46)
  266. # [15:20] * Joins: TallTed (~Thud@63.119.36.36)
  267. # [15:21] <jgraham> At least it would be clear that spaceatkins was better than tabatkins
  268. # [15:23] * Joins: krawchyk (~krawchyk@65.220.49.251)
  269. # [15:23] * Quits: krawchyk (~krawchyk@65.220.49.251) (Remote host closed the connection)
  270. # [15:24] * Joins: krawchyk (~krawchyk@65.220.49.251)
  271. # [15:24] * Joins: benbarnett (~Adium@46-64-77-112.zone15.bethere.co.uk)
  272. # [15:26] <matjas> you guys, tabs are way better
  273. # [15:27] <Ms2ger> At inducing rage?
  274. # [15:28] * Quits: charl_ (~charl@2001:67c:2564:524:92b1:1cff:fe89:ae5) (Quit: leaving)
  275. # [15:29] <Ms2ger> annevk, r? https://critic.hoppipolla.co.uk/r/295
  276. # [15:31] <annevk> Ms2ger: commit message could say empty string names, seems fine otherwise
  277. # [15:31] <SimonSapin> tabs are theoretically superior, but worse is better
  278. # [15:31] <annevk> Ms2ger: done it through the interface now
  279. # [15:31] <Ms2ger> Thanks
  280. # [15:34] <jgraham> The "tabs are better" arguments are all crazy talk
  281. # [15:35] <Ms2ger> There's something to be said for them, but in real life you also want alignment, and that needs spaces
  282. # [15:35] <Ms2ger> And mixing them is a horror
  283. # [15:42] * Joins: reyre (~reyre@142.204.133.18)
  284. # [15:42] * Joins: TheGallery (~TheGaller@ppp-2-85-123-86.home.otenet.gr)
  285. # [15:44] * Joins: krawchyk_ (~krawchyk@65.220.49.251)
  286. # [15:45] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  287. # [15:45] * Quits: TheGallery (~TheGaller@ppp-2-85-123-86.home.otenet.gr) (Client Quit)
  288. # [15:45] * Joins: reyre (~reyre@142.204.133.18)
  289. # [15:46] * Joins: newtron (~newtron@199.71.174.103)
  290. # [15:48] * Quits: krawchyk (~krawchyk@65.220.49.251) (Ping timeout: 245 seconds)
  291. # [15:51] * Quits: roc (~chatzilla@121.98.230.221) (Ping timeout: 256 seconds)
  292. # [15:56] * Joins: TheGallery (~TheGaller@ppp-2-85-123-86.home.otenet.gr)
  293. # [15:57] * Joins: ehsan (~ehsan@66.207.208.102)
  294. # [16:04] * Joins: zkis (~zkis@178-55-63-127.bb.dnainternet.fi)
  295. # [16:16] * Joins: scor (scor@drupal.org/user/52142/view)
  296. # [16:21] * darobin wonders if people here know about http://w3tmemes.tumblr.com/
  297. # [16:24] * Joins: garciawebdev (~garciaweb@11-223-235-201.fibertel.com.ar)
  298. # [16:25] <SimonSapin> darobin: what does w3t stand for?
  299. # [16:26] <darobin> W3C Team
  300. # [16:27] <SimonSapin> wow, this is even more obscure than w3cmemes :p
  301. # [16:27] * Quits: zkis (~zkis@178-55-63-127.bb.dnainternet.fi) (Ping timeout: 248 seconds)
  302. # [16:27] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  303. # [16:30] <darobin> SimonSapin: yeah, it references all the Sikkrit Cabal stuff
  304. # [16:31] <darobin> that said, if you know about W3C I reckon you can figure out what most apply to, or at least imagine the situation :)
  305. # [16:35] * Joins: jannis_1 (~Adium@xdsl-188-155-17-213.adslplus.ch)
  306. # [16:37] * Quits: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch) (Ping timeout: 264 seconds)
  307. # [16:40] * Joins: yoshu (~josh@174-21-234-55.tukw.qwest.net)
  308. # [16:42] * Quits: lilmonkey` (~colin@pdpc/supporter/professional/riven) (Ping timeout: 240 seconds)
  309. # [16:42] * Joins: AladinBouzerd (~aladinbou@41.104.234.250)
  310. # [16:43] * Joins: lilmonkey (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl)
  311. # [16:43] * Quits: lilmonkey (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl) (Changing host)
  312. # [16:43] * Joins: lilmonkey (~colin@pdpc/supporter/professional/riven)
  313. # [16:45] * Quits: tomasf (~tomasf@77.72.97.10.c.fiberdirekt.net) (Ping timeout: 264 seconds)
  314. # [16:46] * Quits: mven (~mven@ip68-224-15-53.lv.lv.cox.net) (Remote host closed the connection)
  315. # [16:53] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
  316. # [16:53] * Quits: ehsan (~ehsan@66.207.208.102) (Read error: Connection reset by peer)
  317. # [16:54] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  318. # [16:54] * Joins: ehsan (~ehsan@66.207.208.102)
  319. # [16:55] * Joins: sedovsek (~robert@89.143.12.238)
  320. # [16:55] <annevk> darobin: with some you can imagine half of the text being censored :)
  321. # [16:56] <annevk> darobin: does this have a Twitter account?
  322. # [16:56] <annevk> http://w3tmemes.tumblr.com/image/55808644257 :-)
  323. # [16:57] * Joins: gavinc (~gavin@barad-dur.carothers.name)
  324. # [16:59] <darobin> annevk: I don't believe it does, but you can set Tumblr up to tweet automatically, right?
  325. # [17:00] * Joins: lmclister (~lmclister@192.150.10.209)
  326. # [17:00] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  327. # [17:04] * Quits: yoshu (~josh@174-21-234-55.tukw.qwest.net) (Quit: yoshu)
  328. # [17:07] <annevk> darobin: yeah, should be pretty easy
  329. # [17:09] <darobin> well I couldn't possibly know who's behind this, but I'll try to pass the suggestion along
  330. # [17:11] * Quits: krawchyk_ (~krawchyk@65.220.49.251) (Ping timeout: 256 seconds)
  331. # [17:11] * Quits: AladinBouzerd (~aladinbou@41.104.234.250) (Read error: Connection reset by peer)
  332. # [17:12] * Joins: kuatsure (~kuatsure@208.102.118.1)
  333. # [17:13] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  334. # [17:13] * Joins: AladinBouzerd (~aladinbou@41.108.21.63)
  335. # [17:14] <SteveF> anybody know of any implementations of inert attribute?
  336. # [17:19] * Quits: benbarnett (~Adium@46-64-77-112.zone15.bethere.co.uk) (Quit: Leaving.)
  337. # [17:22] * Joins: yoshu (~josh@174-21-234-55.tukw.qwest.net)
  338. # [17:25] * Joins: astearns (~astearns@192.150.22.5)
  339. # [17:26] * Joins: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk)
  340. # [17:26] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Ping timeout: 240 seconds)
  341. # [17:29] * Quits: zcorpan (~zcorpan@80.232.109.46) (Remote host closed the connection)
  342. # [17:40] * Joins: sedovsek (~robert@89.143.12.238)
  343. # [17:41] * Quits: yoshu (~josh@174-21-234-55.tukw.qwest.net) (Quit: yoshu)
  344. # [17:43] * Quits: TheGallery (~TheGaller@ppp-2-85-123-86.home.otenet.gr) (Quit: Leaving)
  345. # [17:45] * Quits: Smylers (~smylers@81.143.60.194) (Quit: Leaving.)
  346. # [17:53] * Quits: Lachy (~textual@213.166.174.2) (Quit: Textual IRC Client: www.textualapp.com)
  347. # [17:55] * Quits: Jedi_ (~Jedi@jedi.org) (Read error: Connection reset by peer)
  348. # [17:55] * Joins: Jedi_ (~Jedi@jedi.org)
  349. # [17:57] * Joins: mven (~mven@169.241.49.202)
  350. # [17:58] * Joins: jwalden (~waldo@nat/mozilla/x-hymmpbclprcxwdeu)
  351. # [18:04] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  352. # [18:04] * Joins: kriskowal (~kriskowal@24-205-76-28.dhcp.psdn.ca.charter.com)
  353. # [18:05] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  354. # [18:08] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Ping timeout: 264 seconds)
  355. # [18:10] * Joins: jernoble|laptop (~jernoble@76.74.153.41)
  356. # [18:13] * Joins: jsbell (jsbell@nat/google/x-bdnkjegeavkxxkcc)
  357. # [18:14] * Joins: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net)
  358. # [18:16] * Joins: charl_ (~charl@charl.eu)
  359. # [18:22] * Joins: zcorpan (~zcorpan@80.232.109.46)
  360. # [18:22] * Quits: jernoble|laptop (~jernoble@76.74.153.41) (Quit: Computer has gone to sleep.)
  361. # [18:23] * Joins: dfreedm (uid7859@gateway/web/irccloud.com/x-rczrmqxksoyxwfew)
  362. # [18:24] * Quits: mven (~mven@169.241.49.202) (Remote host closed the connection)
  363. # [18:26] * Joins: yoshu (~josh@173-10-93-238-BusName-Washington.hfc.comcastbusiness.net)
  364. # [18:26] <TabAtkins> Ms2ger: I mix tabs for indent and spaces for alignment regularly, and I haven't died yet. It Just Works (tm).
  365. # [18:27] * Joins: Maurice (copyman@94.213.121.34)
  366. # [18:28] <Ms2ger> TabAtkins, do you get it right?
  367. # [18:28] <TabAtkins> ...yes? How do you get it wrong? It seems like something you'd have to be deliberately stupid at to mess up.
  368. # [18:28] <jgraham> TabAtkins: Has anyone else working with your code died?
  369. # [18:29] <TabAtkins> jgraham: Not to my knowledge, but it's open-source, so who knows?
  370. # [18:29] <jgraham> TabAtkins: Uh, really? I don't think it's even well specified how to do it
  371. # [18:29] <jgraham> e.g.
  372. # [18:29] <jgraham> def foo(bar,
  373. # [18:29] <TabAtkins> You... tab to the indentation level you want, then space to the alignment you want.
  374. # [18:29] <jgraham> baz)
  375. # [18:30] <jgraham> (heh, missed a space)
  376. # [18:30] <jgraham> How many tabs and how many spaces on the second line?
  377. # [18:30] <TabAtkins> I'm not in a fixed-width font anyway, so it's lost on me.
  378. # [18:30] <JakeA> I used to use tabs for a semantic block indent, and spaces for a presentational alignment
  379. # [18:30] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  380. # [18:30] <TabAtkins> JakeA: Yes.
  381. # [18:30] * Quits: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com) (Ping timeout: 246 seconds)
  382. # [18:30] <TabAtkins> jgraham: Tab to the same line indentation as the primary line, because you're not wanting to indent any more. Space to whatever alignment you want.
  383. # [18:30] * Joins: reyre (~reyre@142.204.133.18)
  384. # [18:31] <JakeA> so you'd never have tabs after a space, but you may have spaces after a tab
  385. # [18:31] <JakeA> hah, yes, that
  386. # [18:31] <jgraham> TabAtkins: Some people would consider that to need one extra level of indentation
  387. # [18:31] <TabAtkins> jgraham: Literally *any other combination* would be completely fucked up if you changed your tab size.
  388. # [18:31] * Joins: Lachy (~textual@cm-84.215.104.248.getinternet.no)
  389. # [18:31] <TabAtkins> Those people are dumb.
  390. # [18:31] <TabAtkins> And don't understand what tabs are for.
  391. # [18:31] <jgraham> I think the sematic argument is pure crazy
  392. # [18:32] <Ms2ger> It's fine in theory
  393. # [18:32] <Ms2ger> Like astrophysics
  394. # [18:32] <jgraham> Your code has the semantics that the compiler gives it
  395. # [18:32] <TabAtkins> The "sementic" argument is just a shorthand for "look, dammit, I like a different indent size than you".
  396. # [18:32] <jgraham> If the complier isn't infering any semantics from it, there aren't any
  397. # [18:32] <JakeA> yeah
  398. # [18:32] <TabAtkins> (I often go for a 3-space indent.)
  399. # [18:33] <jgraham> So the "semantic" argument is a shorthand for "presentation"?
  400. # [18:33] <jgraham> Weird
  401. # [18:34] <TabAtkins> Um, no. Quit being deliberately difficult. You know what Jake means by "semantic block".
  402. # [18:34] <JakeA> a tab is 1 unit of indent sized to the viewer's preference, space is a single char-width alignment where the user's preference is deliberately ignored
  403. # [18:34] <TabAtkins> The rule is very simply expressed in terms of presentation - if I change the tab size, will I fuck up anything's alignment? If so, you're using them wrong.
  404. # [18:35] <JakeA> yeah, that's a better explanation
  405. # [18:35] <TabAtkins> If you want to link that up to the word "semantics", it's similar to "if I view this page in a different modality, will anything fuck up?".
  406. # [18:39] <TabAtkins> One could certainly think that it's not worth it to have a variable indentation size, but I point you to the fact that WebKit and Chrome settled on *different* indent sizes, and editing both at the same time is extremely frustrating.
  407. # [18:39] <TabAtkins> Especially now that we're Blink.
  408. # [18:40] <Ms2ger> Shrug
  409. # [18:40] <Ms2ger> It's only infuriating if you don't use the tab key for indentation
  410. # [18:40] <jgraham> TabAtkins: Having seen the code style choices of chromium, I can only conclude that it's possible to fuck anything up if you put your mind to it
  411. # [18:40] * Joins: say2joe (~say2joe@209-253-225-97.ip.mcleodusa.net)
  412. # [18:41] <TabAtkins> There's also my observation that, in the absence of machine-based hygiene checking, I have *never* seen a space-based indent file that didn't fuck up its indentation at some point.
  413. # [18:41] <jgraham> I don't know who thought that making python look like C++ (not just in indentation, but in every way they could find) was a good idea
  414. # [18:41] <TabAtkins> As evidenced by the fact that every time I have to edit one, and I try a basic conversion of "apparent indent size -> tabs", there's stray spaces everywhere.
  415. # [18:41] <TabAtkins> jgraham: No comment. :/
  416. # [18:41] * Parts: say2joe (~say2joe@209-253-225-97.ip.mcleodusa.net)
  417. # [18:45] <TabAtkins> heycam|away: Yeah, late review is fine.
  418. # [18:45] * Joins: benbarnett (~Adium@46-64-77-112.zone15.bethere.co.uk)
  419. # [18:49] * Quits: vitorpacheco (~vitor@189-105-71-176.user.veloxzone.com.br) (Read error: Operation timed out)
  420. # [18:51] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  421. # [18:51] <zewt> dear people who say "fx" when they mean "ff": stop it, it's confusing
  422. # [18:51] * Quits: reyre (~reyre@142.204.133.18) (Ping timeout: 268 seconds)
  423. # [18:52] <Ms2ger> Fx
  424. # [18:55] * Quits: tobie_ (~tobielang@25-176.199-178.cust.bluewin.ch) (Quit: tobie_)
  425. # [18:56] * Quits: kuatsure (~kuatsure@208.102.118.1) (Quit: zzz)
  426. # [18:57] * Joins: kuatsure (~kuatsure@208.102.118.1)
  427. # [18:57] * Parts: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
  428. # [18:59] * Joins: krit (~krit@sjfw1.adobe.com)
  429. # [19:00] * Quits: benbarnett (~Adium@46-64-77-112.zone15.bethere.co.uk) (Quit: Leaving.)
  430. # [19:01] * Joins: say2joe1 (~say2joe@209-253-225-97.ip.mcleodusa.net)
  431. # [19:01] * Quits: alecf (alecf@nat/google/x-wxdtjptqbzotphek) (Quit: alecf)
  432. # [19:01] * Quits: say2joe1 (~say2joe@209-253-225-97.ip.mcleodusa.net) (Client Quit)
  433. # [19:03] * Joins: ap (~ap@2620:149:4:304:f07d:c308:6fec:75d7)
  434. # [19:13] <TabAtkins> F5x
  435. # [19:14] * Joins: SteveF_ (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com)
  436. # [19:19] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  437. # [19:24] <TabAtkins> zcorpan: Regarding that bug, depending on his markup Grid can handle that. Otherwise, it's dependent on us improving the Position property, which fantasai and I intend to do next year.
  438. # [19:24] <zcorpan> TabAtkins: see the last comment for the markup
  439. # [19:26] <TabAtkins> zcorpan: Right, if he actually needs the <table>, he'll have to wait for Position. If he's just wanting to put things in a grid, and can make #i2 a sibling of the other "cells", then Grid'll do.
  440. # [19:26] <zcorpan> TabAtkins: is there a bugzilla component for Position?
  441. # [19:27] <zcorpan> TabAtkins: can grid create cells that overlap?
  442. # [19:27] <TabAtkins> Maybe. If not, ask MikeSmith to create one.
  443. # [19:28] <TabAtkins> And yes, grid items can overlap.
  444. # [19:28] <TabAtkins> (Named grid areas, created by the template, can't, but you can always manually specify the position and size of grid items.)
  445. # [19:29] * Quits: yoshu (~josh@173-10-93-238-BusName-Washington.hfc.comcastbusiness.net) (Quit: yoshu)
  446. # [19:29] * Quits: jannis_1 (~Adium@xdsl-188-155-17-213.adslplus.ch) (Quit: Leaving.)
  447. # [19:31] <Hixie_> Ms2ger: ping https://www.w3.org/Bugs/Public/show_bug.cgi?id=23119 ?
  448. # [19:31] <Ms2ger> Hixie_, yes
  449. # [19:31] <Hixie_> Ms2ger: what's the problem with the spec?
  450. # [19:32] * Ms2ger loads up that part of the spec
  451. # [19:32] <Ms2ger> "If the stack of open elements has a button element in scope, then run these substeps:"
  452. # [19:32] <Ms2ger> I have no idea what that means
  453. # [19:33] <Ms2ger> "has a button element in scope" links to "have an element in scope", which lost track of the button
  454. # [19:33] <Ms2ger> Then I get a link titled "has an element in the specific scope" to "have an element target node in a specific scope"
  455. # [19:34] <Ms2ger> Where suddenly a 'target node' appears out of thin air
  456. # [19:34] <jgraham> Right, iirc, there are two problems. It doesn't define the inputs to the algorithm, and it doesn't define the concept of equality it is using
  457. # [19:37] <Hixie_> Ms2ger: "has an element in scope" defines which elements are in scope
  458. # [19:37] <Hixie_> Ms2ger: so then you see if one of the elemnets in scope is a button element
  459. # [19:38] <Hixie_> Ms2ger: it's like saying "does this fruit bowl have a red apple" where you have an algorithm that defines whether "a fruit is an apple in a bowl"
  460. # [19:38] <jgraham> Hixie_: The problem is deeper
  461. # [19:38] <jgraham> Hixie_: "has an element in a specific scope" is broken
  462. # [19:38] <Hixie_> how so?
  463. # [19:38] <Ms2ger> Hixie_, jgraham managed to explain to me what you meant, but that doesn't make the spec say it
  464. # [19:39] <Hixie_> Ms2ger: as far as i can tell, it's what the spec says.
  465. # [19:39] <Hixie_> Ms2ger: i don't understand why it wouldn't say that.
  466. # [19:39] <jgraham> Hixie_: It uses a concept "target node" that is undefined
  467. # [19:39] <Hixie_> jgraham: that was fixed over the weekend
  468. # [19:39] * Joins: rniwa (~rniwa@17.212.154.114)
  469. # [19:39] <Ms2ger> You write an algorithm that takes an argument "target node"
  470. # [19:39] <jgraham> http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#has-an-element-in-the-specific-scope looks wrong to me
  471. # [19:40] <Ms2ger> But none of the callers of that algorithm explain what they're passing as "target node"
  472. # [19:40] <Hixie_> Ms2ger: the algorithm isn't ever called as far as i know
  473. # [19:40] * Joins: alecf (alecf@nat/google/x-zmoiuycekezspomd)
  474. # [19:40] <Ms2ger> What
  475. # [19:40] <Hixie_> Ms2ger: it's a definition, not an imperative algorithm that's called
  476. # [19:41] <jgraham> I am now super-confused
  477. # [19:41] <Ms2ger> "The stack of open elements is said to have an element in scope when it has an element in the specific scope consisting of the following element types:"
  478. # [19:41] <Ms2ger> That's calling it
  479. # [19:41] <Hixie_> no
  480. # [19:41] <Ms2ger> Well, it sure should be!
  481. # [19:41] <Hixie_> calling an algorithm is more like "Insert an HTML element for the token for which the element entry was created, to obtain new element"
  482. # [19:42] <Hixie_> this is just defining "have an element in scope"
  483. # [19:42] <Ms2ger> Well, it's defining it poorly
  484. # [19:42] <Hixie_> it's just simple english
  485. # [19:42] <Hixie_> i really don't understand the problem here
  486. # [19:42] <Hixie_> it's defining a property of elements
  487. # [19:42] <jgraham> I don't understand how you don't understand the problem
  488. # [19:42] <Ms2ger> Me neither
  489. # [19:43] <Ms2ger> So if only the editor understands the spec, is the spec good?
  490. # [19:43] <jgraham> Hixie_: The spec specifically says it's defining a property of the stack of open elements
  491. # [19:43] <Hixie_> everyone actually understand this, given that it's been implemented consistently by multiple people
  492. # [19:43] <jgraham> Not a property of the elements themselves
  493. # [19:43] <jgraham> I don't think this used to be brokwn in this way
  494. # [19:44] <Hixie_> jgraham: jgraham yeah, it's really defining a property of the stack for each element
  495. # [19:44] <jgraham> Otherwise I was incredibly negligent in not giving feedback
  496. # [19:44] <Hixie_> this part of the spec hasn't changed in months if not years
  497. # [19:44] <Hixie_> not in a meaningful way, anyway
  498. # [19:45] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Ping timeout: 245 seconds)
  499. # [19:45] <Ms2ger> Has anyone implemented it since?
  500. # [19:45] <jgraham> Apart from the change at the weekend (which I think I have now), that slightly unbroke it, you mean?
  501. # [19:45] <Hixie_> "A fruit bowl is said to have a fruit /target fruit/ on top when the following algorithm terminates in a match state: 1. /target fruit/ has no fruit above it"
  502. # [19:45] <Hixie_> "If there is a pear that is on top of the fruit bowl, then..."
  503. # [19:46] <Hixie_> this is the exact same formulation
  504. # [19:46] <jgraham> OK, so, I think this makes sense if you imagine that the algorithm gets run for every element on the stack of open elements
  505. # [19:46] <jgraham> (perhaps)
  506. # [19:46] <Hixie_> it's jsut a definition, i wouldn't expect anyone to actually run this each time
  507. # [19:47] <Hixie_> i'd probably just set a bit
  508. # [19:47] <Hixie_> when the condition becomes true
  509. # [19:47] <jgraham> Ignore implementations
  510. # [19:47] <Hixie_> and unset it when it becomes false
  511. # [19:48] <jgraham> (fwiw I'm pretty sure that html5lib runs this each time. And it isn't a noticable perf. problem in non-pathological cases)
  512. # [19:48] <jgraham> But like I said, ignore implementations
  513. # [19:48] <jgraham> The way the spec is worded, it feels like you take a type of element
  514. # [19:48] <Ms2ger> "The stack of open elements is said to *have an element in scope* when..."
  515. # [19:48] <jgraham> e.g. a P element
  516. # [19:49] <jgraham> and run it through the algorithm, which will return whether that element is in a particular scope or not
  517. # [19:49] <Ms2ger> That would mean Stack::HasElementInScope(/* no arguments */)
  518. # [19:49] <jgraham> Ms2ger: Try a force reload
  519. # [19:50] <Ms2ger> Not the specific scope
  520. # [19:50] <jgraham> Oh
  521. # [19:50] <Ms2ger> The plain "in scope"
  522. # [19:50] <Hixie_> jgraham: the definition is applied to types ("is there any element in scope that happens to have this type") as well as specific nodes ("is this specific element in scope right now")
  523. # [19:50] <TabAtkins> Tangent: does anyone know what the timezone is in gavin's stats?
  524. # [19:50] <jgraham> Ms2ger: Yes, that's still wrong
  525. # [19:51] <Hixie_> hm yeah, "when it has an" should be "when it has that"
  526. # [19:51] * Quits: reggna (~reggna@irc.jagochmittmoln.se) (Ping timeout: 264 seconds)
  527. # [19:52] <jgraham> Hixie_: But then it still doesn't make sense. You are conflating E and type(E)
  528. # [19:52] * Joins: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch)
  529. # [19:52] <Ms2ger> Maybe ... *have an element with _local name_ /local name/ and _namespace_ /namespace/ in scope* when...
  530. # [19:52] <Hixie_> jgraham: where does type(E) come in?
  531. # [19:52] <Ms2ger> /x/ => var, _x_ => a
  532. # [19:53] * Joins: benbarnett (~Adium@46-64-77-112.zone15.bethere.co.uk)
  533. # [19:53] <jgraham> Hixie_: "has a P element in scope"
  534. # [19:53] <jgraham> The algorithm works with specific elements
  535. # [19:53] <Hixie_> Ms2ger: it's defining the property for each node in the stack, it's not an algorithm you run to get a boolean result for the stack.
  536. # [19:53] <Hixie_> go back to my fruit bowl example. why is that one fine but the spec not?
  537. # [19:54] <jgraham> Hixie_: The fundamental problem is tht the way the spec is worded implies it's an algorithm you invoke at specific times
  538. # [19:54] <Ms2ger> Because the spec isn't a fruit bowl
  539. # [19:54] * Quits: annevk (~annevk@207.218.72.65) (Remote host closed the connection)
  540. # [19:54] <jgraham> Hixie_: I don't care about fruit bowl examples. The spec is confusing irrespective of whether some other instance of the same construction is (I didn't even read the example)
  541. # [19:54] <Hixie_> jgraham: if you're reading implications, then you're misreading the spec. read what it says, not between the lines.
  542. # [19:54] * Joins: annevk (~annevk@207.218.72.65)
  543. # [19:55] <Hixie_> ok if you're not even willing to consider the examples i'm giving, this conversation isn't being very productive.
  544. # [19:55] <Hixie_> the fruit bowl example would help because it would help me understand what the difference is between an obviously fine construction, and the one that's confusing you.
  545. # [19:55] <jgraham> Hixie_: Unless you are going to give the same examples to everyone that reads the spec, I don't understand their value in the face of the fact that both Ms2ger and I find the spec confusing
  546. # [19:56] <Ms2ger> Hixie_, okay, let me compare to your fruit bowl
  547. # [19:56] <Ms2ger> "A fruit bowl is said to have a fruit /target fruit/ on top when the following algorithm terminates in a match state: ..."
  548. # [19:57] <Ms2ger> "The stack of open elements is said to have an element in scope when..."
  549. # [19:57] <Hixie_> jgraham: the value is that that construction is unambiguously ok, but the spec is apparently not, yet i think they're identical. so if you can explain to me why they're not, it helps me understand the problem with the spec.
  550. # [19:57] <Ms2ger> The obvious difference: the fruit bowl one takes an algorithm, the stack one doesn't
  551. # [19:57] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
  552. # [19:57] <jgraham> Hixie_: I have now read it and don't think your fruit bowl example is very clear either fwiw
  553. # [19:57] * Joins: ehsan (~ehsan@66.207.208.102)
  554. # [19:57] <Hixie_> Ms2ger: the fruit bowl one is about the specific scope definition
  555. # [19:57] <Hixie_> jgraham: oh
  556. # [19:58] <Hixie_> jgraham: then i am even more confused :-)
  557. # [19:58] <Ms2ger> But you don't jump from the use in the parser straight to the specific scope
  558. # [19:59] <Ms2ger> You jump from the parser to the #has-an-element-in-scope then to #has-an-element-in-the-specific-scope
  559. # [19:59] <Ms2ger> And it's not clear that the 'button' in the parser needs to end up as the /target node/ in #has-an-element-in-the-specific-scope
  560. # [19:59] <jgraham> You are invoking an algorithm (that is itself a bit magic, but let's not worry about that) in a very roundabout way that makes it unclear what the arguments to the algorithm are
  561. # [19:59] * Quits: annevk (~annevk@207.218.72.65) (Ping timeout: 248 seconds)
  562. # [19:59] <TabAtkins> annevk: Can you add an "adopt" hook to the Promises spec? Also, is the correct way to invoke one of the static Promise methods (in the case I'm writing right now, Promise.every()), just to invoke it as code or something?
  563. # [20:00] <Hixie_> Ms2ger: the analogous fruit bowl one would be "the fruit bowl is said to have a fruit on top when that fruit is specifically on top of the following fruit types: ..." where "a fruit is specifically on top" is similar to the earlier example but the algorithm is longer and checks for those fruit types.
  564. # [20:00] <zcorpan> TabAtkins: is http://dev.w3.org/csswg/css-position/#position-root a placeholder for this?
  565. # [20:00] <Ms2ger> (Or what "If /node/ is the target node, terminate in a match state." means when you fill in /target node/==|button|)
  566. # [20:00] <Hixie_> Ms2ger: woah, the "button" in the parser _doesn't_ end up being the /target node/.
  567. # [20:00] <Hixie_> Ms2ger: what makes you think it does?
  568. # [20:01] <Ms2ger> It's the only thing I *can* fill in!
  569. # [20:01] <Hixie_> jgraham: there's no algorithm invokation, it's a definition.
  570. # [20:01] * Quits: tantek (~tantek@50-0-164-83.dsl.dynamic.sonic.net) (Quit: tantek)
  571. # [20:01] <Ms2ger> What else would it be?
  572. # [20:01] <jgraham> Hixie_: There is an algorithm. Conceptually it must be invoked
  573. # [20:01] <TabAtkins> zcorpan: Yes, and see http://www.xanthir.com/blog/b48H0 for a more fleshed out early early draft of it.
  574. # [20:02] <jgraham> If you just wrote the spec to invoke the actual algorithm rather than having invoked behind the scenes at some point when you read the definition, everything would be much clearer
  575. # [20:02] <Hixie_> Ms2ger: every node ever created in the history of the world is passed to the definition, to see if it is in scope or not. this makes every node have a true or false state, which is all you are later checking.
  576. # [20:02] <zcorpan> TabAtkins: thx
  577. # [20:03] <jgraham> Hixie_: Where does the spec say that?
  578. # [20:03] <Ms2ger> Huh
  579. # [20:03] <Ms2ger> So what is "the target node"?
  580. # [20:03] * Joins: reggna (~reggna@irc.jagochmittmoln.se)
  581. # [20:03] <Hixie_> jgraham: certainly you could phrase the spec that way, but i would rather phrase the spec in a way that just asks if there's a node that fits the criteria. i'm happy to consider better ways to do that, though, since apparently (despite interop...) the spec doesn't do it well enough
  582. # [20:04] <jgraham> Why would you rather do that?
  583. # [20:04] <Hixie_> jgraham: because generally speaking it makes the text easier to reason about.
  584. # [20:05] <Hixie_> declarative > imperative, where possible.
  585. # [20:05] <jgraham> This conversation isn't supporting that point of view
  586. # [20:05] <Hixie_> Ms2ger: it's the "x" in "an x has property y if..."
  587. # [20:05] * Krinkle|detached is now known as Krinkle
  588. # [20:05] <Hixie_> Ms2ger: it's the mathematical equivalent of the indefinite article
  589. # [20:05] <Ms2ger> Let's step back
  590. # [20:06] <Ms2ger> I was looking at the following text in the parser:
  591. # [20:06] <Ms2ger> "If the stack of open elements has a button element in scope, then run these substeps:..."
  592. # [20:06] * Joins: yoshu (~josh@174-21-234-55.tukw.qwest.net)
  593. # [20:06] <Ms2ger> How am I supposed to interpret that
  594. # [20:06] <Ms2ger> ?
  595. # [20:06] <Hixie_> Ms2ger: is there a button element that has the property "currently is in scope"?
  596. # [20:06] <Hixie_> Ms2ger: or to put it another way:
  597. # [20:07] <Hixie_> Ms2ger: is there an element X, which has X.type "button" and X.inScope "true"?
  598. # [20:07] <jgraham> I have no idea how you could get to that interpretation from the spec as written
  599. # [20:07] <jgraham> There is nothing to suggest that elements have a property of being in scope
  600. # [20:07] <Hixie_> i have no idea how you could interpret it as an imperative algorithm invocation
  601. # [20:08] <Hixie_> "The stack of open elements is said to have an element in scope when"
  602. # [20:08] <Ms2ger> That seems a very unintuitive interpretation
  603. # [20:08] <jgraham> Or that a question about the stack of open elements is supposed to be a quaestion about the set of all elements
  604. # [20:08] <jgraham> *question
  605. # [20:08] * Quits: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt) (Remote host closed the connection)
  606. # [20:08] <Ms2ger> Now if it had said "If the stack of open elements _has an element in scope_ that is a button element"
  607. # [20:09] * Joins: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt)
  608. # [20:09] <Ms2ger> Is that what you mean?
  609. # [20:09] * Joins: jacobolu_ (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  610. # [20:09] * jgraham has to go now
  611. # [20:09] <Hixie_> I honestly truly don't see why this is hard. The spec defines "The stack of open elements is said to have an element in scope when" and then it asks whether "the stack of open elements has an element in scope" (specifically, whether it has one that is also a button element)
  612. # [20:09] <Ms2ger> It's not obvious that that's what it asks
  613. # [20:09] <Hixie_> what else could it ask?
  614. # [20:10] <Hixie_> i mean, this is just regular english
  615. # [20:10] <Ms2ger> Does the stack have the property "has a button element in scope"
  616. # [20:10] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Read error: Connection reset by peer)
  617. # [20:10] <Ms2ger> And then the issue is that nothing defines what that means
  618. # [20:10] <Hixie_> "a kid is wearing a sweater when..." "is there a red kid wearing a sweater?"
  619. # [20:10] <Ms2ger> Whet you're saying now is "is there a...", "does there exists a..."
  620. # [20:11] <Ms2ger> But the spec doesn't say that
  621. # [20:11] <Ms2ger> *exist
  622. # [20:11] <Hixie_> "If the stack of open elements has a button element in scope" is a "Does there exist a" question.
  623. # [20:11] <Ms2ger> I don't read it that way
  624. # [20:11] <Hixie_> (or rather, "a classroom has a kid wearing a sweater when"... "if the classroom has a red kid wearing as sweater, then..."
  625. # [20:11] <Hixie_> )
  626. # [20:11] <Hixie_> s/as/a/
  627. # [20:12] <Hixie_> what other way is there to read it?
  628. # [20:12] <Hixie_> i'm really baffled by this
  629. # [20:12] <Ms2ger> 'Does the stack have the property "has a button element in scope"?'
  630. # [20:12] <Hixie_> it has the property "has an element in scope", which is even hyperlinked from the sentence you're asking about
  631. # [20:12] * Joins: Smylers (~smylers@host86-186-192-222.range86-186.btcentralplus.com)
  632. # [20:13] <Ms2ger> So the hyperlink goes to the definition of
  633. # [20:13] <Ms2ger> "Does the stack have a/any element in scope"
  634. # [20:13] * Quits: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt) (Ping timeout: 256 seconds)
  635. # [20:13] <Hixie_> a/any ?
  636. # [20:13] <Ms2ger> "Does the stack have a element in scope" or "Does the stack have any element in scope"
  637. # [20:14] <Hixie_> where do you get "does the stack have any element in scope"?
  638. # [20:14] <Ms2ger> That's just plain English
  639. # [20:15] <Ms2ger> "The stack of open elements is said to have an element in scope when..."
  640. # [20:15] <Ms2ger> That defines the answer to "Does the stack have any element in scope?"
  641. # [20:15] * Joins: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt)
  642. # [20:15] <Hixie_> hmm, ok, i buy that
  643. # [20:15] <Hixie_> one sec
  644. # [20:17] <Hixie_> ok, renamed it to "have a particular element in scope"
  645. # [20:17] <Hixie_> does that solve the "any" issue?
  646. # [20:17] * Ms2ger thinks
  647. # [20:19] <Ms2ger> Yes, I think so
  648. # [20:19] <Ms2ger> However
  649. # [20:19] <Ms2ger> That still means you define it for one particular element in the history of the world
  650. # [20:20] * Joins: rafaelw_ (uid4459@gateway/web/irccloud.com/x-xxmxnisccguuxlbw)
  651. # [20:20] <Ms2ger> And that's IMO quite a leap from the way you link to the definition in "If the stack of open elements has a button element in scope"
  652. # [20:21] <Hixie_> isn't that just what a definition always is?
  653. # [20:21] <Hixie_> you define some property of an abstract thing
  654. # [20:21] <Hixie_> then you can refer to that property for all concrete things
  655. # [20:22] <Ms2ger> I guess the main issue is this
  656. # [20:22] <Ms2ger> When I end up here, I want to follow imperative steps
  657. # [20:23] <Ms2ger> And I've been doing that repeatedly since I started reading
  658. # [20:23] * Quits: mitemitreski (~mitemitre@212.120.17.179) (Read error: Connection reset by peer)
  659. # [20:23] * Quits: AladinBouzerd (~aladinbou@41.108.21.63) (Read error: Connection reset by peer)
  660. # [20:23] <Hixie_> what's the imperative step for "the current node is a MathML text integration point"?
  661. # [20:23] <Ms2ger> But suddenly, without a warning, I end up with a declarative definition
  662. # [20:23] <Hixie_> or "is an element in the HTML namespace"?
  663. # [20:24] <Hixie_> or "the current node"?
  664. # [20:24] <Ms2ger> 1. Get the namespace
  665. # [20:24] * Joins: AladinBouzerd (~aladinbou@41.108.21.63)
  666. # [20:24] <Ms2ger> 2. If the namespace if the HTML namespace, return true
  667. # [20:24] <Hixie_> where's that in the spec?
  668. # [20:24] <Ms2ger> 3. Otherwise, return false
  669. # [20:24] <Hixie_> all the spec does is define the namespace property
  670. # [20:24] <Ms2ger> It's a straightforward translation, though
  671. # [20:24] <Ms2ger> I find the case here less straightforward
  672. # [20:25] <Hixie_> how about "If the parser's Document has a style sheet that is blocking scripts" ?
  673. # [20:25] <Hixie_> or "if there is an adjusted current node and it is not an element in the HTML namespace and the next seven characters are a case-sensitive match for the string "[CDATA["" ?
  674. # [20:25] <Hixie_> the parser is full of these property checks
  675. # [20:25] <Hixie_> in fact i don't really see how else you could do it
  676. # [20:25] * Quits: zcorpan (~zcorpan@80.232.109.46) (Remote host closed the connection)
  677. # [20:25] <Hixie_> programming is full of property checks
  678. # [20:25] <Ms2ger> I agree there are property checks
  679. # [20:26] * Quits: AladinBouzerd (~aladinbou@41.108.21.63) (Read error: Connection reset by peer)
  680. # [20:26] <Hixie_> how would you phrase "If the stack of open elements does not have a body element in scope, this is a parse error; ignore the token." if it wasn't a property check?
  681. # [20:26] <Ms2ger> Loop over the stack, until you find a body element
  682. # [20:26] * Joins: AladinBouzerd (~aladinbou@41.108.21.63)
  683. # [20:26] * Joins: annevk (~annevk@2.31.25.182)
  684. # [20:27] * Joins: zcorpan (~zcorpan@80.232.109.46)
  685. # [20:27] <Hixie_> that would like double the length of this part of the spec
  686. # [20:27] <Hixie_> and make it harder to reason about to boot
  687. # [20:27] * Joins: mven (~mven@169.241.1.168)
  688. # [20:27] <Ms2ger> You don't have to write that out every time
  689. # [20:28] <Hixie_> what exact text would you replace the above with?
  690. # [20:29] * Joins: McNugit (~McNugit@ip68-111-163-8.sd.sd.cox.net)
  691. # [20:29] * Quits: mven (~mven@169.241.1.168) (Read error: Connection reset by peer)
  692. # [20:29] <Ms2ger> Either you keep the definition with the particular node for "has a particular element in scope", and then you write:
  693. # [20:29] * Joins: mven (~mven@169.241.1.168)
  694. # [20:30] <Ms2ger> "If the stack of open elements does not have a particular element in scope that is a body element, this is..."
  695. # [20:30] * Joins: mven_ (~mven@169.241.49.182)
  696. # [20:30] <Ms2ger> Or you keep that text, and define...
  697. # [20:31] * Quits: ap (~ap@2620:149:4:304:f07d:c308:6fec:75d7) (Read error: Connection reset by peer)
  698. # [20:31] * Joins: ap (~ap@17.202.47.229)
  699. # [20:31] * Quits: zcorpan (~zcorpan@80.232.109.46) (Ping timeout: 245 seconds)
  700. # [20:31] <Ms2ger> The stack of open elements has an element of kind (or whatever) /x/ in scope when... loop... if /node/ is of kind /x/: match
  701. # [20:32] <Hixie_> i don't understand why "If the stack of open elements does not have a particular element in scope" is ok for you, but "...does not have a button element in scope" is not, given the way english works.
  702. # [20:32] <Ms2ger> They're both fine, but they don't connect
  703. # [20:32] * jacobolu_ is now known as jacobolus
  704. # [20:33] * Joins: reyre (~reyre@142.204.133.18)
  705. # [20:33] <Hixie_> "The player has a fruit if their inventory contains a fruit" "Does the player have a pear?" connects, does it not?
  706. # [20:33] <Hixie_> why is this different?
  707. # [20:33] * Quits: mven (~mven@169.241.1.168) (Ping timeout: 245 seconds)
  708. # [20:33] <Ms2ger> Doesn't connect for me
  709. # [20:34] <Hixie_> ...
  710. # [20:34] <Hixie_> really?
  711. # [20:34] <Ms2ger> If you define "The player has a fruit if their inventory contains a fruit", I can only answer "Does the player have any fruit"
  712. # [20:34] <Hixie_> i gotta go to lunch. bbiab.
  713. # [20:34] <Ms2ger> And I'm going to head off for the night, ttyl
  714. # [20:35] <annevk> Hixie_: it's kinda weird that "does not have a body element in scope" links to "have an element in scope" whose types don't list the body element
  715. # [20:35] <annevk> might be xref issue I suppose
  716. # [20:36] * Quits: AladinBouzerd (~aladinbou@41.108.21.63) (Read error: Connection reset by peer)
  717. # [20:36] * Joins: AladinBouzerd (~aladinbou@41.108.21.63)
  718. # [20:36] <Ms2ger> Maybe "If the stack of open elements does not have >>any<< body element in scope, this is..." might be clearer already
  719. # [20:36] <Ms2ger> But my brain is too fried to continue right now :)
  720. # [20:43] <annevk> "a" is the same as "any" really
  721. # [20:43] <annevk> in this context
  722. # [20:46] * Quits: Smylers (~smylers@host86-186-192-222.range86-186.btcentralplus.com) (Ping timeout: 245 seconds)
  723. # [20:48] * Quits: MrTango (~maik@146-52-135-207-dynip.superkabel.de) (Ping timeout: 240 seconds)
  724. # [20:48] * Joins: [[zzz]] (~q@node-3op.pool-125-25.dynamic.totbb.net)
  725. # [20:51] * Quits: [[zz]] (~q@node-490.pool-125-25.dynamic.totbb.net) (Ping timeout: 245 seconds)
  726. # [20:54] * Quits: mven_ (~mven@169.241.49.182) (Remote host closed the connection)
  727. # [20:55] * Quits: benbarnett (~Adium@46-64-77-112.zone15.bethere.co.uk) (Quit: Leaving.)
  728. # [21:06] <TabAtkins> What's the idiomatic way to deal with exceptions in a spec? Specifically, I need to take a 'font' value and turn it into a list of matching Font objects. If there's no matching objects, I want to throw an error. (Actually, reject a promise, but I'll reject it with an error.) What's the right thing to do with something like this?
  729. # [21:10] <TabAtkins> (also, lunch now - replies will be responded to in an hour or so)
  730. # [21:11] * Quits: yoshu (~josh@174-21-234-55.tukw.qwest.net) (Quit: yoshu)
  731. # [21:13] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 245 seconds)
  732. # [21:15] * Joins: zkis (~zkis@87-95-11-9.bb.dnainternet.fi)
  733. # [21:15] <annevk> TabAtkins: prolly a plain JavaScript TypeError or RangeError
  734. # [21:15] * Joins: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net)
  735. # [21:16] <annevk> TabAtkins: doesn't seem like there's a nice semantic mapping though between 'font' property values (assuming that's what you meant) and Font objects (representing individual fonts I assume once again)
  736. # [21:18] * Joins: css (~css@unaffiliated/css)
  737. # [21:19] * Joins: ^esc (~esc-ape@178.115.133.67.wireless.dyn.drei.com)
  738. # [21:21] * Quits: SteveF_ (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com) (Ping timeout: 264 seconds)
  739. # [21:26] * Quits: krit (~krit@sjfw1.adobe.com) (Read error: Connection reset by peer)
  740. # [21:27] * Joins: tantek (~tantek@50-0-164-83.dsl.dynamic.sonic.net)
  741. # [21:29] * Quits: ap (~ap@17.202.47.229) (Quit: ap)
  742. # [21:29] * Joins: yoshu (~josh@174-21-234-55.tukw.qwest.net)
  743. # [21:29] * Quits: kinetik (~kinetik@121.99.174.7) (Quit: leaving)
  744. # [21:35] * Quits: bholley (~bholley@c-67-180-21-133.hsd1.ca.comcast.net) (Quit: bholley)
  745. # [21:38] * Joins: lilmonkey` (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl)
  746. # [21:38] * Quits: lilmonkey` (~colin@5469E6D4.cm-12-2d.dynamic.ziggo.nl) (Changing host)
  747. # [21:38] * Joins: lilmonkey` (~colin@pdpc/supporter/professional/riven)
  748. # [21:42] * Quits: lilmonkey (~colin@pdpc/supporter/professional/riven) (Ping timeout: 260 seconds)
  749. # [21:46] * Joins: SteveF_ (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com)
  750. # [21:47] * Joins: nessy (~silviapf@101.164.144.53)
  751. # [21:50] * Joins: say2joe (~say2joe@209-253-225-97.ip.mcleodusa.net)
  752. # [21:50] * Joins: kinetik (~kinetik@121.99.168.211)
  753. # [21:50] * Parts: say2joe (~say2joe@209-253-225-97.ip.mcleodusa.net)
  754. # [21:57] * Quits: SteveF_ (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginmedia.com) (Ping timeout: 264 seconds)
  755. # [21:58] * Quits: kinetik (~kinetik@121.99.168.211) (Ping timeout: 256 seconds)
  756. # [22:02] * Joins: kinetik (~kinetik@121.99.58.238)
  757. # [22:02] * Quits: TuRnaD0 (~Thunderbi@x1-6-e0-46-9a-1e-fe-ca.k368.webspeed.dk) (Quit: TuRnaD0)
  758. # [22:05] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
  759. # [22:08] * Quits: charl_ (~charl@charl.eu) (Quit: leaving)
  760. # [22:09] * Quits: reyre (~reyre@142.204.133.18) (Remote host closed the connection)
  761. # [22:12] * Joins: ap (~ap@2620:149:4:304:4035:45a6:78fe:1014)
  762. # [22:14] * Quits: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt) (Remote host closed the connection)
  763. # [22:15] * Joins: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt)
  764. # [22:20] * Quits: marcosc (~marcosc@bl8-174-239.dsl.telepac.pt) (Ping timeout: 260 seconds)
  765. # [22:25] * Quits: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch) (Quit: Leaving.)
  766. # [22:30] * Joins: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch)
  767. # [22:35] * Joins: mven (~mven@169.241.49.188)
  768. # [22:35] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
  769. # [22:36] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
  770. # [22:43] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  771. # [22:45] <TabAtkins> annevk: Yeah, there is - you just do the font resolution algo that Fonts defines, for choosing which faces to use.
  772. # [22:45] <TabAtkins> Each face is a Font object.
  773. # [22:45] <TabAtkins> Hm, so I should probably name the interface FontFace.
  774. # [22:45] <TabAtkins> annevk: I don't do anything more special than say "reject with a TypeError"?
  775. # [22:46] <annevk> That seems confusing with @font-face.
  776. # [22:46] <annevk> TabAtkins: yeah, if it's actually an error condition that seems fine. The browser can add a nice message...
  777. # [22:46] * Quits: kuatsure (~kuatsure@208.102.118.1) (Quit: zzz)
  778. # [22:46] <TabAtkins> annevk: @font-face creates implicit FontFace objects, prepopulating the document.fonts set.
  779. # [22:46] <annevk> TabAtkins: maybe say a JavaScript TypeError exception given that the rest of the language is prolly based around IDL..
  780. # [22:46] <TabAtkins> annevk: Okay, cool.
  781. # [22:48] <annevk> TabAtkins: I see. As for the objects. It might help thinking about what we'd expose if we went lower on the stack.
  782. # [22:48] <annevk> TabAtkins: as some day we might want to go there and it'd be great if things would still fit together if we did.
  783. # [22:48] <Ms2ger> https://twitter.com/glazou/status/374998161473155072
  784. # [22:49] * Quits: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net) (Quit: sedovsek)
  785. # [22:49] <TabAtkins> annevk: My idea right now is to have a FontSet attached to documents and workers. @font-face rules pre-populate the document's set with FontFace objects. You can manually construct FontFaces with a descriptor dict and either a url or a TypedArray of font data, then add them to the set.
  786. # [22:49] <annevk> TabAtkins: that's the idea behind http://extensiblewebmanifesto.org/ anyway. Running the design by Yehuda and public-script-coord will prolly help us get there.
  787. # [22:49] <jgraham> Reasons I hate merges: http://git-scm.com/blog/2010/03/02/undoing-merges.html
  788. # [22:49] <TabAtkins> FontFaces would be transferrable, so you can hand them to a Worker to let it use fonts.
  789. # [22:49] <TabAtkins> annevk: Yeah, I'm doing first draft in spec, then plan to socialize it on public-script-coord.
  790. # [22:49] <jgraham> If you git revert a merge then redoing the merge doesn't work the way you expect
  791. # [22:49] <Ms2ger> jgraham, but why would you ever do that?!
  792. # [22:50] <jgraham> So you either need to edit history or remember that branch is special when you re-merge
  793. # [22:50] <TabAtkins> annevk: I signed that webpage, so yeah, I know the principles. ^_^
  794. # [22:50] <Ms2ger> Mm, signing web pages
  795. # [22:51] <jgraham> Ms2ger: In this case because https://github.com/w3c/web-platform-tests/pull/316#issuecomment-23740848
  796. # [22:51] * Ms2ger raises one eyebrow
  797. # [22:51] <annevk> TabAtkins: aight, sounds good.
  798. # [22:52] <annevk> TabAtkins: btw, why is code unit order not sensible for string ordering? I didn't quite get that thread...
  799. # [22:52] <TabAtkins> code unit order would be unambiguous, but it's not a proper "unicode ordering".
  800. # [22:53] <jgraham> I thought it only had to be well-defined, not useful
  801. # [22:53] <TabAtkins> Yeah, I suppose well-defined is enough here.
  802. # [22:53] <TabAtkins> And I can produce a well-defined-but-not-that-useful ordering for FontFace objects too.
  803. # [22:53] <TabAtkins> Do we have something on the platform that says that everything is just NFC or something?
  804. # [22:55] <jgraham> Is that even true?
  805. # [22:55] <TabAtkins> Oh man, it'll be nice when bikeshed integrates shepherd's IDL parsing, so I can avoid marking up all these IDL things as definitions and links.
  806. # [22:55] <TabAtkins> jgraham: Shrug.
  807. # [22:55] <jamesr_`> where are tests for http://encoding.spec.whatwg.org/ supposed to go?
  808. # [22:55] <TabAtkins> I think JS does NFC for its strings.
  809. # [22:56] <jamesr_`> TabAtkins: for sort?
  810. # [22:56] * Quits: mven (~mven@169.241.49.188) (Remote host closed the connection)
  811. # [22:56] <annevk> TabAtkins: Unicode ordering is overrated imo. Also, it seems better than undefined / random.
  812. # [22:56] <TabAtkins> jamesr_`: For what? That question doesn't have enough context.
  813. # [22:56] <TabAtkins> annevk: Yeah, better than undefined.
  814. # [22:57] * Parts: jannis_ (~Adium@xdsl-188-155-17-213.adslplus.ch)
  815. # [22:57] <annevk> TabAtkins: "JS does NFC for its strings" doesn't have enough context either ;-)
  816. # [22:57] <annevk> jamesr_`: I suggest https://github.com/w3c/web-platform-tests
  817. # [22:57] <annevk> jamesr_`: since all W3C specs rely on it these days
  818. # [22:57] <TabAtkins> I'm thinking I might be wrong, but I thought that JS mandated its strings to be in NFC.
  819. # [22:57] <annevk> TabAtkins: nah doesn't
  820. # [22:58] <TabAtkins> Ah, kk then.
  821. # [22:58] <annevk> TabAtkins: JS has 16-bit code unit strings
  822. # [22:58] <TabAtkins> Well, yeah, but still.
  823. # [22:58] <TabAtkins> And CSS doesn't mandate a normalization form either. :/
  824. # [22:58] <annevk> Pretty sure it doesn't do conformance like HTML does :-)
  825. # [22:58] <TabAtkins> Which means that technically "code unit" is still ambiguous.
  826. # [22:58] <jamesr_`> JS has 16-bit unsigned integers
  827. # [22:58] <jamesr_`> calling them 'code unit' is a stretch
  828. # [22:58] * Quits: Ms2ger (~Ms2ger@193.190.253.150) (Quit: nn)
  829. # [22:59] <zewt> makes sense to me, distinguishing from codepoints
  830. # [22:59] * Joins: mven (~mven@169.241.1.168)
  831. # [22:59] <jamesr_`> there's basically nothing in the language that requires or assumes the contents of JS strings have anything to do with unicode
  832. # [22:59] <annevk> jamesr_`: that's not true
  833. # [22:59] <TabAtkins> There's tons that *assumes*.
  834. # [22:59] <annevk> jamesr_`: and not that code unit != code point
  835. # [22:59] <TabAtkins> Anything that interacts with the string as a string assumes it's in a bastardized utf-16.
  836. # [22:59] <jamesr_`> UCS-2
  837. # [23:00] <TabAtkins> No, UCS-2 can't encode anything over 16-bits. It's bastardized utf-16.
  838. # [23:00] <TabAtkins> With a UCS-2-like structure.
  839. # [23:00] <annevk> serialized utf-16 with 16-bit indexing
  840. # [23:01] <jamesr_`> except that it isn't necessarily valid utf-16
  841. # [23:01] <TabAtkins> Right.
  842. # [23:01] <TabAtkins> So there's no *requirement*. But there's plenty of assumption.
  843. # [23:01] <jamesr_`> you can have arbitrary bits in each element and pretty much everything works
  844. # [23:01] <annevk> 16-bit code units is the term for that though...
  845. # [23:01] <TabAtkins> Anyway, back to writing specs.
  846. # [23:01] <TabAtkins> Oh yeah, annevk, while you're here - adopt hook?
  847. # [23:02] <annevk> or code points up to U+FFFD with special meaning for valid surrogate pairs
  848. # [23:02] <annevk> TabAtkins: file a bug I guess?
  849. # [23:02] <TabAtkins> annevk: kk
  850. # [23:03] <TabAtkins> And how best to say "Promise.every(some-spec-defined-list-of-promises)"?
  851. # [23:04] * Joins: mven_ (~mven@169.241.1.168)
  852. # [23:04] * Joins: hasather (~hasather@cm-84.210.170.16.getinternet.no)
  853. # [23:04] <annevk> TabAtkins: I guess for that you want to wait until we've re-defined Promise.every() and then simply reference its internal algorithm (that cannot be replaced).
  854. # [23:05] * jonlee|afk is now known as jonlee
  855. # [23:05] <TabAtkins> annevk: Cool. I'll just hand-wave for now with an issue about it.
  856. # [23:05] * Quits: mven (~mven@169.241.1.168) (Read error: Connection reset by peer)
  857. # [23:06] * Quits: TallTed (~Thud@63.119.36.36)
  858. # [23:07] * Joins: mven (~mven@169.241.49.188)
  859. # [23:07] * Krinkle is now known as Krinkle|detached
  860. # [23:08] <jsbell> jamesr_`: Might be a bit crufty now, but my JS prototype for the Encoding API has W3C-style tests in https://code.google.com/p/stringencoding/source/browse/tests.js
  861. # [23:09] <jsbell> i.e. someone could clean up and submit those
  862. # [23:11] * Quits: mven_ (~mven@169.241.1.168) (Ping timeout: 264 seconds)
  863. # [23:15] * Joins: reyre (~reyre@CPE7cb21b1e2cf4-CM7cb21b1e2cf1.cpe.net.cable.rogers.com)
  864. # [23:17] * Quits: Maurice (copyman@94.213.121.34)
  865. # [23:17] * Joins: zcorpan (~zcorpan@80.232.109.46)
  866. # [23:18] <jgraham> jsbell: Submit them now and we can track the cleanup in critic
  867. # [23:18] * Quits: mven (~mven@169.241.49.188) (Remote host closed the connection)
  868. # [23:18] <jgraham> (create a branch in the W3C repo rather than using your personal GH and we can even have multiple contributers)
  869. # [23:21] * Quits: jdaggett (~jdaggett@y230006.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  870. # [23:22] * Quits: zcorpan (~zcorpan@80.232.109.46) (Ping timeout: 260 seconds)
  871. # [23:24] * Quits: felipeduardo (~felipedua@189.115.44.34) (Remote host closed the connection)
  872. # [23:24] * jonlee is now known as jonlee|afk
  873. # [23:25] * Quits: ap (~ap@2620:149:4:304:4035:45a6:78fe:1014) (Ping timeout: 245 seconds)
  874. # [23:27] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
  875. # [23:27] * Joins: zcorpan (~zcorpan@80.232.109.46)
  876. # [23:28] * Quits: newtron (~newtron@199.71.174.103) (Remote host closed the connection)
  877. # [23:29] * Quits: hasather (~hasather@cm-84.210.170.16.getinternet.no) (Remote host closed the connection)
  878. # [23:33] * Joins: ap (~ap@17.202.47.229)
  879. # [23:33] * Quits: tantek (~tantek@50-0-164-83.dsl.dynamic.sonic.net) (Quit: tantek)
  880. # [23:33] * Joins: mven (~mven@169.241.49.188)
  881. # [23:39] <annevk> jgraham: I guess I should look into doing that for my URL tests too at some point?
  882. # [23:40] * Quits: yoshu (~josh@174-21-234-55.tukw.qwest.net) (Quit: yoshu)
  883. # [23:40] <annevk> I wonder what the licensing deal is these days
  884. # [23:40] <jsbell> jgraham: I need to be a member of the org presumably?
  885. # [23:42] * Joins: Smylers (~smylers@host86-156-211-142.range86-156.btcentralplus.com)
  886. # [23:44] * Quits: mven (~mven@169.241.49.188) (Remote host closed the connection)
  887. # [23:46] * jsbell grabs "jsbell" at github, yay for multiple personalities
  888. # [23:46] * Quits: scor (scor@drupal.org/user/52142/view) (Quit: scor)
  889. # [23:49] <TabAtkins> Suggestions on an interface name for "a set of fonts usable in a given context"?
  890. # [23:49] <TabAtkins> "FontFaceSet" might be sufficient.
  891. # [23:51] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
  892. # [23:52] * Joins: ehsan (~ehsan@66.207.208.102)
  893. # [23:55] <zcorpan> code unit order? i guess i need to say that for getComputedStyle huh
  894. # [23:55] <TabAtkins> zcorpan: Yeah.
  895. # [23:56] <TabAtkins> zcorpan: But we still need to specify a normalization form to do that.
  896. # [23:56] <zcorpan> why?
  897. # [23:56] * Quits: ehsan (~ehsan@66.207.208.102) (Ping timeout: 264 seconds)
  898. # [23:58] <TabAtkins> Because given var-Á, whether it's encoded as A followed by combining acute accent or as A with acute accent changes what code units it's using.
  899. # [23:58] <TabAtkins> And whether it sorts before or after var-B.
  900. # [23:59] * Quits: css (~css@unaffiliated/css) (Ping timeout: 248 seconds)
  901. # [23:59] <SimonSapin> TabAtkins: can’t we just ignore that and deal with code points?
  902. # [23:59] <zcorpan> do css parser normalize for e.g. selectors?
  903. # [23:59] <TabAtkins> Not specified.
  904. # [23:59] <TabAtkins> Unfortunately.
  905. # [23:59] <zcorpan> what about impls?
  906. # [23:59] <TabAtkins> SimonSapin: Code points gives you the same problem.
  907. # Session Close: Wed Sep 04 00:00:00 2013

The end :)