Options:
- # Session Start: Tue Dec 16 00:00:00 2008
- # Session Ident: #whatwg
- # [00:05] * Quits: dglazkov_ (n=dglazkov@nat/google/x-b216d96a24a496a0) (Remote closed the connection)
- # [00:06] * Joins: dglazkov (n=dglazkov@nat/google/x-ebf802895d05fb72)
- # [00:09] * Joins: jacobolus (i=8cf717be@gateway/web/ajax/mibbit.com/x-f039cbe0b8f00299)
- # [00:10] <jacobolus> what would this mean, practically? "each of us personally would like to see the XHTML2 and HTML groups brought together or at least the overlaps removed."
- # [00:10] <jacobolus> in http://intertwingly.net/blog/2008/12/15/Co-Chair-HTML-WG
- # [00:11] <jacobolus> is that just xhtml2 guys being sad at being irrelevant, and wanting to do something useful?
- # [00:17] * Joins: sicking_ (n=chatzill@corp-242.mountainview.mozilla.com)
- # [00:20] * jcranmer is now known as jcranmer|away
- # [00:21] <Hixie> i dunno, ask rubys :-)
- # [00:22] <Hixie> oh that reminds me
- # [00:22] <Hixie> rubys: i just added the following to that status document:
- # [00:22] <Hixie> - the xhtml2 wg has an outstanding action item to suggest some text
- # [00:22] <Hixie> for our "relationship with xhtml" section
- # [00:23] <Hixie> oh also, the w3c team (specifically plh) has an action to get the spec's license changed to something more open to reuse and derivations (e.g. creative commons)
- # [00:24] <Hixie> updated the whatwg.org/status-2008-12 document
- # [00:24] * Quits: dolske (n=dolske@firefox/developer/dolske)
- # [00:24] <Hixie> jacobolus: (i think rubys said he had a meeting or something, so he might not be around to respond)
- # [00:25] <jacobolus> no worries
- # [00:25] * Quits: jwalden (n=waldo@corp-241.mountainview.mozilla.com) ("ChatZilla 0.9.82.1-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [00:25] * Quits: karlcow (n=karl@modemcable168.84-81-70.mc.videotron.ca) ("This computer has gone to sleep")
- # [00:30] * Joins: dolske (n=dolske@firefox/developer/dolske)
- # [00:30] * fakeolliej is now known as olliej
- # [00:35] * Quits: sicking (n=chatzill@corp-242.mountainview.mozilla.com) (Read error: 110 (Connection timed out))
- # [00:38] * Joins: jwalden_ (n=waldo@corp-241.mountainview.mozilla.com)
- # [00:38] * jwalden_ is now known as jwalden
- # [00:39] * Joins: karlcow (n=karl@modemcable057.209-70-69.mc.videotron.ca)
- # [00:45] * Joins: dbaron (n=dbaron@corp-241.mountainview.mozilla.com)
- # [00:46] * Joins: jruderman (n=jruderma@corp-241.mountainview.mozilla.com)
- # [00:48] * Quits: jwalden (n=waldo@corp-241.mountainview.mozilla.com) ("ChatZilla 0.9.82.1-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [00:55] * weinig_ is now known as weinig
- # [01:00] * Quits: famicom (i=famicom@5ED2FF2D.cable.ziggo.nl) ("Leaving")
- # [01:01] * Quits: dglazkov (n=dglazkov@nat/google/x-ebf802895d05fb72)
- # [01:03] * Quits: jacobolus (i=8cf717be@gateway/web/ajax/mibbit.com/x-f039cbe0b8f00299) ("http://www.mibbit.com ajax IRC Client")
- # [01:04] * Joins: jwalden_ (n=waldo@corp-241.mountainview.mozilla.com)
- # [01:04] * jwalden_ is now known as jwalden
- # [01:05] * Joins: famicom (i=famicom@5ED2FF2D.cable.ziggo.nl)
- # [01:06] * Joins: Dorward_ (i=foobar@91.84.53.6)
- # [01:09] * Quits: hallvors (n=hallvord@pat-tdc.opera.com)
- # [01:18] * Quits: Dorward (i=foobar@91.84.53.6) (Read error: 110 (Connection timed out))
- # [01:30] * jcranmer|away is now known as jcranmer
- # [01:31] * Quits: roc (n=roc@121-72-208-254.dsl.telstraclear.net)
- # [01:34] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [01:44] * Quits: yecril71 (n=giecrilj@piekna-gts.2a.pl)
- # [02:05] * Joins: Lachy_ (n=Lachlan@85.196.122.246)
- # [02:08] * Joins: roc (n=roc@202.0.36.64)
- # [02:13] <MikeSmith> Hixie: about workers changes just checked -- are they based on an particular feedback, or just refinements?
- # [02:14] <Hixie> they're knock-on effects of all the work on scripts i did last week
- # [02:14] * Quits: Lachy (n=Lachlan@85.196.122.246) (Read error: 145 (Connection timed out))
- # [02:29] * Quits: Amorphous (i=jan@unaffiliated/amorphous) (Read error: 104 (Connection reset by peer))
- # [02:35] * Quits: hdh (n=hdh@118.71.124.217) (Read error: 110 (Connection timed out))
- # [02:40] * Hixie ponders how to define the structured-data-over-postMessage() stuff
- # [02:42] <rubys> jacobolus: I can't honestly speculate as to the reasons... to be clear: I initiated the conversation, this was not something that they initiated.
- # [02:43] * Hixie wonders if that conversation is archived anywhere
- # [02:47] * Joins: Amorphous (i=jan@unaffiliated/amorphous)
- # [02:48] * Joins: dglazkov (n=dglazkov@c-24-130-144-56.hsd1.ca.comcast.net)
- # [02:50] * Joins: dglazkov_ (n=dglazkov@72.14.224.1)
- # [02:53] <rubys> nope, that was email from me to the two individuals I mentioned, and I'm sharing the response.
- # [02:53] <Hixie> ah ok
- # [03:00] * Joins: rubys1 (n=rubys@cpe-075-182-087-110.nc.res.rr.com)
- # [03:05] * Joins: ojan (n=ojan@nat/google/x-f162fa13be0d3f24)
- # [03:06] <sicking_> Hixie, fwiw, what we implemented is slightly different from what my mail says
- # [03:06] <sicking_> Hixie, due to weirdness in the JSON format
- # [03:06] * sicking_ is now known as sicking
- # [03:06] <sicking> Hixie, what we do is this:
- # [03:07] <sicking> Hixie, create a JS object with the following value: { para: X } (where X was the value passed to postMessage)
- # [03:07] <sicking> Hixie, serialize using JSON.stringify
- # [03:07] <sicking> Hixie, send to destination
- # [03:08] <sicking> Hixie, create Y = JSON.parse(str)
- # [03:08] <sicking> Hixie, set event.data to Y.para
- # [03:08] <jcranmer> sicking: Hixie is not a robot!
- # [03:08] <sicking> jcranmer, or so you think
- # [03:09] <jcranmer> sicking: it's obvious... Hixie has no big red button saying "Self Destruct DO NOT PUSH"
- # [03:10] <sicking> Hixie, or to put it short: event.data = JSON.parse(JSON.stringify({para: X})).para;
- # [03:10] <Hixie> sicking: what i'm planning on speccing doesn't mention JSON at all, it'll just check to see if the message is safe, then clone it and pass that into the event.data
- # [03:10] <Hixie> sicking: which should be equivalent
- # [03:11] <sicking> Hixie, no, such a thing can include cycles, no?
- # [03:11] <sicking> Hixie, there is also the issue of infinite and NaN values
- # [03:11] <Hixie> i will throw an exception if a cycle is detected
- # [03:11] <Hixie> i plan to support JS types natively
- # [03:11] * Philip` wonders about the effects on property ordering
- # [03:11] <Hixie> booleans, Numbers, etc
- # [03:12] <sicking> Hixie, ugh, that means that we can't use the JSON serializer to send cross processes :(
- # [03:12] <Hixie> sicking: well i can always do something else
- # [03:12] <Hixie> sicking: what should i do with Infinity and NaN?
- # [03:12] <Hixie> JSON sucks
- # [03:12] <Hixie> it's worse than XML :-)
- # [03:12] * Joins: eric_carlson (n=ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [03:12] <sicking> indeed
- # [03:12] <sicking> well..
- # [03:12] * Quits: dglazkov (n=dglazkov@c-24-130-144-56.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [03:13] <sicking> it errs in the wrong direction
- # [03:13] <sicking> it sucks less than XML, but it sucks nontheless
- # [03:13] <Hixie> it would suck less than XML if it defined comment syntax and defined error handling syntax
- # [03:13] <Hixie> er, error handling rules
- # [03:14] <sicking> ah
- # [03:14] <Hixie> anyway
- # [03:14] <Hixie> the syntax doesn't matter here
- # [03:14] <sicking> true
- # [03:14] <Hixie> what should i do for NaN an company?
- # [03:14] <Hixie> and for property ordering, as Philip` mentions?
- # [03:15] <sicking> so i don't care super much, but if you want JSON parity you want this:
- # [03:15] <sicking> 1. non-finite numbers are turned into null
- # [03:15] <sicking> 2. properties with the value 'undefined' are removed
- # [03:16] <Hixie> is that the value |undefined| or the value |"undefined"|?
- # [03:16] * dglazkov_ is now known as dglazkov
- # [03:16] * Hixie wonders how to do this in a language-agnostic manner
- # [03:17] * Quits: tantek (n=tantek@204.9.180.30)
- # [03:17] <sicking> |undefined|
- # [03:17] <jcranmer> Hixie: series of octets with undefined contents?
- # [03:17] <jcranmer> s/undefined/unspecified/
- # [03:17] <Philip`> I hope I'll be able to use VBScript to post structured data objects to a JavaScript worker
- # [03:18] <jcranmer> pth, use Malebolge to post to a Brainfuck worker :-)
- # [03:18] * Quits: rubys (n=rubys@cpe-075-182-087-110.nc.res.rr.com) (Read error: 110 (Connection timed out))
- # [03:19] <Philip`> jcranmer: I don't think they have the concept of structured data :-p
- # [03:20] <sicking> Hixie, i don't feel strongly regarding if NaN/Inf/Undefined should survive across postMessage though, but i'd imagine the JS people might have more of an opinion
- # [03:20] * Hixie wonders what happens when you call .stringify() on some of our more esoteric native objects
- # [03:20] <Hixie> s/on/with/
- # [03:21] <sicking> Hixie, good question. I *think* that it tries to enumerate all properties and stringify those, but i haven't tried. And for most DOM objects you end up with cyclic graphs
- # [03:21] <roc> it would be surprising if non-finite numbers were nuked going through postMessage
- # [03:22] <sicking> roc, agree. i was surprised they were nuked going through JSON
- # [03:22] <Hixie> sicking: it seems to call [[Get]], but it strikes me that we might well have [[Get]]ers somewhere that do pretty crazy things
- # [03:22] * Hixie is thinking he'll just do this for JS for now and screw JSON and screw VB
- # [03:22] <Hixie> and then we'll see what feedback is like
- # [03:23] <Hixie> if implementors want JSON, then I can always change it back -- but since both of you so far have said it's surprising, i'm reluctant to do it
- # [03:23] <sicking> Hixie, don't quote me as having an opinion either way. I'm really undecided at this point
- # [03:24] <Hixie> well i wasn't really basing it on your opinion so much as your experience (that you were surprised, as i was for that matter, when learning of JSON's quirks)
- # [03:25] <sicking> cool
- # [03:25] <dave_levin> hixie: If someone implemented this who supported VB, would it even be possible to create a VB worker?
- # [03:25] <sicking> the funny thing is that with our definition (pass {para: X} through JSON) is that |undefined| comes out correctly on the other end
- # [03:25] * Joins: erlehmann (n=erlehman@dslb-088-072-002-160.pools.arcor-ip.net)
- # [03:25] <Hixie> dave_levin: right now, no, but postMessage() isn't just for workers
- # [03:26] <dave_levin> The spec says that it is always Javascript.
- # [03:26] <dave_levin> oh ok
- # [03:26] <sicking> however { foo: undefined } comes out as {}
- # [03:26] <dave_levin> right, thx.
- # [03:26] <Hixie> sicking: heh
- # [03:26] <Hixie> dave_levin: also i expect we'll change that eventually. i'm just not sure how to do it (arguments to new Worker(), MIME types, something else).
- # [03:28] <dave_levin> hixie: That would be nice eventually....
- # [03:29] <dave_levin> hixie: but no desire for it anytime soon from me at least :).
- # [03:29] <Hixie> yeah well if the js group go along their current path we might be stuck with this problem sooner than either you or i like
- # [03:30] <Hixie> because apparently they want future versions of js to not be the same language as current js
- # [03:34] <blooberry> hixie: I thought the internal factions made all nice and have backed off the major ecma facelift/overhaul plans. Or is that something else?
- # [03:35] <sicking> define "not be the same language" and "major facelife/overhaul" :)
- # [03:35] <Hixie> as far as i know the plan, long term, and possibly short term though i really have lost track of their exact plans short term, is still to invent a new language that happens to look a lot like the current language but needs out-of-band signaling to be enabled.
- # [03:35] <Hixie> much like VB vs JS in IE today, except more similar in syntax
- # [03:36] <Hixie> much like E4X did, for that matter.
- # [03:36] <Hixie> (which was a disaster btw)
- # [03:36] <sicking> there are new keywords introduced yes, which would require some sort of signaling
- # [03:36] <Hixie> such a bad idea
- # [03:36] <sicking> not sure it's a big deal
- # [03:37] * Parts: rubys1 (n=rubys@cpe-075-182-087-110.nc.res.rr.com)
- # [03:37] <Hixie> requiring out-of-band signaling for the web's scripting language is a losing proposition, imho.
- # [03:37] <Hixie> if it's in-band, then that's fine
- # [03:38] <sicking> note that i didn't say out-of-band or in-band
- # [03:38] <Hixie> as i understand it, the js group wants it out-of-band
- # [03:38] <sicking> did maciej propose the |use| syntax?
- # [03:39] <Hixie> i haven't followed recent developments
- # [03:39] <sicking> ok
- # [03:39] <Hixie> are arrays in JS ever sparse?
- # [03:39] <Hixie> or are they always [0..n] ?
- # [03:40] <sicking> mrbkap says yes
- # [03:40] <sicking> they are sparse
- # [03:41] <sicking> they basically work just like any other object
- # [03:41] <sicking> if you set "1" and "10" then those are the properties that exist
- # [03:41] <sicking> the exception is a magical "length" property
- # [03:41] <Hixie> i wonder how JSON.stringify() handles that
- # [03:41] * Hixie looks
- # [03:42] <sicking> ['foo', null, null, null...., "bar"]
- # [03:42] * Parts: ojan (n=ojan@nat/google/x-f162fa13be0d3f24)
- # [03:42] <sicking> did I mention that JSON rocks?
- # [03:43] <Hixie> as far as i can tell that is incorrect
- # [03:43] <Hixie> it seems it returns ['foo', 'bar'] and the indicies change
- # [03:43] <sicking> i don't think that was the intent, unless things recently changed
- # [03:46] <sicking> the moz implementation inserts null
- # [03:47] <Hixie> it says "For each index in value"
- # [03:48] <Hixie> doesn't say anything about inventing new indicies or looking at the length as far as i can tell
- # [03:48] <sicking> looking at http://wiki.ecmascript.org/doku.php?id=es3.1:json_support
- # [03:48] <sicking> it first creates a |partial| array that contains all indexes
- # [03:49] <Hixie> you're looking at JA() right?
- # [03:50] <Hixie> JA(value)?
- # [03:50] <sicking> uh?
- # [03:55] <sicking> ah
- # [03:56] <sicking> yeah that doc looks different
- # [03:56] <sicking> not sure where i got the reference to looking at http://wiki.ecmascript.org/doku.php?id=es3.1:json_support
- # [03:56] <sicking> err s/looking at//
- # [03:56] <olliej> Hixie: sicking: I think sparse array syntax is [a,,,,,,b]
- # [03:57] <Hixie> that's not what i meant by sparse
- # [03:57] <sicking> olliej, that's not what we currently output
- # [03:57] <olliej> Hixie: what's an example of what you meant?
- # [03:57] <sicking> olliej, we == firefox3.1
- # [03:57] <olliej> sicking: oh well, js can parse that ;D
- # [03:57] <olliej> sicking: yup
- # [03:58] <sicking> olliej, apparently JSON is supposed to not be JS specific
- # [03:58] <olliej> sicking: incidentally i have drawImage(video,..) implemented in my local build of webkit :D
- # [03:58] <olliej> on canvas
- # [03:58] <sicking> olliej, hey, cool
- # [03:58] <olliej> sicking: just have some tidying to do
- # [03:58] <Hixie> olliej: can an Array object have properties '0' and '8' and nothing else?
- # [03:58] <Hixie> (well, other than 'length')
- # [03:58] <olliej> Hixie: yes
- # [04:00] <sicking> Hixie, ["foo",,,,,"bar"] creates such an array
- # [04:00] <sicking> Hixie, (in FF, dunno about specs)
- # [04:00] <olliej> Hixie: 2 in ['zero',,,,,,,,'eight']
- # [04:01] <olliej> is false, but the length is 9
- # [04:01] <olliej> sicking: that's what i was saying earlier
- # [04:01] <sicking> olliej, you have to forgive us JS noobs
- # [04:01] <olliej> sicking: [1,,3] the double , results in an empty slot
- # [04:01] <olliej> sicking: hehe
- # [04:02] <olliej> sicking: i just know this because i did the code gen for arrays in squirrelfish :D
- # [04:02] <olliej> array initialisers i mean
- # [04:02] <olliej> sicking: it gets better
- # [04:02] <olliej> sicking: [1,,3] results in an extra slot
- # [04:02] <olliej> sicking: but [1,2,,] does not
- # [04:02] <sicking> nice
- # [04:03] <Hixie> olliej: oh, interesting
- # [04:03] <sicking> that actually makes sense though
- # [04:03] <Hixie> olliej: i misunderstood
- # [04:03] <olliej> Hixie: np
- # [04:03] <Hixie> how about 'a', can that be in an array?
- # [04:03] <olliej> Hixie: ? as a property?
- # [04:04] <Hixie> yeah
- # [04:04] <Hixie> 'a' in foo
- # [04:04] <Hixie> where foo is an Array
- # [04:04] <olliej> Hixie: yup
- # [04:04] <Hixie> so the json serialiser just drops that one on the floor?
- # [04:04] <sicking> olliej, JSON.stringify([1,,2]) returns "[1, null, 2]" though, in firefox 3.1
- # [04:04] <olliej> sicking: i suspect that's actually wrong
- # [04:05] <sicking> olliej, what do you think it should be?
- # [04:05] <olliej> sicking: inasmuch as such a thing can be wrong
- # [04:05] <olliej> sicking: ooh
- # [04:05] <olliej> sicking: does json have undefined?
- # [04:05] <sicking> no
- # [04:05] <olliej> yeah
- # [04:05] * olliej just remembered undefined is actually just a global objedct property
- # [04:05] <sicking> that's a problem too
- # [04:06] <olliej> sicking: my guess is that the problem is
- # [04:06] <olliej> sicking: say JSON did produce [1,2,undefined,3]
- # [04:06] <olliej> or whatever
- # [04:07] <olliej> a person could do undefined="foo!"
- # [04:07] <sicking> for the record, i've stopped guessing on this stuff. Because i tend to guess on what I think makes sense. And JSON rarely agrees with me
- # [04:08] <olliej> maybe a malicious person could take advantage of that
- # [04:08] <olliej> sicking: heheh
- # [04:08] <Hixie> in firefox
- # [04:08] <Hixie> var a = new Array(); a.b = 2; a[9] = 3; JSON.stringify(a);
- # [04:08] <Hixie> returns [null,null,null,null,null,null,null,null,null,3]
- # [04:08] <sicking> olliej, only in a poor implementation
- # [04:08] <olliej> sicking: yes
- # [04:09] <olliej> sicking: i know, i'm just saying maybe that's why json doesn't produce undefined
- # [04:09] <sicking> olliej, a decent JSON implementation (even one written in JS) would not be affected by what global.undefined is set to
- # [04:09] <olliej> ah right
- # [04:09] <Hixie> well anyway
- # [04:09] <Hixie> if any of you are JS guys
- # [04:09] <olliej> because it could just do
- # [04:09] <Hixie> step 8 of JA() is underdefined
- # [04:09] <Hixie> because i've no idea what it means:
- # [04:09] <Hixie> 8. For each index in value.
- # [04:09] <sicking> Hixie, i'm not
- # [04:09] <olliej> var myLocalUndefined; if (token == "undefined") return myLocalUndefined; or some such
- # [04:10] <olliej> Hixie: url?
- # [04:10] <olliej> sicking: weee! i'm currently doing edge detection on the startrek trailer in js :D
- # [04:10] <sicking> hehe
- # [04:11] <Hixie> http://wiki.ecmascript.org/doku.php?id=es3.1:es3.1_proposal_working_draft
- # [04:11] <sicking> olliej, frame rate?
- # [04:11] <olliej> <20 would be my guess
- # [04:11] * olliej annotates code
- # [04:13] <Hixie> bbl food
- # [04:17] <olliej> sicking: aieeee, at 640x272 == 7-8fps on my mbp
- # [04:17] <sicking> olliej, cool
- # [04:18] <olliej> sicking: thankfully there are some real performance issues with SFX in this case
- # [04:18] <sicking> olliej, so do you need to first paint it to the canvas, then export from canvas as a dataImage (or whatever its called)
- # [04:18] <olliej> sicking: yup
- # [04:18] <sicking> ugh
- # [04:18] <olliej> then do a 3x3 sobel filter
- # [04:18] <olliej> then into a separate buffer
- # [04:19] <sicking> would be nice if you didn't have to do that extra roundtrip
- # [04:19] <olliej> then copy it back
- # [04:19] <olliej> weeee
- # [04:20] * sicking heads to dinner
- # [04:22] <olliej> Hixie: ping me when you return
- # [04:36] * Quits: dglazkov (n=dglazkov@72.14.224.1) (Read error: 60 (Operation timed out))
- # [04:45] * Joins: dglazkov (n=dglazkov@c-24-130-144-56.hsd1.ca.comcast.net)
- # [04:50] <Hixie> olliej: returned
- # [04:50] <olliej> Hixie: i realised a problem with imagedata + createimagedata, etc
- # [04:50] <olliej> Hixie: to make something that works safely with high dpi
- # [04:51] <olliej> Hixie: i want to do all my work in terms of the width/height of the image data object
- # [04:52] <olliej> Hixie: but many filters require a buffer (convolution, etc)
- # [04:52] <olliej> Hixie: so i might be tempted (in fact i realised this after noticing i already had) to create a buffer with context.createImageData(inData.width, inData.height)
- # [04:53] <olliej> Hixie: but those are device pixels, which will now be treated as css pixels
- # [04:53] <olliej> leading to badness
- # [04:54] <olliej> Hixie: so i think we need something akin to cloneImageData or some such
- # [04:54] <olliej> although i'm not entirely sure
- # [04:54] <olliej> Hixie: because that rules out subregions
- # [04:54] <olliej> etc
- # [04:57] * Quits: weinig (n=weinig@nat/apple/x-adaf7067a851ba34)
- # [05:00] <roc> I think I predicted that would be confusing :-)
- # [05:00] * Quits: roc (n=roc@202.0.36.64)
- # [05:06] * Quits: dave_levin (n=dave_lev@72.14.227.1)
- # [05:06] <Hixie> olliej: yeah, maybe. send mail.
- # [05:06] <olliej> roc: heh
- # [05:07] * olliej has just realised he can vectorise his edge detection code
- # [05:07] <olliej> in js
- # [05:07] <olliej> :-D
- # [05:07] <olliej> it will be *awesome*
- # [05:09] * Quits: dolske (n=dolske@firefox/developer/dolske)
- # [05:10] * Joins: dolske (n=dolske@corp-241.mountainview.mozilla.com)
- # [05:20] * Quits: dbaron (n=dbaron@corp-241.mountainview.mozilla.com) ("8403864 bytes have been tenured, next gc will be global.")
- # [05:22] * Quits: famicom (i=famicom@5ED2FF2D.cable.ziggo.nl) ("Leaving")
- # [05:26] * Quits: dolske (n=dolske@firefox/developer/dolske) (Read error: 110 (Connection timed out))
- # [05:28] * Joins: dolske (n=dolske@c-76-103-41-195.hsd1.ca.comcast.net)
- # [05:30] * Joins: dave_levin (n=dave_lev@c-98-203-247-78.hsd1.wa.comcast.net)
- # [05:30] * Quits: ianloic (n=ian@76-191-177-157.dsl.dynamic.sonic.net) (Read error: 110 (Connection timed out))
- # [05:39] * Quits: jwalden (n=waldo@corp-241.mountainview.mozilla.com) ("ChatZilla 0.9.82.1-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [05:39] * Joins: roc (n=roc@121-72-208-254.dsl.telstraclear.net)
- # [05:46] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [05:53] * Joins: jwalden_ (n=waldo@c-67-180-39-55.hsd1.ca.comcast.net)
- # [05:54] * jwalden_ is now known as jwalden
- # [06:07] * Quits: roc (n=roc@121-72-208-254.dsl.telstraclear.net)
- # [06:14] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 54 (Connection reset by peer))
- # [06:14] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [06:18] * Joins: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [06:18] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
- # [06:25] * Parts: dave_levin (n=dave_lev@c-98-203-247-78.hsd1.wa.comcast.net)
- # [06:26] * Joins: dave_levin (n=dave_lev@72.14.224.1)
- # [06:31] * Quits: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
- # [06:32] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [06:34] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
- # [06:34] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [06:35] * Quits: heycam (n=cam@clm-laptop.infotech.monash.edu.au) ("bye")
- # [06:56] * Quits: dglazkov (n=dglazkov@c-24-130-144-56.hsd1.ca.comcast.net)
- # [07:16] * Joins: heycam (n=cam@203-217-82-242.dyn.iinet.net.au)
- # [07:21] * Quits: MathiasBynens (n=sage@ip-81-11-169-75.dsl.scarlet.be)
- # [07:22] * Joins: roc (n=roc@121-72-208-254.dsl.telstraclear.net)
- # [07:24] <eric_carlson> Hixie: ping?
- # [07:27] <Hixie> hey
- # [07:28] * Joins: ap (n=ap@195.239.126.11)
- # [07:29] * Quits: annevk (n=annevk@217.174.106.250) (Read error: 110 (Connection timed out))
- # [07:29] <eric_carlson> Hixie: what should currentSrc return when src is a url that redirects to another file?
- # [07:31] <Hixie> per spec, it should return the resolved url from the attribute, before hitting the network
- # [07:31] <eric_carlson> Hixie: OK, that's what I though but wanted to make sure
- # [07:31] <eric_carlson> thanks!
- # [07:32] * eric_carlson is now known as ec|away
- # [07:38] * Joins: zcorpan_ (n=zcorpan@c83-252-193-84.bredband.comhem.se)
- # [07:41] * Quits: doublec (n=chris@202.0.36.64) ("Leaving")
- # [07:42] * Joins: maikmerten (n=merten@ls5dhcp195.cs.uni-dortmund.de)
- # [07:50] * Quits: jruderman (n=jruderma@corp-241.mountainview.mozilla.com)
- # [08:01] * Joins: doublec (n=Chris_Do@118-92-151-230.dsl.dyn.ihug.co.nz)
- # [08:05] * Joins: zcorpan (n=zcorpan@c83-252-193-84.bredband.comhem.se)
- # [08:05] * Quits: doublec (n=Chris_Do@118-92-151-230.dsl.dyn.ihug.co.nz) (Read error: 104 (Connection reset by peer))
- # [08:05] * Joins: doublec (n=Chris_Do@118-92-151-230.dsl.dyn.ihug.co.nz)
- # [08:06] * Quits: zcorpan_ (n=zcorpan@c83-252-193-84.bredband.comhem.se) (Read error: 110 (Connection timed out))
- # [08:10] * Joins: zcorpan___ (n=zcorpan@c83-252-193-84.bredband.comhem.se)
- # [08:10] * Joins: weinig (n=weinig@c-69-181-81-233.hsd1.ca.comcast.net)
- # [08:14] * Quits: zcorpan (n=zcorpan@c83-252-193-84.bredband.comhem.se) (Read error: 60 (Operation timed out))
- # [08:20] * Quits: zcorpan___ (n=zcorpan@c83-252-193-84.bredband.comhem.se) (Read error: 60 (Operation timed out))
- # [08:38] * Joins: jruderman (n=jruderma@c-67-180-39-55.hsd1.ca.comcast.net)
- # [08:42] * Joins: Maurice (n=ano@a80-101-46-164.adsl.xs4all.nl)
- # [09:11] * Joins: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de)
- # [09:19] * Quits: ginger (n=nessy@124-171-30-131.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [09:25] * Joins: MathiasBynens (n=sage@ip-81-11-169-75.dsl.scarlet.be)
- # [09:25] * Quits: MathiasBynens (n=sage@ip-81-11-169-75.dsl.scarlet.be) (Client Quit)
- # [09:33] * Joins: pesla (n=retep@procurios.xs4all.nl)
- # [09:45] * Dorward_ is now known as Dorward
- # [09:51] * Joins: mstange (n=markus@buntes215.wohnheim.uni-kl.de)
- # [09:53] * Joins: virtuelv (n=virtuelv@pat-tdc.opera.com)
- # [09:55] * Quits: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de) (Read error: 110 (Connection timed out))
- # [09:58] * Joins: zcorpan (n=zcorpan@pat.se.opera.com)
- # [10:06] * Joins: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de)
- # [10:18] * Joins: ROBOd (n=robod@89.122.216.38)
- # [10:26] * Quits: heycam (n=cam@203-217-82-242.dyn.iinet.net.au) ("bye")
- # [10:29] * Quits: erlehmann (n=erlehman@dslb-088-072-002-160.pools.arcor-ip.net) ("Ex-Chat")
- # [10:29] * Joins: deane (n=opera@121-72-204-53.dsl.telstraclear.net)
- # [10:30] * Parts: deane (n=opera@121-72-204-53.dsl.telstraclear.net)
- # [10:43] * Joins: heycam (n=cam@203-217-82-242.dyn.iinet.net.au)
- # [10:44] * Joins: tndH (n=Rob@adsl-87-102-93-106.karoo.KCOM.COM)
- # [10:50] * Quits: doublec (n=Chris_Do@118-92-151-230.dsl.dyn.ihug.co.nz) ("ChatZilla 0.9.79-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [10:59] * Joins: deane (n=opera@121-72-173-193.dsl.telstraclear.net)
- # [11:07] * Quits: Lachy_ (n=Lachlan@85.196.122.246) ("Leaving")
- # [11:33] * Joins: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au)
- # [11:42] * Joins: Lachy (n=Lachlan@pat-tdc.opera.com)
- # [11:49] * Joins: hdh (n=hdh@118.71.120.54)
- # [11:52] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Leaving")
- # [12:03] * Quits: hdh (n=hdh@118.71.120.54) (Nick collision from services.)
- # [12:04] * Joins: hdh (n=hdh@118.71.120.54)
- # [12:14] * Quits: Lachy (n=Lachlan@pat-tdc.opera.com) ("Leaving")
- # [12:16] * Joins: Lachy (n=Lachlan@pat-tdc.opera.com)
- # [12:21] * Quits: ap (n=ap@195.239.126.11)
- # [12:43] * Joins: ap (n=ap@195.239.126.10)
- # [12:44] * Joins: WulfTheSaxon (i=meh@cpe-76-178-221-42.maine.res.rr.com)
- # [12:46] * Quits: jruderman (n=jruderma@c-67-180-39-55.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [12:47] * Quits: jwalden (n=waldo@c-67-180-39-55.hsd1.ca.comcast.net) (Connection reset by peer)
- # [12:58] * Joins: virtuelv (n=virtuelv@pat-tdc.opera.com)
- # [13:01] * Joins: WulfTheSaxon_ (i=meh@cpe-76-178-221-42.maine.res.rr.com)
- # [13:01] * Quits: WulfTheSaxon (i=meh@cpe-76-178-221-42.maine.res.rr.com) (Nick collision from services.)
- # [13:01] * WulfTheSaxon_ is now known as WulfTheSaxon
- # [13:04] * Joins: myakura (n=myakura@p4200-ipbf2306marunouchi.tokyo.ocn.ne.jp)
- # [13:08] * Quits: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de) ("ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.1/2008072406]")
- # [13:14] * Joins: yecril71 (n=giecrilj@piekna-gts.2a.pl)
- # [13:21] <yecril71> A Javascript plugin is user-specified code that is executed by the browser for each page that the user visits.
- # [13:21] <yecril71> It is an equivalent of client-side stylesheet.
- # [13:21] <yecril71> Internet Explorer does not provide for this by default, but perhaps other browsers do.
- # [13:33] * Joins: wakaba_ (n=wakaba@189.164.210.220.dy.bbexcite.jp)
- # [13:33] * Quits: wakaba_ (n=wakaba@189.164.210.220.dy.bbexcite.jp) (Client Quit)
- # [13:47] * Joins: jacobolus (i=8cf72833@gateway/web/ajax/mibbit.com/x-cad5f10419a13b12)
- # [13:53] * ec|away is now known as eric_carlson
- # [14:00] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [14:03] * Quits: karlcow (n=karl@modemcable057.209-70-69.mc.videotron.ca) ("This computer has gone to sleep")
- # [14:11] * Quits: tndH (n=Rob@adsl-87-102-93-106.karoo.KCOM.COM) (Read error: 113 (No route to host))
- # [14:15] * Joins: karlcow (n=karl@modemcable168.84-81-70.mc.videotron.ca)
- # [14:21] * Quits: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [14:28] * Joins: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au)
- # [14:31] <yecril71> I would object to using attr(data-*) for CSS.
- # [14:34] <yecril71> Seems like a backdoor for presentational attributes.
- # [14:34] <takkaria> it's really unlikely anyone woud do that, though, given that there are classes and ids for that sort of thing
- # [14:35] <zcorpan> <span data-color="red"> span { color:attr(data-color, color) }
- # [14:35] <yecril71> I hope so; Giovanni’s idea got me horrified.
- # [14:35] <Dashiva> It's more work than using @style
- # [14:35] * Joins: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de)
- # [14:36] <yecril71> Evidently.
- # [14:36] <yecril71> Except that style is insensitive to media.
- # [14:37] <yecril71> (and to conditional processing)
- # [14:39] <yecril71> And now Giovanni active promotes that quirk.
- # [14:39] <yecril71> actively
- # [14:40] <zcorpan> @media print { [style='color: red;'] { color: blue } }
- # [14:40] <zcorpan> with !important probably
- # [14:41] <yecril71> That would not hit style='color: red; background: green'.
- # [14:42] <yecril71> style is a parsed attribute and the parse rules cannot be reinterpreted by CSS selectors.
- # [14:42] <takkaria> you could do a substring match with CSS selectors, but I can't remember the syntax
- # [14:43] <zcorpan> [style*="..."]
- # [14:43] <yecril71> That would not hit style='color: #FF0000'
- # [14:43] <zcorpan> right
- # [14:44] <yecril71> but it would hit style='background-color: red'
- # [14:44] * Quits: eric_carlson (n=ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [14:45] * Joins: tndH (n=Rob@adsl-87-102-93-106.karoo.KCOM.COM)
- # [14:46] <yecril71> Giovanni says metadata are not displayed and immediately thereafter
- # [14:46] <yecril71> he wants to display it with CSS content attribute.
- # [14:47] <yecril71> What a mess.
- # [14:49] * Parts: jacobolus (i=8cf72833@gateway/web/ajax/mibbit.com/x-cad5f10419a13b12)
- # [14:58] * Quits: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [15:01] <zcorpan> should eval() do pre-lexer removal of Cf characters?
- # [15:03] * Quits: hdh (n=hdh@118.71.120.54) ("Leaving.")
- # [15:03] <zcorpan> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3Cscript%3E%0D%0Avar%20Cf%20%3D%20%5B'%5Cu00AD'%2C%20'%5Cu0600'%2C%20'%5Cu0601'%2C%20'%5Cu0602'%2C%20'%5Cu0603'%2C%20'%5Cu06DD'%2C%20'%5Cu070F'%2C%20'%5Cu17B4'%2C%20'%5Cu17B5'%2C%20'%5Cu200B'%2C%20'%5Cu200C'%2C%20'%5Cu200D'%2C%20'%5Cu200E'%2C%20'%5Cu200F'%2C%20'%5Cu202A'%2C%20'%5Cu202B'%2C%20'%5Cu202C'%2C%20'%5Cu202D'%2C%20'%5Cu202E'%2C%20'%5Cu2060'%2C%20'%5Cu2061'%2C%20'%5Cu2062'%2C%20'%5Cu
- # [15:03] <zcorpan> 2063'%2C%20'%5Cu2064'%2C%20'%5Cu206A'%2C%20'%5Cu206B'%2C%20'%5Cu206C'%2C%20'%5Cu206D'%2C%20'%5Cu206E'%2C%20'%5Cu206F'%2C%20'%5CuFEFF'%2C%20'%5CuFFF9'%2C%20'%5CuFFFA'%2C%20'%5CuFFFB'%2C%20'%5CuD834%5CuDD73'%2C%20'%5CuD834%5CuDD74'%2C%20'%5CuD834%5CuDD75'%2C%20'%5CuD834%5CuDD76'%2C%20'%5CuD834%5CuDD77'%2C%20'%5CuD834%5CuDD78'%2C%20'%5CuD834%5CuDD79'%2C%20'%5CuD834%5CuDD7A'%2C%20'%5CuDB40%5CuDC01'%2C%20'%5CuDB40%5CuDC20'%2C%20'%5CuDB40%5CuDC21'%2C%2
- # [15:03] <zcorpan> 0'%5CuDB40%5CuDC22'%2C%20'%5CuDB40%5CuDC23'%2C%20'%5CuDB40%5CuDC24'%2C%20'%5CuDB40%5CuDC25'%2C%20'%5CuDB40%5CuDC26'%2C%20'%5CuDB40%5CuDC27'%2C%20'%5CuDB40%5CuDC28'%2C%20'%5CuDB40%5CuDC29'%2C%20'%5CuDB40%5CuDC2A'%2C%20'%5CuDB40%5CuDC2B'%2C%20'%5CuDB40%5CuDC2C'%2C%20'%5CuDB40%5CuDC2D'%2C%20'%5CuDB40%5CuDC2E'%2C%20'%5CuDB40%5CuDC2F'%2C%20'%5CuDB40%5CuDC30'%2C%20'%5CuDB40%5CuDC31'%2C%20'%5CuDB40%5CuDC32'%2C%20'%5CuDB40%5CuDC33'%2C%20'%5CuDB40%5CuDC34
- # [15:04] <zcorpan> '%2C%20'%5CuDB40%5CuDC35'%2C%20'%5CuDB40%5CuDC36'%2C%20'%5CuDB40%5CuDC37'%2C%20'%5CuDB40%5CuDC38'%2C%20'%5CuDB40%5CuDC39'%2C%20'%5CuDB40%5CuDC3A'%2C%20'%5CuDB40%5CuDC3B'%2C%20'%5CuDB40%5CuDC3C'%2C%20'%5CuDB40%5CuDC3D'%2C%20'%5CuDB40%5CuDC3E'%2C%20'%5CuDB40%5CuDC3F'%2C%20'%5CuDB40%5CuDC40'%2C%20'%5CuDB40%5CuDC41'%2C%20'%5CuDB40%5CuDC42'%2C%20'%5CuDB40%5CuDC43'%2C%20'%5CuDB40%5CuDC44'%2C%20'%5CuDB40%5CuDC45'%2C%20'%5CuDB40%5CuDC46'%2C%20'%5CuDB40%5
- # [15:04] <zcorpan> CuDC47'%2C%20'%5CuDB40%5CuDC48'%2C%20'%5CuDB40%5CuDC49'%2C%20'%5CuDB40%5CuDC4A'%2C%20'%5CuDB40%5CuDC4B'%2C%20'%5CuDB40%5CuDC4C'%2C%20'%5CuDB40%5CuDC4D'%2C%20'%5CuDB40%5CuDC4E'%2C%20'%5CuDB40%5CuDC4F'%2C%20'%5CuDB40%5CuDC50'%2C%20'%5CuDB40%5CuDC51'%2C%20'%5CuDB40%5CuDC52'%2C%20'%5CuDB40%5CuDC53'%2C%20'%5CuDB40%5CuDC54'%2C%20'%5CuDB40%5CuDC55'%2C%20'%5CuDB40%5CuDC56'%2C%20'%5CuDB40%5CuDC57'%2C%20'%5CuDB40%5CuDC58'%2C%20'%5CuDB40%5CuDC59'%2C%20'%5Cu
- # [15:04] <zcorpan> DB40%5CuDC5A'%2C%20'%5CuDB40%5CuDC5B'%2C%20'%5CuDB40%5CuDC5C'%2C%20'%5CuDB40%5CuDC5D'%2C%20'%5CuDB40%5CuDC5E'%2C%20'%5CuDB40%5CuDC5F'%2C%20'%5CuDB40%5CuDC60'%2C%20'%5CuDB40%5CuDC61'%2C%20'%5CuDB40%5CuDC62'%2C%20'%5CuDB40%5CuDC63'%2C%20'%5CuDB40%5CuDC64'%2C%20'%5CuDB40%5CuDC65'%2C%20'%5CuDB40%5CuDC66'%2C%20'%5CuDB40%5CuDC67'%2C%20'%5CuDB40%5CuDC68'%2C%20'%5CuDB40%5CuDC69'%2C%20'%5CuDB40%5CuDC6A'%2C%20'%5CuDB40%5CuDC6B'%2C%20'%5CuDB40%5CuDC6C'%2C%2
- # [15:04] <zcorpan> 0'%5CuDB40%5CuDC6D'%2C%20'%5CuDB40%5CuDC6E'%2C%20'%5CuDB40%5CuDC6F'%2C%20'%5CuDB40%5CuDC70'%2C%20'%5CuDB40%5CuDC71'%2C%20'%5CuDB40%5CuDC72'%2C%20'%5CuDB40%5CuDC73'%2C%20'%5CuDB40%5CuDC74'%2C%20'%5CuDB40%5CuDC75'%2C%20'%5CuDB40%5CuDC76'%2C%20'%5CuDB40%5CuDC77'%2C%20'%5CuDB40%5CuDC78'%2C%20'%5CuDB40%5CuDC79'%2C%20'%5CuDB40%5CuDC7A'%2C%20'%5CuDB40%5CuDC7B'%2C%20'%5CuDB40%5CuDC7C'%2C%20'%5CuDB40%5CuDC7D'%2C%20'%5CuDB40%5CuDC7E'%2C%20'%5CuDB40%5CuDC7F
- # [15:04] <zcorpan> '%5D%3B%0D%0Avar%20test%3B%0D%0Avar%20log%20%3D%20%5B%5D%3B%0D%0Afor%20(var%20i%20%3D%200%3B%20i%20%3C%20Cf.length%3B%20%2B%2Bi)%20%7B%0D%0A%20%20try%20%7B%0D%0A%20%20%20%20eval('te'%20%2B%20Cf%5Bi%5D%20%2B%20'st%20%3D%20%22%22%3B')%3B%0D%0A%20%20%7D%20catch(e)%20%7B%0D%0A%20%20%20%20log.push(i)%3B%0D%0A%20%20%7D%0D%0A%7D%0D%0Avar%20passed%20%3D%20log.length%20%3D%3D%200%3B%0D%0Aw(passed%20%3F%20'PASS'%20%3A%20'FAIL%3A%20'%20%2B%20log)%3B%0D%0A%3
- # [15:04] <zcorpan> C%2Fscript%3E
- # [15:04] <zcorpan> oops
- # [15:04] <zcorpan> uploaded
- # [15:05] * Quits: mstange (n=markus@buntes215.wohnheim.uni-kl.de) ("ChatZilla 0.9.84 [Firefox 3.2a1pre/20081214020505]")
- # [15:05] * Joins: hdh (n=hdh@118.71.120.54)
- # [15:07] <yecril71> Mixed content Web pages have to worry about much more than just malformed input.
- # [15:09] * Quits: hdh (n=hdh@118.71.120.54) (Client Quit)
- # [15:17] * Joins: hdh (n=hdh@118.71.120.54)
- # [15:17] <Philip`> Uh oh, the mailing list is getting dangerously close to a discussion of why well-formedness is harder than it seems
- # [15:18] <Philip`> http://blog.dieweltistgarnichtso.net/?s=%ef%bf%bf - gosh, that was unexpected
- # [15:19] <MikeSmith> oophs
- # [15:23] * Quits: tndH (n=Rob@adsl-87-102-93-106.karoo.KCOM.COM) ("ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.1/2008072406]")
- # [15:25] * Joins: rubys (n=rubys@cpe-075-182-087-110.nc.res.rr.com)
- # [15:28] <Philip`> "It might be more accurate to say that HTML5 is a significantly extended subset of HTML4." - that seems almost an information-free thing to say, since any set can be seen as an extension of a subset of any other set, particularly if you take the zero-sized subset and then extend it to contain everything in the first set
- # [15:29] <takkaria> where's that from?
- # [15:29] <MikeSmith> chaals posting
- # [15:29] <Philip`> "[whatwg] Stability of tokenizing/dom algorithms"
- # [15:29] * Philip` is probably being too pedantic :-)
- # [15:30] <MikeSmith> Philip`: yeah, "significantly extended subset" is a phrase I plan to appropriate for my own use later
- # [15:30] <MikeSmith> very handy
- # [15:30] <takkaria> ta
- # [15:30] <jgraham> Philip`: I did wonder what he meant
- # [15:30] <MikeSmith> plus, its abbreviation is SES
- # [15:31] <jgraham> Since an "extended subset" at best means "a non-disjoint set"
- # [15:31] <MikeSmith> or make that, <acronym>
- # [15:31] <Philip`> jgraham: Why would it mean non-disjoint?
- # [15:33] <jgraham> Because presumably "extended subset" implies that they have some elements in common
- # [15:33] <jgraham> Unless the null set is considered a subset of all sets
- # [15:33] <hsivonen> jgraham: the subset can be the empty set
- # [15:34] <jgraham> hsivonen: Oh. Well that is just silly :)
- # [15:34] <hsivonen> at least, humorous usage of "extended subset" is based on the possibility of the empty set being the subset
- # [15:36] <takkaria> Atom is thus a significantly extended subset of HTML4 too, I like it
- # [15:36] <rubys> me two
- # [15:37] * zcorpan is an extended subset of html4
- # [15:38] <Philip`> I'd define subsets as being something like S ⊆ T ⇔ (x ∊ S ⇒ x ∊ T) and so clearly S = ∅ is a subset of anything
- # [15:40] <jgraham> Philip`: Can you rewite that in english for people ho can't be bothered to look up formal logic symbols?
- # [15:42] <Philip`> S is a subset T if and only if (if x is a member of S, then x is a member of T)
- # [15:43] <jcranmer> Philip`: you need quantifiers
- # [15:43] <jcranmer> if and only if (for all x, ...)
- # [15:44] <Philip`> jcranmer: I'm, uh, leaving it implicitly quantified on purpose
- # [15:45] <rubys> jcranmer: I don't think so, a better translation would be: "S is a subset of T" is equivalent to saying "x is a member of S implies x is a member of T"
- # [15:45] <Philip`> Okay, so maybe I should have said something more like S ⊆ T ⇔ (∀ x ∊ S. x ∊ T)
- # [15:45] <Philip`> (It's hard writing this when my IRC font displays all these symbols as squares)
- # [15:48] <yecril71> That was cute, Mirc got it right :-)
- # [15:49] * olliej is now known as fakeolliej
- # [15:49] <Philip`> rubys: That's a bit too imprecise, because I could take S={1,2} and T={1,3} and x=1 and say that ""{1,2} is a subset of {1,3}" is equivalent to saying "1 is a member of {1,2}"" (and could repeat that for all values of x), which is not right
- # [15:49] <yecril71> Browsers do not assume that the author knows the language the document is written in.
- # [15:50] <Philip`> Oops, I forgot the "implies ..." bit, but that doesn't make a difference
- # [15:50] <yecril71> Just the opposite, they assume she does not.
- # [15:50] <jcranmer> my tt font has all these nice symbols
- # [15:51] <yecril71> Was that a sexist comment? Perhaps I should use "he" with pejorative statements?
- # [15:51] <jcranmer> it even has Japanese hiragana and katakana, although it's missing a fair amouint of kanji
- # [15:51] <jcranmer> yecril71: just dehumanize them with "it"
- # [15:52] <yecril71> That would be too ambiguous.
- # [15:54] <rubys> Philip` I think the word "implies" means more than you give it credit.
- # [15:54] <rubys> saying "x is a member of S implies x is a member of T" is a strong statement.
- # [15:55] <yecril71> Upon encountering a malformed entry, a shared content server can do one of two things:
- # [15:55] <yecril71> It can fix it or it can reject it.
- # [15:55] <yecril71> If it rejects, it can return the entry to the author for further processing.
- # [15:55] <Philip`> rubys: The problem is that it's ambiguous what "x" means when it's not explicitly quantified
- # [15:57] <Philip`> (at least when it's nested in more complex logical statements)
- # [15:57] <rubys> OK, I'll grant you that. An "∀ x" in front would help, or in words: "S is a subset of T" is equivalent to saying "for all x, x is a member of S implies x is a member of T"
- # [15:58] <Philip`> That sounds about right to me
- # [15:59] <Philip`> Now S and T are implicitly quantified, but I suppose that's okay since they're at the outermost level
- # [16:00] <yecril71> If the users cannot embed SCRIPT elements, how can they use jQuery.Validate in the first place?
- # [16:00] <yecril71> And if ID is not supported, why should CLASS be?
- # [16:06] <yecril71> I cannot imagine how submitting invalid HTML content could crash the server.
- # [16:06] <yecril71> And in the corporate environment.
- # [16:10] <Philip`> yecril71: You can bring the site down by posting ill-formed XML content, if the site is served as XHTML and displays your content to all other users, even though the server is unaffected
- # [16:11] * Quits: broquaint (i=f18462fe@spc1-brig11-0-0-cust544.asfd.broadband.ntl.com) (Remote closed the connection)
- # [16:14] * Joins: dglazkov (n=dglazkov@c-24-130-144-56.hsd1.ca.comcast.net)
- # [16:15] * Joins: eric_carlson (n=ericc@nat/apple/x-ac2deb61eed7a023)
- # [16:18] <yecril71> A corporate site that would allow such unsupervised arbitrary manipulation of key elements would be pretty insane.
- # [16:18] <Philip`> Not really - it's what happens whenever a site lets a user post comments
- # [16:19] <yecril71> That affects only one page, not the whole site.
- # [16:19] <Philip`> and even if it's plain text, they'll forget to deal will illegal characters that mean the output will be ill-formed when the text is inserted into their page
- # [16:19] <Philip`> The user can post a comment to every page on the site :-)
- # [16:20] <yecril71> Not really; key pages should be protected anyway.
- # [16:20] * Parts: deane (n=opera@121-72-173-193.dsl.telstraclear.net)
- # [16:28] * Quits: myakura (n=myakura@p4200-ipbf2306marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [16:41] * Quits: Hish (n=chatzill@mail2.n-e-s.de) (Read error: 104 (Connection reset by peer))
- # [16:42] * Joins: Hish (n=chatzill@mail2.n-e-s.de)
- # [16:57] * Quits: maikmerten (n=merten@ls5dhcp195.cs.uni-dortmund.de) (Remote closed the connection)
- # [16:57] * Joins: tndH (n=Rob@adsl-87-102-46-169.karoo.KCOM.COM)
- # [16:58] * Quits: dglazkov (n=dglazkov@c-24-130-144-56.hsd1.ca.comcast.net)
- # [17:01] * Quits: Maurice (n=ano@a80-101-46-164.adsl.xs4all.nl) ("Disconnected...")
- # [17:03] <gsnedders> How's y'all?
- # [17:06] * Joins: broquaint (i=aa4aedcc@spc1-brig11-0-0-cust544.asfd.broadband.ntl.com)
- # [17:17] * Joins: hallvors (n=hallvord@cm-84.208.78.204.getinternet.no)
- # [17:22] * Quits: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de) ("ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.1/2008072406]")
- # [17:26] * Joins: jruderman (n=jruderma@c-67-180-39-55.hsd1.ca.comcast.net)
- # [17:27] * Joins: dglazkov (n=dglazkov@nat/google/x-6ba0a64f617caeac)
- # [17:32] * Joins: erlehmann (n=erlehman@dslb-088-075-216-082.pools.arcor-ip.net)
- # [17:35] * Joins: MathiasBynens (n=sage@ip-81-11-169-75.dsl.scarlet.be)
- # [17:38] * Quits: Lachy (n=Lachlan@pat-tdc.opera.com) ("This computer has gone to sleep")
- # [17:42] * Joins: Maurice (i=copyman@5ED548D4.cable.ziggo.nl)
- # [17:44] * Quits: Hish (n=chatzill@mail2.n-e-s.de) (Read error: 101 (Network is unreachable))
- # [17:44] * Joins: Hish_ (n=chatzill@mail2.n-e-s.de)
- # [17:44] * Hish_ is now known as Hish
- # [17:45] * Joins: billmason (n=bmason@ip55.unival.com)
- # [17:54] * Quits: jruderman (n=jruderma@c-67-180-39-55.hsd1.ca.comcast.net)
- # [17:59] * Joins: pauld (n=pauld@host217-43-109-48.range217-43.btcentralplus.com)
- # [18:03] * Quits: pesla (n=retep@procurios.xs4all.nl) ("( www.nnscript.com :: NoNameScript 4.21 :: www.esnation.com )")
- # [18:10] * Joins: Mustafa51 (n=mustafa@122.164.164.128)
- # [18:20] * Quits: dglazkov (n=dglazkov@nat/google/x-6ba0a64f617caeac)
- # [18:21] <Dashiva> "Pointing out the smallest invalid subtree"
- # [18:21] <Dashiva> Assuming more than one XML error, is that technically possible?
- # [18:23] <Philip`> It's technically vague, so you can't tell - "subtree" only makes sense after you've parsed the document, and you can't parse the document if it's ill-formed, so you can't point out an ill-formed subtree
- # [18:23] <Philip`> (and "ill-formed" seems to be what was meant by "invalid", if I remember correctly)
- # [18:24] <Dashiva> Ah, there's that angle too
- # [18:24] <Dashiva> Then it's even less possible :)
- # [18:27] <gsnedders> Philip`: A subtree of the b element exists in the character-stream: <a><b><c/></b><d></a>
- # [18:27] <gsnedders> Philip`: Despite that not being well-formed, the XML parser doesn't need to throw a fatal error until the </a>
- # [18:28] * Quits: zcorpan (n=zcorpan@pat.se.opera.com)
- # [18:29] <Dashiva> gsnedders: Yeah, but we're talking about subtree containing the invalid part
- # [18:29] <gsnedders> Dashiva: True
- # [18:29] <gsnedders> Dashiva: Which is impossible
- # [18:29] * gsnedders is half asleep
- # [18:29] * gsnedders has been awake for five hours!
- # [18:30] <Dashiva> That's a long time to be half asleep!
- # [18:30] * Quits: billmason (n=bmason@ip55.unival.com) (Read error: 54 (Connection reset by peer))
- # [18:32] * Joins: billmason (n=bmason@ip55.unival.com)
- # [18:34] <Dashiva> I suppose you could parse it as HTML and keep track of where the ill-formed token ends up, but that seems awfully complicated compared to just using HTML :)
- # [18:39] * Joins: aroben (n=aroben@unaffiliated/aroben)
- # [18:40] * Joins: jruderman (n=jruderma@corp-241.mountainview.mozilla.com)
- # [18:46] <Philip`> Dashiva: And awfully user-hostile, if you're going to pop up a dialog box with several options for every error they made
- # [18:47] <yecril71> A subtree containing the invalid part is possible: <d/>
- # [18:47] <yecril71> This would always be a one-node subtree.
- # [18:48] * Joins: maikmerten (n=maikmert@L9f8d.l.pppool.de)
- # [18:48] <yecril71> Internet Explorer indicates the error by quoting the text stream.
- # [18:49] <yecril71> Are scripts executed in a detached document?
- # [18:49] * Joins: Lachy (n=Lachlan@85.196.122.246)
- # [18:49] <yecril71> I think they should not be, because there is no window.
- # [18:50] * Quits: weinig (n=weinig@c-69-181-81-233.hsd1.ca.comcast.net)
- # [18:51] <yecril71> InnerHTML is a poor way to insert a script, DOM manipulation is better.
- # [18:57] <yecril71> A document cannot be backward-compliant.
- # [18:58] <yecril71> HTML5 does not deprecate.
- # [19:02] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [19:05] <yecril71> Custom scripting engines are out of scope.
- # [19:05] <yecril71> CORBA and the like are served by the OBJECT element.
- # [19:10] * Joins: dglazkov (n=dglazkov@nat/google/x-0ffe6225a0427ccf)
- # [19:11] * Joins: annevk (n=annevk@217.174.106.250)
- # [19:11] * Quits: jruderman (n=jruderma@corp-241.mountainview.mozilla.com) (Read error: 60 (Operation timed out))
- # [19:12] * Quits: pauld (n=pauld@host217-43-109-48.range217-43.btcentralplus.com)
- # [19:15] <yecril71> An ECMAScript array object, being an ECMAScript array object, must carry all properties and methods of an ECMAScript array object.
- # [19:16] * Parts: annevk (n=annevk@217.174.106.250)
- # [19:17] <yecril71> The way to serialise complex data structures is XML and perhaps JSON.
- # [19:17] <yecril71> XML has an advantage of being programming-language-neutral.
- # [19:18] <takkaria> JSON is pretty programming-language neutral as well, really
- # [19:19] <yecril71> Will you be so kind and point be to a JSON reader implemented in Microsoft Visual Basic Scripting Edition?
- # [19:19] <yecril71> (I am not saying it cannot be done)
- # [19:23] * Quits: dave_levin (n=dave_lev@72.14.224.1)
- # [19:24] <yecril71> Digit-labelled items are not positional properties.
- # [19:26] * Joins: jruderman (n=jruderma@corp-241.mountainview.mozilla.com)
- # [19:26] <yecril71> OK, the lynching started.
- # [19:29] <yecril71> Communicating with remote server is done via cross-domain network requests, not by passing window messages.
- # [19:32] * Parts: rubys (n=rubys@cpe-075-182-087-110.nc.res.rr.com)
- # [19:34] <takkaria> those four posts are far too long for me to read :)
- # [19:34] <yecril71> Do not worry, I shall do it for you :-)
- # [19:34] * Joins: ojan (n=ojan@72.14.229.81)
- # [19:35] <yecril71> Tunnelling through one dedicated window to save on HTTP connections is utter nonsense.
- # [19:37] <yecril71> A Web application should not use more than one window.
- # [19:41] * Joins: jwalden (n=waldo@guest-225.mountainview.mozilla.com)
- # [19:45] * Quits: gsnedders (n=gsnedder@host86-148-25-197.range86-148.btcentralplus.com) (Client Quit)
- # [19:46] * Joins: dave_levin (n=dave_lev@72.14.227.1)
- # [19:48] * Quits: dolske (n=dolske@firefox/developer/dolske)
- # [19:53] <yecril71> defaultscript is called language in HTML.
- # [19:54] <yecril71> Voiding an unsupported script would be harmful for other scripts.
- # [19:56] <yecril71> Dynamic attributes and declared attributes should obey the same semantic rules.
- # [19:56] * Joins: gsnedders (n=gsnedder@host86-148-25-197.range86-148.btcentralplus.com)
- # [19:58] <yecril71> Stranger scripts should be able to access all event handlers as defined.
- # [20:01] * Joins: shepazutoo (n=schepers@c-69-139-224-74.hsd1.md.comcast.net)
- # [20:01] <yecril71> Since classic event handler attributes are just strings, no harm is done by providing access to them.
- # [20:02] * Quits: shepazu (n=schepers@c-69-139-224-74.hsd1.md.comcast.net) (Read error: 60 (Operation timed out))
- # [20:06] <yecril71> Detection whether a particular scripting language is easy: just include a script in that language setting some global property.
- # [20:07] <yecril71> If it is not set, other scripts can infer that it is not supported.
- # [20:08] <yecril71> That way, the scripts can negotiate the preference order themselves, and with a better granularity than the host.
- # [20:10] <Philip`> What if it's a pure functional language like Haskell and it's not possible to modify any state?
- # [20:10] <yecril71> It has nothing to do in HTML then.
- # [20:10] <yecril71> Because HTML DOM is about modifying states.
- # [20:11] <yecril71> You could have an analogue of document.write in Haskell, but that is all.
- # [20:14] * Joins: dolske (n=dolske@guest-225.mountainview.mozilla.com)
- # [20:16] <yecril71> Event handlers are synchronous.
- # [20:20] * Joins: dolske_ (n=dolske@corp-241.mountainview.mozilla.com)
- # [20:22] * Joins: mstange (n=markus@aixd3.rhrk.uni-kl.de)
- # [20:23] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Leaving")
- # [20:33] * Quits: roc (n=roc@121-72-208-254.dsl.telstraclear.net)
- # [20:36] * Quits: dolske (n=dolske@firefox/developer/dolske) (Read error: 110 (Connection timed out))
- # [20:38] * Joins: dimich (n=dimich@c-98-203-230-54.hsd1.wa.comcast.net)
- # [20:39] * Parts: MathiasBynens (n=sage@ip-81-11-169-75.dsl.scarlet.be)
- # [20:45] * Joins: dimich_ (n=dimich@72.14.224.1)
- # [20:56] <Dashiva> Hixie: Did you see Philip`'s comment about the structured cloning and multiple references to the same object?
- # [20:57] * Joins: pauld (n=pauld@host217-43-109-48.range217-43.btcentralplus.com)
- # [20:58] <Hixie> no?
- # [20:58] * Joins: annevk (n=annevk@217.174.106.250)
- # [20:59] <Dashiva> If you have an object a and send [a, a] through the algorithm, you get [a', a"] out
- # [21:00] <Hixie> yes, that's intentional
- # [21:00] * Quits: dimich (n=dimich@c-98-203-230-54.hsd1.wa.comcast.net) (Read error: 110 (Connection timed out))
- # [21:01] * Joins: tantek (n=tantek@204.9.180.30)
- # [21:02] <Dashiva> It seems that since there's no serialization going on, the relationship could be maintained (which would also save work on those cases)
- # [21:03] <Hixie> i guess
- # [21:07] * Quits: ap (n=ap@195.239.126.10)
- # [21:10] * Joins: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au)
- # [21:13] * Quits: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au) (Client Quit)
- # [21:16] <Philip`> http://krijnhoetmer.nl/irc-logs/html-wg/20081216#l-134 is the aforementioned comment
- # [21:17] <Philip`> But I don't see any real value in trying to 'fix' it - UAs will presumably already have to handle out-of-memory conditions when cloning, and this just provides an easier way to trigger that
- # [21:18] <Dashiva> I see value in less work while still maintaining the assocations
- # [21:19] <Philip`> Is it a pattern that's likely to be common in practice (and not just in malicious cases)?
- # [21:20] <Hixie> oh if we did this OOM protection wouldn't be the reason
- # [21:21] <Dashiva> Philip`: That's a hard question to ask about a brand new feature :)
- # [21:21] <Hixie> we could trivially make loops and non-loop duplicates get preserved
- # [21:21] <Hixie> the question is whether we want to
- # [21:22] <Hixie> it makes it much harder for UAs to use serialisation mechanisms to do it
- # [21:22] <Hixie> e.g. JSON
- # [21:22] <Hixie> since they'd have to extend JSON to not only support things like NaN (not hard to do) but also to support labels and references.
- # [21:22] <Philip`> Firefox can already serialise cyclic and duplicative data structures in uneval(), using the #1# property syntax or whatever it is
- # [21:23] <gavin> "sharp variables"
- # [21:23] <Dashiva> Gavin Sharp variables? :)
- # [21:24] <gavin> unfortunately not :)
- # [21:24] * Quits: hallvors (n=hallvord@cm-84.208.78.204.getinternet.no) (Read error: 110 (Connection timed out))
- # [21:24] <yecril71> labels and references can be handled by host application.
- # [21:25] <Hixie> i don't understand http://www.w3.org/mid/1229450642.7182.401.camel@pav.lan
- # [21:25] <Philip`> I nearly poked my eye out on a sharp variable once
- # [21:26] * Joins: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au)
- # [21:27] * Quits: drry (n=drry@it17.opt2.point.ne.jp)
- # [21:27] * Joins: roc (n=roc@202.0.36.64)
- # [21:29] * Joins: drry (n=drry@it17.opt2.point.ne.jp)
- # [21:31] * Quits: drry (n=drry@it17.opt2.point.ne.jp) (Client Quit)
- # [21:31] * Quits: mstange (n=markus@aixd3.rhrk.uni-kl.de) ("ChatZilla 0.9.84 [Firefox 3.2a1pre/20081216020422]")
- # [21:32] * Quits: pauld (n=pauld@host217-43-109-48.range217-43.btcentralplus.com) ("Gone for a burton")
- # [21:33] * Joins: hallvors (n=hallvord@cm-84.208.78.204.getinternet.no)
- # [21:33] * Joins: drry (n=drry@it17.opt2.point.ne.jp)
- # [21:34] * Quits: drry (n=drry@it17.opt2.point.ne.jp) (Client Quit)
- # [21:45] <gsnedders> hmm…
- # [21:45] <gsnedders> do I go to christmas dance or not?
- # [21:50] * Joins: dolske (n=dolske@corp-241.mountainview.mozilla.com)
- # [21:54] * Quits: maikmerten (n=maikmert@L9f8d.l.pppool.de) (Remote closed the connection)
- # [21:54] <gsnedders> I've been getting more spam in my moderation queue on my blog. Seems spammers are getting less dumb.
- # [21:57] * Joins: drry (n=drry@it17.opt2.point.ne.jp)
- # [21:58] * Quits: tantek (n=tantek@204.9.180.30)
- # [22:01] <hober> that reminds me, I've been meaning to ask DanC about the origins of his [[...]] quoting style.
- # [22:06] * Quits: dolske_ (n=dolske@corp-241.mountainview.mozilla.com) (Read error: 110 (Connection timed out))
- # [22:08] * jwalden doesn't like sharp variables
- # [22:08] <jwalden> !summon abarth
- # [22:09] * Joins: mstange (n=markus@aixd3.rhrk.uni-kl.de)
- # [22:10] <Hixie> sicking: how do you feel about preserving cycles?
- # [22:11] * Quits: nessy (n=nessy@124-171-30-131.dyn.iinet.net.au) ("This computer has gone to sleep")
- # [22:36] <jwalden> when did we decide just using JSON to convert to and from strings passed through these APIs wasn't good enough? I'd thought that was what the plan was going to be
- # [22:37] <Hixie> roughly when we looked at JSON
- # [22:37] <jwalden> when was this? some thread in whatwg@ I missed?
- # [22:37] * jwalden is about six months out of the loop, mind
- # [22:38] <Hixie> it was discussed last night on IRC, primarily
- # [22:38] <jwalden> oh, just then?
- # [22:38] <Hixie> (it can't preserve things like undefined, NaN, Infinity, it screws up arrays, etc)
- # [22:38] <Hixie> (it stringifies host objects, which seems dangerous)
- # [22:38] <jwalden> holey arrays, not especially common I suspect
- # [22:38] <jwalden> host objects are an author error, no?
- # [22:38] <Hixie> well the point is why would we _want_ to break these things if we didn't have to
- # [22:39] <Hixie> i mean, the api here isn't JSON, the JSON would be just an implementation detail
- # [22:39] <jwalden> keep things simple to understand
- # [22:39] <Hixie> might as well use XML or something else
- # [22:39] <Hixie> simple for whom?
- # [22:39] <jwalden> authors
- # [22:39] <jwalden> you use JSON to push it through, you use JSON to get it out
- # [22:39] <jwalden> and I think authors are familiar with JSON nowadays
- # [22:39] <Hixie> oh you mean just not supporting it natively?
- # [22:40] <Hixie> and only doing strings in the API?
- # [22:40] <jwalden> basically
- # [22:40] <Hixie> oh
- # [22:40] <Hixie> sorry, my bad
- # [22:40] <Hixie> different discussion
- # [22:40] <Hixie> i added structured data passing because mozilla implemented it
- # [22:40] <jwalden> we did? another thing I'm six months behind on, I guess
- # [22:41] <Hixie> heh
- # [22:41] <Hixie> i was trying to delay it as much as possible, so that implementations would focus on what was in the spec, but no point not speccing it if implementations are doing it anyway
- # [22:41] <Hixie> heycam: yt?
- # [22:41] <jwalden> sicking: pass me a bug number when you get back?
- # [22:42] <jwalden> that changes things somewhat
- # [22:45] <Hixie> gsnedders: ou have no idea how much i want support for cross-spec xrefs :-)
- # [22:45] <Hixie> maybe i should just code it up myself
- # [22:45] <gsnedders> Hixie: :)
- # [22:45] <Hixie> i wonder how hard it is to write anolis plugins
- # [22:45] <gsnedders> Hixie: The whole design of anolis is based around a single doc,
- # [22:46] * Joins: doublec (n=chris@202.0.36.64)
- # [22:47] * Quits: hdh (n=hdh@118.71.120.54) (Read error: 104 (Connection reset by peer))
- # [22:48] <Hixie> gsnedders: well this would just be a fallback for things that couldn't be xreffed already -- so it would just need a separate bit before to set up fallback references in a separate list
- # [22:49] <Hixie> not sure exactly how it would work
- # [22:49] <gsnedders> :)
- # [22:54] * Joins: tantek (n=tantek@204.9.180.30)
- # [22:55] <Philip`> Does it need to be automatic crossreferencing, rather than something explicit like <a href="workers#some-id-value">?
- # [22:57] <gsnedders> Hixie: How urgently do you need xdoc xref?
- # [22:57] <Hixie> i don't really "need" it, but it would make my life simpler instantly as soon as i could use it
- # [22:57] <Hixie> mostly right now i'd use it for web workers -> html5, and for html5 -> webidl
- # [22:58] <Hixie> please don't put it ahead of your schoolwork or anything :-)
- # [22:58] * gsnedders has the issue of having an English dissertation and computing project to do by the 8th of Jan
- # [22:58] <gsnedders> I can't really put much ahead of that :)
- # [22:58] <gsnedders> Apart from procrastination, obviously :)
- # [22:59] <Hixie> well feel free to use this as procastrination :-)
- # [22:59] <gsnedders> I need to ship 1.0 first
- # [22:59] <gsnedders> Though I don't foresee anything changing
- # [22:59] <gsnedders> Apart from making it possible to install with easy_install
- # [23:00] <gsnedders> (i.e., easy_install anolis would install anolis and all dependancies)
- # [23:00] <sicking> Hixie, preserving cycles?
- # [23:00] <sicking> jwalden, bug# for what?
- # [23:01] <jwalden> sicking: this structured-data passing mechanism Hixie says we implemented
- # [23:01] <sicking> jwalden, ah
- # [23:01] <gsnedders> For either 1.1 or 2.0 (if you nag my enough into doing xdoc xref soon) I want to re-evaluate depending on html5lib at all
- # [23:01] <Hixie> sicking: in postMessage(), what do you think of preserving [a, a] as an array referencing the saem object twice? (also lets us preserve cycles)
- # [23:01] <Hixie> gsnedders: ah
- # [23:02] <Hixie> gsnedders: well html5lib will get faster in time, i expect (and hope!)
- # [23:02] <sicking> Hixie, i'm not really the person to ask. I think we need to solve the to JSON-or-not-to-JSON question first
- # [23:02] <gsnedders> Hixie: Yeah, but if you're using the libxml HTML parser, should I really require html5lib to be installed?
- # [23:02] <Hixie> sicking: do you know who is?
- # [23:03] <Philip`> I hope html5lib won't get too much faster, because it should remain pure Python (since there are situations where you can't use C modules)
- # [23:03] <sicking> Hixie, brendan, sayrer, and/or maciej
- # [23:03] <Hixie> gsnedders: given that the people actually hosting it are also the html5lib implementors, it seems not a problem to rely on it :-)
- # [23:03] <gsnedders> Hixie: But for those of us who want our own local copies? :)
- # [23:03] <Hixie> Philip`: i hope html5lib will also have a C module implementation if that is the only way to make it faster
- # [23:03] <Philip`> html5lib isn't exactly hard to install
- # [23:03] <sicking> Hixie, IMHO it comes down to: is JSON a native data-interchange-format for javascript? Or is it just specific to the JSON object
- # [23:04] <Hixie> sicking: k, thanks
- # [23:05] <gsnedders> Hixie: I think we've more or less reached the limit of pure Python without massively redesigning the codebase and making it less powerful :)
- # [23:05] * Quits: tndH (n=Rob@adsl-87-102-46-169.karoo.KCOM.COM) ("ChatZilla 0.9.84-rdmsoft [XULRunner 1.9.0.1/2008072406]")
- # [23:06] <Philip`> Is there any reason why html5lib should be slower than sgmllib?
- # [23:06] <gsnedders> Because HTML5 is simpler than SGML?
- # [23:06] <Philip`> (I'm not actually sure if it is slower or not - maybe I should test that...)
- # [23:06] <gsnedders> Or more likely sgmllib is an incomplete implementation of SGML.
- # [23:07] <Philip`> Most of the cost is just reading characters while tokenising, which should be pretty much the same in html5lib and sgmllib
- # [23:08] <Hixie> any software being slower than instantaneous is a bug almost by definition, not counting time spent waiting for other software, hardware, or user interaction.
- # [23:08] * gsnedders blames jgraham for getting him to keep trying to write it in Python and not learning C++ and trying to write Anolis in that
- # [23:09] <Philip`> gsnedders: But you wrote it in Python and you have something that works, whereas if you wrote it while learning C++ then you probably wouldn't :-)
- # [23:09] <gsnedders> :)
- # [23:09] <gsnedders> Philip`: If I tried to write it while learning C++ I'd probably give up trying to learn C++
- # [23:09] * Joins: weinig (n=weinig@17.244.17.169)
- # [23:09] <gsnedders> Philip`: And thus would have nothing
- # [23:09] <Philip`> and even if it did work in C++, you'd think it was ugly since it was the first program you ever wrote in that language and so you'd want to rewrite it immediately
- # [23:10] <gsnedders> Philip`: It's the first program I wrote in Python!
- # [23:10] <Philip`> Oh
- # [23:10] <Philip`> But Python is much more forgiving of first-time programmers than C++ :-)
- # [23:10] <gsnedders> :)
- # [23:11] * Quits: weinig (n=weinig@17.244.17.169) (Client Quit)
- # [23:17] <yecril71> Except that it requires an indentation-aware editor and a wide screen.
- # [23:17] <yecril71> So it has some serious hardware/software requirements :=)
- # [23:18] <yecril71> I was on the verge on writing an indenting preprocessor when I wrote in Python.
- # [23:18] <yecril71> verge of
- # [23:19] <jruderman> writing C++ pretty much requires an indentation-aware editor ... even more than python, i'd argue, since you end up writing 3 times as many lines of code
- # [23:20] <yecril71> I do not use indentation when I code over Telnet.
- # [23:20] <yecril71> In C++, that is.
- # [23:21] <yecril71> 80 columns are hardly enough to hold an expression, I cannot afford any indentation.
- # [23:24] * Joins: dimich (n=dimich@c-98-203-230-54.hsd1.wa.comcast.net)
- # [23:24] * Quits: Maurice (i=copyman@5ED548D4.cable.ziggo.nl) ("Disconnected...")
- # [23:26] <Philip`> sgmllib tokenises the HTML5 spec in 2.7 seconds, html5lib takes 10.5 seconds
- # [23:26] <Philip`> (Both give the same output when I use them to count the number of start tags)
- # [23:26] <Philip`> (The input is a string in both cases)
- # [23:26] <Hixie> i wonder what the difference is
- # [23:26] <Hixie> and don't say 7.8
- # [23:27] <Philip`> sgmllib is pure Python, as far as I can see
- # [23:27] <Dashiva> Maybe sgmllib uses byte strings?
- # [23:27] * Quits: dimich_ (n=dimich@72.14.224.1) (Read error: 60 (Operation timed out))
- # [23:28] * Quits: mstange (n=markus@aixd3.rhrk.uni-kl.de) ("ChatZilla 0.9.84 [Firefox 3.2a1pre/20081216020422]")
- # [23:30] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [23:31] <Philip`> html5lib does almost four times as many function calls as sgmllib
- # [23:31] <Philip`> Are function calls really expensive in Python?
- # [23:32] <Philip`> where "really expensive" means "about a thousand clock cycles"
- # [23:32] <Philip`> I can imagine that they possibly are
- # [23:35] * Quits: heycam (n=cam@203-217-82-242.dyn.iinet.net.au) ("bye")
- # [23:37] <gsnedders> Philip`: They are fairly expensive
- # [23:37] <gsnedders> Hixie: 7.8 seconds.
- # [23:37] <gsnedders> :)
- # [23:38] <gsnedders> Philip`: I concluded on my laptop, IIRC, that a function call cost 1µs
- # [23:39] <karlcow> http://wiki.python.org/moin/PythonSpeed/PerformanceTips
- # [23:39] <Philip`> gsnedders: I conclude that your laptop is a bit slow, since mine does about 2.5e6 function calls (plus some non-trivial work doing all the tokenisation) in about 1.6 seconds
- # [23:40] <gsnedders> Philip`: This was an IIRC case
- # [23:40] <gsnedders> karlcow: I think we've got beyond that document, really :)
- # [23:40] * Joins: aaronlev (n=chatzill@e179201169.adsl.alicedsl.de)
- # [23:44] * Joins: shepazu (n=schepers@c-69-139-224-74.hsd1.md.comcast.net)
- # [23:45] * karlcow should take a look again at html5lib
- # [23:45] <karlcow> it has been a super long time I have done so
- # [23:45] <Philip`> Hmm
- # [23:46] <Philip`> I can save about 10% just by replacing "class X(object):" with "class X:", for X in ('HTMLInputStream', 'HTMLTokenizer')
- # [23:46] * fakeolliej is now known as olliej
- # [23:46] <gsnedders> New style classes are slow?
- # [23:48] <Philip`> Apparently so
- # [23:48] <Philip`> (at least in Python 2.5 on x86)
- # [23:49] <Philip`> (on classes that aren't doing any inheritance)
- # [23:55] * Quits: jruderman (n=jruderma@corp-241.mountainview.mozilla.com)
- # [23:59] * Joins: weinig (n=weinig@17.244.17.169)
- # Session Close: Wed Dec 17 00:00:01 2008
The end :)