/irc-logs / freenode / #whatwg / 2012-03-14 / end

Options:

  1. # Session Start: Wed Mar 14 00:00:00 2012
  2. # Session Ident: #whatwg
  3. # [00:00] <TabAtkins_> Yus.
  4. # [00:00] <TabAtkins_> SVG path syntax >>> canvas path API.
  5. # [00:00] <TabAtkins_> s/canvas path/current canvas path/
  6. # [00:01] * Quits: oal (u4126@gateway/web/irccloud.com/x-pzcpblscktuduuwu) (Ping timeout: 272 seconds)
  7. # [00:01] * Quits: remysharp (u4345@gateway/web/irccloud.com/x-eturmukxpnbhaxrf) (Ping timeout: 244 seconds)
  8. # [00:01] * Quits: Raynos (u3611@gateway/web/irccloud.com/x-jroqvolhdyqerajt) (Ping timeout: 260 seconds)
  9. # [00:01] * Quits: Phae (u455@gateway/web/irccloud.com/x-odddgikjskxtuayx) (Ping timeout: 246 seconds)
  10. # [00:01] * Quits: ojan (u5519@gateway/web/irccloud.com/x-awmgjfogzjondbrg) (Ping timeout: 252 seconds)
  11. # [00:01] * Quits: ryanseddon (u1832@gateway/web/irccloud.com/x-xyrmomttcimejqxh) (Ping timeout: 260 seconds)
  12. # [00:01] * Quits: matjas (u2247@gateway/web/irccloud.com/x-knfpdjwpkczpmzut) (Ping timeout: 276 seconds)
  13. # [00:02] * Quits: hdv (u2376@gateway/web/irccloud.com/x-zpyneffucpyvxjsd) (Ping timeout: 246 seconds)
  14. # [00:02] * Quits: scheib (u4467@gateway/web/irccloud.com/x-mifkydwnanavyyhr) (Ping timeout: 252 seconds)
  15. # [00:02] * Quits: jeremyselier (u2513@gateway/web/irccloud.com/x-qnqbsghtpvhuwaaz) (Ping timeout: 252 seconds)
  16. # [00:02] * Quits: Scorchin (u1242@gateway/web/irccloud.com/x-nudgaxdgfjhdifvd) (Max SendQ exceeded)
  17. # [00:02] * Quits: pocopina (u5310@gateway/web/irccloud.com/x-sftuikjrshxygsua) (Ping timeout: 246 seconds)
  18. # [00:02] * Quits: benschwarz (u2121@gateway/web/irccloud.com/x-imcaaxwravmeniwp) (Read error: Operation timed out)
  19. # [00:02] * Quits: abarth (u5294@gateway/web/irccloud.com/x-glxrbcxfqkiquixa) (Ping timeout: 246 seconds)
  20. # [00:03] * Quits: akamike (u5089@gateway/web/irccloud.com/x-wrotvgsfmqspzxlw) (Ping timeout: 246 seconds)
  21. # [00:03] * Quits: bobylito (u3929@gateway/web/irccloud.com/x-qhoildgisabfndou) (Ping timeout: 246 seconds)
  22. # [00:03] * Quits: timeless (u4015@firefox/developer/timeless) (Ping timeout: 252 seconds)
  23. # [00:03] * Quits: eae (u4278@gateway/web/irccloud.com/x-fbsuxeqyhfynbhdw) (Ping timeout: 246 seconds)
  24. # [00:03] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-cgczkdpvuhusvmpn) (Ping timeout: 252 seconds)
  25. # [00:04] * Quits: arv (u4269@gateway/web/irccloud.com/x-cruynfmyxvoqhjuk) (Ping timeout: 260 seconds)
  26. # [00:05] * Quits: davidb (~davidb@65.93.94.10) (Quit: davidb)
  27. # [00:05] * Quits: boblet (u1921@gateway/web/irccloud.com/x-irmmzrdskcehisus) (Ping timeout: 276 seconds)
  28. # [00:06] * Quits: krijn (u2319@gateway/web/irccloud.com/x-snbbnhngfoehynww) (Ping timeout: 246 seconds)
  29. # [00:09] * Joins: benschwarz (u2121@gateway/web/irccloud.com/x-vxjmbtyyoiwjafuv)
  30. # [00:09] * Joins: othermaciej_ (~mjs@17.245.91.78)
  31. # [00:09] * Joins: pixelflips (~pixelflip@69-170-13-3.static-ip.telepacific.net)
  32. # [00:10] * Joins: boblet (u1921@gateway/web/irccloud.com/x-ltbgvadzxccgfcwm)
  33. # [00:10] * Joins: krijn (u2319@gateway/web/irccloud.com/x-zyawbfvakzhrdfeq)
  34. # [00:12] * Joins: timeless (u4015@firefox/developer/timeless)
  35. # [00:13] * Joins: ryanseddon (u1832@gateway/web/irccloud.com/x-gztnaovcajlmgamh)
  36. # [00:15] * Joins: matijsb (u2278@gateway/web/irccloud.com/x-skyhgrkbtumgdctd)
  37. # [00:16] * Joins: remysharp (u4345@gateway/web/irccloud.com/x-emdkvyzlwgyjhyqn)
  38. # [00:16] * Joins: eae (u4278@gateway/web/irccloud.com/x-xqwiomfwwytolqnj)
  39. # [00:17] * Joins: Phae (u455@gateway/web/irccloud.com/x-hbyzjjuoxmstpbiv)
  40. # [00:17] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-fonzwgoptgunlkdd)
  41. # [00:17] * Joins: Raynos (u3611@gateway/web/irccloud.com/x-uftfudtnbwbwxfmf)
  42. # [00:18] * Joins: jeremyselier (u2513@gateway/web/irccloud.com/x-likchrrwulgozdoc)
  43. # [00:18] * Joins: oal (u4126@gateway/web/irccloud.com/x-gqamismpllcbxjio)
  44. # [00:19] * Joins: scheib (u4467@gateway/web/irccloud.com/x-vdpcoooaftuqhcsl)
  45. # [00:21] * Quits: miketaylr (~miketaylr@50.59.76.58) (Quit: Leaving...)
  46. # [00:24] * Joins: vidu (u5404@gateway/web/irccloud.com/x-xervhgjhmhjhsuav)
  47. # [00:24] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
  48. # [00:25] * Joins: aklein (u4454@gateway/web/irccloud.com/x-wdtystluoxjrjicb)
  49. # [00:28] * Joins: abarth (u5294@gateway/web/irccloud.com/x-iopcnnrygvltgyls)
  50. # [00:28] * Quits: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net) (Remote host closed the connection)
  51. # [00:30] * Joins: bobylito (u3929@gateway/web/irccloud.com/x-gpsijkhknmdhvdfb)
  52. # [00:30] * Joins: ojan (u5519@gateway/web/irccloud.com/x-nsqvgbrxqaiavtvw)
  53. # [00:30] * Quits: sicking (~chatzilla@nat/mozilla/x-buwykkvnxhlbziai) (Ping timeout: 252 seconds)
  54. # [00:33] * Quits: KillerX (~anant@nat/mozilla/x-bjrmlsdvlwdrqimg) (Quit: KillerX)
  55. # [00:34] * Joins: html5doctor (~yaaic@123.116.101.244)
  56. # [00:35] * Joins: davidb (~davidb@65.93.94.10)
  57. # [00:42] * Joins: hdv (u2376@gateway/web/irccloud.com/x-wbwgrftspuvjdidu)
  58. # [00:42] * Quits: samol (~samol@cnz83.neoplus.adsl.tpnet.pl) (Quit: Wychodzi)
  59. # [00:43] <Hixie> hm
  60. # [00:43] <Hixie> dashed lines are a pain to define
  61. # [00:45] <TabAtkins_> And SVG doesn't help you out. :/
  62. # [00:46] <TabAtkins_> What's the issue you're having?
  63. # [00:48] * Quits: twisted` (~anonymous@p5DDBAC3F.dip.t-dialin.net) (Quit: twisted`)
  64. # [00:48] * Joins: twisted` (~anonymous@p5DDBAC3F.dip.t-dialin.net)
  65. # [00:49] <Hixie> TabAtkins_: so i'm defining it by saying you cut out bits of the path that aren't in the dash
  66. # [00:49] <Hixie> TabAtkins_: but there's nothing to cut in the line between the last point and the first point of a closed path
  67. # [00:49] <Hixie> TabAtkins_: so i have to add it
  68. # [00:50] <Hixie> TabAtkins_: but what if the whole subpath is in an "on" segment? then i don't want to add it, because i have to leave it to get the right join
  69. # [00:50] <Hixie> TabAtkins_: etc
  70. # [00:50] <Hixie> also, 0-width segments
  71. # [00:50] * Quits: davidb (~davidb@65.93.94.10) (Quit: davidb)
  72. # [00:50] <TabAtkins_> I don't understand what you mean by "nothing to cut" in closed paths.
  73. # [00:52] * Joins: espadrine (~thaddee_t@acces2342.res.insa-lyon.fr)
  74. # [00:53] * Quits: twisted` (~anonymous@p5DDBAC3F.dip.t-dialin.net) (Ping timeout: 240 seconds)
  75. # [00:54] * Joins: malydok (~marek@moma.t16.ds.pwr.wroc.pl)
  76. # [00:56] * Quits: html5doctor (~yaaic@123.116.101.244) (Read error: Connection reset by peer)
  77. # [00:58] <TabAtkins_> (Specifically, a closed path still draws dashes (and thus has stuff to cut out) on the line you mention.)
  78. # [01:00] <Hixie> i mean there's no line between the last point and the first point in the path
  79. # [01:00] <Hixie> it's implied
  80. # [01:00] <Hixie> so there's nothing for me to remove
  81. # [01:00] <Hixie> i actually have to _add_ the line before i can remove it
  82. # [01:01] <TabAtkins_> The .close() command doesnt' add it?
  83. # [01:01] <Hixie> it just sets a flag
  84. # [01:01] <Hixie> you can't add the line because otherwise the join is wrong
  85. # [01:05] <TabAtkins_> Oh wow, arcTo is *confusing*.
  86. # [01:05] <Hixie> that's why i added the diagrams yesterday
  87. # [01:06] <Hixie> with the diagrams it's not so bad
  88. # [01:06] <Hixie> (and actually is really useful for rounded corners)
  89. # [01:06] * Quits: jacobolu_ (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Remote host closed the connection)
  90. # [01:06] <TabAtkins_> ...would you mind if I wrote a visualizer for this that let you drag around the points/radius/etc?
  91. # [01:06] <Hixie> i would love it. You'll find the code for the current diagrams in the spec in a comment, which will likely be a good starting point
  92. # [01:07] * Quits: chriseppstein (~chrisepps@209.119.65.162) (Quit: chriseppstein)
  93. # [01:07] <TabAtkins_> I guess to do a roundrect you just issue four arcTo commands in succession?
  94. # [01:07] <Hixie> (search the source for "update the label positions")
  95. # [01:07] * Joins: niftylettuce (u2733@gateway/web/irccloud.com/x-ngvlgqqerhtxvcan)
  96. # [01:07] <Hixie> you'd have some lineTos and moveTos, but yeah
  97. # [01:07] <Hixie> oh actually yeah
  98. # [01:07] <Hixie> i guess you don't even need lineTos
  99. # [01:07] <TabAtkins_> You either need to figure out where the first edge starts after the curve, or start in the middle of an edge and finish with a lineTo back to that point.
  100. # [01:08] * Joins: Obvious_MkII (tachikoma@188.226.74.2)
  101. # [01:08] <Hixie> yeah you start in the middle and end with a closePath
  102. # [01:08] <TabAtkins_> Yeah.
  103. # [01:09] * Quits: Obvious (tachikoma@188.226.74.2) (Ping timeout: 272 seconds)
  104. # [01:09] <TabAtkins_> Ah, now I kinda understand the dash issue you're talking about.
  105. # [01:10] * Quits: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90) (Quit: ChatZilla 0.9.87-4.1450hg.fc15 [XULRunner 10.0.1/20120213092145])
  106. # [01:12] <Hixie> maybe i should just handwave this rather than being overly specific about the algorithm to do this
  107. # [01:12] * Quits: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com) (Ping timeout: 245 seconds)
  108. # [01:12] <TabAtkins_> I suspect the problem comes from you defining the join-drawing in the wrong place.
  109. # [01:13] <TabAtkins_> I'm trying to verify this suspicion.
  110. # [01:13] <Hixie> well, not so much the wrong place as in the wrong way
  111. # [01:13] <Hixie> what i should do is define something that says how you stroke a path, going from a path to another path, the latter of which, if filled, gives you what stroking the first one would give you today
  112. # [01:14] <Hixie> then i can put all the line stuff into that algorithm
  113. # [01:14] <Hixie> instead of implying that that algorithm exists, and having multiple things in the spec imply additional steps to it
  114. # [01:14] <Hixie> but since i've no idea how to write that algorithm, i'm gonna stick to this current approach :-)
  115. # [01:14] <TabAtkins_> Oh, you mean converting 'stroke' to 'fill this path by inflating the original path somewhow'?
  116. # [01:15] <Hixie> yeah
  117. # [01:15] <Hixie> yeah i really need to just bite the bullet and do that
  118. # [01:16] <Hixie> this is just going to become spaghetti spec otherwise
  119. # [01:16] <TabAtkins_> SVG Vector Effects *may* have that.
  120. # [01:16] <TabAtkins_> But I'm not sure.
  121. # [01:16] <TabAtkins_> It may just handwave.
  122. # [01:16] <TabAtkins_> (There's an effect for converting a path into the outline of stroking it.)
  123. # [01:16] <heycam> vector effects never got to a detailed level of spec
  124. # [01:16] <TabAtkins_> That's what I feared.
  125. # [01:16] <heycam> stroking/outsetting/whatever a path is quite complicated
  126. # [01:17] <TabAtkins_> Yup.
  127. # [01:17] <Hixie> canvas already has a method that takes a path and strokes it and gives you back another path representing the stroke
  128. # [01:17] <Hixie> (as of, like, 24 hours ago)
  129. # [01:17] <heycam> how do you define it? :)
  130. # [01:17] <Hixie> "Create a new list of subpaths d, consisting of the subpaths necessary to describe the result of tracing the subpaths in c, in the same order, while applying the line styles of a (the lineWidth, lineCap, lineJoin, and (if appropriate) miterLimit attributes). Subpaths in d must wind clockwise, regardless of the direction of paths in c."
  131. # [01:17] * Hixie waves his hand meaningfully
  132. # [01:18] <heycam> i mean i think it's fine to handwave the actual stroking part
  133. # [01:18] <heycam> since it's a well understood graphical primitive
  134. # [01:18] <Hixie> yeah well it is until you end up having to define how line joins, line caps, and dashing all interact
  135. # [01:18] * Quits: jcarbaugh (~jcarbaugh@12.191.60.30)
  136. # [01:18] * TabAtkins_ needs to file some spec bugs on SVG2...
  137. # [01:18] <heycam> mind you, while all 2d graphics libraries will be able to immediately paint a stroked path, not all can return you a path that presents that stroke shape
  138. # [01:19] <Hixie> then it starts getting less and less like handwaving and more and more like trying to pin a tail on a donkey without ever drawing the donkey
  139. # [01:19] <heycam> *represents
  140. # [01:19] <heycam> stroke the tail on the donkey :)
  141. # [01:19] <Hixie> heycam: i expect a lot of these graphical libraries are suddenly gonna find a bunch of patches going their way to implement a series of new features...
  142. # [01:19] <heycam> yeah
  143. # [01:20] <Hixie> either that or i'll be removing some of these new canvas features soon when implementors' eyes bug out :-)
  144. # [01:21] * Joins: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net)
  145. # [01:22] <Hixie> bbl
  146. # [01:23] * Joins: sicking (~chatzilla@c-98-210-152-4.hsd1.ca.comcast.net)
  147. # [01:25] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Quit: MikeSmith)
  148. # [01:26] * Joins: astearns (~astearns@192.150.22.5)
  149. # [01:32] <TabAtkins_> Hixie: Dirk Schulze points out that SVG's path parser won't ever throw errors; each individual construction greedily consumes as much as possible, and if there is any left over when the root construction can no longer consume anything while staying valid, it's thrown away.
  150. # [01:34] <TabAtkins_> And so, step 2 of the list introduced with "The addPathData(d) method..." is unnecessary, as no errors can ever be thrown.
  151. # [01:34] * Joins: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com)
  152. # [01:34] <TabAtkins_> Or rather, as step 1 can never fail.
  153. # [01:34] <TabAtkins_> (Outside of the standard hardware-limitations clause.)
  154. # [01:34] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
  155. # [01:35] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Client Quit)
  156. # [01:36] * Joins: tantek (~tantek@12.14.132.2)
  157. # [01:36] * Quits: WeirdAl (~chatzilla@g2spf.ask.info) (Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643])
  158. # [01:39] * Quits: tantek (~tantek@12.14.132.2) (Client Quit)
  159. # [01:41] * jernoble is now known as jernoble|afk
  160. # [01:45] * Quits: ap (~ap@17.212.155.203) (Quit: ap)
  161. # [01:48] * Joins: jacobolus (~jacobolus@75-144-246-6-SFBA.hfc.comcastbusiness.net)
  162. # [01:48] * Joins: jcarbaugh (~jcarbaugh@12.43.172.10)
  163. # [01:50] * Quits: Druid_ (~Druid@p5B1356B0.dip.t-dialin.net) (Ping timeout: 265 seconds)
  164. # [01:51] * Quits: sicking (~chatzilla@c-98-210-152-4.hsd1.ca.comcast.net) (Ping timeout: 244 seconds)
  165. # [01:53] * Quits: plutoniix (~plutoniix@182.53.55.234) (Quit: Leaving)
  166. # [01:54] * Joins: Druid_ (~Druid@p5B1351D1.dip.t-dialin.net)
  167. # [01:58] * Quits: jernoble|afk (~jernoble@17.212.152.13) (Read error: Connection reset by peer)
  168. # [01:58] * Joins: jernoble (~jernoble@17.212.152.13)
  169. # [01:59] * Parts: pixelflips (~pixelflip@69-170-13-3.static-ip.telepacific.net)
  170. # [01:59] * Joins: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp)
  171. # [02:04] * Quits: sarro (~sarro@i5E865C5D.versanet.de)
  172. # [02:04] * Quits: pablof (~pablof@144.189.101.1) (Quit: ^z)
  173. # [02:09] <Hixie> TabAtkins_: where does it say that?
  174. # [02:09] * Quits: tndrH (~Rob@cpc16-seac19-2-0-cust234.7-2.cable.virginmedia.com) (Quit: ChatZilla 0.9.88-rdmsoft [XULRunner 1.9.0.1/2008072406])
  175. # [02:10] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
  176. # [02:11] <TabAtkins_> Just below the BNF grammar.
  177. # [02:18] * Quits: smaug____ (~chatzilla@GGYYMKDCCCLV.gprs.sl-laajakaista.fi) (Ping timeout: 265 seconds)
  178. # [02:21] * Quits: tomasf (~tom@2002:55e5:dbb7:0:6967:8b84:2fab:262e) (Quit: tomasf)
  179. # [02:24] * Joins: karlcow (~karl@nerval.la-grange.net)
  180. # [02:49] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
  181. # [03:02] * Quits: jondong (~jondong@123.126.22.58) (Disconnected by services)
  182. # [03:03] * Joins: jondong_ (~jondong@123.126.22.58)
  183. # [03:12] * Joins: ehsan (~ehsan@209.29.21.241)
  184. # [03:13] * Joins: Evanescence (~Evanescen@60.183.205.152)
  185. # [03:20] * Joins: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net)
  186. # [03:22] * Quits: mkanat (mkanat@nat/google/x-wyviyufaihroszby) (Quit: Ex-Chat)
  187. # [03:29] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
  188. # [03:30] <llrcombs> would it be a reasonable request to allow messages between Web Workers to include typed arrays?
  189. # [03:30] <llrcombs> I'd like to have one worker manage several worker threads, sending Int8Arrays and similar between them, to calculate pruning tables more quickly than with just one worker
  190. # [03:33] <llrcombs> oh, it looks like transferable objects do that
  191. # [03:33] <llrcombs> is that in spec, or just a WebKit extension?
  192. # [03:33] <MikeSmith> llrcombs: in the spec
  193. # [03:33] <llrcombs> cool!
  194. # [03:36] * Joins: ezoe (~ezoe@61-205-124-26f1.kyt1.eonet.ne.jp)
  195. # [03:36] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
  196. # [03:36] <MikeSmith> video peoples, how does seeking and adjustment of playback rate work with encrypted video?
  197. # [03:37] <MikeSmith> would it just work the same?
  198. # [03:37] <MikeSmith> it seems like the encryption could muff with the ability to do those operations from JS
  199. # [03:39] <MikeSmith> Hixie: thanks for pushing to the W3C versions
  200. # [03:39] <Hixie> np
  201. # [03:39] <Hixie> TabAtkins_: ah, will look
  202. # [03:40] * Quits: malydok (~marek@moma.t16.ds.pwr.wroc.pl) (Read error: Connection reset by peer)
  203. # [03:41] <MikeSmith> Hixie: ah this doesn't include the replacement of the code-point names?
  204. # [03:42] <MikeSmith> not yet integrated that script?
  205. # [03:49] <MikeSmith> hsivonen: I know you are not around right now but as far as what I was talking about earlier, regarding how to make the local validator build and install easier for end users, I wonder if it would help to have the build emit a message saying, "If you have problem with building or installing the validator and need help in real time, you can join the #whatwg channel on irc.freenode.net and ask there."
  206. # [03:50] <MikeSmith> scott_gonzalez: fwiw, I pushed a change to the validator sources a few hours ago that streamlines the initial install
  207. # [03:50] <MikeSmith> it should cut down the install time considerably
  208. # [03:52] <MikeSmith> scott_gonzalez: I hope ultimately you guys could switch to using a local instance of the validator to run your validation tests
  209. # [03:52] <MikeSmith> it's just way better in many ways
  210. # [03:52] <MikeSmith> e.g., it handles data-* attributes just fine without you needing to filter out the errors
  211. # [03:54] <MikeSmith> and it is at least an order of magnitude faster than any doing it with the jing-html thing I pointed you to
  212. # [03:55] * Quits: aklein (u4454@gateway/web/irccloud.com/x-wdtystluoxjrjicb)
  213. # [03:55] <MikeSmith> for a normal file it takes like 100ms or 200ms to validate
  214. # [03:55] <MikeSmith> for really small files it takes only 50ms
  215. # [03:55] <MikeSmith> or less
  216. # [03:58] <MikeSmith> Hixie: sorry man, I see that you actually did apply it
  217. # [03:58] * MikeSmith kicks his browser cache in the teeth
  218. # [04:01] <MikeSmith> matjas: about "criteria that cannot be expressed by a DTD, but can still be checked by a machine”, there are many
  219. # [04:01] <MikeSmith> so please (re)ping me about that when you are back
  220. # [04:02] <MikeSmith> one example is that schema languages can't check the text content of elements
  221. # [04:03] <MikeSmith> like for <time> and <script> and <style> the spec has some specific document-conformance requirements for their text content
  222. # [04:04] <MikeSmith> theoretically that could be checked using a regexp
  223. # [04:04] <MikeSmith> but it's not practical and it's also the suckiest possible way to do it from a user-experience POV
  224. # [04:04] * Quits: othermaciej_ (~mjs@17.245.91.78) (Quit: othermaciej_)
  225. # [04:05] <MikeSmith> because the only possible error you get back is "fail"
  226. # [04:05] <MikeSmith> with no details about why it's failed
  227. # [04:05] <MikeSmith> that is, which part is invalid
  228. # [04:06] <MikeSmith> in contrast the way those text-content checks are implemented in validator.nu, it attempts to actually report the actual specific error
  229. # [04:06] <MikeSmith> but the location
  230. # [04:06] <MikeSmith> *both the location
  231. # [04:06] <MikeSmith> line number and column number
  232. # [04:07] <MikeSmith> and also what part of the string is wrong
  233. # [04:07] <MikeSmith> e.g., it says "Expected a foo character here but found bar"
  234. # [04:11] <MikeSmith> https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/ScriptDocumentation.java
  235. # [04:12] <MikeSmith> and https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/FunctionBody.java
  236. # [04:13] <MikeSmith> which validates JS by passing it off to Rhino to check
  237. # [04:18] <Hixie> MikeSmith: yeah, script is in
  238. # [04:19] <MikeSmith> yep I see now
  239. # [04:19] <MikeSmith> thanks man
  240. # [04:20] <Hixie> MikeSmith: i no longer make any promises that the w3c spec says what it should
  241. # [04:21] <MikeSmith> yeah I know
  242. # [04:21] <MikeSmith> I am hoping we can reverse that change actually
  243. # [04:21] <MikeSmith> it was misguided from the get-go
  244. # [04:21] <Hixie> no kidding
  245. # [04:22] <MikeSmith> need to put the brakes on this stuff
  246. # [04:23] <MikeSmith> draw the line between plain nuisances and at-least-marginally-substantial
  247. # [04:23] <MikeSmith> that "issue" comes nowhere near the normal "I can live with it" criteria
  248. # [04:24] <MikeSmith> I wish the issue proliferators would exercise better judgment
  249. # [04:26] * Quits: jernoble (~jernoble@17.212.152.13) (Read error: Connection reset by peer)
  250. # [04:26] * Joins: jernoble (~jernoble@2620:149:4:1b01:3cfa:6bfa:aeb:b7f5)
  251. # [04:27] <Hixie> the system is explictly designed to enable them to raise issues and waste a lot of time
  252. # [04:27] <Hixie> that's literally the entire purpose of the system
  253. # [04:27] <Hixie> (though by its designers it is phrased as "discourage people by making such issues take a lot of time")
  254. # [04:27] <Hixie> (but that clearly shows a lack of understanding of the social dynamics)
  255. # [04:28] * Joins: othermaciej_ (~mjs@65.50.217.36)
  256. # [04:32] <MikeSmith> Hixie: that was not the purpose the designer of the system intended
  257. # [04:32] <Hixie> what was the purpose?
  258. # [04:33] <Hixie> i've heard chairs explicitly tell me that was the goal -- to make raising issues time consuming so that only important issues would get raised
  259. # [04:33] <MikeSmith> I don't know which chairs said that but I would imagine othermaciej doesn't see that as a goal
  260. # [04:34] <MikeSmith> anyway I don't want to speak for him
  261. # [04:34] <MikeSmith> I think the decision policy was designed in good faith to enable resolution on bugs where we otherwise couldn't get agreement
  262. # [04:34] * Quits: othermaciej_ (~mjs@65.50.217.36) (Ping timeout: 260 seconds)
  263. # [04:35] <Hixie> if that was the goal, then it's way overengineered, and doesn't work.
  264. # [04:35] <MikeSmith> it's just the way it's been applied, it's ended up being used as a blunt instrument
  265. # [04:36] <MikeSmith> and massively abused by a very small number of WG participants
  266. # [04:37] <MikeSmith> Hixie: yeah I think it's worth looking at re-engineering it
  267. # [04:37] <MikeSmith> but pausing to do that at this point seems like something that's unlikely to happen
  268. # [04:38] <Hixie> i think the best part of the process right now is the way that it only kicks in if the editor disagrees with someone, but when that someone proposes an alternative, the editor has to do extra work to repeat the objection for it to be considered
  269. # [04:38] <MikeSmith> and filing bugs piecemeal against the decision policy is not really workable either
  270. # [04:38] * Joins: othermaciej_ (~mjs@65.50.217.36)
  271. # [04:38] <Hixie> and has to do so for _every single issue_ raised, since for few issues do people actually care enough even if they agree with the editor
  272. # [04:38] <MikeSmith> I hear you
  273. # [04:39] <othermaciej_> Hixie: Path having a CTM is weird
  274. # [04:39] <Hixie> (the net result being i don't bother anymore and the w3c copy of the spec is getting more and more crazy)
  275. # [04:39] <Hixie> othermaciej_: agreed. not sure how else to make it possible to do things like have another path stamped onto a path in four different positions, rotations, and skews.
  276. # [04:40] <MikeSmith> Hixie: yeah I realize that too and maybe that is an inevitable consequence of this arrangement and maybe that's where we would have ended up regardless of the particulars of the decision polity
  277. # [04:40] <othermaciej_> Hixie: CGPath supports transforming a (whole) path and concatenating paths
  278. # [04:41] <othermaciej_> Hixie: that is much more logical from my POV
  279. # [04:41] <othermaciej_> CG also has a Transform object, which makes that approach more convenient; but plausibly one could use SVGMatrix to represent an affine transform
  280. # [04:42] <Hixie> othermaciej_: yeah, one of the changes i'm doing soon is adding a transform object to the three objects that have a transformation matrix
  281. # [04:43] <othermaciej_> I guess you already have a way to concatenate paths, so a way to one-shot transform a path could replace the weird concept of path having a CTM and being able to invoke transform operators on it
  282. # [04:43] <jacobolus> paul_irish: okay, it went through a few edits, but I have a suggestion on your requestAnimationFrame polyfill gist: https://gist.github.com/1579671#comments
  283. # [04:44] <othermaciej_> also addFill vs. addStroke is weird
  284. # [04:44] <Hixie> othermaciej_: that would make it a two-step process to add text to a path in a transformed manner (first add text to another path, then transform that path, then add that path to the one you want the text on)
  285. # [04:45] <othermaciej_> I see what you are getting at, but it is a confusing API, because (if I understand correctly), if you addFill a path to another path, then stroke the resulting path object to a canvas, you get all stroke and no fill
  286. # [04:45] <jacobolus> bb10
  287. # [04:45] * Quits: jacobolus (~jacobolus@75-144-246-6-SFBA.hfc.comcastbusiness.net) (Remote host closed the connection)
  288. # [04:45] <Hixie> yeah i wanted to call "addFill" something like just "addPath" but it seemed better to keep the consistency with the rest of the API, which always has pairs of fill/stroke methods
  289. # [04:46] <Hixie> since i knew we'd also have addStroke
  290. # [04:46] <othermaciej_> the way CG does this is with CGPathAddPath and CGPathCreateCopyByStrokingPath
  291. # [04:46] <Hixie> CG's approach seems to involve a lot more temporaries
  292. # [04:46] <othermaciej_> what you call addFill to me makes more sense as addPath and is the common case
  293. # [04:47] * Quits: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp) (Quit: MikeSmith)
  294. # [04:47] <othermaciej_> whereas your naming would lead authors to believe that addStroke does the normal thing, when what it does is weird and not usually needed
  295. # [04:48] <othermaciej_> your approach requires a temporary to create a path outlining the strokes of a path in any case
  296. # [04:48] <othermaciej_> it just lets you save a temporary in the (unusual) case that you want to add that to another path
  297. # [04:50] <Hixie> and when you add text, and a whole bunch of other cases
  298. # [04:52] <othermaciej_> yeah, I think the result of that saving of temporaries in what are relatively rare use cases makes the API as a whole needlessly confusing
  299. # [04:53] <othermaciej_> it would also make creating a simple Path more expensive to some extent, since it would have to contain more than just a single platform-native path object for most graphics APIs of interest
  300. # [04:53] <Hixie> i don't really see what's confusing
  301. # [04:53] <Hixie> it's exactly like using the canvas api today
  302. # [04:53] <Hixie> just one step removed
  303. # [04:54] <othermaciej_> I doubt most people would understand what Path.addFill() does just by analogy to Canvas.fill()
  304. # [04:55] <othermaciej_> and like I said, I think you optimized for performance of the rare case at expense of the common case
  305. # [04:55] <othermaciej_> it's also non-obvious that Path.rotate() would not in fact rotate the path
  306. # [04:55] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
  307. # [04:55] <othermaciej_> where it might be less surprising in the canvas case that it won't rotate what has already been drawn
  308. # [04:56] <othermaciej_> anyway I'll think about it more, check with our graphics-y folks, and provide feedback
  309. # [04:56] <Hixie> k
  310. # [04:56] <Hixie> please do also see the canvas wiki page
  311. # [04:57] <Hixie> as the general pattern of support transforms is used for transforming patterns too
  312. # [04:57] <Hixie> supporting
  313. # [04:57] * Quits: othermaciej_ (~mjs@65.50.217.36) (Read error: Connection reset by peer)
  314. # [04:57] * Joins: othermaciej_ (~mjs@65.50.217.36)
  315. # [05:00] * Quits: rniwa (rniwa@nat/google/x-wrxhtduvshzucykk) (Quit: rniwa)
  316. # [05:00] <othermaciej_> (I'm not sure how practical it is to implement adding glyph shapes for text to a path but it's certainly a neat feature)
  317. # [05:04] * Joins: jacobolus (~jacobolus@199.188.193.145)
  318. # [05:05] * Joins: izhak (~izhak@213.87.241.75)
  319. # [05:06] <jacobolus> TabAtkins_, Hixie: while you’re talking about stroking paths, &c., is there anything specific you’re looking for feedback about?
  320. # [05:09] <Hixie> jacobolus: http://wiki.whatwg.org/wiki/Canvas#Proposals and the corresponding new stuff in http://www.whatwg.org/specs/web-apps/current-work/#2dcontext
  321. # [05:10] <othermaciej_> adding text to a path does seem plausibly implementable at least on mac (though non-trivial)
  322. # [05:17] * Quits: othermaciej_ (~mjs@65.50.217.36) (Quit: othermaciej_)
  323. # [05:17] <jacobolus> Hixie: I gotta say, having browsers just optimize & fix the bugs in their SVG implementations would handle a lot of this :)
  324. # [05:18] <jacobolus> but improving canvas is nice too
  325. # [05:20] <jacobolus> In particular, use cases where UI elements are being drawn using canvas, and developers want to have user selection/manipulation w/ keyboard navigation, focus rings, etc. doesn’t seem like the right use for canvas vs. some actual vector/object based API
  326. # [05:23] * Joins: MikeSmith (~MikeSmith@p15181-obmd01.tokyo.ocn.ne.jp)
  327. # [05:23] <Hixie> jacobolus: ain't much you can do to svg to address the use case of "immediate mode graphics", it's a retained-mode api :-)
  328. # [05:24] <jacobolus> what's immediate-mode gfx?
  329. # [05:24] <Hixie> the opposite of retained-mode
  330. # [05:24] <jacobolus> as in, you make them and only the result stays around but not the process?
  331. # [05:26] <jacobolus> but the use cases being asked for are ones where you care about accessing the objects/shapes well after they are initially drawn. If that’s what you want, it seems like a bad time to use an "immediate mode graphics" API in general
  332. # [05:27] <jacobolus> I think part of the problem may be that 99% of people using the canvas API aren’t actually playing to the strengths of the API, and are ignoring transformations and the context stack
  333. # [05:27] <jacobolus> which are very powerful tools for building up your own abstractions, especially when using functional or concatenative programming style
  334. # [05:28] <jacobolus> for example, it's completely trivial to define a function which draws an ellipse
  335. # [05:28] <Hixie> jacobolus: as in, no DOM
  336. # [05:28] <jacobolus> right. but many of the suggested use cases are ones where people are basically asking for DOM-like features
  337. # [05:29] <Hixie> given the number of requests we've had for ellipses, i don't know that i'd use the word "trivial"
  338. # [05:29] <Hixie> they're asking for DOM-like features but don't want to have a scene graph
  339. # [05:29] <jacobolus> to draw an ellipse, just save the context, do a transformation, draw a circle, and restore the context
  340. # [05:29] <Hixie> that skews the stroke
  341. # [05:29] <jacobolus> not if you restore the context before stroking
  342. # [05:30] <jamesr> how do you get the stroke to be an ellipse then?
  343. # [05:30] <jacobolus> the stroke shape is based on the current transformation, not the transformation when part of the path was created
  344. # [05:30] <Hixie> i don't see how that gives you ellipsoid rounded corners without some complicated maths
  345. # [05:30] <Hixie> anyway, supporting ellipses is easy, so why not do it since people want it
  346. # [05:31] <jacobolus> Hixie: try it!
  347. # [05:33] <jacobolus> drawEllipse = function (ctx, a, b) { ctx.save(); ctx.scale(a, b); ctx.arc(0, 0, 1, 0, 2*Math.PI); ctx.restore(); }
  348. # [05:34] <Hixie> that's not an ellipsoid rounded corner
  349. # [05:34] <jacobolus> what do you mean?
  350. # [05:34] <jacobolus> oh
  351. # [05:35] <jacobolus> okay, that one takes 3 more lines of code
  352. # [05:35] <jacobolus> but is really not a "basic" shape
  353. # [05:35] <Hixie> say i want a rectangle from 0,0 to 100,100 and each corner is to have a twice-as-wide-as-high ellipsoid corner
  354. # [05:35] <jacobolus> the reason not to add every shape anyone has ever heard of is that bloating APIs is really annoying
  355. # [05:35] <Hixie> with the proposal in the spec, that's like four lines of code
  356. # [05:35] <Hixie> adding one method for ellipses is hardly "bloat"
  357. # [05:35] <jacobolus> Hixie: how often in practice have you wanted such a shape?
  358. # [05:36] <jacobolus> this ellipsoid chorner shape
  359. # [05:36] <jacobolus> *corner
  360. # [05:36] <Hixie> me, never. but then i've hardly ever needed the path stuff at all. in practice we've received multiple requests for ellipses over the last year or so
  361. # [05:36] <Hixie> it's one of the most-requested features.
  362. # [05:36] <jacobolus> yes, but I would suggest these are from people who don't know how to draw an ellipse using the existing API
  363. # [05:36] <jacobolus> which is an education problem more than anything
  364. # [05:36] <Hixie> *shrug*
  365. # [05:36] <Hixie> it's easy to add
  366. # [05:37] <jacobolus> you can also add star shapes, regular polygons, parallelograms with specified skew, heart shapes with various parameters, ad infinitum
  367. # [05:37] <jacobolus> I dunno, anyway, that's not such a big deal
  368. # [05:38] <Hixie> if we had as many requests for those as for ellipses, you may have a proposal on your hands
  369. # [05:38] <Hixie> but we've never had any requests for those
  370. # [05:39] <jacobolus> I guess what I mean is, a lot of those requests go away if you give people a 5-line code snippet that handles their request
  371. # [05:39] <jacobolus> then they can make whatever ellipse API they want
  372. # [05:39] <Hixie> *shrug*
  373. # [05:40] * Joins: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  374. # [05:40] <jacobolus> addHitRegion proposal seems excessively complex
  375. # [05:40] <Hixie> it solves like a zillion problems with a single function, all things considered i think it's one of the simplest possible solutions one could come up with
  376. # [05:41] <Hixie> but i'm certainly open to alternative proposals
  377. # [05:41] <Hixie> the wiki page has been up for months waiting for them
  378. # [05:41] <jacobolus> explaining element, id, label, ariaRole, parentID is going to be hard
  379. # [05:41] <jacobolus> what's the "context's default path"?
  380. # [05:42] <Hixie> see the spec, it's now known as the "current default path"
  381. # [05:43] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  382. # [05:43] <jacobolus> so if you start drawing a path, that changes the "default path"?
  383. # [05:44] <jacobolus> if you keep on adding to it, does that change the path for the region?
  384. # [05:44] <Hixie> the "current default path" is the only path that exists in the api as implemented today
  385. # [05:44] <Hixie> it's the one that is usud when you call stroke()
  386. # [05:44] <jacobolus> gotcha
  387. # [05:44] <jacobolus> so does the region create a copy of that when it's defined?
  388. # [05:44] <jacobolus> or does drawing continually change the region?
  389. # [05:45] <Hixie> copy, same as stroke()
  390. # [05:45] <othermaciej_> Hixie: is there a way to copy a Path?
  391. # [05:45] <jacobolus> stroke doesn't make a copy of the path. it blits pixels to the screen
  392. # [05:45] <jacobolus> after you call stroke, the stroke is no longer a vector object
  393. # [05:45] <Hixie> othermaciej_: create a new one and addFill the old one to the new one
  394. # [05:46] <Hixie> othermaciej_: (i was thinking of providing a copy constructor if it's a common operation)
  395. # [05:46] <othermaciej_> well, since Path is mutable, it seems like copying one would be a very common operation
  396. # [05:46] <Hixie> othermaciej_: makes sense
  397. # [05:46] <othermaciej_> for example, if you pass a Path to a function that may or may not mutate it, and you need the original, then you have to pass a copy
  398. # [05:47] <Hixie> jacobolus: same as with hitRegion(), in some implementations. (There's several ways of implementing it, but one is to have a "shadow" canvas with each pixel representing the last hitRegion call on it. This is a technique sometimes used in 3D environments for hit testing.)
  399. # [05:47] <Hixie> othermaciej_: makes sense
  400. # [05:48] <Hixie> othermaciej_: i added new Path(path) copy constructor to the list of things to add in the misc section on the wiki
  401. # [05:48] <othermaciej_> Hixie: I think renaming addFill to addPath and addStroke to addPathByStrokingPath would improve clarity btw, without changing semantics
  402. # [05:48] <othermaciej_> the second name is more verbose, but it is also a much less common operation
  403. # [05:48] <Hixie> othermaciej_: what about the equivalent *Text methods on Path?
  404. # [05:49] <Hixie> othermaciej_: addText and addTextByStrokingPath ?
  405. # [05:49] * Quits: ezoe (~ezoe@61-205-124-26f1.kyt1.eonet.ne.jp) (Quit: And Now for Something Completely Different.)
  406. # [05:50] <jacobolus> Hixie: I think transforming the path by the current transformation matrix whenever you call addPath/addStroke leads to some potentially extremely confusing situations
  407. # [05:50] <othermaciej_> adding the outline of the glyph outlines of text is such an unusual operation that it seems odd to me to even have it, but I think it would logically be addPathByStrokingText
  408. # [05:50] <jacobolus> Hixie: given that currently, the shapes of paths end up existing relative to teh whole canvas
  409. # [05:50] <jacobolus> not relative to the transformation
  410. # [05:50] <jamesr> are Paths independent of their canvas or not?
  411. # [05:51] <Hixie> jamesr: yes
  412. # [05:51] <jacobolus> so addStroke finds the path you'd get by tracing around the edges of the stroke, not just the original path itself?
  413. # [05:52] <jacobolus> I agree w/ othermaciej_ re: names
  414. # [05:52] <Hixie> othermaciej_: addPath, addPathByStrokingPath, addText, and addPathByStrokingText? i guess that works
  415. # [05:52] <Hixie> jacobolus: not sure what you mean re the transformation stuff
  416. # [05:52] <jacobolus> in the current canvas, changing the current transformation does nothing to the current path
  417. # [05:52] <Hixie> if y'all like addPath, addPathByStrokingPath, addText, and addPathByStrokingText i'll use those names
  418. # [05:53] <othermaciej_> yes, addStroke as currently specified strokes the path, then creates a path such that filling it would be equivalent to stroking the original (i.e. outline of the strokes)
  419. # [05:53] <jacobolus> the transformation and teh path are orthogonal concepts
  420. # [05:53] <Hixie> jacobolus: the transformation is used when creating teh path
  421. # [05:53] <Hixie> jacobolus: same as the transformation on a Path is used when creating the shapes of the Path
  422. # [05:53] <othermaciej_> btw to do that you need all the details of the line style
  423. # [05:53] <jacobolus> correct. but if you change the transformation before you stroke/fil the path, the path doesn't change
  424. # [05:53] <Hixie> othermaciej_: yeah, that's what i'm working on tomorrow (and earlier today)
  425. # [05:54] <Hixie> jacobolus: right, which makes it impossible to stamp out a bunch of them without redrawing the path.
  426. # [05:54] <Hixie> jacobolus: which is what we're trying to fix by introducing Path objects
  427. # [05:54] <jamesr> Hixie: if you have a Path, you can fill() or stroke() it into any other Path (or context)?
  428. # [05:54] <jacobolus> Hixie: but that's not actually a problem in practice
  429. # [05:54] <othermaciej_> it actually doesn't make sense for Path to have a line style
  430. # [05:54] <othermaciej_> you should pass it in
  431. # [05:54] <jacobolus> Hixie: you just define a function that draws the path
  432. # [05:55] <othermaciej_> because stroking a path will use the context's line style, not the path's (or at least it should)
  433. # [05:55] <jacobolus> Hixie: and then you apply some transformation, call your function, stroke, apply a different transformation, call the function again, stroke
  434. # [05:55] <othermaciej_> so it's misleading for the path to even have a line style, which is used only for the obscure case of adding a path outline to it
  435. # [05:55] <Hixie> othermaciej_: just like stroking a path onto another path will use the target path's line style, sure
  436. # [05:55] <jacobolus> Hixie: this is precisely the idea behind the canvas API, whose abstractions come straight down from PostScript if not earlier
  437. # [05:55] <Hixie> jamesr: yes
  438. # [05:55] <othermaciej_> people will think that if you set lineWidth on a Path, then stroking it will use that line width
  439. # [05:55] <othermaciej_> but it won't
  440. # [05:55] <othermaciej_> it's a misleading API
  441. # [05:56] <jacobolus> I think adding a line style to a path, instead of having the one on the context, really changes the whole flavor of the canvas API
  442. # [05:56] <Hixie> othermaciej_: happy to entertain alternatives, but this seemed the most consistent with what we have now
  443. # [05:56] <othermaciej_> I think taking the assumption that the Path object should work more or less like the 2DContext itself is not the best design center
  444. # [05:56] <jacobolus> basically, I feel like these changes are being made from an entirely different API aesthetic than the current API, which means that the combination of the two feels very clashy
  445. # [05:57] <othermaciej_> that's not how you usually use paths in most graphics APIs that have an object for them
  446. # [05:57] <jacobolus> there's nothing wrong with the new style, but it's confusing to someone who knows the existing canvas API
  447. # [05:57] <othermaciej_> the 2DContext is the thing that is weird, by copying the odd CG feature of having a context-implicit current path
  448. # [05:57] <jacobolus> and confusing for anyone trying to learn both
  449. # [05:57] <jamesr> well the 'current API aesthetic' is a partial subset of CoreGraphics from ~5 years ago
  450. # [05:58] <othermaciej_> but that ends up mixing path operations with context operations
  451. # [05:58] <jamesr> CoreGraphics had the pseudo-OpenGL style state on the context
  452. # [05:58] <jacobolus> jamesr: sure. and comes down from PostScript 25 or whatever years ago
  453. # [05:58] <Hixie> jacobolus: the entire point of the additions is to make it pretty much exactly like the existing api, so i don't really see how you figure that :-)
  454. # [05:58] <othermaciej_> adding context operations to the Path object exacerbates that mistake
  455. # [05:58] <jacobolus> jamesr: the current API is really nice to use if you use a functional programming style
  456. # [05:58] <jacobolus> or especially if you use a stack-based language like postscript
  457. # [05:59] <Hixie> othermaciej_: so if we change addFill() to addPath(), that becomes confusingly similar to addPathData(svgPathData), what should we call the latter?
  458. # [05:59] <othermaciej_> svgPathData is the SVG string path syntax?
  459. # [05:59] <jacobolus> Hixie: addPathFromString or similar
  460. # [06:00] <Hixie> othermaciej_: yes
  461. # [06:00] <Hixie> othermaciej_: (though of course that it's svg is an inside baseball factoid)
  462. # [06:00] <Hixie> jacobolus: needs to be something short or it rather defeats the point...
  463. # [06:00] <othermaciej_> I would have just made that an optional constructor argument
  464. # [06:01] <othermaciej_> I think addPathString or addPathSpec or something would be ok
  465. # [06:01] <jacobolus> Hixie: I wouldn’t make it a function on the Path object, but instead make it a function drawing on the context’s path
  466. # [06:01] * Quits: cpearce (~cpearce@60.234.54.74) (Ping timeout: 255 seconds)
  467. # [06:02] <Hixie> jacobolus: that rather defeats the point of making it possible to use svg strings to build up path objects...
  468. # [06:02] <Hixie> othermaciej_: it's intended that you can chain these to make a single path from different strings
  469. # [06:02] * Joins: ezoe (~ezoe@203-140-91-113f1.kyt1.eonet.ne.jp)
  470. # [06:02] <othermaciej_> I think the constructor approach is best, because the most common use for an SVG path string is to take one string and make one path
  471. # [06:03] <Hixie> othermaciej_: addPathString() seems confusing next to addPath()
  472. # [06:03] <othermaciej_> I think combining multiple path specs into a single Path is unlikely
  473. # [06:03] <jacobolus> Hixie: so okay, when you create a Path object from the current default path, I take it whatever the current transformation is gets inverted?
  474. # [06:03] <othermaciej_> sure it should be possible, but you hardly need to optimize for it
  475. # [06:03] <jacobolus> before the Path’s shape is extracted?
  476. # [06:03] <othermaciej_> var triangle = new Path("M 100 100 L 300 100 L 200 300 z");
  477. # [06:03] <Hixie> jacobolus: what do you mean "inverted?
  478. # [06:03] <Hixie> er
  479. # [06:03] <othermaciej_> that seems more clear to me than
  480. # [06:04] <Hixie> jacobolus: what do you mean "create a Path object from the current default path"?
  481. # [06:04] <othermaciej_> var triangle = new Path(); path.addPathData("M 100 100 L 300 100 L 200 300 z");
  482. # [06:04] <othermaciej_> dang, I got that wrong, but you get the idea
  483. # [06:04] <Hixie> othermaciej_: i guess you can always jsut concatenate the strings together
  484. # [06:05] <othermaciej_> Hixie: indeed
  485. # [06:05] <Hixie> alright, i'll move that to a constructor
  486. # [06:05] <jacobolus> Hixie: oh wait, can you turn the "current default path" into a Path object?
  487. # [06:06] <Hixie> no
  488. # [06:06] <jacobolus> I see, so this is a one-way deal
  489. # [06:06] <jacobolus> gotcha!
  490. # [06:06] <jacobolus> so basically, none of the current canvas APIs for drawing shapes can be used to create Paths
  491. # [06:07] <Hixie> well it's the exact same api (same interface), so, sure...
  492. # [06:07] <jacobolus> it is?
  493. # [06:07] <Hixie> are you reading the spec? or?
  494. # [06:08] <jacobolus> yes
  495. # [06:08] <othermaciej_> Path has a similar interface to Canvas2DContext
  496. # [06:08] <Hixie> has literally has the same interface
  497. # [06:08] <othermaciej_> it inherits from common interfaces for many of the methods
  498. # [06:08] <Hixie> they both implement CanvasPathMethods or something
  499. # [06:08] <jacobolus> oh, I see, http://www.whatwg.org/specs/web-apps/current-work/#canvaspathmethods
  500. # [06:08] <othermaciej_> although I posit that this is actually kind of weird in some cases
  501. # [06:08] <jacobolus> that's really confusing
  502. # [06:10] <othermaciej_> well, var path = new Path(); path.moveTo(0, 0); path.lineTo(20, 20); path.lineTo(20, 0); path.closePath(); seems logical enough to me
  503. # [06:10] <jacobolus> Hixie: but it has no equivalent of context.save() or context.restore() for transformations?
  504. # [06:11] <othermaciej_> it's the transformation, line style, and text style methods on Path that strike me as weird
  505. # [06:13] <Hixie> jacobolus: it has a method so you an reset the transform to whatever you want
  506. # [06:13] <jacobolus> Hixie: yes, but there's no stack of them. which makes it dramatically less powerful than the context version
  507. # [06:13] <jacobolus> unless you keep track of the transform manually
  508. # [06:13] <Hixie> well yeah, it's not like you're going to be doing much with them
  509. # [06:14] <jamesr> i think it'd make more sense if they weren't there and the only time a xform applied was when you were plopping them into a context's default path
  510. # [06:14] <jamesr> or if we had a separate notion of a transform stack, perhaps
  511. # [06:14] <othermaciej_> that is certainly what seems natural to me
  512. # [06:14] <Hixie> jamesr: how would you create a path that had another path stamped in four locations?
  513. # [06:14] <othermaciej_> that plus an ability to one-shot apply a transform (either to a whole path, or it would return a new transformed path)
  514. # [06:14] <jacobolus> the only things here that are really adding new capability beyond what's currently possible are dashed lines and extracting the current path as a saved "region"
  515. # [06:15] <jacobolus> the Path objects add a lot of complexity, and maybe provide something that's more intuitive, but don't really add power beyond what's there now
  516. # [06:15] <Hixie> othermaciej_: i guess we could have a method that takes an SVGMatrix and transforms the path to it
  517. # [06:15] <othermaciej_> you can store a path and draw it repeatedly
  518. # [06:15] <othermaciej_> that's the main power that is added
  519. # [06:15] <jamesr> Hixie: subPath = new Path(); parent = new Path(); parent.fillPath(subPath, transformA); parent.fillPath(subPath, transformB); parent.fillPath(subPath, transformC); parent.fillPath(subPath, transformD);
  520. # [06:15] <Hixie> othermaciej_: not sure what we'd do for the line styles though
  521. # [06:15] <othermaciej_> this is pretty useful
  522. # [06:16] <jacobolus> you can currently define a function that draws a path, and then call it repeatedly
  523. # [06:16] <jamesr> or more likely manipulate a single transform between each fill..()
  524. # [06:16] <jacobolus> which is just as useful
  525. # [06:16] <Hixie> jamesr: yeah, that makes sense
  526. # [06:16] <jacobolus> and just about as fast, since the slow part is typically the fill/stroke, rather than creating the lines themselves
  527. # [06:16] <othermaciej_> Hixie: CG passes the line style parameters individually, but one could imagine having a LineStyle object which is passed only when doing the "stroke the stroke outline" thing
  528. # [06:16] <Hixie> i guess
  529. # [06:16] <Hixie> ok
  530. # [06:17] <Hixie> i shall investigate this further tomorrow
  531. # [06:17] <jamesr> Hixie: sent you some dated canvas 2d feedback via gchat
  532. # [06:17] <jamesr> will try to get the author of that to send to WHATWG
  533. # [06:17] <Hixie> jamesr: k
  534. # [06:17] <jacobolus> dashed lines are a really nice addition though!
  535. # [06:17] <jacobolus> doing those manually is a huge pain
  536. # [06:17] <othermaciej_> interestingly, the CG AddPath operation lets you pass a transform
  537. # [06:17] <othermaciej_> along the lines of what jamesr suggests
  538. # [06:18] <jacobolus> and regions are nice too, though the API seems complex
  539. # [06:19] <jamesr> it might also be nice to be able to map the points on a Path through some transform in-place
  540. # [06:19] <jamesr> although i guess that's just a matter of making a new path and fillPath()ing it
  541. # [06:20] <jamesr> oh, that'd just be path.addFill(path, transform)
  542. # [06:20] <jacobolus> I guess one nice thing about not making much that's strictly impossible now is that it'll be possible to create a polyfill to do everything but tracing strokes and dashed strokes, and it'll work in all the current canvas implementations
  543. # [06:20] <jamesr> wait nope, misread the algo. anyway, that's probably less
  544. # [06:21] <othermaciej_> NSBezierPath has a transformUsingAffineTransform: method
  545. # [06:21] <othermaciej_> but no CTM
  546. # [06:22] <jacobolus> Hixie: while we’re adding stuff, can we add a 4-by-4 transformation matrix, compatible with 3d css animations?
  547. # [06:22] <Hixie> i'm just gonna use SVGMatrix, so, speak to them
  548. # [06:22] <jacobolus> that one would be actually really neat
  549. # [06:22] <jamesr> SVGMatrix is 2x3
  550. # [06:22] <jacobolus> 2 by 3 is really annoying, because it’s impossible to do any perspective
  551. # [06:23] * Joins: Neocortex (~niels@82-170-160-25.ip.telfort.nl)
  552. # [06:23] <jacobolus> even 3 by 3 is way more useful
  553. # [06:23] <jamesr> that might be old
  554. # [06:23] <othermaciej_> perspective transforms with a 2D API do not make sense to me
  555. # [06:23] <jamesr> i don't think perspective is a good idea for canvas 2d
  556. # [06:23] <jamesr> jinx
  557. # [06:23] <jacobolus> why?
  558. # [06:23] <jamesr> but we need some 4x4 for CSSOM for 3d transforms
  559. # [06:23] <jacobolus> for someone who doesn't want it, it's invisible
  560. # [06:24] <jacobolus> for someone who does, there's lots of cool fake-3d stuff that can be done w/ perspective transforms
  561. # [06:24] <jacobolus> or things like stitching photos together in panoramas
  562. # [06:24] <othermaciej_> when you stroke a path with a perspective transform in effect, does the line thickness change along the path?
  563. # [06:24] <jacobolus> ah, that's fair I guess
  564. # [06:25] <jacobolus> would have to be relative to some origin point, which I suppose would be fairly arbitrary
  565. # [06:25] <othermaciej_> if you follow that question to its logical conclusion, you will likely find that either answer will result in some part of the API not making sense
  566. # [06:26] <jamesr> mr doob has some nifty demos using existing APIs, but it's all done in JS-land. i think in general people doing 3d stuff should either stick to 3d APIs or do all the math themselves
  567. # [06:26] <jamesr> it's hard to go halfway in an API and have it still make sense, and i don't think anyone wants to go all the way for canvas 2d
  568. # [06:27] <jacobolus> othermaciej_, jamesr: at the same time, you can't actually get a stroke that changes width along its edge w/ the current APIs, meaning that it's impossible to do many types of nifty demos w/ the current APIs unless you manually implement all the strokes as fills in JS-land
  569. # [06:28] <jacobolus> [along a straight edge that is]
  570. # [06:28] <othermaciej_> you would have to calculate the outline of the stroke and fill it
  571. # [06:28] <othermaciej_> to do fake 3D with 2D APIs
  572. # [06:28] <jacobolus> right. "manually implement all the strokes as fills"
  573. # [06:28] <othermaciej_> btw, supporting perspective transforms is not invisible to those who do not use it
  574. # [06:28] <othermaciej_> it imposes memory/perf cost
  575. # [06:29] <othermaciej_> because your representation of a transform has to be 4x4 instead of 2x3
  576. # [06:29] <jacobolus> really? I thought graphics hardware was designed for multiplying square matrices!
  577. # [06:29] <jacobolus> othermaciej_: no, 3 by 3
  578. # [06:29] <othermaciej_> an affine transform can be stored as a 2x3 matrix
  579. # [06:29] <othermaciej_> and often is
  580. # [06:29] <jacobolus> yes, and a perspective transform can be stored as a 3x3 matrix
  581. # [06:30] <jacobolus> I'm pretty sure whatever low-level API is being used is multiplying 3x3 matrices anyway
  582. # [06:30] <jamesr> i doubt that
  583. # [06:30] <othermaciej_> you can ignore the [0, 0, 1] row
  584. # [06:30] <othermaciej_> I do not believe 3x3 is sufficient even for 3D affine transforms, let alone perspective
  585. # [06:30] <jacobolus> othermaciej_: if you replace the 0's w/ something else, then you get a perspective transform
  586. # [06:30] <jamesr> jacobolus: i'd want to see some evidence of that (and i work on these low-level APIs and the interfaces to them)
  587. # [06:30] <jacobolus> this is called "homogeneous coordinates"
  588. # [06:31] <jacobolus> jamesr: well I don't really know. I should go look at the implementations sometime
  589. # [06:31] * Quits: jcarbaugh (~jcarbaugh@12.43.172.10)
  590. # [06:31] <jacobolus> jamesr: but the whole point of using a matrix is so that you can just use matrix multiplications
  591. # [06:31] <jamesr> and a matrix multiplication is a bunch of component multiplications. if you don't have some of those components, you can ignore 'em
  592. # [06:32] <jacobolus> yeah, but they aren't ignored at the openGL layer I don't think
  593. # [06:33] <jamesr> if i was working on an OpenGL canvas 2d backend, i'd pass a 2x3 matrix in as a uniform or buffer of 6 floats
  594. # [06:33] <jamesr> and if i had to pass them in as 9 floats i'd be sad about the extra transfer space and multiplications in whichever shader it ran in
  595. # [06:34] <jacobolus> I thought modern graphics hardware could do some ungodly number of matrix multiplications per second
  596. # [06:34] <jamesr> true, but it's still not infinity
  597. # [06:34] <jamesr> and you have to store those numbers and transfer them
  598. # [06:34] <jacobolus> far outstripping the actual speed of drawing stuff to the screen
  599. # [06:34] <othermaciej_> lemme put it this way; in WebKit, a 2D affine transform is 6 doubles, and a 3d perspective transform is 16 doubles
  600. # [06:34] <jamesr> depends on the scene
  601. # [06:34] <jacobolus> the number of transformation matrices you use in a canvas is tiny
  602. # [06:34] <jamesr> depends on the scene
  603. # [06:35] <jamesr> you can definitely be vertex-shader bound
  604. # [06:35] <jacobolus> othermaciej_: sure, but it could be 9 doubles if you wanted
  605. # [06:35] <othermaciej_> while it is remotely possible that all the graphics experts who work on WebKit overlooked a huge way to save storage, that seems unlikely to me
  606. # [06:35] <jamesr> or memory bandwidth bound if you have a lot of geometry and lots of matrices
  607. # [06:35] <jamesr> 3x3 is a big cost compared to the payoff
  608. # [06:35] <othermaciej_> but if it is true, I should file a bug
  609. # [06:36] <jacobolus> othermaciej_: with strictly equivalent power in terms of 2d, but somewhat less obvious math to do to move things around in 3d space, and no ability to do 3-d perspective transforms (which I haven’t ever actually seen used but would be cool)
  610. # [06:37] <jacobolus> othermaciej_: it's definitely not worth it to use 3x3 matrix if you're actually dealing w/ 3d space, if only because figuring out what the numbers mean in terms of the 3d space is much less clear, and because there aren't obvious answers w/r/t questions like what is in front of what
  611. # [06:38] <jacobolus> if you use a 3x4 matrix, you can specify affine transform in 3d + translation
  612. # [06:38] <jacobolus> and you just pass 4x4 matrix, because you might as well at that point, but that last row is typically not used
  613. # [06:39] <jacobolus> [but you could use the last row to do some really weird fun stuff!]
  614. # [06:39] <jamesr> for 3d css we have to handle real perspective
  615. # [06:39] <jamesr> so 4x4 is pretty much required
  616. # [06:40] <jacobolus> jamesr: you can do precisely the same perspective transformations with a 3x3 matrix. it's just harder to relate to some concrete 3-d scene
  617. # [06:40] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
  618. # [06:41] <jacobolus> and so if you want to rotate by some amount in your existing 3d scene, say, figuring out the right matrix to use is more expensive arithmetic than if you use the 4x4 matrix
  619. # [06:41] <jacobolus> where it's completely obvious
  620. # [06:42] <jacobolus> anyhow, it would be kind of neat to get faux-3-d in canvas, but it's not strictly necessary
  621. # [06:43] <jacobolus> it would also be really nice to have some fast functions for doing various matrix math implemented in all the browsers
  622. # [06:44] <jacobolus> [anyhow, sorry to have somewhat derailed the conversation. wasn't trying to do that :)]
  623. # [06:48] <jamesr> i think having efficient implementations of common matrix ops falls under the various matrix API proposals floating 'around
  624. # [06:48] <jacobolus> othermaciej_, jamesr: here's an example of using a functional-code-style approach to the canvas http://jsfiddle.net/x9rUN/2/
  625. # [06:49] <jacobolus> [albeit a fairly trivial one]
  626. # [06:51] * Joins: jcarbaugh (~jcarbaugh@12.43.172.10)
  627. # [07:10] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
  628. # [07:26] * Joins: LBP (~Mirc@pD9EB190D.dip0.t-ipconnect.de)
  629. # [07:36] * Quits: jochen__ (jochen@nat/google/x-yoafxfzfmsnctmvi) (Remote host closed the connection)
  630. # [07:36] * Joins: jochen__ (jochen@nat/google/x-hhfaftwicdivcukm)
  631. # [07:37] <othermaciej_> jacobolus: neat, though not really what I think of as "functional"
  632. # [07:38] <othermaciej_> I would expect a functional approach to be stateless and side-effect free
  633. # [07:44] * Quits: schnoomac (~schnoomac@melbourne.99cluster.com) (Quit: schnoomac)
  634. # [07:46] * Joins: skylamer` (cgskylamer@78.90.213.55)
  635. # [07:46] <jacobolus> othermaciej_: well, "functional"
  636. # [07:46] <jacobolus> othermaciej_: really more like "how do you approximate the kind of abstraction you'd build in postscript in javascript"
  637. # [07:47] <jacobolus> not sure what a right name is for that
  638. # [07:52] * Joins: Ducki (~Ducki@pD9E39732.dip0.t-ipconnect.de)
  639. # [07:56] * Quits: benjoffe (~benjoffe@119-252-71-224.static.highway1.net.au) (Remote host closed the connection)
  640. # [07:57] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
  641. # [07:57] * Quits: jondong_ (~jondong@123.126.22.58) (Remote host closed the connection)
  642. # [08:00] * Joins: matjas (u2247@gateway/web/irccloud.com/x-cetvikmkybpelvnl)
  643. # [08:01] <jacobolus> the key point though is that by using higher-order functions, passing around functions as first-class objects, and saving state in the context stack rather than explicitly in our own objects, we can make some very nice clean abstractions
  644. # [08:02] <jacobolus> maybe "functional" doesn't quite work as a word for that, but hey
  645. # [08:02] * Joins: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se)
  646. # [08:02] * heycam is now known as heycam|away
  647. # [08:07] * Joins: jondong (~jondong@123.126.22.58)
  648. # [08:09] * Joins: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl)
  649. # [08:16] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Quit: Leaving)
  650. # [08:20] * heycam|away is now known as heycam
  651. # [08:21] * Joins: PalleZingmark (~Adium@217.13.228.226)
  652. # [08:22] * Joins: Areks (~Areks@rs.gridnine.com)
  653. # [08:31] * Quits: ivan\ (~ivan@unaffiliated/ivan/x-000001) (Ping timeout: 265 seconds)
  654. # [08:33] * zcorpan updated html5-diff
  655. # [08:39] * Joins: ivan\ (~ivan@unaffiliated/ivan/x-000001)
  656. # [08:52] * Quits: [[zz]] (~q@182.53.55.234) (Ping timeout: 272 seconds)
  657. # [08:57] * Joins: gwicke (~gabriel@160-15-142-46.pool.kielnet.net)
  658. # [09:01] * Joins: annevk (~annevk@193.214.121.245)
  659. # [09:02] * Joins: woef (~woef@91.183.84.141)
  660. # [09:06] <annevk> "which is the number I should phone" Dutch people on the lounge and speaking loudly :/
  661. # [09:06] <annevk> (they're trying to talk in English)
  662. # [09:07] <annevk> momentarily forgot I could listen to some music instead
  663. # [09:07] <annevk> problem solved
  664. # [09:13] * Joins: DaFireball (~dirkpenni@90-145-26-140.bbserv.nl)
  665. # [09:14] <hsivonen> MikeSmith: emitting such a message would make a lot of sense
  666. # [09:14] <MikeSmith> OK
  667. # [09:14] <hsivonen> (the build script pointing people to #whatwg that is)
  668. # [09:15] <MikeSmith> yeah
  669. # [09:15] * Quits: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl) (Ping timeout: 260 seconds)
  670. # [09:15] <MikeSmith> hsivonen: btw I wrote a patch for jing that adds HTML support
  671. # [09:16] <MikeSmith> I wonder if you think it's a good idea or not
  672. # [09:16] <MikeSmith> using the validator.nu parser of course
  673. # [09:17] <MikeSmith> enabled through a new -h switch for the cli, and through a settable property flag in the code
  674. # [09:19] <annevk> WHATWG Weekly: path objects, ellipse support, SVG paths
  675. # [09:19] <annevk> anything else?
  676. # [09:22] <hsivonen> MikeSmith: cool. did it get accepted to upstream?
  677. # [09:22] <MikeSmith> hsivonen: have not proposed it to James yet
  678. # [09:22] <MikeSmith> wanted to get your opinion first
  679. # [09:22] <MikeSmith> about whether you think's helpful and worth pursuing
  680. # [09:23] <MikeSmith> *think it's
  681. # [09:23] <MikeSmith> we obviously don't need it for the validator.nu branch
  682. # [09:23] <MikeSmith> so yeah the plan would be to get it landed upstream
  683. # [09:23] <annevk> seems I'm not going to post this before takeoff
  684. # [09:24] <MikeSmith> annevk: you work on it when you land? how many hours from now?
  685. # [09:25] <annevk> two hours more or less
  686. # [09:25] <MikeSmith> ok
  687. # [09:25] <annevk> should be home in less than four, ideally so it's not a big deal
  688. # [09:26] <hsivonen> MikeSmith: I think it could be useful for the command-line Jing tool
  689. # [09:26] <MikeSmith> annevk: in the mean time will try to catch up with mail and see if there's anything I can suggest adding
  690. # [09:26] <hsivonen> MikeSmith: I'm not a user of the command-line Jing tool, though, so I might be wrong
  691. # [09:26] <hsivonen> annevk: were you at SXSW?
  692. # [09:27] * Joins: [[zz]] (~q@101.108.111.99)
  693. # [09:27] <MikeSmith> hsivonen: could it be useful for other users of the API? e.g., the epubcheck tool uses the API, I think
  694. # [09:29] * Quits: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej_)
  695. # [09:30] <annevk> hsivonen: no in Oslo
  696. # [09:30] <annevk> added the encoding/decoding stuff btw
  697. # [09:31] * Quits: skylamer` (cgskylamer@78.90.213.55) (Read error: Connection reset by peer)
  698. # [09:32] * Quits: annevk (~annevk@193.214.121.245) (Quit: annevk)
  699. # [09:36] * Quits: ezoe (~ezoe@203-140-91-113f1.kyt1.eonet.ne.jp) (Ping timeout: 240 seconds)
  700. # [09:37] <hsivonen> MikeSmith: what's "the API"?
  701. # [09:37] * Quits: jwalden (~waldo@c-71-202-165-226.hsd1.ca.comcast.net) (Quit: ChatZilla 0.9.87-4.1450hg.fc15 [XULRunner 10.0.1/20120213092145])
  702. # [09:37] <MikeSmith> the Jing validation API
  703. # [09:37] <MikeSmith> mode/rngvalidate or whatever it is
  704. # [09:38] <MikeSmith> ValidationDriver
  705. # [09:39] <MikeSmith> class
  706. # [09:45] * Quits: chriseppstein (~chrisepps@99-6-85-4.lightspeed.sntcca.sbcglobal.net) (Quit: chriseppstein)
  707. # [09:46] * Quits: milky (~silky@pool-74-108-142-22.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
  708. # [09:48] <zcorpan> MikeSmith: i tried validating the whatwg stylesheet and filed a few bugs on the css validator
  709. # [09:48] <MikeSmith> zcorpan: excellent, thanks
  710. # [09:49] <zcorpan> MikeSmith: and whined about the spec language around unquoted font family names *again*
  711. # [09:49] <MikeSmith> heh
  712. # [09:50] <zcorpan> the css wg have taught web authors the mantra "if there's whitespace in the font family name, i must quote it", so they would quote "times new roman" but not quote "456bereast"
  713. # [09:50] <zcorpan> even though the former works unquoted and the latter doesn't
  714. # [09:54] <zcorpan> i guess this is a topic matjas could write about
  715. # [09:55] <matjas> I’m intrigued (also: mind = blown)
  716. # [10:00] <zcorpan> matjas: i think mothereffin css escapes applies to unquoted font family names, except unquoted font family names can have several identifiers that are turned into a string by joining them (after unescaping) with a space
  717. # [10:00] <zcorpan> matjas: since id and class also are identifiers
  718. # [10:02] <zcorpan> that and keywords aren't allowed as unquoted font family names
  719. # [10:02] * Joins: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no)
  720. # [10:04] <matjas> hah, thanks for doing all the research for me :)
  721. # [10:05] <zcorpan> that was off the top of my head, i might be lying :-P
  722. # [10:05] <jgraham> Experience suggests that the top of zcorpan's head is quite a reliable source of information
  723. # [10:06] <zcorpan> heh
  724. # [10:06] <matjas> data:text/html,<style>:root { font-family: \63 omic\ sans\ ms, sans-serif; }%E2%80%8B</style>lolwat
  725. # [10:06] <matjas> nice
  726. # [10:07] * Quits: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no) (Remote host closed the connection)
  727. # [10:07] <matjas> but… data:text/html,<style>:root { font-family: \63 omic\ sans\ ms, sans-serif; }%E2%80%8B</style>lolwat is rendered in sans-serif
  728. # [10:09] <zcorpan> pasted the wrong thing? or what's the difference?
  729. # [10:10] <zcorpan> also, you don't need to escape the spaces :-)
  730. # [10:10] * Quits: DaFireball (~dirkpenni@90-145-26-140.bbserv.nl) (Ping timeout: 252 seconds)
  731. # [10:13] * Joins: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl)
  732. # [10:14] * Joins: kenneth (kenneth@nat/nokia/x-dlclrmldpcdxlhii)
  733. # [10:14] * kenneth is now known as Guest49153
  734. # [10:15] * Guest49153 is now known as kenne
  735. # [10:15] <zcorpan> matjas: also see http://lists.w3.org/Archives/Public/www-style/2010Mar/0395.html
  736. # [10:15] <matjas> zcorpan: the difference is that the first one uses comic sans ms, but the second one doesn’t
  737. # [10:16] * heycam is now known as heycam|away
  738. # [10:16] <zcorpan> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1389
  739. # [10:17] * Joins: mishunov (~spliter@77.88.72.162)
  740. # [10:17] <zcorpan> they are the same string and they both use the same font for me :-)
  741. # [10:17] <matjas> zcorpan: your IRC client merges multiple spaces together
  742. # [10:18] <zcorpan> aha
  743. # [10:18] <matjas> http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1390
  744. # [10:19] * Joins: ezoe (~ezoe@203-140-88-69f1.kyt1.eonet.ne.jp)
  745. # [10:19] <zcorpan> ok so you have the identifiers "\63 omic\ " and "sans\ ms"
  746. # [10:19] <matjas> the escapes spaces + the \63 was just to test identifier escapes
  747. # [10:19] <zcorpan> which after unescaping become "comic " and "sans ms"
  748. # [10:19] <MikeSmith> M7 earthquake just now off the coast of Hokkaido
  749. # [10:19] <zcorpan> then join with a space, you get "comic sans ms" (with two spaces between comic and sans)
  750. # [10:19] <zcorpan> which doesn't match a font family name
  751. # [10:19] <MikeSmith> it is shaking things in Tokyo even
  752. # [10:20] <matjas> zcorpan: ok, so i shouldn’t have explicitly escaped that one space
  753. # [10:20] <matjas> got it
  754. # [10:20] <MikeSmith> I think a Tsunami is going to hit eastern Hokaido and nothern Honshu
  755. # [10:20] <MikeSmith> http://quake.twiple.jp/quake/view/20120314180905
  756. # [10:23] <MikeSmith> http://nmz.mogken.com/20120314180905
  757. # [10:26] <zcorpan> are there any nuclear power plants there?
  758. # [10:26] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
  759. # [10:27] <MikeSmith> probably
  760. # [10:27] <MikeSmith> but none running
  761. # [10:27] <MikeSmith> 52 of the 54 plants in Japan are shut down right now
  762. # [10:27] <MikeSmith> anyway, news is saying the tsunami will only be .5m
  763. # [10:27] <MikeSmith> http://weather.excite.co.jp/tsunami/t-2012-03-14+18%3A12%3A56/
  764. # [10:28] <zcorpan> what does that mean in terms of damage?
  765. # [10:29] <MikeSmith> probably not much I guess
  766. # [10:30] <MikeSmith> and it's not going to his the coast for until another 20 minutes from now
  767. # [10:30] <zcorpan> "is ok to let your children play at the beach until you see the tsunami coming, at which point you should walk up the beach about 50m" or "will wipe out houses that are 150m to the beach or closer" or something in between? :-)
  768. # [10:30] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Ping timeout: 260 seconds)
  769. # [10:30] <MikeSmith> dunno
  770. # [10:30] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
  771. # [10:35] * Quits: jacobolus (~jacobolus@199.188.193.145) (Remote host closed the connection)
  772. # [10:37] * Joins: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
  773. # [10:37] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
  774. # [10:37] * Joins: riven (~riven@pdpc/supporter/professional/riven)
  775. # [10:38] * Joins: mishunov (~spliter@77.88.72.162)
  776. # [10:39] * Joins: drublic (~drublic@frbg-4d028a56.pool.mediaWays.net)
  777. # [10:45] * Quits: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se) (Remote host closed the connection)
  778. # [10:45] * Joins: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se)
  779. # [10:45] * Joins: akamike (u5089@gateway/web/irccloud.com/x-jqzizsdbuzcdfrek)
  780. # [10:50] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Ping timeout: 246 seconds)
  781. # [10:53] * Joins: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl)
  782. # [10:53] * Quits: riven (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
  783. # [10:53] * Joins: riven (~riven@pdpc/supporter/professional/riven)
  784. # [10:55] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
  785. # [10:56] * Quits: Areks (~Areks@rs.gridnine.com) (Ping timeout: 272 seconds)
  786. # [10:56] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
  787. # [10:59] * Joins: kenneth_ (kenneth@nat/nokia/x-lfjdrkmimfnhvpto)
  788. # [11:00] * Quits: kenne (kenneth@nat/nokia/x-dlclrmldpcdxlhii) (Read error: Connection reset by peer)
  789. # [11:02] * Joins: kenneth__ (kenneth@nat/nokia/x-zgurxgikpatwuwvj)
  790. # [11:03] * Quits: kenneth_ (kenneth@nat/nokia/x-lfjdrkmimfnhvpto) (Read error: Connection reset by peer)
  791. # [11:04] * Quits: ehsan (~ehsan@209.29.21.241) (Remote host closed the connection)
  792. # [11:05] * Quits: Workshiva (~Dashiva@74.125.57.33) (Ping timeout: 252 seconds)
  793. # [11:06] * Quits: Zauberfisch (~Zauberfis@venus.zauberfisch.at) (Quit: Leaving)
  794. # [11:11] * Joins: Areks (~Areks@rs.gridnine.com)
  795. # [11:12] * Quits: riven (~riven@pdpc/supporter/professional/riven) (Read error: Connection reset by peer)
  796. # [11:12] * Joins: riven (~riven@pdpc/supporter/professional/riven)
  797. # [11:13] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 252 seconds)
  798. # [11:14] <hsivonen> must. not. read. Slashdot or Ars comment threads about Mozilla & H.264. Too much 386.
  799. # [11:15] <hsivonen> speaking people being wrong on the Internet: http://ask.slashdot.org/story/12/03/04/047248/ask-slashdot-life-after-firefox-36x?sdsrc=popbytid
  800. # [11:15] * zcorpan learns that width:0 and width:0% on table cells is ignored
  801. # [11:15] <hsivonen> "3.6.x has been known for generally being more stable and using less RAM than the modern Firefox 10 and even Chrome."
  802. # [11:16] * Joins: nonge_ (~nonge@p50829260.dip.t-dialin.net)
  803. # [11:17] <zcorpan> "Netscape 4 has been known for generally being more stable and using less RAM than the modern Internet Explorer 5.5 and even Opera."
  804. # [11:20] <jgraham> People who want to talk about browser memeory consumption on the internet should be forced to either a) work for a browser vendor or b) read all of Nicolas Nethercote's blog before they get to say anything
  805. # [11:20] * Quits: nonge (~nonge@p5082B0A9.dip.t-dialin.net) (Ping timeout: 246 seconds)
  806. # [11:20] <jgraham> The % of misinformation on that topic is unusually high even for the internet
  807. # [11:24] <jgraham> (if there is anyone else providing such a useful public resource on why browsers use memory I would also happily suggest that)
  808. # [11:25] <Ms2ger> jgraham, you could do something for Opera? :)
  809. # [11:25] <jgraham> I'm not sureI would be the right person to write that, sadly
  810. # [11:29] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Read error: Operation timed out)
  811. # [11:30] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
  812. # [11:33] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
  813. # [11:33] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
  814. # [11:40] <Ms2ger> Hixie, with those diagrams, I might finally understand what arc() does :)
  815. # [11:41] * Joins: Workshiva (~Dashiva@74.125.57.33)
  816. # [11:44] * Joins: Lachy (Lachy@nat/opera/x-yvbeffzjsuevghbs)
  817. # [11:44] <zcorpan> Ms2ger: now pretend you're on the phone and need to explain the diagrams to someone else, or the bunny gets it. what'd ya say?
  818. # [11:46] <jgraham> Bye bye bunny?
  819. # [11:48] <zcorpan> (bonus point for knowing the bunny reference)
  820. # [11:54] * Quits: Workshiva (~Dashiva@74.125.57.33) (Remote host closed the connection)
  821. # [12:01] <MikeSmith> matjas: about "criteria that cannot be expressed by a DTD, but can still be checked by a machine” see my comments in the logs
  822. # [12:01] <MikeSmith> and https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/ScriptDocumentation.java and https://bitbucket.org/validator/syntax/src/tip/relaxng/datatype/java/src/org/whattf/datatype/FunctionBody.java
  823. # [12:01] <MikeSmith> those check the text content of script elements
  824. # [12:02] * Joins: niloy (~niloy@203.196.177.156)
  825. # [12:02] <matjas> MikeSmith: http://krijnhoetmer.nl/irc-logs/whatwg/20120314#l-218, I missed those before, thanks!
  826. # [12:03] <MikeSmith> cheers
  827. # [12:03] * Joins: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au)
  828. # [12:08] * Quits: jcarbaugh (~jcarbaugh@12.43.172.10)
  829. # [12:10] * Joins: Zauberfisch (Zauberfisc@venus.zauberfisch.at)
  830. # [12:10] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 260 seconds)
  831. # [12:12] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
  832. # [12:12] * Joins: Workshiva (~Dashiva@74.125.57.33)
  833. # [12:17] * Quits: Evanescence (~Evanescen@60.183.205.152) (Quit: my website: http://stardiviner.dyndns-blog.com/)
  834. # [12:17] <Philip`> jacobolus: "I thought graphics hardware was designed for multiplying square matrices!" - as I understand it, modern GPUs expand shader code into single-float instructions (e.g. "color.rgb *= 2.0" is 3 instructions, and matrix multiplications are lots)
  835. # [12:18] <Philip`> so they're not designed for doing anything with matrices or even with vectors
  836. # [12:18] <jacobolus> Philip`: what about when you say "here's a transformation matrix and here are points a, b, c, d in space", etc.?
  837. # [12:19] <Philip`> (though they run the same shader code over ~16 streams of data in parallel, and run ~32 of those in parallel, so you get huge bandwidth even if each individual shader is many more instructions)
  838. # [12:21] <Philip`> jacobolus: That's just part of the application-facing API (or in the case of OpenGL ES it's not even there, it's entirely in the application), and gets turned into vertex shader code that multiplies the per-vertex data with the uniform transform data
  839. # [12:21] <Philip`> *ES 2.0
  840. # [12:21] <jacobolus> ah. I guess I should really learn openGL seriously sometime
  841. # [12:24] * Joins: Evanescence (~Evanescen@60.183.205.152)
  842. # [12:24] <Philip`> (Old GL has e.g. VertexPointer to give it vertex positions, which originated with the fixed-function pipeline (when I guess GPUs did have dedicated hardware for vertex transforms), but GLES2 (and the non-compatibility profile of GL3.2) removes that and just has a generic semanticless vertex attribute system)
  843. # [12:24] * Joins: Scorchin (u1242@gateway/web/irccloud.com/x-zacscbctwabkfnjb)
  844. # [12:25] <Philip`> ((and modern implementations of old GL will translate everything into the new shaderier system))
  845. # [12:25] <MikeSmith> hmm shouldn't the polyglot spec disallow CDATA sections?
  846. # [12:26] <jacobolus> Philip`: can you recommend any resources for learning whatever OpenGL thing will be compatible with WebGL?
  847. # [12:26] <Ms2ger> MikeSmith, but that's the nicest part of polyglot!
  848. # [12:26] <Philip`> jacobolus: I can't :-(
  849. # [12:26] <jacobolus> Philip`: and also, to what extent can I use WebGL just to do computation, without necessarily displaying anything on screen?
  850. # [12:26] <jacobolus> ah, darn
  851. # [12:27] * Quits: Evanescence (~Evanescen@60.183.205.152) (Client Quit)
  852. # [12:27] <Philip`> (other than the obvious things like the OpenGL ES 2.0 spec and delta spec)
  853. # [12:27] <jacobolus> how much of that transfers to webgl?
  854. # [12:27] <jacobolus> I haven't taken much serious look at webgl
  855. # [12:27] <Philip`> I've never really learned OpenGL from anywhere specific - I've just aggregated whatever rubbish I happen to encounter on the web and assume it to be true
  856. # [12:28] <Philip`> so I don't know what's a good place to look
  857. # [12:29] <Philip`> (though I did recently see http://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index/ which seems like a nice overview of the lower-level implementation details if you already understand the basic concepts)
  858. # [12:29] <jacobolus> do you know if it's possible to use WebGL just for fast computation on the GPU, and not for showing anything?
  859. # [12:29] <Philip`> I've never really used WebGL, so I could be mistaken, but I believe it's very close to GLES2
  860. # [12:30] <Philip`> You can use it to render onto an off-screen buffer, and then use that as input for further GPU processing or (very slowly) copy it back to the CPU
  861. # [12:31] <Philip`> but I think GLES2 (and WebGL) is pretty limited in buffer formats etc, so it's likely to be awkward to fit non-graphical problems into it
  862. # [12:32] <Philip`> (http://www.khronos.org/webcl/ is more designed for GPU computing)
  863. # [12:32] * Quits: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au) (Quit: schnoomac)
  864. # [12:33] * Joins: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au)
  865. # [12:33] <zcorpan> MikeSmith: why?
  866. # [12:34] <Philip`> (http://webcl.nokiaresearch.com/tutorials/tutorial4.html has an example)
  867. # [12:34] <MikeSmith> zcorpan: because the HTML spec says it's not allowed
  868. # [12:35] <zcorpan> MikeSmith: it's allowed in foreign lands
  869. # [12:35] <MikeSmith> yeah I know that
  870. # [12:35] <MikeSmith> but the polyglot spec should explicitly say that it's not allowed anywhere else
  871. # [12:36] <zcorpan> oh you mean like in <script>?
  872. # [12:36] <jacobolus> Philip`: well, I want to deal w/ graphical problems
  873. # [12:37] <jacobolus> e.g. how much of this can be applied to webgl I wonder http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter24.html
  874. # [12:38] <zcorpan> MikeSmith: yeah it should, although <script> and <style> might be special exceptions
  875. # [12:39] <zcorpan> although it currently says to always use external scripts and styles, so that might not be needed then
  876. # [12:40] <Philip`> jacobolus: GLES2 (and WebGL) doesn't support 3D textures (nor 1D textures)
  877. # [12:40] <jacobolus> ah
  878. # [12:40] <jacobolus> Philip`: can it be coaxed into doing the same kind of math?
  879. # [12:40] <jacobolus> or does that require going ⇔ the CPU
  880. # [12:41] <zcorpan> hmm, it's confused. "Polyglot markup includes script and style commands by linking to external files rather than including them in-line." and then "Polyglot markup uses external scripts if that document's script or style sheet uses < or & or ]]> or --."
  881. # [12:41] * Joins: Evanescence (~Evanescen@60.183.205.152)
  882. # [12:42] <MikeSmith> hmm
  883. # [12:42] <zcorpan> (and the next paragraph is copied from the old xhtml 1.0 appendix c which totally misses the point)
  884. # [12:42] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Ping timeout: 255 seconds)
  885. # [12:44] <Philip`> jacobolus: I guess you might have to do it by e.g. encoding the NxNxN 3D texture as a (N*N)xN 2D texture, and writing a shader to manually sample the relevant points in the texture and to do the trilinear filtering
  886. # [12:44] <jacobolus> ah, hm
  887. # [12:44] <jacobolus> I'll have to actually read the spec sometime
  888. # [12:45] <jacobolus> anyway, thanks for the advice, generally
  889. # [12:45] <Philip`> (which I expect would be significantly slower than using the dedicated texture sampling hardware)
  890. # [12:45] <Philip`> (and maybe it'd be cheaper just to do the maths in the shader, instead of using a lookup texture)
  891. # [12:46] <jacobolus> not for teh kind of math I want to do :)
  892. # [12:48] <jacobolus> huh. do any implementations of apis like canvas, svg, etc. use OpenVG?
  893. # [12:48] <jacobolus> looks kind of interesting
  894. # [12:51] <Philip`> I know even less about that than about anything else I've been pretending to know about, but I've never heard of anybody actually using it, so I assume it's just part of the weird mobile world
  895. # [12:51] * Joins: Dashiva (Dashiva@wikia/Dashiva)
  896. # [12:51] * Quits: gwicke (~gabriel@160-15-142-46.pool.kielnet.net) (Quit: Bye!)
  897. # [12:58] * Joins: danbri (~danbri@12.157.84.6)
  898. # [13:00] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
  899. # [13:05] <zcorpan> matjas: in addition to stuff that v.nu checks with java code, there's stuff that v.nu checks with relax ng that cannot be expressed in a DTD, like making checked="" invalid on <input> when type="text"
  900. # [13:05] <annevk> MikeSmith: found anything?
  901. # [13:05] <MikeSmith> no
  902. # [13:06] <MikeSmith> matjas: yeah there is lots of stuff like what zcorpan mentions
  903. # [13:06] <matjas> zcorpan: thanks, got it. a DTD roughly lists the allowed elements/attributes and where in the document they are allowed, but that’s it
  904. # [13:07] <MikeSmith> DTDs have some simple dataypes too
  905. # [13:07] <MikeSmith> for constraining the values of attributes
  906. # [13:07] <zcorpan> short version is that DTDs suck and you shouldn't care about them
  907. # [13:07] <MikeSmith> yup
  908. # [13:07] <matjas> :)
  909. # [13:07] <annevk> schema languages in general
  910. # [13:08] <zcorpan> schema languages have limitations but don't have to suck :-)
  911. # [13:08] * Quits: izhak (~izhak@213.87.241.75) (Remote host closed the connection)
  912. # [13:08] <annevk> dunno, because they're never specific I don't think they'll ever be ideal for a particular problem
  913. # [13:10] * Joins: tomasf (~tom@c-b7dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
  914. # [13:13] <MikeSmith> damn
  915. # [13:13] <MikeSmith> another big earthquake
  916. # [13:14] <MikeSmith> fucking hell
  917. # [13:14] <MikeSmith> I hope that one wasn't up north
  918. # [13:14] <MikeSmith> because if it was it must have been huge
  919. # [13:17] <karlcow> http://www.jma.go.jp/en/quake/00000000089.html
  920. # [13:17] <karlcow> chiba?
  921. # [13:18] <annevk> http://blog.whatwg.org/weekly-canvas-path
  922. # [13:18] <MikeSmith> karlcow: yah
  923. # [13:19] <zcorpan> annevk: btw please regen html5-diff
  924. # [13:20] <annevk> done
  925. # [13:20] <annevk> shouldn't http+aes be still mentioned for WHATWG?
  926. # [13:20] <zcorpan> it is
  927. # [13:21] <annevk> oh okay
  928. # [13:21] <zcorpan> thanks
  929. # [13:21] <zcorpan> MikeSmith: ^
  930. # [13:25] * Quits: ezoe (~ezoe@203-140-88-69f1.kyt1.eonet.ne.jp) (Quit: And Now for Something Completely Different.)
  931. # [13:26] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
  932. # [13:26] * Joins: mishunov (~spliter@77.88.72.162)
  933. # [13:27] * Quits: schnoomac (~schnoomac@27-32-229-194.static.tpgi.com.au) (Quit: schnoomac)
  934. # [13:29] * Quits: kennyluck (~kennyluck@114-43-124-244.dynamic.hinet.net) (Quit: kennyluck)
  935. # [13:37] <scott_gonzalez> MikeSmith: If the install is simple that'll help, but total size is probably going to be a factor as well.
  936. # [13:38] <scott_gonzalez> If we need to triple the size of our repo just to validate HTML files, it doesn't seem worth it.
  937. # [13:38] <scott_gonzalez> I haven't actually looked at the size of everything needed for validator.nu, but it didn't sound small.
  938. # [13:43] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 244 seconds)
  939. # [13:46] * Joins: temp02 (~temp01@unaffiliated/temp01)
  940. # [13:51] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  941. # [14:02] * Joins: Taggnostr (~quassel@dyn57-362.yok.fi)
  942. # [14:03] <zcorpan> last quirk specced (while having lunch) http://simon.html5.org/specs/quirks-mode#the-table-cell-nowrap-minimum-width-calculation-quirk
  943. # [14:09] * Joins: izhak (~izhak@188.168.203.96)
  944. # [14:10] * Quits: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com) (Quit: Computer has gone to sleep.)
  945. # [14:19] <annevk> oh lunch
  946. # [14:21] <annevk> zcorpan: can the text-decoration quirk be described using http://dev.w3.org/csswg/css3-text/#text-decoration-color ?
  947. # [14:22] * Joins: ehsan (~ehsan@209.29.21.241)
  948. # [14:24] <zcorpan> dunno
  949. # [14:24] <zcorpan> is that implemented?
  950. # [14:25] <annevk> prefixed in Gecko purportedly
  951. # [14:25] <zcorpan> seems that property doesn't do what the quirk does
  952. # [14:27] * Joins: kennyluck (~kennyluck@114-43-124-244.dynamic.hinet.net)
  953. # [14:38] * Quits: niloy (~niloy@203.196.177.156) (Ping timeout: 240 seconds)
  954. # [14:43] * Joins: davidb (~davidb@66.207.208.98)
  955. # [14:47] * JohnAlbin_zzzzzz is now known as JohnAlbin
  956. # [14:47] * Joins: malcolmva (~malcolmva@pool-74-108-142-22.nycmny.fios.verizon.net)
  957. # [14:47] * Quits: JohnAlbin (~JohnAlbin@114-42-54-208.dynamic.hinet.net) (Quit: HTTP/1.1 404 JohnAlbin Not Found)
  958. # [14:48] * Joins: JohnAlbin (~JohnAlbin@114-42-54-208.dynamic.hinet.net)
  959. # [14:49] * Joins: erichynds (~ehynds@venkman.brightcove.com)
  960. # [14:50] * Joins: niloy (~niloy@61.12.96.242)
  961. # [14:52] * Joins: MacTed (~Thud@63.119.36.36)
  962. # [14:57] * Joins: timmywil (~timmywil@host-68-169-175-226.WISOLT2.epbfi.com)
  963. # [15:01] <annevk> zcorpan: gonna tweet about being done?
  964. # [15:02] <zcorpan> i'm far from done :-)
  965. # [15:02] <annevk> 80% done
  966. # [15:03] <zcorpan> tweeted
  967. # [15:03] <annevk> ta
  968. # [15:07] * Joins: kenneth_ (kenneth@nat/nokia/x-iurtsbsgckwlitwk)
  969. # [15:07] * Quits: kenneth__ (kenneth@nat/nokia/x-zgurxgikpatwuwvj) (Read error: Connection reset by peer)
  970. # [15:09] * Joins: plutoniix (~plutoniix@101.108.111.99)
  971. # [15:09] * Joins: kenneth__ (kenneth@nat/nokia/x-eqpsngumuzpgpxuv)
  972. # [15:10] * Quits: kenneth_ (kenneth@nat/nokia/x-iurtsbsgckwlitwk) (Read error: Connection reset by peer)
  973. # [15:13] * Quits: MacTed (~Thud@63.119.36.36)
  974. # [15:20] * Quits: ehsan (~ehsan@209.29.21.241) (Remote host closed the connection)
  975. # [15:24] * Quits: izhak (~izhak@188.168.203.96) (Remote host closed the connection)
  976. # [15:34] * Quits: Evanescence (~Evanescen@60.183.205.152) (Quit: my website: http://stardiviner.dyndns-blog.com/)
  977. # [15:35] <StoneCypher> is there a field intended for universal per-language text replacement (i18n string tables)
  978. # [15:35] <StoneCypher> or should i be making a data-foo attribute
  979. # [15:36] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-skyhgrkbtumgdctd)
  980. # [15:36] * Joins: matijsb (u2278@gateway/web/irccloud.com/x-kktcqoxfzingjmny)
  981. # [15:40] * Joins: ehsan (~ehsan@66.207.208.98)
  982. # [15:42] <zcorpan> i guess now is a good time to get quirks mode in a VCS
  983. # [15:42] * Joins: smaug____ (~chatzilla@GGMMMXXXVI.gprs.sl-laajakaista.fi)
  984. # [15:44] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  985. # [15:45] <zcorpan> MikeSmith: did you update the TR?
  986. # [15:45] <MikeSmith> not yet
  987. # [15:45] <zcorpan> k, just checking
  988. # [15:45] <zcorpan> i'm not in a hurry :-)
  989. # [15:46] * zcorpan -> offline
  990. # [15:46] * Quits: zcorpan (~zcorpan@c-699de355.410-6-64736c14.cust.bredbandsbolaget.se) (Quit: zcorpan)
  991. # [15:52] * Joins: gwicke (~gabriel@160-15-142-46.pool.kielnet.net)
  992. # [15:54] * Joins: Areks|2 (~Areks@rs.gridnine.com)
  993. # [15:56] * Quits: espadrine (~thaddee_t@acces2342.res.insa-lyon.fr) (Ping timeout: 260 seconds)
  994. # [15:56] * Quits: Areks (~Areks@rs.gridnine.com) (Ping timeout: 272 seconds)
  995. # [15:57] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Ping timeout: 240 seconds)
  996. # [15:58] * Quits: Areks|2 (~Areks@rs.gridnine.com) (Ping timeout: 272 seconds)
  997. # [15:59] * Quits: gwicke (~gabriel@160-15-142-46.pool.kielnet.net) (Quit: Bye!)
  998. # [16:01] * Quits: temp02 (~temp01@unaffiliated/temp01) (Read error: Connection reset by peer)
  999. # [16:01] * Joins: Ms2ger (~Ms2ger@91.181.250.56)
  1000. # [16:02] * Joins: twisted` (~anonymous@p5DDBB9DF.dip.t-dialin.net)
  1001. # [16:10] * Joins: MacTed (~Thud@63.119.36.36)
  1002. # [16:12] * Quits: Ducki (~Ducki@pD9E39732.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
  1003. # [16:20] * Quits: mpt (~mpt@canonical/mpt) (Remote host closed the connection)
  1004. # [16:23] * Joins: mpt (~mpt@canonical/mpt)
  1005. # [16:28] * Quits: mishunov (~spliter@77.88.72.162) (Quit: mishunov)
  1006. # [16:28] <hsivonen> what MIME type does IE9 want to see for AAC audio files?
  1007. # [16:28] * Joins: temp01 (~temp01@unaffiliated/temp01)
  1008. # [16:29] <hsivonen> audio/mp4?
  1009. # [16:29] * Quits: MacTed (~Thud@63.119.36.36)
  1010. # [16:33] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  1011. # [16:34] * Joins: chriseppstein (~chrisepps@209.119.65.162)
  1012. # [16:38] * Joins: gwicke (~gabriel@46.115.1.170)
  1013. # [16:41] * Quits: temp01 (~temp01@unaffiliated/temp01) (Ping timeout: 252 seconds)
  1014. # [16:45] <Ms2ger> "XForms Users Community Group"
  1015. # [16:45] <hober> shouldn't that be "User's" :)
  1016. # [16:45] <hober> oh, that guy
  1017. # [16:46] <jgraham> aka the "John Boyer Community Group"
  1018. # [16:46] * Quits: danbri (~danbri@12.157.84.6) (Remote host closed the connection)
  1019. # [16:46] <Ms2ger> "John Boyer, Trucker, Killed 3 Prostitutes Across South"
  1020. # [16:47] * Ms2ger assumes another John Boyer
  1021. # [16:48] <jgraham> Yeah, this is John M. Boyer, the Sci-Fi one
  1022. # [16:48] <jgraham> https://www.ibm.com/developerworks/mydeveloperworks/blogs/JohnBoyer/?lang=en
  1023. # [16:51] <annevk> did not take long: http://www.w3.org/community/xformsusers/
  1024. # [16:51] <Ms2ger> "It is really easy to use XPath..."
  1025. # [16:51] * Ms2ger stops reading
  1026. # [16:51] * Quits: foolip (~philip@node-7lfbbj0tiptcmk5jr.a0.ipv6.opera.com) (Read error: Connection reset by peer)
  1027. # [16:54] <Philip`> "View all 1 Participants" - someone else needs to join the group to save the world from terrible grammar
  1028. # [16:56] <jgraham> Because "View all 2 Participants" will just sound like irony?
  1029. # [16:57] <smaug____> Ms2ger: XPath isn't bad
  1030. # [16:57] <Ms2ger> It's better than XForms, I guess :)
  1031. # [16:57] <smaug____> yes :)
  1032. # [17:00] * Quits: gwicke (~gabriel@46.115.1.170) (Remote host closed the connection)
  1033. # [17:01] * Joins: gwicke (~gabriel@46.115.1.170)
  1034. # [17:01] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Remote host closed the connection)
  1035. # [17:04] <kennyluck> "View both Participants" is better maybe? :p
  1036. # [17:05] * Joins: temp01 (~temp01@unaffiliated/temp01)
  1037. # [17:13] * Quits: bga (bga@2001:41d0:1:8d75::) (Remote host closed the connection)
  1038. # [17:14] * Joins: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
  1039. # [17:18] * Joins: bga (bga@2001:41d0:1:8d75::)
  1040. # [17:22] * Quits: dirkpennings (~dirkpenni@90-145-26-140.bbserv.nl) (Ping timeout: 248 seconds)
  1041. # [17:23] <smaug____> annevk: where does DOM4 say when node is removed from the old parent when inserting to be a child of a new parent
  1042. # [17:23] <Ms2ger> Btw, MikeSmith, weird Glenn wanted a bugzilla component for http://dvcs.w3.org/hg/csswg/raw-file/tip/cssom-values/Overview.html
  1043. # [17:24] <Ms2ger> smaug____, it might not say that :)
  1044. # [17:24] <MikeSmith> Ms2ger: thanks
  1045. # [17:24] <annevk> smaug____: as part of adopting it?
  1046. # [17:25] <smaug____> huh
  1047. # [17:25] <Ms2ger> No, just removing it from childNodes
  1048. # [17:25] <Ms2ger> Ah, yes
  1049. # [17:25] <smaug____> but ok
  1050. # [17:25] <Ms2ger> That's weird, but sure
  1051. # [17:26] <annevk> how is it weird?
  1052. # [17:26] <annevk> pre-insert step 6
  1053. # [17:27] <smaug____> just hard to read
  1054. # [17:27] <Ms2ger> I'd have expected the adopt algorithm to be a no-op if the node already had the right node document
  1055. # [17:27] <smaug____> looks like nodes aren't ever removed from documentfragment
  1056. # [17:28] <smaug____> when inserting a documentfragment
  1057. # [17:28] <annevk> ah yeah, DocumentFragment has issues :(
  1058. # [17:28] <annevk> patches appreciated
  1059. # [17:29] <smaug____> and replace's mutation observer handling is probably wrong
  1060. # [17:29] * Quits: niloy (~niloy@61.12.96.242) (Remote host closed the connection)
  1061. # [17:30] <annevk> is that even specced yet?
  1062. # [17:30] <smaug____> replace removes and inserts
  1063. # [17:30] <smaug____> so it will create two mutationrecords
  1064. # [17:31] <annevk> yeah that's wrong
  1065. # [17:31] <annevk> replace all is even more wrong
  1066. # [17:32] <annevk> I guess I should look into fixing that, but it requires a lot of staring and a clear head
  1067. # [17:32] * Quits: PalleZingmark (~Adium@217.13.228.226) (Quit: Leaving.)
  1068. # [17:41] <smaug____> annevk: I'll file some bug
  1069. # [17:41] <smaug____> s
  1070. # [17:43] * Quits: gwicke (~gabriel@46.115.1.170) (Quit: Bye!)
  1071. # [17:44] <annevk> write some patches pretty please :)
  1072. # [17:44] <annevk> also, please go through https://www.w3.org/Bugs/Public/buglist.cgi?product=WebAppsWG&component=DOM&;resolution=--- first
  1073. # [17:44] <annevk> e.g. DocumentFragment is known
  1074. # [17:46] <Ms2ger> MikeSmith, oh, and we should probably have a bugzilla component for random stuff, like https://www.w3.org/Bugs/Public/show_bug.cgi?id=14600
  1075. # [17:46] * Joins: necolas (~necolas@host-92-12-160-162.as43234.net)
  1076. # [17:50] <dglazkov> good morning, Whatwg!
  1077. # [17:50] <annevk> morning hat
  1078. # [17:50] <annevk> euh dglazkov
  1079. # [17:51] <dglazkov> :)
  1080. # [17:51] * Joins: ezoe (~ezoe@203-140-89-126f1.kyt1.eonet.ne.jp)
  1081. # [17:51] * jernoble is now known as jernoble|afk
  1082. # [17:56] * jernoble|afk is now known as jernoble
  1083. # [17:56] * Quits: smaug____ (~chatzilla@GGMMMXXXVI.gprs.sl-laajakaista.fi) (Quit: Reconnecting…)
  1084. # [17:57] * Joins: aklein (u4454@gateway/web/irccloud.com/x-wqeddcwyqjszvofn)
  1085. # [18:04] * Joins: smaug____ (~chatzilla@212-226-67-233-nat.elisa-mobile.fi)
  1086. # [18:05] * Quits: Lachy (Lachy@nat/opera/x-yvbeffzjsuevghbs) (Quit: Computer has gone to sleep.)
  1087. # [18:08] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  1088. # [18:09] <aklein> Hixie: regarding form controls outside the document, it seems that this causes problems with the definition of the "elements" collection: https://www.w3.org/Bugs/Public/show_bug.cgi?id=15704
  1089. # [18:09] * Joins: sicking (~chatzilla@nat/mozilla/x-totpencppqhxrevr)
  1090. # [18:10] <Hixie> hm yeah
  1091. # [18:10] * Joins: ap (~ap@2620:149:4:1b01:3c62:d623:2ec8:62b0)
  1092. # [18:11] * Quits: Zauberfisch (Zauberfisc@venus.zauberfisch.at) (Quit: Leaving)
  1093. # [18:11] * Joins: Zauberfisch (Zauberfisc@venus.zauberfisch.at)
  1094. # [18:15] * Quits: woef (~woef@91.183.84.141) (Ping timeout: 245 seconds)
  1095. # [18:16] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  1096. # [18:23] * Quits: drublic (~drublic@frbg-4d028a56.pool.mediaWays.net) (Remote host closed the connection)
  1097. # [18:37] * Joins: WeirdAl (~chatzilla@g2spf.ask.info)
  1098. # [18:37] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
  1099. # [18:39] * Joins: pablof (~pablof@144.189.101.1)
  1100. # [18:41] * Joins: KevinMarks (~KevinMark@nat-204-14-239-208-sfo.net.salesforce.com)
  1101. # [18:44] * Joins: tndrH (~Rob@cpc16-seac19-2-0-cust234.7-2.cable.virginmedia.com)
  1102. # [18:52] * Quits: bga (bga@2001:41d0:1:8d75::) (Ping timeout: 245 seconds)
  1103. # [18:54] * Joins: dave_levin (dave_levin@nat/google/x-logswwspysqigxvh)
  1104. # [18:55] * Joins: maikmerten (~maikmerte@port-92-201-203-215.dynamic.qsc.de)
  1105. # [18:56] * Joins: bga_ (~bga@ppp78-37-242-190.pppoe.avangarddsl.ru)
  1106. # [18:59] * Joins: jamesr (jamesr@nat/google/x-inzavtltvyeqvdls)
  1107. # [19:00] * Quits: necolas (~necolas@host-92-12-160-162.as43234.net) (Read error: Connection reset by peer)
  1108. # [19:01] * Joins: necolas (~necolas@host-92-12-160-162.as43234.net)
  1109. # [19:11] * Joins: micheil (~micheil@109.224.128.70)
  1110. # [19:13] * Joins: jochen___ (jochen@nat/google/x-dkgfcryiekznpxoo)
  1111. # [19:13] * Joins: rniwa (rniwa@nat/google/x-cwimwsehejgpeyqz)
  1112. # [19:13] * Quits: jochen__ (jochen@nat/google/x-hhfaftwicdivcukm) (Read error: Connection reset by peer)
  1113. # [19:13] * jochen___ is now known as jochen__
  1114. # [19:26] * Joins: MacTed (~Thud@63.119.36.36)
  1115. # [19:27] * nonge_ is now known as nonge
  1116. # [19:27] * StoneCypher tries again
  1117. # [19:27] <StoneCypher> is there a field intended for universal per-language text replacement (i18n string tables), or should i be making a data-foo attribute
  1118. # [19:30] <Philip`> I think the spec expects that you will do the text replacement on the server, and then you can use whatever custom design you want since it doesn't need to be conforming HTML
  1119. # [19:31] <Philip`> so it doesn't provide any specific support for that
  1120. # [19:33] * Quits: erichynds (~ehynds@venkman.brightcove.com) (Remote host closed the connection)
  1121. # [19:35] <StoneCypher> kay.
  1122. # [19:36] <StoneCypher> would you think data-i18n a logical field name?
  1123. # [19:39] <Philip`> Sounds a bit non-specific - something like data-i18n-stringid (or whatever the field is meant to actually be) might be less confusing, particularly if you add other i18n-related fields later
  1124. # [19:39] <StoneCypher> good point
  1125. # [19:39] <StoneCypher> the industry nominal would be data-i18n-key
  1126. # [19:39] <StoneCypher> i think i'll use that, other points notwithstanding
  1127. # [19:47] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Ping timeout: 240 seconds)
  1128. # [19:52] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
  1129. # [19:54] * Joins: pyrsmk (~pyrsmk@mau49-1-82-245-46-173.fbx.proxad.net)
  1130. # [20:02] * Joins: GlitchMr (~glitchmr@178-36-151-253.adsl.inetia.pl)
  1131. # [20:05] * Joins: GlitchMr42 (~glitchmr@178-36-151-253.adsl.inetia.pl)
  1132. # [20:08] * Quits: GlitchMr (~glitchmr@178-36-151-253.adsl.inetia.pl) (Ping timeout: 264 seconds)
  1133. # [20:08] <scott_gonzalez> StoneCypher: How do you plan on using that?
  1134. # [20:12] * Joins: erichynds (~ehynds@venkman.brightcove.com)
  1135. # [20:18] * Quits: sicking (~chatzilla@nat/mozilla/x-totpencppqhxrevr) (Ping timeout: 244 seconds)
  1136. # [20:19] <kennyluck> I love you and my wife!
  1137. # [20:19] <Ms2ger> Love you too, kennyluck
  1138. # [20:19] * Joins: weinig (~weinig@17.212.155.45)
  1139. # [20:20] <kennyluck> lol
  1140. # [20:31] * Quits: maikmerten (~maikmerte@port-92-201-203-215.dynamic.qsc.de) (Quit: Leaving)
  1141. # [20:31] * Joins: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  1142. # [20:32] <othermaciej_> Hixie: looks like https://www.w3.org/Bugs/Public/show_bug.cgi?id=11124 is resolved now? (from skimming the w3c copy of the spec)
  1143. # [20:32] <othermaciej_> Hixie: time to close the bug?
  1144. # [20:33] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
  1145. # [20:43] * Joins: Lachy (~Lachy@cm-84.215.13.244.getinternet.no)
  1146. # [20:45] * Quits: othermaciej_ (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej_)
  1147. # [20:45] * Joins: KillerX (~anant@nat/mozilla/x-xmocjujqjtglgjkh)
  1148. # [20:49] * Joins: sicking (~chatzilla@nat/mozilla/x-kduevewihizkixac)
  1149. # [20:52] <StoneCypher> scott_gonzalez: text content overwriting by key name
  1150. # [20:53] <StoneCypher> scott_gonzalez: roughly what moustache does, without all the functional silliness
  1151. # [20:53] <scott_gonzalez> But you're not using templates for it?
  1152. # [20:53] <StoneCypher> they aren't needed for what i'm up to
  1153. # [20:54] <StoneCypher> if someone wants templates, more power to them
  1154. # [20:54] <scott_gonzalez> You're doing dynamic translations of specific elements?
  1155. # [20:54] <StoneCypher> it's just string table substitution.
  1156. # [20:54] <scott_gonzalez> But it's after page load?
  1157. # [20:54] <StoneCypher> yes
  1158. # [20:55] * Joins: cpearce (~cpearce@ip-118-90-18-163.xdsl.xnet.co.nz)
  1159. # [20:55] <scott_gonzalez> And you're storing the lookup key in the data attribute, right? Not a specific translation.
  1160. # [20:55] <StoneCypher> correct
  1161. # [20:58] * abarth is now known as abarth|lunch
  1162. # [21:03] * JohnAlbin is now known as JohnAlbin_zzzzzz
  1163. # [21:03] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: This computer has gone to sleep)
  1164. # [21:06] * Quits: erichynds (~ehynds@venkman.brightcove.com)
  1165. # [21:09] * Joins: weinig_ (~weinig@17.245.88.176)
  1166. # [21:09] <hober> Hixie: in http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#phrasing-content shouldn't <object> be like <a>, <ins>, and others? i.e. shouldn't it have a "(if it contains only phrasing content)" parenthetical?
  1167. # [21:12] * Quits: weinig (~weinig@17.212.155.45) (Ping timeout: 264 seconds)
  1168. # [21:12] * weinig_ is now known as weinig
  1169. # [21:16] * Quits: chriseppstein (~chrisepps@209.119.65.162) (Quit: chriseppstein)
  1170. # [21:19] * Joins: chriseppstein (~chrisepps@209.119.65.162)
  1171. # [21:19] * Joins: tantek (~tantek@50.59.76.58)
  1172. # [21:21] * Joins: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no)
  1173. # [21:27] * Quits: tantek (~tantek@50.59.76.58) (Quit: tantek)
  1174. # [21:32] * Quits: davidb (~davidb@66.207.208.98) (Quit: davidb)
  1175. # [21:37] * Quits: micheil (~micheil@109.224.128.70) (Quit: micheil)
  1176. # [21:37] * Quits: hasather_ (~hasather_@cm-84.208.108.107.getinternet.no) (Remote host closed the connection)
  1177. # [21:38] <annevk> hober: yes
  1178. # [21:38] * Joins: kennyluck_ (~kennyluck@114-43-122-113.dynamic.hinet.net)
  1179. # [21:38] <annevk> hober: you should file a bug I guess
  1180. # [21:39] * Quits: kennyluck (~kennyluck@114-43-124-244.dynamic.hinet.net) (Ping timeout: 240 seconds)
  1181. # [21:39] * kennyluck_ is now known as kennyluck
  1182. # [21:41] <Ms2ger> http://lists.w3.org/Archives/Public/spec-prod/2012JanMar/0023.html \o/
  1183. # [21:41] <Hixie> hober: possibly, can't look right now
  1184. # [21:41] <Hixie> othermaciej: if that's the julian thing, sure
  1185. # [21:45] * Quits: cpearce (~cpearce@ip-118-90-18-163.xdsl.xnet.co.nz) (Ping timeout: 246 seconds)
  1186. # [21:47] * AryehGregor cannot seem to get scroll() to work right in his reftest viewer thing -- something to do with calling it inside an iframe?
  1187. # [21:51] * abarth|lunch is now known as abarth
  1188. # [21:51] * Quits: KevinMarks (~KevinMark@nat-204-14-239-208-sfo.net.salesforce.com) (Quit: The computer fell asleep)
  1189. # [21:52] * AryehGregor wonders how the CSS 2.1 test suite tests scrolling
  1190. # [21:52] <AryehGregor> (manually?)
  1191. # [21:52] <Ms2ger> It does?
  1192. # [21:52] <AryehGregor> Or maybe it just doesn't?
  1193. # [21:52] <annevk> prolly doesn't
  1194. # [21:52] <annevk> I know Hixie has a few manual tests related to scrolling
  1195. # [21:52] <Ms2ger> It tests that padding-left: 3.2ex works
  1196. # [21:53] <AryehGregor> http://test.csswg.org/suites/css2.1/20110323/html4/background-attachment-005.htm
  1197. # [21:53] <Ms2ger> But little more involved
  1198. # [21:53] * Quits: Lachy (~Lachy@cm-84.215.13.244.getinternet.no) (Quit: Computer has gone to sleep.)
  1199. # [21:53] <annevk> AryehGregor: invoking scroll() should work... are you invoking it on the right window? :)
  1200. # [21:54] <AryehGregor> annevk, I'm doing scroll() in a <script>. But when I do it from an iframe viewer thing, it doesn't work in all browsers.
  1201. # [21:54] <gsnedders> AryehGregor: Manually.
  1202. # [21:54] <gsnedders> AryehGregor: It tests everything manually, pretty much :P
  1203. # [21:54] <Ms2ger> Heh: http://jigsaw.w3.org/css-validator/validator?uri=http%3A%2F%2Fwww.w3.org%2FStyleSheets%2FTR%2FW3C-ED&profile=css21&usermedium=all&warning=1&vextwarning=&lang=en#warnings
  1204. # [21:54] <AryehGregor> annevk, look at this: http://aryeh.name/tmp/css-test/contributors/aryehgregor/incoming/ref-2d/fixed-background-1b.html
  1205. # [21:55] <AryehGregor> And then at this: http://aryeh.name/tmp/css-test/contributors/aryehgregor/incoming/viewer.html
  1206. # [21:55] <AryehGregor> But quickly, before I change them. :)
  1207. # [21:55] <AryehGregor> The second just loads the first in an iframe.
  1208. # [21:55] <AryehGregor> But in the iframe, scroll() doesn't work.
  1209. # [21:55] <AryehGregor> In some browsers.
  1210. # [21:55] <AryehGregor> It does in Chrome.
  1211. # [21:55] <AryehGregor> But not IE or Firefox.
  1212. # [21:56] <AryehGregor> Also works in Opera.
  1213. # [21:56] <annevk> is it supposed to go up and down?
  1214. # [21:56] <annevk> works in my Firefox
  1215. # [21:56] <AryehGregor> It's flipping back and forth between two things.
  1216. # [21:56] <AryehGregor> Just a sec.
  1217. # [21:57] <annevk> also works in IE
  1218. # [21:57] * Joins: othermaciej_ (~mjs@17.245.89.39)
  1219. # [21:57] <AryehGregor> Try now.
  1220. # [21:57] <AryehGregor> The iframe is scrolled in viewer.html?
  1221. # [21:57] <AryehGregor> What versions are you using?
  1222. # [21:58] <AryehGregor> In Firefox I see no scrollbars at all in the iframe. In IE I see scrollbars, but it's not scrolled.
  1223. # [21:59] <annevk> hmm now it's not
  1224. # [22:00] <annevk> weird
  1225. # [22:00] <AryehGregor> Oh, wait.
  1226. # [22:01] <AryehGregor> When the iframe is first loaded, it's display: none, I think.
  1227. # [22:01] <AryehGregor> Maybe that's it?
  1228. # [22:01] * AryehGregor tests
  1229. # [22:01] <AryehGregor> That seems to be it.
  1230. # [22:01] <AryehGregor> <!DOCTYPE html>
  1231. # [22:01] <AryehGregor> <iframe style=display:none src=http://aryeh.name/tmp/css-test/contributors/aryehgregor/incoming/ref-2d/fixed-background-1b.html onload="this.style.display='block'"></iframe>
  1232. # [22:01] <AryehGregor> Seems like a bug in Firefox/IE.
  1233. # [22:01] <TabAtkins_> Sigh. I love how a11y people always write completely unreadable emails, using color and indentation (which doesn't carry over well when crossing formats) to indicate different speakers or quotations.
  1234. # [22:02] <AryehGregor> In a display: none iframe, is the viewport defined?
  1235. # [22:03] <AryehGregor> CSS 2.1 (of course) doesn't say that I see.
  1236. # [22:03] <TabAtkins_> Iframes are out-of-scope.
  1237. # [22:03] <AryehGregor> They're not out-of-scope of the web platform. *Something* should say.
  1238. # [22:03] <TabAtkins_> But since no box is created in the inner document, I doubt there's a viewport.
  1239. # [22:03] <AryehGregor> So what do all the CSSOM methods do that talk about viewports?
  1240. # [22:04] <TabAtkins_> I dunno.
  1241. # [22:04] <TabAtkins_> Presumably undefined things.
  1242. # [22:04] <TabAtkins_> Likely involving 0.
  1243. # [22:04] <TabAtkins_> The CSSOM sucks. File bugs?
  1244. # [22:04] <AryehGregor> Sigh.
  1245. # [22:05] <TabAtkins_> This shit hasn't been touched in *years*.
  1246. # [22:05] <Ms2ger> We've got 3 CSSOMs now, even
  1247. # [22:05] * AryehGregor works around it for now by not setting display: none until after load
  1248. # [22:05] * Joins: sarro (~sarro@i5E864F69.versanet.de)
  1249. # [22:06] <annevk> AryehGregor: never really considered display:none iframes :/
  1250. # [22:07] <annevk> AryehGregor: it makes some sense to me that scrolling would not work there
  1251. # [22:07] <AryehGregor> It's probably more convenient for authors if it does, and more convenient for implementers if it doesn't.
  1252. # [22:08] <StoneCypher> should contenteditable=false inside a contenteditable=true region work?
  1253. # [22:08] * StoneCypher can't decide if he's doing something braindead or if the browsers aren't behaving as one would like
  1254. # [22:08] <AryehGregor> StoneCypher, yes. Browsers are known to have major bugs in this area, though.
  1255. # [22:08] <AryehGregor> Also, exactly what it should do is somewhat questionable.
  1256. # [22:08] <AryehGregor> My spec says one thing, browsers do all sorts of things.
  1257. # [22:09] <annevk> AryehGregor: it would be consistent with display:none on overflow:scroll frames if it didn't
  1258. # [22:09] <StoneCypher> is there a less hackish way to get small non-editable but removable pieces of text in a contenteditable region than to put little canvasses in and draw text on them? (amusingly, <svg><text>foo</text></svg> remains editable in firefox)
  1259. # [22:09] <Ms2ger> contenteditable=no?
  1260. # [22:10] <StoneCypher> does what one wants in two of the seven places.
  1261. # [22:10] <StoneCypher> major*
  1262. # [22:10] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  1263. # [22:10] * Quits: othermaciej_ (~mjs@17.245.89.39) (Quit: othermaciej_)
  1264. # [22:11] <AryehGregor> Ms2ger, false, not no.
  1265. # [22:11] <Ms2ger> Sure
  1266. # [22:11] <AryehGregor> StoneCypher, in theory, <span contenteditable=false> should do that. In practice, yeah, hacks.
  1267. # [22:11] <StoneCypher> yeah :(
  1268. # [22:11] <StoneCypher> well, At Least It's Possible-Ish (tm)
  1269. # [22:12] <StoneCypher> getting text height right is going to be a blast
  1270. # [22:12] <AryehGregor> TabAtkins_, annevk: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16380
  1271. # [22:14] <TabAtkins_> I had no idea scroll() was a function.
  1272. # [22:14] <zewt> scrollTo has one of the worst abominations ever on android's browser: unlike the rest of the web universe, it smooth scrolls
  1273. # [22:14] <AryehGregor> Then you learned something new today!
  1274. # [22:15] <zewt> caused me no end of migraines
  1275. # [22:15] <annevk> CSS should probably define the basics here though
  1276. # [22:15] <Ms2ger> He. He. He.
  1277. # [22:15] <annevk> because this affects getComputedStyle etc. too
  1278. # [22:15] <TabAtkins_> Yes. Even if it's something like "no document exists yet", it needs defined behavior.
  1279. # [22:16] * Quits: Ms2ger (~Ms2ger@91.181.250.56) (Quit: nn)
  1280. # [22:16] <TabAtkins_> Though I suspect if we just define it as equivalent to display:none on the root, the rest would fall out.
  1281. # [22:16] <TabAtkins_> We already know what getComputedStyle does when querying an element that didn't generate a box.
  1282. # [22:16] <annevk> display:none on root computed to block I think
  1283. # [22:17] <annevk> oh maybe it doesn't
  1284. # [22:17] <TabAtkins_> dunno
  1285. # [22:17] <annevk> data:text/html,<style>:root{display:none}</style>x
  1286. # [22:17] <annevk> suggests it doesn't
  1287. # [22:17] <annevk> but who knows
  1288. # [22:18] <annevk> per http://www.w3.org/TR/CSS21/visuren.html#dis-pos-flo it ought to work
  1289. # [22:18] <annevk> but if you don't display the root you still have a viewport...
  1290. # [22:19] <TabAtkins_> True.
  1291. # [22:19] <annevk> I wonder if it's defined in CSS 2.1 if you have a background on root and display:none
  1292. # [22:19] <TabAtkins_> But it has zero height, and default width.
  1293. # [22:19] <annevk> I guess technically that should draw the background
  1294. # [22:19] <annevk> because it's not the background of the root, but of the initial containing block
  1295. # [22:19] <annevk> lets test :)
  1296. # [22:20] <TabAtkins_> Chrome doesn't draw.
  1297. # [22:20] <TabAtkins_> But I think you're right, technically.
  1298. # [22:20] <TabAtkins_> We lift the bg to the canvas.
  1299. # [22:20] <annevk> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E%3Aroot%7Bbackground%3Aurl(image)%3Bdisplay%3Anone%7D%3C%2Fstyle%3ETEST
  1300. # [22:20] <annevk> Opera draws
  1301. # [22:20] <annevk> victory
  1302. # [22:21] <annevk> IE has a weird rendering issue, but seems to get the right idea
  1303. # [22:22] <annevk> that is by far the most useless piece of CSS trickery I've done
  1304. # [22:22] <annevk> apart from maybe playing around with form controls as root elements
  1305. # [22:22] <annevk> but it does show that you actually need to define what happens to the initial containing block as well :)
  1306. # [22:26] * jernoble is now known as jernoble|afk
  1307. # [22:26] * jernoble|afk is now known as jernoble
  1308. # [22:32] * GlitchMr42 is now known as GlitchMr
  1309. # [22:32] * Quits: GlitchMr (~glitchmr@178-36-151-253.adsl.inetia.pl) (Read error: Connection reset by peer)
  1310. # [22:36] * Joins: jwalden (~waldo@2620:101:8003:200:224:d7ff:fef0:8d90)
  1311. # [22:37] * Joins: erichynds (~ehynds@pool-71-184-234-218.bstnma.fios.verizon.net)
  1312. # [22:40] * Joins: cpearce (~cpearce@60.234.54.74)
  1313. # [22:41] * Joins: tantek (~tantek@12.14.132.2)
  1314. # [22:41] * jernoble is now known as jernoble|afk
  1315. # [22:42] * Quits: ap (~ap@2620:149:4:1b01:3c62:d623:2ec8:62b0) (Quit: ap)
  1316. # [22:44] * Quits: oal (u4126@gateway/web/irccloud.com/x-gqamismpllcbxjio) (Read error: Connection reset by peer)
  1317. # [22:44] * Quits: Scorchin (u1242@gateway/web/irccloud.com/x-zacscbctwabkfnjb) (Remote host closed the connection)
  1318. # [22:44] * Quits: Raynos (u3611@gateway/web/irccloud.com/x-uftfudtnbwbwxfmf) (Remote host closed the connection)
  1319. # [22:44] * Quits: ojan (u5519@gateway/web/irccloud.com/x-nsqvgbrxqaiavtvw) (Remote host closed the connection)
  1320. # [22:44] * Quits: remysharp (u4345@gateway/web/irccloud.com/x-emdkvyzlwgyjhyqn) (Remote host closed the connection)
  1321. # [22:44] * Quits: eae (u4278@gateway/web/irccloud.com/x-xqwiomfwwytolqnj) (Remote host closed the connection)
  1322. # [22:44] * Quits: bobylito (u3929@gateway/web/irccloud.com/x-gpsijkhknmdhvdfb) (Read error: Connection reset by peer)
  1323. # [22:44] * Quits: BruNeX (u4730@gateway/web/irccloud.com/x-lewdofoykssbbwga) (Remote host closed the connection)
  1324. # [22:44] * Quits: jeremyselier (u2513@gateway/web/irccloud.com/x-likchrrwulgozdoc) (Remote host closed the connection)
  1325. # [22:44] * Quits: abarth (u5294@gateway/web/irccloud.com/x-iopcnnrygvltgyls) (Remote host closed the connection)
  1326. # [22:44] * Quits: krijn (u2319@gateway/web/irccloud.com/x-zyawbfvakzhrdfeq) (Remote host closed the connection)
  1327. # [22:44] * Quits: hdv (u2376@gateway/web/irccloud.com/x-wbwgrftspuvjdidu) (Read error: Connection reset by peer)
  1328. # [22:44] * Quits: boblet (u1921@gateway/web/irccloud.com/x-ltbgvadzxccgfcwm) (Remote host closed the connection)
  1329. # [22:45] * Quits: aklein (u4454@gateway/web/irccloud.com/x-wqeddcwyqjszvofn) (Read error: Connection reset by peer)
  1330. # [22:45] * Quits: benschwarz (u2121@gateway/web/irccloud.com/x-vxjmbtyyoiwjafuv) (Remote host closed the connection)
  1331. # [22:45] * Quits: dglazkov (u4270@gateway/web/irccloud.com/x-trtjuotbyolarlyi) (Remote host closed the connection)
  1332. # [22:45] * Quits: matjas (u2247@gateway/web/irccloud.com/x-cetvikmkybpelvnl) (Remote host closed the connection)
  1333. # [22:45] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-kktcqoxfzingjmny) (Remote host closed the connection)
  1334. # [22:45] * Quits: niftylettuce (u2733@gateway/web/irccloud.com/x-ngvlgqqerhtxvcan) (Write error: Connection reset by peer)
  1335. # [22:45] * Quits: timeless (u4015@firefox/developer/timeless) (Remote host closed the connection)
  1336. # [22:45] * Quits: Phae (u455@gateway/web/irccloud.com/x-hbyzjjuoxmstpbiv) (Remote host closed the connection)
  1337. # [22:45] * Quits: akamike (u5089@gateway/web/irccloud.com/x-jqzizsdbuzcdfrek) (Remote host closed the connection)
  1338. # [22:45] * Quits: vidu (u5404@gateway/web/irccloud.com/x-xervhgjhmhjhsuav) (Remote host closed the connection)
  1339. # [22:45] * Quits: ryanseddon (u1832@gateway/web/irccloud.com/x-gztnaovcajlmgamh) (Remote host closed the connection)
  1340. # [22:45] * Joins: abarth (~abarth@173-164-128-209-SFBA.hfc.comcastbusiness.net)
  1341. # [22:46] * Quits: scheib (u4467@gateway/web/irccloud.com/x-vdpcoooaftuqhcsl) (Remote host closed the connection)
  1342. # [22:46] * Quits: NimeshNeema (u2689@gateway/web/irccloud.com/x-fonzwgoptgunlkdd) (Remote host closed the connection)
  1343. # [22:46] * Joins: akamike (u5089@gateway/web/irccloud.com/x-tfiptqoretgxvmhs)
  1344. # [22:47] * Joins: timeless (u4015@firefox/developer/timeless)
  1345. # [22:49] * Joins: matijsb (u2278@gateway/web/irccloud.com/x-ktgeensvidfzrdzi)
  1346. # [22:50] * Quits: smaug____ (~chatzilla@212-226-67-233-nat.elisa-mobile.fi) (Ping timeout: 244 seconds)
  1347. # [22:54] * Quits: WeirdAl (~chatzilla@g2spf.ask.info) (Quit: ChatZilla 0.9.88.1 [Firefox 11.0/20120312181643])
  1348. # [22:54] * Joins: niftylettuce_ (u2733@gateway/web/irccloud.com/x-jgeucwawljnherjt)
  1349. # [22:55] * Joins: boblet (u1921@gateway/web/irccloud.com/x-uqzvwzrdqxgwtadl)
  1350. # [22:56] * Joins: matjas (u2247@gateway/web/irccloud.com/x-muxjudovwikamfyn)
  1351. # [22:56] * Joins: AlexNRoss (AleossIRC@unaffiliated/aleoss)
  1352. # [22:56] <othermaciej> Hixie: it is
  1353. # [22:58] * Joins: bobylito (u3929@gateway/web/irccloud.com/x-qjshiklzcuxpvqur)
  1354. # [22:58] * Quits: weinig (~weinig@17.245.88.176) (Remote host closed the connection)
  1355. # [22:58] * Joins: weinig (~weinig@17.212.155.45)
  1356. # [22:59] * Joins: Phae (u455@gateway/web/irccloud.com/x-ieicwjmxnunnxheb)
  1357. # [22:59] * Quits: tantek (~tantek@12.14.132.2) (Quit: tantek)
  1358. # [22:59] * Joins: scheib (u4467@gateway/web/irccloud.com/x-geqlkfzkpjsvwobs)
  1359. # [23:00] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-tbtmbioyqpwvgajd)
  1360. # [23:00] * Joins: krijn (u2319@gateway/web/irccloud.com/x-miozdykswlljvsfo)
  1361. # [23:01] * Joins: davidb (~davidb@65.93.94.10)
  1362. # [23:02] * Quits: MacTed (~Thud@63.119.36.36)
  1363. # [23:02] <annevk> othermaciej: when was that changed then?
  1364. # [23:02] * Joins: _bga (~bga@ppp78-37-213-228.pppoe.avangarddsl.ru)
  1365. # [23:02] <annevk> othermaciej: ooh, is Mike applying it himself?
  1366. # [23:03] <othermaciej> annevk: Mike made a script which Ian put in his publication pipeline
  1367. # [23:03] * Joins: dglazkov (u4270@gateway/web/irccloud.com/x-osncsujnsztuntuo)
  1368. # [23:03] <Hixie> in other news, i no longer vouch for the accuracy of anything in the w3c html spec
  1369. # [23:04] <Hixie> as i strongly suspect that this has introduced all kinds of subtle bugs, e.g. in the parser
  1370. # [23:04] <jamesr_> you did before?
  1371. # [23:04] <Hixie> before i knew it was the same text as the whatwg copy and so yes, i knew it was accurate modulo the differences documented in the introduction of the whatwg spec
  1372. # [23:04] * Quits: bga_ (~bga@ppp78-37-242-190.pppoe.avangarddsl.ru) (Ping timeout: 244 seconds)
  1373. # [23:05] * Quits: timmywil (~timmywil@host-68-169-175-226.WISOLT2.epbfi.com) (Quit: Computer has gone to sleep.)
  1374. # [23:05] <annevk> the parser looks rather inconsistent
  1375. # [23:05] <annevk> http://dev.w3.org/html5/spec/tokenization.html#script-data-escaped-dash-state
  1376. # [23:05] <annevk> "-" (U+002D)
  1377. # [23:05] <annevk> U+003C LESS-THAN SIGN (<)
  1378. # [23:05] <annevk> U+0000 NULL
  1379. # [23:05] <annevk> good times
  1380. # [23:06] <Hixie> but don't worry, i'm sure the chairs know what they're doing
  1381. # [23:06] <annevk> oh and the text does still say U+002D HYPHEN-MINUS
  1382. # [23:06] <annevk> "tab" (U+0009)
  1383. # [23:06] <annevk> "LF" (U+000A)
  1384. # [23:06] <annevk> "FF" (U+000C)
  1385. # [23:06] <annevk> lol
  1386. # [23:06] * Joins: hdv (u2376@gateway/web/irccloud.com/x-upzzxvyhjaanobho)
  1387. # [23:07] <zewt> if "the chairs" are so bored that they're fucking with stuff like that, they're pretty much declaring their uselessness
  1388. # [23:07] <annevk> those are not really subtle bugs
  1389. # [23:07] <annevk> those are just bugs
  1390. # [23:08] <hober> Any comments / suggestions on http://www.w3.org/html/wg/wiki/User:Eoconnor/ISSUE-158 before I submit it? (It's due by the end of the day.)
  1391. # [23:08] * heycam|away is now known as heycam
  1392. # [23:09] * Joins: KillerX_ (~anant@nat/mozilla/x-ywqtgkwxfcmqlopq)
  1393. # [23:09] <zewt> i havn't heard that phrase since highschool
  1394. # [23:09] <Hixie> hober: details section looks fine to me
  1395. # [23:10] * Quits: matijsb (u2278@gateway/web/irccloud.com/x-ktgeensvidfzrdzi) (Remote host closed the connection)
  1396. # [23:10] * Quits: krijn (u2319@gateway/web/irccloud.com/x-miozdykswlljvsfo) (Remote host closed the connection)
  1397. # [23:10] * Quits: matjas (u2247@gateway/web/irccloud.com/x-muxjudovwikamfyn) (Remote host closed the connection)
  1398. # [23:10] * Quits: niftylettuce_ (u2733@gateway/web/irccloud.com/x-jgeucwawljnherjt) (Remote host closed the connection)
  1399. # [23:10] * Quits: dglazkov (u4270@gateway/web/irccloud.com/x-osncsujnsztuntuo) (Remote host closed the connection)
  1400. # [23:10] * Quits: NimeshNeema (u2689@gateway/web/irccloud.com/x-tbtmbioyqpwvgajd) (Remote host closed the connection)
  1401. # [23:10] * Quits: scheib (u4467@gateway/web/irccloud.com/x-geqlkfzkpjsvwobs) (Remote host closed the connection)
  1402. # [23:10] * Quits: hdv (u2376@gateway/web/irccloud.com/x-upzzxvyhjaanobho) (Remote host closed the connection)
  1403. # [23:10] * Quits: bobylito (u3929@gateway/web/irccloud.com/x-qjshiklzcuxpvqur) (Read error: Connection reset by peer)
  1404. # [23:10] * Quits: akamike (u5089@gateway/web/irccloud.com/x-tfiptqoretgxvmhs) (Remote host closed the connection)
  1405. # [23:10] * Quits: Phae (u455@gateway/web/irccloud.com/x-ieicwjmxnunnxheb) (Remote host closed the connection)
  1406. # [23:10] * Quits: timeless (u4015@firefox/developer/timeless) (Remote host closed the connection)
  1407. # [23:10] * Quits: boblet (u1921@gateway/web/irccloud.com/x-uqzvwzrdqxgwtadl) (Remote host closed the connection)
  1408. # [23:10] <annevk> zing
  1409. # [23:10] <zewt> splittin' like it's 1998
  1410. # [23:10] <annevk> hober: you have my sympathy for trying to make this thing work
  1411. # [23:11] <annevk> hober: also, a few places spell "&object>"
  1412. # [23:11] * Quits: KillerX (~anant@nat/mozilla/x-xmocjujqjtglgjkh) (Ping timeout: 244 seconds)
  1413. # [23:11] * KillerX_ is now known as KillerX
  1414. # [23:12] <hober> annevk: ooh, thanks. /me fixes
  1415. # [23:13] <hober> Hixie: heh, i thought you'd like that
  1416. # [23:15] * Quits: dcheng (~dcheng@74.125.59.65) (Quit: leaving)
  1417. # [23:15] * Joins: Scorchin (u1242@gateway/web/irccloud.com/x-hcloimzvkcsbdstt)
  1418. # [23:17] * Quits: KillerX (~anant@nat/mozilla/x-ywqtgkwxfcmqlopq) (Ping timeout: 265 seconds)
  1419. # [23:17] * Joins: weinig_ (~weinig@17.245.88.176)
  1420. # [23:18] * Joins: ryanseddon (u1832@gateway/web/irccloud.com/x-ollpeqzcokwxlxvh)
  1421. # [23:18] * Joins: Phae (u455@gateway/web/irccloud.com/x-llhpsemqwpbfgdrv)
  1422. # [23:19] * Joins: benschwarz (u2121@gateway/web/irccloud.com/x-yibsajvyhvocufny)
  1423. # [23:19] * Joins: KillerX (~anant@nat/mozilla/x-jhiegyxcebwwmlnz)
  1424. # [23:20] * Joins: krijn (u2319@gateway/web/irccloud.com/x-lpqtqnvwousaffca)
  1425. # [23:20] * Joins: hdv (u2376@gateway/web/irccloud.com/x-ybuqormflfhsmlvb)
  1426. # [23:21] * Quits: weinig (~weinig@17.212.155.45) (Ping timeout: 248 seconds)
  1427. # [23:21] * weinig_ is now known as weinig
  1428. # [23:21] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-szrcfpqypjdtchhi)
  1429. # [23:25] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Remote host closed the connection)
  1430. # [23:28] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  1431. # [23:28] * Joins: scheib (u4467@gateway/web/irccloud.com/x-xynbauslkeaamxpq)
  1432. # [23:28] * Joins: dcheng (~dcheng@74.125.59.73)
  1433. # [23:29] * Joins: dglazkov (u4270@gateway/web/irccloud.com/x-mjcynivfyutpissz)
  1434. # [23:33] * Joins: ojan (u5519@gateway/web/irccloud.com/x-yqrstbpjxjqasdfs)
  1435. # [23:33] * Joins: jeremyselier (u2513@gateway/web/irccloud.com/x-zomnsuzfrmkvikym)
  1436. # [23:36] * Joins: karlcow (~karl@nerval.la-grange.net)
  1437. # [23:36] * Quits: JohnAlbin_zzzzzz (~JohnAlbin@114-42-54-208.dynamic.hinet.net) (Read error: Connection timed out)
  1438. # [23:37] * Quits: davidb (~davidb@65.93.94.10) (Quit: davidb)
  1439. # [23:37] * Joins: oal (u4126@gateway/web/irccloud.com/x-fofsexyabbcbrgrp)
  1440. # [23:37] * Joins: othermaciej_ (~mjs@17.245.89.39)
  1441. # [23:38] * Joins: JohnAlbin (~JohnAlbin@114-42-54-208.dynamic.hinet.net)
  1442. # [23:38] * Joins: vidu (u5404@gateway/web/irccloud.com/x-tzznqftfhlpwfttu)
  1443. # [23:38] * Joins: timmywil (~timmywil@host-68-169-154-67.WISOLT2.epbfi.com)
  1444. # [23:39] * Joins: bobylito (u3929@gateway/web/irccloud.com/x-hejnmsseoujamnfk)
  1445. # [23:39] * Quits: othermaciej (~mjs@17.212.155.198) (Quit: othermaciej)
  1446. # [23:39] * othermaciej_ is now known as othermaciej
  1447. # [23:42] * Joins: BruNeX (u4730@gateway/web/irccloud.com/x-vsqvdagvsfxlkyef)
  1448. # [23:43] * Joins: niftylettuce_ (u2733@gateway/web/irccloud.com/x-klmrgnatjtpcwelr)
  1449. # [23:46] * Joins: Raynos (u3611@gateway/web/irccloud.com/x-kswawrrtjwoehfso)
  1450. # [23:48] * Joins: remysharp (u4345@gateway/web/irccloud.com/x-sudsjofnbztgyvcp)
  1451. # [23:48] * Joins: schnoomac (~schnoomac@melbourne.99cluster.com)
  1452. # [23:52] * Joins: abarth_ (u5294@gateway/web/irccloud.com/x-rzirntecllhbnwnt)
  1453. # [23:54] * Quits: necolas (~necolas@host-92-12-160-162.as43234.net) (Remote host closed the connection)
  1454. # [23:55] * Joins: benjoffe_ (~benjoffe@119-252-71-224.static.highway1.net.au)
  1455. # Session Close: Thu Mar 15 00:00:00 2012

The end :)