| 00:02 | <TabAtkins> | I wonder if it would be useful to provide a readonly copy of all the builtins, for cases like this. |
| 00:02 | <Hixie> | for the purposes of a web page, extensions change the builtins |
| 00:03 | <TabAtkins> | Yeah, that's a nice theory. |
| 00:03 | <jamesr> | whoever's providing the extension could provide a "backup" of equal power |
| 00:03 | <jamesr> | but that's up to the relevant extension system, not the platform itself |
| 00:03 | <TabAtkins> | It doesn't work well in practice when, as far as I can tell, an extension is overwriting a builtin unintentionally. |
| 00:03 | <TabAtkins> | But anyway, yeah, the extension system itself could provide this backup copy. |
| 00:03 | <zewt> | TabAtkins: well, if you really want to prevent access to the original and wrap all calls, having the originals around would be unwanted |
| 00:04 | <zewt> | right, typically if you're changing or monkey patching an interface (in any language), it's up to you to expose the original if you want to |
| 00:07 | <Hixie> | yeah, generally speaking, the extension shouldn't be doing anything that would need this... unfortunately... |
| 01:18 | <tantek> | curious if folks saw this: https://groups.google.com/forum/?fromgroups#!topic/mozilla.dev.platform/itl6mtx2dxI (re: CSS vendor prefixes) and if they had any thoughts. |
| 01:19 | <tantek> | I there are some good forward steps we (browser vendors/implementors) can take in the short / near term and I'm curious what other folks here think of the specifics. |
| 05:45 | <zcorpan> | Hixie: you got the arguments backwards in step 1 of "element" |
| 05:47 | zcorpan | doesn't like svg: and math: |
| 05:51 | <MikeSmith> | yay some postmsg tests |
| 07:28 | <hsivonen> | jgraham: I might have missed the point of bug 17231 |
| 08:00 | <annevk> | hsivonen: objections if I shorten the headings on the bad ideas page? "Turing-complete CSS" "Standardized byte code language" |
| 08:02 | <jgraham> | hsivonen: I think the point of the bug is more or less what Hixie said in the first paragraph of comment 4 (apologies; it seems that my description was very unclear). |
| 08:03 | <jgraham> | That is, given some code that restarts the parser from within the load event handler, it seems a second load event is not created. |
| 08:03 | <jgraham> | well "queued" I guess |
| 08:58 | <AryehGregor> | tantek, I just saw that and responded supportively. |
| 08:58 | <tantek> | Thanks AyrehGregor |
| 09:32 | <hsivonen> | annevk: no objections |
| 09:33 | <hsivonen> | jgraham: ok. then I think I'm not missing the point of bug 17231. |
| 09:34 | <annevk> | k done |
| 09:39 | <hsivonen> | I'm not sure if it belongs on the Bad Ideas page, but we need a similar FAQ that explains what CORS protects against and why the CORS-dependent stuff isn't allowed without CORS |
| 09:39 | <hsivonen> | formulating it as a Bad Idea would be Cross-Origin Loads without CORS |
| 09:45 | <hsivonen> | What's the current timing attack defense story for CSS Shaders? |
| 09:50 | <annevk> | I wonder if obvious bad ideas need to be documented too |
| 09:51 | <asmodai> | annevk: btw, saw the frontpage cookie warning on e.g. http://www.fok.nl/ ? |
| 09:52 | <annevk> | asmodai: never seen such a thing before |
| 09:52 | <annevk> | asmodai: looks quite insane |
| 09:52 | <asmodai> | Due to the new telecomwet |
| 09:53 | <zcorpan> | annevk: example of obvious bad idea? |
| 09:53 | <annevk> | zcorpan: namespaces |
| 09:54 | <annevk> | zcorpan: XML-based formats |
| 09:55 | <annevk> | (in the context of the web platform anyway) |
| 10:01 | <hsivonen> | annevk: removing Namespaces from SVG |
| 10:02 | <hsivonen> | Fixing something that's bad by putting the fix behind a document-global mode switch |
| 10:02 | <annevk> | let me put those on the talk page |
| 10:02 | <annevk> | ah nah |
| 10:02 | <annevk> | i'll put them at the end |
| 10:07 | <annevk> | weird URL stuff... |
| 10:12 | <annevk> | http://www。google。com |
| 10:12 | <annevk> | that works in the address bar |
| 10:12 | <annevk> | in some browsers |
| 10:12 | <annevk> | but not in APIs |
| 10:31 | <MikeSmith> | jgraham: auto push to https://github.com/w3c/testharness.js is working now |
| 10:53 | <jgraham> | MikeSmith: Awesome! |
| 10:54 | <asmodai> | annevk: btw |
| 10:54 | <asmodai> | annevk: wrt MathML wiki page, would equation examples with current rendering across browsers be useful? |
| 11:00 | <odinho> | man3 |
| 11:00 | <odinho> | Meh |
| 11:01 | <Ms2ger> | hunter2 |
| 11:01 | <odinho> | ****** |
| 11:01 | <odinho> | fsck, too short :P |
| 11:04 | <annevk> | asmodai: writing tests and pointing to those is probably more useful |
| 11:04 | <annevk> | asmodai: if you want browsers to fix their bugs that is :) |
| 11:04 | <Ms2ger> | Who wants that :) |
| 11:05 | <Ms2ger> | Did people see http://testthewebforward.org/, btw? |
| 11:07 | <odinho> | That was kinda CSS heavy. (and adobe/webkit heavy as well :P) |
| 11:07 | <Ms2ger> | Yeah |
| 11:07 | <annevk> | but you know |
| 11:07 | <annevk> | http://testsuite.org/ |
| 11:08 | <odinho> | annevk: Yeah. I just wanted to be there, that's all :P |
| 11:08 | <Ms2ger> | odinho, maybe you should apply ;) |
| 11:08 | <odinho> | I'm all like, wtf where's Opera. |
| 11:08 | <odinho> | Ms2ger: Nah, too much hassle for too little. -- Had it been in Europe maybe. |
| 11:09 | <odinho> | It won't help anything for me to be there, -- I will just go around hassling people with either questions or well-meant guidance :P |
| 11:09 | <Ms2ger> | Maybe you should set something up :) |
| 11:10 | <odinho> | Ms2ger: Yeah, -- Test the Web Forward, Oslo event, in Odin's new apartment. :] |
| 11:10 | <odinho> | Actually, why not. Maybe I should try to do it. Just not in my apartment but a real place. |
| 11:17 | <asmodai> | annevk: Gotcha |
| 11:18 | Ms2ger | frowns |
| 11:21 | <david_carlisle> | annevk: it wasn't clear to me that rendering tests fitted anywhere in the html test suite? Which seems to mainly want automated testing. |
| 11:22 | <gsnedders> | david_carlisle: Well, reftests are still automated tests |
| 11:24 | <hsivonen> | If Adobe can get people to write tests, that's cool. |
| 11:25 | <gsnedders> | Only a single Mozilla person, and no Opera people. |
| 11:25 | <david_carlisle> | gsnedders: Maybe I should read that reftest stuff again,, when I looked before it wasn't clear how to do a reftest for mathml either. If we can figure out a format that works for the html test suite, we should be able to generate fairly could coverage tests by converting existing tests. |
| 11:26 | <david_carlisle> | s/could/good |
| 11:30 | <Ms2ger> | david_carlisle, fwiw, Mozilla's got a number of MathML reftests at http://mxr.mozilla.org/mozilla-central/source/layout/reftests/mathml/ |
| 11:30 | <odinho> | gsnedders: It's California. -- At least Moz should be able to have lots of people. But yea, seems they don't get around much, we were 10 minutes taxi from Mozilla HQ, and there was more people from Opera than Moz at the Mountain View F2F :P |
| 11:30 | <david_carlisle> | gsnedders: MathML doesn't have so many equivalent expressions. My understanding of reftest is you give two variants and check that they produce the same result. The only way to get a fraction is to use mfrac. |
| 11:30 | <david_carlisle> | Ms2ger: ah will look, thanks |
| 11:31 | <Ms2ger> | Hmm, I even wrote some of those |
| 11:35 | <annevk> | so I found http://tools.ietf.org/html/rfc5895#section-2 |
| 11:35 | <annevk> | euh, someone told me about that |
| 11:35 | <annevk> | but that seems woeful if we are to use that for <a> and such :/ |
| 11:36 | <Ms2ger> | 1. 2. 3. 4. Note that the steps above are ordered. |
| 11:36 | <Ms2ger> | Oh really |
| 11:38 | <Ms2ger> | annevk, http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-node-replace |
| 11:38 | AryehGregor | notes that section 3 says not to use section 2 as-is |
| 11:38 | <Ms2ger> | step 8 seems redundant with the adoption in step 7 |
| 11:39 | <Ms2ger> | Nvm me |
| 11:40 | <jgraham> | There is a correlation between testthewebforward being CSS heavy and there not being anyone from Opera there; if it had been more javascript focused I would have tried to get travel approval |
| 11:41 | <odinho> | jgraham: lazy jgraham is lazy(?) |
| 11:41 | <Ms2ger> | jgraham, CSSOM? :) |
| 11:41 | <gsnedders> | I probably would've tried to go if I wasn't moving flat. :) |
| 11:41 | <gsnedders> | But AFAIK we weren't invited at all. |
| 11:41 | <jgraham> | odinho: Not lazy. I don't think I would be the right person to talk about testing CSS |
| 11:42 | <jgraham> | I would rather save our time/money and attend a future event with more javascript focus |
| 11:42 | <odinho> | jgraham: ... AH, I totally misread that. |
| 11:42 | <odinho> | jgraham: I thought it was CSS heavy BECAUSE you were not there :P |
| 11:42 | <jgraham> | No :) |
| 11:43 | <odinho> | Made a whole lotta sense in my head. |
| 11:43 | <jgraham> | CSS focused because that's what Adobe wanted to concentrate on first |
| 11:43 | Ms2ger | looks for a doctor around where odinho lives |
| 11:43 | <annevk> | gsnedders: reportedly we had an invite, but the ball might have been dropped somewhere by it not being directed to the right people |
| 11:44 | <jgraham> | I think there is potential for followup events that are more markup/script centred |
| 11:44 | <gsnedders> | annevk: I heard otherwise. Oh well. Maybe that just says something about our communication skills. |
| 11:44 | <odinho> | Ms2ger: annevk is 2 offices down, I should be okay. |
| 11:44 | <jgraham> | Invited to what? |
| 11:44 | <jgraham> | testthewebforward? |
| 11:45 | <annevk> | yes |
| 11:45 | <jgraham> | We were invited |
| 11:45 | <Ms2ger> | odinho, or, well, Dr. jgraham |
| 11:45 | <odinho> | Ms2ger: He's in Lkpg or some place in Sweden. |
| 11:45 | <Ms2ger> | How silly of him |
| 11:45 | <odinho> | Yes, I think so too. |
| 11:46 | <jgraham> | I've been to Oslo; it's not that great :p |
| 11:46 | <odinho> | jgraham: Hey! We're getting new office on monday. |
| 11:47 | <jgraham> | odinho: Not sure it will make Oslo great :) Also it will mean that no one can find the office because it isn't anywhere near the city centre anymore |
| 11:47 | <Ms2ger> | ... because the bricks of the previous one were crumbling? |
| 11:47 | <annevk> | jgraham: you underestimate the density of bacon-cheese burger restaurants |
| 11:47 | <jgraham> | annevk: Pretty sure you have only ever been to 3 resturants in Oslo :) |
| 11:47 | <annevk> | jgraham: actually, the new office is way easier to get to from Oslo S |
| 11:47 | <annevk> | jgraham: lies |
| 11:47 | <Ms2ger> | 4! |
| 11:48 | <annevk> | Ms2ger: if you mean 4 factorial, that might be about right :p |
| 11:48 | <Ms2ger> | Hey, you're not qualified to make math jokes ;) |
| 11:49 | <jgraham> | (I recommend Lofoten btw. No bacon cheeseburger of course, but very nice fish) |
| 11:49 | <odinho> | jgraham: That's the only thing you'll get as well... |
| 11:50 | <jgraham> | odinho: That sounded like a complaint |
| 11:51 | <Ms2ger> | http://25.media.tumblr.com/tumblr_m4whxo6EaE1rrju89o1_500.jpg |
| 11:54 | <jgraham> | Having said all of that, if there are any web developers reading who can make it to test the web forward, I highly recommend that you attend |
| 11:55 | <jgraham> | Two days where you will learn how to make a real improvement to the web platform |
| 11:55 | <niloy> | okay! |
| 11:56 | <gsnedders> | I could just be really cynical and question how much people actually try and fix bugs that show up in spec testsuites. |
| 11:57 | <jgraham> | You could, but it would seem to be misplaces cynicism |
| 11:57 | <Ms2ger> | gsnedders, here's one :) |
| 11:57 | <Philip`> | Is "Test the Web Forward" part of a series that will include "Test the Web Backward" and "Test the Web by Picking Random Sections and Following All the Cross-References"? |
| 11:58 | <jgraham> | Personally, I only do the last part :) |
| 11:58 | <Ms2ger> | Philip`! |
| 12:01 | <jgraham> | Speaking of which |
| 12:02 | <jgraham> | hsivonen: So, I don't understand your comment in bug 17231. AFAICT in gecko if you document.open/document.close from in a load event, you will end up with no second load event firing and the document in an "interactive" readystate. |
| 12:05 | <jgraham> | http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1562 |
| 12:06 | <hsivonen> | jgraham: ooh. I was missing the point, then |
| 12:07 | <jgraham> | In WebKit you end up in a "complete" readyState |
| 12:07 | <jgraham> | Although it doesn't seem to like the live dom viewer much |
| 12:12 | <hsivonen> | do zip/jar files include a creation time stamp or something? |
| 12:13 | <hsivonen> | I have a Maven build process that builds a jar, signs it, builds the jar again, ends up with a jar with the same number of bytes but the signature got invalidated |
| 12:13 | <hsivonen> | (I have no idea why the jar gets rebuilt after signing) |
| 12:14 | <hsivonen> | the two jar files expand to identical sets of files |
| 12:15 | <Philip`> | Maybe the timestamps of the files in META-INF differ? |
| 12:15 | <hsivonen> | Philip`: could be |
| 12:15 | <Ms2ger> | Philip`! |
| 12:16 | <jgraham> | Why does Ms2ger keep trying to compute Philip`-factorial? |
| 12:16 | <Philip`> | (I don't believe zips store any dates other than the mtimes of files) |
| 12:23 | <smaug____> | so, when and why have people started to use word "polyfill" |
| 12:24 | <gsnedders> | Somebody used it in a talk. It became hip and cool. |
| 12:25 | <jgraham> | They use it because the mental image of the web being like some shoddy DIY work feels comfortingly accurate. |
| 12:26 | <hsivonen> | smaug____: http://remysharp.com/2010/10/08/what-is-a-polyfill/ |
| 12:26 | smaug____ | is not hip nor cool and doesn't like the word :) |
| 12:26 | <hsivonen> | smaug____: FWIW, Polyfilla is available in Finland under the same name as in the U.K. |
| 12:27 | <Ms2ger> | gsnedders, so, that bug in Opera about "foo" in localStorage always being true... |
| 12:28 | <hsivonen> | this kind of Maven WTF makes me feel I made the right choice when I didn't try to build all of Validator.nu using Maven |
| 12:28 | <hsivonen> | supposedly time-saving tool is a huge time sink when sorting out WTF it did |
| 12:28 | <gsnedders> | Ms2ger: Yes? |
| 12:28 | <Ms2ger> | Is someone going to fix that? :) |
| 12:31 | <gsnedders> | Ms2ger: Eventually. Rather major host object API limitation leading to it. |
| 12:31 | <Ms2ger> | Mm |
| 12:32 | <Ms2ger> | Glad to see you guys have the same issues as we do :) |
| 12:34 | <gsnedders> | Ms2ger: Any other bugs you want to nag me about? :P |
| 12:34 | <Ms2ger> | All of them ;) |
| 12:35 | <gsnedders> | Ms2ger: Well some are fixed, and some aren't. |
| 12:35 | <Ms2ger> | Actually, yes |
| 12:35 | <Ms2ger> | localStorage["age"] = null; |
| 12:36 | <gsnedders> | What about it? |
| 12:36 | <Ms2ger> | It sets localStorage["age"] to "", not "null" |
| 12:37 | gsnedders | finds a bug from Ms2ger saying that |
| 12:37 | <Ms2ger> | :) |
| 12:38 | <zcorpan> | Ms2ger: see https://www.w3.org/Bugs/Public/show_bug.cgi?id=17283 |
| 12:39 | <Ms2ger> | zcorpan, where you.. Agree with me? |
| 12:39 | <zcorpan> | Ms2ger: sure thing |
| 12:39 | <Ms2ger> | \o/ |
| 12:39 | gsnedders | adds Ms2ger of list of people to stalk |
| 12:40 | <zcorpan> | although i don't know what you think about the proposal in that bug wrt reflecting attributes |
| 12:40 | <Ms2ger> | Uh-oh |
| 12:40 | <Ms2ger> | zcorpan, no opinion at this point |
| 12:41 | <zcorpan> | Ms2ger: k |
| 12:41 | <karlcow> | polyfill makes me think to dental products. |
| 12:44 | <MikeSmith> | foolip: copied all your Web Audio issues over to bugzilla |
| 12:44 | <MikeSmith> | https://www.w3.org/Bugs/Public/buglist.cgi?product=AudioWG&component=Web%20Audio%20API&resolution=--- |
| 12:45 | <smaug____> | oh, bugzilla component for WebAudio API |
| 12:45 | <smaug____> | good |
| 12:46 | <smaug____> | now also non-wg members can file bugs |
| 12:46 | <smaug____> | it is strange that audio wg tracker required wg membership |
| 12:57 | <jgraham> | Sure would be nice to have a standard script for slow-loading resources |
| 12:58 | <jgraham> | We have a rather nice one but it's python |
| 12:59 | <gsnedders> | Does Hixie expect anyone to implement E4H? |
| 13:02 | <annevk> | I think E4H would be interesting to have |
| 13:04 | <gsnedders> | I dunno, I'll less sold on it. |
| 13:05 | <annevk> | I haven't really seen a good alternative yet |
| 13:05 | <annevk> | apart from perhaps quasis, but nobody has actually made something there that works |
| 13:06 | <smaug____> | I like some aspects of E4H, but it would be very odd if it couldn't be used in workers |
| 13:16 | <Ms2ger> | \o/ The microdata API will be in the next Nightly |
| 13:19 | <annevk> | I wonder if bz still feels this way about XLink: http://lists.w3.org/Archives/Public/www-style/2004Mar/0062.html :) |
| 13:19 | <Ms2ger> | Note the signature ;) |
| 13:20 | <annevk> | still exactly the same email address |
| 13:20 | <annevk> | but he dropped the signature |
| 13:28 | <foolip> | MikeSmith, thanks! |
| 14:01 | <jgraham> | Argh |
| 14:01 | <jgraham> | Sites that assume that "performance" in window => navigation timing spec is implemented |
| 14:01 | <annevk> | was that unexpected? |
| 14:02 | <jgraham> | I guess not, but it is really stupid |
| 14:03 | <jgraham> | Should probably have thought of this and stopped people reusing the same global for multiple specs |
| 14:03 | <jgraham> | Especially since "performance" is such a dumb name |
| 14:04 | <Ms2ger> | document.insertBefore(document.createElement("foo"), document.doctype); |
| 14:05 | <Ms2ger> | Assuming document.documentElement === null, what should that do? |
| 14:05 | <Ms2ger> | And does the spec get it right? |
| 14:11 | <annevk> | Ms2ger: throw |
| 14:13 | <Ms2ger> | Per spec too? |
| 14:13 | <annevk> | no :( |
| 14:15 | <Ms2ger> | I thought so |
| 14:15 | <annevk> | 4.3 should be changed to take into account that child can be a doctype |
| 14:15 | <gsnedders> | Ms2ger: Is Number.isNaN etc. behind any switch in Fx? |
| 14:15 | <annevk> | "inclusive following" |
| 14:15 | <Ms2ger> | gsnedders, I don't think so |
| 14:17 | <gsnedders> | Ms2ger: Then unless you find ES bugs, I may start playing with that soon… |
| 14:58 | <Ms2ger> | gsnedders, don't think there were spec bugs there; I expect that any issues will end up on es-discuss |
| 15:01 | <annevk> | web notifications is buggy :( |
| 15:02 | <Ms2ger> | s/notifications// |
| 15:17 | <annevk> | Ms2ger: yeah well, I can't fix the spec for all of that |
| 15:17 | <annevk> | although who knows :) |
| 15:17 | <Ms2ger> | :) |
| 15:32 | <gsnedders> | Ms2ger: I meant in our impl :) |
| 15:33 | <Ms2ger> | I don't tend to find ES bugs in your implementation, you know that ;) |
| 15:34 | <jgraham> | On a totally different topic, thanks for reusing and improving our Microdata tests |
| 15:36 | <Ms2ger> | And thanks to you for submitting them in the first place :) |
| 15:37 | <jgraham> | Yeah, I think we have a bunch more things that should be submitted :| |
| 16:01 | <Ms2ger> | jgraham, so do we :) |
| 16:21 | <astearns> | odinho: "Test the Web Forward, Oslo" (or at least somewhere in Europe) is a great idea. If the event next week goes well I'll see what support I can get to help make that happen |
| 16:21 | <Ms2ger> | astearns, Hamburg? :) |
| 16:22 | <jgraham> | Why Hamburg? |
| 16:22 | <astearns> | The Adobe office in Hamburg is actually quite small :( |
| 16:22 | <jgraham> | (London seems like quite a good idea) |
| 16:22 | <Ms2ger> | I can poke people in our London office |
| 16:22 | <Ms2ger> | Or Paris |
| 16:23 | <gsnedders> | If it's London I'll definitely go. :P |
| 16:23 | <jgraham> | Paris or London do seem like good choices |
| 16:23 | <zewt> | that's quite a finglonger you've got there |
| 16:24 | <jgraham> | Yeah, I'm pretty sure I would go to either of those |
| 16:24 | <gsnedders> | Paris depends on stuff with uni combined with travel times a bit more. |
| 16:25 | <TabAtkins> | London++ |
| 16:26 | <jgraham> | (I wonder if language would be a problem in France) |
| 16:26 | <TabAtkins> | Not in my experience. |
| 16:26 | <TabAtkins> | And I know zero French. |
| 16:26 | <TabAtkins> | As long as you're cool with eating whatever they serve you. |
| 16:26 | <Ms2ger> | Heh |
| 16:27 | <Ms2ger> | Which is probably not a bad deal in Paris |
| 16:27 | <TabAtkins> | Nope. |
| 16:27 | <gsnedders> | Oh nice, train ticket prices have gone up yet again… |
| 16:27 | <jgraham> | I mean if you organised an event aimed at local web devs in English would it be well attended? Or if you organised it in French would you get enough people to run it? |
| 16:27 | <TabAtkins> | Oh, that's a point. |
| 16:28 | <jgraham> | I'm pretty sure I trust the food in France more than in the US. |
| 16:28 | <gsnedders> | I mean, given how focused around Paris a lot of stuff is, I wonder how many people would come to London anyway. |
| 16:28 | <jgraham> | gsnedders: Huh? |
| 16:28 | <jgraham> | A lot of what stuff? |
| 16:29 | <gsnedders> | jgraham: If it were in London, given that France is very centralized in general (around Paris), how many people who would go in Paris would go to London? |
| 16:29 | <TabAtkins> | Argh, there's an event coming up that (1) is a beer festival (yay!), (2) proceeds go to fight breast cancer (yay!) (3) ...using alt med (BOOOOOOOOOO) |
| 16:29 | <TabAtkins> | Thanks for being such a buzzkill, woo-meisters. |
| 16:29 | <jgraham> | TabAtkins: That's not just disappointing that's actually mildly sickening. "Raise money for treatments that don't work!" |
| 16:30 | <TabAtkins> | EXACTLY |
| 16:30 | <TabAtkins> | ;alsd;alkj |
| 16:30 | <jgraham> | gsnedders: I imagine that if it was in London most attendees would be English. |
| 16:30 | <gsnedders> | jgraham: Me too. |
| 16:30 | <Ms2ger> | /British |
| 16:31 | <gsnedders> | jgraham: Number of web developers in Scotland isn't that great. |
| 16:32 | <jgraham> | gsnedders: I imagine if it was in France most attendees would be French. But I'm not sure the pool of French devs that want to go to an English language event is that large and the number of non-French speakers/organisers that want to run the event is that large |
| 16:32 | <jgraham> | Now I'm just confused |
| 16:32 | <jgraham> | What's Scotland got to do with the price of cheese? |
| 16:32 | <Philip`> | Number of people in Scotland isn't that great either |
| 16:32 | Philip` | wonders if the number of web developers is more than proportionally lower |
| 16:33 | <jgraham> | Number of people in Norway isn't that great otherwise Oslo would be a fine suggestion (Oslo might be a fine suggestion anyway. At least the language problem wouldn't exist there) |
| 16:55 | <Ms2ger> | jgraham, you mean that everyone is equally lost in Norwegian? |
| 17:10 | <gsnedders> | Ms2ger: Nej |
| 17:16 | <sicking> | Jo! |
| 17:25 | <astearns> | jgraham: http://blogs.adobe.com/webplatform/2012/06/05/w3cs-testharness-comes-to-webkit/ (old news, new summary) |
| 17:35 | <jgraham> | astearns: Cool. Old news with better fonts is always good :) |
| 17:35 | <astearns> | heh |
| 17:36 | <Ms2ger> | Oh, so trolling Scandinavians is the way to go to summon sicking? |
| 17:39 | <jgraham> | Ms2ger: I hear that surströmming works a treat for getting a scandinavian's attention |
| 17:40 | <Ms2ger> | The smell is so bad it's only eaten outdoors? |
| 17:40 | <Ms2ger> | Silly Scandinavians |
| 17:41 | <sicking> | hahaha |
| 18:21 | <matjas> | quiz time: http://twitter.com/mathias/status/210074189409959936 |
| 18:22 | <Ms2ger> | matjas, immediately or when the timeout runs? |
| 18:22 | <matjas> | Ms2ger: doesn’t matter, I’ll take any solution |
| 18:22 | <Ms2ger> | { toString: function() { alert(); } }, perhaps |
| 18:23 | <matjas> | this really is too easy for you guys |
| 18:23 | <TabAtkins> | That was mine too. |
| 18:23 | <matjas> | Ms2ger: how would you do it if it had to be when the timeout runs? (I wouldn’t know how) |
| 18:23 | <Ms2ger> | I'd have to think a little longer about that :) |
| 18:24 | <Ms2ger> | function() { alert() } |
| 18:24 | <Ms2ger> | Functions are objects in JS :) |
| 18:24 | <TabAtkins> | The same, but make it return "alert():" rather than the unquoted version. |
| 18:24 | <TabAtkins> | Ms2ger: But not object literals! |
| 18:25 | <Ms2ger> | TabAtkins, fair |
| 18:25 | <TabAtkins> | setTimeout({toString:function(){return "alert('foo')";}},4) |
| 18:25 | <matjas> | right, duh |
| 18:25 | <matjas> | nice! |
| 18:26 | <matjas> | the difference would be more obvious if I hadn’t used 4 ms, ofc |
| 18:26 | <Ms2ger> | Mhmm |
| 18:26 | <Ms2ger> | It's perfectly obvious if you run the JS in your head |
| 18:27 | <TabAtkins> | ...which is what I did. |
| 19:55 | <Hixie> | is there a DOM API to empty an element yet? |
| 19:55 | <Hixie> | something like div.innerHTML = ''; ? |
| 19:55 | <Ms2ger> | div.textContent = '' |
| 19:55 | <Hixie> | doesn't that introduce an empty text node? |
| 19:56 | <Ms2ger> | Not per spec |
| 19:56 | <Hixie> | indeed not |
| 19:56 | <TabAtkins> | In Chrome it doesn't. |
| 19:56 | <Hixie> | cool |
| 19:56 | <Hixie> | hm, the spec doesn't do the one-text-node optimisation |
| 19:57 | <Ms2ger> | I think we agreed it wasn't necessary |
| 19:57 | <Hixie> | especially if we add E4H, it would be cool to have a single method we could use to replace an element's children with another |
| 19:57 | <Ms2ger> | node.replace()? |
| 19:58 | <TabAtkins> | Hixie: If you didn't have an irrational hatred of method chaining, you could separate the concerns better. |
| 19:58 | <TabAtkins> | node.empty().fillWith(stuff) |
| 19:58 | <Hixie> | yes! replace() is good |
| 19:58 | <Hixie> | TabAtkins: it's not irrational |
| 19:58 | <Ms2ger> | Hm |
| 19:58 | <Ms2ger> | Why do we have doctype.replace()? |
| 19:58 | <TabAtkins> | You have to create new verbs whenever you want to compose two pre-existing verbs in a single statement. |
| 19:59 | <Ms2ger> | TabAtkins, emacs! |
| 19:59 | <Hixie> | wait, no, replace() replaces the element itself |
| 19:59 | <Hixie> | that's not it |
| 19:59 | Philip` | would intuitively expect a.replace(b) to do something like remove a from its parent and insert b into that location |
| 19:59 | <Hixie> | Philip`: it does |
| 19:59 | <Ms2ger> | Hmm, you're right |
| 19:59 | <Philip`> | Oh, it's a thing that exists? |
| 19:59 | <TabAtkins> | If you need a single name, replaceContent() |
| 19:59 | <Ms2ger> | Philip`, in spec |
| 20:00 | <Ms2ger> | Hixie, then not, I'm afraid |
| 20:01 | <Hixie> | TabAtkins: a function's return value is the result of the operation that the function performs, not the object on which you execute the function. If you want to do something like chaining, then you should do it at the language level, because it's a syntactic convenience, not a semantic artefact of the API |
| 20:01 | <TabAtkins> | And functions that return undefined are super useful, I assume? |
| 20:01 | <Philip`> | Oh, only in the DOM4 spec seemingly, which would be why I'd never heard of it |
| 20:01 | <Hixie> | Ms2ger: would be nice to have a .empty() and/or a .replaceContents() or some such |
| 20:02 | <Hixie> | TabAtkins: it is poor language design to use a feature with one intended semantic to get an unrelated syntactic benefit just because the feature isn't currently used |
| 20:03 | <zewt> | Hixie: in my experience, that's just academic and manual chaining can be useful |
| 20:03 | <zewt> | (don't know about the particular case you're talking about) |
| 20:04 | <Hixie> | i don't disagree that the syntactic convenience is real, i'm saying that implementing it using return values is bad design |
| 20:04 | <zewt> | i don't see how |
| 20:04 | <Hixie> | it's a layering violation |
| 20:04 | <zewt> | i don't want a native "run a bunch of methods on the same object" syntax; never seen a language do it and it seems much simpler to do it at the API level when it's helpful |
| 20:05 | <Ms2ger> | Hixie, filed a bug on that |
| 20:05 | <Hixie> | you have seen such a syntax, it's just poorly designed for other reasons in JS: "with" |
| 20:05 | <TabAtkins> | I definitely think the language should handle it, actually. But until we get the monocle-mustache syntax in JS, we can chain by convention. |
| 20:05 | <Hixie> | a proper solution would be something like JS 'with' but without the effect on identifiers in arguments |
| 20:05 | <TabAtkins> | foo.{ bar(); baz(); } === foo.bar(); foo.baz(); |
| 20:05 | <zewt> | TabAtkins: ugh, please no |
| 20:05 | <TabAtkins> | Yes! |
| 20:06 | <zewt> | that's hideous |
| 20:06 | <Hixie> | TabAtkins: ugh, please no (but to the chaining, not the new syntax) |
| 20:06 | <TabAtkins> | Chaining is a part of JS, no matter what we do. Might as well make it automatic. |
| 20:06 | <TabAtkins> | It looks better when spread over multiple lines like a real block. ^_^ |
| 20:06 | <Philip`> | with (foo) { .bar(); .baz(); } |
| 20:06 | <TabAtkins> | with is banished forever. |
| 20:07 | <Hixie> | Philip`'s version of 'with' (with the leading '.'s to say when to apply the with expression) is a really good way to solve it |
| 20:07 | <TabAtkins> | The ES people already rejected it. |
| 20:08 | <Hixie> | and i'm rejecting chaining :-P |
| 20:08 | <TabAtkins> | I'm sorry that you hate JS and its ways. |
| 20:08 | <Ms2ger> | Now you're just trolling |
| 20:09 | <TabAtkins> | A little, yes. ^_^ |
| 20:09 | <Ms2ger> | It's like Godwin's law for chaining |
| 20:09 | <TabAtkins> | But still, seriously, chaining has been a feature of good JS APIs for years. Rejecting it because you prefer your APIs to return a useless undefined is silly. |
| 20:09 | <zewt> | is there a meta-godwin's-law for bringing up godwin's law |
| 20:10 | <Ms2ger> | Insisting on chaining when your functions could return something useful is sillier :) |
| 20:10 | <TabAtkins> | What useful thing could .clear() return? |
| 20:10 | <Hixie> | seriously, chaining hasn't been a feature of "good JS APIs", almost by definition |
| 20:10 | <zewt> | true if anything was cleared, false if it did nothing? |
| 20:10 | <Ms2ger> | For example |
| 20:11 | <TabAtkins> | Why not have a predicate for whether an element is empty or not? |
| 20:11 | <Hixie> | chaining is so obviously a layering violation that i don't understand why we're even having this discussion |
| 20:11 | <TabAtkins> | (I think we have one already, called .firstChild |
| 20:11 | <Ms2ger> | Or a DocumentFragment with the removed node |
| 20:11 | <TabAtkins> | Hixie: Because all the good JS libraries and their users disagree with you? |
| 20:11 | <Ms2ger> | +s |
| 20:11 | <zewt> | what's the use case for not chaining? :) |
| 20:11 | <Ms2ger> | "good" |
| 20:11 | <Hixie> | zewt: returning something useful |
| 20:12 | <Hixie> | zewt: and more importantly, using the language as it was designed |
| 20:12 | <Hixie> | TabAtkins: that's (a) an appeal from authority and (b) wrong |
| 20:12 | <zewt> | if you have a vector class that does addition, multiplication, etc. in-place, there's really nothing more useful to return than allowing chaining |
| 20:12 | <TabAtkins> | No, it's an appeal from use. Also: it's right. |
| 20:12 | <Hixie> | this conversation is content-free, so i'm bailing |
| 20:13 | <TabAtkins> | Sigh. Since your response is just "I disagree with the usage patterns of most popular JS libraries", I agree. |
| 20:13 | <Ms2ger> | zewt, in that case, I might agree |
| 20:13 | <Ms2ger> | zewt, but I think it's silly as a general rule |
| 20:14 | <gsnedders> | Paving the cowpaths, etc. |
| 20:14 | <TabAtkins> | Given my own usage patterns and what I see others do and like, I think chaining should be the default, unless you have a good reason to return something. |
| 20:14 | gsnedders | doesn't like chaining, but that's him |
| 20:14 | <zewt> | TabAtkins: i wouldn't go too far with that, since in balance you don't always know at first whether you'll want to return something later |
| 20:14 | <TabAtkins> | When/if JS ever fixes this at the language level (and I hope they do), we can revise the policy. |
| 20:15 | <Hixie> | Ms2ger: going back to the DOM, I recommend adding a replaceChildren() method and a removeChildren() method that parallel replaceChild() and removeChild() |
| 20:15 | <Hixie> | Ms2ger: and maybe renaming append() to appendChildren() for consistency, though it does make it verbose, so maybe not |
| 20:15 | <zewt> | removeChildren would sure be nice; i'm definitely sick of writing removeChild() loops |
| 20:16 | <Ms2ger> | TabAtkins, that's terribly short-sighted, IMO |
| 20:16 | <TabAtkins> | zewt: Generally, if you can return something from an in-place mutation, you could return it with a separate function too. Should just provide it there and keep the mutators convenient. |
| 20:16 | <zewt> | (though at the same time, i'm wary about helper functions that replace two lines of code) |
| 20:16 | <Hixie> | zewt: one line of code if you do textContent = '' instead |
| 20:16 | <zewt> | feels a bit hacky |
| 20:16 | <Hixie> | it's quicker, but yeah |
| 20:16 | <Hixie> | zewt: but in this case i think it's more about making the code more self-explanatory |
| 20:17 | <Hixie> | node.empty() or node.removeChildren() is clearer than node.textContent = '' // empty |
| 20:17 | <zewt> | TabAtkins: well, for example, you could make WebSocket.send() return this, so you could say ws.send(a).send(b).send(c); but you might also later want to return something else, like an object you can stick event listeners on to find out when that particular send() completes |
| 20:17 | <zewt> | Hixie: fwiw empty() sounds like a query (isEmpty) |
| 20:18 | <Ms2ger> | zewt, otoh, DOM would use an attribute for that, I think |
| 20:18 | <Hixie> | zewt: i don't care much abotu the exact naming, that's up to Ms2ger |
| 20:19 | Ms2ger | defers to annevk |
| 20:19 | <zewt> | careful, if annevk punts to hixie the world might explode |
| 20:19 | <Ms2ger> | Nah, we'll pass through AryehGregor first :) |
| 20:19 | <Hixie> | has to be one of the dom editors :-P |
| 20:20 | <Hixie> | and this is why there should be only one! :-P |
| 20:20 | <Ms2ger> | Hixie, if I were the only one, I'd just let that bug sit there too :) |
| 20:20 | <zewt> | Ms2ger: if it returns true if >0 elements were removed (theoretically), if(empty()) { ... } would definitely be confusing |
| 20:20 | <Ms2ger> | zewt, fair point |
| 20:21 | <zewt> | (don't have any use cases for that return value off-hand, just seems like an "obvious" thing to do) |
| 20:22 | <Ms2ger> | Hixie, how about I leave the API design to the WG? ;) |
| 20:22 | <zewt> | design by committee, that always goes well :) |
| 20:22 | <Hixie> | if you start doing that kind of thing, i'll just have to drag dom core back into the html spec :-P |
| 20:24 | <zewt> | (also FWIW, "removeChildren" while a bit verbose is consistent with the others) |
| 20:25 | <Hixie> | (jeez, what is so hard about people deleting quoted text in their e-mails) |
| 20:25 | <jgraham> | Email is too hard for people |
| 20:25 | <Ms2ger> | Can we blame gmail? :) |
| 20:25 | <jgraham> | It is mystifying |
| 20:26 | <Ms2ger> | jgraham, clearly you should be using an approved email client :) |
| 20:26 | <zewt> | what I found fascinating is someone posting to the "mailing list etiquette" thread talking about how to quote, while quoting in one of the most horrifying ways imaginable |
| 20:27 | <jgraham> | zewt: That is inevitable |
| 20:27 | <Hixie> | wow |
| 20:27 | <Hixie> | http://taglit.qfox.nl/ |
| 20:27 | <zewt> | (top-quoting is better than that <irc> quoting nonsense) |
| 20:27 | <TabAtkins> | Agreed. |
| 20:27 | <gsnedders> | +1 |
| 20:27 | <Ms2ger> | "My response is in blue" |
| 20:28 | <zewt> | yeah that's probably a little worse |
| 20:28 | <TabAtkins> | Clearly someone's not thinking about nesting. |
| 20:29 | <Ms2ger> | I use blue, you use red, your quote of my comment is purple |
| 20:29 | <zewt> | and in the archives we all use black :P |
| 20:29 | <jgraham> | I suppose mail clients don't support <blink> or we weould have "my reply is flashing" |
| 20:30 | <Ms2ger> | My reply is <marquee>Floating back and forth</marquee> |
| 20:30 | <zewt> | jgraham: by the way, http://zewt.org/~glenn/gross.html blink is back, baby! |
| 20:30 | <jgraham> | My reply is all the prime numbered letters |
| 20:31 | <jgraham> | (er, I mean the letters at prime number indicies, or something) |
| 20:31 | <jgraham> | There has to be a fun way to embed your reply in the original text |
| 20:31 | <Ms2ger> | Yes |
| 20:32 | <Ms2ger> | > Blah blah |
| 20:32 | <Ms2ger> | > blah |
| 20:32 | <Ms2ger> | |
| 20:32 | <Ms2ger> | I agree! |
| 20:32 | <Ms2ger> | </boring> |
| 20:33 | <zewt> | <Hixie> http://taglit.qfox.nl/ <- heh, not sure what I think about "new function()" |
| 20:33 | <zewt> | it's nice to not have to wrap the whole thing in (function(){})(), but it's also unobvious |
| 20:33 | <Ms2ger> | Not too much of a fan of <a b> :) |
| 20:43 | <jesusruiz> | Hixie, Are you Ian Hickson? |
| 20:45 | <TabAtkins> | Yes, he is. |
| 20:45 | <jesusruiz> | Thanks, TabAtkins ;) |
| 20:45 | <Hixie> | jesusruiz: yes |
| 20:48 | <jesusruiz> | Hixie I'd like to send you an email about a feature, that it might be interesting to study for the web. |
| 20:48 | <TabAtkins> | jesusruiz: Please send it to whatwg⊙wo |
| 20:49 | <jesusruiz> | although I think that to do so, you should use a patent owned by Microsoft. |
| 20:50 | <jesusruiz> | OK, TabAtkins. Thanks for your help. You are very kind ;) |
| 21:25 | <Hixie> | is mjs on vacation or something? i haven't seen him around in a while |
| 21:26 | <TabAtkins> | Yes. |
| 21:26 | <Hixie> | Aaah. |
| 21:27 | <Hixie> | Ok. |
| 21:27 | <hober> | He'll be back next week IIRC |
| 21:28 | <Hixie> | k |
| 22:02 | <Hixie> | anyone know if anyone other than chrome is interested in http://lists.w3.org/Archives/Public/public-whatwg-archive/2011Nov/0086.html ? |
| 22:09 | <hober> | Hixie: i don't see the point of the file system api as such, much less this specific proposal |
| 22:11 | <Hixie> | k |
| 22:20 | <zewt> | hober: have you not been following it? (it's pretty obvious, I think...) |
| 22:20 | <zewt> | (both of those) |
| 22:35 | <hober> | zewt: storing and retreiving named chunks of data in the client is already solved by websqldatabase or indexeddb |
| 22:35 | <hober> | zewt: there's no point in adding yet another api to do the same thing |
| 22:37 | <zewt> | i doubt indexeddb would be suitable for large data (eg. 8GB of data for a game); and fs-api for accessing native files (which the above thread is one early attempt at, iirc) has its own big bag of use cases around accessing user native files with web apps |
| 22:39 | <zewt> | (i know idb can stored blobs; no real idea how that's shaping up for that sort of usage pattern--personally my main interest in fs-api is bridging the native file gap) |
| 22:47 | <TabAtkins> | Man, why is Opera on a different timezone from everyone else? Frustrating. |
| 22:47 | <TabAtkins> | I want to ask Morten a question about his flexbox impl. |
| 23:23 | <Hixie> | TabAtkins: they're closer to being on the standard timezone than we are :-P |
| 23:23 | <TabAtkins> | Clearly the standard is wrong. |
| 23:24 | <TabAtkins> | (Though they are on the 0 point of Swatch Internet Time, which is cool.) |
| 23:24 | <TabAtkins> | (Though Swatch got that wrong.) |
| 23:33 | <Hixie> | heh |