/irc-logs / freenode / #whatwg / 2011-07-14 / end

Options:

  1. # Session Start: Thu Jul 14 00:00:00 2011
  2. # Session Ident: #whatwg
  3. # [00:00] * Quits: jamesr (~jamesr@216.239.45.82) (Quit: jamesr)
  4. # [00:01] * Joins: cpearce (~chatzilla@203-97-204-82.dsl.clear.net.nz)
  5. # [02:02] * Disconnected
  6. # [02:03] * Attempting to rejoin channel #whatwg
  7. # [02:03] * Rejoined channel #whatwg
  8. # [02:03] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  9. # [02:03] * Set by annevk42 on Mon Oct 19 23:03:06
  10. # [02:06] * Quits: ojan (~ojan@nat/google/x-bxgxzsrxbgxysgzi) (Quit: ojan)
  11. # [02:07] * Quits: hij1nx (~hij1nx@12.149.152.174) (Quit: hij1nx)
  12. # [02:27] * Quits: othermaciej (~mjs@17.246.17.132) (Quit: othermaciej)
  13. # [02:29] * Quits: jwalden (~waldo@2620:101:8003:200:222:68ff:fe15:af5c) (Quit: over and out)
  14. # [02:36] * Quits: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1) (Ping timeout: 264 seconds)
  15. # [02:40] * Quits: david_carlisle (~chatzilla@dcarlisle.demon.co.uk) (Ping timeout: 252 seconds)
  16. # [04:41] * Disconnected
  17. # [04:42] * Attempting to rejoin channel #whatwg
  18. # [04:42] * Rejoined channel #whatwg
  19. # [04:42] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  20. # [04:42] * Set by annevk42 on Mon Oct 19 23:03:06
  21. # [04:42] * Joins: miketaylr (~miketaylr@24.42.93.245)
  22. # [04:46] <roc> did I kill off the "hit-testing and retained graphics" thread?
  23. # [04:48] * Joins: scor (~scor@drupal.org/user/52142/view)
  24. # [04:48] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
  25. # [04:49] <MikeSmith> roc: maybe everybody's just regrouping
  26. # [04:49] <roc> chilling
  27. # [04:49] <MikeSmith> I guess I'm paying more attention to the webrtc thread right now
  28. # [04:52] * Joins: beverloo (~beverloo@adsl-99-154-54-86.dsl.pltn13.sbcglobal.net)
  29. # [04:57] * Quits: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
  30. # [05:12] * Joins: hdhoang (~hdhoang@2406:a000:f0ff:fffe::3461)
  31. # [05:13] <Hixie> roc: how did you kill it?
  32. # [05:14] <roc> I dunno
  33. # [05:14] <roc> by posting technical content?
  34. # [05:14] <roc> but I wasn't the first to do that
  35. # [05:14] <roc> lucky shot, I guess
  36. # [07:16] * Disconnected
  37. # [07:18] * Attempting to rejoin channel #whatwg
  38. # [07:18] * Rejoined channel #whatwg
  39. # [07:18] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  40. # [07:18] * Set by annevk42 on Mon Oct 19 23:03:06
  41. # [07:18] <sephr> this really feels like something that is best handled by CSP
  42. # [07:19] <roc> the problem is legacy browsers that don't understand CSP
  43. # [07:19] <othermaciej> sephr: text/html-sandboxed is meant to fail to load at all in browsers that don't support sandboxed iframes
  44. # [07:19] <othermaciej> CSP does not have that feature - CSP is ignored by browsers that don't support it
  45. # [07:20] <sephr> othermaciej: that doesn't answer my question though about how I sandbox an image/svg+xml game
  46. # [07:20] <othermaciej> sephr: well I could say two things
  47. # [07:20] <othermaciej> 1) the fact that this solution doesn't work for SVG doesn't mean that it's ok to instead adopt a solution that doesn't work for HTML either
  48. # [07:20] <sephr> though I get what you mean about CSP silently degrading
  49. # [07:21] <othermaciej> 2) you can embed SVG in HTML now in browers with HTML5 parsers
  50. # [07:21] <roc> in fact serving your SVG game as text/html might just work
  51. # [07:21] <sephr> if the goal is to make it so that content doesn't load at all in browsers that don't support it, then an application/sandbox media type is more appropriate
  52. # [07:21] <othermaciej> market share of brewer versions that support image/svg+xml but not SVG in text/html is going to be pretty low soon
  53. # [07:21] <sephr> with 2 parameters: params and type
  54. # [07:22] <LoneStar99> Hixie: one last question, what if I want to crop everything but a swiggly line?
  55. # [07:22] <sephr> so Content-Type: application/sandbox; type="image/svg+xml" params="sandbox parameters here"
  56. # [07:22] <LoneStar99> sorry clip
  57. # [07:22] <sephr> Hixie: what do you think about that example?
  58. # [07:22] <othermaciej> putting the sandbox parameters in an HTTP header instead of in the embedding markup defeats the purpose of sandboxing
  59. # [07:22] <sephr> ok then just drop the params parameter
  60. # [07:23] * Quits: shepazu (~schepers@c-98-204-29-73.hsd1.dc.comcast.net) (Quit: shepazu)
  61. # [07:23] <sephr> just application/sandbox;type="normal MIME here"
  62. # [07:23] <othermaciej> using another content type type as a parameter to a generic type is possible, but makes MIME type parsing and dispatch a bit more complicated than browsers
  63. # [07:23] <sephr> ?
  64. # [07:23] <othermaciej> so I would have to ask, what are the use cases?
  65. # [07:23] <sephr> ;type="" is completely compliant MIME
  66. # [07:24] <sephr> just like many video container formats have a codecs= MIME parameter
  67. # [07:24] <sephr> the use cases are user generated content that isn't HTML
  68. # [07:24] <sephr> that you want to sandbox
  69. # [07:24] <othermaciej> sure, it's fine to have a MIME parameter, it's just that browsers don't normally look at MIME parameters just to decide if content is something they know how to render, if it should form an HTML document or an SVG document, etc
  70. # [07:24] <othermaciej> so you are making things a little more complicated
  71. # [07:24] * Joins: Ankheg (~Ankheg@91.224.77.4)
  72. # [07:24] <othermaciej> so you have to explain the benefit
  73. # [07:24] <othermaciej> give a concrete use case
  74. # [07:24] <othermaciej> SVG-based game is already handled by serving SVG in text/html
  75. # [07:24] <sephr> what are you talking about? browsers have to specially support text/html-sandboxed too
  76. # [07:25] <sephr> also svg can't be served as HTML
  77. # [07:25] <sephr> HTML5 can have svg elements in it though
  78. # [07:25] <othermaciej> yep, and it is just one thing to add to a list of constants, not a new parsing rule for MIME types
  79. # [07:25] <sephr> othermaciej: the charset parameter is used all the time in every website you visit
  80. # [07:25] <othermaciej> using HTML5, any SVG content you want can be wrapped in HTML
  81. # [07:25] <sephr> text/html;charset=...
  82. # [07:25] <sephr> no
  83. # [07:25] <othermaciej> the charset parameter is processed at a totally different level than deciding whether it is a supported element
  84. # [07:26] <sephr> if I write an SVG document and expect the document to behave as an XML document as it should, it may break in text/html
  85. # [07:26] <annevk> we could maybe add application/xml-sandboxed at one point
  86. # [07:26] <othermaciej> show me some real SVG content that someone may want to sandbox, but can't be wrapped in enough HTML to serve as text.html
  87. # [07:26] <annevk> but it is not clear that it would be that useful
  88. # [07:26] <Hixie> sephr: i don't see that there's anything to solve. all the content one may want to sandbox can be sandboxed with the existing type.
  89. # [07:26] <othermaciej> but yes, what anne says is true, just adding one type for XML is simpler
  90. # [07:26] <roc> annevk: we could. if t's useful
  91. # [07:26] <Hixie> sephr: you just make a squiggly shape and clip() that
  92. # [07:26] <othermaciej> for most types, making them a subtype of an application/sandboxed the would not be meaningful
  93. # [07:26] <sephr> Hixie: myCircle.localName === "circle" ?
  94. # [07:26] <sephr> nope, it'll === "CIRCLE"
  95. # [07:26] <annevk> yeah, the whole +xml thing was a mistake
  96. # [07:27] <othermaciej> and for XML types, using the more specific type is totally unimportant
  97. # [07:27] <sephr> which will break my hypothetical SVG document
  98. # [07:27] <annevk> no it will be "circle"
  99. # [07:27] <sephr> document.createProcessingInstruction() will also instantly break it
  100. # [07:27] <sephr> because HTML doesn't support processing instructions
  101. # [07:27] * Quits: Ankheg (~Ankheg@91.224.77.4) (Read error: Connection reset by peer)
  102. # [07:27] <sephr> and an error will be thrown
  103. # [07:27] * Quits: cpearce (~chatzilla@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 240 seconds)
  104. # [07:27] <othermaciej> you are wrong, localName will be "circle"
  105. # [07:27] <annevk> lol
  106. # [07:27] <sephr> s/local/node/
  107. # [07:27] <annevk> who uses processing instructions?
  108. # [07:28] <sephr> some guy who wants to?
  109. # [07:28] <othermaciej> show me some real sag content that dynamically creates a processing instruction node
  110. # [07:28] <othermaciej> *svg
  111. # [07:28] <othermaciej> anywhere on the web
  112. # [07:28] <othermaciej> then we can talk
  113. # [07:28] <sephr> that's not the point
  114. # [07:28] <sephr> people will be writing more svg content now that IE supports it
  115. # [07:28] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
  116. # [07:28] <sephr> in the future someone might want to use a processing instruction
  117. # [07:28] <othermaciej> you'll find that most people here are interested in solving real problems, not hypothetical problems
  118. # [07:28] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
  119. # [07:29] <othermaciej> I can't even think of a remotely good reason to dynamically create a processing instruction node
  120. # [07:29] <sephr> ok here's a better example: user generated content that uses custom XML with XSLT
  121. # [07:30] <sephr> that requires an XML document context
  122. # [07:30] <othermaciej> that is a little more plausible, but the intersection of content that does that, and content you want to sandbox, seems pretty small
  123. # [07:30] <roc> and needs to be sandboxed ...
  124. # [07:30] <roc> can you point to such an example?
  125. # [07:30] <sephr> othermaciej: XSLT processing instructions
  126. # [07:30] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
  127. # [07:30] * Hixie bows out of the conversation
  128. # [07:30] <sephr> the world of warcraft site used to do tht
  129. # [07:30] <sephr> that*
  130. # [07:30] <sephr> that being using XSLT
  131. # [07:30] <sephr> that's a pretty large site
  132. # [07:30] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
  133. # [07:31] <sephr> also I know a few sites that use it
  134. # [07:31] <othermaciej> and does anyone have a use case for loading the world of warcraft site in a sandboxed iframe?
  135. # [07:31] <sephr> you don't get it
  136. # [07:31] <sephr> what if the world of warcraft site wants to allow user submissions
  137. # [07:31] <sephr> of minigames or whatever
  138. # [07:31] <othermaciej> user submissions that themselves use XSLT?
  139. # [07:31] <roc> minigames that use XSLT?
  140. # [07:31] <sephr> and they want to make some official minigames
  141. # [07:32] <sephr> they won't be able to use what they usually use
  142. # [07:32] <sephr> just because they can't sandbox XML
  143. # [07:32] <othermaciej> I don't think I've ever seen a Web-based game that used XSLT
  144. # [07:32] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
  145. # [07:32] <roc> I don't think Blizzard's Web developers would have difficulty NOT using XSLT
  146. # [07:32] <sephr> and that invalidates my point somehow?
  147. # [07:33] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
  148. # [07:33] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
  149. # [07:33] <sephr> that's like publishing this in the spec: image/svg+xml is now to be banned from interacting with HTML5 documents
  150. # [07:33] <sephr> you may no longer use X Y or Z
  151. # [07:33] <othermaciej> well, roc and I both have some responsibility for how the engineering time of particular browser vendors is spent
  152. # [07:33] <annevk> that's nonsense
  153. # [07:33] <roc> find us a Web developer who wants to build a site with sandboxed user submissions, and a user who wants to submit something that uses XSLT
  154. # [07:33] <sephr> yes most people don't use X Y or Z
  155. # [07:33] <sephr> so of course it won't matter to you
  156. # [07:34] <othermaciej> I at least am usually interested in Safari engineers spending time on things that Web developers *actually* want to do
  157. # [07:34] * Quits: ezoe (~ezoe@112-68-245-207f1.kyt1.eonet.ne.jp) (Ping timeout: 264 seconds)
  158. # [07:34] <othermaciej> as opposed to some theoretical thing that you could imagine someone could conceivably do
  159. # [07:34] <othermaciej> we have our hands full just meeting the real requests for functionality
  160. # [07:34] <sephr> How can I provide current examples of stuff that isn't going to happen *until* you can sandbox SVG?
  161. # [07:34] <sephr> for example
  162. # [07:34] <roc> just find real developers and users who want to do it on real sites
  163. # [07:35] <roc> but currently can't
  164. # [07:35] <othermaciej> just provide an example of SVG that in theory could be usefully sandboxed, but can't be served as text/html
  165. # [07:35] <sephr> there are no sites that accept SVG submissions because you can't sandbox it
  166. # [07:35] <othermaciej> or Web developers who wish they could do it but can't
  167. # [07:35] <annevk> they could host it on separate domains at the moment
  168. # [07:35] <annevk> which is how we found out about the need for sandboxed HTML
  169. # [07:35] * Parts: LoneStar99 (~dmontalvo@189.161.191.158)
  170. # [07:36] <othermaciej> maybe you even have a first-person case of some SVG that you wish you could put in a sandboxed iframe, but alas, it uses something that can't be done in the text/html syntax
  171. # [07:36] <sephr> othermaciej: <svg xmlns="http://www.w3.org/2000/svg"><script type="application/ecmascript">if(!document.xmlVersion){throw 'nope'}/*app here*/</script></svg>
  172. # [07:36] <sephr> that XML game right there won't work in text/html for example
  173. # [07:36] <sephr> shortest example possible though of course
  174. # [07:36] * Joins: Ankheg (~Ankheg@91.224.77.4)
  175. # [07:36] <othermaciej> that doesn't look like a very fun game
  176. # [07:37] <othermaciej> the idea here is to find real-world examples that show the potential benefits
  177. # [07:37] <sephr> since when it is whatwg's choice to decide whether or not I can use xml or not though?
  178. # [07:37] <annevk> xmlVersion is going away so that wouldn't work anyway
  179. # [07:37] <othermaciej> not make up fake examples that are created solely to prove your point
  180. # [07:37] <sephr> annevk: cite please
  181. # [07:37] <annevk> and actually, if it didn't go away it would be on all documents
  182. # [07:37] <sephr> I use that for detecting if a context is xml
  183. # [07:37] <annevk> sephr, http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
  184. # [07:37] <othermaciej> ultimately you are not just asking the whatwg, you are asking browser vendors to implement something
  185. # [07:38] <sephr> how will I detect if a document is xml now without testing node case?
  186. # [07:38] * Joins: LBP (~Mirc@pD9EB1AC9.dip0.t-ipconnect.de)
  187. # [07:38] <sephr> also I still see xmlVersion on http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
  188. # [07:38] <othermaciej> it would be nice if the html-ness vs xml-ness of a document was exposed, but I don't think there is any good clean API for it
  189. # [07:38] <sephr> othermaciej: there is: it's !!document.xmlVersion
  190. # [07:39] <sephr> it's null in HTML
  191. # [07:39] <sephr> 1.X in XML documents
  192. # [07:39] <annevk> sephr, it is in the section of removed features
  193. # [07:39] * Joins: b0o-supermario (b0o-superm@mlb-msl1.info)
  194. # [07:40] <b0o-supermario> Hi
  195. # [07:40] <othermaciej> I suppose that is less indirect than other ways
  196. # [07:41] <sephr> annevk: I don't see a removed features list
  197. # [07:42] <sephr> s/list/section/
  198. # [07:42] <Hixie> sephr: it's easier to make that example work in text/html-sandboxed than it is for us to introduce a way to do this in xml
  199. # [07:42] <annevk> sephr, euh... search for "Historical"
  200. # [07:43] <sephr> ok thanks
  201. # [07:43] <sephr> Hixie: so there will never be application/xml-sandboxed just because it's unpopular?
  202. # [07:43] <Hixie> sephr: no, that's not what i'm saying
  203. # [07:43] <sephr> ok
  204. # [07:43] <Hixie> sephr: we try to do things in the order that they are important
  205. # [07:43] <Hixie> sephr: we first address the things that are most problematic
  206. # [07:44] <Hixie> sephr: and we walk down this list
  207. # [07:44] <Hixie> sephr: it's possible that in 198 years, we'll be so far down this list that sandboxing svg sent as xml will be the highest priority
  208. # [07:44] <Hixie> sephr: but currently, evidence suggests that it's not a high priority
  209. # [07:44] <Hixie> sephr: so we can't afford to care
  210. # [07:44] * Parts: nimbu (~Adium@c-24-18-47-160.hsd1.wa.comcast.net)
  211. # [07:45] <sephr> though your list should also weighed by how easy something is to do
  212. # [07:45] <othermaciej> easy to spec, or easy to implement?
  213. # [07:45] <sephr> looking at the text/html-sandboxed documentation it looks like it'd be a simple copy and replace
  214. # [07:45] <sephr> I mean copy and paste
  215. # [07:46] <othermaciej> of spec text or code?
  216. # [07:46] <sephr> spec text
  217. # [07:46] <sephr> no major changes
  218. # [07:47] <othermaciej> since implementation is orders of magnitude more costly than writing the spec text for even the most trivial of features, it seems a bit silly to weight by how easy it is to spec something
  219. # [07:47] <othermaciej> furthermore, for anything security-sensitive, if it is really easy to spec *or* to code, you're probably doing it wrong
  220. # [07:48] <sephr> the less complex security spec text is the safer
  221. # [07:48] <sephr> just because code isn't complex doesn't mean it's more likely to be insecure
  222. # [07:48] <othermaciej> indeed, and it takes a lot of time to minimize complexity and to make sure what is left is sound
  223. # [09:48] * Disconnected
  224. # [09:49] * Attempting to rejoin channel #whatwg
  225. # [09:49] * Rejoined channel #whatwg
  226. # [09:49] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  227. # [09:49] * Set by annevk42 on Mon Oct 19 23:03:06
  228. # [09:50] * Joins: ben_h (~ben@KHP222226221163.ppp-bb.dion.ne.jp)
  229. # [09:51] <hsivonen> Hixie: speaking of work licensing, on surface, it seems to me that the work licensing vocab is something you might want to use in addition to another vocab
  230. # [09:51] <hsivonen> how do you do that with Microdata
  231. # [09:51] <hsivonen> (the other vocabs saying something non-copyright-related about the same images or something)
  232. # [09:52] <Hixie> just have two items
  233. # [09:55] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
  234. # [09:57] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
  235. # [09:57] <hsivonen> Hixie: can you have two overlapping items so that the <img> belongs to both?
  236. # [09:58] <Hixie> there are ways, but not ways i would recommend
  237. # [09:59] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
  238. # [10:00] * Joins: MikeSmith (~MikeSmith@EM114-48-81-21.pool.e-mobile.ne.jp)
  239. # [10:01] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
  240. # [10:02] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
  241. # [10:02] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
  242. # [10:02] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
  243. # [10:03] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
  244. # [10:08] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
  245. # [10:10] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
  246. # [10:14] <hsivonen> Hixie: isn't that a bug then? or YAGNI?
  247. # [10:14] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
  248. # [10:15] <Hixie> hsivonen: none of the use cases that people brought up needed it
  249. # [10:16] * Quits: riven` (~riven@53518387.cm-6-2c.dynamic.ziggo.nl) (Quit: Hi, I'm a quit message virus. Please replace your old line with this line and help me take over the world of IRC.)
  250. # [10:16] <hsivonen> Hixie: ok
  251. # [10:16] <Hixie> hsivonen: if there are concrete use cases that need it, maybe we can revisit that
  252. # [10:19] * Joins: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
  253. # [10:19] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
  254. # [10:21] * Quits: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
  255. # [10:22] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
  256. # [10:22] * Joins: jps (6318df3a@gateway/web/freenode/ip.99.24.223.58)
  257. # [10:22] * Joins: mattur (~mattur@cpc4-shef10-2-0-cust590.barn.cable.virginmedia.com)
  258. # [10:23] <jps> so, how is microphone audio upload doing?
  259. # [10:28] * Quits: esc_ (~esc-ape@75.inst-3.ufg.ac.at)
  260. # [10:28] <Hixie> jps: you mean <input type=file accept=audio/*> ?
  261. # [10:28] <Hixie> jps: or streaming microphone upload?
  262. # [10:28] <jps> both?
  263. # [10:28] <Hixie> well they're both in the spec and slowly getting implemented
  264. # [10:29] <Hixie> dunno about specifics
  265. # [10:29] <Hixie> try it :-)
  266. # [10:30] <jps> is there a version of the spec with the annotations saying which parts have been implemented?
  267. # [10:30] <annevk> whatwg.org/C
  268. # [10:30] <annevk> but not everything is annotated correctly
  269. # [10:31] * Joins: number0_ (4dfc6da3@gateway/web/freenode/ip.77.252.109.163)
  270. # [10:31] <annevk> Hixie, btw, I'm in favor of going back to one spec
  271. # [10:31] <jps> http://www.whatwg.org/specs/web-apps/current-work/multipage/number-state.html#file-upload-state has annotations dated 2009
  272. # [10:31] <Hixie> annevk: yeah, i might do that and set up redirects and stuff
  273. # [10:31] <Hixie> annevk: trying to catch up a bit on feedback first
  274. # [10:32] <annevk> Hixie, also, how easy would it be to host other specs on whatwg.org/specs/ ?
  275. # [10:32] <annevk> Hixie, like DOM Range and such
  276. # [10:33] <annevk> Hixie, and maybe even DOM Core / XHR for better copyright conditions
  277. # [10:33] * Quits: number0_ (4dfc6da3@gateway/web/freenode/ip.77.252.109.163) (Client Quit)
  278. # [10:33] <Hixie> should be possible to figure something out
  279. # [10:33] <Hixie> either in .../specs/ or on separate subdomains
  280. # [10:33] <Hixie> (subdomains are easier to set up, but subdirectories should be possible too)
  281. # [10:33] <Hixie> not right now though, it's way past my bed time
  282. # [10:34] <Hixie> catch me online tomorrow and let's figure something out
  283. # [10:35] <annevk> no rush
  284. # [10:35] <annevk> and good night
  285. # [10:35] <Hixie> k
  286. # [10:35] <Hixie> nn
  287. # [10:35] <jps> is http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#the-audio-element for microphone streaming? I'm having trouble finding that part
  288. # [10:35] <annevk> getUserMedia is
  289. # [10:36] <jps> thanks
  290. # [12:37] * Disconnected
  291. # [12:38] * Attempting to rejoin channel #whatwg
  292. # [12:38] * Rejoined channel #whatwg
  293. # [12:38] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  294. # [12:38] * Set by annevk42 on Mon Oct 19 23:03:06
  295. # [12:42] * Quits: bzed (~bzed@devel.recluse.de) (Remote host closed the connection)
  296. # [12:42] * Joins: bzed (~bzed@devel.recluse.de)
  297. # [12:45] * Quits: hasather (~davidh@pat-tdc.opera.com) (Quit: Ex-Chat)
  298. # [12:45] * Joins: Ms2ger (~Ms2ger@91.181.39.135)
  299. # [12:46] * Joins: erlehmann (~erlehmann@82.113.99.2)
  300. # [12:49] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
  301. # [12:53] * Quits: dhx1 (~anonymous@60-242-108-164.static.tpgi.com.au) (Remote host closed the connection)
  302. # [13:06] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
  303. # [13:06] * Quits: Yudai (~Yudai@p86e10e.hkidnt01.ap.so-net.ne.jp) (Quit: Tiarra 0.1+svn-36726: SIGTERM received; exit)
  304. # [13:09] * Joins: Yudai (~Yudai@pa35df2.hkidnt01.ap.so-net.ne.jp)
  305. # [13:09] * Quits: erlehmann (~erlehmann@82.113.99.2) (Read error: Connection reset by peer)
  306. #
  307. # Session Start: Thu Jul 14 20:03:35 2011
  308. # Session Ident: #whatwg
  309. # [20:03] * Now talking in #whatwg
  310. # [20:03] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  311. # [20:03] * Set by annevk42 on Mon Oct 19 23:03:06
  312. # [20:03] <TabAtkins> Google will do that for you now.
  313. # [20:03] <timeless> something to show what the greatest distance you could be from a major city
  314. # [20:03] <timeless> TabAtkins: i tried, and it isn't working
  315. # [20:03] <manu-db> hsivonen: seems hacky to me - think about it a bit more and let me know if you still think we should be adding attributes for vocabulary terms.
  316. # [20:04] <hsivonen> manu-db: I expect it to be common that some people want subitems to be just strings while others want them to be deeper objects
  317. # [20:04] <hsivonen> it would be nice to have flattening deeper object to a title into a string
  318. # [20:04] <hsivonen> manu-db: suppose you have the concept for an album
  319. # [20:04] <hsivonen> manu-db: for some cases, you may want tracks to be just track names
  320. # [20:04] * Joins: jwalden (~waldo@2620:101:8003:200:222:68ff:fe15:af5c)
  321. # [20:05] <cygri> hsivonen +1
  322. # [20:05] <TabAtkins> @itemalt
  323. # [20:05] <hsivonen> manu-db: in other cases, you may want tracks themselves to have properties
  324. # [20:05] <hsivonen> manu-db: of you may have a list of people be just names or objects with more properties
  325. # [20:05] * Joins: david_carlisle (~chatzilla@dcarlisle.demon.co.uk)
  326. # [20:05] <cygri> rdf was supposed to have that at some point, but they couldn't agree on how to do it properly, and it ended up as the underspecified rdf:value property that no one uses
  327. # [20:05] <TabAtkins> (But really, the "I want something to both be a string and have more properties" thing is commonly useful.
  328. # [20:06] * Quits: pdr (~pdr@nat/google/x-xpwnxcquzyoehydf) (Quit: pdr)
  329. # [20:06] <manu-db> cygri, hsivonen, TabAtkins: I agree - but that's what we use rdfs:label for - and really, this is application layer stuff.
  330. # [20:06] * jernoble is now known as jernoble|afk
  331. # [20:06] <manu-db> it seems to conflate pushing application logic down into the data model.
  332. # [20:07] * Joins: pdr (~pdr@nat/google/x-jmunhqcebsbvldjp)
  333. # [20:07] <TabAtkins> manu-db: Really? I mean, this pattern is useful for things like the CSSOM.
  334. # [20:07] <hsivonen> manu-db: if we had a framework-level way to have a name for things, we could have both forward compat (people find they want to expand a value from string to a subitem later) and a way to generate simpler views generically
  335. # [20:07] <Philip`> http://www.wolframalpha.com/input/?i=paris+to+london is nice for finding distances between places
  336. # [20:07] <manu-db> I'm not saying it isn't useful - just that that sort of stuff is better handled at the application layer "What string should I use to display this item on a page"
  337. # [20:07] <cygri> manu-db, to some extent, *everything* is better handled at the application layer
  338. # [20:07] * Joins: brucel (~brucel@cpc3-smal11-2-0-cust48.perr.cable.virginmedia.com)
  339. # [20:08] <manu-db> TabAtkins: I know nothing of CSSOM from a spec point of view - so I can't intelligently discuss it.
  340. # [20:08] <cygri> manu-db, it's just that some things happen to be needed so often, so why not generlize it. type being the prime example
  341. # [20:08] <hsivonen> timeless: was "help" about city distances?
  342. # [20:08] <timeless> yeah
  343. # [20:08] <hsivonen> timeless: I don't have a better suggestion than Philip`
  344. # [20:08] <AryehGregor> manu-db, he's saying that for <span style="color: red">, it's useful to have span.style.color == "red", but also have properties like span.style.color.asHex == "#ffffff" or something.
  345. # [20:08] <AryehGregor> (not sure what the exact proposed syntax is)
  346. # [20:09] <timeless> hsivonen / Philip` : the problem is that i don't want to find the distance from any city to any other city
  347. # [20:09] <timeless> i want a limit on distances between cities :)
  348. # [20:09] <timeless> > most of Europe is pretty close to most of the rest of Europe. You probably can't find a point which is >125miles from a major city in continental Europe (this is based on eyeballing France). For the Nordic countries, on a per country basis, and picking an unreasonable definition of a city, that limit is probably closer to 300miles.
  349. # [20:09] <Ms2ger> Well, more intersting would be style.color.red
  350. # [20:09] <manu-db> AryehGregor: oh - thanks, that helps clarify. Still having a hard time figuring out what the use case for this is...
  351. # [20:09] <timeless> does the above statement sound reasonable?
  352. # [20:09] <AryehGregor> Ms2ger, . . . what would that do?
  353. # [20:09] <TabAtkins> manu-db: Short version is, the CSSOM would like to both expose a property's value as a string (what you inputted) and as a complex object that can be manipulated more easily.
  354. # [20:09] <Ms2ger> Give you an int
  355. # [20:10] <manu-db> TabAtkins: But that's what Projections do in the RDFa API.
  356. # [20:10] <Ms2ger> Like, style.color.red/2
  357. # [20:10] <Ms2ger> Like, style.color.red/=2, that is
  358. # [20:10] <hsivonen> timeless: does any country have a "reasonable" definition for a "city" anymore?
  359. # [20:10] <timeless> hsivonen: doubtful
  360. # [20:10] <Philip`> timeless: Presumably restricted to points which are in the country and are not in the sea? :-)
  361. # [20:10] <hsivonen> are cities in Britain still defined in terms of bishops?
  362. # [20:10] <manu-db> var tab = document.data.getProjection("#tab", projectionTemplate);
  363. # [20:10] <manu-db> tab.name === "Tab Atkins Jr."
  364. # [20:10] <manu-db> something like that?
  365. # [20:11] <timeless> hsivonen: the context is someone claims that European countries allowed the "free market" to provide "internet access"
  366. # [20:11] <AryehGregor> Ms2ger, okay, so what would *that* do?
  367. # [20:11] <Philip`> hsivonen: http://www.bbc.co.uk/news/magazine-13841482 - "The definition of a city in the UK is a place which has been granted city status by the monarch."
  368. # [20:11] <timeless> and got it for everyone without government regulation
  369. # [20:11] <timeless> Philip`: nice
  370. # [20:11] <TabAtkins> AryehGregor: That would cut the red component of the color in half.
  371. # [20:11] <AryehGregor> Philip`, laws are also only approved by the monarch, officially.
  372. # [20:11] <timeless> and yeah, iirc there are 2 cities which don't have a bishop
  373. # [20:11] <hsivonen> (surprisingly, defining it in terms of bishops is much better than defining it in terms of "you get the call yourself a city if you can bear the laughter of the neighboring village")
  374. # [20:11] <AryehGregor> TabAtkins, oh, I see, yeah.
  375. # [20:11] <AryehGregor> That's useful.
  376. # [20:12] <TabAtkins> manu-db: Where are projections defined?
  377. # [20:12] <hsivonen> Philip`: does that correlate with Anglican dioceses?
  378. # [20:13] <hsivonen> Philip`: reading the article, it seems it doesn't anymore
  379. # [20:13] <manu-db> TabAtkins: http://www.w3.org/TR/2011/WD-rdfa-api-20110419/#advanced-concepts
  380. # [20:13] <TabAtkins> Ah, I was looking in rdfa-api
  381. # [20:13] <manu-db> not that we're still re-working through the interfaces heavily
  382. # [20:13] <TabAtkins> I mean, rdfa-syntax
  383. # [20:13] <manu-db> most everything is going to change in that doc
  384. # [20:13] <manu-db> but the basic premise is there.
  385. # [20:14] <Philip`> hsivonen: Doesn't seem to, and http://en.wikipedia.org/wiki/City_status_in_the_United_Kingdom says "In the twentieth century, it was explicitly recognised that the status of city in England and Wales would no longer be bound to the presence of a cathedral, and grants made since have been awarded to communities on a variety of criteria, including population size."
  386. # [20:14] * Joins: stalled (~stalled@unaffiliated/stalled)
  387. # [20:14] <manu-db> we're also working through these concepts with JSON for Linked Data (JSON-LD): http://json-ld.org/playground/
  388. # [20:14] <hsivonen> timeless: uh, the availability of Internet access in Europe *is* based on govt. regulation
  389. # [20:14] <manu-db> The whole concept of taking a graph (which sucks to work with directly) and converting it into a nice JSON object.
  390. # [20:14] <timeless> hsivonen: yeah...
  391. # [20:14] <Philip`> Cambridge is a city but doesn't have a cathedral and doesn't have much population either (apparently 100K, of which a quarter are students)
  392. # [20:18] <hsivonen> manu-db: for JSON, this would mean that someone defines a property to be string-valued first and then you find you need it to be an object. if you haven't defined processor behavior forward-compatibly so that you get to replace a string with an object with a special key in it, you are in trouble
  393. # [20:18] <TabAtkins> (That's precisely the problem the CSSOM has, btw.)
  394. # [20:19] <manu-db> hsivonen: are you talking about getProjection(), JSON-LD, or something else, Henri (sorry, involved in slightly different conversations w/ different folks on here)
  395. # [20:19] <annevk> What is that, TabAtkins?
  396. # [20:20] <hsivonen> manu-db: I'm talking about JSON in general. dunno if JSON-LD has solved this
  397. # [20:20] <TabAtkins> annevk: That we started with a string-based API, and then want to change to an object-based one. We can't do an easy upgrade, so we have to instead invent a new access method for the latter api.
  398. # [20:20] <annevk> ah yeah
  399. # [20:20] <hsivonen> I guess I should read up on JSON-LD before talking about problems that may already be solved
  400. # [20:21] <annevk> CSSOM is ugly
  401. # [20:21] <hsivonen> (though not solved for microdata and RDFa, AFAICT)
  402. # [20:21] * Joins: jamesr (~jamesr@216.239.45.82)
  403. # [20:21] <Ms2ger> s/cssom/the web/
  404. # [20:22] <manu-db> hsivonen: Could you write out the problem in code... or interpretive dance? (your choice)
  405. # [20:22] <Philip`> timeless: Maybe you could use OpenStreetMap's data, then extract places with a sufficiently large population (I have no idea if they provide that data reliably), then just do something like a Voronoi diagram and find the largest cell
  406. # [20:22] <Philip`> timeless: Or you could just pluck a number out of nowhere and claim it forcefully and assume nobody is going to check
  407. # [20:23] <Ms2ger> That would be the "HTMLWG approach"?
  408. # [20:23] <manu-db> Is the problem this: in 2011, my code does this to access an object describing you: if(henri.name instanceof String) { DO_SOMETHING };
  409. # [20:24] <erlehmann> manu-db, is there some kind of json pastebin with an API that works cross origin?
  410. # [20:24] <manu-db> then in 2012, that code fails because henri.name instanceof Object == true ?
  411. # [20:24] <erlehmann> i have a “linked data” project regarding kissology.
  412. # [20:24] <TabAtkins> manu-db: Basically, yes.
  413. # [20:24] <erlehmann> (no joke.)
  414. # [20:24] <TabAtkins> manu-db: And that sounds perfectly reasonable, as "name" may start as a string, then get broken into first/last/etc
  415. # [20:25] <manu-db> erlehmann: I don't understand the question - are you asking: "Can I just dump in a URL in the input field and get output?"
  416. # [20:25] <Philip`> Strings are objects - can't you just stick more properties (or getters) onto them, and not care about anyone using the APIs in Java?
  417. # [20:25] <TabAtkins> Philip`: Apparently augmenting DOMStrings wasn't acceptable for the CSSOM. Anne would know more.
  418. # [20:25] <erlehmann> manu-db, some kind of semi-permanent archive for json data, accessible via script.
  419. # [20:25] <Philip`> It would be admittedly quite evil
  420. # [20:26] <Philip`> and highly surprising to developers
  421. # [20:26] <AryehGregor> Wouldn't it mean typeof foo == "object" instead of "string"?
  422. # [20:26] <TabAtkins> Yes.
  423. # [20:26] <AryehGregor> Or else you'd have a string that's magical.
  424. # [20:26] * jernoble|afk is now known as jernoble
  425. # [20:27] <TabAtkins> It'd be an object with a special toString, I guess.
  426. # [20:27] <AryehGregor> That might work for compat, or so you'd think.
  427. # [20:27] <hsivonen> manu-db: at time t_0 I write code that assumes that tracks in an album are strings. At time t_1, someone decides that all tracks become objects that have properties for performers, etc. I want my code to keep working with data that is published with performers so that my code just gets the track title for each track and ignores the performers
  428. # [20:27] <manu-db> erlehmann: There is nothing that I know of that fits that description, sorry. Are you looking for some large repository of JSON data?
  429. # [20:27] <TabAtkins> Again, you'd have to ask annevk why that wasn't workable for the cssom
  430. # [20:27] <hsivonen> manu-db: so at t_0, I need to know what the "must ignore" forward compat rules are
  431. # [20:28] <erlehmann> manu-db, no. doesn't matter in the end, i have written my own script for that task. forget about it.
  432. # [20:28] <annevk> TC39 did not like magic strings
  433. # [20:28] <annevk> and changing typeof to object would cause too much breakage
  434. # [20:28] * timeless sighs
  435. # [20:28] <hsivonen> does WebKit still have magic strings?
  436. # [20:28] <TabAtkins> re hsivonen's case, strings are probably priviledged here in being something that's very likely to be expanded into a complex object in the future, much more so than other datatypes.
  437. # [20:29] <TabAtkins> I guess we can't just subclass DOMString to CSSOMPropertyValue or something.
  438. # [20:29] <manu-db> hsivonen: So, strictly speaking, in the JSON-LD framing case (which may find its way back into RDFa Projections) - you can specify that you want the value to be a string as a matching rule. That is, you can say: "Make sure that this value is a string, or set the value to 'null'"
  439. # [20:30] <manu-db> hsivonen: So, you are somewhat protected against objects that declare objects for a certain property instead of a string.
  440. # [20:31] <TabAtkins> manu-db: Only if you explicitly, every time you query for a string property, specify that you want it as a string. :/
  441. # [20:31] <hsivonen> manu-db: I don't want to fall back to null. I want to fall back onto what's most like the name of the object
  442. # [20:31] <manu-db> but that's kind of annoying because your application won't work with half of the data out there... it's a messy problem. You either fix it in the application layer, or you restrict the application layer to only work with a subset of the data that you deem appropriate. This is our current thinking on the matter, which could change wildly based on implementation feedback/guidance.
  443. # [20:32] <hsivonen> manu-db: this is totally an armchair comment--not based in impl. experience :-)
  444. # [20:32] <hsivonen> (my comment is an armchair one that is)
  445. # [20:32] <manu-db> TabAtkins, hsivonen: Again, this seems like an application layer thing. Different applications require different things to be used when serialized to their "string forms"
  446. # [20:32] <manu-db> I agree that it would be nice if everyone could decide on the string to use to refer to an object.
  447. # [20:33] * hsivonen 's current chair has neither armrests nor a backrest, though
  448. # [20:33] <manu-db> but data is dirty - very difficult for people in the same industry to even agree what an object should be serialized to in string form.
  449. # [20:33] <TabAtkins> manu-db: Actually, this now sounds like a reasonably common case, now that I'm thinking of it. Upgrading a string to an object happens reasonably often in the real world, and having an easy way to specify on the data level what the legacy string form of something is seems potentially useful.
  450. # [20:35] * TabAtkins will propose something for Microdata about it.
  451. # [20:35] <manu-db> TabAtkins, hsivonen: I don't disagree - just trying to figure out how to make that happen in a generic way. We'd probably implement in JSON-LD and may backport to RDFa Projections. The goal of both of those is to take messy graph data and present it to a Web Developer in a way that is just a simple JSON object.
  452. # [20:37] <hsivonen> for a JSON-based thing that has no legacy yet (dunno if JSON-LD fits that criterion), one could reserve the object key "name" for the purpose and decree that all objects that used to be just string have to call the property that's closest to the legacy string 'name'
  453. # [20:38] <hsivonen> hmm. that's grammatically ambiguous English, because English doesn't allow me to use commas to mark the scope of "that"
  454. # [20:38] <manu-db> hsivonen: That would be fairly easy to do in JSON-LD.
  455. # [20:38] <TabAtkins> hsivonen: Context resolves all three "that"s for me.
  456. # [20:39] <manu-db> TabAtkins, hsivonen: For an example of what framing looks like in JSON-LD, go here: http://json-ld.org/playground/ and then click on the "Library" example. Then click between the "Normalized" and "Framed" tabs.
  457. # [20:40] <TabAtkins> manu-db: Ah yeah, that's very amenable to solving this problem (if it's determined to be worthwhile to solve.)
  458. # [20:40] <manu-db> (or the TURTLE and Framed tabs)
  459. # [20:40] <TabAtkins> Ah, yeah, Turtle's a lot easier to read than "Normalized". ^_^
  460. # [20:40] <hsivonen> I'd expect books to collapse to their dc:title
  461. # [20:41] * manu-db nods - normalized is just there for digital signatures in PaySwarm: http://payswarm.com/
  462. # [20:41] <hsivonen> manu-db: shades of XML Canonicalization and Signature, eh?
  463. # [20:42] * manu-db grins.
  464. # [20:42] <manu-db> We hope this mechanism sucks less.
  465. # [20:42] * Quits: J_Voracek (~J_Voracek@71-213-86-140.slkc.qwest.net) (Ping timeout: 276 seconds)
  466. # [20:42] <manu-db> Solving this problem was actually worse than XML Canonicalization and Signature... because you have to deterministically normalize a graph, which can have cycles.
  467. # [20:43] <manu-db> I don't think they had to deal with that problem in XML Canonicalization (but I could be entirely mistaken)
  468. # [20:43] <hsivonen> at least XML Canonicalization was tricky enough that they had to try again with Exclusive Canonicalization...
  469. # [20:44] <manu-db> We've discovered that all of the degenerate cases for graph normalization have to do with graphs that are completely useless in the real world (which is good)
  470. # [20:45] <manu-db> but it still opens up the possibility of poisoned messages (for digital signatures) that cause the solution to stray into NP territory (which can be detected and killed)
  471. # [20:46] <manu-db> in other words - we think the normalization algorithm we have for JSON-LD will work for useful graphs as well as useless graphs where the number of unlabeled nodes without any properties stay below a developer-defined threshold.
  472. # [20:47] <manu-db> and the entire processor can be implemented in less than 1000 lines of Python.
  473. # [20:48] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
  474. # [20:48] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
  475. # [20:50] * Quits: hdhoang (~hdhoang@203.210.153.105) (Quit: Leaving.)
  476. # [20:50] * manu-db grins - it never fails - discussing graph normalization algorithms kills the conversation. Every time. :P
  477. # [20:50] <TabAtkins> I'm writing an email!
  478. # [20:51] * manu-db nice try, Tab.
  479. # [20:51] <jamesr> he's normalizing his graph, amirite?!
  480. # [20:51] <Ms2ger> So, is svg:script supposed to work in text/html in Chrome?
  481. # [20:51] <TabAtkins> I normalized your mom's graph. No node left blank.
  482. # [20:53] * Quits: david_carlisle (~chatzilla@dcarlisle.demon.co.uk) (Ping timeout: 255 seconds)
  483. # [20:54] * Quits: miketaylr (~miketaylr@206.217.92.186) (Read error: Connection reset by peer)
  484. # [20:54] <manu-db> oooh!
  485. # [20:54] * Quits: simplicity- (~simpli@unaffiliated/simplicity-) (Read error: Operation timed out)
  486. # [20:56] * Joins: miketaylr (~miketaylr@206.217.92.186)
  487. # [20:56] * Joins: CvP (~CvP@123.49.22.10)
  488. # [20:58] <hsivonen> Ms2ger: it would be rather shocking if it didn't
  489. # [20:59] * Quits: charlvn (~charlvn@41.0.48.54) (Read error: Connection timed out)
  490. # [20:59] <Ms2ger> That's what I thought
  491. # [21:00] * Joins: charlvn (~charlvn@41.0.48.54)
  492. # [21:04] <AryehGregor> Could someone explain to me why Aurora 7.0a2 refuses to install Firebug even though I have extensions.checkCompatibility.7.0a2 set to false in about:config?
  493. # [21:04] <AryehGregor> Better, could someone explain why there's no extensions.checkCompatibility.aurora or something?
  494. # [21:04] <AryehGregor> Aurora is not really usable for testing if extensions break every time you upgrade.
  495. # [21:04] <jcranmer> there is now
  496. # [21:04] <Ms2ger> There is?
  497. # [21:04] <jcranmer> checkCompatibility.<version> doesn't work for nightly/aurora (maybe beta?)
  498. # [21:05] * Joins: mpt (~mpt@91.189.88.12)
  499. # [21:05] * Quits: mpt (~mpt@91.189.88.12) (Changing host)
  500. # [21:05] * Joins: mpt (~mpt@canonical/mpt)
  501. # [21:05] <AryehGregor> Apparently not.
  502. # [21:05] <AryehGregor> So what should I use instead?
  503. # [21:05] * AryehGregor searches Bugzilla
  504. # [21:05] <timeless> extensions.checkCompatibility.nightly
  505. # [21:06] <timeless> is what i use
  506. # [21:06] <timeless> you could just install Add-on Compat thingy
  507. # [21:06] <AryehGregor> That works for Aurora?
  508. # [21:06] <timeless> no :) you should suffer w/ nightly like everyone else :)
  509. # [21:08] <AryehGregor> How stable is nightly in practice?
  510. # [21:08] <timeless> i don't have it crash
  511. # [21:08] <timeless> but it's unstable in that it pesters me to update every day
  512. # [21:08] <timeless> typically twice each day i pay attn
  513. # [21:08] <Ms2ger> I only have it crash when I break it myself
  514. # [21:09] <timeless> yeah, i only have it die if i terminate the process because i want to save my session and restart my computer
  515. # [21:09] * Quits: jarek (~jarek@unaffiliated/jarek) (Remote host closed the connection)
  516. # [21:09] <timeless> or if i want to quit it because the *stupid* flash updater demands it not be running in order to update flash
  517. # [21:10] <AryehGregor> Oh, I think the right magic incantation is extensions.checkCompatibility.7.0a, not a2.
  518. # [21:10] <AryehGregor> Sigh.
  519. # [21:10] <timeless> yeah, that's likely
  520. # [21:10] <AryehGregor> Well, the add-on compat extension seems to work so far, so it's all good.
  521. # [21:10] <timeless> i have:
  522. # [21:10] <timeless> extensions.checkCompatibility.7.0
  523. # [21:10] <timeless> extensions.checkCompatibility.7.0a
  524. # [21:10] <timeless> extensions.checkCompatibility.8.0
  525. # [21:10] <timeless> extensions.checkCompatibility.8.0a
  526. # [21:10] * Joins: J_Voracek (~J_Voracek@c-76-27-2-76.hsd1.ut.comcast.net)
  527. # [21:10] <timeless> extensions.checkCompatibility.nightly
  528. # [21:10] <AryehGregor> Me too.
  529. # [21:11] * Quits: webr3 (~nathan@host86-134-7-232.range86-134.btcentralplus.com) (Ping timeout: 260 seconds)
  530. # [21:11] <timeless> plus ones for 60a and older
  531. # [21:11] <AryehGregor> . . . no, Firebug is broken. SIGH.
  532. # [21:11] <timeless> try venkman?
  533. # [21:12] <AryehGregor> I'm currently looking for a JavaScript profiler.
  534. # [21:12] <AryehGregor> Because WebKit's is useless.
  535. # [21:12] <timeless> venkman has one..
  536. # [21:12] * AryehGregor looks
  537. # [21:12] <timeless> don't ask me how to install it
  538. # [21:13] <timeless> https://addons.mozilla.org/en-US/firefox/addon/javascript-debugger/
  539. # [21:13] <timeless> in theory
  540. # [21:14] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
  541. # [21:14] <AryehGregor> Seems to at least pretend to work.
  542. # [21:14] * Joins: ojan (~ojan@nat/google/x-nyhwpclyujbzcbbm)
  543. # [21:15] * Quits: J_Voracek (~J_Voracek@c-76-27-2-76.hsd1.ut.comcast.net) (Ping timeout: 240 seconds)
  544. # [21:15] * Joins: webr3 (~nathan@host86-134-7-232.range86-134.btcentralplus.com)
  545. # [21:17] <AryehGregor> Okay, well Venkman apparently wants to save profiling data to a file instead of actually showing it to me.
  546. # [21:17] <timeless> save it as html and load it in your favorite web browser
  547. # [21:18] <timeless> or save it as csv and then use your favorite spreadsheet program to render your data :)
  548. # [21:19] * Joins: david_carlisle (~chatzilla@dcarlisle.demon.co.uk)
  549. # [21:19] * Joins: dbaron (~dbaron@nat/mozilla/x-gettuajzetvdlsaa)
  550. # [21:20] * Joins: tjaytje (~tjay@ip51ccc57d.adsl-surfen.hetnet.nl)
  551. # [21:20] <AryehGregor> Sigh.
  552. # [21:20] <timeless> was the data useful?
  553. # [21:20] <AryehGregor> It didn't seem worth the hassle.
  554. # [21:20] <AryehGregor> I could try again, since I can't get Firebug to work at all.
  555. # [21:21] <timeless> saving a file to disk is hard?
  556. # [21:21] <timeless> do you not have a working storage medium?
  557. # [21:22] <AryehGregor> I guess I'm spoiled, but I'm used to programs not asking me to take gratuitous extra steps like that these days.
  558. # [21:22] <timeless> iirc IE has a profiler
  559. # [21:23] * AryehGregor looks
  560. # [21:23] <timeless> yeah, ie10 does
  561. # [21:23] <timeless> press f12
  562. # [21:23] <timeless> debug>f12 developer tools
  563. # [21:23] <Philip`> Do many JS profilers work without forcing JIT off and making the measurements useless?
  564. # [21:23] <timeless> profiler is one of the tabs
  565. # [21:23] <timeless> Philip`: dunno
  566. # [21:23] <timeless> it's technically possible to do useful performance counting w/ a jit
  567. # [21:23] <timeless> e.g. you could go w/ the dtrace model
  568. # [21:24] <timeless> which gecko supports
  569. # [21:24] <timeless> but i don't know if anyone was nice enough to add in dtrace support to jit generated code
  570. # [21:24] <timeless> (probably not)
  571. # [21:24] * Joins: karlcow (~karl@nerval.la-grange.net)
  572. # [21:26] <AryehGregor> Philip`, the measurements wouldn't be useless if you're just looking for stuff like "Is there some function that's taking 40% of my runtime that I could trivially rewrite to cache results?" or such.
  573. # [21:26] <AryehGregor> Now IE10PP2 crashes when I go into developer tools.
  574. # [21:26] <AryehGregor> The world conspires against me.
  575. # [21:26] <timeless> lol
  576. # [21:27] <timeless> iirc ie10pp2 crashed on news.google.com [us edition] when i hovered over the picture preview things at the top of news
  577. # [21:27] * jernoble is now known as jernoble|afk
  578. # [21:27] * Quits: David_Bradbury (~chatzilla@75-147-178-254-Washington.hfc.comcastbusiness.net) (Ping timeout: 258 seconds)
  579. # [21:27] <timeless> i think they were youtube content (fast flip was fine, and so is youtube.com)
  580. # [21:27] <timeless> anyway..
  581. # [21:27] <Philip`> Native hardware acceleration means it can crash faster than any other browser
  582. # [21:28] <AryehGregor> Okay, the Venkman data looks useful.
  583. # [21:28] <AryehGregor> Thanks for the tip, timeless.
  584. # [21:28] <timeless> :)
  585. # [21:29] * Joins: dydx (~dydz@adsl-76-228-82-246.dsl.pltn13.sbcglobal.net)
  586. # [21:31] <AryehGregor> The formatting is terrible, though.
  587. # [21:32] <AryehGregor> But it'll do.
  588. # [21:34] * Quits: webr3 (~nathan@host86-134-7-232.range86-134.btcentralplus.com) (Ping timeout: 264 seconds)
  589. # [21:39] * Disconnected
  590. # [21:40] * Attempting to rejoin channel #whatwg
  591. # [21:40] * Rejoined channel #whatwg
  592. # [21:40] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  593. # [21:40] * Set by annevk42 on Mon Oct 19 23:03:06
  594. # [21:41] * Quits: smaug____ (~chatzilla@GMMMCCLIX.gprs.sl-laajakaista.fi) (Ping timeout: 260 seconds)
  595. # [21:41] * Quits: pdr (~pdr@nat/google/x-jmunhqcebsbvldjp) (Quit: pdr)
  596. # [21:42] * heycam|away is now known as heycam
  597. # [21:42] <zewt-> AryehGregor: if it disables JIT and that causes a function to go from 1% to 40% of runtime, that's pretty useless
  598. # [21:42] * zewt- is now known as zewt
  599. # [21:42] <AryehGregor> zewt, sure.
  600. # [21:45] <timeless> AryehGregor: you can use the csv output and format it however you like :)
  601. # [21:45] <AryehGregor> timeless, that's what I wound up doing, but having it in the UI would be more handy.
  602. # [21:45] <timeless> i think the author assumed someone else would come in and give it some ui love
  603. # [21:45] <timeless> and no one did
  604. # [21:46] <gsnedders> I believe a lot of debuggers disable most optimization, at least
  605. # [21:46] <timeless> afaik, gecko today mostly disables everything when a debugger starts doing stuff
  606. # [21:46] <timeless> it isn't strictly required, but yeah, that's generally the first impl since it's easiest
  607. # [21:46] <gsnedders> Dragonfly entirely disables JIT (though we only have a type-specializing compiler, so to disable optimization we have to fall back to just the interpreter)
  608. # [21:47] <timeless> things get rather annoying when you have a jit that does inlining
  609. # [21:48] <timeless> since the person looking at the profiler wants to know which function they wrote is taking time
  610. # [21:48] <timeless> but w/o single stepping the optimized code and recognizing which function it came from
  611. # [21:48] <timeless> or worse, if two functions get optimized to be the same code and then are shared..
  612. # [21:48] <zewt> i'd rather know which optimized function, including inlined calls, is taking the time
  613. # [21:49] <timeless> in WPO, potentially that's "your-web-page"
  614. # [21:49] <zewt> generally it's fairly obvious, when a profiler is saying a function is taking a lot of time and all it does is call other functions, that it's actually the inlined functions taking the time
  615. # [21:49] <timeless> i'd imagine that wouldn't be particularly useful :)
  616. # [21:49] <AryehGregor> Okay, now the IE10PP2 profiler works.
  617. # [21:49] <AryehGregor> It clearly can't be disabling JIT, since it doesn't take much longer to run.
  618. # [21:49] <timeless> zewt: true
  619. # [21:49] <AryehGregor> And it produces useful results.
  620. # [21:49] <AryehGregor> WINNER: INTERNET EXPLORER.
  621. # [21:49] <zewt> ... obvious to someone experienced and who understands things like inlining, of course, but novices probably shouldn't be trying to use a profiler anyway
  622. # [21:49] <timeless> AryehGregor: yeah, the ms tools teams generally produce the best results..
  623. # [21:50] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
  624. # [21:50] <timeless> my guess is it's using performance counters
  625. # [21:50] <AryehGregor> That would be pretty logical.
  626. # [21:50] <timeless> but, if they're actually generating CLR stuff, then the hooks available are pretty extensive
  627. # [21:50] <timeless> i don't know what the output of their JIT is..
  628. # [21:50] <AryehGregor> WebKit's is garbage, AFAICT, its results make no sense. But at least it's easy to use and looks pretty.
  629. # [21:51] <timeless> lol
  630. # [21:51] <gsnedders> zewt: It's a lot easier to do profiling if you can accept inlined functions being misreported. Debugging gets fun when you have DCE and loop invariant code motion, for example.
  631. # [21:51] <gsnedders> timeless: They aren't doing CLR, it's all custom.
  632. # [21:51] <AryehGregor> Interestingly, the IE10 profiler tells me I'm spending the most time in parentNode. 2.5s.
  633. # [21:51] <zewt> sure, i've spent way too much time in gdb stepping through optimized C++ code, i know how much fun that is, heh
  634. # [21:51] <gsnedders> timeless: CLR people were involved in a consulting way, from what their experience was
  635. # [21:51] <timeless> gsnedders: good to know
  636. # [21:52] <AryehGregor> Wow, it gives me this great tree and everything.
  637. # [21:52] <Ms2ger> That man knows way too much
  638. # [21:52] * AryehGregor <3 IE10
  639. # [21:52] <gsnedders> Ms2ger: me?
  640. # [21:52] <jamesr> AryehGregor: profiling JS? did you try chrome?
  641. # [21:52] <gsnedders> Ms2ger: Sorry, I've spent too much time around JS engines. :P
  642. # [21:52] <Ms2ger> I gathered that :)
  643. # [21:53] <timeless> AryehGregor: so i get points for 2 recommendations :)
  644. # [21:53] <zewt> (even more fun is insn stepping through code with no debug symbols, with the source code open in another window, trying to match up the source and assembly while stepping)
  645. # [21:53] <Ms2ger> timeless+=2
  646. # [21:53] <gsnedders> zewt: I mean, we could go for something confusing to most web developers when implementing it…
  647. # [21:53] <timeless> zewt: i've done that a lot
  648. # [21:53] <timeless> it's exciting
  649. # [21:53] <gsnedders> zewt: code with no debug symbols? Like generated code from a JITing compiler? :)
  650. # [21:53] <zewt> timeless: what makes it great is how gdb is so brittle--spend 15 minutes stepping through code to get where you want to be, then crash
  651. # [21:53] <timeless> gsnedders: typically taking an optimized release build of an open source product
  652. # [21:53] <zewt> = rage
  653. # [21:54] <timeless> zewt: yeah um...
  654. # [21:54] <timeless> i learned that i was *much* happier w/ any debugger other than gdb
  655. # [21:54] <gsnedders> timeless: JITing compilers is where I've dealt with it most
  656. # [21:54] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
  657. # [21:54] <gsnedders> (Which was rather the point)
  658. # [21:54] <timeless> windbg/ntsd, adb, dbx, ...
  659. # [21:54] <gsnedders> Debugging JS execution bugs often ends up with fun like that. :)
  660. # [21:54] <timeless> you name it, if it wasn't gdb or a front end to gdb, i was *much* happier
  661. # [21:54] <timeless> since gdb is *incredibly* flaky
  662. # [21:55] <zewt> gdb is okay until you suspend and it decides it's just going to keep suspending forever
  663. # [21:55] * timeless remembers that
  664. # [21:55] * Quits: maikmerten (~maikmerte@port-92-201-154-210.dynamic.qsc.de) (Quit: Leaving)
  665. # [21:55] <timeless> its interrupt (ctrl-z/ctrl-c) handling is "interesting"
  666. # [21:55] <timeless> it also whines and has rather amusing failure handling
  667. # [21:58] * Quits: jamesr (~jamesr@216.239.45.82) (Quit: jamesr)
  668. # [22:00] * timeless returns to 4.7. Platform objects implementing interfaces §
  669. # [22:02] <AryehGregor> Hixie, I don't see birthdate anywhere in Google+. Is it actually there?
  670. # [22:03] <timeless> AryehGregor: didn't you have this discussion yesterday?
  671. # [22:03] <AryehGregor> timeless, yes, but he responded after I left.
  672. # [22:03] <AryehGregor> Saying that it was there.
  673. # [22:03] * timeless wonders if it's only present to the extent that it's required for COPA
  674. # [22:05] * AryehGregor gives up on profiling, resolves to just suffer
  675. # [22:05] <AryehGregor> You'd think they'd still let you display it.
  676. # [22:05] <timeless> why?
  677. # [22:06] <timeless> who is they, and what are they thwarting?
  678. # [22:06] <AryehGregor> Google+. You'd think they'd let you because it's an obvious thing to want to display.
  679. # [22:08] * Joins: David_Bradbury (~chatzilla@75-147-178-254-Washington.hfc.comcastbusiness.net)
  680. # [22:15] * Quits: micheil (~micheil@109.231.193.164) (Quit: http://brandedcode.com | http://github.com/miksago)
  681. # [22:15] <erlehmann> google+ is a lie.
  682. # [22:16] <erlehmann> it sends 404 as a catch-all error message.
  683. # [22:16] <erlehmann> great if you get a link from your friends and want to see if it is broken.
  684. # [22:16] <erlehmann> s/want/claim/ s/if/that/
  685. # [22:16] * Joins: othermaciej (~mjs@17.246.17.134)
  686. # [22:16] <erlehmann> sleepytiem, it seems
  687. # [22:16] <erlehmann> also, no feeds.
  688. # [22:17] * Quits: jonatasnona (~jonatas@lba.inpa.gov.br) (Quit: Saindo)
  689. # [22:24] * Joins: The_8472 (~stardive@azureus/The8472)
  690. # [22:25] * Quits: charlvn (~charlvn@41.0.48.54) (Read error: Connection timed out)
  691. # [22:25] * Joins: charlvn (~charlvn@41.0.48.54)
  692. # [22:28] * paul_irish_ is now known as paul_irish
  693. # [22:28] * Quits: david_carlisle (~chatzilla@dcarlisle.demon.co.uk) (Ping timeout: 252 seconds)
  694. # [22:31] * Quits: davidb (~davidb@corp.tor1.mozilla.com) (Quit: davidb)
  695. # Session Close: Fri Jul 15 00:00:00 2011

The end :)