Options:
- # Session Start: Thu Jul 14 00:00:00 2011
- # Session Ident: #whatwg
- # [00:00] * Quits: jamesr (~jamesr@216.239.45.82) (Quit: jamesr)
- # [00:01] * Joins: cpearce (~chatzilla@203-97-204-82.dsl.clear.net.nz)
- # [02:02] * Disconnected
- # [02:03] * Attempting to rejoin channel #whatwg
- # [02:03] * Rejoined channel #whatwg
- # [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!'
- # [02:03] * Set by annevk42 on Mon Oct 19 23:03:06
- # [02:06] * Quits: ojan (~ojan@nat/google/x-bxgxzsrxbgxysgzi) (Quit: ojan)
- # [02:07] * Quits: hij1nx (~hij1nx@12.149.152.174) (Quit: hij1nx)
- # [02:27] * Quits: othermaciej (~mjs@17.246.17.132) (Quit: othermaciej)
- # [02:29] * Quits: jwalden (~waldo@2620:101:8003:200:222:68ff:fe15:af5c) (Quit: over and out)
- # [02:36] * Quits: sicking (~chatzilla@2620:101:8003:200:226:bbff:fe05:3fe1) (Ping timeout: 264 seconds)
- # [02:40] * Quits: david_carlisle (~chatzilla@dcarlisle.demon.co.uk) (Ping timeout: 252 seconds)
- # [04:41] * Disconnected
- # [04:42] * Attempting to rejoin channel #whatwg
- # [04:42] * Rejoined channel #whatwg
- # [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!'
- # [04:42] * Set by annevk42 on Mon Oct 19 23:03:06
- # [04:42] * Joins: miketaylr (~miketaylr@24.42.93.245)
- # [04:46] <roc> did I kill off the "hit-testing and retained graphics" thread?
- # [04:48] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [04:48] * Joins: sicking (~chatzilla@c-98-210-155-80.hsd1.ca.comcast.net)
- # [04:49] <MikeSmith> roc: maybe everybody's just regrouping
- # [04:49] <roc> chilling
- # [04:49] <MikeSmith> I guess I'm paying more attention to the webrtc thread right now
- # [04:52] * Joins: beverloo (~beverloo@adsl-99-154-54-86.dsl.pltn13.sbcglobal.net)
- # [04:57] * Quits: tomasf (~tom@c-5ed9e555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
- # [05:12] * Joins: hdhoang (~hdhoang@2406:a000:f0ff:fffe::3461)
- # [05:13] <Hixie> roc: how did you kill it?
- # [05:14] <roc> I dunno
- # [05:14] <roc> by posting technical content?
- # [05:14] <roc> but I wasn't the first to do that
- # [05:14] <roc> lucky shot, I guess
- # [07:16] * Disconnected
- # [07:18] * Attempting to rejoin channel #whatwg
- # [07:18] * Rejoined channel #whatwg
- # [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!'
- # [07:18] * Set by annevk42 on Mon Oct 19 23:03:06
- # [07:18] <sephr> this really feels like something that is best handled by CSP
- # [07:19] <roc> the problem is legacy browsers that don't understand CSP
- # [07:19] <othermaciej> sephr: text/html-sandboxed is meant to fail to load at all in browsers that don't support sandboxed iframes
- # [07:19] <othermaciej> CSP does not have that feature - CSP is ignored by browsers that don't support it
- # [07:20] <sephr> othermaciej: that doesn't answer my question though about how I sandbox an image/svg+xml game
- # [07:20] <othermaciej> sephr: well I could say two things
- # [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
- # [07:20] <sephr> though I get what you mean about CSP silently degrading
- # [07:21] <othermaciej> 2) you can embed SVG in HTML now in browers with HTML5 parsers
- # [07:21] <roc> in fact serving your SVG game as text/html might just work
- # [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
- # [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
- # [07:21] <sephr> with 2 parameters: params and type
- # [07:22] <LoneStar99> Hixie: one last question, what if I want to crop everything but a swiggly line?
- # [07:22] <sephr> so Content-Type: application/sandbox; type="image/svg+xml" params="sandbox parameters here"
- # [07:22] <LoneStar99> sorry clip
- # [07:22] <sephr> Hixie: what do you think about that example?
- # [07:22] <othermaciej> putting the sandbox parameters in an HTTP header instead of in the embedding markup defeats the purpose of sandboxing
- # [07:22] <sephr> ok then just drop the params parameter
- # [07:23] * Quits: shepazu (~schepers@c-98-204-29-73.hsd1.dc.comcast.net) (Quit: shepazu)
- # [07:23] <sephr> just application/sandbox;type="normal MIME here"
- # [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
- # [07:23] <sephr> ?
- # [07:23] <othermaciej> so I would have to ask, what are the use cases?
- # [07:23] <sephr> ;type="" is completely compliant MIME
- # [07:24] <sephr> just like many video container formats have a codecs= MIME parameter
- # [07:24] <sephr> the use cases are user generated content that isn't HTML
- # [07:24] <sephr> that you want to sandbox
- # [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
- # [07:24] <othermaciej> so you are making things a little more complicated
- # [07:24] * Joins: Ankheg (~Ankheg@91.224.77.4)
- # [07:24] <othermaciej> so you have to explain the benefit
- # [07:24] <othermaciej> give a concrete use case
- # [07:24] <othermaciej> SVG-based game is already handled by serving SVG in text/html
- # [07:24] <sephr> what are you talking about? browsers have to specially support text/html-sandboxed too
- # [07:25] <sephr> also svg can't be served as HTML
- # [07:25] <sephr> HTML5 can have svg elements in it though
- # [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
- # [07:25] <sephr> othermaciej: the charset parameter is used all the time in every website you visit
- # [07:25] <othermaciej> using HTML5, any SVG content you want can be wrapped in HTML
- # [07:25] <sephr> text/html;charset=...
- # [07:25] <sephr> no
- # [07:25] <othermaciej> the charset parameter is processed at a totally different level than deciding whether it is a supported element
- # [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
- # [07:26] <annevk> we could maybe add application/xml-sandboxed at one point
- # [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
- # [07:26] <annevk> but it is not clear that it would be that useful
- # [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.
- # [07:26] <othermaciej> but yes, what anne says is true, just adding one type for XML is simpler
- # [07:26] <roc> annevk: we could. if t's useful
- # [07:26] <Hixie> sephr: you just make a squiggly shape and clip() that
- # [07:26] <othermaciej> for most types, making them a subtype of an application/sandboxed the would not be meaningful
- # [07:26] <sephr> Hixie: myCircle.localName === "circle" ?
- # [07:26] <sephr> nope, it'll === "CIRCLE"
- # [07:26] <annevk> yeah, the whole +xml thing was a mistake
- # [07:27] <othermaciej> and for XML types, using the more specific type is totally unimportant
- # [07:27] <sephr> which will break my hypothetical SVG document
- # [07:27] <annevk> no it will be "circle"
- # [07:27] <sephr> document.createProcessingInstruction() will also instantly break it
- # [07:27] <sephr> because HTML doesn't support processing instructions
- # [07:27] * Quits: Ankheg (~Ankheg@91.224.77.4) (Read error: Connection reset by peer)
- # [07:27] <sephr> and an error will be thrown
- # [07:27] * Quits: cpearce (~chatzilla@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 240 seconds)
- # [07:27] <othermaciej> you are wrong, localName will be "circle"
- # [07:27] <annevk> lol
- # [07:27] <sephr> s/local/node/
- # [07:27] <annevk> who uses processing instructions?
- # [07:28] <sephr> some guy who wants to?
- # [07:28] <othermaciej> show me some real sag content that dynamically creates a processing instruction node
- # [07:28] <othermaciej> *svg
- # [07:28] <othermaciej> anywhere on the web
- # [07:28] <othermaciej> then we can talk
- # [07:28] <sephr> that's not the point
- # [07:28] <sephr> people will be writing more svg content now that IE supports it
- # [07:28] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
- # [07:28] <sephr> in the future someone might want to use a processing instruction
- # [07:28] <othermaciej> you'll find that most people here are interested in solving real problems, not hypothetical problems
- # [07:28] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
- # [07:29] <othermaciej> I can't even think of a remotely good reason to dynamically create a processing instruction node
- # [07:29] <sephr> ok here's a better example: user generated content that uses custom XML with XSLT
- # [07:30] <sephr> that requires an XML document context
- # [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
- # [07:30] <roc> and needs to be sandboxed ...
- # [07:30] <roc> can you point to such an example?
- # [07:30] <sephr> othermaciej: XSLT processing instructions
- # [07:30] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
- # [07:30] * Hixie bows out of the conversation
- # [07:30] <sephr> the world of warcraft site used to do tht
- # [07:30] <sephr> that*
- # [07:30] <sephr> that being using XSLT
- # [07:30] <sephr> that's a pretty large site
- # [07:30] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
- # [07:31] <sephr> also I know a few sites that use it
- # [07:31] <othermaciej> and does anyone have a use case for loading the world of warcraft site in a sandboxed iframe?
- # [07:31] <sephr> you don't get it
- # [07:31] <sephr> what if the world of warcraft site wants to allow user submissions
- # [07:31] <sephr> of minigames or whatever
- # [07:31] <othermaciej> user submissions that themselves use XSLT?
- # [07:31] <roc> minigames that use XSLT?
- # [07:31] <sephr> and they want to make some official minigames
- # [07:32] <sephr> they won't be able to use what they usually use
- # [07:32] <sephr> just because they can't sandbox XML
- # [07:32] <othermaciej> I don't think I've ever seen a Web-based game that used XSLT
- # [07:32] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
- # [07:32] <roc> I don't think Blizzard's Web developers would have difficulty NOT using XSLT
- # [07:32] <sephr> and that invalidates my point somehow?
- # [07:33] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
- # [07:33] * Quits: agektmr (~Adium@220.109.219.244) (Quit: Leaving.)
- # [07:33] <sephr> that's like publishing this in the spec: image/svg+xml is now to be banned from interacting with HTML5 documents
- # [07:33] <sephr> you may no longer use X Y or Z
- # [07:33] <othermaciej> well, roc and I both have some responsibility for how the engineering time of particular browser vendors is spent
- # [07:33] <annevk> that's nonsense
- # [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
- # [07:33] <sephr> yes most people don't use X Y or Z
- # [07:33] <sephr> so of course it won't matter to you
- # [07:34] <othermaciej> I at least am usually interested in Safari engineers spending time on things that Web developers *actually* want to do
- # [07:34] * Quits: ezoe (~ezoe@112-68-245-207f1.kyt1.eonet.ne.jp) (Ping timeout: 264 seconds)
- # [07:34] <othermaciej> as opposed to some theoretical thing that you could imagine someone could conceivably do
- # [07:34] <othermaciej> we have our hands full just meeting the real requests for functionality
- # [07:34] <sephr> How can I provide current examples of stuff that isn't going to happen *until* you can sandbox SVG?
- # [07:34] <sephr> for example
- # [07:34] <roc> just find real developers and users who want to do it on real sites
- # [07:35] <roc> but currently can't
- # [07:35] <othermaciej> just provide an example of SVG that in theory could be usefully sandboxed, but can't be served as text/html
- # [07:35] <sephr> there are no sites that accept SVG submissions because you can't sandbox it
- # [07:35] <othermaciej> or Web developers who wish they could do it but can't
- # [07:35] <annevk> they could host it on separate domains at the moment
- # [07:35] <annevk> which is how we found out about the need for sandboxed HTML
- # [07:35] * Parts: LoneStar99 (~dmontalvo@189.161.191.158)
- # [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
- # [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>
- # [07:36] <sephr> that XML game right there won't work in text/html for example
- # [07:36] <sephr> shortest example possible though of course
- # [07:36] * Joins: Ankheg (~Ankheg@91.224.77.4)
- # [07:36] <othermaciej> that doesn't look like a very fun game
- # [07:37] <othermaciej> the idea here is to find real-world examples that show the potential benefits
- # [07:37] <sephr> since when it is whatwg's choice to decide whether or not I can use xml or not though?
- # [07:37] <annevk> xmlVersion is going away so that wouldn't work anyway
- # [07:37] <othermaciej> not make up fake examples that are created solely to prove your point
- # [07:37] <sephr> annevk: cite please
- # [07:37] <annevk> and actually, if it didn't go away it would be on all documents
- # [07:37] <sephr> I use that for detecting if a context is xml
- # [07:37] <annevk> sephr, http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
- # [07:37] <othermaciej> ultimately you are not just asking the whatwg, you are asking browser vendors to implement something
- # [07:38] <sephr> how will I detect if a document is xml now without testing node case?
- # [07:38] * Joins: LBP (~Mirc@pD9EB1AC9.dip0.t-ipconnect.de)
- # [07:38] <sephr> also I still see xmlVersion on http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html
- # [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
- # [07:38] <sephr> othermaciej: there is: it's !!document.xmlVersion
- # [07:39] <sephr> it's null in HTML
- # [07:39] <sephr> 1.X in XML documents
- # [07:39] <annevk> sephr, it is in the section of removed features
- # [07:39] * Joins: b0o-supermario (b0o-superm@mlb-msl1.info)
- # [07:40] <b0o-supermario> Hi
- # [07:40] <othermaciej> I suppose that is less indirect than other ways
- # [07:41] <sephr> annevk: I don't see a removed features list
- # [07:42] <sephr> s/list/section/
- # [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
- # [07:42] <annevk> sephr, euh... search for "Historical"
- # [07:43] <sephr> ok thanks
- # [07:43] <sephr> Hixie: so there will never be application/xml-sandboxed just because it's unpopular?
- # [07:43] <Hixie> sephr: no, that's not what i'm saying
- # [07:43] <sephr> ok
- # [07:43] <Hixie> sephr: we try to do things in the order that they are important
- # [07:43] <Hixie> sephr: we first address the things that are most problematic
- # [07:44] <Hixie> sephr: and we walk down this list
- # [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
- # [07:44] <Hixie> sephr: but currently, evidence suggests that it's not a high priority
- # [07:44] <Hixie> sephr: so we can't afford to care
- # [07:44] * Parts: nimbu (~Adium@c-24-18-47-160.hsd1.wa.comcast.net)
- # [07:45] <sephr> though your list should also weighed by how easy something is to do
- # [07:45] <othermaciej> easy to spec, or easy to implement?
- # [07:45] <sephr> looking at the text/html-sandboxed documentation it looks like it'd be a simple copy and replace
- # [07:45] <sephr> I mean copy and paste
- # [07:46] <othermaciej> of spec text or code?
- # [07:46] <sephr> spec text
- # [07:46] <sephr> no major changes
- # [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
- # [07:47] <othermaciej> furthermore, for anything security-sensitive, if it is really easy to spec *or* to code, you're probably doing it wrong
- # [07:48] <sephr> the less complex security spec text is the safer
- # [07:48] <sephr> just because code isn't complex doesn't mean it's more likely to be insecure
- # [07:48] <othermaciej> indeed, and it takes a lot of time to minimize complexity and to make sure what is left is sound
- # [09:48] * Disconnected
- # [09:49] * Attempting to rejoin channel #whatwg
- # [09:49] * Rejoined channel #whatwg
- # [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!'
- # [09:49] * Set by annevk42 on Mon Oct 19 23:03:06
- # [09:50] * Joins: ben_h (~ben@KHP222226221163.ppp-bb.dion.ne.jp)
- # [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
- # [09:51] <hsivonen> how do you do that with Microdata
- # [09:51] <hsivonen> (the other vocabs saying something non-copyright-related about the same images or something)
- # [09:52] <Hixie> just have two items
- # [09:55] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
- # [09:57] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
- # [09:57] <hsivonen> Hixie: can you have two overlapping items so that the <img> belongs to both?
- # [09:58] <Hixie> there are ways, but not ways i would recommend
- # [09:59] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
- # [10:00] * Joins: MikeSmith (~MikeSmith@EM114-48-81-21.pool.e-mobile.ne.jp)
- # [10:01] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
- # [10:02] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
- # [10:02] * Joins: danbri (~danbri@ip176-48-210-87.adsl2.static.versatel.nl)
- # [10:02] * Joins: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed)
- # [10:03] * Quits: Rik` (~Rik`@2a01:e34:ec0f:1570:daa2:5eff:fe97:85ed) (Remote host closed the connection)
- # [10:08] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [10:10] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [10:14] <hsivonen> Hixie: isn't that a bug then? or YAGNI?
- # [10:14] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [10:15] <Hixie> hsivonen: none of the use cases that people brought up needed it
- # [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.)
- # [10:16] <hsivonen> Hixie: ok
- # [10:16] <Hixie> hsivonen: if there are concrete use cases that need it, maybe we can revisit that
- # [10:19] * Joins: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [10:19] * Quits: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [10:21] * Quits: Rik`_ (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net) (Read error: Connection reset by peer)
- # [10:22] * Joins: Rik` (~Rik`@lag75-1-78-192-241-87.fbxo.proxad.net)
- # [10:22] * Joins: jps (6318df3a@gateway/web/freenode/ip.99.24.223.58)
- # [10:22] * Joins: mattur (~mattur@cpc4-shef10-2-0-cust590.barn.cable.virginmedia.com)
- # [10:23] <jps> so, how is microphone audio upload doing?
- # [10:28] * Quits: esc_ (~esc-ape@75.inst-3.ufg.ac.at)
- # [10:28] <Hixie> jps: you mean <input type=file accept=audio/*> ?
- # [10:28] <Hixie> jps: or streaming microphone upload?
- # [10:28] <jps> both?
- # [10:28] <Hixie> well they're both in the spec and slowly getting implemented
- # [10:29] <Hixie> dunno about specifics
- # [10:29] <Hixie> try it :-)
- # [10:30] <jps> is there a version of the spec with the annotations saying which parts have been implemented?
- # [10:30] <annevk> whatwg.org/C
- # [10:30] <annevk> but not everything is annotated correctly
- # [10:31] * Joins: number0_ (4dfc6da3@gateway/web/freenode/ip.77.252.109.163)
- # [10:31] <annevk> Hixie, btw, I'm in favor of going back to one spec
- # [10:31] <jps> http://www.whatwg.org/specs/web-apps/current-work/multipage/number-state.html#file-upload-state has annotations dated 2009
- # [10:31] <Hixie> annevk: yeah, i might do that and set up redirects and stuff
- # [10:31] <Hixie> annevk: trying to catch up a bit on feedback first
- # [10:32] <annevk> Hixie, also, how easy would it be to host other specs on whatwg.org/specs/ ?
- # [10:32] <annevk> Hixie, like DOM Range and such
- # [10:33] <annevk> Hixie, and maybe even DOM Core / XHR for better copyright conditions
- # [10:33] * Quits: number0_ (4dfc6da3@gateway/web/freenode/ip.77.252.109.163) (Client Quit)
- # [10:33] <Hixie> should be possible to figure something out
- # [10:33] <Hixie> either in .../specs/ or on separate subdomains
- # [10:33] <Hixie> (subdomains are easier to set up, but subdirectories should be possible too)
- # [10:33] <Hixie> not right now though, it's way past my bed time
- # [10:34] <Hixie> catch me online tomorrow and let's figure something out
- # [10:35] <annevk> no rush
- # [10:35] <annevk> and good night
- # [10:35] <Hixie> k
- # [10:35] <Hixie> nn
- # [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
- # [10:35] <annevk> getUserMedia is
- # [10:36] <jps> thanks
- # [12:37] * Disconnected
- # [12:38] * Attempting to rejoin channel #whatwg
- # [12:38] * Rejoined channel #whatwg
- # [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!'
- # [12:38] * Set by annevk42 on Mon Oct 19 23:03:06
- # [12:42] * Quits: bzed (~bzed@devel.recluse.de) (Remote host closed the connection)
- # [12:42] * Joins: bzed (~bzed@devel.recluse.de)
- # [12:45] * Quits: hasather (~davidh@pat-tdc.opera.com) (Quit: Ex-Chat)
- # [12:45] * Joins: Ms2ger (~Ms2ger@91.181.39.135)
- # [12:46] * Joins: erlehmann (~erlehmann@82.113.99.2)
- # [12:49] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [12:53] * Quits: dhx1 (~anonymous@60-242-108-164.static.tpgi.com.au) (Remote host closed the connection)
- # [13:06] * Quits: yuuki (~kobayashi@58x158x182x50.ap58.ftth.ucom.ne.jp) (Quit: Leaving...)
- # [13:06] * Quits: Yudai (~Yudai@p86e10e.hkidnt01.ap.so-net.ne.jp) (Quit: Tiarra 0.1+svn-36726: SIGTERM received; exit)
- # [13:09] * Joins: Yudai (~Yudai@pa35df2.hkidnt01.ap.so-net.ne.jp)
- # [13:09] * Quits: erlehmann (~erlehmann@82.113.99.2) (Read error: Connection reset by peer)
- #
- # Session Start: Thu Jul 14 20:03:35 2011
- # Session Ident: #whatwg
- # [20:03] * Now talking in #whatwg
- # [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!'
- # [20:03] * Set by annevk42 on Mon Oct 19 23:03:06
- # [20:03] <TabAtkins> Google will do that for you now.
- # [20:03] <timeless> something to show what the greatest distance you could be from a major city
- # [20:03] <timeless> TabAtkins: i tried, and it isn't working
- # [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.
- # [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
- # [20:04] <hsivonen> it would be nice to have flattening deeper object to a title into a string
- # [20:04] <hsivonen> manu-db: suppose you have the concept for an album
- # [20:04] <hsivonen> manu-db: for some cases, you may want tracks to be just track names
- # [20:04] * Joins: jwalden (~waldo@2620:101:8003:200:222:68ff:fe15:af5c)
- # [20:05] <cygri> hsivonen +1
- # [20:05] <TabAtkins> @itemalt
- # [20:05] <hsivonen> manu-db: in other cases, you may want tracks themselves to have properties
- # [20:05] <hsivonen> manu-db: of you may have a list of people be just names or objects with more properties
- # [20:05] * Joins: david_carlisle (~chatzilla@dcarlisle.demon.co.uk)
- # [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
- # [20:05] <TabAtkins> (But really, the "I want something to both be a string and have more properties" thing is commonly useful.
- # [20:06] * Quits: pdr (~pdr@nat/google/x-xpwnxcquzyoehydf) (Quit: pdr)
- # [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.
- # [20:06] * jernoble is now known as jernoble|afk
- # [20:06] <manu-db> it seems to conflate pushing application logic down into the data model.
- # [20:07] * Joins: pdr (~pdr@nat/google/x-jmunhqcebsbvldjp)
- # [20:07] <TabAtkins> manu-db: Really? I mean, this pattern is useful for things like the CSSOM.
- # [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
- # [20:07] <Philip`> http://www.wolframalpha.com/input/?i=paris+to+london is nice for finding distances between places
- # [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"
- # [20:07] <cygri> manu-db, to some extent, *everything* is better handled at the application layer
- # [20:07] * Joins: brucel (~brucel@cpc3-smal11-2-0-cust48.perr.cable.virginmedia.com)
- # [20:08] <manu-db> TabAtkins: I know nothing of CSSOM from a spec point of view - so I can't intelligently discuss it.
- # [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
- # [20:08] <hsivonen> timeless: was "help" about city distances?
- # [20:08] <timeless> yeah
- # [20:08] <hsivonen> timeless: I don't have a better suggestion than Philip`
- # [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.
- # [20:08] <AryehGregor> (not sure what the exact proposed syntax is)
- # [20:09] <timeless> hsivonen / Philip` : the problem is that i don't want to find the distance from any city to any other city
- # [20:09] <timeless> i want a limit on distances between cities :)
- # [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.
- # [20:09] <Ms2ger> Well, more intersting would be style.color.red
- # [20:09] <manu-db> AryehGregor: oh - thanks, that helps clarify. Still having a hard time figuring out what the use case for this is...
- # [20:09] <timeless> does the above statement sound reasonable?
- # [20:09] <AryehGregor> Ms2ger, . . . what would that do?
- # [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.
- # [20:09] <Ms2ger> Give you an int
- # [20:10] <manu-db> TabAtkins: But that's what Projections do in the RDFa API.
- # [20:10] <Ms2ger> Like, style.color.red/2
- # [20:10] <Ms2ger> Like, style.color.red/=2, that is
- # [20:10] <hsivonen> timeless: does any country have a "reasonable" definition for a "city" anymore?
- # [20:10] <timeless> hsivonen: doubtful
- # [20:10] <Philip`> timeless: Presumably restricted to points which are in the country and are not in the sea? :-)
- # [20:10] <hsivonen> are cities in Britain still defined in terms of bishops?
- # [20:10] <manu-db> var tab = document.data.getProjection("#tab", projectionTemplate);
- # [20:10] <manu-db> tab.name === "Tab Atkins Jr."
- # [20:10] <manu-db> something like that?
- # [20:11] <timeless> hsivonen: the context is someone claims that European countries allowed the "free market" to provide "internet access"
- # [20:11] <AryehGregor> Ms2ger, okay, so what would *that* do?
- # [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."
- # [20:11] <timeless> and got it for everyone without government regulation
- # [20:11] <timeless> Philip`: nice
- # [20:11] <TabAtkins> AryehGregor: That would cut the red component of the color in half.
- # [20:11] <AryehGregor> Philip`, laws are also only approved by the monarch, officially.
- # [20:11] <timeless> and yeah, iirc there are 2 cities which don't have a bishop
- # [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")
- # [20:11] <AryehGregor> TabAtkins, oh, I see, yeah.
- # [20:11] <AryehGregor> That's useful.
- # [20:12] <TabAtkins> manu-db: Where are projections defined?
- # [20:12] <hsivonen> Philip`: does that correlate with Anglican dioceses?
- # [20:13] <hsivonen> Philip`: reading the article, it seems it doesn't anymore
- # [20:13] <manu-db> TabAtkins: http://www.w3.org/TR/2011/WD-rdfa-api-20110419/#advanced-concepts
- # [20:13] <TabAtkins> Ah, I was looking in rdfa-api
- # [20:13] <manu-db> not that we're still re-working through the interfaces heavily
- # [20:13] <TabAtkins> I mean, rdfa-syntax
- # [20:13] <manu-db> most everything is going to change in that doc
- # [20:13] <manu-db> but the basic premise is there.
- # [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."
- # [20:14] * Joins: stalled (~stalled@unaffiliated/stalled)
- # [20:14] <manu-db> we're also working through these concepts with JSON for Linked Data (JSON-LD): http://json-ld.org/playground/
- # [20:14] <hsivonen> timeless: uh, the availability of Internet access in Europe *is* based on govt. regulation
- # [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.
- # [20:14] <timeless> hsivonen: yeah...
- # [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)
- # [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
- # [20:18] <TabAtkins> (That's precisely the problem the CSSOM has, btw.)
- # [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)
- # [20:19] <annevk> What is that, TabAtkins?
- # [20:20] <hsivonen> manu-db: I'm talking about JSON in general. dunno if JSON-LD has solved this
- # [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.
- # [20:20] <annevk> ah yeah
- # [20:20] <hsivonen> I guess I should read up on JSON-LD before talking about problems that may already be solved
- # [20:21] <annevk> CSSOM is ugly
- # [20:21] <hsivonen> (though not solved for microdata and RDFa, AFAICT)
- # [20:21] * Joins: jamesr (~jamesr@216.239.45.82)
- # [20:21] <Ms2ger> s/cssom/the web/
- # [20:22] <manu-db> hsivonen: Could you write out the problem in code... or interpretive dance? (your choice)
- # [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
- # [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
- # [20:23] <Ms2ger> That would be the "HTMLWG approach"?
- # [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 };
- # [20:24] <erlehmann> manu-db, is there some kind of json pastebin with an API that works cross origin?
- # [20:24] <manu-db> then in 2012, that code fails because henri.name instanceof Object == true ?
- # [20:24] <erlehmann> i have a “linked data” project regarding kissology.
- # [20:24] <TabAtkins> manu-db: Basically, yes.
- # [20:24] <erlehmann> (no joke.)
- # [20:24] <TabAtkins> manu-db: And that sounds perfectly reasonable, as "name" may start as a string, then get broken into first/last/etc
- # [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?"
- # [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?
- # [20:25] <TabAtkins> Philip`: Apparently augmenting DOMStrings wasn't acceptable for the CSSOM. Anne would know more.
- # [20:25] <erlehmann> manu-db, some kind of semi-permanent archive for json data, accessible via script.
- # [20:25] <Philip`> It would be admittedly quite evil
- # [20:26] <Philip`> and highly surprising to developers
- # [20:26] <AryehGregor> Wouldn't it mean typeof foo == "object" instead of "string"?
- # [20:26] <TabAtkins> Yes.
- # [20:26] <AryehGregor> Or else you'd have a string that's magical.
- # [20:26] * jernoble|afk is now known as jernoble
- # [20:27] <TabAtkins> It'd be an object with a special toString, I guess.
- # [20:27] <AryehGregor> That might work for compat, or so you'd think.
- # [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
- # [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?
- # [20:27] <TabAtkins> Again, you'd have to ask annevk why that wasn't workable for the cssom
- # [20:27] <hsivonen> manu-db: so at t_0, I need to know what the "must ignore" forward compat rules are
- # [20:28] <erlehmann> manu-db, no. doesn't matter in the end, i have written my own script for that task. forget about it.
- # [20:28] <annevk> TC39 did not like magic strings
- # [20:28] <annevk> and changing typeof to object would cause too much breakage
- # [20:28] * timeless sighs
- # [20:28] <hsivonen> does WebKit still have magic strings?
- # [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.
- # [20:29] <TabAtkins> I guess we can't just subclass DOMString to CSSOMPropertyValue or something.
- # [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'"
- # [20:30] <manu-db> hsivonen: So, you are somewhat protected against objects that declare objects for a certain property instead of a string.
- # [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. :/
- # [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
- # [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.
- # [20:32] <hsivonen> manu-db: this is totally an armchair comment--not based in impl. experience :-)
- # [20:32] <hsivonen> (my comment is an armchair one that is)
- # [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"
- # [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.
- # [20:33] * hsivonen 's current chair has neither armrests nor a backrest, though
- # [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.
- # [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.
- # [20:35] * TabAtkins will propose something for Microdata about it.
- # [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.
- # [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'
- # [20:38] <hsivonen> hmm. that's grammatically ambiguous English, because English doesn't allow me to use commas to mark the scope of "that"
- # [20:38] <manu-db> hsivonen: That would be fairly easy to do in JSON-LD.
- # [20:38] <TabAtkins> hsivonen: Context resolves all three "that"s for me.
- # [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.
- # [20:40] <TabAtkins> manu-db: Ah yeah, that's very amenable to solving this problem (if it's determined to be worthwhile to solve.)
- # [20:40] <manu-db> (or the TURTLE and Framed tabs)
- # [20:40] <TabAtkins> Ah, yeah, Turtle's a lot easier to read than "Normalized". ^_^
- # [20:40] <hsivonen> I'd expect books to collapse to their dc:title
- # [20:41] * manu-db nods - normalized is just there for digital signatures in PaySwarm: http://payswarm.com/
- # [20:41] <hsivonen> manu-db: shades of XML Canonicalization and Signature, eh?
- # [20:42] * manu-db grins.
- # [20:42] <manu-db> We hope this mechanism sucks less.
- # [20:42] * Quits: J_Voracek (~J_Voracek@71-213-86-140.slkc.qwest.net) (Ping timeout: 276 seconds)
- # [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.
- # [20:43] <manu-db> I don't think they had to deal with that problem in XML Canonicalization (but I could be entirely mistaken)
- # [20:43] <hsivonen> at least XML Canonicalization was tricky enough that they had to try again with Exclusive Canonicalization...
- # [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)
- # [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)
- # [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.
- # [20:47] <manu-db> and the entire processor can be implemented in less than 1000 lines of Python.
- # [20:48] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
- # [20:48] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
- # [20:50] * Quits: hdhoang (~hdhoang@203.210.153.105) (Quit: Leaving.)
- # [20:50] * manu-db grins - it never fails - discussing graph normalization algorithms kills the conversation. Every time. :P
- # [20:50] <TabAtkins> I'm writing an email!
- # [20:51] * manu-db nice try, Tab.
- # [20:51] <jamesr> he's normalizing his graph, amirite?!
- # [20:51] <Ms2ger> So, is svg:script supposed to work in text/html in Chrome?
- # [20:51] <TabAtkins> I normalized your mom's graph. No node left blank.
- # [20:53] * Quits: david_carlisle (~chatzilla@dcarlisle.demon.co.uk) (Ping timeout: 255 seconds)
- # [20:54] * Quits: miketaylr (~miketaylr@206.217.92.186) (Read error: Connection reset by peer)
- # [20:54] <manu-db> oooh!
- # [20:54] * Quits: simplicity- (~simpli@unaffiliated/simplicity-) (Read error: Operation timed out)
- # [20:56] * Joins: miketaylr (~miketaylr@206.217.92.186)
- # [20:56] * Joins: CvP (~CvP@123.49.22.10)
- # [20:58] <hsivonen> Ms2ger: it would be rather shocking if it didn't
- # [20:59] * Quits: charlvn (~charlvn@41.0.48.54) (Read error: Connection timed out)
- # [20:59] <Ms2ger> That's what I thought
- # [21:00] * Joins: charlvn (~charlvn@41.0.48.54)
- # [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?
- # [21:04] <AryehGregor> Better, could someone explain why there's no extensions.checkCompatibility.aurora or something?
- # [21:04] <AryehGregor> Aurora is not really usable for testing if extensions break every time you upgrade.
- # [21:04] <jcranmer> there is now
- # [21:04] <Ms2ger> There is?
- # [21:04] <jcranmer> checkCompatibility.<version> doesn't work for nightly/aurora (maybe beta?)
- # [21:05] * Joins: mpt (~mpt@91.189.88.12)
- # [21:05] * Quits: mpt (~mpt@91.189.88.12) (Changing host)
- # [21:05] * Joins: mpt (~mpt@canonical/mpt)
- # [21:05] <AryehGregor> Apparently not.
- # [21:05] <AryehGregor> So what should I use instead?
- # [21:05] * AryehGregor searches Bugzilla
- # [21:05] <timeless> extensions.checkCompatibility.nightly
- # [21:06] <timeless> is what i use
- # [21:06] <timeless> you could just install Add-on Compat thingy
- # [21:06] <AryehGregor> That works for Aurora?
- # [21:06] <timeless> no :) you should suffer w/ nightly like everyone else :)
- # [21:08] <AryehGregor> How stable is nightly in practice?
- # [21:08] <timeless> i don't have it crash
- # [21:08] <timeless> but it's unstable in that it pesters me to update every day
- # [21:08] <timeless> typically twice each day i pay attn
- # [21:08] <Ms2ger> I only have it crash when I break it myself
- # [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
- # [21:09] * Quits: jarek (~jarek@unaffiliated/jarek) (Remote host closed the connection)
- # [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
- # [21:10] <AryehGregor> Oh, I think the right magic incantation is extensions.checkCompatibility.7.0a, not a2.
- # [21:10] <AryehGregor> Sigh.
- # [21:10] <timeless> yeah, that's likely
- # [21:10] <AryehGregor> Well, the add-on compat extension seems to work so far, so it's all good.
- # [21:10] <timeless> i have:
- # [21:10] <timeless> extensions.checkCompatibility.7.0
- # [21:10] <timeless> extensions.checkCompatibility.7.0a
- # [21:10] <timeless> extensions.checkCompatibility.8.0
- # [21:10] <timeless> extensions.checkCompatibility.8.0a
- # [21:10] * Joins: J_Voracek (~J_Voracek@c-76-27-2-76.hsd1.ut.comcast.net)
- # [21:10] <timeless> extensions.checkCompatibility.nightly
- # [21:10] <AryehGregor> Me too.
- # [21:11] * Quits: webr3 (~nathan@host86-134-7-232.range86-134.btcentralplus.com) (Ping timeout: 260 seconds)
- # [21:11] <timeless> plus ones for 60a and older
- # [21:11] <AryehGregor> . . . no, Firebug is broken. SIGH.
- # [21:11] <timeless> try venkman?
- # [21:12] <AryehGregor> I'm currently looking for a JavaScript profiler.
- # [21:12] <AryehGregor> Because WebKit's is useless.
- # [21:12] <timeless> venkman has one..
- # [21:12] * AryehGregor looks
- # [21:12] <timeless> don't ask me how to install it
- # [21:13] <timeless> https://addons.mozilla.org/en-US/firefox/addon/javascript-debugger/
- # [21:13] <timeless> in theory
- # [21:14] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
- # [21:14] <AryehGregor> Seems to at least pretend to work.
- # [21:14] * Joins: ojan (~ojan@nat/google/x-nyhwpclyujbzcbbm)
- # [21:15] * Quits: J_Voracek (~J_Voracek@c-76-27-2-76.hsd1.ut.comcast.net) (Ping timeout: 240 seconds)
- # [21:15] * Joins: webr3 (~nathan@host86-134-7-232.range86-134.btcentralplus.com)
- # [21:17] <AryehGregor> Okay, well Venkman apparently wants to save profiling data to a file instead of actually showing it to me.
- # [21:17] <timeless> save it as html and load it in your favorite web browser
- # [21:18] <timeless> or save it as csv and then use your favorite spreadsheet program to render your data :)
- # [21:19] * Joins: david_carlisle (~chatzilla@dcarlisle.demon.co.uk)
- # [21:19] * Joins: dbaron (~dbaron@nat/mozilla/x-gettuajzetvdlsaa)
- # [21:20] * Joins: tjaytje (~tjay@ip51ccc57d.adsl-surfen.hetnet.nl)
- # [21:20] <AryehGregor> Sigh.
- # [21:20] <timeless> was the data useful?
- # [21:20] <AryehGregor> It didn't seem worth the hassle.
- # [21:20] <AryehGregor> I could try again, since I can't get Firebug to work at all.
- # [21:21] <timeless> saving a file to disk is hard?
- # [21:21] <timeless> do you not have a working storage medium?
- # [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.
- # [21:22] <timeless> iirc IE has a profiler
- # [21:23] * AryehGregor looks
- # [21:23] <timeless> yeah, ie10 does
- # [21:23] <timeless> press f12
- # [21:23] <timeless> debug>f12 developer tools
- # [21:23] <Philip`> Do many JS profilers work without forcing JIT off and making the measurements useless?
- # [21:23] <timeless> profiler is one of the tabs
- # [21:23] <timeless> Philip`: dunno
- # [21:23] <timeless> it's technically possible to do useful performance counting w/ a jit
- # [21:23] <timeless> e.g. you could go w/ the dtrace model
- # [21:24] <timeless> which gecko supports
- # [21:24] <timeless> but i don't know if anyone was nice enough to add in dtrace support to jit generated code
- # [21:24] <timeless> (probably not)
- # [21:24] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [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.
- # [21:26] <AryehGregor> Now IE10PP2 crashes when I go into developer tools.
- # [21:26] <AryehGregor> The world conspires against me.
- # [21:26] <timeless> lol
- # [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
- # [21:27] * jernoble is now known as jernoble|afk
- # [21:27] * Quits: David_Bradbury (~chatzilla@75-147-178-254-Washington.hfc.comcastbusiness.net) (Ping timeout: 258 seconds)
- # [21:27] <timeless> i think they were youtube content (fast flip was fine, and so is youtube.com)
- # [21:27] <timeless> anyway..
- # [21:27] <Philip`> Native hardware acceleration means it can crash faster than any other browser
- # [21:28] <AryehGregor> Okay, the Venkman data looks useful.
- # [21:28] <AryehGregor> Thanks for the tip, timeless.
- # [21:28] <timeless> :)
- # [21:29] * Joins: dydx (~dydz@adsl-76-228-82-246.dsl.pltn13.sbcglobal.net)
- # [21:31] <AryehGregor> The formatting is terrible, though.
- # [21:32] <AryehGregor> But it'll do.
- # [21:34] * Quits: webr3 (~nathan@host86-134-7-232.range86-134.btcentralplus.com) (Ping timeout: 264 seconds)
- # [21:39] * Disconnected
- # [21:40] * Attempting to rejoin channel #whatwg
- # [21:40] * Rejoined channel #whatwg
- # [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!'
- # [21:40] * Set by annevk42 on Mon Oct 19 23:03:06
- # [21:41] * Quits: smaug____ (~chatzilla@GMMMCCLIX.gprs.sl-laajakaista.fi) (Ping timeout: 260 seconds)
- # [21:41] * Quits: pdr (~pdr@nat/google/x-jmunhqcebsbvldjp) (Quit: pdr)
- # [21:42] * heycam|away is now known as heycam
- # [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
- # [21:42] * zewt- is now known as zewt
- # [21:42] <AryehGregor> zewt, sure.
- # [21:45] <timeless> AryehGregor: you can use the csv output and format it however you like :)
- # [21:45] <AryehGregor> timeless, that's what I wound up doing, but having it in the UI would be more handy.
- # [21:45] <timeless> i think the author assumed someone else would come in and give it some ui love
- # [21:45] <timeless> and no one did
- # [21:46] <gsnedders> I believe a lot of debuggers disable most optimization, at least
- # [21:46] <timeless> afaik, gecko today mostly disables everything when a debugger starts doing stuff
- # [21:46] <timeless> it isn't strictly required, but yeah, that's generally the first impl since it's easiest
- # [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)
- # [21:47] <timeless> things get rather annoying when you have a jit that does inlining
- # [21:48] <timeless> since the person looking at the profiler wants to know which function they wrote is taking time
- # [21:48] <timeless> but w/o single stepping the optimized code and recognizing which function it came from
- # [21:48] <timeless> or worse, if two functions get optimized to be the same code and then are shared..
- # [21:48] <zewt> i'd rather know which optimized function, including inlined calls, is taking the time
- # [21:49] <timeless> in WPO, potentially that's "your-web-page"
- # [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
- # [21:49] <timeless> i'd imagine that wouldn't be particularly useful :)
- # [21:49] <AryehGregor> Okay, now the IE10PP2 profiler works.
- # [21:49] <AryehGregor> It clearly can't be disabling JIT, since it doesn't take much longer to run.
- # [21:49] <timeless> zewt: true
- # [21:49] <AryehGregor> And it produces useful results.
- # [21:49] <AryehGregor> WINNER: INTERNET EXPLORER.
- # [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
- # [21:49] <timeless> AryehGregor: yeah, the ms tools teams generally produce the best results..
- # [21:50] * Quits: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net) (Read error: Connection reset by peer)
- # [21:50] <timeless> my guess is it's using performance counters
- # [21:50] <AryehGregor> That would be pretty logical.
- # [21:50] <timeless> but, if they're actually generating CLR stuff, then the hooks available are pretty extensive
- # [21:50] <timeless> i don't know what the output of their JIT is..
- # [21:50] <AryehGregor> WebKit's is garbage, AFAICT, its results make no sense. But at least it's easy to use and looks pretty.
- # [21:51] <timeless> lol
- # [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.
- # [21:51] <gsnedders> timeless: They aren't doing CLR, it's all custom.
- # [21:51] <AryehGregor> Interestingly, the IE10 profiler tells me I'm spending the most time in parentNode. 2.5s.
- # [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
- # [21:51] <gsnedders> timeless: CLR people were involved in a consulting way, from what their experience was
- # [21:51] <timeless> gsnedders: good to know
- # [21:52] <AryehGregor> Wow, it gives me this great tree and everything.
- # [21:52] <Ms2ger> That man knows way too much
- # [21:52] * AryehGregor <3 IE10
- # [21:52] <gsnedders> Ms2ger: me?
- # [21:52] <jamesr> AryehGregor: profiling JS? did you try chrome?
- # [21:52] <gsnedders> Ms2ger: Sorry, I've spent too much time around JS engines. :P
- # [21:52] <Ms2ger> I gathered that :)
- # [21:53] <timeless> AryehGregor: so i get points for 2 recommendations :)
- # [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)
- # [21:53] <Ms2ger> timeless+=2
- # [21:53] <gsnedders> zewt: I mean, we could go for something confusing to most web developers when implementing it…
- # [21:53] <timeless> zewt: i've done that a lot
- # [21:53] <timeless> it's exciting
- # [21:53] <gsnedders> zewt: code with no debug symbols? Like generated code from a JITing compiler? :)
- # [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
- # [21:53] <timeless> gsnedders: typically taking an optimized release build of an open source product
- # [21:53] <zewt> = rage
- # [21:54] <timeless> zewt: yeah um...
- # [21:54] <timeless> i learned that i was *much* happier w/ any debugger other than gdb
- # [21:54] <gsnedders> timeless: JITing compilers is where I've dealt with it most
- # [21:54] * Joins: jacobolus (~jacobolus@208-90-212-189.PUBLIC.monkeybrains.net)
- # [21:54] <gsnedders> (Which was rather the point)
- # [21:54] <timeless> windbg/ntsd, adb, dbx, ...
- # [21:54] <gsnedders> Debugging JS execution bugs often ends up with fun like that. :)
- # [21:54] <timeless> you name it, if it wasn't gdb or a front end to gdb, i was *much* happier
- # [21:54] <timeless> since gdb is *incredibly* flaky
- # [21:55] <zewt> gdb is okay until you suspend and it decides it's just going to keep suspending forever
- # [21:55] * timeless remembers that
- # [21:55] * Quits: maikmerten (~maikmerte@port-92-201-154-210.dynamic.qsc.de) (Quit: Leaving)
- # [21:55] <timeless> its interrupt (ctrl-z/ctrl-c) handling is "interesting"
- # [21:55] <timeless> it also whines and has rather amusing failure handling
- # [21:58] * Quits: jamesr (~jamesr@216.239.45.82) (Quit: jamesr)
- # [22:00] * timeless returns to 4.7. Platform objects implementing interfaces §
- # [22:02] <AryehGregor> Hixie, I don't see birthdate anywhere in Google+. Is it actually there?
- # [22:03] <timeless> AryehGregor: didn't you have this discussion yesterday?
- # [22:03] <AryehGregor> timeless, yes, but he responded after I left.
- # [22:03] <AryehGregor> Saying that it was there.
- # [22:03] * timeless wonders if it's only present to the extent that it's required for COPA
- # [22:05] * AryehGregor gives up on profiling, resolves to just suffer
- # [22:05] <AryehGregor> You'd think they'd still let you display it.
- # [22:05] <timeless> why?
- # [22:06] <timeless> who is they, and what are they thwarting?
- # [22:06] <AryehGregor> Google+. You'd think they'd let you because it's an obvious thing to want to display.
- # [22:08] * Joins: David_Bradbury (~chatzilla@75-147-178-254-Washington.hfc.comcastbusiness.net)
- # [22:15] * Quits: micheil (~micheil@109.231.193.164) (Quit: http://brandedcode.com | http://github.com/miksago)
- # [22:15] <erlehmann> google+ is a lie.
- # [22:16] <erlehmann> it sends 404 as a catch-all error message.
- # [22:16] <erlehmann> great if you get a link from your friends and want to see if it is broken.
- # [22:16] <erlehmann> s/want/claim/ s/if/that/
- # [22:16] * Joins: othermaciej (~mjs@17.246.17.134)
- # [22:16] <erlehmann> sleepytiem, it seems
- # [22:16] <erlehmann> also, no feeds.
- # [22:17] * Quits: jonatasnona (~jonatas@lba.inpa.gov.br) (Quit: Saindo)
- # [22:24] * Joins: The_8472 (~stardive@azureus/The8472)
- # [22:25] * Quits: charlvn (~charlvn@41.0.48.54) (Read error: Connection timed out)
- # [22:25] * Joins: charlvn (~charlvn@41.0.48.54)
- # [22:28] * paul_irish_ is now known as paul_irish
- # [22:28] * Quits: david_carlisle (~chatzilla@dcarlisle.demon.co.uk) (Ping timeout: 252 seconds)
- # [22:31] * Quits: davidb (~davidb@corp.tor1.mozilla.com) (Quit: davidb)
- # Session Close: Fri Jul 15 00:00:00 2011
The end :)