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 |