00:00
<heycam>
annevk, doesn't it? :(
00:00
<Hixie>
TR/ page strikes again? :-)
00:00
<heycam>
on, on the TR version
00:00
<annevk>
yeah, on the TR version
00:00
heycam
will add it to his xslt gunk
00:00
<heycam>
annevk, hi & wb btw :)
00:01
<annevk>
heycam, hey hey
00:01
<annevk>
heycam, can we have inheritance for dictionaries?
00:01
<annevk>
heycam, so I can have a basic InitEvent dictionary that specific events can extend?
00:01
<heycam>
annevk, if we need to -- I thought of it, but just decided to go without unless if was needed
00:01
<heycam>
ahh good idea
00:01
<annevk>
it would be kind of useful
00:01
<heycam>
perfect example for it
00:01
<annevk>
InitEvent would have cancel/bubble/type
00:01
<heycam>
file a bug please
00:02
<annevk>
InitCustomEvent : InitEvent would just have data
00:02
<heycam>
yep
00:02
<annevk>
well details
00:02
<annevk>
(silly name)
00:02
<Yuhong>
And yea, a lot of the error handling in HTML5 is to emulate the behavior of the old browsers like Mosaic.
00:02
<heycam>
(my fault maybe)
00:02
<annevk>
cool, will file a bug
00:02
<heycam>
actually, is it details or detail?
00:02
<annevk>
no s
00:03
<Hixie>
cc me on that bug if you file one
00:03
<annevk>
this way the new initEvent can just accept InitEvent dictionaries and no need to overload it for each new event class
00:04
<annevk>
and each new event class would just define its own dictionary inheriting from InitEvent
00:04
<annevk>
plus I guess some mapping
00:05
<Yuhong>
BTW, it certainly didn't help that back in the time of Mosaic, the other common HTML parser, libwww, would not decode entities inside attribute values.
00:07
<Yuhong>
So there was no portable way of using the > character inside attribute values.
00:09
<Yuhong>
Of course, Netscape 2 fixed this problem long ago, breaking many pages that existed at this time, since it was a common typo.
00:11
<annevk>
done http://www.w3.org/Bugs/Public/show_bug.cgi?id=13004
00:13
<heycam>
thanks
00:14
<annevk>
hopefully we can even drop initCustomEvent() if we do this quickly
00:14
<annevk>
and other newish init*Event() methods
00:14
<heycam>
yeah
00:14
<heycam>
some of them are quite hairy :(
00:16
<Yuhong>
And of course most pages that depends on the behavior of Mosaic regarding <li> do not have any CSS at all.
00:16
<zewt>
(if you're writing a book I think you're typing into the wrong window)
00:17
<annevk>
(if you are using logic you are too)
00:19
<zewt>
annevk: yeah, i think I saw some mention of adding an initIDBVersionChangeEvent for IDB, would be nice to stop perpetuating that mess
00:20
<zewt>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=10601 :(
00:21
<annevk>
zewt, maybe file a bug on Indexed DB alerting them of DOM Core plans?
00:21
<annevk>
zewt, definitely seems like it is not too late yet to change things around
00:22
<smaug____>
annevk: what about initCustomEvent
00:23
<smaug____>
it is implemented in several engines
00:23
<smaug____>
IIRC at least in 3
00:23
<annevk>
mutation events are too
00:23
smaug____
scrolls up to see the context
00:23
<annevk>
if we can replace it by a better API I would prefer that
00:24
<smaug____>
oh, btw, about mutation events
00:24
<smaug____>
there is the patch for replaments
00:24
<annevk>
what is the bug?
00:24
<annevk>
I'd love to follow that
00:24
<smaug____>
https://bugzilla.mozilla.org/show_bug.cgi?id=641821
00:25
<annevk>
thanks
00:25
<smaug____>
I'd like to get comments about the API
00:25
<smaug____>
see the patch, and look for nsIDOMNode.idl
00:25
<smaug____>
I simplified sicking's proposal
00:27
<smaug____>
I'd like to have some very simple API, which script libraries could then use to implement whatever filtering API they want
00:27
<annevk>
so you have to figure out yourself what attribute changed, which element was added, etc.?
00:28
<annevk>
you just get notified something changed relative to a certain node?
00:28
<annevk>
aah
00:28
<annevk>
the changetarget
00:29
<smaug____>
the changetarget just gives you the element on which the attribute was changed
00:29
<annevk>
so if you add an element, aNode is its new parent and the element itself is aChangeTarget?
00:29
<smaug____>
aNode is always the node to which you add the listener
00:29
<smaug____>
it is kind of event.currentTarget
00:29
<smaug____>
and changeTarget is like .target
00:30
<smaug____>
sicking's proposal didn't have changeTarget
00:30
<annevk>
but then in <div id=listener><div><div></div><div></div> when I remove the innermost <div> nothing is dispatched?
00:30
<smaug____>
it is hard to add more data if we want to handle innerHTML in any good way
00:31
<smaug____>
annevk: childlistchanged is fired
00:31
<annevk>
but the childlist did not change
00:31
<smaug____>
node is id=listener, and changeTarget would be the parent of the innermost <div>
00:32
<smaug____>
it is the childlist of changetarget which changed
00:32
<annevk>
if you remove the child of id=listener are both node and changeTarget id=listener?
00:32
<smaug____>
yes
00:33
<annevk>
so you'd have to do bookkeeping yourself as to which child was actually removed
00:33
<annevk>
I guess I'm not really the right person to provide feedback on this
00:33
<annevk>
I could blog about it though and see what people think
00:33
<smaug____>
sure
00:33
<annevk>
I know a few people that use mutation events a lot for their editing applications
00:34
<smaug____>
this was discussed in webapps
00:34
<annevk>
k
00:34
<smaug____>
sicking's proposal, I mean
00:34
<smaug____>
I just simplified it a bit
00:34
<annevk>
yeah I saw some of that, I hadn't looked into it much so far; I guess I should since I think it probably needs to go in DOM Core...
00:35
<smaug____>
it doesn't need to go to DOM Core
00:35
<annevk>
at least I think it would make sense to define it alongside appendChild and what not
00:35
<smaug____>
could be separate spec
00:36
<smaug____>
the original proposal is http://www.w3.org/2008/webapps/wiki/MutationReplacement#MutationTarget_.28A_Mozilla_Proposal.29
00:37
<annevk>
cool
00:38
<annevk>
qeueud
00:38
<annevk>
queued*
00:39
<annevk>
looks pretty simple and straightforward
00:39
<annevk>
well "pretty simple"
00:41
<annevk>
smaug____, what is your plan on phasing out the old mutation events?
00:42
<smaug____>
well, need to get this landed
00:42
<smaug____>
and then start warning about mutation events...
00:43
<smaug____>
and the spec for the replacement needs to be stable before warning
00:43
<smaug____>
(so that API wouldn't be moz-prefixed)
00:43
<annevk>
so we could end up with two mutation APIs to support?
00:44
<smaug____>
that is ofc expected
00:44
<smaug____>
temporarily
00:44
<annevk>
I meant forever
00:44
<smaug____>
we can't remove mutation events before we have something for replament
00:44
<annevk>
if both gain traction and it turns out neither can get killed
00:45
<smaug____>
and unstable API isn't a replacement
00:45
<smaug____>
that would be unfortunate
00:45
<annevk>
because then we have both sync and async notifications
00:45
<smaug____>
but I don't see any other way to get rid of mutation events
00:45
<annevk>
and the spec will be terrible
00:45
<annevk>
and the impls even worse
00:45
<annevk>
and authors will kill perf
00:45
<annevk>
or something
00:46
<zewt>
i'm not familiar with mutation events, but is it possible to implement this simpler interface in terms of the more complex existing mutation events?
00:46
<smaug____>
mutation callbacks are kind of sync, since they fire before the mutating method returns
00:46
<jamesr>
yes, but implementators are unwilling to remove mutation events without some sort of replacement
00:46
<jamesr>
zewt: in practice, or in spec-ese?
00:46
<annevk>
smaug____, that's not what the wiki page suggests
00:46
<zewt>
either, I guess--just a thought in terms of relative complexity
00:46
<jamesr>
in practice, existing mutation events are buggy and not fully interoperable. in spec-ese, existing mutation events are not specified in the slightest
00:46
<annevk>
smaug____, and wouldn't that give the same icky situations we have now?
00:47
<jamesr>
conceptually i think you could but it's not very useful in practice
00:47
<smaug____>
annevk: wiki page is pretty clear. "I think we want the notifications to fire by the time that the function that caused the DOM mutation returned."
00:47
<smaug____>
annevk: and no, that doesn't cause the same problems
00:47
<zewt>
also, if this API can be implemented by users in javascript, i'd expect that to help encourage people to use it--if it's possible to use a compatibility layer for older browsers
00:47
<annevk>
smaug____, " Unfortunately these two goals are incompatible. I can't fully satisfy them both. So the sacrifice I made was that calls that happen inside of a notification no longer satisfy the second goal. This is accomplished by the flag and queue described in the algorithm [below]."
00:48
<jamesr>
zewt: in practice, no. webkit doesn't support attribute mutation events at all, for example, so AttributeChanged and SubtreeAttributeChanged would be impossible to emulate
00:49
<jamesr>
it also wouldn't be possible to match the timing
00:49
<smaug____>
it is interesting that webkit has managed to keep the code which dispatches DOMAttrModified disabled
00:49
<smaug____>
or perhaps the code has been removed now
00:50
<jamesr>
it's at least #ifdef'd out
00:51
<jamesr>
probably just gone at this point
00:52
<smaug____>
for other browsers one could write such DOMMutationEvent -> MutationCallback script
00:53
<smaug____>
IIRC, all non-webkit engines support the needed mutation events
06:21
<Hixie>
blimey
06:21
<Hixie>
some of these bugs sure are verbose
06:22
<Hixie>
actually it's not even that they're verbose, so much as they are written with very poor spacing and it makes reading them difficult
06:49
<MikeSmith>
Hixie: I hope it's not the ones I auto-posted from the comments list
06:49
<MikeSmith>
oh hey
06:49
<MikeSmith>
you fixed one of the editorial bugs I raised
06:49
<MikeSmith>
thanks
06:50
<Hixie>
it was marked "minor"
06:50
<MikeSmith>
yeah, it was minor
06:50
<Hixie>
i'm trying to get rid of all "minor" and "major" bugs :-)
06:50
<Hixie>
(the chairs are planning on taking over the priority field, so i'm moving to the severity field)
06:51
<MikeSmith>
that one was minor to the point that I myself had forgotten about it :)
06:51
<Hixie>
heh
07:16
<jcranmer>
Hixie: just make a Hixie-priority field ;-)
07:39
hsivonen
wonders how many Hixie-P1 bugs from the Netscape days remain unfixed
07:39
<Hixie>
surprisingly many
07:39
<Hixie>
last i checked
07:40
<hsivonen>
8 says Bugzilla
07:40
<Hixie>
so still surprisingly many!
07:40
<Hixie>
any funny ones?
07:41
<hsivonen>
Undeclared entities are ignored when external DTD not found
07:41
<hsivonen>
Site navigation toolbar should be inside content frame
07:41
<hsivonen>
Render using OpenGL
07:41
<Hixie>
wait, "Undeclared entities are ignored when external DTD not found" is still _open_?!
07:42
<Hixie>
i assume the site nav toolbar bug is on seamonkey
07:43
<hsivonen>
Hixie: I marked undeclared entities WFM
07:43
<hsivonen>
and yes, the site nav bug is Seamonkey, so I'm not going to touch that one
07:43
<Hixie>
yeah that's a zombie bug at this point
07:45
<hsivonen>
it's a bit annoying how many INVALID/WONTFIX zombies there are that have been assigned to Seamonkey so they stay around as zombies even if no one is really fixing them in Seamonkey either
07:45
<Hixie>
only annoying from an OCD perspective, it really makes no difference in practice
08:38
<Hixie>
ok i'm way behind schedule for going to bed.
08:38
<Hixie>
nn
08:40
<woef>
Can anyone direct me to a propper explanation for the "form" attribute on inputs,
08:40
<woef>
?
09:27
<koskoz>
can I use the "section" tag to wrap multiple "article"?
09:28
<Ms2ger>
Are the multiple articles a section of your page? :)
09:29
<koskoz>
Ms2ger: they represent one of the both columns
09:30
<Ms2ger>
And what's the other?
09:31
<koskoz>
I used the "aside" tag for the other one, it's typicaly a side menu, with search box, categories, links and so on
09:31
<Ms2ger>
Then I'd use a div, I think
09:32
<koskoz>
Ms2ger: why so?
09:32
<koskoz>
"The section element represents a generic section of a document or application. A section, in this context, is a thematic grouping of content, typically with a heading." it could be right no?
09:33
<Ms2ger>
Do you have a heading?
09:33
<jgraham>
koskoz: Yes, you can wrap multiple articles in a section
09:34
<jgraham>
e.g. <section><h1>Sport</h1><article><h1>Murry wins at Wimbeldon</h1>[...]</article><article><h1>Peopole get excited by footballer</h1>[...]</article</section>
09:34
<koskoz>
Ms2ger: I have a heading per article
09:35
<jgraham>
But it only makes sense if the group of articles form a section of a larger page
09:37
<koskoz>
jgraham: I don't get it
09:37
<jgraham>
Is it me or is sicking abusing @hidden?
09:38
<jgraham>
koskoz: A good example of when it is correct to wrap multiple articles in a <section> would be a news page that divided the <articles> into groups according to article type
09:39
<annevk>
holy shit
09:39
<annevk>
heycam|away is fast
09:39
<jgraham>
Then each <article> would be a <section> with a heading indicating the type of the article
09:40
<jgraham>
But if one just had a group of articles one wanted to wrap for styling purposes (this would tyoically be indicated by the lack of an overall heading for the group), one would use <div>
09:40
<jgraham>
*typically
09:41
<jgraham>
annevk: At doing what?
09:41
<annevk>
adding inherited dictionaries
09:41
<koskoz>
jgraham: and if I had a title to this section and hide it?
09:42
<jgraham>
koskoz: That is OK if you think it's obvious to the reader but would be needed by e.g. a tool constructing the ToC
09:49
<Ms2ger>
TabAtkins, http://dev.w3.org/csswg/css3-lists/ has merge markers
09:53
<woef>
Any backlog with info on the form-attribute? :)
09:53
<annevk>
woef, what info?
09:53
<zewt>
everything would be a lot easier if we could access forward-logs
09:54
<woef>
Why for example it was added. I understand it's use, but it seems to conflict with a lot of best practices.
09:55
<annevk>
woef, it was added for forms in tables among other things, iirc
09:56
<annevk>
woef, you have to elaborate a bit on the conflicts
09:57
<woef>
1 tr is one form ... that indeed is a problem :)
09:58
<woef>
But the fact that you can place input elements outside it's structure and still have it belong to that structure is quite new in html.
09:58
<woef>
No other element like that exists currently
09:58
<annevk>
<label> / <input>
09:58
<annevk>
<img> <map>
09:59
<MikeSmith>
http://www.realityprime.com/articles/why-microsoft-and-internet-explorer-need-webgl
09:59
<MikeSmith>
blog posting Avi Bar-Zeev
10:00
<MikeSmith>
architect at Microsoft
10:00
<woef>
As for the label/input example, that's basically up to the htmler :)
10:00
<woef>
But yeah, it's possible to separate them from each other in the html.
10:00
<MikeSmith>
"There is clearly only one direction forward for Microsoft and 3D on the web. WebGL is the way."
10:02
<woef>
And as for image maps ... well :)
10:02
<zewt>
the whole thing just smells like "since we've always hated opengl we need to find some thin excuse to not support webgl"
10:02
<zewt>
not to state the obvious or anything, heh
10:02
<woef>
annevk: the thing that scares me a little is that this new addition is very easy to abuse.
10:03
<woef>
Put a "receive email" link somewhere outside a form (visually), but still submit it.
10:03
<annevk>
that's possible today too
10:03
<woef>
Yeah, but it's not all that easy.
10:03
<annevk>
CSS makes it surprisingly easy
10:03
<annevk>
or your form could just wrap the whole page
10:04
<woef>
Sure, but both solutions require some level of professionalism.
10:04
<annevk>
and CSS is going to make such things even easier, so if that is the problem forbidding form= is not going to solve it
10:04
<woef>
(ie knowing that you are abusing a system)
10:07
<woef>
Actually, a good example would be a dd-dt combo ... which are also impossible to wrap into one identifying html tag.
10:08
<woef>
But I also dislike those :p
10:08
<woef>
Can't come up with a good alternative for tr-forms though, so I guess it is quite helpful there.
10:17
<MikeSmith>
http://paul.kinlan.me/webmessaging-is-broken
10:32
<annevk>
oh
10:32
<annevk>
today the Dutch gov is voting on net neutrality
11:50
<annevk>
I wonder why we have add/remove for listeners rather than just toggle
11:50
<annevk>
I guess it doesn't really matter
11:54
<annevk>
Ms2ger, do we have a list or something of DOM Core related fixes to Gecko?
11:54
<annevk>
Just found out Node.prefix is now readonly! https://bugzilla.mozilla.org/show_bug.cgi?id=604592
11:55
<Ms2ger>
https://bugzilla.mozilla.org/buglist.cgi?quicksearch=ALL%20sw%3A%5Bwdc%5D
11:56
<Ms2ger>
But that's hardly complete
11:57
<asmodai>
Oh the irony
11:57
<asmodai>
http://connect.microsoft.com/VisualStudio/feedback/details/676134/dos-vulnerability-in-silverlight-5s-3d-similar-to-webgl-dos-vulnerability
12:00
<Ms2ger>
And see https://developer.mozilla.org/en/Firefox_7_for_developers and friends
12:32
<gsnedders>
Does JSC do type-specialization? If so, how long has it?
12:44
<erlehmann>
someone hurt gruber for his email encoding. hnnng.
13:46
<annevk>
Ms2ger, nice
13:46
<annevk>
Ms2ger, oh it's all for Firefox 7?
13:46
<annevk>
whoa Gecko 7.0
13:46
<annevk>
I remember the days when going to Gecko 2.0 was considered controversial
13:47
<asmodai>
oh vey
13:47
<asmodai>
NL voting this afternoon on the cookies stuff
13:48
zcorpan
wants a cookie
13:48
<annevk>
on cookies too?
13:49
<zcorpan>
good thing my wife makes me cookies
13:49
<annevk>
there's also https://www.bof.nl/2011/06/15/net-neutrality-in-the-netherlands-state-of-play/
13:49
<asmodai>
annevk: http://www.ikregeer.nl/documenten/kst-32549-34
13:49
<asmodai>
http://frontpage.fok.nl/nieuws/449622/1/1/50/kamer-koerst-af-op-strengere-eis-aan-cookies.html
13:50
<annevk>
hmm live streams van de Tweede Kamer require Windows Media Player?!
13:50
<asmodai>
From what I see so far it seems that any cookies related to behavioral advertising fall under Dutch laws wrt personal information protection
13:50
<asmodai>
annevk: wouldn't surprise me
13:51
<annevk>
VLC works it seems, but it looks boring
14:00
<annevk>
Ms2ger, https://developer.mozilla.org/en/Firefox_7_for_developers do we still want to keep Node.normalize? I thought we removed that too...
14:07
<zcorpan>
"we are not going to remove the version header in the final.
14:07
<zcorpan>
To be clear when we introduced the version header the idea was that it would be removed in the final;
14:07
<zcorpan>
however when developers started to use it, they found it useful
14:07
<zcorpan>
and since then we have heard only people asking to keep it even in the final,
14:09
<annevk>
if you keep changing the damn protocol all the time of course it is useful, the code you end up with however, sucks
14:13
<Ms2ger>
annevk, I dunno about normalize
14:15
<annevk>
Ms2ger, I mean we dropped that too in DOM Core so the release notes better not recommend it...
14:18
<zcorpan>
i was writing a reply about the versioning thing, but then i realized i was about to reply to an email about versioning, and then i realized that it was on hybi, so i discarded the email
14:20
<annevk>
wise man
14:20
<_bga>
> Specifying invalid values when calling setTransform(), bezierCurveTo(), or arcTo() no longer throws an exception; these calls are now correctly silently ignored.
14:20
<_bga>
silent errors?
14:20
<_bga>
:(
14:23
<Ms2ger>
Yep, should've complained about the spec if you didn't like it
14:24
<zcorpan>
s/should've complained/should complain/
14:25
<smaug____>
Ms2ger: are we dropping normalize?
14:25
<Ms2ger>
We dropped normalizeDocument
14:25
<smaug____>
ah, but not node.normalize()
14:26
<Ms2ger>
It's not in DOM Core, though
14:26
<smaug____>
normalize() is useful
14:26
<smaug____>
although, can be implemented in JS too
14:26
<smaug____>
but I don't quite see the reason to drop it
14:27
Ms2ger
suggests www-dom ;)
14:28
<smaug____>
Ms2ger: if you're dropping something from DOM Core, you should send email to www-dom ;)
14:28
<Ms2ger>
I'm not dropping anything, I'm just not adding it :)
14:29
<smaug____>
that way there is, hopefully, some reasoning written down why some things are in DOM 3 Core, but not in the next version
14:30
<annevk>
the reasoning is mostly dropping excess baggage not universally implemented
14:30
<annevk>
and adding things that are universally implemented or are deemed useful by everyone
14:30
<zcorpan>
smaug____: the draft lists stuff that has been dropped
14:31
<smaug____>
zcorpan: sure, but does it list *why* the stuff has been dropped
14:31
<smaug____>
there are cases like CDATASection which we may not be able to drop after all
14:33
<annevk>
if you find that something cannot be dropped or you think something should be kept just email the list
14:34
<annevk>
it's not set in stone, we just want to set a direction
14:34
<mpilgrim>
heycam|away: I know database.open() should throw TypeError (missing required argument), but
14:34
<mpilgrim>
heycam|away: what should database.open(null) do?
14:35
<zcorpan>
smaug____: http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#goals
14:36
<mpilgrim>
heycam|away: er, and by "database.open()", I mean "indexedDB.open()" of course
14:36
<Ms2ger>
mpilgrim, either "null" or ""
14:37
<jgraham>
zcorpan: Accepting third party cookies from your wife could be a privacy risk. For example she might lace them with truth serum and start asking sifficult questions
14:37
<Ms2ger>
The spec currently requires "null", I believe
14:38
<mpilgrim>
that's insane
14:38
<zcorpan>
jgraham: i thought my wife was the second party
14:39
<mpilgrim>
Ms2ger: ^
14:39
<jgraham>
mpilgrim: Not according to the 262 people
14:39
<Ms2ger>
Why?
14:39
<Ms2ger>
It's what ES ToString does
14:39
<mpilgrim>
it's completely non-intuitive and only makes sense to a few specialized language geeks
14:40
<jgraham>
mpilgrim: Ah, welcome to the web. You must be new here
14:41
<mpilgrim>
why does the IndexedDB spec claim the argument is non-nullable if it does, in fact, accept null as a value?
14:41
<jgraham>
But it's no more unintuitive than null->"null" in all the other parts of the platform where that happens
14:41
<jgraham>
e.g. ["a", "b"].join(null)
14:41
<Ms2ger>
It also accepts true, or { toString: function() { return "hi" } }
14:42
<Ms2ger>
Or indexedDB.open(window.getSelection())
14:42
<annevk>
and during the net neutrality thing one of the parties made a mistake
14:42
<annevk>
lol
14:42
<karlcow>
http://www.developer.nokia.com/Resources/Library/Web/nokia-browsers/symbian-browsers/browser-73/html5-support.html
14:42
<karlcow>
<!DOCTYPE html>
14:42
<karlcow>
/ Content goes here
14:42
<karlcow>
<html>
14:42
<karlcow>
huh?
14:42
<annevk>
although it really is not very funny if you consider what is at stake
14:50
<annevk>
smaug____, I'll make the changes you requested for .timeout btw
14:50
<annevk>
smaug____, when I get around to editing again
14:50
<smaug____>
annevk: ah, great
14:50
<smaug____>
I need to refresh my patch for .timeout
14:50
Ms2ger
waits impatiently
15:04
<asmodai>
heh, AMD left BAPCo
15:05
<annevk>
http://www.nu.nl/internet/2545434/stemming-telecomwet-uitgesteld-fout-pvda.html omg
15:06
<annevk>
at least they can fix it...
15:06
<Ms2ger>
So I hear we released Fx5
15:08
<asmodai>
annevk: wtf
15:08
<asmodai>
annevk: What on earth is stopping them from correcting such a simple mistake?
15:09
<annevk>
it's always surprising how much worse gov politics is compared to standards politics
15:09
<gsnedders>
annevk: What's the act about?
15:09
<Ms2ger>
You mean, no decisions made on IRC?
15:09
<Ms2ger>
gsnedders, net neutrality
15:10
<asmodai>
they voted for 2 proposals
15:10
<asmodai>
1 was voted and accepted
15:10
<jgraham>
Ms2ger: Nice (about fx5)
15:10
<asmodai>
then a 2nd was proposed with some exemption clause
15:10
<asmodai>
one party voted wrong
15:10
<asmodai>
and wanted to correct this, but this is apparently impossible and has to be redone tomorrow
15:11
<Ms2ger>
jgraham, well, it's pretty old by now ;)
15:13
<annevk>
asmodai, apparently "artikel 71 Reglement van Orde" forbids fixing it today
15:14
<Ms2ger>
I guess it prevents people from requesting too many revotes
15:14
<jgraham>
Ms2ger: Still, congrats on stepping up the release speed
15:14
<Ms2ger>
You're up next
15:14
<Ms2ger>
Or are you fast already?
15:14
Ms2ger
can't follow Opera releases
15:14
<jgraham>
Hehe. Opera isn't that slow
15:14
<asmodai>
annevk: *groan*
15:15
<jgraham>
We do about 3 releases a year
15:15
<asmodai>
annevk: Oh well, like you said, will be fixed tomorrow.
15:15
<asmodai>
Nice to see net neutrality coming into effect.
15:15
<Ms2ger>
Hmmk
15:15
<jgraham>
Or have done in the recent past
15:15
<jgraham>
No idea about the future
15:15
<Ms2ger>
IE: you're up next
15:16
<zcorpan>
Ms2ger: IE's not here
15:16
<Ms2ger>
They wouldn't listen to me even if they were, so that's fine
15:17
<jgraham>
(the trick is to realise that Opera version numbers aren't that meaningful and X->X.Y0 can be just as big a change as X.Y0->X+1)
15:17
<hsivonen>
Ms2ger: Opera shipped more frequently first :-)
15:18
<Ms2ger>
Yeah, you're weird like that
15:18
<Ms2ger>
Who decides on version numbers? Marketing?
15:18
jgraham
has exactly zero influence at least
15:18
<woef>
Opera has a marketing dep? :D
15:19
<annevk>
so document.contentType is actually a MIME type
15:19
<hsivonen>
Opera could be more advanced than Chrome if it incremented the major number for every releases that isn't a mere security patch
15:19
<Ms2ger>
annevk, welcome to the web :)
15:21
<Ms2ger>
Also, what do you think about making DocumentType.ownerDocument not insane?
15:23
<gsnedders>
Ms2ger: How's that insane?
15:23
<zcorpan>
lol http://schema.org/SiteNavigationElement
15:23
<Ms2ger>
It can be null
15:23
<gsnedders>
jgraham: Well, in general X->X.Y0 seems to be a bigger change than X.Y0 -> X+1.
15:24
<zcorpan>
Ms2ger: you mean createDocumentType would set ownerDocument directly?
15:24
<Ms2ger>
Teah
15:24
<Ms2ger>
Y*
15:25
<smaug____>
yeah, document.implementation.createDocumentType() could set ownerDocument to document
15:25
zcorpan
doesn't care either way
15:25
<annevk>
Ms2ger, go ahead
15:26
<zcorpan>
otherwindow.document.implementation.createDocumentType() sets ownerDocument to otherwindow.document?
15:26
<Ms2ger>
Presumably
15:27
<annevk>
same as whatever otherwin.document.createElement would do
15:27
<annevk>
methinks
15:31
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1043
15:31
<zcorpan>
inner in opera and firefox
15:31
<zcorpan>
chrome says "Log: "
15:33
<annevk>
maybe cross-origin restriction for data URLs
15:34
<zcorpan>
"When in quirks mode, empty <map>s are no longer skipped over in favor of non-empty ones when matching. See the Gecko notes on the <map> element for details." - wow i didn't know about this quirk
15:34
<zcorpan>
annevk: why wouldn't it throw then?
15:35
<annevk>
silent failure
15:35
<Ms2ger>
It was a weird one, too
15:35
<Ms2ger>
I blame our old HTML parser, which autoclosed maps on <map>
15:35
<annevk>
is that quirk removed now?
15:36
<Ms2ger>
Yeah
15:37
<zcorpan>
annevk: seems like there's no <title> element at all in the inner document
15:37
<zcorpan>
which is quite weird
15:37
<annevk>
hmm
15:40
<zcorpan>
if i change the data url to data:text/html,<title>inner</title><body> then chrome throws
16:11
<gsnedders>
Are all cases where streaming is impossible a parse error?
16:12
<gsnedders>
(That's the assumption hsivonen's parser makes to use streaming, no?)
16:13
<annevk>
I think that was the idea
16:21
<annevk>
smaug____, I will allow timeout to always be set
16:22
<annevk>
smaug____, i.e. remove all exceptions
16:22
<smaug____>
annevk: ok
16:22
<smaug____>
annevk: is that what I proposed?
16:22
smaug____
needs to find the email
16:23
<annevk>
your email could also be read as still throwing for UNSENT and DONE states
16:23
<annevk>
since open() resets timeout maybe it should still throw for UNSENT
16:23
<annevk>
or maybe open() should not reset timeout?
16:24
<annevk>
smaug____, http://www.w3.org/mid/4D7F6F94.4020405⊙hf
16:24
<smaug____>
yeah, I found the email
16:24
<smaug____>
looking at the spec now
16:24
<annevk>
I haven't changed anything yet
16:24
<annevk>
well, not in the online copy
16:26
<smaug____>
annevk: I was just looking at when the timer is started
16:26
<smaug____>
so, when send() is called
16:26
<smaug____>
ok, then changing timeout at any time should be ok
16:26
<smaug____>
and no need to clear it when open is called, IMO
16:37
<annevk>
whoa, overrideMimeType was hsivonen's first feedback on XHR if my acknowledgments section is correct
16:49
<gsnedders>
Hmm, Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] yet [#xN-#xN] "matches any Char with a value in the range(s) indicated (inclusive)", so it's impossible tell what's in Char until you know what's in Char. Yay XML!
16:50
<Ms2ger>
Nice
16:51
<Philip`>
Is the "/* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */" comment normative?
16:52
<gsnedders>
Well, nothing says it isn't.
16:53
<gsnedders>
Though that would imply U+0000 is a valid Char, which the common reading of Char implies is not
16:55
<Philip`>
Hmm, if I drag-select that comment in the XML spec in Opera (11.11), then click somewhere within that comment to deselect the text, the previously-selected text displays as red instead of black (until it's repainted)
16:57
Ms2ger
blames XML
16:59
<Philip`>
The spec says <h5><a name="char32" id="char32"/>Character Range</h5>
16:59
<Philip`>
Opera thinks the <a> applies to at least the following few paragraphs, since it was never closed
17:00
<Philip`>
so the a:active { color: #C00; background: transparent } rule applies when you click any of those paragraphs
17:00
<Philip`>
but then the repainting thing is just an Opera bug
17:00
<gsnedders>
A fairly old one, too, I think
17:01
<Philip`>
Seems fair to blame XHTML-as-text/html for triggering the bug
17:02
<gsnedders>
Yeah, that's why nothing was ever done about the parsing side of it
17:04
<Philip`>
It seems kind of bad for supposedly-reliable specs to be published with a dependence on non-standard parse error recovery behaviour
17:05
<AryehGregor>
Isn't it served with an XHTML doctype, so you should be parsing it as XML?
17:05
<Philip`>
No
17:06
<Philip`>
at least to Opera and Firefox, as far as I can see
17:06
<jgraham>
AryehGregor: Did you mean mime type?
17:06
<AryehGregor>
jgraham, no, I'm talking about standards fantasy land here, not real life.
17:06
<Philip`>
Oh, I misread
17:06
<jgraham>
(I thought pubrules were supposed to check for this kind of thing)
17:07
<Philip`>
It's XHTML 1.0 Transitional
17:07
<Philip`>
though it also says <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
17:07
<AryehGregor>
So officially, it's your browser's fault for using a legacy parser, since XHTML is supposed to be parsed as XML.
17:07
<annevk>
smaug____, are you planning on sending an email to www-dom with your updated mutation events proposal?
17:08
<smaug____>
annevk: I'd like to get some feedback from jonas first
17:08
<gsnedders>
AryehGregor: But that's not what the (X)HTML WG said!
17:08
<AryehGregor>
Who says the XML WG has to agree with the XHTML WG?
17:08
<Philip`>
AryehGregor: But browsers can't parse XHTML as XML until the browser developers have read the XML spec
17:09
<gsnedders>
jgraham: pubrules didn't exist when XML 1.0 was published, I think
17:09
<annevk>
smaug____, fair enough, btw, is putting them on Node an intentional change versus putting them on Doc/DocFrag/Ele?
17:09
<AryehGregor>
Philip`, they also can't parse HTML as HTML until the browser developers read the HTML spec.
17:09
<Philip`>
which they can't do reliably, because the only available parser is broken
17:09
<AryehGregor>
HOW DO WE DEFINE ASCII?
17:09
<AryehGregor>
It can be taught as oral tradition, perhaps.
17:09
<AryehGregor>
Then we can start bootstrapping.
17:09
<gsnedders>
AryehGregor: EBCDIC?
17:10
<Philip`>
Just print out the ASCII spec
17:10
<smaug____>
annevk: it is
17:10
<AryehGregor>
Next question: how do we compile C compilers?
17:10
<Philip`>
and then mail copies of it to everyone who wants to implement it
17:10
<AryehGregor>
If they're written in C?
17:10
<gsnedders>
jgraham: No requirement to follow XHTML 1.0 App. C, either
17:10
<smaug____>
annevk: one could argue that the attribute listener thing doesn't need to be in Text nodes
17:10
<smaug____>
nor the childlist
17:11
<Philip`>
Print-and-mail isn't feasible for bootstrapping HTML though, since it won't fit through your door's letter box
17:12
<smaug____>
but Node has .childnNodes etc anyway, so it feels more consistent to put the new methods to Node
17:12
<Philip`>
AryehGregor: You can probably compile C to assembly by hand without too much trouble
17:13
<gsnedders>
Philip`: You can probably read HTML given `more` by hand without too much trouble
17:14
<annevk>
smaug____, I guess sicking has made no progress with de-DOMification of Attr?
17:14
<annevk>
well, de-Nodeification
17:14
<smaug____>
not, yet
17:14
<smaug____>
he did make Node to inherit EventTarget
17:15
<smaug____>
(as a side note)
17:15
<annevk>
ooh
17:15
<Ms2ger>
And removed GetFeature
17:16
<annevk>
noticed that, sweet
17:17
<gsnedders>
GetFeature?
17:18
<Ms2ger>
Fiction
17:18
<annevk>
keeping childElementCount? :/
17:19
<smaug____>
annevk: ?
17:19
<smaug____>
isn't that from Element Traversal spec
17:19
<Ms2ger>
That's in DOM Core too, now
17:19
<annevk>
yeah, but a future draft suggested it would be removed again
17:20
<annevk>
because you know, there's .children.length too
17:20
<Ms2ger>
Didn't want to fight that fight
17:20
<Ms2ger>
If you want to, feel free to :)
17:20
<smaug____>
hmm, what is children
17:20
<smaug____>
where is that coming from?
17:21
<Ms2ger>
IE
17:21
<Ms2ger>
(IIRC)
17:21
<smaug____>
ah, we do have it
17:46
<osqari>
hi, can i ask stuff about IE css styles here
17:46
<osqari>
didnt find anyplace else
17:47
<osqari>
and this is pretty complicated problem i think
17:47
<The_8472>
there is #css
17:47
<osqari>
ok
17:47
<osqari>
ty
17:54
<asmodai>
annevk: btw
17:54
<asmodai>
annevk: saw this?
17:54
<asmodai>
Waarschijnlijk kan de stemming niet over worden gedaan, aldus een woordvoerder van de Tweede Kamer. Om het amendement ongedaan te maken, zou een motie moeten worden ingediend om de wet te wijzigen.
17:59
<Ms2ger>
Hah
18:00
<annevk>
oh
18:00
<annevk>
well, fuck
18:04
<asmodai>
Stupide.
18:05
<MikeSmith>
?
18:05
<karlcow>
なんでもない
18:05
<karlcow>
わたしもわかりません
18:06
<The_8472>
i see moonrunes
18:06
<asmodai>
MikeSmith: Dutch law stuff on net neutrality.
18:06
<asmodai>
karlcow: It's not bad to not understand :)
18:07
<karlcow>
asmodai: comment cela ?
18:07
karlcow
wonders one day if we will have IRC channels with automagically translation of everything
18:08
<karlcow>
Prefs: translate everything I read in French.
18:08
<Ms2ger>
Mais pourquoi?
18:08
<karlcow>
Damn Ms2ger has already the plugin!
18:08
<The_8472>
google is working on that
18:09
<Philip`>
If only IRC had been based on XML, it could use xml:lang on every line of chat in order to support this properly
18:09
<Ms2ger>
RDF?
18:09
<The_8472>
i've read a presentation that they need to do one million lookups into a multi-terabyte database *per sentence* for google translate.
18:09
<asmodai>
Doesn't surprise me.
18:10
<asmodai>
Translation is such a fickle mistress.
18:10
<The_8472>
Philip`, XMPP then
18:11
Philip`
likes protocols in which he can make a roomful of people disconnect by transmitting ill-formed XML to them
18:11
<karlcow>
The_8472: the google is working on that is cool. The part where google would swallow everything is less cool ;)
18:11
karlcow
likes local apps for some part of my communications.
18:14
<AryehGregor>
Like the part where you talk to yourself?
18:15
<AryehGregor>
Local is good for that.
18:15
<The_8472>
local application != local traffic
18:16
<The_8472>
anyway, xmpp allows you to keep everything local. your own server + your own client + federation = you can talk to anyone who supports it too
18:16
<AryehGregor>
And that's what Google uses for Google Talk, no?
18:17
<The_8472>
yeah
18:17
<The_8472>
i.e. you don't have to use google servers to talk to someone who uses talk
18:24
<TabAtkins>
Ms2ger: Thanks for the heads up. Didn't realize there were any in the visible html.
18:25
<Ms2ger>
Np
18:29
<AryehGregor>
Okay, so how exactly does "var" work? I'm not understanding ES5 here after glancing at it. In particular, does it matter if you declare the same variable multiple times in one function?
18:29
<AryehGregor>
(using var)
18:30
<AryehGregor>
Like var foo = "x" in one code path and var foo = "y" in anotheR?
18:30
<AryehGregor>
another?
18:32
<TabAtkins>
AryehGregor: No.
18:32
<TabAtkins>
Once it's been declared in-scope, using var or not is irrelevant.
18:32
<AryehGregor>
Thought not.
18:33
<gsnedders>
AryehGregor: Start looking at 10.5
18:33
<AryehGregor>
Although I guess doing "var foo;" again will reset it to undefined?
18:33
<AryehGregor>
gsnedders, I did.
18:33
<TabAtkins>
AryehGregor: I guess? Dunno.
18:33
<TabAtkins>
AryehGregor: Anyway, the actual declaration of the variable is hoisted to the top of the scope.
18:33
<AryehGregor>
Oh, I see: "For each VariableDeclaration and VariableDeclarationNoIn d in code, in source text order do"
18:33
<TabAtkins>
'let' will work differently and more sensibly.
18:33
<gsnedders>
AryehGregor: var foo; does nothing
18:34
<AryehGregor>
So basically, having "var foo" anywhere with or without an initializer just initializes to undefined at the beginning of the scope.
18:34
<AryehGregor>
Aside from that, "var foo = bar" is the same as "foo = bar", and "var foo" by itself does nothing.
18:34
<AryehGregor>
Okay.
18:34
<gsnedders>
AryehGregor: Stuff is *always* initalized to undefined at the beginning the scope
18:35
<gsnedders>
AryehGregor: It's only when you reach the VariableStatement during execution it gets its value
18:35
<AryehGregor>
You mean local variables, obviously, not global variables or arguments or such.
18:35
<AryehGregor>
Okay, makes sense now.
18:36
<AryehGregor>
I've been doing "var foo; if (x) { foo = y; } else { foo = z; }" because I wasn't sure where to put the var.
18:36
<AryehGregor>
I guess I can just do "if (x) { var foo = y; } else { foo = z; }".
18:36
<AryehGregor>
But that looks weird.
18:36
<AryehGregor>
As does using var twice.
18:36
<AryehGregor>
So I'll keep it as now and pretend it's like let.
18:36
<gsnedders>
AryehGregor: I'd just go for var before the if
18:36
<Ms2ger>
var foo = x ? y : z
18:36
<Ms2ger>
But I guess your blocks are more involved
18:37
<AryehGregor>
Yes, often.
18:39
<The_8472>
<AryehGregor> But that looks weird. <- indeed, it does. mainly because curly brackets create a new scope block in other languages
18:40
<AryehGregor>
Which doesn't make a lot of sense for dynamic languages, though. In C or Java you need declarations anywhere for type.
18:40
<AryehGregor>
So you may as well use them for scoping too.
18:41
<AryehGregor>
Of course, this leads to kind of nasty stuff in JavaScript if you do want to create a new variable scope.
18:41
<AryehGregor>
Namely (function() {...})();.
18:41
<The_8472>
that there is no shorthand for functions is a problem with JS, yes
18:41
<AryehGregor>
Whereas in C you could just do { ... }.
18:41
<Ms2ger>
Or { ... }
18:41
<The_8472>
other dynamic languages usually have some nice way of creating closures
18:41
Ms2ger
can't read
18:42
<gsnedders>
AryehGregor: eval in strict mode creates a new variable scope!
18:42
<gsnedders>
direct eval, that is
18:42
<AryehGregor>
Eval is even eviler, though.
18:42
<The_8472>
{args -> statements} is a common way to do it
18:42
<AryehGregor>
The_8472, that's only in what, Haskell?
18:42
<The_8472>
JS should have that too...
18:43
<The_8472>
groovy, scala, clojure...
18:43
<AryehGregor>
Functional languages?
18:43
<The_8472>
yeah
18:43
<Philip`>
for (var i = 0; i < 10; ++i) setTimeout((function(i) { return function() { alert(i) } })(i), 100); // this is hideous :-(
18:43
<AryehGregor>
Not C-like ones, which JS is.
18:43
<The_8472>
or multi-paradigm ones
18:43
<The_8472>
java is not C-like
18:43
<The_8472>
err, javascript
18:43
<gsnedders>
AryehGregor: There's a Harmony strawman proposing ->
18:43
<AryehGregor>
Philip`, yeah, I've had to do that. :(
18:44
<Philip`>
I tend to use the same name for the argument as for the variable it's capturing, and haven't yet decided whether that's a good or bad way to do it
18:44
<The_8472>
yeah, setTimeout behaves oddly.
18:44
<Ms2ger>
Philip`, argh, yes
18:46
<The_8472>
ah, besides a shorthand for function creation we also need a way to pass function as last argument after the parenthesis... then we could finally have DSLs!
18:46
<gsnedders>
The_8472: DSL?
18:46
<The_8472>
domain specific language
18:47
<The_8472>
ecmascript 5 does have something like missingmethod, right?
18:47
<The_8472>
those proxy things if i recall correctly
18:47
<Philip`>
The convention of only ever using var at the very top of a function makes sense in terms of matching the scoping semantics and avoiding confusion, but it's too much like old-fashioned C for me to willingly adopt that convention, so I just stick var in wherever is closest to the first use and not too visually misleading
18:48
<gsnedders>
The_8472: Proxy things are proposed for Harmony
18:49
<The_8472>
ah, wasn't sure were that was. i just stumbled on the syntax recently
18:49
<The_8472>
*where
18:49
<gsnedders>
Well, tentatively approved for Harmony
18:49
<The_8472>
http://groovy.codehaus.org/Creating+XML+using+Groovy%27s+MarkupBuilder <- here, an example of a DSL using missingMethod + closure shorthands + the ability to pass parameters without having to use the ()
19:02
gsnedders
wonders how SSA works in theory given reads of variables higher up in the lexical scope that can be mutated by function calls
19:05
<Philip`>
If a variable is captured by a closure then you don't treat it like a normal variable, you treat it like an entry in a heap-allocated array that the closure has a copy of, or something like that, I think
19:05
<Philip`>
assuming that's what you mean
19:06
<Philip`>
(i.e. "var a = 1; var f = function() { ++a }; f()" is effectively translated to "var captured = [1]; var f = function() { ++captured[0]; }; f()")
19:08
<Hixie>
@whatwg puppetmaster, whoever you are, you received a reply
19:08
<Hixie>
i guess i'l reply
19:08
Hixie
tries to figure out the whatwg account's password
19:13
<MikeSmith>
"collectively the W3C's crazy uncle" http://mobile.twitter.com/diveintomark/status/81701979130314752
19:14
<gsnedders>
Philip`: Given var a = 1; var f = function() { a++; }; var g = function() { print(a); f(); print(a); }; how would you deal with it? Because if they refer to a single value, doesn't that mean they should have the same value?
19:14
<MikeSmith>
shit
19:14
<MikeSmith>
wrong chNnel
19:14
<Hixie>
hah
19:14
<MikeSmith>
fucking iPad
19:14
<MikeSmith>
fuck
19:15
<MikeSmith>
um
19:15
<gsnedders>
fuck?
19:15
<MikeSmith>
ignore please
19:15
<MikeSmith>
ignore me
19:17
<AryehGregor>
Seems quite relevant to this channel!
19:17
<MikeSmith>
no
19:17
<MikeSmith>
no relevance
19:17
<MikeSmith>
mistake
19:18
<MikeSmith>
I'm an idiot
19:18
<MikeSmith>
no hope
19:18
<MikeSmith>
time for a j break
19:19
<Hixie>
i love that in http://lists.w3.org/Archives/Public/public-lod/2011Jun/0280.html bjoern says rdfa+whatwg were "mroe concerned with winning arguments than collaborating on problem solving" given the months we spent at the whatwg trying to collaborate and understand the problem, only to be told that we should just accept rdfa and shut up
19:21
<AryehGregor>
Presumably "problem solving" means "solving problems that the semantic web community deems important".
19:28
<TabAtkins>
C++ people, what does the <int> in min<int>(foo,bar) do?
19:29
<Hixie>
AryehGregor: yes, that's what we tried to do. for MONTHS.
19:29
<bga_>
template
19:29
<Hixie>
AryehGregor: it was like pulling teeth trying to get them to tell us what problems they wanted solving.
19:29
<AryehGregor>
Hixie, no, you don't acknowledge the validity of some of the problems they want to solve. E.g., "embed arbitrary machine-readable metadata in web pages with no specific uses in mind".
19:29
<AryehGregor>
You never attempted to solve that.
19:30
<Hixie>
well yeah, that's not a problem
19:30
<Hixie>
that's a solutoin
19:30
<TabAtkins>
bga_: Yes, but what are the practical implications? I had it suggested as a way to avoid a static cast in "min(foo, static_cast<size_t>(8))", where foo is a size_t as well.
19:30
<Hixie>
AryehGregor: my point is that we did try to collaborate. we tried and tried and tried.
19:30
<Hixie>
and then tried again.
19:30
<Hixie>
for months.
19:31
<AryehGregor>
Hixie, from their perspective, you didn't try to address their problems. I agree with you that their problems are largely invalid and don't need to be solved, but that does mean we aren't trying to solve them.
19:31
<Ms2ger>
TabAtkins, you have template <T> min (T foo, T bar)
19:32
<Ms2ger>
TabAtkins, and by adding <int>, you tell the compiler that T = int
19:32
<TabAtkins>
Ms2ger: Ah, hm. In that case I'd want to do a min<size_t>, since size_t may be larger than int.
19:32
<Hixie>
AryehGregor: there's clearly no question that we (knowingly) failed to do what they wanted
19:32
<Ms2ger>
Yes
19:32
<Hixie>
AryehGregor: but that doesn't mean we didn't try to collaborate
19:33
<Ms2ger>
(So when it knows that, it can do implicit conversions)
19:33
<AryehGregor>
Well, that depends on how you interpret the wording.
19:33
<TabAtkins>
Ms2ger: Thanks!
19:33
<gsnedders>
Hixie: To come up with some rough use-case for that solution: to include the semantics of any data gathered from a database, such that it is possible to recreate that database locally and query it while offline.
19:33
<Ms2ger>
Np
19:33
<TabAtkins>
The c++ I learned in high school was woefully inadequate for hacking modern stuff.
19:34
<AryehGregor>
Because C++ is ridiculously complicated.
19:34
<gsnedders>
Hixie: E.g., taking the dates of birth of historical figures from wikipedia, and being able to present a list of all of them ordered by (rough) year of birth.
19:34
<Philip`>
gsnedders: That's like "print(captured[0]); f(); print(captured[0]);", because references to a variable in the closure's environment are not the same as references to purely local variables, and the JITter will implement less efficient code for them
19:34
<gsnedders>
(Because I want to do that for a presentation I'm doing to argue that we know more about more recent people)
19:35
<Hixie>
gsnedders: i'm not arguing that there are no use cases, i'm just pointing out that they weren't giving them to us when we tried, for months, to work with them to make a list of use cases.
19:35
<Hixie>
gsnedders: and now bjoern is saying that we didn't try to collaborate and that's just frankly rude and misinformed.
19:35
<gsnedders>
Hixie: I'm sure I saw use-cases from time-to-time
19:35
<Ms2ger>
TabAtkins, you learned C++ in high school?
19:36
<Hixie>
gsnedders: yeah, i collected a whole wiki page of them and addressed each one individually in e-mails
19:36
<Hixie>
gsnedders: it was like pulling teeth. For every 1000 lines of e-mail from them I'd get about 1 line of use case data
19:36
<Hixie>
and 900 lines telling me to just use rdfa
19:37
<AryehGregor>
And the other 99?
19:37
<AryehGregor>
Whitespace?
19:37
<gsnedders>
Hixie: And Microdata was the solution to that?
19:37
<Hixie>
gsnedders: microdata is a solution to the use cases that were presented
19:37
<gsnedders>
Ah.
19:38
<TabAtkins>
Ms2ger: Yeah? Is that weird?
19:38
gsnedders
would still rather have some (subset of) RDF serialization, and an associated DOM API (though perhaps the one the RDFa WG is working on would be fine)
19:38
<Ms2ger>
Well, I got Pascal
19:38
<Ms2ger>
So I guess not that weird
19:39
<gsnedders>
I got BASIC.
19:39
<Ms2ger>
(And then moved to JS)
19:39
<TabAtkins>
Ah. Well, it was c++ for the first year, then the school switched to java for my 11th and 12th grade.
19:39
<Ms2ger>
Also, document.write
19:40
<gsnedders>
Ms2ger: yay!
19:40
<Ms2ger>
Come to think of it, that's how I got involved in web standards
19:51
<Ms2ger>
Looking back at my code, "var" apparently wasn't part of the course
19:58
<Philip`>
Combining a language with optional variable declarations and a runtime environment with a large and unpredictable set of pre-defined names in the global scope, does not seem like the bestest idea ever
20:46
<annevk>
Hixie, I did that initial reply
20:47
<annevk>
Hixie, maybe I should have used my own twitter account for more transparancy
23:03
<AryehGregor>
Per spec, is <li></li> supposed to have zero height or not?
23:03
<AryehGregor>
Seems yes in Gecko and WebKit, no in Opera.
23:04
<AryehGregor>
Does the list marker prop it open or something?
23:05
<AryehGregor>
Hmm, or is list-style-position: outside just undefined?
23:07
<AryehGregor>
TabAtkins, you know that http://dev.w3.org/csswg/css3-lists/ has conflict markers in it?
23:07
<AryehGregor>
(also, the TR/ version doesn't link to it)
23:07
<AryehGregor>
"Issue: Inline markers have some special behavior wrt white-space collapsing at the beginning of the list-item. Is this behavior necessary for web-compat, or can I just spec it away? (Since I have outside markers basically be abspos, it doesn't apply to them.)"
23:07
<AryehGregor>
That seems possibly relevant.
23:08
<Hixie>
AryehGregor: list markers cause there to be a line box
23:08
<AryehGregor>
Hmm, okay.
23:16
<Hixie>
heycam: is there something i can subscribe to to get e-mail notifications of WebIDL changes?
23:17
<heycam>
Hixie, um... I know that the cvs commit messages go to member-cvs-editors
23:17
<heycam>
you could probably subscribe to that
23:17
Hixie
investigates
23:17
<heycam>
but I think that gets notifications of cvs commits to anything under dev.w3.org/2006/webapi/
23:17
<heycam>
member-cvs-editors is not the right name
23:18
<heycam>
member-webapi-cvs
23:18
<heycam>
http://lists.w3.org/Archives/Member/member-webapi-cvs/2011Jun/
23:18
<Hixie>
one day i won't work on browsers anymore and i'll be able to use browsers that work, right?
23:18
<heycam>
when browsers work, then you will get to retire, yes
23:19
<jamesr>
where are you gonna find a browser that works?
23:19
<Hixie>
hm, that gets all my bugmail spam too
23:19
<Hixie>
ah well, let's try subscribing anyway and see what happens with my existing filters
23:19
<Hixie>
thanks heycam
23:20
<Hixie>
ok for now i'll just settle for a browser with PDF view with working search
23:20
<Hixie>
or, you know, the JS folks could start publishing specs in a sane format like HTML
23:21
<heycam>
Hixie, use http://people.mozilla.org/~jorendorff/es5.html, it's much nicer
23:22
<Hixie>
dude!
23:22
<Hixie>
that's fantastic!
23:22
Hixie
updates his links
23:22
<heycam>
yeah looks pretty doesn't it
23:22
<Hixie>
you had me at ".html"
23:22
<heycam>
lol
23:23
<Hixie>
aw man, cross-references and everything
23:23
<Hixie>
this is awesome!
23:23
<paul_irish>
a similarish one... http://es5.github.com/ i think mikesmith did it
23:24
<Hixie>
interesting, so arguments that take unsigned long do modulo 2**32 on their value first
23:24
<Hixie>
huh
23:24
<heycam>
that green smiling planet creeps me out
23:24
<paul_irish>
ditto
23:25
<Hixie>
heycam: step 5 (Compute x modulo 2^64.) of "4.2.11. unsigned long long" in Web IDL seems redundant
23:25
heycam
looks
23:27
<heycam>
what if the Number value you are converting from is larger than 2^64
23:28
<Hixie>
well you don't use the result of the modulo
23:28
<Hixie>
so either that step is wrong or the next step is wrong
23:28
<heycam>
oh, yes
23:29
<heycam>
I must have missed that one when converting the algorithms away from using the Result(<stepnumber>) convention
23:29
<heycam>
thanks
23:30
<Hixie>
np
23:52
<Hixie>
i wonder why the industry uses both 'raise' and 'throw' for exceptions
23:53
<Hixie>
(i really should pick one and drop the other in the spec)
23:53
<heycam>
throw : catch :: raise : ?
23:54
<Hixie>
as syntax?
23:54
<Hixie>
i just meant as english terms
23:55
<Hixie>
languages i've seen that use 'raise' as a keyword use 'except on' to catch the exceptions
23:55
<Hixie>
e.g. try ... except on EFooException do ... end;
23:55
<erlehmann>
python has raise
23:55
<Hixie>
how does python catch?
23:56
<gsnedders>
There's a world outside of JS!?
23:56
<erlehmann>
try:
23:56
<erlehmann>
23:56
<erlehmann>
except:
23:56
<erlehmann>
except OsError:
23:56
<erlehmann>
except OsError as e:
23:56
<erlehmann>
something like that
23:56
<Hixie>
so same idea as what i've seen
23:56
<Hixie>
cool
23:56
<Hixie>
i wonder why we have these two sets of terminology
23:56
<erlehmann>
my shell is ipython, it is nice and clean :>
23:57
<smaug____>
raise sounds like old terminology, and throw something from object oriented languages
23:58
<smaug____>
just a guess
23:58
<Hixie>
both languages that were cited above are oop languages
23:58
<smaug____>
sure
23:59
<Hixie>
also oop is pretty old :-)
23:59
<Hixie>
i wouldn't be surprised if oop predated exceptions in fact