Options:
- # Session Start: Tue Sep 25 00:00:01 2012
- # Session Ident: #whatwg
- # [00:00] * Joins: jahman (~woops@129.175.204.73)
- # [00:00] * Joins: Raynos_ (u3611@gateway/web/irccloud.com/x-nvuhpkxhshqchwqf)
- # [00:00] * Quits: zewt (~foo@ec2-50-17-220-142.compute-1.amazonaws.com) (Ping timeout: 248 seconds)
- # [00:00] * Quits: cabanier (~cabanier@192.150.22.55) (Ping timeout: 248 seconds)
- # [00:00] * Quits: astearns (~astearns@192.150.22.5) (Ping timeout: 248 seconds)
- # [00:00] * Quits: jernoble (~jernoble@17.212.152.13) (Ping timeout: 248 seconds)
- # [00:00] * Joins: Velmont (~Velmont@193.157.115.211)
- # [00:01] * Joins: astearns (~astearns@192.150.22.5)
- # [00:02] * Joins: cabanier (~cabanier@192.150.22.55)
- # [00:02] * Joins: jernoble (~jernoble@17.212.152.13)
- # [00:03] * Joins: gsnedders (~gsnedders@mail.gsnedders.com)
- # [00:05] * Quits: Effilry (~firefly@firefly.xen.prgmr.com) (Changing host)
- # [00:05] * Joins: Effilry (~firefly@oftn/member/FireFly)
- # [00:05] * Effilry is now known as FireFly
- # [00:06] * Joins: jamesr (jamesr@nat/google/x-bxmfirhzezgzgimw)
- # [00:08] * Quits: othermaciej (~mjs@17.244.186.180) (Quit: othermaciej)
- # [00:09] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Remote host closed the connection)
- # [00:11] * Joins: isherman (isherman@nat/google/x-fruujoalfxmuuhdn)
- # [00:12] * Joins: othermaciej (~mjs@17.244.186.180)
- # [00:13] * Quits: teleject (~christoph@72-48-145-180.static.grandenetworks.net) (Remote host closed the connection)
- # [00:13] * Joins: teleject (~christoph@72-48-145-180.static.grandenetworks.net)
- # [00:14] * Quits: dgathright (~dgathrigh@nat/yahoo/x-hoasgajrlusrmuza) (Ping timeout: 245 seconds)
- # [00:14] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [00:14] * Joins: dgathright (~dgathrigh@nat/yahoo/x-zminxfckbvphgfsj)
- # [00:15] * Quits: isherman (isherman@nat/google/x-fruujoalfxmuuhdn) (Ping timeout: 250 seconds)
- # [00:15] * Joins: eric_carlson_ (~eric@17.212.152.104)
- # [00:15] * Joins: danzik17 (~danzik17@ool-435606a9.dyn.optonline.net)
- # [00:17] * Joins: jmb (~jmb@mail.parsifal.org.uk)
- # [00:17] * Joins: toddmparker__ (u3054@gateway/web/irccloud.com/x-pofeofoevakkezvn)
- # [00:18] * Joins: fkm (~fkm@unaffiliated/fkm)
- # [00:18] * Quits: jdaggett (~jdaggett@v023209.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [00:18] * Joins: imrobert (~robert@139.62.84.187)
- # [00:19] * Joins: mpt_ (~mpt@faun.canonical.com)
- # [00:19] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Ping timeout: 246 seconds)
- # [00:19] * Quits: eric_carlson (~eric@17.212.152.104) (Ping timeout: 246 seconds)
- # [00:19] * Quits: danielfi_ (~danielfil@201.52.236.78) (Ping timeout: 246 seconds)
- # [00:19] * Quits: paul_irish (~paul_iris@ve.hsh6wjwx.vesrv.com) (Ping timeout: 246 seconds)
- # [00:19] * Quits: imrobert_ (~robert@139.62.84.187) (Ping timeout: 246 seconds)
- # [00:19] * Quits: jmb^ (~jmb@mail.parsifal.org.uk) (Ping timeout: 246 seconds)
- # [00:19] * Quits: toddmparker_ (u3054@gateway/web/irccloud.com/x-qtaxtmwnwbscdrbs) (Ping timeout: 246 seconds)
- # [00:19] * Quits: mkf (~fkm@91.214.168.160) (Ping timeout: 246 seconds)
- # [00:19] * Quits: Jedi_ (~Jedi@jedi.org) (Ping timeout: 246 seconds)
- # [00:19] * Quits: jarib (~jarib@unaffiliated/jarib) (Ping timeout: 246 seconds)
- # [00:19] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 246 seconds)
- # [00:19] * toddmparker__ is now known as toddmparker_
- # [00:20] * Joins: paul_irish_ (~paul_iris@ve.hsh6wjwx.vesrv.com)
- # [00:21] * Quits: rwaldron (~rwaldron@pool-100-2-31-210.nycmny.fios.verizon.net) (Quit: Leaving...)
- # [00:21] * Quits: Benvie (~brandon@cpe-174-097-187-248.nc.res.rr.com) (Ping timeout: 240 seconds)
- # [00:22] * Joins: jarib (~jarib@109.74.192.179)
- # [00:22] * Joins: Benvie (~brandon@cpe-174-097-187-248.nc.res.rr.com)
- # [00:22] * Joins: Jedi (~Jedi@jedi.org)
- # [00:22] * Joins: danielfilho (~danielfil@201.52.236.78)
- # [00:22] * Quits: mpt_ (~mpt@faun.canonical.com) (Changing host)
- # [00:22] * Joins: mpt_ (~mpt@canonical/mpt)
- # [00:22] * eric_carlson_ is now known as eric_carlson
- # [00:22] * Quits: jarib (~jarib@109.74.192.179) (Changing host)
- # [00:22] * Joins: jarib (~jarib@unaffiliated/jarib)
- # [00:23] * Jedi is now known as Guest30994
- # [00:23] * Quits: odinho (~odinho@office.oslo.opera.com) (Ping timeout: 240 seconds)
- # Session Close: Tue Sep 25 00:27:52 2012
- #
- # Session Start: Tue Sep 25 00:27:52 2012
- # Session Ident: #whatwg
- # [00:27] * Disconnected
- # [00:29] * Attempting to rejoin channel #whatwg
- # [00:29] * Rejoined channel #whatwg
- # [00:29] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ & http://logbot.glob.com.au/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
- # [00:29] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
- # [00:29] * Quits: foolip__ (~philip@node-7lfb9kgvc8zh2d4g8.a0.ipv6.opera.com) (Ping timeout: 245 seconds)
- # [00:29] <TabAtkins> Because the BinaryData proposal from tc39 was too slow, and WebGL just went with the simplest thing possible.
- # [00:29] * Joins: foolip__ (~philip@node-7lfb9kgvc8zh2d4g8.a0.ipv6.opera.com)
- # [00:30] * Joins: globbot (~logbot@lump.glob.com.au)
- # [00:30] * Joins: ciluu (~ciluu@2a01:270:201f::cafe)
- # [00:30] <SamB_MacG5> well, it is certainly simple
- # [00:34] <zewt_> it should have been a lot simpler, heh
- # [00:34] * Quits: NimeshNeema (u2689@gateway/web/irccloud.com/x-vmfzffsyegxrgxjr) (Max SendQ exceeded)
- # [00:34] * zewt_ is now known as zewt
- # [00:34] * Quits: ukai_ (ukai@nat/google/x-buqecrpjxzzwkbfi) (Ping timeout: 268 seconds)
- # [00:35] * Quits: jryans (~jryans@office.massrel.com) (Quit: Be back later)
- # [00:36] * Joins: NimeshNeema (u2689@gateway/web/irccloud.com/x-gfdlfcagpvryrvtw)
- # [00:36] * Quits: sicking (~chatzilla@nat/mozilla/x-qfdxauhyhwjupzce) (Ping timeout: 245 seconds)
- # [00:37] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [00:37] * SamB_MacG5 supposes Python doesn't have any such facility for arrays either, come to think of it ...
- # [00:38] * Joins: sicking (~chatzilla@nat/mozilla/x-tzktabtllnhypoco)
- # [00:38] * Quits: tndrH (~Rob@cpc4-seac20-2-0-cust858.7-2.cable.virginmedia.com) (Ping timeout: 256 seconds)
- # [00:41] * Quits: KevinMarks2 (~KevinMark@24-104-73-2-ip-static.hfc.comcastbusiness.net) (Quit: The computer fell asleep)
- # [00:41] * Joins: KevinMarks2 (~KevinMark@24-104-73-2-ip-static.hfc.comcastbusiness.net)
- # [00:45] * Quits: rniwa (rniwa@nat/google/x-fzxyaixubmgyzmgi) (Quit: rniwa)
- # [00:45] * Joins: rniwa (rniwa@nat/google/x-rabodkmwusrjkkwm)
- # [00:46] * Quits: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Quit: tomasf)
- # [00:46] * Quits: KevinMarks2 (~KevinMark@24-104-73-2-ip-static.hfc.comcastbusiness.net) (Client Quit)
- # [00:46] * Joins: KevinMarks2 (~KevinMark@24-104-73-2-ip-static.hfc.comcastbusiness.net)
- # [00:49] * Joins: isherman (isherman@nat/google/x-flauxwszxivlwpqd)
- # [00:50] * Joins: Dashimon (Dashiva@84-72-44-85.dclient.hispeed.ch)
- # [00:50] * Quits: Dashimon (Dashiva@84-72-44-85.dclient.hispeed.ch) (Changing host)
- # [00:50] * Joins: Dashimon (Dashiva@wikia/Dashiva)
- # [00:51] * Quits: KevinMarks2 (~KevinMark@24-104-73-2-ip-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds)
- # [00:53] * Joins: annevk_ (~annevk@a82-161-179-17.adsl.xs4all.nl)
- # [00:53] <annevk_> http://lists.w3.org/Archives/Public/uri/2012Sep/0002.html kind of an IETF-centric definition of obsolete there
- # [00:53] <annevk_> I was using it in the broad sense, in case anyone cares
- # [00:53] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 256 seconds)
- # [00:53] * Dashimon is now known as Dashiva
- # [00:53] <annevk_> And is someone still subscribed to www-tag?
- # [00:54] <annevk_> It appears they are confused about where the URL Standard is located...
- # [00:55] * Quits: sedovsek (~robert@89.142.241.54) (Quit: sedovsek)
- # [00:56] * Joins: eric_carlson_ (~eric@2620:149:4:1b01:395f:654c:542d:87c0)
- # [00:56] <SamB_MacG5> zewt: on the other hand, if it was more complicated that might mean less bikeshedding ;-P
- # [00:56] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Ping timeout: 256 seconds)
- # [00:56] * Joins: danielfi_ (~danielfil@201.52.236.78)
- # [00:59] <zewt> don't know that there's much bikeshedding on that api (though i havn't been following webgl-dev for a couple months)
- # [01:00] * Joins: ukai_ (ukai@nat/google/x-iboyzvabqlstgnvv)
- # [01:01] * Quits: eric_carlson (~eric@17.212.152.104) (Ping timeout: 399 seconds)
- # [01:01] * Quits: Martijnc (~Martijn@nishino.lvp-media.com) (Ping timeout: 408 seconds)
- # [01:01] * eric_carlson_ is now known as eric_carlson
- # [01:01] * Joins: Martijnc (~Martijn@nishino.lvp-media.com)
- # [01:01] * Quits: dgathright (~dgathrigh@nat/yahoo/x-zminxfckbvphgfsj) (Ping timeout: 248 seconds)
- # [01:02] * Quits: danielfilho (~danielfil@201.52.236.78) (Ping timeout: 241 seconds)
- # [01:02] * Quits: othermaciej (~mjs@17.244.186.180) (Ping timeout: 241 seconds)
- # [01:03] * Quits: necolas (~necolas@8.25.194.28) (Remote host closed the connection)
- # [01:04] * Quits: fkm (~fkm@unaffiliated/fkm) (Quit: Bye)
- # [01:05] * Joins: fkm (~fkm@unaffiliated/fkm)
- # [01:08] * Joins: othermaciej (~mjs@17.245.111.37)
- # [01:09] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Remote host closed the connection)
- # [01:11] * Joins: jryans (~jryans@173-96-133-106.pools.spcsdns.net)
- # [01:12] * Joins: toddmparker__ (u3054@gateway/web/irccloud.com/x-sbfctzsrceomolsu)
- # [01:12] * Quits: toddmparker_ (u3054@gateway/web/irccloud.com/x-pofeofoevakkezvn) (Ping timeout: 252 seconds)
- # [01:12] * Quits: jmb (~jmb@mail.parsifal.org.uk) (Ping timeout: 252 seconds)
- # [01:12] * toddmparker__ is now known as toddmparker_
- # [01:12] * Joins: jmb^ (~jmb@mail.parsifal.org.uk)
- # [01:13] * Joins: dgathright (~dgathrigh@nat/yahoo/x-manvellrmbaxkxpk)
- # [01:14] * Quits: jryans (~jryans@173-96-133-106.pools.spcsdns.net) (Client Quit)
- # [01:15] * Quits: dgathright (~dgathrigh@nat/yahoo/x-manvellrmbaxkxpk) (Remote host closed the connection)
- # [01:16] * Joins: dgathright (~dgathrigh@nat/yahoo/x-exqmdczgfbanigog)
- # [01:20] * heycam|away is now known as heycam
- # [01:22] * Quits: Martijnc (~Martijn@nishino.lvp-media.com) (Ping timeout: 267 seconds)
- # [01:22] * Quits: [tm] (~MikeSmith@sideshowbarker.net) (Ping timeout: 267 seconds)
- # [01:22] * Joins: [tm] (~MikeSmith@sideshowbarker.net)
- # [01:22] * Joins: Martijnc (~Martijn@nishino.lvp-media.com)
- # [01:27] * Quits: ehsan (~ehsan@66.207.208.98) (Remote host closed the connection)
- # [01:27] * Quits: fkm (~fkm@unaffiliated/fkm) (Quit: Bye)
- # [01:28] * Joins: danielf__ (~danielfil@187.31.77.7)
- # [01:28] * Joins: fkm (~fkm@unaffiliated/fkm)
- # [01:29] * Joins: nessy (~silviapf@124-168-3-236.dyn.iinet.net.au)
- # [01:31] * Joins: nw_ (nw@kapsi.fi)
- # [01:31] * Joins: odinho_ (odinho@dalvik.ping.uio.no)
- # [01:31] * Joins: jmb (~jmb@mail.parsifal.org.uk)
- # [01:32] * Quits: ukai_ (ukai@nat/google/x-iboyzvabqlstgnvv) (Ping timeout: 248 seconds)
- # [01:32] * Quits: Velmont (~Velmont@193.157.115.211) (Ping timeout: 248 seconds)
- # [01:32] * Quits: danielfilho|w (~danielfil@187.31.77.7) (Ping timeout: 248 seconds)
- # [01:32] * Quits: jmb^ (~jmb@mail.parsifal.org.uk) (Ping timeout: 248 seconds)
- # [01:32] * Quits: odinho (~odinho@office.oslo.opera.com) (Ping timeout: 248 seconds)
- # [01:32] * Quits: nw (nw@kapsi.fi) (Ping timeout: 248 seconds)
- # [01:32] * Joins: odinho (~odinho@office.oslo.opera.com)
- # [01:38] * jernoble is now known as jernoble|afk
- # [01:38] * jernoble|afk is now known as jernoble
- # [01:38] * Quits: jernoble (~jernoble@17.212.152.13) (Remote host closed the connection)
- # [01:41] * Joins: krijn_ (u2319@gateway/web/irccloud.com/x-gkzyxtfmcobrscny)
- # [01:41] * Quits: stalled (~stalled@unaffiliated/stalled) (Ping timeout: 272 seconds)
- # [01:41] * Quits: krijn (u2319@gateway/web/irccloud.com/x-tafxbduxymbcegqv) (Ping timeout: 272 seconds)
- # [01:41] * krijn_ is now known as krijn
- # [01:44] * Joins: stalled (~stalled@unaffiliated/stalled)
- # [01:45] * Joins: lokling_ (~quassel@quassel.woboq.de)
- # [01:46] * Joins: jernoble (~jernoble@17.212.152.13)
- # [01:47] * Quits: lokling (~quassel@quassel.woboq.de) (Write error: Broken pipe)
- # [01:47] * Quits: tzik_ (~tzik@2401:fa00:4:1004:baac:6fff:fe99:85ab) (Remote host closed the connection)
- # [01:47] * Joins: tzik_ (~tzik@2401:fa00:4:1004:baac:6fff:fe99:85ab)
- # [01:48] * Quits: teleject (~christoph@72-48-145-180.static.grandenetworks.net) (Ping timeout: 264 seconds)
- # [01:50] * Joins: pablof (~pablof@144.189.150.130)
- # [01:55] * Joins: ukai_ (ukai@nat/google/x-fdrjtfkprelrczdc)
- # [01:58] * Joins: jondong (~jondong@123.126.22.58)
- # [01:59] * jondong is now known as Guest21870
- # [01:59] * Quits: drublic (~drublic@frbg-5f733b13.pool.mediaWays.net) (Remote host closed the connection)
- # [01:59] * Joins: tzik__ (~tzik@2401:fa00:4:1004:baac:6fff:fe99:85ab)
- # [02:00] * Quits: tzik_ (~tzik@2401:fa00:4:1004:baac:6fff:fe99:85ab) (Write error: Broken pipe)
- # [02:02] <jamesr_> Hixie_, so you've decided to let the UA pick a resolution however it likes for canvas 2d?
- # [02:02] <TabAtkins> That was the intent all along.
- # [02:03] <jamesr_> fwiw my thinking is that we'll always set this to 1 regardless of the display's properties. setting it to anything else is too problematic
- # [02:04] <zewt> jamesr: what problems are there that the addition of toDataURLHD and toBlobHD don't fix?
- # [02:04] <jamesr_> weird that it's tied to a task
- # [02:04] <jamesr_> and not the element (although all options here are weird)
- # [02:04] <Hixie_> jamesr_: webkit already picks higher res backing resolutions, at least for safari
- # [02:04] <Hixie_> jamesr_: are there any new problems that aren't handled?
- # [02:04] <jamesr_> safari on desktop does. chrome and mobilesafari don't
- # [02:05] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 264 seconds)
- # [02:06] * Joins: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
- # [02:06] <Hixie_> jamesr_: well not ever using higher res backing stores is a non-starter.
- # [02:07] <Hixie_> jamesr_: but if there are problems not currently addressed, please do mention them on the list
- # [02:07] <jamesr_> how do you mean?
- # [02:07] <TabAtkins> Hixie_: I'll be separately encouraging our implementation to name the function ellipseTo when we implement it.
- # [02:07] <jamesr_> Hixie_, we currently set the backing store to whatever the width/height attributes are set to. seems to work out fine
- # [02:07] <Hixie_> jamesr_: i mean, retina macbook pros look ugly as hell on chrome
- # [02:08] <jamesr_> depends on the content
- # [02:08] <Hixie_> when they have canvases
- # [02:08] <Hixie_> TabAtkins: i'll be encouraging us not to implement the more complicated path syntax too :-P
- # [02:09] * Hixie_ really does think it's a terrible design choice to be doing this
- # [02:10] * Quits: rniwa (rniwa@nat/google/x-rabodkmwusrjkkwm) (Quit: rniwa)
- # [02:13] <TabAtkins> You don't seem to understand how much people hate A/a.
- # [02:13] <TabAtkins> They're *horrible* API for most use-cases.
- # [02:14] <TabAtkins> Anyway, your encouragement won't do much, since it's Dirk who'll be doing it for us. ^_^
- # [02:14] <Hixie_> i have no trouble understanding that A/a is bad
- # [02:14] <Hixie_> i have no trouble with the idea of adding new ways of doinh arcs
- # [02:15] * Quits: dgathright (~dgathrigh@nat/yahoo/x-exqmdczgfbanigog) (Quit: dgathright)
- # [02:15] <Hixie_> my problem is with this idea of adding new names for each command
- # [02:15] <Hixie_> or adding any names that aren't short one-letter names
- # [02:16] <TabAtkins> There are no reasonable letters left for new arc commands.
- # [02:17] * Quits: mattgifford (~mattgiffo@70.102.199.158) (Remote host closed the connection)
- # [02:17] <TabAtkins> I mean, the fact that a smooth quadratic uses T shows that we're out of reasonable letters already. ^_^
- # [02:17] <Hixie_> i don't understand the concern
- # [02:18] * Joins: mattgifford (~mattgiffo@70.102.199.158)
- # [02:18] <Hixie_> why does it matter what the letters are?
- # [02:18] <Hixie_> you just find a mnemonic and go with it
- # [02:18] <Hixie_> e.g. E for ellipse
- # [02:18] * Quits: mattgifford (~mattgiffo@70.102.199.158) (Read error: Connection reset by peer)
- # [02:18] <TabAtkins> ?_? You're asserting that we should continue with the practice of adding single-letter command names. I'm claiming that there are no reasonable single-letter names for those commands.
- # [02:18] <Hixie_> or R for rounded corner
- # [02:19] <Hixie_> or O for circle
- # [02:19] <Hixie_> or V for curVe
- # [02:19] <Hixie_> you don't double the size of a language because of lack of imagination
- # [02:19] <TabAtkins> Separately, I assert that the single-letter names are stupid. Syntax minimization at its worst.
- # [02:19] <Hixie_> that's fine, but that boat sailed years ago
- # [02:20] <TabAtkins> Yup, and it's returned, and we're changing the rigging on it now.
- # [02:20] <Hixie_> this is bad language design
- # [02:20] <Hixie_> if you're gonna start adding replacement features for everything SVG screwed up, you're gonna end up with the world's most confusing language
- # [02:20] <Hixie_> adding features doesn't simplify
- # [02:20] <TabAtkins> It's consistent with the names of the subpath *elements* we're adding.
- # [02:20] <Hixie_> it only makes things worse
- # [02:20] <Hixie_> oh god, you're adding elements too?
- # [02:20] <TabAtkins> I understand that you think that. I agree some of the time.
- # [02:21] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
- # [02:23] * Joins: teleject (~christoph@cpe-70-112-210-24.austin.res.rr.com)
- # [02:24] * Joins: rwaldron (~rwaldron@pool-100-2-31-210.nycmny.fios.verizon.net)
- # [02:27] * Quits: othermaciej (~mjs@17.245.111.37) (Quit: othermaciej)
- # [02:29] * Quits: danzik17 (~danzik17@ool-435606a9.dyn.optonline.net) (Ping timeout: 264 seconds)
- # [02:36] * Quits: sicking (~chatzilla@nat/mozilla/x-tzktabtllnhypoco) (Ping timeout: 265 seconds)
- # [02:37] <Hixie_> TabAtkins: why is it not true here?
- # [02:37] * Hixie_ is now known as Hixie
- # [02:39] * Quits: ap (~ap@2620:149:4:1b01:2505:2e8e:f435:d46) (Quit: ap)
- # [02:41] * Quits: jsbell (jsbell@nat/google/x-jnnqzlmjdexdgais) (Quit: There's no place like home...)
- # [02:42] * Joins: sicking (~chatzilla@nat/mozilla/x-cafgrgqxlahpxgsn)
- # [02:43] * Quits: sicking (~chatzilla@nat/mozilla/x-cafgrgqxlahpxgsn) (Client Quit)
- # [02:43] * Joins: sicking (~chatzilla@nat/mozilla/x-wkqqggcowheppynr)
- # [02:48] * Quits: jernoble (~jernoble@17.212.152.13) (Quit: Textual IRC Client: www.textualapp.com)
- # [02:49] <jamesr_> TabAtkins, y u n l c s?
- # [02:52] * Quits: jamesr_ (jamesr@nat/google/x-apwpjhxwwicyrzix) (Quit: Ex-Chat)
- # [02:57] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Quit: linclark)
- # [02:59] * Quits: pablof (~pablof@144.189.150.130) (Quit: ^z)
- # [02:59] * Quits: typeclassy (~user@ool-ae2ceba4.dyn.optonline.net) (Remote host closed the connection)
- # [03:07] * abstractj|away is now known as abstractj
- # [03:14] * Joins: jacobolus (~jacobolus@ip-64-134-230-253.public.wayport.net)
- # [03:19] * Quits: teleject (~christoph@cpe-70-112-210-24.austin.res.rr.com) (Remote host closed the connection)
- # [03:19] * Joins: teleject (~christoph@cpe-70-112-210-24.austin.res.rr.com)
- # [03:27] * Joins: rniwa (rniwa@nat/google/x-ktegyicpijfkkbxv)
- # [03:35] * Joins: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com)
- # [03:40] <TabAtkins> Hixie: Consistency is a virtue, but not an absolute one. One must balance it against the benefits of whatever is breaking consistency. Also, being consistent with the future and pushing the past to the side can mitigate a lot of the pain of inconsistency.
- # [03:40] <TabAtkins> Basically, it's just an error to reject something solely because it's inconsistent with the present.
- # [03:43] * SamB_MacG5 wonders why http://dev.w3.org/html5/spec/the-canvas-element.html#the-canvas-element suggests XBL as somehow being something you could use ...
- # [03:43] <TabAtkins> It was written a while ago.
- # [03:43] <Hixie> TabAtkins: i'm not talking about being consistent, though, i'm talking about adding redundant features
- # [03:44] <TabAtkins> Redundancy is fine! Redundancy can be author-friendly.
- # [03:45] <Hixie> if you're starting from that assumption, i think it's unlikely we'll agree :-)
- # [03:45] <TabAtkins> I think it is obviously untrue that redundancy is an absolute bad.
- # [03:46] <TabAtkins> And when there is a choice between redundancy and inconsistency, redundancy should probably win.
- # [03:47] <Hixie> i think following that line of reasoning would easily double the API surface of the web
- # [03:47] <Hixie> which imho is _clearly_ a negative
- # [03:48] <TabAtkins> It would only double if you're adding redundant version of everything.
- # [03:48] <TabAtkins> Increasing the surface area of the web by 20% or so, in return for making shitty legacy things more consistent with the more glorious future, is a cost I'm willing to pay.
- # [03:48] * Joins: danzik17 (~danzik17@ool-435606a9.dyn.optonline.net)
- # [03:49] <Hixie> but it doesn't make the old features more consistent with the future -- it makes a new feature consistent with the feature, while also keeping the old inconsistent features
- # [03:49] <Hixie> (and given how we don't know what the future is, it's unclear that one can be consistent with it)
- # [03:49] <TabAtkins> Yes? We can't get rid of the old features, and twisting the future to be consistent with them just produces something horrible.
- # [03:51] * Quits: jamesr (jamesr@nat/google/x-bxmfirhzezgzgimw) (Quit: jamesr)
- # [03:52] * abstractj is now known as abstractj|away
- # [03:52] * Quits: rniwa (rniwa@nat/google/x-ktegyicpijfkkbxv) (Quit: rniwa)
- # [03:52] <Hixie> having old+newold+new is worse than old+new (where newold = the new redundant feature)
- # [03:52] <Hixie> because basically the more you have, the more complicated it is, the harder it is to teach, to write tutorials, to test, to spec, to implement, to learn, etc
- # [03:53] <Hixie> it's arguable whether a new feature that isn't consistent with a bad old feature is better or worse than being consistent, given the cost of inconsistency, but that's a case-by-case thing
- # [03:59] * Quits: jwalden (~waldo@2620:101:8003:200:2c2e:54a2:9ec8:3bcb) (Quit: ChatZilla 0.9.87-5.1450hg.fc17 [XULRunner 15.0/20120827125645])
- # [04:00] * Quits: SamB_MacG5 (~samb_macg@207-172-123-137.c3-0.upd-ubr1.trpr-upd.pa.cable.rcn.com) (Remote host closed the connection)
- # [04:04] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
- # [04:04] * Joins: SamB_MacG5 (~samb_macg@207-172-123-137.c3-0.upd-ubr1.trpr-upd.pa.cable.rcn.com)
- # [04:06] * Joins: yutak (~yutak@2401:fa00:4:1004:baac:6fff:fe99:adfb)
- # [04:08] * Quits: jacobolus (~jacobolus@ip-64-134-230-253.public.wayport.net) (Remote host closed the connection)
- # [04:09] * Quits: SamB_MacG5 (~samb_macg@207-172-123-137.c3-0.upd-ubr1.trpr-upd.pa.cable.rcn.com) (Remote host closed the connection)
- # [04:09] * Joins: SamB_MacG5 (~samb_macg@207-172-123-137.c3-0.upd-ubr1.trpr-upd.pa.cable.rcn.com)
- # [04:15] * Quits: nessy (~silviapf@124-168-3-236.dyn.iinet.net.au) (Quit: Leaving.)
- # [04:15] * Quits: sicking (~chatzilla@nat/mozilla/x-wkqqggcowheppynr) (Ping timeout: 252 seconds)
- # [04:16] * Joins: plutoniix (~plutoniix@node-84n.pool-101-108.dynamic.totbb.net)
- # [04:18] * Quits: BennyLava (~colin@pdpc/supporter/professional/riven) (Read error: Connection reset by peer)
- # [04:18] * Joins: BennyLava (~colin@53518387.cm-6-2c.dynamic.ziggo.nl)
- # [04:18] * Quits: BennyLava (~colin@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
- # [04:18] * Joins: BennyLava (~colin@pdpc/supporter/professional/riven)
- # [04:23] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [04:25] * Joins: Druide_ (~Druid@p5B1363B3.dip.t-dialin.net)
- # [04:26] * Joins: j_wright (~jwright@ip70-180-205-15.lv.lv.cox.net)
- # [04:38] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [04:55] * Joins: nessy (silviapf@nat/google/x-uiohdviotxvuubsh)
- # [04:59] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [05:08] * Joins: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net)
- # [05:08] * Quits: plutoniix (~plutoniix@node-84n.pool-101-108.dynamic.totbb.net) (Ping timeout: 265 seconds)
- # [05:10] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [05:14] * Quits: victrola` (~decadance@69.73.175.77) (Remote host closed the connection)
- # [05:19] * Quits: adlwalrus (~j@111.192.205.76) (Ping timeout: 256 seconds)
- # [05:29] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [05:36] <Hixie> othermaciej: htmlwg question -- if i notice an htmlwg bug that might be valid has been marked invalid without any comment (no boilerplate, rationale, etc), is this something anyone cares about that i should raise somewhere? i don't personally care but if i notice it and there's something trivial i can do to help, i'm happy to do so
- # [05:37] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson_)
- # [05:39] * Quits: rwaldron (~rwaldron@pool-100-2-31-210.nycmny.fios.verizon.net) (Quit: Leaving...)
- # [05:40] * Quits: ImBcmDth_ (~Jon@pool-173-63-154-183.nwrknj.fios.verizon.net) (Ping timeout: 245 seconds)
- # [05:40] <othermaciej> Hixie: if you point such bugs out to an editor and/or a chair, it would be helpful
- # [05:41] <Hixie> https://www.w3.org/Bugs/Public/show_bug.cgi?id=18223 https://www.w3.org/Bugs/Public/show_bug.cgi?id=16512 and https://www.w3.org/Bugs/Public/show_bug.cgi?id=16022
- # [05:41] <Hixie> (fyi, see also https://www.w3.org/Bugs/Public/show_bug.cgi?id=15042 )
- # [05:41] <Hixie> othermaciej: ^
- # [05:42] <othermaciej> I don't understand how to interpret "how do you set up the tracks in the html?" as spec feedback
- # [05:42] <othermaciej> if you understand what it means, I would appreciate if you could add a clarifying comment
- # [05:42] <Hixie> i presume it's asking for examples of <track>
- # [05:42] <othermaciej> likewise "I first saw this code suggested by Jeremy Keith in his excellent book ‘HTML5
- # [05:42] <othermaciej> For Web Designers’ ("
- # [05:43] <othermaciej> is it? it might be asking for an example, or the person might be confused, or they might think there is a bug with <track>
- # [05:43] <Hixie> well like i said, "might be"
- # [05:43] <Hixie> not saying they are :-)
- # [05:43] <othermaciej> what about the one citing Jeremy Keith?
- # [05:43] <Hixie> yeah that one is less clear
- # [05:43] <othermaciej> what does that mean?
- # [05:44] <Hixie> dunno. probably cut off. seemed likely to be an intentional question, though, not just invalid
- # [05:44] <othermaciej> seems invalid to me, or needs info at best
- # [05:44] <Hixie> oh definitely isn't directly actionable
- # [05:44] <othermaciej> I personally feel that one is of the same status as "asdfgh asdfgh"
- # [05:45] <Hixie> k
- # [05:45] <othermaciej> in that it does not even suggest either a problem with the spec or a proposed change
- # [05:45] <othermaciej> for 16022, I also am not really sure what it means
- # [05:45] <othermaciej> do you understand what it is saying?
- # [05:45] <Hixie> haven't studied it closely enough
- # [05:46] <Hixie> but if someone filed it and is watching the bug, it seems polite to ask for more info rather than just closing it without following the process :-)
- # [05:46] <othermaciej> I find myself unable to parse it
- # [05:46] <Hixie> given that the bug system is the w3c's main feedback mechanism
- # [05:46] <Hixie> it's like with the whatwg list, i promise replies to all feedback on the spec, even nonsensical feedback
- # [05:47] <othermaciej> the HTML WG policy is that INVALID may be applied if "Bug is obvious junk or spam. Or, originator decides upon reconsideration that the comment is wrong. Does not require a full Editor's response."
- # [05:47] <othermaciej> NEEDSINFO is "Additional information is required to accept or reject this comment. Editor's response required. Editor should be clear on what additional info is required. It is strongly recommended that bug reporters should provide the requested additional information, if the request is reasonable, before they consider escalating."
- # [05:47] <othermaciej> I would consider either acceptable for those three bugs
- # [05:48] <Hixie> i guess my definition of "junk" is less wide than yours :-)
- # [05:48] <othermaciej> as the required info would be "please clearly state a problem with the spec or identify a suggested change"
- # [05:48] <Hixie> (as editor i basically didn't mark any invalid, iirc)
- # [05:48] <Hixie> (so i was a bit surprised to see it being used)
- # [05:50] <othermaciej> I don't think your recollection is correct
- # [05:50] <othermaciej> I found 183 bugs in the "HTML5 spec" component that were marked INVALID while you were editor
- # [05:50] <Hixie> any of them marked that way by me?
- # [05:50] <Hixie> without boilerplate?
- # [05:51] <othermaciej> that's harder to do a quick query for
- # [05:52] <othermaciej> I see many marked as such by the editorial assistants or by Msg2er
- # [05:52] <othermaciej> in random sampling
- # [05:52] <Hixie> (search within that set for bugs closed by me, then search again for bugs closed by me with the boilerplate, and subtract the counts, that should do it. not that you need to bother :-) )
- # [05:53] <othermaciej> I can't readily search for bugs closed without the boilerplate
- # [05:53] <Hixie> right, search for them all, then with it
- # [05:53] <Hixie> the difference is those without
- # [05:54] <Hixie> (if you wanted the actual bugs, you could grab the IDs from the second set and list them as IDs to exclude in the first search, or something)
- # [05:54] <Hixie> (but that's getting messy)
- # [05:54] <othermaciej> point being, it has been accepted process that bugs which do not appear to state an issue and instead appear to be a copy/paste error, random typing, a non-bug question, or the like can be resolved w/o boilerplate
- # [05:54] <Hixie> anyway, it's no big deal
- # [05:54] <Hixie> k
- # [05:54] <othermaciej> I'm willing to believe you never personally used INVALID since I can't find any counter-examples
- # [05:55] <Hixie> the fourth one was a separate thing, just fyi. https://www.w3.org/Bugs/Public/show_bug.cgi?id=15042
- # [05:55] <Hixie> hopefully it'll solve itself.
- # [05:55] <othermaciej> it does seem to me the test suite bug you cited was probably wrongly closed, but the spec bug rules don't apply there and I have not followed test suite development, so I am not in a good position to comment further
- # [05:55] <Hixie> yeah i wasn't saying that one was part of the same issue.
- # [05:56] <Hixie> just making sure you had it on your radar.
- # [05:56] <Hixie> more in your role as webkit guy than htmlwg guy.
- # [05:56] <othermaciej> ok
- # [05:57] <othermaciej> it does seem necessary to figure out the answer to what toDataURL does for hi-res backing stores
- # [05:57] <Hixie> the whatwg spec is clear on that topic
- # [05:57] <othermaciej> perhaps it needs the "HD" treatment like getImageData and putImageData
- # [05:57] <Hixie> it has had that treatment in the whatwg spec.
- # [05:57] <othermaciej> ah, ok
- # [05:57] <Hixie> this is one of the areas where tho two specs have forked.
- # [05:57] <othermaciej> I believe our canvas implementors are tracking the whatwg spec more than the htmlwg spec on this
- # [05:58] <Hixie> yeah, i expect everyone but microsoft is in that boat.
- # [05:58] <othermaciej> it would be nice if the w3c version was at least not contrary to the high-res-compatible edition
- # [05:58] <Hixie> (sadly it was microsoft people who wontfixed the bug)
- # [05:58] <Hixie> agreed
- # [05:59] <othermaciej> is the canvas toBlob method a fork point?
- # [05:59] <Hixie> dunno
- # [05:59] <othermaciej> (wondering if toBlobHD or toBlob is the fork, to determine if this same issue applies)
- # [05:59] <Hixie> i'm guessing it's all the HD stuff
- # [05:59] <Hixie> i think we had toBlob long ago
- # [05:59] <Hixie> i definitely didn't add toBlob at the same time as the HD stuff
- # [06:00] <Hixie> the HD stuff is relatively new
- # [06:00] <Hixie> (in response to safari feedback, mainly)
- # [06:00] <othermaciej> yes, I'm aware, and I'm glad it was added
- # [06:00] <othermaciej> as you can see, all of Apple's product line is moving to 2x displays
- # [06:00] <othermaciej> so we got to be the first ones to test how the old spec worked in the face of 1x-only-tested content
- # [06:00] <Hixie> yeah
- # [06:01] <Hixie> (love the retina macbook btw)
- # [06:01] <othermaciej> I wish I had one, trying to order them for my engineers first though
- # [06:03] <Hixie> yeah, i don't have one personally, but i got one for my partner
- # [06:05] * Joins: jacobolus (~jacobolus@76.91.212.21)
- # [06:07] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [06:07] * heycam is now known as heycam|away
- # [06:12] <Hixie> in other news, man, w3c bugzilla is being slow today
- # [06:12] <Hixie> keep getting 502s
- # [06:13] <othermaciej> me too :-(
- # [06:18] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [06:29] * Joins: kennyluck (~kennyluck@119.161.158.96)
- # [06:36] * Guest30994 is now known as Jedi_
- # [06:37] * Joins: auchenberg (~auchenber@176.222.239.226)
- # [06:39] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [06:41] * Quits: auchenberg (~auchenber@176.222.239.226) (Ping timeout: 256 seconds)
- # [06:52] * SamB_MacG5 is surprised to discover that he is in the XSL or XQuery working group
- # [06:52] <SamB_MacG5> (well, that's what bugzilla thinks, anyway!)
- # [07:02] <othermaciej> Hixie: why did you move this bug to the whatwg product? https://www.w3.org/Bugs/Public/show_bug.cgi?id=10912
- # [07:02] <othermaciej> Hixie: are you going to back-clone it?
- # [07:03] <othermaciej> (HTML WG needs copies of resolved bugs in our product to be able to provide a record of responses to comments)
- # [07:08] * Joins: snowfox_ben (~benschaaf@c-98-243-88-119.hsd1.mi.comcast.net)
- # [07:08] * Joins: ImBcmDth (~Jon@pool-71-127-243-30.nwrknj.fios.verizon.net)
- # [07:13] <nessy> it's happening to many bugs - looks like all of the ones that were resolved later...
- # [07:15] * Joins: adlwalrus (~j@111.192.205.76)
- # [07:16] <kennyluck> Can we have a QA contact (a mailing list) for all bugs in the WHATWG component? I'd like to subscribe to that list.
- # [07:19] * Quits: danzik17 (~danzik17@ool-435606a9.dyn.optonline.net) (Ping timeout: 246 seconds)
- # [07:23] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [07:30] * Parts: adlwalrus (~j@111.192.205.76)
- # [07:36] * Joins: niloy (~niloy@61.12.96.242)
- # [07:42] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson_)
- # [07:50] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [07:50] * Joins: Martin_L (~Martin_L@194.18.12.26)
- # [07:51] * heycam|away is now known as heycam
- # [07:57] <Hixie> othermaciej: oh, didn't realise you wanted the closed ones also. i moved all the bugs assigned to me that were marked LATER to the WHATWG component.
- # [07:57] <Hixie> othermaciej: so i wouln't lose them.
- # [07:59] * Joins: silverroots (~silverroo@144.187.148.25)
- # [08:00] <Hixie> othermaciej: there have been many bugs that get reassigned to other components, e.g. HTML.next, rather than get resolved, fwiw. so i don't know that it's possible to make such a list currently.
- # [08:00] <Hixie> kennyluck: contributor@whatwg.org should be that, iirc
- # [08:00] <Hixie> kennyluck: just follow that
- # [08:00] <othermaciej> Hixie: can you clone them in one direction or another please?
- # [08:01] <Hixie> othermaciej: yeah, send me a mail to remind me
- # [08:01] <kennyluck> Hixie, how to? Is that a mailing list?
- # [08:01] <Hixie> should be easy enough to set up my script to do that
- # [08:01] <Hixie> kennyluck: in bugzilla, you should be able to set your account to follow that one
- # [08:01] <kennyluck> oh, you mean Bugzilla following?
- # [08:01] <Hixie> https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
- # [08:01] <Hixie> yeah
- # [08:02] <Hixie> gotta go, bbl
- # [08:08] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [08:35] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
- # [08:42] * Joins: PalleZingmark (~Adium@217.13.228.226)
- # [08:48] * Joins: SimonSapin (~simon@ip-222.net-80-236-80.issy.rev.numericable.fr)
- # [08:52] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [09:01] * Joins: drublic (~drublic@frbg-4d028f07.pool.mediaWays.net)
- # [09:09] * heycam is now known as heycam|away
- # [09:12] * Quits: tzik__ (~tzik@2401:fa00:4:1004:baac:6fff:fe99:85ab) (Read error: Connection reset by peer)
- # [09:14] * Joins: richt (~richt@c-7b67e555.155-2-64736c16.cust.bredbandsbolaget.se)
- # [09:15] * Quits: JohnAlbin_zzzzzz (~JohnAlbin@114-36-33-26.dynamic.hinet.net) (Quit: HTTP/1.1 404 JohnAlbin Not Found)
- # [09:23] * Quits: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net) (Read error: Connection reset by peer)
- # [09:27] * Joins: auchenberg (~auchenber@176.222.239.226)
- # [09:28] <jgraham> othermaciej: BTW your more minimal filesystem API looks nicer than the Google one, but it does seem like one would quickly end up with a "pyramid of doom" if every single file operation needs to be in its own callback
- # [09:29] * Joins: tndrH (~Rob@cpc4-seac20-2-0-cust858.7-2.cable.virginmedia.com)
- # [09:34] * Joins: darobin (~darobin@spintank2-160-134.cnt.nerim.net)
- # [09:37] * Joins: Ms2ger (~Ms2ger@91.181.95.180)
- # [09:40] * Joins: victor2 (~Adium@did75-14-82-236-18-74.fbx.proxad.net)
- # [09:40] * Parts: victor2 (~Adium@did75-14-82-236-18-74.fbx.proxad.net)
- # [09:43] * Quits: drublic (~drublic@frbg-4d028f07.pool.mediaWays.net) (Remote host closed the connection)
- # [09:43] * Joins: drublic (~drublic@frbg-4d028f07.pool.mediaWays.net)
- # [09:46] * Joins: tzik__ (~tzik@2401:fa00:4:1004:baac:6fff:fe99:85ab)
- # [09:48] * Quits: drublic (~drublic@frbg-4d028f07.pool.mediaWays.net) (Ping timeout: 276 seconds)
- # [09:54] * Joins: henrikkok (~henrikkok@81.27.221.193)
- # [09:54] * Joins: sedovsek (~robert@89.143.12.238)
- # [09:58] * Quits: PalleZingmark (~Adium@217.13.228.226) (Quit: Leaving.)
- # [10:00] * Quits: espadrine (~thaddee_t@85-218-9-34.dclient.lsne.ch) (Ping timeout: 272 seconds)
- # [10:00] * Joins: drublic (~drublic@p5098a42b.dip0.t-ipconnect.de)
- # [10:01] <jgraham> othermaciej: In addition I am worried that we have added, or attempted to add, 3 local storage mechanisms in the last 5 years, and our record of doing it well isn't that great
- # [10:02] <jgraham> (localStorage, WebSQL, IndexedDB)
- # [10:02] * Joins: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net)
- # [10:04] <jgraham> (so the platform total, including WebSQL, is 4 of which 3 are already known to be various degrees of broken)
- # [10:05] <SimonSapin> jgraham: which is the not-known-broken one?
- # [10:08] <jgraham> IndexedDB
- # [10:08] <Ms2ger> That one's just hated, right?
- # [10:08] <jgraham> By no one uses that yet
- # [10:09] <jgraham> So we probably haven't worked out why it is broken yet
- # [10:09] <jgraham> Hence I am worried about adding a new storage API before we even work out what the problems that need to be fixed with the previous one are
- # [10:10] <jgraham> (I suspect "callback hell" is one of the problems, and I don't think the filesystem API proposals address that)
- # [10:10] * Quits: silverroots (~silverroo@144.187.148.25) (Read error: Connection reset by peer)
- # [10:11] * Joins: silverroots (~silverroo@144.187.180.13)
- # [10:12] * Joins: Druide__ (~Druid@p5B135C26.dip.t-dialin.net)
- # [10:13] * Quits: Druide_ (~Druid@p5B1363B3.dip.t-dialin.net) (Ping timeout: 265 seconds)
- # [10:19] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [10:19] * Quits: nessy (silviapf@nat/google/x-uiohdviotxvuubsh) (Quit: Leaving.)
- # [10:23] * Quits: SimonSapin (~simon@ip-222.net-80-236-80.issy.rev.numericable.fr) (Read error: Connection reset by peer)
- # [10:25] * Joins: charlvn (~charlvn@charlvn.nl)
- # [10:25] * Joins: PalleZingmark (~Adium@217.13.228.226)
- # [10:26] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Remote host closed the connection)
- # [10:37] * Quits: j_wright (~jwright@ip70-180-205-15.lv.lv.cox.net) (Ping timeout: 256 seconds)
- # [10:39] * Joins: Smylers (~smylers@62.249.246.74)
- # [10:44] * Zauberfisch_ is now known as Zauberfisch
- # [10:50] * Joins: nonge_ (~nonge@p5082A372.dip.t-dialin.net)
- # [10:52] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [10:54] * Quits: nonge (~nonge@p5082AA22.dip.t-dialin.net) (Ping timeout: 268 seconds)
- # [11:01] * Quits: Ms2ger (~Ms2ger@91.181.95.180) (Quit: bbl)
- # [11:02] * Joins: SimonSapin (~simon@2a01:e35:2e8d:b5f0:24ef:db19:73df:6e01)
- # [11:03] * Quits: jacobolus (~jacobolus@76.91.212.21) (Remote host closed the connection)
- # [11:03] * Joins: jacobolus (~jacobolus@76.91.212.21)
- # [11:06] <eighty4> Any ideas on http://www.netmagazine.com/features/truth-about-structuring-html5-page ?
- # [11:11] <zcorpan> TabAtkins: maybe you should ask what the svg wg think about multiple-letter commands before discussing it in whatwg :-)
- # [11:11] * Quits: Benvie (~brandon@cpe-174-097-187-248.nc.res.rr.com) (*.net *.split)
- # [11:12] * Quits: ajpiano (~ajpiano@li98-57.members.linode.com) (*.net *.split)
- # [11:12] * Quits: dsheets (~Adium@c-67-180-11-170.hsd1.ca.comcast.net) (*.net *.split)
- # [11:12] * Quits: vidu (u5404@gateway/web/irccloud.com/x-fmtfpbutvqckhmqu) (*.net *.split)
- # [11:12] * Joins: ajpiano (~ajpiano@li98-57.members.linode.com)
- # [11:12] * Joins: Benvie (~brandon@cpe-174-097-187-248.nc.res.rr.com)
- # [11:12] * Joins: dsheets (~Adium@c-67-180-11-170.hsd1.ca.comcast.net)
- # [11:16] * Quits: dsheets (~Adium@c-67-180-11-170.hsd1.ca.comcast.net) (Ping timeout: 250 seconds)
- # [11:17] * Quits: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net) (Quit: rniwa)
- # [11:26] <annevk_> eighty4: hard to argue with the truth
- # [11:26] <eighty4> annevk_: i.e. we shouldn't use the new html5 elements?
- # [11:27] * Joins: vidu (u5404@gateway/web/irccloud.com/session)
- # [11:27] * annevk_ was mocking the title
- # [11:27] <hsivonen> the outline algorithm is ill-clothed as long as there’s no selector for selecting by outline depth
- # [11:27] <eighty4> ...
- # [11:27] * annevk_ is now known as annevk
- # [11:27] * eighty4 is to stupid to get jokes just before lunch
- # [11:28] <annevk> eighty4: I stopped caring about semantics a while ago, so these days whenever people ask me I just tell them to use what works best for them
- # [11:28] <annevk> eighty4: I personally use <nav> and such as it's nicer than <div id=nav>, if some people prefer the latter, that's cool too
- # [11:29] * Joins: isherman-book (~Adium@173-167-102-230-sfba.hfc.comcastbusiness.net)
- # [11:29] <eighty4> annevk: I've been finding <header> and such in the same way
- # [11:29] <eighty4> makes my html cleaner and easier to maintain imo
- # [11:29] <hsivonen> Re: semantics: https://twitter.com/glazou/status/250516174473920512
- # [11:31] <annevk> eighty4: exactly, and in a decade from now or so someone will do a new study towards what people are doing and how markup is practiced and the definitions in the specification will be adjusted accordingly
- # [11:32] <eighty4> ah well. Back to figuring out how to move things around in this comment form I guess. Seems more important.
- # [11:32] <annevk> eighty4: just like the HTML4 element definitions have been adjusted (e.g. for <dl>)
- # [11:32] <jgraham> eighty4: I read a little bit of that article and found it was wrong on matters of fact, so I gave up and stopped reading
- # [11:33] <jgraham> If the facts taht you are using to support your opinion are fabrications, there's probably very little value in your opinions
- # [11:33] <annevk> hsivonen: that's "asshole" per pilgrim classification, no?
- # [11:33] <eighty4> jgraham: if anything you should point that out. Seems a shame if people read it and believe it :)
- # [11:33] * Quits: jarib (~jarib@unaffiliated/jarib) (Excess Flood)
- # [11:34] <annevk> if people believe stuff they read online they might be in for some surprises down the road :)
- # [11:34] <jgraham> eighty4: If I pointed it out every time some clueless or malicious web developer used incorrect assertions to write controversial articles in the name of publicity I wouldn't have any time to do anything else
- # [11:34] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [11:34] <eighty4> annevk: lol
- # [11:35] <hsivonen> but see http://epubsecrets.com/ibooks-the-latest-epub-3-0-reader.php
- # [11:35] <eighty4> jgraham: meh!
- # [11:35] <annevk> eighty4: also, it's important to conserve one's energy http://xkcd.com/386/
- # [11:35] <eighty4> jgraham: (swedish for me not having a response but thinking you should do it anyways)
- # [11:36] * Joins: jarib (~jarib@unaffiliated/jarib)
- # [11:36] <eighty4> annevk: I love that one. I live by it :)
- # [11:36] <annevk> I like to think I learned from it :p
- # [11:36] <eighty4> I never learn
- # [11:38] <eighty4> ah well, when I have the time I'll read som of the responses to the post. Should be fun
- # [11:41] <annevk> eighty4: you'll learn, might take a long time, mind you; I think I've done it for over half a decade at least with regards to standards discussions
- # [11:42] <annevk> and actually, I still do: http://krijnhoetmer.nl/irc-logs/whatwg/20120925#l-101 I just no longer bother sending email :)
- # [11:42] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 252 seconds)
- # [11:43] <eighty4> annevk: In truth I do get better. I've stopped arguing with trolls :)
- # [11:44] <eighty4> annevk: that log is from a couple of hours back :D
- # [11:45] * Quits: teleject (~christoph@cpe-70-112-210-24.austin.res.rr.com) (Read error: Connection reset by peer)
- # [11:46] * Joins: teleject (~christoph@cpe-70-112-210-24.austin.res.rr.com)
- # [11:53] * Quits: jacobolus (~jacobolus@76.91.212.21) (Remote host closed the connection)
- # [12:00] * abstractj|away is now known as abstractj
- # [12:07] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Read error: Connection reset by peer)
- # [12:08] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [12:18] * Quits: isherman-book (~Adium@173-167-102-230-sfba.hfc.comcastbusiness.net) (Quit: Leaving.)
- # [12:19] * Quits: Martin_L (~Martin_L@194.18.12.26) (Ping timeout: 248 seconds)
- # [12:21] * Joins: plutoniix (~plutoniix@node-19v3.pool-125-24.dynamic.totbb.net)
- # [12:23] * Quits: vidu (u5404@gateway/web/irccloud.com/session) (Changing host)
- # [12:23] * Joins: vidu (u5404@gateway/web/irccloud.com/x-khxsffaqgcyduaab)
- # [12:24] * Quits: plutoniix (~plutoniix@node-19v3.pool-125-24.dynamic.totbb.net) (Read error: Connection reset by peer)
- # [12:26] * Joins: jacobolus (~jacobolus@76.91.212.21)
- # [12:26] * Joins: plutoniix (~plutoniix@node-19v3.pool-125-24.dynamic.totbb.net)
- # [12:29] * abstractj is now known as abstractj|coffee
- # [12:34] * Quits: Guest21870 (~jondong@123.126.22.58) (Remote host closed the connection)
- # [12:34] * abstractj|coffee is now known as abstractj
- # [12:42] * Joins: isherman-book (~Adium@173-167-102-230-sfba.hfc.comcastbusiness.net)
- # [12:42] * Quits: isherman-book (~Adium@173-167-102-230-sfba.hfc.comcastbusiness.net) (Client Quit)
- # [12:46] <jgraham> hsivonen: Do you really want to encourage the W3C to have big monolithic releases where all known issues have to be fixed?
- # [12:49] * Joins: j_wright (~jwright@ip70-180-205-15.lv.lv.cox.net)
- # [12:49] * Joins: shwetank (~shwetank@pat-tazdevil.opera.com)
- # [12:51] <hsivonen> jgraham: no. they can drop stuff from snapshots instead of fixing: http://w3cmemes.tumblr.com/post/31865121758/the-joker-shares-his-approach-on-css2-1-issues
- # [12:51] * Quits: jacobolus (~jacobolus@76.91.212.21) (Quit: Leaving...)
- # [12:52] <hsivonen> jgraham: I don't want Microsoft to create a new doc mode that implements stuff that others won't be able to implement across modes
- # [12:52] * Quits: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Read error: Connection reset by peer)
- # [12:52] <hsivonen> jgraham: and I don't want to deflect n00b requests to implement the bogus REC in Gecko
- # [12:53] <jgraham> I don't want the navigation algorithm to be replaced by "now do magic stuff" just for fear that Microsoft might otherwise add in a mode that implements it
- # [12:54] <jgraham> In fact I don't think that's practically possible
- # [12:55] <hsivonen> jgraham: the W3C REC could say “do magic” and WHATWG and W3C ED’s could try to say something more precise
- # [12:55] <eighty4> annevk: ok, I know I shouldn't care but the authors html is kind of horrible :)
- # [12:55] <jgraham> In this specific case I don't see how that would work without undefining a bunch of stuff
- # [12:55] <eighty4> www.truthabouthtml5.com really isn't nice html
- # [12:55] <annevk> noobs caring about the navigation algorithm? not sure that would ever happen
- # [12:56] <jgraham> I mean, navigation spreads its tentacles all over the spec
- # [12:57] <hsivonen> eighty4: oh was the article trolling for attention in order to sell a book? ok.
- # [12:57] <eighty4> hsivonen: I would imagine so, given that the article seems taken from the book.
- # [12:58] <jgraham> hsivonen: I would much prefer that the W3C moved to a model where we got releases say every 6 months, and there was an understanding that the spec might not be bug-free
- # [12:58] <jgraham> Seems like the closest thing to a living standard that could be fig-leafed as process
- # [13:02] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [13:03] * Quits: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Read error: Connection reset by peer)
- # [13:03] * Joins: adactio_ (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [13:06] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [13:08] * Joins: nessy (~silviapf@124-168-3-236.dyn.iinet.net.au)
- # [13:13] * Joins: [[zzz]] (~q@node-rrx.pool-180-180.dynamic.totbb.net)
- # [13:15] * Quits: imrobert (~robert@139.62.84.187) (Ping timeout: 240 seconds)
- # [13:17] * Quits: [[zz]] (~q@node-z9c.pool-180-180.dynamic.totbb.net) (Ping timeout: 264 seconds)
- # [13:34] * Quits: kennyluck (~kennyluck@119.161.158.96) (Quit: kennyluck)
- # [13:38] * Joins: sedovsek (~robert@89.143.12.238)
- # [13:39] * Quits: shwetank (~shwetank@pat-tazdevil.opera.com) (Quit: Leaving...)
- # [13:41] * abstractj is now known as abstractj|away
- # [13:42] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [13:45] * Joins: shwetank (~shwetank@pat-tazdevil.opera.com)
- # [13:46] * Joins: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
- # [13:51] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Remote host closed the connection)
- # [13:51] * Quits: adactio_ (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Quit: adactio_)
- # [13:56] * Joins: teleject_ (~christoph@cpe-70-112-210-24.austin.res.rr.com)
- # [13:57] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [13:57] * Joins: sedovsek (~robert@89.143.12.238)
- # [14:00] * Quits: teleject (~christoph@cpe-70-112-210-24.austin.res.rr.com) (Ping timeout: 246 seconds)
- # [14:01] * Quits: teleject_ (~christoph@cpe-70-112-210-24.austin.res.rr.com) (Ping timeout: 252 seconds)
- # [14:05] * Quits: shwetank (~shwetank@pat-tazdevil.opera.com) (Quit: Leaving...)
- # [14:07] * Joins: shwetank (~shwetank@pat-tazdevil.opera.com)
- # [14:09] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson_)
- # [14:22] * Quits: Zauberfisch (~Zauberfis@2a01:4f8:100:73c3::3) (Read error: Connection reset by peer)
- # [14:23] * Joins: Zauberfisch (~Zauberfis@2a01:4f8:100:73c3::3)
- # [14:31] <zcorpan> i've moved this to a separate file so other specs can use it: http://dvcs.w3.org/hg/quirks-mode/raw-file/tip/status-warning.js
- # [14:32] * Quits: snowfox_ben (~benschaaf@c-98-243-88-119.hsd1.mi.comcast.net) (Quit: snowfox_ben)
- # [14:32] <zcorpan> (see http://dvcs.w3.org/hg/quirks-mode/raw-file/tip/Overview.src.html for how it looks)
- # [14:35] * [[zzz]] is now known as [[zz]]
- # [14:44] * abstractj|away is now known as abstractj
- # [14:46] * Joins: teleject (~christoph@72-48-145-180.static.grandenetworks.net)
- # [14:47] * Quits: teleject (~christoph@72-48-145-180.static.grandenetworks.net) (Remote host closed the connection)
- # [14:48] * Joins: teleject (~christoph@72-48-145-180.static.grandenetworks.net)
- # [14:48] * Quits: teleject (~christoph@72-48-145-180.static.grandenetworks.net) (Remote host closed the connection)
- # [14:53] * Quits: nessy (~silviapf@124-168-3-236.dyn.iinet.net.au) (Quit: Leaving.)
- # [15:01] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [15:01] * Joins: izhak (~izhak@188.244.176.232)
- # [15:03] * Joins: JohnAlbin (~JohnAlbin@111-250-144-93.dynamic.hinet.net)
- # [15:10] * Joins: thisgeek (~chris@ool-45757782.dyn.optonline.net)
- # [15:15] * Quits: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net) (Quit: tomasf)
- # [15:17] * Quits: shwetank (~shwetank@pat-tazdevil.opera.com) (Quit: Leaving...)
- # [15:18] * Quits: plutoniix (~plutoniix@node-19v3.pool-125-24.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [15:18] * Joins: shwetank (~shwetank@pat-tazdevil.opera.com)
- # [15:25] * Joins: snowfox_ben (~benschaaf@50-77-199-197-static.hfc.comcastbusiness.net)
- # [15:30] * Joins: MacTed (~Thud@63.119.36.36)
- # [15:32] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [15:36] * lokling_ is now known as lokling
- # [15:47] * Joins: danzik17 (~danzik17@164.55.254.106)
- # [15:49] * Quits: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com) (Remote host closed the connection)
- # [15:50] * Joins: tomasf (~tomasf@static-88.131.62.36.addr.tdcsong.se)
- # [15:50] * Quits: tomasf (~tomasf@static-88.131.62.36.addr.tdcsong.se) (Client Quit)
- # [15:50] * Joins: tomasf (~tomasf@static-88.131.62.36.addr.tdcsong.se)
- # [15:51] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [15:51] * Joins: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com)
- # [15:55] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Read error: Operation timed out)
- # [15:57] * Quits: danielfi_ (~danielfil@201.52.236.78) (Remote host closed the connection)
- # [15:57] * Joins: scor (~scor@132.183.243.214)
- # [15:57] * Quits: scor (~scor@132.183.243.214) (Changing host)
- # [15:57] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [15:59] * Joins: erichynds (~ehynds@64.206.121.41)
- # [16:00] * Joins: rwaldron (~rwaldron@pool-100-2-31-210.nycmny.fios.verizon.net)
- # [16:01] * Quits: PalleZingmark (~Adium@217.13.228.226) (Quit: Leaving.)
- # [16:02] * Joins: garciawebdev (~garciaweb@190.244.76.14)
- # [16:02] * mpt_ is now known as mpt
- # [16:09] * Quits: ehsan (~ehsan@24-212-206-174.cable.teksavvy.com) (Remote host closed the connection)
- # [16:14] * Quits: silverroots (~silverroo@144.187.180.13) (Ping timeout: 265 seconds)
- # [16:14] <annevk> who the fuck cares about .mobi anyway?
- # [16:15] <darobin> .mobi is still around?
- # [16:16] <annevk> it was awkward when I ran into some people from Vodaphone couple of years after I published http://annevankesteren.nl/2004/12/mobi-stld and they recalled what I wrote
- # [16:17] <darobin> I reckon they're used to that :)
- # [16:18] * Joins: imrobert (~robert@139.62.84.187)
- # [16:22] <hsivonen> what’s the spec for window.screen?
- # [16:22] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [16:24] <smaug____> paul_irish: looks like robohornet does something odd with testharness, which causes tests to test something else than what is actually expected. https://github.com/robohornet/robohornet/issues/66
- # [16:25] <hsivonen> I miss zcorpan’s .mobi site that served a single-pixel GIF
- # [16:25] * Joins: rworth (~rworth@209-255-211-4.ip.mcleodusa.net)
- # [16:25] <zcorpan> hsivonen: i let the domain expire
- # [16:25] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [16:26] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
- # [16:28] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [16:29] <annevk> Ms2ger: was just looking into merging that fix from hasather
- # [16:29] <Ms2ger> Too late ;)
- # [16:29] <annevk> guess we can now declare hosting specs on github a "great success"
- # [16:29] <odinho> and everyone had cake and was happy :-)
- # [16:29] <Ms2ger> Did someone change the case of whatwg again?
- # [16:31] * Ms2ger mumbles about unnecessary merges
- # [16:31] <annevk> Ms2ger: my bad
- # [16:31] <Ms2ger> Hmm? No, github's bad :)
- # [16:31] <annevk> Ms2ger: well I renamed back to /whatwg
- # [16:31] <Ms2ger> Oh
- # [16:32] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
- # [16:32] <Ms2ger> Keep it that way now? :)
- # [16:32] <annevk> but quite a while ago
- # [16:32] <annevk> yes
- # [16:33] <zewt> heh i read .mobi as the kindle ebook format
- # [16:33] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Read error: Connection reset by peer)
- # [16:33] * Joins: WolfieZero (~WolfieZer@87.124.34.32)
- # [16:33] * Quits: WolfieZero (~WolfieZer@87.124.34.32) (Client Quit)
- # [16:33] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [16:34] <annevk> hsivonen: window.screen is in CSSOM View (at least when I worked on that)
- # [16:40] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [16:40] <zewt> google's search result stats must get pretty nastily broken for ED/TR results
- # [16:40] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [16:40] <zewt> -ED
- # [16:42] <zewt> since invariably the TR gets returned and i can't quickly find the ED in the results, so i click the TR result then click through to the ED--presumably making google thing the TR is what I wanted, making it even more likely to be at the top
- # [16:42] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [16:44] * Joins: ehsan (~ehsan@66.207.208.98)
- # [16:46] * Quits: izhak (~izhak@188.244.176.232) (Remote host closed the connection)
- # [16:49] * Joins: izhak (~izhak@188.244.176.232)
- # [16:51] * JohnAlbin is now known as JohnAlbin_food
- # [16:52] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [16:52] * danielf__ is now known as danielfilho|w
- # [16:53] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: dflk;adfslkj;alsiekfj;laiskdf)
- # [16:58] <annevk> whoa, Opera and Chrome accept http://017700000001/
- # [16:59] <annevk> http://www.amazon.com/The-Tangled-Web-Securing-Applications/dp/1593273886 is pretty interesting
- # [16:59] <zewt> octal, one of those things which are utterly useless yet somehow refuse to die
- # [17:00] <zewt> heh https://twitter.com/ID_AA_Carmack/status/243125862403297281
- # [17:02] <othermaciej> jgraham: doesn't the Google one also require a callback for each operation?
- # [17:02] <othermaciej> jgraham: (other than when using the sync API in a Worker)
- # [17:03] * Quits: vincent_ (~woops@87-231-117-240.rev.numericable.fr) (Read error: Connection reset by peer)
- # [17:08] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Quit: ChatZilla 0.9.89 [Firefox 18.0a1/20120923200442])
- # [17:09] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [17:09] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Remote host closed the connection)
- # [17:19] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
- # [17:21] <annevk> zewt: the problem is more that IPv4 is only allowed to be written as DEC.DEC.DEC.DEC
- # [17:24] * Quits: richt (~richt@c-7b67e555.155-2-64736c16.cust.bredbandsbolaget.se) (Remote host closed the connection)
- # [17:25] * Quits: jarib (~jarib@unaffiliated/jarib) (Excess Flood)
- # [17:26] * Joins: jarib (~jarib@unaffiliated/jarib)
- # [17:32] * jtcranme1 is now known as jtcranmer
- # [17:33] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
- # [17:37] * Quits: tomasf (~tomasf@static-88.131.62.36.addr.tdcsong.se) (Quit: tomasf)
- # [17:43] <zewt> annevk: when parsing a URL whose base URL is null, what does eg. "set scheme to base's scheme" mean? SIGSEGV? (i might be missing a default-base-url rule somewhere)
- # [17:43] <annevk> zewt: how did you get there?
- # [17:44] <zewt> new URL("http://foo.com");
- # [17:44] <annevk> you would not get there
- # [17:45] <annevk> you can never get in the "hierarchical" state if base URL is null
- # [17:45] * Joins: jsbell (jsbell@nat/google/x-aliuxhwhwbcrlhxh)
- # [17:47] <annevk> maybe I'll rename "hierarchical" to "relative"
- # [17:47] <zewt> new URL("?a=1"): 1: scheme start, step 1 does nothing, step 2 goes to no scheme; 2: no scheme goes to hierarchical
- # [17:47] <zewt> (the case I was actually tracing)
- # [17:48] <annevk> ah
- # [17:48] <annevk> small bug, thanks
- # [17:49] <zewt> (i guessed doing that would actually want to end up invalidated, but was trying to see if that's what actually happens)
- # [17:52] <annevk> fixed
- # [17:53] * JohnAlbin_food is now known as JohnAlbin
- # [17:53] <dglazkov> good morning, Whatwg!
- # [17:54] <zewt> should the URL ctor throw on invalid URLs, since it does that for base anyway? seems confusing that eg. changing .path and querying .href silently gives the original URL if it was invalid
- # [17:55] * Joins: smaug (~chatzilla@cs181151161.pp.htv.fi)
- # [17:55] <annevk> zewt: maybe, but a) that does not happen for <a> and such and b) it might make introducing new schemes that need parser integration trickier
- # [17:55] <annevk> zewt: you can check the new isInvalid flag
- # [17:56] <annevk> maybe that should be named isValid
- # [17:56] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 248 seconds)
- # [17:56] * smaug is now known as smaug____
- # [17:56] * Quits: shwetank (~shwetank@pat-tazdevil.opera.com) (Quit: Leaving...)
- # [17:57] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Quit: http://mhausenblas.info/#i says TTYL)
- # [17:57] <zewt> seems confusing that changes are silently discarded in that state, though
- # [17:57] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
- # [17:57] * Quits: auchenberg (~auchenber@176.222.239.226) (Remote host closed the connection)
- # [18:00] <annevk> you can still set .href
- # [18:00] <zewt> but nothing else
- # [18:00] * Joins: dragon__ (~dragon@182-166-107-150f1.hyg2.eonet.ne.jp)
- # [18:00] <annevk> well doh, if the input is invalid it would be kinda hard to change anything
- # [18:00] * Quits: dragon__ (~dragon@182-166-107-150f1.hyg2.eonet.ne.jp) (Client Quit)
- # [18:01] <annevk> and it's largely an edge case anyway and it that case better extensibility wins
- # [18:01] <annevk> in*
- # [18:03] <jgraham> othermaciej: Yes, but their proposal sucks even more, so that's not a great argument
- # [18:04] <othermaciej> jgraham: I don't know of a reasonable way to avoid callback-per-operation while still avoiding synchronous I/O on the main thread
- # [18:04] <zewt> it just seems like a confusingly silent error condition, where the interface is still there, no errors are raised, but it doesn't do anything useful and the reason for why it's no-opping isn't necessarily obvious
- # [18:04] <othermaciej> jgraham: that being said, I am not really sure why any local sandboxed storage use cases would need this but couldn't use indexeddb
- # [18:04] <jgraham> othermaciej: I think we should perhaps spend some time trying to work out a pattern for that
- # [18:04] <othermaciej> jgraham: so I think maybe the right next step is to get very clear about the use cases
- # [18:05] <jgraham> Before adding yet more APIs that die under callback hell
- # [18:05] <jgraham> But yeah, I agree about IndexedDB and use cases
- # [18:05] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Quit: Leaving)
- # [18:05] <annevk> zewt: not too worried with error consoles and whatnot
- # [18:05] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
- # [18:05] <rwaldron> annevk was just looking at the mutation methods—great stuff. One question though: Can these be specified to return the node they operate on?
- # [18:05] <rwaldron> http://dom.spec.whatwg.org/#mutation-methods
- # [18:06] <zewt> othermaciej: fwiw, i expect a portion of it is that everyone implicitly understands and "trusts" filesystem access as a basic storage mechanism for file-like data, where indexeddb is less known and proven in people's minds
- # [18:06] <annevk> rwaldron: I haven't done that because that would be inconsistent with every other platform API there is
- # [18:06] <rwaldron> I see
- # [18:06] <rwaldron> well, that's unfortunate.
- # [18:07] <Ms2ger> This ain't jquery
- # [18:07] <othermaciej> zewt: yeah, but - Chrome's sandboxed filesystem store is (I believe) in reality backed by a database
- # [18:07] <othermaciej> zewt: so the trust level is completely illusory
- # [18:08] <zewt> othermaciej: yeah that's pretty bad, defeats the benefits entirely
- # [18:08] <annevk> rwaldron: so yes, we can do whatever we want, but taking the rest of the platform into consideration is important
- # [18:08] <annevk> rwaldron: it's already inconsequential enough imo
- # [18:09] <rwaldron> Ms2ger what do you gain from saying that? Or better, what does the future of the platform gain?
- # [18:09] <zewt> (databases don't tend to be terribly good at file-like stuff, eg. storing a 500 MB file and then modifying a few bytes in the middle, appending data without compounding fragmentation, etc)
- # [18:09] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [18:09] <Ms2ger> rwaldron, the ability to have functions return something more useful than the this value
- # [18:10] <rwaldron> annevk I understand, but since these effectively supplant the previous API, it doesn't seem unreasonable.
- # [18:10] <rwaldron> Ms2ger such as?
- # [18:10] <annevk> rwaldron: by the platform I mean more than just DOM manipulation :)
- # [18:10] <annevk> I mean every API in every standard
- # [18:11] <rwaldron> annevk yes, the same ones that are abstracted over, because they are mostly miserable.
- # [18:11] * Ms2ger yawns
- # [18:11] <rwaldron> Ok, well I can see that arguing this is pointless, so thanks for your time everyone.
- # [18:12] * Ms2ger implements remove() instead
- # [18:13] <Ms2ger> I guess I get to write tests now
- # [18:13] * Quits: Smylers (~smylers@62.249.246.74) (Ping timeout: 246 seconds)
- # [18:13] <annevk> rwaldron: I'd prefer a more complete plan than just changing some APIs here and there into chaining APIs
- # [18:13] <annevk> rwaldron: it feels a bit irresponsible to just do it here and there
- # [18:14] <annevk> rwaldron: I'm not opposed to the idea though
- # [18:14] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [18:14] <rwaldron> Ms2ger seriously? I'm reaching out to spec authors, as a member of TC39 (representing jQuery), to coordinate efforts that will improve the use of APIs that will be used to create the future
- # [18:14] <rwaldron> I don't appreciate your dismissive comments
- # [18:14] <rwaldron> Considering I said nothing to you to deserve them
- # [18:15] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [18:15] <Ms2ger> This is an issue that would be better solved in JS proper
- # [18:15] <Ms2ger> If you're in tc39, you're better placed than me to do that
- # [18:15] <rwaldron> Ms2ger and what issue is that?
- # [18:16] <Ms2ger> You mean there is no issue?
- # [18:16] <Ms2ger> Then why do you want to change a few methods in DOM?
- # [18:16] <rwaldron> I'm asking you to clarify what issue you're referring to
- # [18:16] <rwaldron> "This is an issue that would be better solved in JS proper"
- # [18:16] <Ms2ger> Clearly you believe there is an issue with the mutation methods
- # [18:17] <rwaldron> I believe there is an issue with the way much of the DOM has been specified
- # [18:17] <Ms2ger> I never really understood which issue it is that returning the this value is supposed to solve
- # [18:17] <rwaldron> It's not a problem with the language, it's a problem with the authors of the specifications.
- # [18:17] <Ms2ger> But it is pointless to try to fix it by changing a few methods here and there
- # [18:18] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [18:18] * Joins: ls_n (~ls_n@c-98-246-32-40.hsd1.or.comcast.net)
- # [18:19] <paul_irish> as pointless as adding a duplicate remove() method purely for improved usability?
- # [18:19] <rwaldron> If these methods represent a newly created API, why not specify them in a way that will match the expectations of web developers that are currently using libraries to abstract over the existing APIs
- # [18:19] <rwaldron> let me rephrase that...
- # [18:19] <rwaldron> "Give them what they want"
- # [18:19] * Joins: jacobolus (~jacobolus@76.91.212.21)
- # [18:19] * Quits: jtcranmer (~jcranmer@ltsp2.csl.tjhsst.edu) (Ping timeout: 264 seconds)
- # [18:20] <Ms2ger> paul_irish, I'm not sure what parallel you're trying to draw?
- # [18:20] <zewt> because adding a return value that has minor benefit just because you're not currently using the return value means you can never, ever in the future use the return value to represent something very useful
- # [18:20] <rwaldron> You're implementing methods that "almost" match the API of several DOM libraries
- # [18:20] <rwaldron> except that you've left out a significant part and that will just cause more confusion.
- # [18:21] <Ms2ger> "Do what jquery does" is not an argument
- # [18:21] <ls_n> not just jQuery
- # [18:21] <danheberden> Wow, that was a quick mis-characterization of what rwaldron said
- # [18:21] <annevk> rwaldron: can't blame Ms2ger and I for the DOM... that was done way back; we just fixed a bunch of holes
- # [18:22] <annevk> anyway, gotta go
- # [18:22] <rwaldron> Ms2ger that's amusing.
- # [18:22] <paul_irish> i'm saying these new methods are introduced for the purpose of improving the usability of the DOM. I can guarantee you that developers would find a useful return value more intuitive
- # [18:22] <Ms2ger> You're clearly just trolling
- # [18:22] <rwaldron> paul_irish +1
- # [18:23] <zewt> (rwaldron: being rude is not going to convince anyone of much of anything)
- # [18:23] <rwaldron> Ms2ger I am absolutely not trolling
- # [18:23] <rwaldron> And I don't appreciate the name "name-calling"
- # [18:23] <danheberden> zewt, as someone mostly reading this conversation and not participating, I would hardly call rwaldron the rude one here
- # [18:24] <rwaldron> so far you've resorted to being unfairly dismissive and now to name calling.
- # [18:24] <rwaldron> I spoke up because I want a better DOM API
- # [18:24] <rwaldron> That's not trolling.
- # [18:24] <ls_n> From my review of the spec, I found it odd that the method names and intent seemed to be following popular library implementations, but without including a return value.
- # [18:24] <zewt> the addBefore/addAfter tend not to actually need chaining, since their pattern is e.addAfter(a, b, c); you don't need to say e.addAfter(a).addAfter(b).addAfter(c)
- # [18:24] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [18:25] <rwaldron> ls_n agreed, which is why I came to discuss
- # [18:25] * Joins: shwetank (~shwetank@cm-84.215.28.236.getinternet.no)
- # [18:25] <ls_n> If the spec had included a return value other than the calling node, I would have called that into question because there is precedence, but I could have been convinced.
- # [18:26] * Joins: jwalden (~waldo@2620:101:8003:200:f562:597b:7d05:ecf8)
- # [18:26] * SamB_MacG5 thinks it would be handy if the multi-page specs had auto-redirect pages, like epydoc makes: http://epydoc.sourceforge.net/faq.html#redirect
- # [18:26] <rwaldron> and all I've gotten in response is "yawn", some snide comments about jQuery and some misguided argument about fixing the issue in JS (ie. the language).
- # [18:26] <ls_n> Without a return value, it seems very confusing. Almost purposeful. Why not preserve least surprise, and follow precedence?
- # [18:27] <Ms2ger> Is there any reason it is "confusing" except for "it doesn't match jquery"?
- # [18:27] <rwaldron> ls_n before annevk left, he told me that having a return value doesn't match the rest of the platform
- # [18:27] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
- # [18:28] <ls_n> Ms2ger: fwiw, YUI also includes these methods, and also returns the calling node.
- # [18:28] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [18:28] * Joins: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [18:28] <Ms2ger> Let's take "jquery" as a shorthand for "jquery and other frameworks that look the same"
- # [18:28] <Ms2ger> if that makes you happy
- # [18:28] <SamB_MacG5> Ms2ger: if you take the name, well ...
- # [18:28] <ls_n> rwaldron: interesting. I wonder what the definition of "platform" is in that context. I'm thinking appendChild() has a return value.
- # [18:29] <Ms2ger> ls_n, appendChild() returns the argument, not the this value
- # [18:29] <ls_n> Ms2ger: I'm aware :) My point is that it returns something.
- # [18:30] <Ms2ger> Hah
- # [18:30] <SamB_MacG5> that doesn't sound like much of an argument
- # [18:30] <Ms2ger> Nobody claimed that returning something useful didn't match the rest of the patform
- # [18:30] <zewt> annevk obviously didn't say that DOM functions should never return anything at all, heh
- # [18:30] <Ms2ger> platform*
- # [18:30] <danheberden> Ms2ger: from a completely "read the statement" - you start with something, you do something to it, why did the thing go away?
- # [18:30] <danheberden> sorry, completely "read the statement" argument
- # [18:30] <zewt> (parse error, redo from start)
- # [18:30] <Ms2ger> So
- # [18:31] <danheberden> like - i think that while jQuery executed successfully, there is a natural tendency to expect that
- # [18:31] <rwaldron> Ms2ger as does Prototype (however, its use has significanlty diminished) and Dojo (which is widely used in the enterprise)
- # [18:31] <Ms2ger> Does anybody want to reply to my actual point instead of complaining about my use of "jquery"?
- # [18:32] <danheberden> Ms2ger: but youre combatting points with "because jQuery does it means nothing"
- # [18:32] * jwalden suspects this scrollback would be marginally interesting to read, fires up logs
- # [18:32] <SamB_MacG5> Ms2ger: isn't "gratuitous mismatch with libraries" enough?
- # [18:32] * Joins: say2joe (~say2joe@204.56.108.2)
- # [18:33] <ls_n> appendChild() would be less useful if it didn't return something. If it returned the calling node, it would still be useful. Whether more or less useful than returning the argument is debatable, but not the point. There is utility there. There is less utility without a return value.
- # [18:33] <Ms2ger> SamB_MacG5, I was asking for a point besides that
- # [18:33] <zewt> SamB_MacG5: no, "we should do it because libraries do it" is not an argument at all
- # [18:33] <rwaldron> Ms2ger my response is this: devs use libraries because the DOM APIs are awful. Regardless of the libary, they all share common behaviours and returning the this value is one of them.
- # [18:34] <SamB_MacG5> zewt: not a strong argument, I'll grant
- # [18:34] <Ms2ger> That's not an answer to my question
- # [18:34] <danheberden> And how _else_ would you characterizing people's wants besides their use of these libraries?
- # [18:34] <Ms2ger> Let me try again
- # [18:34] <rwaldron> These new mutation methods will not ease any DOM API pain points
- # [18:34] <zewt> ls_n: as I already said, functions should *not* be given a return value soley for the sake of having a return value; it needs to have enough value to *commit* that return value to that purpose for all time
- # [18:34] <SamB_MacG5> but if you haven't got anything *better* to do ...
- # [18:34] <danheberden> there is no big online survey of "how do you want the dom to work"
- # [18:34] <danheberden> you look at library useage
- # [18:34] <zewt> using the return value for something of value 0.1 means you can never use it to support a use case that appears a year from now with value 5.0
- # [18:34] <Ms2ger> Is there any reason that not returning the this value is "confusing" except for "it doesn't match a number of JS libraries"?
- # [18:34] <zewt> you're stuck with the 0.1 forever
- # [18:35] <SamB_MacG5> zewt: okay, that's an argument
- # [18:35] <ls_n> zewt: A fair point, but fear of the future in the face of current usage with developers expectating a return value seems silly.
- # [18:35] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson_)
- # [18:35] <rwaldron> zewt but... the current API is the problem
- # [18:36] <rwaldron> library adoption over DOM API seems to indicate displeasure with the way it was originally done, in favor of what we are explaining
- # [18:36] <danheberden> My addition, Ms2ger, was that JS devs get the idea that "i have something, then i call something on it" and naturally expect that 'something' to be there again
- # [18:36] <danheberden> that there is a natural inclination, in addition to library buy-in
- # [18:36] <zewt> ls_n: can't say I agree with the premise; I expect functions to do what they're documented as doing
- # [18:37] * Joins: hasather_ (~hasather_@cm-84.208.71.130.getinternet.no)
- # [18:37] <SamB_MacG5> zewt: probably best not to steal the names the libraries have been using, then ?
- # [18:37] <danheberden> and that "it doesn't match a number of JS libraries" might indeed be the only big reason, albeit a very big reason/indicator
- # [18:37] <SamB_MacG5> otherwise, the users are liable to read the wrong documentation
- # [18:38] * jwalden never understood returning-this behavior, versus just naming the same variable a second time, which is inarguably clearer as it requires no knowledge of the return type of the method that's being called
- # [18:38] <zewt> rwaldron: that's merely saying "we should arbitrarily mimic jquery because people use jquery" and could be applied to any aspect of the library
- # [18:38] <SamB_MacG5> jwalden: well, the one problem with that is that you have to actually name a variable in the first place
- # [18:39] <zewt> SamB_MacG5: as long as it doesn't result in weird, contrived or hard to type function names, i don't mind trying to use different names, no
- # [18:39] <rwaldron> Ms2ger if the method is "setting" (which includes mutation of subtrees, etc) the this value should be returned. If the method is "getting" (eg. an attribute value by name) then return the value of thing we're requesting. I don't understand what is so hard about this. cc zewt
- # [18:39] <jwalden> SamB_MacG5: I don't believe that's a problem, only if you buy into the jquery mindset of chaining method-call upon method-call in the first place
- # [18:39] <jwalden> SamB_MacG5: it kind of begs the question
- # [18:39] <danheberden> rwaldron: you could also add 'creating' to that list
- # [18:39] <SamB_MacG5> jwalden: well, I didn't say it was a *big* problem
- # [18:40] <Ms2ger> rwaldron, nothing hard about "how it works", only about "why it's useless"
- # [18:40] <rwaldron> danheberden +1
- # [18:40] <Ms2ger> Sorry, useful*
- # [18:40] <zewt> (rwaldron: you're repeating yourself and ignoring the responses, so unless you have something new to say I'm not going to repeat responses :)
- # [18:40] <SamB_MacG5> but I must admit sometimes I have trouble naming my variables :-)
- # [18:40] <danheberden> zewt, i'll bite - there are known problems with how jQuery's API is - rather, some outstanding bugs of people saying they'd like certain api methods to work
- # [18:41] <danheberden> and we're backed into a corner because it's existing stuff or we want to match the dom
- # [18:41] * jwalden sees naming variables as a quite-useful form of documentation, all the more for being an actual part of the code, so less apt to bitrotting
- # [18:41] <ls_n> So this argument boils down to a disagreement in the value of returning this?
- # [18:41] <danheberden> however, this concept - of return values - people like
- # [18:41] <danheberden> people comment on how helpful it is
- # [18:41] <danheberden> or how unhelpful it is that the DOM doesn't do that
- # [18:41] <zewt> SamB_MacG5: again the chaining pattern tends to be built around eg. "add this one element", but when you're able to pass a list of items to add, a lot of that goes away
- # [18:41] <danheberden> so taking a huge number of developers that _choose_ to use jQ's API in to consideration seems worth something, ya?
- # [18:42] * Joins: cabanier (~cabanier@192.150.22.55)
- # [18:43] <zewt> (danheberden: <zewt> rwaldron: that's merely saying "we should arbitrarily mimic jquery because people use jquery" and could be applied to any aspect of the library)
- # [18:43] <Ms2ger> danheberden, jquery has its advantages
- # [18:43] <danheberden> but no one is saying we should arbitrarily mimic jquery
- # [18:43] <danheberden> except you two
- # [18:43] <Ms2ger> Papering over browser differences, say
- # [18:43] <danheberden> instead of replying to points, you mis-characterize the argument
- # [18:43] <zewt> that's exactly what you just said--"lots of people choose to use jquery, and that's an argument for doing this one particular thing in jquery's way"
- # [18:43] <Ms2ger> I think that's a bigger reason that people would use it than just the chaining
- # [18:44] <danheberden> zewt - THAT PARTICULAR feature
- # [18:44] <jwalden> this late in the game, fighting against long-standing DOM precedent, consistency with the rest of the DOM seems the right thing, and let libraries do their thing however they want it as they always do
- # [18:44] <rwaldron> In addition to danheberden's argument about taking developer preference into consideration, I'd also like to share some third party statistics: http://trends.builtwith.com/javascript
- # [18:44] <danheberden> i'm talking about the return value
- # [18:44] <zewt> no, we've replied to many points; i suspect you're not paying attention
- # [18:44] <danheberden> zewt - i've agreed with some, i think, so perhaps i should add a +1 in reply if i don't have an argument
- # [18:45] <rwaldron> zewt sure, I'll bite... ready? Here goes...
- # [18:45] <ls_n> zewt: There are many differences between DOM libraries. If they all, or even mostly, agree on a set of methods to improve the experience of working with the DOM, that's not mimicking jQuery, that's codifying accepted convention.
- # [18:46] <zewt> anyway, HTML API design is based around technical arguments, not statistics and +1s and "look how many people use jquery"; i can recall no technical arguments being given for this at all, so i'm going to go and do my day job unless one turns up
- # [18:46] <rwaldron> Developers that build real things on the real web prefer library APIs, such as jQuery, YUI, Dojo, etc. as such, the API decisions of those libraries should be taken into consideration when new DOM APIs are created.
- # [18:46] <danheberden> zewt, you're aware that these "people" are the ones using these APIs, ya?
- # [18:46] <zewt> i use these APIs every day
- # [18:46] <danheberden> and the technical arguments don't have to use the APIs daily?
- # [18:47] <danheberden> and you wouldn't like them at all easier to use?
- # [18:47] <zewt> returning "this" doesn't make them easier to use
- # [18:47] <Ms2ger> danheberden, sure, I want them to be easier to use
- # [18:47] <danheberden> or because YOU'VE used them and like them means the other thousand people should too
- # [18:47] <zewt> not significantly enough to commit the return value to it forever
- # [18:47] * Joins: jtcranmer (~jcranmer@ltsp2.csl.tjhsst.edu)
- # [18:47] <danheberden> cuz zewt, personally, i agree with you
- # [18:47] <Ms2ger> I've been trying to get people to explain why returning "this" would make them easier to use
- # [18:47] <Ms2ger> I haven't heard anything
- # [18:47] <danheberden> i am so used to how it works it doesn't bother me
- # [18:48] <danheberden> but i see the need for many others
- # [18:48] <danheberden> mainly because i work support a lot
- # [18:48] <danheberden> so i get a sense of that
- # [18:48] <danheberden> i do trainings and deal with a lot of typical developers
- # [18:49] <danheberden> Ms2ger: what kind of metrics _would_ be helpful?
- # [18:49] <danheberden> like - what way could we get an idea of buy-in from people that would satisfy you?
- # [18:49] <Ms2ger> I don't care much about "buy-in"
- # [18:49] * Parts: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
- # [18:49] <danheberden> perhaps i'm not using the right word
- # [18:50] <danheberden> i'm meaning if people would find it useful
- # [18:50] <danheberden> how to track/measure that
- # [18:50] <zewt> it seems clear to me that having a few functions return this, and most (eg. the legacy ones) return nothing or (in the case of appendChild) its argument, both makes the chaining pattern much less useful and very brittle and confusing
- # [18:50] <Ms2ger> I'm looking for someone to explain why people would find it useful
- # [18:50] <danheberden> like if i asked all of my students in a training, and had my coworkers do the same
- # [18:50] <rwaldron> zewt... technical argument: ES1, 3, 5, 5.1 and 6 (draft) have set a precendent for objects whose prototype methods return either a specific value that is relevant to or the result of an operation on the calling object, or a newly created copy of the calling object itself, which allows further calls to be "chained"
- # [18:51] * Quits: niloy (~niloy@61.12.96.242) (Ping timeout: 246 seconds)
- # [18:51] * Joins: sicking (~chatzilla@nat/mozilla/x-evxlcsxlgfbxskft)
- # [18:51] <Ms2ger> rwaldron, want to give a few examples?
- # [18:52] <rwaldron> the DOM has deviated for a long time and users of DOM APIs have been "fixing" it for a decade.
- # [18:52] <jwalden> rwaldron: what precedents can you name for chaining in ECMAScript? I can think of exactly one
- # [18:52] <jwalden> rwaldron: (in the language, I mean)
- # [18:52] <zewt> the argument i'm looking for is "here's a thing which is made so much easier or less error-prone that it justifies committing the return value to this--and nothing else--even if it's inconsistent with lots of other functions that do related things"
- # [18:52] <danheberden> Ms2ger: as for the personal why, i've had people express their displeasure at it NOT returning `this`; i can try to gain more insight as to the motivation behind that
- # [18:53] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [18:53] <rwaldron> Ms2ger yes. Array.prototype.push returns a relevant value: the new length. Array.prototype.map returns a newly created array object with the values of the map operation
- # [18:53] <Ms2ger> danheberden, I would appreciate that
- # [18:53] <rwaldron> need more?
- # [18:53] * Quits: darobin (~darobin@spintank2-160-134.cnt.nerim.net) (Ping timeout: 264 seconds)
- # [18:53] <rwaldron> There is a whole spec full of examples.
- # [18:53] <Ms2ger> rwaldron, I think you misunderstood my question
- # [18:53] <zewt> rwaldron: what? the new length isn't "this", it's the new length
- # [18:54] <Ms2ger> rwaldron, I'm looking for cases where ES returns the this value
- # [18:54] <zewt> (and precedent isn't an argument that something should be done, it just means it has been)
- # [18:54] <jwalden> rwaldron: [].map is not an example of chaining, it's an example of a function with a return value, no?
- # [18:54] <rwaldron> zewt read my previous message before trying to argue something that I _just_ said
- # [18:54] <jwalden> rwaldron: the only example I can come up with is [].sort, for a method that chains but doesn't return a new value/object
- # [18:54] <Ms2ger> rwaldron, sorry, I misunderstood you
- # [18:55] <rwaldron> [12:40 PM] <rwaldron> zewt... technical argument: ES1, 3, 5, 5.1 and 6 (draft) have set a precendent for objects whose prototype methods return either a specific value that is relevant to or the result of an operation on the calling object, or a newly created copy of the calling object itself, which allows further calls to be "chained"
- # [18:55] <Ms2ger> rwaldron, I'm just not sure how that is relevant, then
- # [18:55] <rwaldron> jwalden push?
- # [18:55] <rwaldron> sorry, no
- # [18:55] <rwaldron> strike that
- # [18:55] <Ms2ger> rwaldron, I think we're all in violent agreement that there is a point to returning a useful value
- # [18:55] <rwaldron> (I missed the part where you said "chains but doesn't"
- # [18:56] <rwaldron> Ms2ger agreed.
- # [18:56] <rwaldron> But I argue that returning void 0/undefined is not doing anyone any favors
- # [18:56] <Ms2ger> Phew, we agreed on something ;)
- # [18:56] <rwaldron> +1
- # [18:56] <danheberden> Ms2ger: lol
- # [18:57] * Joins: pablof (~pablof@144.189.150.130)
- # [18:57] <danheberden> Ms2ger: what dangers do you think are present in returning `this` instead of undefined?
- # [18:57] <Ms2ger> I guess I don't really see the value of returning 'this' in a few cases where we would otherwise return undefined
- # [18:57] <danheberden> what bad issues or problems would arrise from that?
- # [18:57] <zewt> danheberden: i've already explained that repeatedly :)
- # [18:57] <Ms2ger> One is that you can't return anything else
- # [18:58] <zewt> <zewt> using the return value for something of value 0.1 means you can never use it to support a use case that appears a year from now with value 5.0
- # [18:58] <Ms2ger> Another is that you still need to remember which methods return something useful, and which return this
- # [18:58] <danheberden> zewt, so if addEventListener, after all these years, was going to support a different return value
- # [18:58] <Ms2ger> I think what would be more useful is a JS feature to call multiple functions on one object
- # [18:59] <zewt> if the value of returning "this" is 5.0--if it's a significant, measurable win--then sure; but "we should return *something*, so it may as well be this" is a bad idea
- # [18:59] <danheberden> zewt - it's more, like, "this function has no useful return value except for the original element"
- # [18:59] <zewt> danheberden: you're confusing foresight with hindsight: when addEventListener was first implemented, there was no way of knowing whether some other return value would have turned up
- # [19:00] <danheberden> zewt, i'm saying take advantage of that hindsight
- # [19:00] <ls_n> zewt: So the number of years that libraries have been using these methods, returning 'this', and not running into any major use case that would have been so much better than returning 'this' is not evidence? What would a reasonable wait time be?
- # [19:00] * abstractj is now known as abstractj|lunch
- # [19:01] <Ms2ger> ls_n, who says they haven't found (even not particularly big) such use cases?
- # [19:01] <danheberden> zewt, i *do* understand your point
- # [19:01] <danheberden> and it's a good one
- # [19:01] <zewt> ls_n: it's not about "wait time", it's about adding a feature when there's a clear, measurable win, and that's exactly what nobody is giving--examples of things which are made measurably easier or less error-prone by doing this
- # [19:01] <Ms2ger> It's not like they could have implemented those
- # [19:01] <danheberden> i don't think this shoudl all be tackled super lightly
- # [19:02] <rwaldron> zewt Ms2ger I'm worried that the "avoid future hostility" argument is actually going to end up turning this into a lost opportunity (purely opinion)
- # [19:02] <danheberden> but i think there are some cases where one could ascertain whether or not returning this would be a safe future proof change
- # [19:02] <rwaldron> :|
- # [19:02] <Ms2ger> rwaldron, possibly
- # [19:02] <danheberden> and honestly, with this argument, you would NEVER change the return value from undefinded to something
- # [19:02] <danheberden> because of the fear you'd need that return value in the future
- # [19:02] <Ms2ger> danheberden, why not? Because something *even better* could come along?
- # [19:03] <danheberden> i do that too - i buy a really tasty snack and wait for the best time to eat it.. but in the end, it just goes bad
- # [19:03] <danheberden> because i waited and waited
- # [19:03] <zewt> danheberden: of course you would--when you have a clear benefit for doing so, just like adding any feature. that benefit isn't clear (at least to us) in this case
- # [19:03] <danheberden> zewt - so perhaps the question isn't as much of 'should we' or 'shouldn't we'
- # [19:03] <danheberden> but how can we gather the information necessary to make this decision
- # [19:04] * jwalden doesn't think the "we might want to return something in the future" argument has much value here -- either there's an obvious return value, or there's nothing, and thinking something might turn up in the distant future seems unrealistic
- # [19:04] <ls_n> Ms2ger: what inconveniences people have come across have been inconveniences. At least, speaking from the YUI side of things. At the end of the day, if these methods are implemented without return value, then the libraries will call them, then return 'this' manually. It will still just be an inconvenience.
- # [19:04] <danheberden> jwalden i think it has some merit, for a period of time at least
- # [19:04] <SamB_MacG5> I think the "we might want to return something" argument should be judged based on what you could reasonably return
- # [19:04] <jwalden> danheberden: plausible, depending on the API I guess
- # [19:04] <danheberden> i think libraries like jQuery give an oppurtunity to see if stuff is garbage or not
- # [19:04] * Joins: ralphholzmann (~ralphholz@li533-65.members.linode.com)
- # [19:05] <jwalden> for most APIs it's kind of a stretch
- # [19:05] <danheberden> i mean, look at jQ - `.click and .mouseover` - seriously?
- # [19:05] <danheberden> we learned that kind of stuff is awful
- # [19:05] * Joins: jernoble (~jernoble@17.212.152.13)
- # [19:06] <zewt> and again, inconsistently returning "this" is confusing--for example, e.addBefore(e2).appendChild(e3).addBefore(e4) is very confusing, since appendChild returns e3, not e
- # [19:06] <SamB_MacG5> I'm guessing most methods have a three or less reasonable, non-vacuous return values
- # [19:06] <SamB_MacG5> s/a /
- # [19:07] <SamB_MacG5> zewt: yes, agreed
- # [19:07] <ls_n> zewt: yes is it
- # [19:07] <danheberden> (i have a call to take, my non-response isn't grumpy silence :)
- # [19:08] <jwalden> danheberden: fine, then, be that way
- # [19:08] <jwalden> ;-)
- # [19:08] <ls_n> would e.appendChild(e2).append(e3).boom() be less confusing?
- # [19:08] <zewt> anyhow i'm out of time for now--day job and all--so afk
- # [19:08] <jgraham> It would be nicer if js made it easier to write a function like chain(elem, appendChild(e1), appendChild(e2), appendChild(e3)) and so on
- # [19:08] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [19:09] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [19:09] <jgraham> Rather than forcing each function to return this or not work with chaining
- # [19:09] <Ms2ger> ^ that
- # [19:09] * Joins: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net)
- # [19:10] <Hixie> annevk: extending the legal url syntax lgtm
- # [19:10] <Hixie> annevk: do you have a plan for how to specify the authoring conformance criteria?
- # [19:12] <annevk> Hixie: not really, wanted to figure out browser stuff first
- # [19:12] <Hixie> k
- # [19:12] <annevk> Hixie: but I guess in the end I'll just take inspiration from one of your specs
- # [19:13] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Read error: Connection reset by peer)
- # [19:13] <Hixie> heh
- # [19:13] * Joins: mattgiff_ (~mattgiffo@108.161.20.199)
- # [19:13] <annevk> Hixie: that's what I usually do anyway, look for some existing pattern
- # [19:14] <Hixie> well there's several options on this front even just amongst stuff i've done :-)
- # [19:14] <Hixie> in particular, BNF variants and straight prose
- # [19:17] <annevk> rwaldron: """and all I've gotten in response is "yawn", some snide comments about jQuery and some misguided argument about fixing the issue in JS (ie. the language). """ dude, I tried to explain where I came from
- # [19:17] * Quits: drublic (~drublic@p5098a42b.dip0.t-ipconnect.de) (Remote host closed the connection)
- # [19:17] * Quits: jacobolus (~jacobolus@76.91.212.21) (Remote host closed the connection)
- # [19:17] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Quit: http://mhausenblas.info/#i says TTYL)
- # [19:17] <annevk> rwaldron: up to and including that I'm fine with changing it, if we have some kind of plan
- # [19:17] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
- # [19:17] * Quits: mattgiff_ (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [19:18] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [19:19] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Ping timeout: 265 seconds)
- # [19:19] <annevk> rwaldron: thus far it's like "can we do x?" "well, most of y doesn't do x at the moment and although we could try it, it seems kind of irresponsible without a plan for y" "..."
- # [19:19] <rwaldron> annevk I wasn't referring my discussion with you
- # [19:20] <rwaldron> annevk while you were away I provided several arguments beyond simply "can we do x?"
- # [19:20] <annevk> I think Ms2ger is arguing the same point, but not as constructive and friendly unfortunately
- # [19:21] <rwaldron> Ms2ger and I actually both agree that returning something is better then nothing
- # [19:22] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [19:22] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 256 seconds)
- # [19:23] <rwaldron> I'm stepping out for a few
- # [19:23] <annevk> that's not what he agreed to
- # [19:23] <annevk> see e.g. "I guess I don't really see the value of returning 'this' in a few cases where we would otherwise return undefined "
- # [19:23] <annevk> but yeah, my point was in particular that the platform does not return "this"
- # [19:24] <annevk> I don't know such APIs anyway
- # [19:24] <rwaldron> annevk [12:45 PM] <Ms2ger> rwaldron, I think we're all in violent agreement that there is a point to returning a useful value
- # [19:24] <annevk> right
- # [19:24] <annevk> but he's not convinced (like me) "this" is useful
- # [19:24] <annevk> furthermore, nowhere in the platform is this returned
- # [19:25] <rwaldron> This is really frustrating
- # [19:25] <annevk> and fwiw, platform is http://platform.html5.org/ of course
- # [19:25] * Joins: BennyLava` (~colin@53518387.cm-6-2c.dynamic.ziggo.nl)
- # [19:25] * Quits: BennyLava` (~colin@53518387.cm-6-2c.dynamic.ziggo.nl) (Changing host)
- # [19:25] * Joins: BennyLava` (~colin@pdpc/supporter/professional/riven)
- # [19:25] * Joins: othermaciej (~mjs@17.245.111.37)
- # [19:25] <rwaldron> at no point did i say that ms2ger had agreed to returning this
- # [19:25] <rwaldron> I'm not even sure how you came to that based on what I jsut said
- # [19:26] <annevk> because you said he thought something is better than nothing
- # [19:26] <annevk> which is not what he said
- # [19:26] <rwaldron> dude
- # [19:26] <rwaldron> wtf
- # [19:26] <rwaldron> [12:45 PM] <Ms2ger> rwaldron, I think we're all in violent agreement that there is a point to returning a useful value
- # [19:26] <rwaldron> [12:45 PM] <rwaldron> (I missed the part where you said "chains but doesn't"
- # [19:26] <rwaldron> [12:45 PM] <rwaldron> Ms2ger agreed.
- # [19:26] <rwaldron> [12:46 PM] <rwaldron> But I argue that returning void 0/undefined is not doing anyone any favors
- # [19:26] <rwaldron> [12:46 PM] <Ms2ger> Phew, we agreed on something ;)
- # [19:26] <rwaldron> [12:46 PM] <rwaldron> +1
- # [19:27] <rwaldron> I hate to leave while we're having so much, but I actually have to step out for an appointment
- # [19:27] <annevk> returning a useful value does not mean that returning something is better than nothing
- # [19:27] <zewt> ... he was agreeing with the first line (returning something useful is useful), not that returning undefined is bad
- # [19:28] <annevk> right
- # [19:28] * Quits: BennyLava (~colin@pdpc/supporter/professional/riven) (Ping timeout: 256 seconds)
- # [19:28] <rwaldron> Cool, well don't sweat it.
- # [19:28] <annevk> rwaldron: ttyl then
- # [19:29] <rwaldron> I'm actually not interested in participating in this discussion anymore
- # [19:29] <rwaldron> Good luck with further development, I wish you nothing but success.
- # [19:30] <annevk> rwaldron: that's unfortunate; I hope you'll still contribute to other discussions
- # [19:30] * Joins: danbri_ (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [19:31] * Quits: pablof (~pablof@144.189.150.130) (Ping timeout: 250 seconds)
- # [19:31] * Joins: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be)
- # [19:31] * Joins: danbri__ (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [19:32] * Quits: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Ping timeout: 252 seconds)
- # [19:33] * Joins: dgathright (~dgathrigh@nat/yahoo/x-ewbneagxvemxltwe)
- # [19:34] * Joins: pablof (~pablof@144.189.150.130)
- # [19:35] * Quits: danbri_ (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Ping timeout: 256 seconds)
- # [19:37] <annevk> I had not expected people would actually call Array.prototype.push "chaining" as well
- # [19:37] <annevk> I thought "chaining" was reserved for methods that return "this"
- # [19:38] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Quit: http://mhausenblas.info/#i says TTYL)
- # [19:38] * Quits: jamesr (~jamesr@173-164-251-190-SFBA.hfc.comcastbusiness.net) (Quit: jamesr)
- # [19:38] <Hixie> annevk: ho does Array push() chain?
- # [19:38] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [19:39] <Hixie> heycam|away: you following this Location thread on whatwg?
- # [19:39] <annevk> Hixie: because it returns something on which you can do an operation reportedly
- # [19:39] <ls_n> it's not chaining
- # [19:39] <Hixie> every function that returns anything is chaining then?
- # [19:39] <Hixie> o_O
- # [19:40] <zewt> that was just one of many confusions in that discussion, heh
- # [19:40] <ls_n> well, maybe this is semantics...
- # [19:40] <annevk> or maybe I parsed http://krijnhoetmer.nl/irc-logs/whatwg/20120925#l-975 and subsequent lines incorrectly
- # [19:41] <ls_n> "chaining" == `return this` vs "returns object" vs ?
- # [19:41] <Ms2ger> ls_n, I understood it to mean `return this`
- # [19:41] <annevk> ls_n: dunno man, I thought it was about returning the object you invoked the method on
- # [19:42] <Hixie> yeah, me too
- # [19:42] * Quits: SimonSapin (~simon@2a01:e35:2e8d:b5f0:24ef:db19:73df:6e01) (Ping timeout: 246 seconds)
- # [19:42] <Hixie> imho chaining is a layering violation, taking what should be a syntactic issue and dragging it into the api layer
- # [19:42] <ls_n> Yeah, I can see it either way, because you're chaining operations through the return value, regardless of whether it's 'this'
- # [19:43] * Joins: ap (~ap@2620:149:4:1b01:808c:e015:ab04:503d)
- # [19:43] <Ms2ger> abarth, so the html test suite currently splits submitted tests by person/organization that submitted them, any preference where those location tests should go?
- # [19:43] <zewt> annevk: ms2 asked for "examples" (implied: of things in ES that return the calling object), but was taken literally and received examples of random-not-chaining-at-all return values
- # [19:44] <Hixie> bbiab
- # [19:44] <annevk> zewt: so are there examples for "this"?
- # [19:44] <zewt> annevk: (also, though the ES quote thing wasn't relevant, it also says "a newly created copy of the calling object itself"--which isn't chaining at all when applied to something like a DOM node)
- # [19:45] <zewt> annevk: dunno; i don't think it matters (precedent isn't an argument)
- # [19:45] <zewt> (or I sure hope it isn't, we have mountains of really bad precedent in the older APIs :)
- # [19:45] <Ms2ger> I think jwalden had one
- # [19:46] <zewt> (in case the above wasn't clear--that ES line would mean returning this.cloneNode(), not this)
- # [19:46] <jwalden> annevk: Array.prototype.sort returns this; that's the only example I can think of
- # [19:47] * jwalden has no idea why it returns this
- # [19:47] <annevk> jwalden: interesting
- # [19:47] <Ms2ger> jwalden, arr.sort().sort() // Just making sure
- # [19:47] <zewt> well, sorting multiple times is useful
- # [19:47] * jwalden took advantage of that when constructing XSS exploits against the original Facebook platform, back five years ago, by applying sort to the global object :-)
- # [19:47] <zewt> (with different orderings)
- # [19:47] <annevk> zewt: I think precedents matter, because the lack of the platform doing it now is one of the arguments I use
- # [19:48] <ls_n> jwalden: prior to forEach, I never found it practically useful.
- # [19:48] <zewt> annevk: i think that's sort of halfway right
- # [19:48] <Ms2ger> zewt, fair :)
- # [19:48] * jwalden thinks lack-of-platform-doing-it-now is the strongest argument against suddenly doing it now for new methods
- # [19:48] <zewt> annevk: it's not exactly precedent, so much as that the chaining paradigm only works well when it's supported consistently
- # [19:49] <zewt> eg. we don't want two or three functions that do it (precedent), we'd want to be able to do it everywhere to satisfy that
- # [19:49] <annevk> well yeah, my other argument is that I want to see some kind of plan rather than "lets do this here and see what happens" (sicking argues for that)
- # [19:50] <zewt> personally i write lots of code without jQuery or any other monolithic library at all and have never gone "man, I wish I could chain these calls", which is my own basic rationale :)
- # [19:50] <annevk> and Hixie's point about solving it elsewhere I like too, because then I don't have to worry
- # [19:50] <jwalden> heh
- # [19:50] * Joins: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [19:50] <ls_n> annevk: I think a great deal of the feedback is attached to the names. These same methods exist, and behave consistently in libs. If you'd chosen different names, there might have been less reaction.
- # [19:51] <zewt> (i'm less enthusiastic about the language-level solution, since that's really hard to do in a sane way--adding new syntax to JS means you can't use it *at all* until it's widely supported, since the whole file will fail to parse)
- # [19:51] <annevk> ls_n: nah, this kind of feedback is relatively common also for non-lib methods
- # [19:51] <annevk> ls_n: e.g. the mutation observer stuff
- # [19:52] <zewt> (unless someone gets creative enough to find a way to avoid that, like the "use strict"; hack, but I doubt that'll happen)
- # [19:52] <jwalden> "use strict" was just a bad idea, given script concatenation
- # [19:52] <jwalden> c'est la vie
- # [19:53] <annevk> javascript folks should've learned from doctype switching, and didn't
- # [19:53] <zewt> (i've found it useful, but mostly as a linting thing and to aid my unit tests--until every browser supports it I'm not turning it on in live code)
- # [19:53] <annevk> but considering they were pretty far along with an out-of-band versioning strategy, maybe we're lucky :)
- # [19:54] * Joins: dsheets (~Adium@c-67-180-11-170.hsd1.ca.comcast.net)
- # [19:55] <annevk> brendan considers this different strategies for developing the platform a good thing, but I'm not sure I'm quite with him as the technologies do need to work together at the end of the day
- # [19:55] <ls_n> There's attachment to the familiarity of appendChild() returning a node, and attachment to the existing behavior of append(str) in libs returning a node (though it is a different one).
- # [19:56] <jwalden> well, at this point tc39 is in theory all gung-ho about "no more language modes/versions", so there shouldn't be any more "use strict" mistakes, or even |use strict;| pragmas, or whatever
- # [19:56] <jwalden> new syntax will just break stuff, new editions will not break old code
- # [19:56] <annevk> jwalden: littlecalculist (iirc) is a great man
- # [19:57] <jwalden> :-)
- # [19:58] <jwalden> a little too much of the PL-theory propellerhead for me on rare occasion, but yeah
- # [19:58] <jwalden> and it takes all kinds anyway
- # [19:58] * Joins: auchenberg (~auchenber@176.222.239.226)
- # [19:58] * jwalden wouldn't want a committee of people like him :-)
- # [19:58] <jwalden> at least, not a whole committee of them
- # [19:58] <zewt> i don't really mind a bit of bumpiness for use strict, since some of the things it fixes are *really* annoying JS quirks (unintended globals being the most obvious; .freeze not causing exceptions is lame too, etc)
- # [19:58] * Quits: jarib (~jarib@unaffiliated/jarib) (Excess Flood)
- # [19:59] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [19:59] <zewt> but i'd call that a one-time thing :)
- # [19:59] <annevk> anyone from Google here? What are the best email addresses for Alex Russell and Erik Arvidsson? I have their @google.com addresses, but if there's something they actually read and reply to, might be nice
- # [19:59] <jwalden> a better rollout strategy for use-strict probably would have helped some; jslint and json2.js picking it up prematurely was a large part of the problem
- # [20:00] * Joins: jarib (~jarib@unaffiliated/jarib)
- # [20:00] <jwalden> even still, "backwards compatible" but not is just the worst of both worlds
- # [20:00] <annevk> in particular, I see arv is here, I'm looking for a reply to http://lists.w3.org/Archives/Public/www-dom/2012JulSep/0069.html
- # [20:01] * Parts: ls_n (~ls_n@c-98-246-32-40.hsd1.or.comcast.net)
- # [20:01] <zewt> jwalden: python 3's strategy is the worst of all worlds :) overlapping compatibility is much more copable
- # [20:02] * abstractj|lunch is now known as abstractj
- # [20:02] * jwalden is ambivalent about python 3's strategy
- # [20:02] * zewt isn't
- # [20:02] <jwalden> although I am perfectly happy to say it would not at all at all at all work for the web :-)
- # [20:02] <jwalden> diff'rent strokes, perhaps
- # [20:03] <zewt> python 3.0 released in dec 2008; it's 2012 and I'm still on 2.7. migration failed :)
- # [20:03] * Quits: auchenberg (~auchenber@176.222.239.226) (Ping timeout: 264 seconds)
- # [20:03] <jwalden> if they were aiming for a less-than-four-years transition
- # [20:04] <jwalden> python's always been a with-all-deliberate-speed sort of group
- # [20:04] * jgraham expects python 3 transition to work eventually
- # [20:04] <jwalden> I think as long as they get there eventually, they're more or less happy
- # [20:04] <jwalden> yeah
- # [20:04] * Joins: jacobolus (~jacobolus@76.91.212.21)
- # [20:04] <jwalden> expecting a turnaround by some particular time, or aiming for one, is setting oneself up for disappointment
- # [20:05] <jwalden> and I've seen enough signs from people that they're slowly working on the transition that I don't think it can be said to have failed, right now
- # [20:05] <zewt> much saner to make breaking changes slowly, and to keep reasonable compatibility overlap between adjacent versions, instead of making a ton of big breaking changes at once, which just seemed like they got impatient
- # [20:05] <jwalden> signs from people, and from projects implemented in python, that is
- # [20:08] * Joins: rgrove (~rgrove@c-76-105-195-76.hsd1.or.comcast.net)
- # [20:10] <Ms2ger> I've seen work on py3 compat in Mozilla's new python code, fwiw
- # [20:12] * Joins: a-ja (~chatzilla@70.230.163.14)
- # [20:21] * Joins: danbri (~danbri@cable-146-255-148-108.dynamic.telemach.ba)
- # [20:24] * Quits: danbri__ (~danbri@cable-146-255-148-108.dynamic.telemach.ba) (Ping timeout: 256 seconds)
- # [20:26] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson_)
- # [20:27] * Joins: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net)
- # [20:35] * Quits: shwetank (~shwetank@cm-84.215.28.236.getinternet.no) (Quit: Leaving...)
- # [20:36] <zewt> annevk: should path step 2 also set fregment to "#", like hierarchical does?
- # [20:39] * Quits: imrobert (~robert@139.62.84.187) (Read error: Operation timed out)
- # [20:39] <zewt> (don't know which is correct, just seems odd that they differ)
- # [20:39] * Parts: rgrove (~rgrove@c-76-105-195-76.hsd1.or.comcast.net)
- # [20:39] * Joins: sedovsek (~robert@89.142.255.129)
- # [20:47] <annevk> zewt: fixed
- # [20:53] * Quits: eric_carlson_ (~ericc@adsl-67-112-12-110.dsl.anhm01.pacbell.net) (Quit: eric_carlson_)
- # [20:53] <Hixie> "Your task is nontrivial"
- # [20:54] <Hixie> story of our lives
- # [20:54] * Quits: izhak (~izhak@188.244.176.232) (Ping timeout: 264 seconds)
- # [20:54] <zewt> "queue a nontrivial task"
- # [20:55] <zewt> (a big queue)
- # [20:57] <jgraham> It does sound like the end of the introduction to a badly translated text adventure, or something
- # [20:57] * Joins: smus (smus@nat/google/x-ncgrzilydnwrstpe)
- # [21:00] <Hixie> cabanier: is your work on adding blending etc to canvas covering things like adding blur effects?
- # [21:03] <annevk> Hixie: not sure if trolling, or just misunderstanding what he's on about
- # [21:04] <Hixie> pretty sure he's not trolling
- # [21:04] <Hixie> he's right that defining the conformance criteria is non-trivial
- # [21:04] <Hixie> but wrong if he thinks that's unusual :-)
- # [21:04] <Hixie> i think it's just the regular culture clash -- ietf and w3c often tend to shy away from fixing hard problems
- # [21:05] <Hixie> same with the shock that we might even consider doing something that we view as obsoleting an IETF STD
- # [21:05] <Hixie> whereas from our point of view, we're like, "look, we said it was broken years ago, we gave you a chance to fix it, now we've timed out and are doing it ourselves"
- # [21:06] <say2joe> hixie: Hooray to that.
- # [21:07] <annevk> I guess indeed it's the regular culture clash, but using "finding URLs in text" as an example as to why we need to restrict the syntax...
- # [21:08] <annevk> but I'm happy you took the time to explain that one
- # [21:08] <Hixie> finding urls in text is indeed something that is impossible if we consider any random string valid
- # [21:08] <Hixie> but (a) we don't, and (b) people don't want to find only valid URLs so that doesn't matter anyway
- # [21:09] * Joins: rniwa (rniwa@nat/google/x-neszosacgypvrujj)
- # [21:09] <Hixie> it's pretty common for people to will the use case to be different because the real use case is hard to fix :-P
- # [21:09] <Hixie> (i do it all the time too :-P)
- # [21:09] <dsheets> annevk: your assertion that the composition of parsing, resolving, and canonicalizing is trivial points to the problem. Your task is not trivial so why should your algorithm be?
- # [21:10] <annevk> dsheets: hey!
- # [21:10] <zewt> when I saw the "why don't you just patch RFC#whatever" post I just grimaced, pitied whoever had to reply to that noise, and moved on :)
- # [21:10] <Hixie> we did patch the RFC
- # [21:10] <Hixie> didn't work well enough. anne's now doing it properly. :-)
- # [21:10] <zewt> exactly :)
- # [21:11] <annevk> dsheets: well, 1) I said "quite trivial" and 2) I guess it is indeed non-trivial, but it is rather easy to follow
- # [21:11] <Hixie> something can be non-trivial to design, yet be trivial in its result
- # [21:12] <Hixie> in fact, the more trivial the solution, typically, the harder one had to work to develop it :-P
- # [21:12] <Hixie> (all other things, e.g. how much the solution solves, being equal)
- # [21:12] <dsheets> annevk: I find it very difficult to follow. What are the allowable alphabets of conforming productions? What normalization is done? It's all mixed together in a prose state machine.
- # [21:12] <annevk> dsheets: and what I like about it in particular is that it is much closer to implementations, so if we want to extend it or implementations want to follow it to fix bugs, things will be a lot easier
- # [21:13] <annevk> dsheets: "c" can be any code point basically, including surrogate code points
- # [21:13] <annevk> dsheets: that's about it
- # [21:13] <Hixie> there's a definition of conforming productions?
- # [21:13] <annevk> nope
- # [21:13] <zewt> dsheets: do you really find IETF-style specs easier to follow than HTML-style algorithmic specs? because you'd be the first I've heard of
- # [21:13] <annevk> need to add that under "Writing" at some point
- # [21:13] * attiks|away is now known as attiks
- # [21:13] <Hixie> dsheets: he hasn't defined what's valid yet.
- # [21:14] <Hixie> zewt: lots of people think declarative is easier than imperative. They're right, when you don't care about defining timing and error handling.
- # [21:14] <Ms2ger> zewt, for authoring, sure
- # [21:14] <Hixie> zewt: see e.g. the websocket protocol hybi mailing list
- # [21:14] <Hixie> zewt: it's really hard to read complex algorithms and work out their implications.
- # [21:15] <zewt> Hixie: personally I find imperative easier even as a user--anne's DOM Events work made the event system infinitely clearer to me, for example
- # [21:15] <dsheets> zewt: for testing, yes
- # [21:15] <zewt> there's a breaking point, of course, depending on the complexity of the algorithm
- # [21:15] <Hixie> zewt: fair enough
- # [21:16] <annevk> dsheets: fwiw, I'm not opposed to including some ABNF somewhere
- # [21:16] * Joins: vikash (~vikash@1.186.9.182)
- # [21:16] * Quits: vikash (~vikash@1.186.9.182) (Changing host)
- # [21:16] * Joins: vikash (~vikash@unaffiliated/vikash)
- # [21:16] <annevk> dsheets: at the moment I'm focused on figuring out parsing (mostly what code browsers/curl/search engines/etc. need to run)
- # [21:17] * Joins: danzik171 (~danzik17@164.55.254.106)
- # [21:18] <dsheets> annevk: mixing parsing and normalization obscures the meaning of a given identifier. Separating the spec into phases and specifying exactly what will pass through unmangled would be very helpful.
- # [21:18] <Hixie> what is "normalisation" here?
- # [21:20] <dsheets> Hixie: producing identifiers over which serialize compose parse is identity
- # [21:20] <dsheets> Hixie: that is, nonconforming -> conforming
- # [21:20] * Joins: mkanat (mkanat@nat/google/x-iolyhqislniykzrq)
- # [21:21] * Quits: danzik17 (~danzik17@164.55.254.106) (Ping timeout: 264 seconds)
- # [21:21] <dsheets> Hixie: canonicalization is related, i believe, but concerns things like hexadecimal case changes where both input and output are conforming but one representation is 'canonical'
- # [21:21] <Hixie> dsheets: i have no idea what what you just said means
- # [21:22] <Hixie> dsheets: how does this differ from "parse"?
- # [21:22] <dsheets> Hixie: which bit? if you parse a conforming URI and then serialize it, the result should be the original URI
- # [21:23] <annevk> hmm; http://example.org is conforming yet gives http://example.org/; or http://example.org:/ gives http://example.org/
- # [21:24] <dsheets> Hixie: perhaps you say that there are conforming URIs that are not canonical and so the result is the canonicalization of the input… feeding this result back through should result in the same string
- # [21:24] <Hixie> dsheets: sounds like what you're saying is "normalisation" is the act of parsing then serialising.
- # [21:24] <Hixie> dsheets: so how could you separate it from parsing?
- # [21:24] <zewt> yeah. conforming and normalized are different things
- # [21:25] <dsheets> Hixie: normalization is whatever you do to produce a valid identifier from an arbitrary input
- # [21:25] <Hixie> dsheets: ok, so, parse then serialise.
- # [21:25] <dsheets> that is how you can test it, yes, but that is not the normalization algorithm
- # [21:25] <Hixie> dsheets: i guess i don't understand what you are asking for.
- # [21:26] <annevk> dsheets: it is in the new spec
- # [21:26] <Hixie> dsheets: the normalisation algorithm is "parse the string. serialise the bits into a url."
- # [21:26] <annevk> dsheets: and for sure parser/serialize is how a typical URL library works
- # [21:26] <Hixie> i don't see how else you could do it
- # [21:26] <dsheets> I am asking for the explicit separation of nonconforming -> conforming as well as conforming -> canonical
- # [21:27] <dsheets> http://www.example.com is conforming but noncanonical. http://www.example.com/ is canonical
- # [21:27] <zewt> to back up a little: what's the purpose of this?
- # [21:27] <annevk> sure, the former is input, the latter is output
- # [21:28] <annevk> that the former is conforming is yet to be written down
- # [21:28] <Hixie> dsheets: i don't think it makes sense to define two different parsers.
- # [21:28] <dsheets> If there are invalid inputs that produce valid outputs, those invalid inputs must undergo some sort of normalization to put them in the space of valid inputs
- # [21:28] <Hixie> dsheets: that would just be asking for them to end up out of sync.
- # [21:29] * Quits: henrikkok (~henrikkok@81.27.221.193) (Quit: Leaving.)
- # [21:29] <Hixie> dsheets: it's better not to think of inputs as valid or invalid
- # [21:29] <Hixie> dsheets: whether a URL is valid or not is really just a minor detail for authoring conformance/lint tools
- # [21:29] <dsheets> Hixie: how can they be out of sync? they compose
- # [21:29] <Hixie> dsheets: to help authors avoid likely mistakes
- # [21:30] * Quits: MacTed (~Thud@63.119.36.36) (Ping timeout: 245 seconds)
- # [21:30] <Hixie> dsheets: i don't see how you could describe a parser that only parses invalid urls and that then passes the result of that to a parser that only accepts valid urls, that would be insane
- # [21:30] <Hixie> dsheets: you'd actually need three parsers then, one for invalid urls, one for valid urls, and one for unknown urls to determine if they were valid or not!
- # [21:30] <annevk> it would be twice the work and nobody would ever implement it that way
- # [21:30] <Hixie> dsheets: just have one parser, it's cleaner
- # [21:31] <annevk> this argument is interesting though
- # [21:31] <annevk> because it's the exact same argument we got from the W3C TAG about the HTML parser
- # [21:31] <Hixie> dsheets: can you imagine what a mess HTML parsing would be if we used that kind of strategy?
- # [21:31] <annevk> nobody else ever cared
- # [21:31] <Hixie> annevk: really? i guess i blissfully missed that
- # [21:31] <Hixie> annevk: or i've blocked it out of my memory :-P
- # [21:32] * Quits: vikash (~vikash@unaffiliated/vikash) (Quit: Leaving)
- # [21:32] <dsheets> Hixie: not parsers, functions. You can compose all these functions in your parser and most implementations will.
- # [21:32] * Joins: MacTed (~Thud@63.119.36.36)
- # [21:32] <Hixie> dsheets: function, parser, same thing
- # [21:32] <annevk> Hixie: I quite clearly remember DanC and such wanting a parser just for valid stuff
- # [21:32] <Hixie> annevk: weird
- # [21:32] <Hixie> dsheets: s/parser/algorithm/ in my argument above, it still holds.
- # [21:33] <dsheets> Hixie: no. Every parser is a function but not every function is a parser. Parsers operate on strings.
- # [21:33] <Hixie> dsheets: that doesn't affect my argument
- # [21:33] <annevk> hsivonen: sad news: "Unicode 6.2 will include the accelerated publication of the character U+20BA TURKISH LIRA SIGN"
- # [21:34] * Quits: hasather_ (~hasather_@cm-84.208.71.130.getinternet.no) (Remote host closed the connection)
- # [21:35] <Hixie> imho, the right way to do this is to have one function that turns a string into components (parser), one that turns components into strings (serialiser), one that turns an incomplete set of components and a complete set of components into one complete set of components (resolution), and one that takes a string and returns a boolean (conformance definition)
- # [21:35] <dsheets> Hixie: Does it? Specifying the composition of these functions for different inputs makes the meaning of the spec much clearer. It is then obvious what inputs are 'safe', what inputs will be mangled, and what inputs will never be mangled.
- # [21:35] <Hixie> dsheets: defining what inputs are safe is done by defining "valid URL", which is an entirely separate problem.
- # [21:36] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [21:36] <Hixie> dsheets: in the HTML spec, this is http://whatwg.org/html#writing vs http://whatwg.org/html#parsing
- # [21:36] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [21:37] <dsheets> Hixie: it would appear that inside of the parser, you generate a valid URL. Why is this obscured?
- # [21:37] <annevk> Hixie: parser and resolution are merged in the current spec
- # [21:37] * Joins: jamesr (jamesr@nat/google/x-tdmswwgynocjaurq)
- # [21:37] <annevk> Hixie: I haven't written a serializer yet; though the API has various members that serialize URLs in various ways
- # [21:38] <annevk> Hixie: so I might not bother writing an explicit serializer
- # [21:38] <annevk> (never mind, I guess I should for HTTP and such)
- # [21:38] <Hixie> dsheets: i don't understand the question.
- # [21:39] <Hixie> annevk: i need a "parse" algorithm that returns components, and a "resolve" algorithm that returns an absolute url
- # [21:39] <annevk> Hixie: parse always returns an absolute URL
- # [21:39] <Hixie> annevk: how do i get the components?
- # [21:39] <dsheets> Hixie: Why specify only the composition instead of the factors?
- # [21:39] <annevk> Hixie: it returns a URL object that has components
- # [21:39] <Hixie> dsheets: i don't understand what that means
- # [21:40] <annevk> Hixie: but it's always a complete URL (or invalid)
- # [21:40] <Hixie> annevk: if it returns both an absolute URL and components, that's fine by me
- # [21:40] * jernoble is now known as jernoble|afk
- # [21:40] * jernoble|afk is now known as jernoble
- # [21:40] <annevk> Hixie: http://url.spec.whatwg.org/#concept-url is what you get back
- # [21:41] <annevk> Hixie: you parse an "input" into a concept-url, which has concept-url-scheme etc.
- # [21:41] <Hixie> annevk: k
- # [21:41] <Hixie> annevk: lgtm
- # [21:41] <dsheets> annevk: the base may be unknown or ambiguous. Can I defer relative resolution?
- # [21:42] <Hixie> just don't parse it until you need to resovle it
- # [21:43] <annevk> dsheets: hold the "input" until you have the base
- # [21:44] <TabAtkins> zcorpan: I sent email to WHATWG on *behalf* of the SVGWG, *because* we're adopting multi-letter commands. ^_^
- # [21:44] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Remote host closed the connection)
- # [21:45] <dsheets> Hixie: so no means will be provided to manipulate relative references? Relative references can never be serialized?
- # [21:45] * Joins: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com)
- # [21:45] <Hixie> dsheets: you shouldn't ask me, anne is the editor of this url spec
- # [21:45] <Hixie> dsheets: but i'm sure if you give anne use cases, he will be more than happy to address them
- # [21:46] <Hixie> dsheets: does anything on the web serialise relative urls?
- # [21:46] <dsheets> Hixie: anything that manipulates data structures which use relative references and outputs said data structures...
- # [21:46] <Hixie> dsheets: such as?
- # [21:47] <dsheets> Hixie: DOM transformers
- # [21:47] * Joins: jamesr_ (jamesr@nat/google/x-lqhzzbtlegckpsvl)
- # [21:47] <zewt> (how is it 2012 and gmail doesn't let you add filters to mark as spam?)
- # [21:47] <annevk> dsheets: and they manipulate URLs?
- # [21:48] <dsheets> annevk: sure, partial resolution of URLs is common
- # [21:48] <Hixie> dsheets: do you have an example i can look at?
- # [21:48] <Hixie> zewt: it does
- # [21:48] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
- # [21:49] <smaug____> paul_irish: ping
- # [21:49] <zewt> Hixie: lets you delete, and "never spam", but not "always spam"
- # [21:49] <annevk> dsheets: in any event, if we decide that we do want parsing and resolution separate, that's not really a big deal
- # [21:49] <zewt> i guess since the difference between deleted and spam is so opaque with gmail (if it affects filtering, I can't measure it), i may as well not care
- # [21:49] <Hixie> zewt: huh
- # [21:49] * Quits: zcorpan (~zcorpan@81-231-170-159-no135.tbcn.telia.com) (Ping timeout: 264 seconds)
- # [21:50] <TabAtkins> zewt: I think the intent is that you just mark it as spam normally, and let your filters catch up.
- # [21:50] <Hixie> zewt: i stand corrected.
- # [21:50] <paul_irish> smaug____: yessir
- # [21:50] <zewt> anyway, sorry for the distraction, didn't notice that you were still talking with ds :)
- # [21:50] <Hixie> zewt: i am capable of having multiple conversations at once :-P
- # [21:50] <TabAtkins> s/filters/normal spam filter/
- # [21:50] <Hixie> zewt: (whenever i'm chatting here i'm also editing the spec :-P)
- # [21:50] <dsheets> Hixie: not off-hand, no. You can't conceive of converting a relative path into an absolute path or a schemed URI into a scheme relative URI?
- # [21:51] <zewt> well, i try to limit random irrelevant drop-ins to when there isn't an on-topic discussion going on :)
- # [21:51] <Hixie> dsheets: if you have no concrete examples, i have no trouble saying we don't need to address it.
- # [21:51] <Hixie> dsheets: i have never found a need to do so, personally
- # [21:51] <smaug____> paul_irish: just curious, based on what is some test added to robohornet
- # [21:52] <dsheets> Hixie: really? I have done this numerous times in numerous languages. Absolutizing URI references is useful.
- # [21:52] <Hixie> dsheets: i'd be happy to look at concrete examples
- # [21:52] <Hixie> dsheets: resolving urls is certainly useful, and the algorithm anne is defining does so
- # [21:53] <smaug____> (the range API for example looks very odd, since it ends up adding element with same id 50 times to document)
- # [21:53] <Hixie> smaug____: sounds realistic :-P
- # [21:53] <dsheets> Hixie: you are stonewalling. Please address the technical consideration.
- # [21:54] <dsheets> Hixie: resolution and partial resolution are different
- # [21:54] <zewt> he's asking for use cases--what you actually want to do (or would want to do) that the proposed API and spec doesn't handle
- # [21:54] <smaug____> paul_irish: you probably also saw https://github.com/robohornet/robohornet/issues/66 . It means that some tests are actually testing something else than what they are supposed to test
- # [21:54] <smaug____> Hixie: sure :)
- # [21:54] <Hixie> dsheets: i'm not the editor, anne is the one who will address issues on this spec. I'm just trying to explain to you how we work.
- # [21:54] <paul_irish> smaug____: based on isolated performance issues that have been identified in a few notable js applications and libraries. they've been reduced down to a useful quantity of code
- # [21:54] <zewt> that isn't stonewalling, it's the standard approach here
- # [21:54] <Hixie> dsheets: and the way we work is we don't address hypotheticals
- # [21:54] <paul_irish> smaug____: yeah 66 looks legit.
- # [21:54] <Hixie> dsheets: if you have done it as many times as you say, then you need but document them for us
- # [21:55] <Hixie> dsheets: e.g. a pointer to a page that does it
- # [21:55] <dsheets> Hixie: resolving foo/bar against /baz/ into /baz/foo/bar
- # [21:55] <Hixie> dsheets: do you have an example of something that does that?
- # [21:55] <paul_irish> smaug____: benchmark.js seems to be the strongest harness for benchmarking, but yeah produces some problems with this test in partic
- # [21:56] <dsheets> Hixie: resolving #frag against path into path#frag
- # [21:56] <smaug____> paul_irish: I was looking at DOM Range test, because I know that code is probably the least optimized code in Gecko... but then the test is actually spending time everywhere else but in Range code
- # [21:56] <smaug____> paul_irish: "some" problems
- # [21:56] <Hixie> dsheets: do you have an example of something that does that?
- # [21:56] <smaug____> paul_irish: if you run the innerHTML testfile itself, it ends up testing innerHTML
- # [21:56] <paul_irish> yeah
- # [21:56] <Hixie> dsheets: it's easy to come up with arbitrary needs, but those aren't use cases
- # [21:56] <smaug____> if you use the testharness, it tests something else too
- # [21:57] <zewt> dsheets: the question isn't what it is (we get that--modifying relative paths as-is without resolving them), it's why you want to do it
- # [21:57] <Hixie> dsheets: use cases are concrete examples of actual problems met by real users
- # [21:57] <paul_irish> smaug____: really appreciate you, boris, kyle, others looking at these btw
- # [21:57] <paul_irish> yes
- # [21:57] <smaug____> paul_irish: anyhow, sounds like the usual problems with tests. Testing something else than one is supposed to test :)
- # [21:57] <annevk> dsheets: I have looked into this, and as far as http://platform.html5.org is concerned, only parsing input (maybe combined with a base URL) into a URL is what is visibly exposed
- # [21:58] <annevk> dsheets: and actually used
- # [21:58] <dsheets> Hixie: I am a real user and I have personally constructed systems to do this for real world use cases. It is useful in conjunction with pushState.
- # [21:58] <annevk> dsheets: and although I have found some libraries that do the kind of thing you mentioned just now, I have never seen a request for such functionality before
- # [21:58] * Quits: danielfilho|w (~danielfil@187.31.77.7) (Remote host closed the connection)
- # [21:58] <zewt> how, concretely, is it useful with pushState?
- # [21:59] <paul_irish> smaug____: is the range issue that the gEBId soaking up the time?
- # [21:59] <zewt> (i've used pushState extensively; I give it relative URLs, and it pushes a resolved absolute URL)
- # [21:59] <zewt> not doubting you, just trying to get closer to what you want to do
- # [22:00] <Hixie> dsheets: can you provide me with a URL to such a page?
- # [22:00] <smaug____> paul_irish: the range test is actually testing parsing time ( r.createContextualFragment(REPLACEMENT_HTML) ) and inserting something to DOM ( r.insertNode )
- # [22:00] <smaug____> very little about range specific stuff
- # [22:01] <dsheets> Hixie: http://ashimagroup.net/~sheets/demo/pano/mars/#?az=1.020944687796126&el=-0.11416091059502942 The same app is served for http://ashimagroup.net/~sheets/demo/pano/mars/msl/nav1/ after partial relative resolution to root the common assets to the domain
- # [22:02] <Hixie> can you elaborate on his this works? where do i see the partial resolution?
- # [22:02] <annevk> Hixie: btw, on http://url.spec.whatwg.org/ and http://xhr.spec.whatwg.org/ dfn.js does not work
- # [22:02] * Joins: bentruyman (~bentruyma@li159-104.members.linode.com)
- # [22:03] <paul_irish> smaug____: got it. making a ticket.
- # [22:03] <Hixie> annevk: any idea why not?
- # [22:03] <annevk> actually on xhr it just complaints about some cookie function
- # [22:03] <annevk> but on url it fails
- # [22:03] <Hixie> annevk: probably missing some other script it relies on
- # [22:03] <smaug____> paul_irish: Add rows to ticket seems to test reflow, so looks like the issue 66
- # [22:03] * Joins: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
- # [22:03] <annevk> Hixie: for url it says "Uncaught TypeError: Object function Object() { [native code] } has no method 'push' "
- # [22:04] <dsheets> Hixie: currently it is done at build time
- # [22:04] <Hixie> annevk: no idea
- # [22:04] <zewt> in other news, onerror in ios 6 safari finally gives useful info, huzzah
- # [22:04] <annevk> Hixie: Opera says
- # [22:04] <zewt> also usable remote debugging, huzzah^2
- # [22:04] <annevk> Error thrown at line 26, column 10 in <anonymous function>() in http://www.whatwg.org/specs/web-apps/current-work/dfn.js:
- # [22:04] <annevk> dfnMap[s].push(links[k]);
- # [22:04] <Hixie> dsheets: can you elaborate? (this is exactly the kind of thing that is useful here)
- # [22:04] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Max SendQ exceeded)
- # [22:04] <smaug____> paul_irish: oh, AddRows explicitly wants to flush layout. Then it is testing the thing it tries to test :)
- # [22:05] <paul_irish> smaug____: whats your github username
- # [22:05] <smaug____> hmm, I did have one...
- # [22:05] <smaug____> can't recall
- # [22:06] <smaug____> I'll follow robohornet issues
- # [22:06] <dsheets> Hixie: elaborate on what? The absolute path is unknown in development. The host is unknown at deploy time. The scheme is unknown at run time.
- # [22:06] <Hixie> cabanier: your input on the most recent mail to whatwg would be most helpful (re your blending spec)
- # [22:07] <Hixie> dsheets: i'm trying to understand what happens in the build process.
- # [22:07] <annevk> Hixie: so if I want that fixed I will have to debug?
- # [22:07] <Hixie> annevk: yup :-)
- # [22:07] <paul_irish> smaug____: https://github.com/robohornet/robohornet/issues/69
- # [22:07] <Hixie> annevk: or send me mail
- # [22:07] <Hixie> annevk: no eta
- # [22:08] <Hixie> dsheets: e.g. why can't you just use relative URLs? Why do you have something to partially resolve?
- # [22:08] <annevk> yeah okay, I'll look into it some day, might learn a thing or two
- # [22:08] <Hixie> dsheets: how do you do it today?
- # [22:08] <smaug____> paul_irish: thanks
- # [22:09] <dsheets> Hixie: the relative path "panos/MER.jpg" is resolved to "/~sheets/demo/pano/mars/panos/MER.jpg"
- # [22:09] <Hixie> dsheets: but why? why not just leave it as panos/MER.jpg ?
- # [22:10] <dsheets> Hixie: the same source is served for all subpaths and the display is switched in JS to accomodate pushState
- # [22:11] <Hixie> why are there multiple subpaths
- # [22:11] <Hixie> sorry if it sounds like i'm being stupid here but this really feels like trying to get blood from a stone
- # [22:12] <dsheets> Hixie: I'm sorry you are having a hard time understanding. I will try to explain more clearly.
- # [22:14] <dsheets> Hixie: your question is "why are there multiple subpaths in your single-page pushState-using web app?"? Is that accurate? Why not?
- # [22:14] * Joins: nessy (~silviapf@124-168-3-236.dyn.iinet.net.au)
- # [22:14] * Quits: sicking (~chatzilla@nat/mozilla/x-evxlcsxlgfbxskft) (Ping timeout: 248 seconds)
- # [22:14] <Hixie> dsheets: well specifically, why would your one-page app be exposed using multiple URLs when its resources are only exposed at one URL each
- # [22:15] <Hixie> dsheets: what user-problem does this solve?
- # [22:15] <Hixie> dsheets: seems like a much simpler solution would be to just have one URL, and then you wouldn't have to resolve any resource URLs
- # [22:15] <Hixie> dsheets: in terms of spec problems, we don't solve hypotheticals, but we also don't solve unnecessary problems, hence i'm trying to work out why this is a necessary problem rather than just make-work
- # [22:15] * Quits: Ms2ger (~Ms2ger@kotnet-146.kulnet.kuleuven.be) (Quit: nn)
- # [22:16] * Quits: erichynds (~ehynds@64.206.121.41)
- # [22:16] <dsheets> Hixie: How do I have one URL for multiple resources? Doesn't pushState allow me to design my URI scheme in a way that keeps distinct resources distinct?
- # [22:17] <dsheets> Hixie: your dismissive attitude is unnecessary.
- # [22:18] <Hixie> dsheets: ok i'm going for lunch, i'll be back in a few. I recommend writing an e-mail the describes your use case, and why it is important, and sending it to the WHATWG list. I recommend doing so in a manner that actually describes the entirety of the problem and doesn't feel as reluctant to share as this conversation has.
- # [22:18] <Hixie> bbiab.
- # [22:20] <annevk> dsheets: so is your concern that the specification no longer addresses ../foo resolved against /bar/?
- # [22:20] * BennyLava` is now known as BennyLava
- # [22:20] <annevk> dsheets: or do you want an API that resolves ../foo against /bar/?
- # [22:20] <annevk> dsheets: there's certainly no such API now, so you must use a workaround of some kind
- # [22:21] <annevk> dsheets: in any event, concrete examples would go a long way (unfortunately does require some work)
- # [22:22] * Quits: nessy (~silviapf@124-168-3-236.dyn.iinet.net.au) (Quit: Leaving.)
- # [22:24] <dsheets> annevk: I want to be able to parse a URI reference in a JSON object, use the browser API to normalize/canonicalize/whatever it, and re-emit a relative URI reference in a JSON object. If parsing entails resolution into an absolute URI, I have to know which bits of the input URI are present, resolve it against a dummy base and then throw away the bits that come from the dummy base.
- # [22:24] * Quits: krawchyk (~krawchyk@65.220.49.251) (Remote host closed the connection)
- # [22:25] <annevk> yeah, you can hack around it like that
- # [22:26] <dsheets> annevk: yeah, so that's not so cool because now I can't simply use the API, I have to inspect the string itself and bring my own code to understand which components are present.
- # [22:26] <annevk> but that wouldn't give you things like input: http://example.org/test/bar/ and /test/foo -> "../foo"
- # [22:27] <annevk> I mean there's all kinds of stuff you could write, but it's kinda nice to know the use cases
- # [22:27] <dsheets> annevk: which sort of makes the API (which is already doing this internally) unusable
- # [22:27] * Joins: drublic_ (~drublic@frbg-4d028f07.pool.mediaWays.net)
- # [22:28] <dsheets> annevk: that is not he algorithm I am talking about. relativization is significantly more complicated and I do not expect it in the API.
- # [22:29] <annevk> okay, so this complaint is about the API, not the way the spec is written?
- # [22:30] <annevk> because that wasn't really clear to me
- # [22:30] <dsheets> annevk: I want the browser to supply a function that takes "/%65/" and outputs "/e/" or "#%65" and outputs "#e", for example
- # [22:31] * Joins: espadrine (~thaddee_t@85-218-9-34.dclient.lsne.ch)
- # [22:31] <annevk> the browser does no such thing now...
- # [22:31] <annevk> but you can use encodeURI and decodeURI for that
- # [22:31] <annevk> (it does no such thing if you put those in places that take actual URLs)
- # [22:32] <annevk> anyway, I need to get some sleep
- # [22:33] <dsheets> annevk: doesn't the spec specify the API? If the spec says parsing and relative resolution are always composed and parsing can only occur relative to a base URI, then I can't use its normalization.
- # [22:33] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [22:33] <annevk> there's no normalization like %65 -> e
- # [22:34] <annevk> %65 stays the same
- # [22:34] <annevk> ™ will turn into %E2%84%A2
- # [22:35] <annevk> but %E2%84%A2 will never upon parsing turn into ™
- # [22:35] <annevk> but using JavaScript's encodeURI and decodeURI you can go both ways
- # [22:38] <dsheets> annevk: you are correct. Take relative path components, then. Or your trademark example… I have the string "#™" and want to encode/decode this… the "#" is not handled how I would expect by encode/decode.
- # [22:40] <dsheets> a = document.createElement("a"); a.href = "../foo"; a.href now stringifies to the absolute URI with relative path components resolved
- # [22:41] <annevk> yeah
- # [22:41] <annevk> you can get a.pathname if you just want the path
- # [22:42] <annevk> there's actually only very little code points affected in the fragment part
- # [22:42] <annevk> only some whitespace code points are ignored, that's it
- # [22:42] <dsheets> annevk: I want the same components that I passed in, but now normalized.
- # [22:43] <dsheets> annevk: ">" in fragment? "]" in fragment?
- # [22:43] <annevk> dsheets: stays the same
- # [22:44] <annevk> dsheets: even U+0000 although maybe we should drop that just like U+000A
- # [22:44] <annevk> dunno
- # [22:45] <dsheets> annevk: why aren't they percent encoded in the normal form? NUL seems dangerous.
- # [22:45] <annevk> because browsers don't do that
- # [22:45] * Joins: craig_lock (~craig_loc@static-173-50-48-6.syrcny.fios.verizon.net)
- # [22:45] <annevk> and it's not really needed anyway, it doesn't go over the wire
- # [22:45] * Quits: craig_lock (~craig_loc@static-173-50-48-6.syrcny.fios.verizon.net) (Client Quit)
- # [22:45] * Joins: nessy (~silviapf@1.125.222.133)
- # [22:46] <annevk> (even over the wire it's not strictly needed and IE is known for sending raw utf-8 octets in some cases)
- # [22:46] <dsheets> annevk: uhh? how do you mean? are the percent-encoded forms equivalent to the literal forms?
- # [22:47] * Joins: tantek (~tantek@nat/mozilla/x-gzgomwlzidwrmnpc)
- # [22:47] <annevk> well they're "considered" equivalent but they're not if you do e.g. string comparison
- # [22:47] <annevk> as many people do
- # [22:48] * Quits: rworth (~rworth@209-255-211-4.ip.mcleodusa.net) (Quit: Leaving...)
- # [22:49] <dsheets> annevk: How do I access a comparison function that returns true for "]" and "%5d"?
- # [22:49] <annevk> there's no such thing
- # [22:50] <dsheets> why not? aren't they equivalent in URI space?
- # [22:51] <dsheets> a.href === b.href returns false
- # [22:51] <annevk> there's no URI in user agents
- # [22:51] <dsheets> "URLUtils"
- # [22:52] <annevk> yeah they'd not be equivalent and you'd get different requests to the server
- # [22:52] <annevk> one containing ] and one containing %5d
- # [22:52] <annevk> even %5d and %5D result in different requests
- # [22:52] <annevk> STD 66 allows for all that btw
- # [22:52] <annevk> they don't really place any requirements
- # [22:52] <annevk> which is why it's quite useless
- # [22:54] <dsheets> yes… so you will not perform any canonicalization or normalization? just parse+resolve and that's it?
- # [22:54] * Quits: a-ja (~chatzilla@70.230.163.14) (Ping timeout: 264 seconds)
- # [22:55] <annevk> well there's some
- # [22:55] <annevk> see e.g. the bits about percent encoded
- # [22:55] <annevk> how \ turns into / most of the time, etc.
- # [22:55] <annevk> how http://example.org: turns into http://example.org/ etc.
- # [22:55] <annevk> or http://example.org:80 becomes http://example.org/
- # [22:56] <annevk> at some point it will define how http://EXAMPLE/ becomes http://example/ (host names and IP addresses need some more research)
- # [22:56] <annevk> schemes are lowercased
- # [22:56] <annevk> there's a bunch of stuff
- # [22:56] <annevk> (when I think about it)
- # [22:56] <annevk> anyway, bedtime
- # [22:57] * tantek compares http://url.spec.whatwg.org/ to the table in http://tantek.com/2011/238/b1/many-ways-slice-url-name-pieces and wonders if he will need to add another row.
- # [22:58] * Joins: sicking (~chatzilla@nat/mozilla/x-jdxfwtvdphrvvgzz)
- # [22:58] <annevk> ah damn it, hey tantek!
- # [22:58] <annevk> tantek: I saw that table and it's pretty awesome
- # [22:59] * Quits: mpt (~mpt@canonical/mpt) (Read error: Connection reset by peer)
- # [22:59] <annevk> tantek: if you have any particular opinion on terms to use it's much appreciated
- # [22:59] <annevk> tantek: I'm pretty flexible on that front
- # [22:59] <annevk> nn
- # [23:01] * Quits: nessy (~silviapf@1.125.222.133) (Quit: Leaving.)
- # [23:01] * Quits: dgathright (~dgathrigh@nat/yahoo/x-ewbneagxvemxltwe) (Ping timeout: 240 seconds)
- # [23:02] * Joins: a-ja (~chatzilla@70.230.163.14)
- # [23:03] * Quits: drublic_ (~drublic@frbg-4d028f07.pool.mediaWays.net) (Remote host closed the connection)
- # [23:03] * Joins: drublic (~drublic@frbg-4d028f07.pool.mediaWays.net)
- # [23:04] * Joins: mpt (~mpt@faun.canonical.com)
- # [23:04] * Quits: mpt (~mpt@faun.canonical.com) (Changing host)
- # [23:04] * Joins: mpt (~mpt@canonical/mpt)
- # [23:05] <tantek> annevk nn - I have no / little particular preference on terms - was more just dismayed at how much a supposedly "simple" thing was reinvented/renamed. We can discuss when you get back online tomorrow morning.
- # [23:08] * Joins: PalleZingmark (~Adium@90-229-139-33-no195.tbcn.telia.com)
- # [23:08] * Quits: ap (~ap@2620:149:4:1b01:808c:e015:ab04:503d) (Quit: ap)
- # [23:10] * Joins: isherman-book (Adium@nat/google/x-wigsnwqkhovtyswf)
- # [23:14] * Quits: MacTed (~Thud@63.119.36.36)
- # [23:15] * jernoble is now known as jernoble|afk
- # [23:15] * jernoble|afk is now known as jernoble
- # [23:20] * Joins: dgathright (~dgathrigh@c-67-169-92-165.hsd1.ca.comcast.net)
- # [23:21] * Joins: nessy (silviapf@nat/google/x-dnzeyrxhknxebqvt)
- # [23:21] * Quits: Maurice (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:25] * Quits: jarib (~jarib@unaffiliated/jarib) (Excess Flood)
- # [23:26] * Joins: jarib (~jarib@unaffiliated/jarib)
- # [23:26] * Quits: sicking (~chatzilla@nat/mozilla/x-jdxfwtvdphrvvgzz) (Remote host closed the connection)
- # [23:29] * Joins: JonathanNeal (u5831@gateway/web/irccloud.com/x-nqkkefedvcivbhux)
- # [23:31] * Joins: danielfilho (~danielfil@200-158-125-170.dsl.telesp.net.br)
- # [23:31] <rniwa> annevk: yt?
- # [23:33] <Hixie> tantek: man, if that's not a testament to the URL spec being deficient, i dunno what is :-) nice table
- # [23:33] <tantek> Hixie, yeah, this is what happen when I try to re-use existing work and end up documenting a mess instead :(
- # [23:34] * Joins: ojan_away (u5519@gateway/web/irccloud.com/x-lydnplsvwzdtujqe)
- # [23:34] <rniwa> Who here knows WebIDL?
- # [23:34] * ojan_away is now known as ojan
- # [23:34] <zewt> death to "search"
- # [23:34] <tantek> also, I have maybe 2 more frameworks/standards that use different terms for URL pieces that I have yet to add to the table
- # [23:34] <TabAtkins> rniwa: Several of us, at least kinda?
- # [23:34] <zewt> also to "fragment" :(
- # [23:35] * Joins: ap (~ap@2620:149:4:1b01:29da:c3d0:b272:3806)
- # [23:35] <rniwa> TabAtkins: so... how do I write a callback interface where callbacks are optional?
- # [23:35] <rniwa> TabAtkins: for undo manager's DOMTransaction interface, all properties are optional.
- # [23:35] <rniwa> TabAtkins: including callback methods
- # [23:35] <tantek> zewt - which is your preferred set of terms for the pieces of a URL?
- # [23:36] <TabAtkins> You can make any property optional, including ones that take a callback.
- # [23:36] <rniwa> TabAtkins: what's the syntax for that?
- # [23:37] * Quits: ap (~ap@2620:149:4:1b01:29da:c3d0:b272:3806) (Client Quit)
- # [23:37] <zewt> intuitively, "query" and "hash" (those are the only really "contended" ones)
- # [23:37] <tantek> btw - when I add the 2 pending splits, that will make 14 different ways people have come up with for expressing the parts of URLs. The URL spec will then be the 15th, thus fulfilling the prophecy foretold in XKCD 927.
- # [23:37] <tantek> so are you a "scheme" guy or a "protocol" guy?
- # [23:38] <TabAtkins> rniwa: I'm confused - it's the same as any other optional thing. When you define a callback, it just creates a new type that you can use elsewhere.
- # [23:38] <TabAtkins> tantek: I'm more of a "boobs" guy.
- # [23:38] <zewt> ("host" vs. "hostname", "path" vs "pathname" are trivial differences; i'd have preferred protocol to scheme, but that one's long gone)
- # [23:38] <zewt> TabAtkins: try dieting and exercise
- # [23:39] <zewt> *crickets*
- # [23:42] <zewt> the "1996 HTTP RFC" row makes me :|
- # [23:42] <TabAtkins> Why?
- # [23:42] <zewt> because it's five rows, heh
- # [23:42] <TabAtkins> jQuery 2011 is 6. ^_^
- # [23:43] <Hixie> "scheme" is the http: part of a URL, "protocol" is what set of rules the scheme maps to (HTTP)
- # [23:43] <zewt> interesting that (if I'm reading this table correctly) in every case, the "search" name includes the ? and the "query" name does not
- # [23:43] <zewt> a pattern I hadn't noticed
- # [23:43] * Joins: ap (~ap@2620:149:4:1b01:545a:c718:739d:b4ca)
- # [23:43] * tantek sends TabAtkins to the inclusivity dungeon.
- # [23:43] <TabAtkins> tantek: Yeah, I know, bad on me. It was too obvious for me to pass up. :(
- # [23:43] <tantek> zewt - that is correct.
- # [23:44] <zewt> almost the same pattern for hash/fragment, with a couple misses
- # [23:45] <tantek> I built the table for exactly that reason, to see what patterns (if any) would be revealed.
- # [23:45] <zewt> (wouldn't necessarily say it's a *useful* distinction, but it's an interesting one)
- # [23:45] <tantek> yeah
- # [23:45] <zewt> (that is, the pattern--whether you include it or don't include it is certainly important from an API standpoint)
- # [23:46] * Quits: danzik171 (~danzik17@164.55.254.106) (Ping timeout: 265 seconds)
- # [23:47] * Joins: abarth_ (~abarth@50-76-44-122-ip-static.hfc.comcastbusiness.net)
- # [23:48] <zewt> Hixie: sure, I just don't think the distinction is necessary in this context (but as far as naming goes this one's been decided--scheme it is!)
- # [23:48] <Hixie> othermaciej: yt?
- # [23:48] <Hixie> zewt: yeah i dunno if the distinction makes sense either.
- # [23:48] <Hixie> zewt: people often refer to the thing, and the identifier for the thing, by the same name
- # [23:48] <othermaciej> Hixie: yeah, but I have weinig here in my office so not totally paying attention to IRC
- # [23:49] * Quits: abarth_ (~abarth@50-76-44-122-ip-static.hfc.comcastbusiness.net) (Client Quit)
- # [23:49] <Hixie> othermaciej: k, just had a quick q RE: the bugs you want cloned back; do you want them reresolved also? Most of them are things I never actually resolved, just punted for a few months, and was planning on reopening (i'll be doing that in january for the whatwg ones)
- # [23:50] <othermaciej> Hixie: my preference would be to leave them with their prior resolution, even if it was LATER or REMIND
- # [23:50] <Hixie> othermaciej: roger
- # [23:51] * Joins: sicking (~chatzilla@nat/mozilla/x-qgwlfmvmtivkwzqg)
- # [23:52] * Joins: danzik17 (~danzik17@ool-435606a9.dyn.optonline.net)
- # [23:53] <tantek> Hixie, zewt, re: scheme vs. protocol, the real question is, does "protocol" include the trailing ":" or not? For a good time, see this github thread discussion that very issue in Node.js: https://github.com/joyent/node/pull/1580
- # [23:54] <tantek> *discussing
- # [23:54] <Hixie> i'll let anne worry about that :-)
- # [23:57] * Joins: Smylers (~smylers@host86-167-76-92.range86-167.btcentralplus.com)
- # Session Close: Wed Sep 26 00:00:00 2012
The end :)