Options:
- # Session Start: Wed May 14 00:00:00 2014
- # Session Ident: #whatwg
- # [00:01] * Quits: wcc17 (~wcc17@cpe-74-138-106-201.swo.res.rr.com) (Quit: wcc17)
- # [00:02] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 252 seconds)
- # [00:02] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [00:02] <Hixie> caitp: why would you ever want to know if you've entered a value, but not care if the value is valid or not?
- # [00:02] * Joins: estellevw (~estellevw@nat-general.stedwards.edu)
- # [00:04] * Quits: estellevw (~estellevw@nat-general.stedwards.edu) (Client Quit)
- # [00:04] * Joins: aretecode (~aretecode@50.23.131.206-static.reverse.softlayer.com)
- # [00:04] * Quits: jernoble (~jernoble@17.114.219.75) (Quit: Computer has gone to sleep.)
- # [00:05] <caitp> because that's really all a "required" validator needs to do
- # [00:05] * Joins: wcc17 (~wcc17@cpe-74-138-106-201.swo.res.rr.com)
- # [00:06] <caitp> a required validator is concerned with whether or not you've entered a value, an email validator is concerned with your input matching the requirements from some RFC or W3/WHATWG recommendation, your number validator cares that you've entered a number in some fashion, but they shouldn't need to mix their concerns
- # [00:09] <Hixie> dglazkov: ping
- # [00:09] <Hixie> caitp: if all you want to do is tell the user they are supposed to have entered a value, you don't have to do anything. The browser will just do it for you.
- # [00:09] * Quits: wcc17 (~wcc17@cpe-74-138-106-201.swo.res.rr.com) (Ping timeout: 258 seconds)
- # [00:09] * Joins: sicking (~sicking@corp.mtv2.mozilla.com)
- # [00:10] <caitp> if you're lucky and you're targetting a modern browser which implements constraint validation correctly (which certainly isn't always the case)
- # [00:10] <Hixie> well if you're not then again, the current API is kinda irreelvat...
- # [00:10] <Hixie> irrelevant
- # [00:11] <caitp> or if you want to do something like render custom validation messages in some pretty widget kit, or whatever
- # [00:12] <Hixie> honestly i don't see why "a required validator" is something you'd even have
- # [00:12] <Hixie> i mean, it's two lines of code
- # [00:13] <Hixie> if (the thing is required and it's not given) reportInAPrettyFashion(that the thing is required and it's not given)
- # [00:13] <Hixie> i feel like anything more than that is probably over-engineered.
- # [00:13] <caitp> because in framework-land, things are designed to make building applications easier, so we don't really deal with totally imperative win32-api-looking stuff
- # [00:14] <caitp> well, you could argue that, but if nobody over-engineered things, the WWW wouldn't exist :p
- # [00:15] * Quits: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com) (Quit: Leaving.)
- # [00:16] <caitp> all I'm saying is, what is the use in valueMissing caring about badInput, when A) it only ever gets set if required is used, and B) browser-native validation messages will ignore it if badInput is set instead
- # [00:18] <caitp> like, what is the use case for setting valueMissing when badInput is set, how do people get use out of that, apart from requiring them to add an extra logical OR operator that should really be unnecessary
- # [00:18] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [00:19] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [00:19] * Joins: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net)
- # [00:19] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
- # [00:20] <caitp> I get that you're saying it means "the value property is empty", but the question is, why do we care, unless the user has not entered anything
- # [00:21] <caitp> browsers don't care, so why should script contexts have to care
- # [00:25] * Quits: lmclister (~lmclister@192.150.10.210)
- # [00:29] * Joins: nessy (~silviapf@101.164.214.231)
- # [00:30] * Joins: erlehmann (~erlehmann@brln-4db9695e.pool.mediaWays.net)
- # [00:33] * Quits: nessy (~silviapf@101.164.214.231) (Client Quit)
- # [00:33] * Quits: erlehmann (~erlehmann@brln-4db9695e.pool.mediaWays.net) (Quit: Die demokratieerhaltende Whistleblowerplattform Krautchan freut sich immer über Spenden.)
- # [00:36] * Quits: anchnk (~anchnk@89-93-18-86.hfc.dyn.abo.bbox.fr) (Ping timeout: 240 seconds)
- # [00:39] * Quits: jeffreyatw (~jeffreyat@66-194-1-26.STATIC.twtelecom.net) (Quit: jeffreyatw)
- # [00:40] * Joins: lmclister (~lmclister@192.150.10.210)
- # [00:40] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
- # [00:41] * Joins: Joseph_Silber (~Joseph@ool-44c3e80a.static.optonline.net)
- # [00:41] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 265 seconds)
- # [00:44] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Client Quit)
- # [00:45] * Joins: rxgx (uid22483@gateway/web/irccloud.com/x-mhzszzfcbvlqmakb)
- # [00:45] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
- # [00:47] <Hixie> caitp: valueMissing doesn't care about badInput. That's my point.
- # [00:48] <Hixie> caitp: valueMissing isn't special here. All the other validation attributes work the same way.
- # [00:48] <Hixie> caitp: you don't need any additional operators. If you want to report that the user has entered bad input, you check badInput. That's all.
- # [00:48] <Hixie> caitp: so you don't have to care. Just don't check it.
- # [00:49] <Hixie> in other news, anyone have any idea what https://www.w3.org/Bugs/Public/show_bug.cgi?id=25442 is about?
- # [00:49] * Joins: jernoble (~jernoble@17.114.219.75)
- # [00:50] <caitp> that's not true, if we want to provide a good user experience, then we do have to care =( I don't think this is getting through to you
- # [00:50] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
- # [00:51] <caitp> anyways, it's not the biggest problem in the world, but it's something which is pretty nonsensical and probably shouldn't be
- # [00:51] * Joins: dcherman (~dcherman@ool-43560d79.dyn.optonline.net)
- # [00:51] * Quits: plutoniix (~plutoniix@node-3hx.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
- # [00:52] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 258 seconds)
- # [00:56] * Quits: dcherman (~dcherman@ool-43560d79.dyn.optonline.net) (Ping timeout: 240 seconds)
- # [00:57] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
- # [00:57] <Hixie> caitp: it's clearly not getting through to me.
- # [00:58] <Hixie> caitp: you ask "why do we care", i told you you don't have to care, you respond "we do have to care"
- # [00:58] <Hixie> caitp: i'm not understanding
- # [00:58] <caitp> okay, lets try this
- # [00:59] <caitp> pretend your body is a validation framework, and your left hand is responsible for determining whether a value has been entered at all, and your right hand is responsible for determining if an entered value fits some format
- # [00:59] * Quits: jonathanmarvens (~jonathanm@199.47.79.34)
- # [00:59] <caitp> your left hand doesn't know anything about the right hand, and vice versa, nor should it
- # [01:00] <Hixie> arv_: any further input on https://www.w3.org/Bugs/Public/show_bug.cgi?id=25522 ?
- # [01:00] <Hixie> caitp: that's a silly design.
- # [01:00] <caitp> so, someone gives your right hand an apple, but it only wants an orange, and it considers this value to be invalid. your left hand should not have to care that your right hand was handed an apple
- # [01:01] <caitp> because your left hand should only have to care if the right hand was given anything at all
- # [01:01] <Hixie> caitp: that's like saying "i'm going to make a text edit box. Now this function is responsible for the first character entered, and this one is responsible for the second character entered. I wish the API didn't provide both characters in the same attribute, that makes it hard for me to split the logic in this way."
- # [01:01] <caitp> they are concerned with two different things, one limb is worried about the presence of a value, the other limb is worried about the format/type of value
- # [01:01] <Hixie> it would be a different matter if "determining whether a value has been entered at all" was some complicated operation requiring 5 or 50 or 500 lines of code or something.
- # [01:02] <Hixie> but it's literally a one line expression with two parts
- # [01:02] <caitp> sure, and like I said, it's not the biggest problem at all
- # [01:02] <Hixie> "does it have bad input, and if not, does it have good input"
- # [01:02] <caitp> but, serious question, why should your left hand have to care if the right hand gets an apple or orange
- # [01:02] <Hixie> to continue your analogy, that doesn't take a whole hand to do, it's something your small finger's knuckle can do.
- # [01:02] <caitp> why is it concerned with that at all
- # [01:02] <caitp> what is the benefit that it gains from asking the right hand what it got
- # [01:03] <Hixie> sure, why should the code that deals with the first character be concerned with the code that deals with the second character?
- # [01:03] <caitp> what does this enable us to communicate to the user that we otherwise couldn't, without needing the extra test
- # [01:03] <Hixie> i mean, superficially, it sounds like a perfectly reasonable question.
- # [01:03] <Hixie> but when you get down to it, it just means the code is organised in an overly-generic way and could be made far simpler.
- # [01:04] <caitp> at an application level it could be, but when you're writing a way for people to structure their applications, it doesn't work very well to have too much intermingling
- # [01:05] <caitp> GreenTea developers don't want to write the form nonsense by hand, because they get a nice declarative interface that does what they want for them
- # [01:06] <caitp> and that nice, declarative interface, ideally, doesn't have to worry too much about different validation states that it shouldn't be concerned with
- # [01:06] <Hixie> i agree
- # [01:06] * Krinkle is now known as Krinkle|detached
- # [01:07] <Hixie> still not following how we get from "people should be able to write forms declaratively" to "the code that makes validation UI pretty needs to carefully check whether you entered a value COMPLETELY SEPARATELY from carefully checking whether you entered a valid value"
- # [01:08] <caitp> well, that's just the way it is in angular, and it sort of magically makes something similar to html5 constraint validation work in (somewhat) legacy browsers
- # [01:09] <Hixie> but why is it that way? what benefit is there from doing something this complicated way rather than the simpler way?
- # [01:09] * Quits: KevinMarks (~yaaic@2607:fb90:2201:b0c2:3037:1ea8:3730:ddb3) (Ping timeout: 240 seconds)
- # [01:09] <caitp> because it ends up being simpler to actually build an application with it
- # [01:09] <Hixie> i don't believe that at all.
- # [01:09] <Hixie> i don't believe you could even tell the difference.
- # [01:10] <Hixie> can you show me the difference?
- # [01:10] <Hixie> (i don't understand why an application would be aware of this internal detail at all)
- # [01:10] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
- # [01:10] <caitp> oh, the application wouldn't be
- # [01:10] <Hixie> ...
- # [01:10] <caitp> like I said, it's not the biggest problem in the world
- # [01:10] <caitp> we can get around it with the extra logic
- # [01:11] <caitp> but I don't think we should _need_ to, because it doesn't really enable anything
- # [01:11] <Hixie> it seems to me like you could get around it with _less _logic.
- # [01:11] * Quits: jernoble (~jernoble@17.114.219.75) (Quit: Computer has gone to sleep.)
- # [01:11] <Hixie> i'm not understanding why you split "has a value" from "has a valid value". Do you split "has an underflow" from "has an overflow"?
- # [01:11] <caitp> well, hopefully matias gets to delete a lot of code after refactoring it, because yeah, the original design was a bit problematic in some ways
- # [01:12] <caitp> well, the fact that you can have underflow and overflow simultaneously isn't totally good, but that's less of an issue
- # [01:12] <caitp> because at least they're related to the same set of attributes
- # [01:12] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [01:12] * Joins: boogyman (~boogyman@pdpc/supporter/professional/boogyman)
- # [01:12] <Hixie> um
- # [01:12] <caitp> min and max
- # [01:13] <Hixie> underflow isn't related to max
- # [01:13] <Hixie> and overflow isn't related to min
- # [01:13] <caitp> conceptually, min and max are related
- # [01:13] <Hixie> in fact having a value and having a valid value are _more closely_ related.
- # [01:13] <Hixie> since they both relate to .value
- # [01:13] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [01:13] <caitp> conceptually, min and max are both to do with a similar "kind" of validation, do you know what I mean
- # [01:14] <caitp> you have a range, you're either inside that range or outside of it
- # [01:14] <caitp> maybe there is no bounds on the left or right side of the range, maybe the range is inside out, it doesn't matter, it's all about a range
- # [01:14] <Hixie> "did you enter a valid value" and "did you enter any value" are "both to do with a similar kind of validation" also
- # [01:14] <Hixie> i mean, so much so that i'd do them as one test
- # [01:14] <caitp> "did you enter a number" "no I entered an animal name"
- # [01:15] <caitp> "did you enter anything" "yes"
- # [01:15] <Hixie> (unlike min and max, which i would handle as separate tests, with different messages)
- # [01:15] <Hixie> you can violate min, you can violate max, you can in some weird cases violate both, they're orthogonal. Same with step. Another orthogonal check.
- # [01:15] <caitp> the presence or absence of a value is different from the well-formed-ness of a present value
- # [01:16] <Hixie> But the test of whether you entered something naturally subsumes whether you entered something valid.
- # [01:16] <Hixie> they're _not_ orthogonal.
- # [01:16] <caitp> sure they are
- # [01:16] <caitp> no value is a perfectly well-formed value
- # [01:16] <caitp> if the value isn't required, then you have no reason to complain about it. if the value is required, then you don't want to complain by saying "you didn't enter anything"
- # [01:17] <caitp> they are unrelated things
- # [01:18] * Joins: KevinMarks (~yaaic@2607:fb90:2201:b0c2:3037:1ea8:3730:ddb3)
- # [01:18] <caitp> so if your left hand doesn't want to ask the right hand if the value is acceptable, then right now, the metaphorical validation tool will report a message which seems "weird", because it's reporting a nonsensical error
- # [01:19] <caitp> it's not a huge problem to check the flag, I just argue that it should not be necessary, and doesn't really make sense to need to ask
- # [01:21] * Quits: barnabywalters (~barnabywa@fire-out.ru.is) (Quit: barnabywalters)
- # [01:23] * Joins: barnabywalters (~barnabywa@fire-out.ru.is)
- # [01:26] <Hixie> i don't think it makes sense not to do these together.
- # [01:26] <Hixie> actually that's not quite true
- # [01:26] <Hixie> let me rephrase
- # [01:26] <Hixie> even if you do them separately, i don't think it makes sense to do any checks if badInput is true.
- # [01:26] <Hixie> so you have to check badInput first.
- # [01:26] <Hixie> for example, if badInput is true, you wouldn't care if the value didn't match the pattern.
- # [01:26] <Hixie> or was overflowing.
- # [01:26] <Hixie> so just test that first.
- # [01:27] <Hixie> you don't have to test multiple things at once, or have complicated expressions.
- # [01:27] <Hixie> just if (e.validityState.badInput) { ... }
- # [01:28] * Quits: barnabywalters (~barnabywa@fire-out.ru.is) (Client Quit)
- # [01:28] * Joins: seventh (seventh@207-207-17-97.fwd.datafoundry.com)
- # [01:28] <caitp> so, the issue with this is it sort of imposes a specific order that the ValidityState must be checked in
- # [01:28] <caitp> in order to avoid the extra condition checks
- # [01:28] <Hixie> yes
- # [01:29] <Hixie> this seems nice and easy since code tends to have a defined order it runs in :-P
- # [01:29] <boogyman> It's probably personal preference, but I really despise being told bit by bit how my input doesn't fit into an applications specification. If it doesn't fit, I'd like to be told the requirements, not only that the "input" needs to include letters.
- # [01:29] <Hixie> yeah, totally
- # [01:29] <Hixie> the case we're talking about is only cases where badInput applies, though
- # [01:29] <Hixie> things like type=number
- # [01:29] <caitp> like this? https://yearofmoo.github.io/ngMessages/
- # [01:30] <boogyman> The interface should make it stupid simple for the User to help themselves and provide valid input.
- # [01:30] * Joins: tantek (~tantek@mfc0536d0.tmodns.net)
- # [01:30] <Hixie> "This web page has disabled automatic filling for this form" gah
- # [01:30] <caitp> that's really the goal
- # [01:30] <caitp> make things stupid simple
- # [01:31] <caitp> so that even a ruby developer can do it
- # [01:31] <caitp> (i'm kidding, I'm kidding)
- # [01:31] <zewt> Hixie: cheers to features which are designed specifically to work against the user's wishes
- # [01:31] <Hixie> blimey that page has a lot of divs and class names
- # [01:31] <Hixie> zewt: hm?
- # [01:31] <zewt> 23:27 < Hixie> "This web page has disabled automatic filling for this form" gah
- # [01:32] <Hixie> ah yeah, i hate that feature
- # [01:32] <zewt> user wants autocomplete? too bad, the browser doesn't serve the user
- # [01:32] <caitp> well, it's a demo application, so he probably wanted you to actually try entering things
- # [01:32] * Quits: tantek (~tantek@mfc0536d0.tmodns.net) (Client Quit)
- # [01:32] <caitp> I love how the year 0000 is an invalid year, that's great
- # [01:33] * Quits: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net) (Quit: sedovsek)
- # [01:33] <boogyman> imo, i think autocomplete should not be a markup option for pii data.
- # [01:33] <caitp> boogyman, I think a lot of applications have, or at least think they have, a good reason to disable it
- # [01:34] <boogyman> and by pii, i mean name,address,cc, etc...
- # [01:34] <caitp> like, the president's web application for entering the nuclear launch codes
- # [01:34] <zewt> it's one thing to disable autocomplete-by-default, but the user should always have a "that's nice, do it anyway" button
- # [01:34] <caitp> probably don't want that autofilled
- # [01:34] <Hixie> yeah, that's the example in the spec :-)
- # [01:35] <Hixie> boogyman: how do you mean?
- # [01:35] <Hixie> boogyman: like, a page shouldn't be able to say "this is where the user should enter their address"?
- # [01:35] <zewt> autofill isn't the problem in that case, it's "you shouldn't have remembered this in the first place", heh
- # [01:36] <zewt> (and I'm not convinced of that, either)
- # [01:36] <boogyman> im saying that upon navigating to a page, it should not auto populate my pii data.
- # [01:36] <caitp> i think you could argue that disabling autofill encourages people to come up with really bad passwords
- # [01:36] <caitp> but even so, you know
- # [01:36] <boogyman> i know that's difficult to enforce, because <input type=text> can be any of the above, or it could be "enter your favorite color".
- # [01:37] <zewt> disabling autofill for passwords should never be allowed
- # [01:37] <zewt> (if you don't let me autofill passwords, then I'm going to copy-and-paste the password, which is definitely worse)
- # [01:37] * Joins: jernoble (~jernoble@mobile-166-137-177-057.mycingular.net)
- # [01:38] <boogyman> I don't know, maybe limit the scope to pci, but i would see that's more on the authors, then the spec / ua impl.
- # [01:38] * Quits: KevinMarks (~yaaic@2607:fb90:2201:b0c2:3037:1ea8:3730:ddb3) (Ping timeout: 240 seconds)
- # [01:38] <boogyman> than*
- # [01:39] * Joins: mven (~textual@ip68-104-38-84.lv.lv.cox.net)
- # [01:40] <zewt> browsers generally don't autofill anything these days, until you tell them you want them to
- # [01:40] <Hixie> boogyman: oh browsers don't do that as far as i know. But anyway, check out autocomplete="" in the HTML spec, and requestAutocomplete()
- # [01:40] <Hixie> boogyman: (browsers shouldn't prefill anything automatically)
- # [01:40] <Hixie> boogyman: (without user request, i mean)
- # [01:41] <zewt> browsers are confident enough in autocomplete to explicitly support it for credit card info now, and i haven't had any issues of that getting input when I didn't want it to
- # [01:41] <boogyman> Oh, I know how to implement it, I'm saying that sites that do pre-populate lose my trust
- # [01:41] * Joins: KevinMarks (~yaaic@2607:fb90:220e:af95:6c36:49fa:7bb3:45e7)
- # [01:42] <caitp> you mean if it prepopulates it while rendering markup server-side?
- # [01:42] <zewt> (don't know what you mean by "sites that pre-populate", we're talking about browser autocomplete, not sites, and browsers don't prepopulate...)
- # [01:42] <caitp> can that actually happen?
- # [01:42] <zewt> if the site itself can autocomplete, it already knows who you are :)
- # [01:42] * Quits: jernoble (~jernoble@mobile-166-137-177-057.mycingular.net) (Quit: Computer has gone to sleep.)
- # [01:43] <caitp> that's not exactly true
- # [01:43] <caitp> you can set up an autofilling demo on jsfiddle or a throwaway heroku or something that your browser has never seen before, it will still be perfectly happy to autofill for you from your profile
- # [01:44] <zewt> that's the browser autocompleting, not the site
- # [01:45] <caitp> if the site is autofilling for you, it could still be from local storage or a cookie
- # [01:45] <caitp> which is arguably gross, but at least it's not network traffic
- # [01:45] <zewt> just don't know what he means by "sites that do pre-populate lose my trust"--sites don't autofill, browsers do (and they don't do it "pre-"), so why blame sites?
- # [01:45] * Joins: weinig_ (~weinig@17.202.48.136)
- # [01:45] <zewt> afk, going home
- # [01:46] <boogyman> zewt: yes, but the site has access to disable the auto-population
- # [01:47] * Quits: sicking (~sicking@corp.mtv2.mozilla.com) (Quit: sicking)
- # [01:47] <boogyman> my argument is that i should have to explicitly tell a site i want auto-population on, before the UA capability is even acknowledged.
- # [01:57] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
- # [01:58] <Hixie> i'm not really following the attack vector you're concerend about
- # [01:58] * Joins: sicking (~sicking@corp.mtv2.mozilla.com)
- # [01:59] <boogyman> I use public computers frequently, and it's a chore to go into the settings of the UA and disable auto complete.
- # [01:59] <zewt> are you saying sites should disable autofill? because i'm saying they shouldn't, and they shouldn't even have the option
- # [02:00] <zewt> ... so you want sites to arbitrarily disable browser features for everyone? whether you want autofill is an issue between you and your browser, not websites
- # [02:00] <boogyman> zewt: yes, and i know i am in the minority, but i know i am more data sensitive than most.
- # [02:00] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
- # [02:02] <boogyman> it's my personal opinion that this should be an "opt-in" option for sites, not an "opt out" by UA, but as i stated before, that's really on the authors, not the spec.
- # [02:02] <zewt> sorry, but unless you can defend that a bit better, i think that's an opinion without merit
- # [02:03] <zewt> "browsers should make it easier to globally disable autofill" would be fine, but "99% of users should have an inconsistent and severely inconvenient browsing experience so 1% of people don't have to go into a menu" frankly seems absurd
- # [02:04] <caitp> you'd hope that public computers give you a new profile every time you login, and I think most/many do
- # [02:04] <caitp> but the world is a big place, and there are an awful lot of public computers
- # [02:05] <zewt> personally i'd say if you're entering information into a public computer, no matter what settings you're changing it'd better not be sensitive info
- # [02:05] <zewt> if you have access to change settings (and if the profile doesn't reset every time, as caitp says), then you probably have access to install user scripts for the next guy...
- # [02:06] * Quits: ap (~ap@17.202.44.214) (Quit: ap)
- # [02:07] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
- # [02:08] <boogyman> the opinion has merit, just probably not applicable to the "99%" as you stated.
- # [02:08] <zewt> no opinion has merit if it's not defended :)
- # [02:11] <zewt> bleh, still need to unscrew firefox after that last horrific update, and I assume the inspector still doesn't work with chrome windows...
- # [02:11] <caitp> what do you mean by "upload user scripts", anyway? you mean like, they'd sign into someone elses account because the info was autofilled, and exploit that by using their credentials to get some other exploit onto the server?
- # [02:11] <boogyman> The opinion was based upon the notion that i don't believe pii/pci data should have the option to enable autocomplete=on, but the difficulty there is around defining unique inputs for things that will contain that type of data, but once again, it's really up to the authors to implement the most semantically appropriate tag.
- # [02:11] <zewt> no, just install a foo.user.js as a plugin
- # [02:12] <zewt> that's not really defending the opinion at all, it's just stating it
- # [02:12] <zewt> *why* do you think that I should be disallowed from having my billing and shipping info autofilled?
- # [02:13] <caitp> because it's good practice to memorize your credit card number and home address
- # [02:14] <boogyman> while i agree caitp, that's not a reason for why the spec should demand it. the defense comes in the form of personal defense of that information and business liability (although you really cannot prevent stupid).
- # [02:15] <caitp> that was not a serious statement boogyman, it can be hard to tell with me sometimes
- # [02:15] <boogyman> There's always a tradeoff of ease of use and security and performance.
- # [02:16] <caitp> I think the trade off between security and ease of use is often imaginary
- # [02:16] <caitp> it's more like security -> ease of use -> privacy
- # [02:16] <zewt> well, if you're not going to explain why you think the vast majority of users in the world should be severely inconvenienced, then I'm moving on
- # [02:16] <boogyman> how do you define "new login", because most places I know do not default their "internet" icons to launch in private mode.
- # [02:17] <zewt> and yeah the browser inspector is still unusable in chrome ... it can attach to the browser window, but it won't actually inspect things like tabbrowser
- # [02:17] <zewt> in firefox, rather
- # [02:17] <boogyman> zewt: identity theft is a huge inconvenience.
- # [02:17] <caitp> and I'm sure bruce schneier or someone has written endless articles about how you can actually get quite good security which is easy to use, just at the expense of depending on third parties like Apple or Facebook
- # [02:18] <zewt> non-sequiturs are also inconvenient
- # [02:19] <boogyman> how was my statement not relevant?
- # [02:19] <zewt> incidentally, both chrome and FF let you open windows that don't store any info ("incognito window", "private window") with a single hotkey, so "i don't want to go into settings and disable things" is a non-argument too
- # [02:20] <boogyman> zewt: again not for the spec, but tell that to chrome on android devices. it remembers url history.
- # [02:21] <zewt> and that's an argument to email google and ask for a private browsing mode in android, not for anything else
- # [02:23] * Quits: morbidlyobese (~morbidlyo@gateway/tor-sasl/morbidlyobese) (Quit: morbidlyobese)
- # [02:28] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 258 seconds)
- # [02:33] * Joins: plutoniix (~plutoniix@210.213.57.70)
- # [02:35] * Quits: ambv (~ambv@206.108.217.134) (Quit: sys.exit(0) # computer went to sleep)
- # [02:36] <Hixie> boogyman: so wait, back up. what are you worried about will happen with these shared computers?
- # [02:39] <boogyman> having any of my information stored by the browser or site that i do not authorize.
- # [02:39] * Joins: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
- # [02:40] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [02:42] * ojan_gardening is now known as ojan_home_sick
- # [02:43] <caitp> I think it's a fair point, that the next billion or 2 billion people on the net might not all have the technical know-how to cover their tracks when they need to, or might otherwise not have an opportunity to do that, and this can lead to breaches of privacy
- # [02:43] * Quits: espadrine (~ttyl@AMontsouris-158-1-51-85.w92-128.abo.wanadoo.fr) (Ping timeout: 264 seconds)
- # [02:43] <caitp> which is a different kind of security violation, but it's not irrelevant
- # [02:45] <caitp> I don't think you can really solve that problem at the W3C or WHATWG though, that's something individual applications and browser vendors need to worry about, and is probably not a real argument against autofill
- # [02:46] <Hixie> boogyman: well, stored by the browser is up to the browser and how you configure it. stored by the site, if you don't want the site to store your information, good luck. :-)
- # [02:46] <Hixie> boogyman: doesn't seem to have much to do with autofill though
- # [02:47] * Quits: sicking (~sicking@corp.mtv2.mozilla.com) (Quit: sicking)
- # [02:48] <caitp> it would be good if you could create a law by which all user agents had to abide, which ensured that it was easy to understand and configure privacy settings
- # [02:48] <boogyman> auto-fill is a post storage concern. If the UA did store the data, it could then auto complete(fill) those same fields.
- # [02:48] <caitp> and magically ensured that all users knew about them and their importance
- # [02:51] * Quits: othermaciej (~mjs@17.114.218.14) (Quit: othermaciej)
- # [02:51] <caitp> but as good as that might be, it's probably not something feasible in the real world
- # [02:52] <zewt> (keep laws out of browsers used by people in every country)
- # [02:55] * Joins: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com)
- # [02:56] <zewt> well, fixed up the broken tab bar, time for the address bar...
- # [02:57] <SamB> zewt: how's your status bar doing?
- # [02:58] <zewt> i don't have one of those. heh
- # [02:58] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [02:59] * Joins: jungkees (uid24208@gateway/web/irccloud.com/x-qebfaisorgygpanb)
- # [03:01] * Joins: ivan\ (~ivan@unaffiliated/ivan/x-000001)
- # [03:01] * Joins: Goplat (~goplat@reactos/developer/Goplat)
- # [03:02] <zewt> https://zewt.org/~glenn/blah.png getting there
- # [03:03] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
- # [03:06] * Quits: lmclister (~lmclister@192.150.10.210)
- # [03:10] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
- # [03:10] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [03:13] * Quits: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
- # [03:14] * Joins: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
- # [03:27] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
- # [03:28] * Quits: benv (~benv@38.104.194.126) (Quit: Computer has gone to sleep.)
- # [03:32] * Quits: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
- # [03:35] * Joins: foxtrotwhiskey (~foxtrotwh@c-98-225-154-188.hsd1.pa.comcast.net)
- # [03:38] <zewt> oh jesus, the address bar animates around
- # [03:43] * Quits: PLATOSCAVE (~PLATOSCAV@66-214-254-73.static.lsan.ca.charter.com) (Ping timeout: 240 seconds)
- # [03:43] <SamB> zewt: OUUUCH
- # [03:44] <SamB> I can't *wait* for australis to hit ESR
- # [03:44] * Joins: PLATOSCAVE (~PLATOSCAV@66-214-254-73.static.lsan.ca.charter.com)
- # [03:51] * Quits: rcombs (~rcombs@rcombs.me) (Ping timeout: 240 seconds)
- # [03:53] * Joins: newtron (~newtron@184.175.19.162)
- # [03:53] * Joins: rcombs (~rcombs@rcombs.me)
- # [03:54] <zewt> https://zewt.org/~glenn/blah2.png well, good enough for now
- # [03:57] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [04:05] * Quits: newtron (~newtron@184.175.19.162) (Remote host closed the connection)
- # [04:05] * Joins: newtron (~newtron@184.175.19.162)
- # [04:08] * Joins: tantek (~tantek@172.56.30.78)
- # [04:10] * Quits: newtron (~newtron@184.175.19.162) (Ping timeout: 240 seconds)
- # [04:11] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
- # [04:13] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
- # [04:14] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
- # [04:14] * weinig_ is now known as weinig
- # [04:22] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [04:34] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [04:34] * Joins: plutoniix (~plutoniix@210.213.57.70)
- # [04:34] * Quits: seventh (seventh@207-207-17-97.fwd.datafoundry.com) (Ping timeout: 252 seconds)
- # [04:38] * Quits: foxtrotwhiskey (~foxtrotwh@c-98-225-154-188.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
- # [04:43] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [04:45] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [04:53] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [04:56] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [04:56] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
- # [04:56] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
- # [05:02] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [05:06] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [05:08] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
- # [05:12] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
- # [05:14] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [05:14] * Quits: kinetik (~kinetik@121-99-30-134.bng1.nct.orcon.net.nz) (Ping timeout: 252 seconds)
- # [05:14] * Joins: kinetik (~kinetik@121-99-30-134.bng1.nct.orcon.net.nz)
- # [05:15] * Joins: xiinotulp (~plutoniix@210.213.57.70)
- # [05:17] * Quits: plutoniix (~plutoniix@210.213.57.70) (Ping timeout: 240 seconds)
- # [05:20] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [05:33] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 276 seconds)
- # [05:33] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Quit: Snuggling with the puppies)
- # [05:33] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
- # [05:34] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [05:40] * Quits: boogyman (~boogyman@pdpc/supporter/professional/boogyman) (Quit: ChatZilla 0.9.90.1 [Firefox 29.0.1/20140506152807])
- # [05:41] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
- # [05:49] * xiinotulp is now known as plutoniix
- # [05:51] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Quit: Snuggling with the puppies)
- # [05:55] * Quits: weinig (~weinig@17.202.48.136) (Quit: weinig)
- # [05:55] * Quits: jwalden (~waldo@corp.mtv2.mozilla.com) (Quit: ChatZilla 0.9.87-8.1450hg.fc20 [XULRunner 29.0/20140428110119])
- # [05:57] * Quits: tantek (~tantek@172.56.30.78) (Ping timeout: 240 seconds)
- # [06:04] * Quits: aretecode (~aretecode@50.23.131.206-static.reverse.softlayer.com) (Ping timeout: 264 seconds)
- # [06:06] * Joins: tantek (~tantek@76.14.35.92)
- # [06:07] * Joins: aretecode (~aretecode@192.159.162.143)
- # [06:08] * Quits: nunnun (~hiro@2001:200:164:48:20c:29ff:fe02:11d2) (Quit: Bye)
- # [06:09] * Quits: aretecode (~aretecode@192.159.162.143) (Remote host closed the connection)
- # [06:10] * Joins: nunnun (~hiro@2001:200:164:48:20c:29ff:fe02:11d2)
- # [06:21] * Joins: gavin__ (~gavin@76.14.87.162)
- # [06:21] * Joins: ehsan (~ehsan@209.49.120.130)
- # [06:25] * Quits: plutoniix (~plutoniix@210.213.57.70) (Ping timeout: 258 seconds)
- # [06:26] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [06:26] * Joins: plutoniix (~plutoniix@210.213.57.70)
- # [06:34] * Joins: jernoble (~jernoble@162.217.73.171)
- # [06:38] * Quits: tantek (~tantek@76.14.35.92) (Quit: tantek)
- # [06:50] * Quits: jgraham (~jgraham@web91.webfaction.com) (Ping timeout: 245 seconds)
- # [06:50] * Quits: rxgx (uid22483@gateway/web/irccloud.com/x-mhzszzfcbvlqmakb) (Quit: Connection closed for inactivity)
- # [06:50] * Joins: jgraham (~jgraham@web91.webfaction.com)
- # [06:56] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
- # [06:57] * Joins: ehsan_ (~ehsan@209.49.120.130)
- # [06:58] * Quits: ehsan (~ehsan@209.49.120.130) (Read error: Connection reset by peer)
- # [07:00] * Joins: IZh (~IZh@83.220.237.223)
- # [07:01] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
- # [07:01] <zewt> wonder which tab in firefox is making my cpu spin up constantly
- # [07:01] <zewt> mysteries
- # [07:02] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
- # [07:19] * Quits: IZh (~IZh@83.220.237.223) (Ping timeout: 240 seconds)
- # [07:19] * Quits: Joseph_Silber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 252 seconds)
- # [07:27] * Joins: sicking (~sicking@209.49.120.130)
- # [07:28] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [07:30] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [07:32] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [07:41] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
- # [07:43] * Joins: espadrine (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
- # [07:47] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Ping timeout: 252 seconds)
- # [07:56] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [07:59] * Quits: espadrine (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
- # [08:01] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [08:05] * Quits: ehsan_ (~ehsan@209.49.120.130) (Remote host closed the connection)
- # [08:06] * Joins: Ducki (~Ducki@137.116.197.171)
- # [08:07] * Joins: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com)
- # [08:09] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
- # [08:18] * Joins: ehsan (~ehsan@209.49.120.130)
- # [08:20] * Quits: ehsan (~ehsan@209.49.120.130) (Remote host closed the connection)
- # [08:20] * Joins: ehsan (~ehsan@209.49.120.130)
- # [08:23] * Quits: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com) (Ping timeout: 265 seconds)
- # [08:23] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [08:25] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [08:26] * Quits: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon) (Quit: Connection closed for inactivity)
- # [08:29] * Joins: Ms2ger (~Ms2ger@91.182.70.155)
- # [08:29] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [08:38] * Quits: ehsan (~ehsan@209.49.120.130) (Quit: Leaving...)
- # [08:38] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Remote host closed the connection)
- # [08:39] * Joins: sedovsek (~robert@89.143.12.238)
- # [08:42] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 255 seconds)
- # [08:48] * Joins: zdobersek (~zan@109.201.152.239)
- # [08:57] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [08:57] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [08:58] * Quits: KevinMarks (~yaaic@2607:fb90:220e:af95:6c36:49fa:7bb3:45e7) (Ping timeout: 240 seconds)
- # [09:00] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
- # [09:02] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [09:05] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [09:10] * Quits: sankha93 (~sankha93@fsf/emeritus/sankha93) (Remote host closed the connection)
- # [09:10] * Quits: zdobersek (~zan@109.201.152.239) (Ping timeout: 276 seconds)
- # [09:12] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
- # [09:12] * Quits: jernoble (~jernoble@162.217.73.171) (Quit: Computer has gone to sleep.)
- # [09:14] * Joins: KevinMarks (~yaaic@2607:fb90:f13:915e:4603:ca82:4542:955e)
- # [09:19] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [09:28] * Joins: zdobersek (~zan@109.201.154.203)
- # [09:31] * Quits: zdobersek (~zan@109.201.154.203) (Client Quit)
- # [09:31] * Joins: zdobersek (~zan@109.201.154.203)
- # [09:31] * Joins: Smylers (~smylers@176.12.107.140)
- # [09:34] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [09:35] * Joins: richt (~richt@83.218.67.123)
- # [09:39] * Quits: Smylers (~smylers@176.12.107.140) (Ping timeout: 264 seconds)
- # [09:43] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [09:43] * Quits: zdobersek (~zan@109.201.154.203) (Ping timeout: 258 seconds)
- # [09:48] * Joins: Smylers (~smylers@81.143.60.194)
- # [09:48] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
- # [09:57] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [09:58] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [09:58] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [10:01] * Joins: marcosc (~marcosc@66.207.208.102)
- # [10:02] * Joins: zdobersek (~zan@109.201.152.226)
- # [10:02] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [10:02] * Quits: jdaggett (~jdaggett@61-121-216-2.bitcat.net) (Quit: jdaggett)
- # [10:03] * Joins: yoav (yoav@nat/google/x-gukafgsyzodgbexd)
- # [10:05] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 240 seconds)
- # [10:06] * Joins: darobin (~darobin@78.109.80.74)
- # [10:07] * Quits: sicking (~sicking@209.49.120.130) (Quit: sicking)
- # [10:10] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 240 seconds)
- # [10:15] * Quits: rniwa (~rniwa@17.202.43.222) (Quit: rniwa)
- # [10:16] * Quits: yoav (yoav@nat/google/x-gukafgsyzodgbexd) (Ping timeout: 240 seconds)
- # [10:22] * Joins: Ducki_ (~Ducki@137.116.197.171)
- # [10:23] * Quits: Ducki (~Ducki@137.116.197.171) (Ping timeout: 252 seconds)
- # [10:24] * Quits: Ms2ger (~Ms2ger@91.182.70.155) (Ping timeout: 245 seconds)
- # [10:26] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [10:26] * Quits: Ducki_ (~Ducki@137.116.197.171) (Ping timeout: 240 seconds)
- # [10:29] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
- # [10:31] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
- # [10:37] * Quits: tav (~tav`@host31-52-138-103.range31-52.btcentralplus.com) (Quit: tav)
- # [10:43] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [10:43] * Joins: annevk (annevk@nat/google/x-qfogxifacbzctwoq)
- # [10:58] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [10:59] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
- # [11:03] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [11:06] * Joins: Lachy (~Lachy@213.166.174.2)
- # [11:06] * Quits: zdobersek (~zan@109.201.152.226) (Quit: Leaving.)
- # [11:06] * Joins: zdobersek (~zan@109.201.152.226)
- # [11:10] <darobin> quick question for the webidl2.js interface: what's a good name for a type that can take another type as a parameter? (cc tobie)
- # [11:11] <darobin> e.g. Promise<Foo> or sequence<Bar>
- # [11:11] <darobin> parametrised type?
- # [11:13] <tobie> We need that because some specs (*cough* ServiceWorkers *cough*) are extending the Promise type e.g.: ResponsePromise<any>
- # [11:13] <darobin> and it would be nice if what you get in the AST matched something that people can vaguely understand
- # [11:15] <tobie> note that ResponsePromise<any> isn't supported by WebIDL atm, though.
- # [11:15] <tobie> (no idea what the plan is)
- # [11:21] <darobin> tobie: http://en.wikipedia.org/wiki/Generic_programming might be the right answer
- # [11:21] <darobin> though all I read about this is about Generic classes being parametrised with a type (or variants thereof) so I reckon the "parametrized" instinct might be correct
- # [11:22] <darobin> JakeA: re the "if there's an appcache with the SW" question, how about if instead of your option we require the UA to pull out a robotic arm and stab the developer in the face?
- # [11:23] <JakeA> haha
- # [11:25] * Joins: espadrine (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
- # [11:25] <tobie> that's going to be hard to write tests for.
- # [11:25] <JakeA> darobin: There's a robotic arm in one of our hardware labs with the sticker "Warning: This machine will not only kill you, it will cause great pain as it does so"
- # [11:27] <darobin> tobie: I'm getting several people saying "generic"
- # [11:28] <darobin> tobie: also, it'd be nice to have a test for e.g. Promise<Promise<sequence<DOMStrig>>>
- # [11:28] <darobin> JakeA: hahaha, that's pretty cool
- # [11:28] <tobie> it would be nice indeed.
- # [11:29] <tobie> OK, I'll add such a test.
- # [11:29] * Joins: Ms2ger (~Ms2ger@nata241.ugent.be)
- # [11:30] <darobin> tobie: do you mind also s/parametrized/generic/?
- # [11:30] <tobie> so it would be: { generic: true, genericType: "Promise" }?
- # [11:31] <darobin> the AST is horrible already, if we can make it a little more readable
- # [11:31] <darobin> yeah, that WFM
- # [11:31] <tobie> don't make it look like "parametrized" was my idea. :P
- # [11:31] <darobin> I guess we don't need generic: true if we have genericType, though
- # [11:31] <darobin> heh
- # [11:32] <darobin> I did tell you it was the first thing that popped up :)
- # [11:32] <darobin> but I'm happy with whatever you come up with
- # [11:32] <tobie> yeah we could have: { generic: null } and {generic: "Promise" }
- # [11:32] <darobin> that WFM
- # [11:32] <tobie> ok.
- # [11:33] <darobin> thanks a lot!
- # [11:33] <tobie> np
- # [11:37] * Joins: Ducki (~Ducki@137.116.197.171)
- # [11:41] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
- # [11:42] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Client Quit)
- # [11:43] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
- # [11:43] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [11:44] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Client Quit)
- # [11:47] <annevk> SimonSapin: http://stackoverflow.com/questions/2050973/what-encoding-are-filenames-in-ntfs-stored-as
- # [11:48] * Quits: annevk (annevk@nat/google/x-qfogxifacbzctwoq) (Remote host closed the connection)
- # [11:48] <SimonSapin> thanks annevk, but that doesn’t really answer my question
- # [11:50] * Joins: marcosc (~marcosc@66.207.208.102)
- # [11:50] * Joins: yoav (yoav@nat/google/x-nbnogipmrpqlsqef)
- # [11:50] * Joins: IZh (~IZh@213.33.220.118)
- # [11:54] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 258 seconds)
- # [11:59] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [11:59] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [12:04] * Quits: yoav (yoav@nat/google/x-nbnogipmrpqlsqef) (Ping timeout: 240 seconds)
- # [12:05] <jgraham> Hmm, I thought generic(s) was the language feature enabled by something that could be parameterised over types rather than the name for the thing itself
- # [12:05] <jgraham> But maybe I am wrong
- # [12:06] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [12:06] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Read error: Connection reset by peer)
- # [12:06] <jgraham> (and that Foo<T> where Foo and T are types implied that Foo is a parameterised type)
- # [12:06] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [12:10] <jgraham> Hmm, but wikipedia seems to use "generic type" so ignore me
- # [12:11] <darobin> jgraham: I sort of thought that but basically walked the same path you just did
- # [12:16] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
- # [12:21] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [12:22] * Quits: Ms2ger (~Ms2ger@nata241.ugent.be) (Ping timeout: 276 seconds)
- # [12:23] * Quits: PLATOSCAVE (~PLATOSCAV@66-214-254-73.static.lsan.ca.charter.com) (Quit: https://www.facebook.com/realjohnchalekson)
- # [12:30] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [12:34] * Joins: Ms2ger (~Ms2ger@nata241.ugent.be)
- # [12:40] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 258 seconds)
- # [12:43] * Quits: Ms2ger (~Ms2ger@nata241.ugent.be) (Ping timeout: 264 seconds)
- # [12:58] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [13:02] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [13:12] * Joins: annevk (annevk@nat/google/x-irthdssjajmopjye)
- # [13:14] * Quits: zdobersek (~zan@109.201.152.226) (Ping timeout: 240 seconds)
- # [13:17] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [13:22] <tobie> likewise.
- # [13:23] <tobie> when we have Foo<Bar> , Foo's the Generic type and Bar's the parameterized type, correct?
- # [13:23] <tobie> s/correct/do we agree/
- # [13:24] <tobie> ^ jgraham, darobin
- # [13:25] <darobin> tobie: hmmm, I'm not sure that's the correct terminology, or in fact that there *is* a correct terminology that holds across the board
- # [13:25] <darobin> why do you need the distinction?
- # [13:25] <tobie> For the README. :)
- # [13:26] <tobie> Promise<any> => { generic: "Promise", idlType: "any" } reads kind of weird tbh.
- # [13:26] <tobie> But oh well.
- # [13:27] * Joins: falken (uid20729@gateway/web/irccloud.com/x-qmjdlyedjtjksmny)
- # [13:35] * Quits: 16WAAPRQL (scrollback@conference/jsconf/x-hahuyvxdwqkywtwe) (Remote host closed the connection)
- # [13:35] <annevk> I don't think it's generic at the moment
- # [13:35] <annevk> There's sequence<T> and Promise<T>
- # [13:36] * Joins: 20WAAEX6M (scrollback@conference/jsconf/x-vrszxsolpigaxdhr)
- # [13:36] * Joins: cheron (~cheron@unaffiliated/cheron)
- # [13:38] <tobie> annevk: great use of `generic` in the above sentence.
- # [13:39] <tobie> annevk: agree WebIDL doesn't support that at present. But SW requires it.
- # [13:39] <annevk> tobie: I might be missing something, what does SW require?
- # [13:40] <tobie> ResponsePromise<T>
- # [13:40] <tobie> I'm not advocating for this, btw. Just pointing it out.
- # [13:40] <annevk> Ah subclassing. Subclassing is not supported by IDL basically
- # [13:40] <tobie> agreed.
- # [13:40] <annevk> We need Team Domenic(tm) for that
- # [13:40] <tobie> Question is: will it?
- # [13:40] <tobie> K.
- # [13:41] <annevk> Yeah, once we align with ES6, @@create will be sprinkled around the DOM
- # [13:41] <annevk> Implications unforeseen
- # [13:41] <tobie> Well, in the meantime, the parser supports that more generic syntax for generics.
- # [13:42] <tobie> that is, once darobin pulls in https://github.com/darobin/webidl2.js/pull/15
- # [13:42] <annevk> cool
- # [13:44] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Ping timeout: 265 seconds)
- # [13:49] <darobin> tobie: and merged it is
- # [13:49] <darobin> shipping now
- # [13:49] <tobie> awesome. ty.
- # [13:50] <darobin> tobie: and npm published as 2.0.6 — thanks a bundle!
- # [13:52] <tobie> Yes. Now only [EnsureUTF16] needs fixing.
- # [13:53] * Krinkle|detached is now known as Krinkle
- # [13:55] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
- # [13:55] * Joins: sedovsek (~robert@89.143.12.238)
- # [13:58] <annevk> tobie: so did you see my latest question in that bug?
- # [13:58] <annevk> tobie: I think if everyone agrees that UTF16String means code units in, scalar values out, we should move ahead and use that as a type
- # [13:58] <annevk> tobie: and add a typedef to DOMString for now
- # [13:59] <tobie> I did see the question. Didn't understand most of your premises, though. :(
- # [13:59] * Joins: zdobersek (~zan@109.201.154.148)
- # [13:59] * annevk seems the amount of tabs tobie uses, wonders how he copes
- # [13:59] * tobie doesn't
- # [14:02] * Quits: annevk (annevk@nat/google/x-irthdssjajmopjye) (Remote host closed the connection)
- # [14:14] * Joins: annevk (annevk@nat/google/x-qthwjbnjajkdnrts)
- # [14:16] * Quits: annevk (annevk@nat/google/x-qthwjbnjajkdnrts) (Read error: Connection reset by peer)
- # [14:16] * Joins: annevk (annevk@nat/google/x-lobjlcgrfsuykadz)
- # [14:17] <zcorpan> jgraham: fyi http://dev.w3.org/csswg/cssom-view/#the-features-argument-to-the-open()-method
- # [14:23] <darobin> tobie: re appcache, it might indeed be a good idea to campaign to phase it out once SW becomes broadly available
- # [14:23] <jgraham> zcorpan: That seems exactly equivalent to what's in the HTML spec (every actual action is optional), so it's rather unfortunate that it doesn't live there. It also doesn't seem to actually match UAs (c.f. https://developer.mozilla.org/en-US/docs/Web/API/Window.open )
- # [14:27] <zcorpan> jgraham: i recall seeing different behavior when testing it (unsurprisingly), so i specified what i thought was most useful
- # [14:27] <zcorpan> jgraham: what in particular did you have in mind not matching UAs?
- # [14:28] <jgraham> zcorpan: Well it seems to have fewer features and a different default behaviour (I'm just comparing to the MDN page)
- # [14:29] * Joins: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net)
- # [14:29] <erlehmann> signing web content via pgp has probably been brought up several times, any idea why it was not successful? http://daten.dieweltistgarnichtso.net/src/http-content-pgp-signature/
- # [14:30] <jgraham> e.g. based on the Gecko bug report I assume that "" is treated like no value passed, but "null" implies the default when passing a value which include e.g. scrollbars=no
- # [14:31] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [14:32] <erlehmann> annevk some time ago i had a proposal that media elements in html could be addressed using media fragments. would this require changes in the URL spec? http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/
- # [14:32] <zcorpan> jgraham: ok, thx. yeah the spec doesn't have such "default" behavior
- # [14:32] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:4471:ddd5:3c3b:dd64)
- # [14:35] <zcorpan> i see now that both chrome and firefox open a new tab for empty features but a popup for non-empty
- # [14:37] <jgraham> Yeah, this seems to be pretty nasty and confusing :(
- # [14:40] <zcorpan> jgraham: i looked through the list in MDN and didn't see any feature name that i want to put in the spec. but let me know if something is needed for compat
- # [14:44] <jgraham> zcorpan: Well I guess people are relying on specific features, maybe for intranet apps. So the default behaviour should match and there should be some escape hatch for using the other tokens, I guess
- # [14:44] * Quits: IZh (~IZh@213.33.220.118) (Quit: ChatZilla 0.9.90.1 [SeaMonkey 2.26/20140428215651])
- # [14:49] * Joins: scor (scor@drupal.org/user/52142/view)
- # [14:52] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
- # [15:01] * Joins: newtron (~newtron@199.71.174.203)
- # [15:03] * Quits: kinetik (~kinetik@121-99-30-134.bng1.nct.orcon.net.nz) (Ping timeout: 265 seconds)
- # [15:04] * Joins: kinetik (~kinetik@121-99-208-245.bng1.tvc.orcon.net.nz)
- # [15:05] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Quit: BigBangUDR)
- # [15:09] * Quits: annevk (annevk@nat/google/x-lobjlcgrfsuykadz) (Remote host closed the connection)
- # [15:10] * Joins: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp)
- # [15:11] <SimonSapin> erlehmann: The URL spec provides a string for the fragment, that string could be parsed as a media fragment or as something else. They seem pretty independent
- # [15:17] * Joins: marcosc (~marcosc@66.207.208.102)
- # [15:18] <erlehmann> SimonSapin the point is that my polyfill introduces the concept of a sub-fragment. but other specs already have this, so it probably makes sense to specify this on an HTML level, no?
- # [15:18] * Quits: Lachy (~Lachy@213.166.174.2) (Read error: Connection reset by peer)
- # [15:18] * Joins: Lachy (~Lachy@213.166.174.2)
- # [15:19] <SimonSapin> what’s a sub-fragment?
- # [15:19] <erlehmann> SimonSapin see the example at http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/
- # [15:19] <erlehmann> it links to http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/#audio&t=8
- # [15:20] <erlehmann> which means „the resource embedded by the element with the id audio at time 8“
- # [15:22] <SimonSapin> Hum, maybe that should be in HTML near http://whatwg.org/C#scroll-to-fragid , but I don’t think it needs any change in the URL spec
- # [15:22] <erlehmann> or http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/#video&t=00:20
- # [15:22] <erlehmann> the video at time 00:20
- # [15:23] * Joins: yoav (yoav@nat/google/x-wdluowdmgisvafqo)
- # [15:26] * Quits: payman (~payman@ip-200.t2.se.opera.com) (Ping timeout: 240 seconds)
- # [15:27] * Quits: zdobersek (~zan@109.201.154.148) (Ping timeout: 240 seconds)
- # [15:28] * Joins: payman (~payman@ip-200.t2.se.opera.com)
- # [15:30] <zewt> well, media fragments are only for media resources (like an actual image or video), right? it's a lot more complex if you want to do it to html, where the fragment is in use
- # [15:31] <zewt> sounds like a case for the ##key=value thing that was talked about a few weeks ago
- # [15:32] * Quits: kinetik (~kinetik@121-99-208-245.bng1.tvc.orcon.net.nz) (Ping timeout: 240 seconds)
- # [15:33] * Quits: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net) (Quit: is sleepy)
- # [15:34] * Joins: TallTed (~Thud@63.119.36.36)
- # [15:34] * Quits: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net) (Quit: Die demokratieerhaltende Whistleblowerplattform Krautchan freut sich immer über Spenden.)
- # [15:34] * Joins: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net)
- # [15:35] <erlehmann> SimonSapin sorry
- # [15:36] <erlehmann> connection was lost
- # [15:36] <erlehmann> SimonSapin did you see my last messages about http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/#video&t=00:20 signifying the video element at time 00:20?
- # [15:37] <zewt> erlehmann http://krijnhoetmer.nl/irc-logs/whatwg/20140514#l-633
- # [15:37] <erlehmann> thx
- # [15:37] <SimonSapin> erlehmann: yes. Did you see mine? http://krijnhoetmer.nl/irc-logs/whatwg/20140514#l-626
- # [15:38] <erlehmann> yes, zewt, something like http://example.org#video##t=00:20 would probably result in even less collisions with actual content
- # [15:39] <zewt> specifically, it allows authors to have hash urls that by design are compatible with ##stuff (not that it would happen automatically, of course)
- # [15:39] <erlehmann> though i have gone through content already and the ampersand followed by letters followed by an equals sign is really rare
- # [15:39] <erlehmann> SimonSapin http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/080689.html
- # [15:40] <zewt> i've done it personally, so i doubt it
- # [15:40] <erlehmann> > Also, img elements could certainly benefit from spatial media fragments.
- # [15:40] <erlehmann> zewt in ids of elements?
- # [15:41] <zewt> i often use urls like http://foo.com/server/path?server=1&query=2#client/path?client=1&query=2
- # [15:41] <erlehmann> zewt http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/080703.html
- # [15:41] * Joins: kinetik (~kinetik@121-99-42-74.bng1.nct.orcon.net.nz)
- # [15:41] <erlehmann> zewt so you have then an element with id „client/path?client=1&query=2” ?
- # [15:42] <zewt> where "server/path?server=1&query=2" and "client/path?client=1&query=2" are logically equivalent and parsed the same way, except the former is for the server's use and the latter is for script use
- # [15:42] <zewt> no, of course not, it's for history API-based scripts
- # [15:42] <erlehmann> sounds exceedingly brittle
- # [15:42] <erlehmann> well, then we have no conflict
- # [15:42] <zewt> nope, works perfectly fine
- # [15:42] <erlehmann> conflict only would be if there is a collision
- # [15:42] * Quits: TallTed (~Thud@63.119.36.36)
- # [15:42] <zewt> there's a conflict because i might have a client query key named "t", which could suddenly trigger a video to seek or something
- # [15:43] <erlehmann> zewt only if you have a video that has an id!
- # [15:43] <erlehmann> that is the whole point of my proposal
- # [15:43] <erlehmann> take http://example.com/server/path?server=1&query=2#client/path?client=1&query=2&t=3
- # [15:44] <zewt> a lot of assumptions, and it prevents the use of your thing with client-side queries, which is exactly something the ##thing is meant to allow
- # [15:44] <erlehmann> then you would need to have a video with the id of 'client/path?client=1' for anything to go haywire
- # [15:44] <erlehmann> can you point me to the ## thing?
- # [15:44] <erlehmann> i just want a simple thing to link to media on web pages. this is currently *not* possible
- # [15:44] <zewt> it was a long and noisy discussion that i probably should have summarized on the list
- # [15:46] <zewt> (one sec, i summarized it on irc at the time, searching for it)
- # [15:46] <erlehmann> i am not at all interested in javascript. i just want to conflicts
- # [15:46] <erlehmann> no conflicts
- # [15:46] <erlehmann> and a simple declarative way to say „this video on that page at that time“
- # [15:46] <erlehmann> HEY LOOK AT THAT KITTEN
- # [15:46] <erlehmann> something that currently needs js which is implemented differently every single time
- # [15:46] <erlehmann> or stuff like „hey, look at her face here on this page“
- # [15:46] <zewt> we shouldn't be introducing features that "aren't interested in javascript"
- # [15:47] <erlehmann> oh you
- # [15:47] <erlehmann> read that again. *i* am not interested in javascript.
- # [15:47] <erlehmann> the feature should surely not prevent its use
- # [15:47] <zewt> which implies "i don't care if this feature works with JS"
- # [15:47] <erlehmann> wrong
- # [15:47] <erlehmann> it implies “i don't want a feature that needs js”
- # [15:48] <zewt> ... what needs js?
- # [15:48] * Joins: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95)
- # [15:49] <zewt> the point is allowing browser features in the fragment to be compatible with scripts that also use the fragment (not for browser features to require JS when they don't have to)
- # [15:49] <erlehmann> because we already have an incompatible mess of scripts that forward to a point in time of an embedded media resource
- # [15:49] * Quits: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net) (Quit: Die demokratieerhaltende Whistleblowerplattform Krautchan freut sich immer über Spenden.)
- # [15:52] * Joins: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net)
- # [15:52] <erlehmann> sorry, network
- # [15:53] <zewt> the ## proposal is essentially: http://foo.com##key1=value2##key2=value, or http://foo.com#anything##key1=value1##key2=value2, probably parsed as "search for ##key1= in the hash, the value is everything until the next # or the end of string" (doesn't need to be anything fancier than that, I think)
- # [15:54] <erlehmann> zewt doesn't that ensure that private semantics are used?
- # [15:54] <zewt> the main use case at the time was http://foo.com##text=hello ("find the first string "hello" and jump to it")
- # [15:54] <zewt> erlehmann: what do you mean?
- # [15:54] <erlehmann> ah, i misunderstood it probably.
- # [15:54] <erlehmann> private semantics, that people “invent“ keys
- # [15:55] <erlehmann> like with hashbangs
- # [15:55] <zewt> it's intended to be used for browser features like these, while allowing users to put their own stuff in the hash like I do (without them colliding)
- # [15:55] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
- # [15:55] <erlehmann> i see
- # [15:55] <caitp> lets not encourage making uris even less uniform and more stupid
- # [15:55] <caitp> please
- # [15:55] <erlehmann> i see users putting “their own stuff” in the hash as something evil
- # [15:55] <caitp> they're bad enough as it is
- # [15:55] <zewt> eg. if I have http://foo.com#activeTab=settings, the two can coexist: http://foo.com#activeTab=settings##text=hello
- # [15:56] <erlehmann> what caitp says
- # [15:56] <zewt> caitp: right, this is meant to give some uniformity to custom hash stuff (it can't enforce it, but it gives an option)
- # [15:57] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
- # [15:57] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
- # [15:57] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
- # [15:57] <zewt> erlehmann: well, i couldn't disagree more :)
- # [15:57] <zewt> but that's probably too long a discussion for now as I need to head to work
- # [15:58] <caitp> people already don't really understand uris, and abuse them in all sorts of bizarre ways that they were never intended for
- # [15:58] <zewt> but people putting data in the hash is a common, accepted practice, supported by the web (History.pushState) and it's not going away
- # [15:58] * Joins: marcosc (~marcosc@66.207.208.102)
- # [15:58] <caitp> it doesn't need another abuse vector @_@
- # [15:58] <erlehmann> yeah, what caitp says
- # [15:58] <erlehmann> this recent “haha, privacy is bad enough, lets give more fingerprinting options” is something like that
- # [15:58] <erlehmann> “the web is broken, lets break it more!”
- # [15:59] <zewt> alright, this conversation is turning rhetorical rather than informative so I'm headed to work now :)
- # [16:00] <TabAtkins> erlehmann: Not really. The fingerprinting thing is "We're already broken almost completely, and are very unlikely to fix it in any meaningful way, so more breaking doesn't hurt anything.".
- # [16:00] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 265 seconds)
- # [16:00] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201148.unisys.com)
- # [16:00] <zewt> (though it does seem a little weird to say "putting data in the hash is evil and abusive" alongside "i want to encode video timestamps in the hash" is a very confusing pair)
- # [16:00] * Quits: yoav (yoav@nat/google/x-wdluowdmgisvafqo) (Ping timeout: 240 seconds)
- # [16:00] <zewt> (that was a fascinating sentence structure)
- # [16:01] * Joins: TallTed (~Thud@63.119.36.36)
- # [16:01] <TabAtkins> It's an aspect that hits a maximum brokenness and then doesn't get more broken, unlike other things.
- # [16:01] <caitp> don't irc while you drive, zewt
- # [16:01] <caitp> jeeze man
- # [16:01] <zewt> irc has the effect of sucking people back in and making them late for work :P
- # [16:02] <erlehmann> TabAtkins i know, but i think it is really a bad thing to inform untrusted software of how much resources it can afford to waste regardless.
- # [16:02] <TabAtkins> erlehmann: As argued by multiple other people, you can already figure this out roughly with a pretty easy stress-test.
- # [16:03] * Joins: yoav (yoav@nat/google/x-liewzqphrptxirem)
- # [16:04] <erlehmann> TabAtkins i think one should not make it easier.
- # [16:05] <erlehmann> OTOH, maybe you don't think that the linux OOM killer is a pretty good idea.
- # [16:05] <erlehmann> because if an application wants to “stress test” the memory subsystem, it will be terminated
- # [16:05] <TabAtkins> Shrug. It *is* a useful piece of information.
- # [16:05] <erlehmann> what's your stance on that?
- # [16:05] <erlehmann> and that i think not. i think it is something that encourages wasteful programming.
- # [16:06] <erlehmann> and user differentiation. i have already seen web pages that tell me to get a new graphics card.
- # [16:06] <erlehmann> which makes the web less universal
- # [16:06] <caitp> if people had to be competent kernel developers to write web applications, the web would be a lot tinier
- # [16:06] <erlehmann> “this web pages needs at least 4 cores”
- # [16:06] <erlehmann> caitp it is not about kernel developers. it is about app developers
- # [16:06] * Quits: jungkees (uid24208@gateway/web/irccloud.com/x-qebfaisorgygpanb) (Quit: Connection closed for inactivity)
- # [16:07] <TabAtkins> I have some webapp that benefits from parallelization. It's silly to spawn up more workers than a comp can possibly use; it'll just mean I waste more time in scheduling.
- # [16:07] <erlehmann> as soon as you find out that there *is* an OOM killer, you try to allocate the least amount of memory reasonably possible
- # [16:07] <erlehmann> lest your app is killed
- # [16:08] <erlehmann> TabAtkins that's quite true. though my core uno machine only becomes notably less responsive when load is >200
- # [16:08] <erlehmann> so kudos to the scheduling people
- # [16:08] <erlehmann> (yes, two zeros)
- # [16:09] <erlehmann> TabAtkins may i ask why “use all available resources” is important in your case?
- # [16:09] <erlehmann> instead of having a baseline and then going all linear growth / exponential backoff from that?
- # [16:10] * Quits: yoav (yoav@nat/google/x-liewzqphrptxirem) (Ping timeout: 240 seconds)
- # [16:10] <TabAtkins> Because it's simpler and more likely to get right immediately. It's definitely not as good as dynamic scaling, but is simpler.
- # [16:11] * Joins: jonathanmarvens (~jonathanm@2601:6:7700:929:78c0:2971:e71d:2208)
- # [16:11] <erlehmann> TabAtkins so what would happen if something like your page is opened in two tabs?
- # [16:11] * Joins: dcherman (~dcherman@164.55.254.106)
- # [16:11] <erlehmann> both spawn maximum workers?
- # [16:11] <TabAtkins> Yeah, probably.
- # [16:11] <TabAtkins> I mean, the thing in back is gonna get scaled back by the browser anywya.
- # [16:12] <erlehmann> well, then it sounds to me that the “give me an integer for concurrency” proposal is simple and more likely to be horribly wrong
- # [16:12] <erlehmann> because if it is simple, people will use it
- # [16:12] <TabAtkins> More likely to be right than guessing an arbitrary number, which is what most people do today.
- # [16:12] <erlehmann> and advice might be “spawn the number of workers that navigator.concurrency” gives
- # [16:12] <erlehmann> instant scheduler hell.
- # [16:13] <TabAtkins> The options are: (1) guess, (2) use what the browser tells you, or (3) implement dynamic perf scaling.
- # [16:13] <TabAtkins> The first two are way easier, and (2) is better than (1).
- # [16:13] <erlehmann> maybe (3) can be made easier
- # [16:13] <caitp> it would help if people stopped thinking of concurrency as multithreading
- # [16:13] <TabAtkins> Everyone keeps suggesting that we can invent things that make (3) and other more complex multi-core scheduling easier. But nobody's produced such a thing, so shrug.
- # [16:14] * Joins: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net)
- # [16:15] <caitp> ideally you shouldn't have to care how many processing units you have to decide how many coroutines you need
- # [16:15] <caitp> because they shouldn't be related
- # [16:15] <erlehmann> TabAtkins i think the difference is that some people (me included) think that more deliberation is going to produce a better outcome than immediate action.
- # [16:17] <erlehmann> TabAtkins there is precedent for gcd-style stuff in js https://github.com/skylar/node-tasks/blob/master/examples.js
- # [16:17] <TabAtkins> And you're more than welcome to deliberate and develop such a thing so we can replace it. In the meantime, replacing the "just guess a number" approach is a benefit, simplifies something you can already do, and can be done on every other platform.
- # [16:19] <erlehmann> why not have a call that instantiates a worker and then provides a return value to say if it is safe to instantiate another?
- # [16:19] <erlehmann> or something?
- # [16:19] <erlehmann> hmm
- # [16:20] <caitp> TabAtkins, if workers were more like goroutines or even rust tasks, (which they already are, sort of, in an API sense), it becomes much less of a problem, because you don't necessitate a new thread or process
- # [16:20] <erlehmann> i'm pulling that out of my ass and should really not comment on that. i am not qualified.
- # [16:20] <caitp> and you don't have to worry as much about how many simultaneous jobs you can run
- # [16:20] <caitp> they may or may not be simultaneous, it's not important
- # [16:20] <TabAtkins> erlehmann: How is that not equivalent to just providing a number of workers you can instantiate up front?
- # [16:21] <TabAtkins> caitp: Yeah, even lighter-weight routines are nice, but they're not what Workers are.
- # [16:21] <caitp> but they could be
- # [16:21] <erlehmann> TabAtkins it encourages dynamic scaling
- # [16:21] <caitp> web developers don't need pthreads
- # [16:22] <caitp> ensuring that they're heavyweight creates this problem and doesn't necessarily benefit people
- # [16:22] <TabAtkins> erlehmann: Devs would just quickly gen everything they need until they get a false return value. Identical to getting the number up-front and generating the number they need.
- # [16:22] <TabAtkins> caitp: Sometimes you do need heavier threads.
- # [16:22] <caitp> sometimes, but what if you need them and only have a single core machine
- # [16:22] <erlehmann> i think the distinction between threads and coroutines is pretty arbitrary
- # [16:23] <caitp> but you still have two tasks you want to run concurrently
- # [16:23] <TabAtkins> caitp: Well they get scheduled against each other then. Ah well.
- # [16:23] <caitp> I mean, you could let the OS do the scheduling for you, but then you have the cost of context switching between them
- # [16:23] <caitp> and that's not very helpful is it
- # [16:24] * Joins: tav (~tav`@dab-yat1-h-17-4.dab.02.net)
- # [16:24] * Quits: tav (~tav`@dab-yat1-h-17-4.dab.02.net) (Client Quit)
- # [16:25] <caitp> the browser has this knowledge, and it can decide to split things across 1, 2, 4, 8 or N jobs, the developer shouldn't have to care. even if they think they need to care, they probably don't
- # [16:26] <erlehmann> what caitp says
- # [16:26] <erlehmann> if they think they have to care, there should be an api to group workers that should be run in parallel
- # [16:27] <jgraham> TabAtkins: AFAICT the arguments in favour of .hardwareConcurrency simultaneously assume that you can just rely on the scheduler to cover you when you spin up N workers on an N core machine and M cores are either unlike the other cores, or are running some other tasks, and assume that the scheduler can't cover you if you just guess that "8" is probably
- # [16:27] <jgraham> TabAtkins: AFAICT the arguments in favour of .hardwareConcurrency simultaneously assume that you can just rely on the scheduler to cover you when you spin up N workers on an N core machine and M cores are either unlike the other cores, or are running some other tasks, and assume that the scheduler can't cover you if you just guess that "8" is probablyQuery matches in addon-sdk/Makefile.in Line Code Snippet
- # [16:27] <jgraham> Hmm
- # [16:27] <zewt> parse error, redo from start
- # [16:27] <jgraham> that "4" or "8" is probably an OK value
- # [16:28] <TabAtkins> Not quite for the latter one. It's that we can improve over just guessing "8"; for machines with less useful cores, you can use the smaller number and avoid contending with the scheduler overhead unnecessarily.
- # [16:29] <TabAtkins> (Computer's about to die, so I'll probably check out.)
- # [16:30] * Joins: annevk (annevk@nat/google/x-bvyrqdilvkzhlpuu)
- # [16:30] <jgraham> An improvement that is likely to be just as wrong in many cases seems like a very margianal improvement indeed
- # [16:31] <TabAtkins> Luckily it's a very marginal cost as well.
- # [16:35] <zewt> when one implementor says "we'll just cap it to 8 [and screw over people with powerful computers]" it makes one skeptical, heh
- # [16:36] <caitp> exactly what are you doing in your web app that you need 10+ proper threads?
- # [16:37] <zewt> what? any task that's CPU-bound and parallelizes well ("reencode lots of files from MP3 to Vorbis", etc)
- # [16:38] * Quits: KevinMarks (~yaaic@2607:fb90:f13:915e:4603:ca82:4542:955e) (Ping timeout: 240 seconds)
- # [16:38] <jgraham> (I also note that 1 worker = one thread is not required anywhere)
- # [16:38] <caitp> it's not required, but it is pretty much hinted at
- # [16:38] <jgraham> (and that's not how presto implements it, for example)
- # [16:39] <zewt> yeah, that should be treated as an implementation detail
- # [16:39] <caitp> the spec says that workers are heavyweight, and can be pretty much expected to be OS threads
- # [16:39] <zewt> no sense creating lots of system threads if they're I/O-bound workers that sit around waiting for messages a lot
- # [16:39] <zewt> the spec is occasionally mistaken
- # [16:39] <caitp> in other words no scheduling algorithm is specified and it's up to the host platform
- # [16:40] <caitp> unless the browser comes up with something on its own, which may or may not be adequate
- # [16:40] * Joins: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net)
- # [16:41] <zewt> the spec doesn't distinguish between the "OS" and the "browser" in any real way, as far as I know, they're all just implementation details
- # [16:41] * Joins: BigBangUDR (~Thunderbi@101.56.5.91)
- # [16:42] * Quits: BigBangUDR (~Thunderbi@101.56.5.91) (Client Quit)
- # [16:43] <caitp> i'm not saying the web workers spec should tell browsers how to schedule microtasks or anything, but it would probably be good if browsers were encouraged to implement them
- # [16:43] * Quits: hsivonen_ (~hsivonen@bugzilla.validator.nu) (Ping timeout: 240 seconds)
- # [16:44] <zewt> what detectable behavior do you think is underspecified?
- # [16:44] <zcorpan> caitp: workers don't have to be heavyweight though. i think the impl in presto was lightweight, but then it also didn't take advantage of multiple cores
- # [16:44] * Joins: hsivonen (~hsivonen@bugzilla.validator.nu)
- # [16:45] <caitp> it's not that they have to be heavyweight
- # [16:45] <caitp> but the spec sort of says "they're probably heavyweight, they're allowed to be heavyweight"
- # [16:45] <zcorpan> yeah
- # [16:45] <caitp> and as a result, they likely are OS threads
- # [16:45] <zewt> i'd expect browsers to have a small pool of real threads, and to schedule workers on them, so it would use multiple cores but also allow limiting the number of real threads and not taking whole threads for blocking workers
- # [16:46] <Domenic> Normatively workers are "a separate thread or process or equivalent construct"
- # [16:46] <caitp> welcome to chromium where you have entirely different processes all over the place
- # [16:46] * Quits: richt (~richt@83.218.67.123) (Remote host closed the connection)
- # [16:47] <zewt> not using multiple real threads is lame and poor implementation quality, but the spec shouldn't try to prevent it (if browsers want to pretend that each tab only gets one CPU, they can do that)
- # [16:47] * Joins: richt (~richt@83.218.67.123)
- # [16:48] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [16:48] <jgraham> Domenic: "equivalent construct" is a lot of leeway
- # [16:49] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
- # [16:49] <zewt> Domenic: i don't think a phrase starting with "i.e." can be considered normative, heh
- # [16:50] <Domenic> zewt: I think "i.e." can; "e.g." cannot.
- # [16:50] * Parts: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net) ("Nein.")
- # [16:50] <zewt> more practically, i'm not sure what detectable behavior we're talking about that we think is wrong or underspecified
- # [16:50] <jgraham> I'm not sure I think that anything is wrong or underspecified
- # [16:51] * Quits: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
- # [16:51] * Quits: richt (~richt@83.218.67.123) (Ping timeout: 252 seconds)
- # [16:52] <caitp> I don't think you want the spec to encourage applications to care about how many cores they have available
- # [16:52] <caitp> just IMO
- # [16:52] <caitp> the browser should care, but script contexts not so much
- # [16:52] <zewt> are you referring to the "are workers threads" discussion, or are you talking about something else?
- # [16:53] <caitp> I'm referring to the "integer telling you how many cores you have" thing
- # [16:53] <zewt> okay, context change marker needed :)
- # [16:53] <zewt> i'm very unconvinced about that feature too
- # [16:54] <zewt> (not to say I'm totally convinced against it, either)
- # [16:56] <caitp> in my mind, once you start going down that road, before you know it you've got WebIDL mapping 1:1 with pthreads
- # [16:56] <caitp> and nobody wants that
- # [16:56] <Domenic> asm.js people want that
- # [16:56] <zewt> sounds like a bit of a giant leap
- # [16:56] <caitp> they think they want that, they don't really
- # [16:56] <Domenic> no, literally, e.g. epic games wants to be able to compile their pthread-using C++ to JS
- # [16:56] * Quits: annevk (annevk@nat/google/x-bvyrqdilvkzhlpuu) (Remote host closed the connection)
- # [16:57] <zewt> that stuff has always seemed like impractical nonsense to me
- # [16:57] <caitp> I think it is okay to say "hint that this worker probably wants to have its own OS thread"
- # [16:57] <zewt> why would you need to do that?
- # [16:57] <caitp> because maybe you're Epic Games or whoever
- # [16:58] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201148.unisys.com) (Read error: Connection reset by peer)
- # [16:58] <zewt> sorry, that does help explain what we're talking about now
- # [16:58] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
- # [16:58] <Domenic> yeah, this is a different discussion, i was jumping off of your full pthread-API idea
- # [16:58] <zewt> but it seems like we're far away from "scripts want to know how many threads to use"
- # [16:58] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
- # [16:58] <caitp> it's all related
- # [16:58] <Domenic> web workers, even as heavyweight threads, are so far from pthreads
- # [16:58] <caitp> so, there's a distinction between concurrency and parallelism, do you agree
- # [16:59] * Quits: encryptd_fractl (~encryptd_@23.30.224.246) (Remote host closed the connection)
- # [16:59] <caitp> concurrent tasks may or may not be run in parallel
- # [16:59] <zewt> they're synonyms, so no
- # [16:59] <caitp> they're not actually synonyms
- # [16:59] <Domenic> i am not really interested in a first-principles schooling on concurrency vs. parallelism, so count me out.
- # [16:59] <caitp> people mistake them for synonyms, but they're not
- # [16:59] <zewt> yeah i have things i'd rather be doing
- # [17:00] <caitp> that's fine, but it's worth learning about when you have time
- # [17:00] <zewt> than "take two words that every english speaker uses interchangeably and assign subtle extra meanings to them that nobody has used since their college class on threading fifteen years ago"
- # [17:01] <caitp> well, getting too philosophical about it isn't really worth doing
- # [17:02] <caitp> but the point is, you have N things you want to do, and you want to do them roughly simultaneously to meet some end
- # [17:03] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
- # [17:03] <caitp> you might do them in parallel, or you might do them in sequence a little bit of each at a time
- # [17:03] <caitp> both are concurrent
- # [17:03] <caitp> the distinction, ideally, does not matter to the developer
- # [17:03] <zewt> not sure how that matters here
- # [17:04] * Quits: Ducki (~Ducki@137.116.197.171) (Remote host closed the connection)
- # [17:04] <caitp> it matters because when you stop caring about parallelism vs concurrent, you stop needing to worry about the hardware limits of your platform
- # [17:05] <caitp> the browser allocates your task somewhere, whether on the current thread or some new thread, and you're none the wiser
- # [17:05] <caitp> that's how it should be, invisible to the web developer
- # [17:06] <zewt> sounds very academic; in practice if you start far more processes than CPUs you pay a cost of extra overhead
- # [17:06] <caitp> because the web developer does not know or care whether she's running her task on a different core or not, she doesn't need to care how many cores there are
- # [17:06] <caitp> right, so the browser will be clever and not start more threads than it thinks are appropriate
- # [17:07] <zewt> if you have an embarassingly parallel problem to solve (eg. "do a bunch of work to each of 1000 files") which can scale to any number of CPUs, and you want your program to work well on both 2-CPU machines and 128-CPU machines, you don't want to just start 128 processes, since the 2-CPU machine will have a ton of extra overhead as a result
- # [17:07] * Quits: encryptd_fractl (~encryptd_@23.30.224.246) (Remote host closed the connection)
- # [17:07] <zewt> currently the browser has no idea what the threads are for, so it has no way of knowing what to do
- # [17:07] <caitp> you're a web application, you aren't going to try and do the work that a 128-processor machine will do
- # [17:08] * Quits: mven (~textual@ip68-104-38-84.lv.lv.cox.net) (Ping timeout: 240 seconds)
- # [17:08] <caitp> it's not realistic
- # [17:08] <zewt> for example, if each worker is processing one file, then the ideal thing for the browser to do in that particular case is to run two workers at a time, and just queue the others and not do any work on them
- # [17:09] <caitp> I'm a microtask, for my current turn through my event loop, I'm doing this much work, and taking this long
- # [17:09] <caitp> the browser keeps track of this information, and uses it to schedule how long I run
- # [17:09] <caitp> if I do a lot of work, maybe I get moved to a new thread
- # [17:09] <caitp> if I stop doing a lot of work, maybe I join the main thread
- # [17:09] <caitp> it's not super relevant
- # [17:09] <caitp> we can do the math and sort it out
- # [17:10] <jgraham> caitp: Most browser engines can't suspend scripts midway through execution, so that idea doesn't work
- # [17:11] <caitp> you mean chopping up a turn through the event loop
- # [17:11] <caitp> yes, that would take some work
- # [17:11] <jgraham> Presto could
- # [17:11] <zewt> jgraham: if browsers are putting workers on a single thread and can't suspend them, that sounds like a big bug
- # [17:12] <caitp> if you're running V8's jit compiled code on the main thread, you might have a hard time stopping it
- # [17:12] <zewt> if one worker going while(true); can stop other workers from ever running
- # [17:12] <gsnedders> zewt: There's a reason why Presto was the only one that could suspend and did workers on a single thread :)
- # [17:12] <caitp> course, it doesn't have to be hard to stop it, that could change
- # [17:13] <gsnedders> caitp: Carakan's JIT had no effect. Essentially it could suspend at any point GC could run. Which is plenty of places.
- # [17:13] <jgraham> zewt: I don't know that there is any combination of browser that does multiple workers per thread and can't suspend
- # [17:13] <gsnedders> I think.
- # [17:13] <jgraham> It's just that there is only one that does multiple workers per thread
- # [17:13] <jgraham> and it isn't actively developed
- # [17:13] <caitp> which is too bad, because that's really the right way to do it
- # [17:13] <gsnedders> Except that can't have been it. Because how would that handle while(true);... oh well, I forget
- # [17:14] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
- # [17:16] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
- # [17:16] <caitp> anyways yeah, it's a bit of work for jit compiled script, but I think it would be good to encourage implementations to do that, instead of exposing all of the pthreads nonsense to web developers
- # [17:17] <caitp> not that workers are a bad thread api
- # [17:17] <caitp> if you're going to have heavyweight threads, web workers aren't a bad approach
- # [17:18] <gsnedders> Maybe we could stop on any backedge too, idk?
- # [17:18] <jgraham> I think it would be a *lot* of work to allow that, mainly in the dom code rather than in the js engine
- # [17:18] <jgraham> And it's not really clear that it helps with the fundamental problem
- # [17:18] <caitp> the fundamental problem of doing lots of things?
- # [17:18] * Joins: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com)
- # [17:18] <jgraham> In fact it might well make it worse (by trashing the cache)
- # [17:19] <caitp> oh probably
- # [17:19] <caitp> but I mean, context switches between OS threads aren't really free either
- # [17:19] <gsnedders> I don't think there was any complexity in the DOM? The big problem was the cost of reflowing too often.
- # [17:19] <gsnedders> Because nobody else would reflow during JS execution.
- # [17:19] <jgraham> gsnedders: I think there was
- # [17:20] <gsnedders> But someone who has current access to Presto is probably better to speak to than the two of us. :P
- # [17:20] <jgraham> But you would have to ask bratell or jl or someone
- # [17:20] <gsnedders> idk, I never touched the DOM code much
- # [17:21] <zcorpan> jgraham: i can't get the response writer thing to work. the resource never finishes loading
- # [17:21] <jgraham> zcorpan: Are you setting a content-length header?
- # [17:21] <zcorpan> hmm. nope
- # [17:21] * Joins: jernoble (~jernoble@76.74.153.49)
- # [17:22] <jgraham> zcorpan: You either need to set a content-length header of make sure that the connection gets closed after the response finishes
- # [17:22] * Quits: markkes (~markkes@62.207.90.201) (Quit: Nettalk6 - www.ntalk.de)
- # [17:23] <jgraham> which you can do by setting response.close_connection = True
- # [17:23] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 240 seconds)
- # [17:23] <zcorpan> content-length worked. thanks
- # [17:24] <jgraham> OK. Are the docs wrong? This changed when we enabled HTTP/1.1
- # [17:24] <jgraham> It looks like they are
- # [17:24] <zcorpan> the example in https://github.com/w3c/wptserve/pull/24 doesn't do either at least
- # [17:25] * Joins: Dashiva (Dashiva@wikia/Dashiva)
- # [17:25] <mathiasbynens> http://validator.nu/ is down
- # [17:25] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 258 seconds)
- # [17:26] * Quits: lerc_ (~quassel@121-74-255-121.telstraclear.net) (Read error: Connection reset by peer)
- # [17:27] * Joins: lerc (~quassel@121-74-255-121.telstraclear.net)
- # [17:27] <zcorpan> hsivonen: MikeSmith: ^
- # [17:27] * Joins: Smylers (~smylers@81.143.60.194)
- # [17:28] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [17:31] * Joins: dcherman2 (~dcherman@164.55.254.106)
- # [17:31] * Joins: jwalden (~waldo@corp-nat.p2p.sfo1.mozilla.com)
- # [17:33] <hsivonen> mathiasbynens: thanks. It's up again now.
- # [17:33] <mathiasbynens> hsivonen: thanks!
- # [17:34] * Quits: dcherman (~dcherman@164.55.254.106) (Ping timeout: 240 seconds)
- # [17:46] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [17:46] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
- # [17:46] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 252 seconds)
- # [17:47] * Quits: 20WAAEX6M (scrollback@conference/jsconf/x-vrszxsolpigaxdhr) (Remote host closed the connection)
- # [17:48] * Joins: 92AAA3CE4 (scrollback@conference/jsconf/x-saacbadwcybngtnn)
- # [17:49] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [17:53] * Joins: Dashiva (Dashiva@wikia/Dashiva)
- # [17:54] * Quits: jonathanmarvens (~jonathanm@2601:6:7700:929:78c0:2971:e71d:2208)
- # [17:57] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
- # [17:59] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
- # [17:59] * Joins: weinig (~weinig@17.202.50.223)
- # [18:00] * Joins: tantek (~tantek@172.56.38.136)
- # [18:01] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [18:02] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [18:03] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 240 seconds)
- # [18:03] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201175.unisys.com)
- # [18:04] * Joins: jensnockert (~jensnocke@130.235.234.0)
- # [18:05] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
- # [18:08] <JonathanNeal> Is there anything like http://api.jquery.com/closest/ coming into native JS?
- # [18:10] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [18:11] * Joins: zdobersek (~zan@109.201.154.141)
- # [18:11] <jgraham> JonathanNeal: I don't think anyone is working on that
- # [18:15] <Domenic> that would be nice
- # [18:15] <Domenic> it is a kind of shitty name though
- # [18:15] <Domenic> .ancestor(selector) might work better
- # [18:17] * Joins: izhak (~izhak@92.248.142.152)
- # [18:18] * Quits: jernoble (~jernoble@76.74.153.49) (Quit: Computer has gone to sleep.)
- # [18:21] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
- # [18:21] * Quits: jensnockert (~jensnocke@130.235.234.0) (Ping timeout: 240 seconds)
- # [18:21] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [18:21] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [18:22] * Joins: lmclister (~lmclister@sjfw1.adobe.com)
- # [18:24] * Joins: weinig_ (~weinig@17.202.48.136)
- # [18:28] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 264 seconds)
- # [18:33] * Joins: ap_ (~ap@2620:149:4:304:4c27:5776:5782:4762)
- # [18:35] * ap_ is now known as ap
- # [18:35] * Joins: tantek_ (~tantek@corp-nat.p2p.sfo1.mozilla.com)
- # [18:35] <darobin> Domenic: .ancestor(selector) would sound to me more like jQuery's .parents(selector)
- # [18:35] * Quits: lmclister (~lmclister@sjfw1.adobe.com) (Read error: Connection reset by peer)
- # [18:35] <Domenic> darobin: singular vs. plural seems to be the key here
- # [18:35] <Domenic> .ancestors vs. .ancestor
- # [18:36] * Quits: tantek (~tantek@172.56.38.136) (Quit: Colloquy for iPod touch - http://colloquy.mobi)
- # [18:36] * tantek_ is now known as tantek
- # [18:36] <darobin> Domenic: mmmm, I'm not so sure — I mean they do rather different things
- # [18:36] <darobin> or rather, I take your point, but that sort of difference in behaviour for just one "s" scares me
- # [18:37] <darobin> (not to say that closest() is great either)
- # [18:37] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
- # [18:38] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [18:38] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201175.unisys.com) (Ping timeout: 252 seconds)
- # [18:39] * Quits: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
- # [18:39] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
- # [18:39] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [18:41] * Joins: jensnockert (~jensnocke@ip226-96.wireless.lu.se)
- # [18:42] * Joins: KevinMarks (~yaaic@2607:fb90:602:8e10:4b54:45db:7f5a:a089)
- # [18:45] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [18:46] * Joins: lmclister (~lmclister@sjfw1-b.adobe.com)
- # [18:48] <zewt> in this case i'd say "closest" is a good name just because it's the one people are alreay familiar with (that and there's no well-known tree structure term for it)
- # [18:48] <zewt> i often roll that function myself, and I call it "closest" too
- # [18:49] * Quits: night199uk (~night199u@xbmc/staff/night199uk) (Ping timeout: 245 seconds)
- # [18:49] <Domenic> zewt: you don't think "ancestor" is a well-known tree struture term?
- # [18:49] <zewt> Domenic: it's wrong, because this.closest() can return this
- # [18:49] <zewt> this isn't an ancestor of this
- # [18:49] <Domenic> ah, it can? I've never actually used that.
- # [18:50] <Domenic> in that case I agree .closest() sounds best.
- # [18:50] <zewt> yeah, and i often depend on that behavior
- # [18:50] * Joins: benv (~benv@38.104.194.126)
- # [18:50] * Quits: weinig_ (~weinig@17.202.48.136) (Remote host closed the connection)
- # [18:51] <Domenic> http://dom.spec.whatwg.org/#trees "inclusive ancestor" heh
- # [18:52] <zewt> for example, container.addEventListener("click", function(e) { var actualTarget = e.target.closest(".button"); }, true);
- # [18:52] <zewt> where the .button might actually also be the target
- # [18:52] <Domenic> (doesn't currentTarget work for that?)
- # [18:53] <zewt> if you have <div class=container><div class=button><lots of stuff/></div></div> and you click somewhere inside "lots of stuff", <div class=button> is nothing special to the event
- # [18:53] * Quits: weinig (~weinig@17.202.50.223) (Quit: weinig)
- # [18:54] <zewt> so it just means "see if we clicked a .button, or something nested inside a .button (we don't care which)"
- # [18:55] * Joins: night199uk (~night199u@xbmc/staff/night199uk)
- # [18:56] <Domenic> Ah yeah, I guess this is usually abstracted away from me by jQuery et al's event delegation
- # [18:56] <Domenic> $('.container').on('click', '.button', function (e) { /* e.currentTarget is always the .button */ })
- # [18:57] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [19:00] * Quits: jensnockert (~jensnocke@ip226-96.wireless.lu.se) (Ping timeout: 252 seconds)
- # [19:02] * Joins: Areks_home (~Areks@95-26-45-140.broadband.corbina.ru)
- # [19:03] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 252 seconds)
- # [19:03] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 252 seconds)
- # [19:04] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201184.unisys.com)
- # [19:04] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
- # [19:05] * Quits: lmclister (~lmclister@sjfw1-b.adobe.com)
- # [19:05] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: barnabywalters)
- # [19:05] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
- # [19:06] * Joins: weinig (~weinig@17.114.4.171)
- # [19:07] * Quits: night199uk (~night199u@xbmc/staff/night199uk) (Ping timeout: 240 seconds)
- # [19:07] * Joins: jernoble (~jernoble@17.114.219.75)
- # [19:10] * Quits: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net) (Ping timeout: 255 seconds)
- # [19:10] * Quits: falken (uid20729@gateway/web/irccloud.com/x-qmjdlyedjtjksmny) (Quit: Connection closed for inactivity)
- # [19:11] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 240 seconds)
- # [19:14] * Joins: night199uk (~night199u@xbmc/staff/night199uk)
- # [19:17] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [19:18] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [19:18] * Joins: lmclister (~lmclister@192.150.10.207)
- # [19:20] * Joins: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net)
- # [19:23] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [19:26] * Joins: dawhite__ (~dawhite@74.118.22.223)
- # [19:28] * Joins: BigBangUDR (~Thunderbi@101.56.5.91)
- # [19:28] * Joins: anchnk (~anchnk@89-93-18-86.hfc.dyn.abo.bbox.fr)
- # [19:29] * Quits: anchnk (~anchnk@89-93-18-86.hfc.dyn.abo.bbox.fr) (Remote host closed the connection)
- # [19:30] * Quits: dawhite_ (~dawhite@74.118.22.223) (Ping timeout: 276 seconds)
- # [19:32] * Quits: BigBangUDR (~Thunderbi@101.56.5.91) (Client Quit)
- # [19:39] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201184.unisys.com) (Ping timeout: 240 seconds)
- # [19:39] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
- # [19:41] <JonathanNeal> Domenic: ancestor suffers the same problem as contains https://developer.mozilla.org/en-US/docs/Web/API/Node.contains
- # [19:41] <JonathanNeal> It implies that it does not match itself.
- # [19:41] <Domenic> JonathanNeal: yeah, scroll up a bit :)
- # [19:43] <JonathanNeal> I read, but I thought it was worth bringing up a related method and quantifying it a bit more.
- # [19:44] <JonathanNeal> I just posted https://github.com/jonathantneal/closest I rather niavely ask people to write a spec if they think it deserves to be a real DOM method. I wish I could provide better direction. Can you think of a way to provide more constructive direction?
- # [19:46] * Joins: aretecode (~aretecode@50.23.131.206-static.reverse.softlayer.com)
- # [19:47] * Quits: weinig (~weinig@17.114.4.171) (Quit: weinig)
- # [19:47] * Quits: encryptd_fractl (~encryptd_@23.30.224.246) (Remote host closed the connection)
- # [19:47] <JonathanNeal> *naively
- # [19:47] * Joins: tav (~tav`@host31-52-138-103.range31-52.btcentralplus.com)
- # [19:51] * Joins: bholley (~bholley@98.210.101.88)
- # [19:51] <Domenic> I'm not sure what you're asking.
- # [19:52] <Domenic> the spec is probably one line, e.g. some slightly-better phrased version of "return the first inclusive ancestor of element"
- # [19:52] * Joins: IZh (~IZh@0897578511.static.corbina.ru)
- # [19:52] <Domenic> (The better-phrasing would come in re: making sure "first" is well-defined.)
- # [19:52] <SamB> innermost?
- # [19:52] <Domenic> just needs to be something already defined in the DOM standard
- # [19:53] <Domenic> not sure if there's an ordering on inclusive ancestors
- # [19:53] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
- # [19:54] <Domenic> "that is last in tree order" might work
- # [19:54] * Joins: BigBangUDR (~Thunderbi@101.56.5.91)
- # [19:54] * Quits: BigBangUDR (~Thunderbi@101.56.5.91) (Client Quit)
- # [19:55] * Joins: weinig (~weinig@17.114.216.37)
- # [19:59] <JonathanNeal> If any of you can think of one that is sympathetic with the existing DOM, would you ping me when you share it? I’ll update the documentation. What I want to do in the README is tell people “If you want to see this in a real DOM standard, do the following:”
- # [19:59] * Quits: lmclister (~lmclister@192.150.10.207) (Ping timeout: 255 seconds)
- # [20:01] <Domenic> the answer to that is "convince annevk to add it and convince implementers to implement it."
- # [20:01] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
- # [20:01] <Domenic> as always.
- # [20:04] * Joins: marcosc (~marcosc@66.207.208.102)
- # [20:04] * Quits: TallTed (~Thud@63.119.36.36) (Quit: The computer fell asleep)
- # [20:05] * Joins: TallTed (~Thud@63.119.36.36)
- # [20:07] * Joins: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com)
- # [20:09] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 255 seconds)
- # [20:09] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [20:10] * Quits: TallTed (~Thud@63.119.36.36) (Ping timeout: 252 seconds)
- # [20:15] * Joins: marcosc (~marcosc@66.207.208.102)
- # [20:18] * Joins: jernoble_ (~jernoble@17.202.49.6)
- # [20:19] * Joins: TallTed (~Thud@63.119.36.36)
- # [20:19] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [20:21] * Quits: IZh (~IZh@0897578511.static.corbina.ru) (Remote host closed the connection)
- # [20:29] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [20:30] <jcgregorio> gah, I wasn't logged in when I submitted: https://www.w3.org/Bugs/Public/show_bug.cgi?id=25716
- # [20:30] <jcgregorio> in case anyone wants to update the bug to list me as the reporter
- # [20:31] * Quits: izhak (~izhak@92.248.142.152) (Ping timeout: 252 seconds)
- # [20:32] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
- # [20:33] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [20:33] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 276 seconds)
- # [20:34] <smaug____> jcgregorio: I don't think you can change the reporter in bugzilla
- # [20:34] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201180.unisys.com)
- # [20:34] <jcgregorio> smaug____: OK, thanks
- # [20:34] * Quits: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net) (Ping timeout: 252 seconds)
- # [20:36] * Joins: weinig (~weinig@17.114.216.37)
- # [20:39] * Joins: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net)
- # [20:40] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
- # [20:41] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [20:43] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [20:43] * Quits: Areks_home (~Areks@95-26-45-140.broadband.corbina.ru) (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/)
- # [20:46] * Joins: tantek-ipod (~tantek@guest-nat.p2p.sfo1.mozilla.com)
- # [20:46] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [20:50] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [20:50] * Joins: ^esc (~esc-ape@178.115.129.0.wireless.dyn.drei.com)
- # [20:52] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
- # [20:54] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [20:56] * Joins: estellevw (~estellevw@209.49.73.82)
- # [20:56] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
- # [20:58] * Quits: tantek-ipod (~tantek@guest-nat.p2p.sfo1.mozilla.com) (Ping timeout: 255 seconds)
- # [20:58] * Joins: tantek-ipod_ (~tantek@172.56.39.82)
- # [20:58] * Joins: weinig (~weinig@17.114.216.37)
- # [21:04] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [21:05] * Joins: bholley (~bholley@98.210.101.88)
- # [21:06] * Quits: dcherman2 (~dcherman@164.55.254.106) (Ping timeout: 240 seconds)
- # [21:08] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [21:10] * Joins: BigBangUDR (~Thunderbi@101.59.210.244)
- # [21:10] * Quits: BigBangUDR (~Thunderbi@101.59.210.244) (Client Quit)
- # [21:12] * Joins: dcherman (~dcherman@164.55.254.106)
- # [21:12] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
- # [21:13] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [21:14] * Joins: dcherman2 (~dcherman@164.55.254.106)
- # [21:16] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [21:17] * Quits: jernoble (~jernoble@17.114.219.75) (Quit: Textual IRC Client: www.textualapp.com)
- # [21:18] * Quits: dcherman (~dcherman@164.55.254.106) (Ping timeout: 252 seconds)
- # [21:18] * Quits: tantek-ipod_ (~tantek@172.56.39.82) (Quit: Colloquy for iPod touch - http://colloquy.mobi)
- # [21:20] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [21:21] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [21:21] * Joins: tantek-ipod (~tantek@172.56.39.82)
- # [21:24] * Quits: estellevw (~estellevw@209.49.73.82) (Quit: Snuggling with the puppies)
- # [21:28] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:4471:ddd5:3c3b:dd64) (Read error: Connection reset by peer)
- # [21:28] * Joins: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net)
- # [21:31] * Quits: TallTed (~Thud@63.119.36.36)
- # [21:35] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:a1fa:77a9:f4b2:521f)
- # [21:38] * Quits: tantek-ipod (~tantek@172.56.39.82) (Quit: Colloquy for iPod touch - http://colloquy.mobi)
- # [21:41] * Joins: TallTed (~Thud@63.119.36.36)
- # [21:43] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [21:47] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
- # [21:47] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 264 seconds)
- # [21:48] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [21:52] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [21:55] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201180.unisys.com) (Ping timeout: 240 seconds)
- # [21:55] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
- # [21:56] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
- # [21:58] * Joins: IceBerG (~IceBerG@82.211.154.143)
- # [21:58] * IceBerG is now known as Guest68271
- # [21:59] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
- # [22:01] * Joins: othermaciej (~mjs@17.114.218.14)
- # [22:01] * Joins: estellevw (~estellewy@209.49.66.106)
- # [22:02] * Quits: Guest68271 (~IceBerG@82.211.154.143) (Client Quit)
- # [22:04] * Joins: weinig (~weinig@17.114.216.37)
- # [22:04] * Quits: scor (scor@drupal.org/user/52142/view) (Quit: scor)
- # [22:10] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [22:10] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [22:18] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
- # [22:19] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
- # [22:20] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [22:21] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
- # [22:21] * Joins: llkats (~llkats@c-24-4-68-222.hsd1.ca.comcast.net)
- # [22:24] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [22:25] * Joins: lmclister (~lmclister@192.150.10.204)
- # [22:25] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
- # [22:30] * Quits: TallTed (~Thud@63.119.36.36)
- # [22:32] * Joins: estellevw_ (~estellevw@209.49.73.82)
- # [22:33] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 240 seconds)
- # [22:34] * Quits: payman (~payman@ip-200.t2.se.opera.com) (Ping timeout: 276 seconds)
- # [22:36] * Joins: marcosc (~marcosc@66.207.208.102)
- # [22:36] * Quits: estellevw_ (~estellevw@209.49.73.82) (Ping timeout: 264 seconds)
- # [22:38] * Joins: smgd (~smgd@185.37.86.45)
- # [22:41] * Joins: payman (~payman@ip-200.t2.se.opera.com)
- # [22:41] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
- # [22:42] * Joins: Ms2ger (~Ms2ger@193.190.253.149)
- # [22:45] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [22:45] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [22:45] * Quits: lmclister (~lmclister@192.150.10.204) (Read error: Connection reset by peer)
- # [22:48] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
- # [22:51] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [22:51] * Quits: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net) (Remote host closed the connection)
- # [22:52] * Quits: othermaciej (~mjs@17.114.218.14) (Quit: othermaciej)
- # [22:52] * Quits: Ms2ger (~Ms2ger@193.190.253.149) (Quit: nn)
- # [22:55] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Ping timeout: 240 seconds)
- # [22:56] * Joins: othermaciej (~mjs@17.114.218.14)
- # [23:00] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [23:01] * Joins: jeremyj (~jeremyj@17.245.28.97)
- # [23:01] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
- # [23:02] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [23:02] * Quits: othermaciej (~mjs@17.114.218.14) (Quit: othermaciej)
- # [23:07] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
- # [23:07] * Joins: othermaciej (~mjs@17.114.218.14)
- # [23:08] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [23:11] * Quits: jeremyj (~jeremyj@17.245.28.97) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [23:11] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [23:11] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [23:12] * Quits: jeremyj (~jeremyj@17.202.44.231) (Client Quit)
- # [23:13] * Joins: ehsan_ (~ehsan@guest.mtv2.mozilla.com)
- # [23:13] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Read error: Connection reset by peer)
- # [23:13] * Quits: ^esc (~esc-ape@178.115.129.0.wireless.dyn.drei.com)
- # [23:15] * Joins: bholley (~bholley@98.210.101.88)
- # [23:16] * Joins: weinig (~weinig@17.114.216.37)
- # [23:16] * Joins: yoav (~yoav@77-56-24-41.dclient.hispeed.ch)
- # [23:16] * Quits: smgd (~smgd@185.37.86.45) (Quit: Leaving)
- # [23:17] * Quits: ehsan_ (~ehsan@guest.mtv2.mozilla.com) (Ping timeout: 258 seconds)
- # [23:20] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [23:22] * Joins: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon)
- # [23:22] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [23:23] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
- # [23:24] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [23:24] * Quits: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net) (Read error: Connection reset by peer)
- # [23:24] * Quits: llkats (~llkats@c-24-4-68-222.hsd1.ca.comcast.net) (Remote host closed the connection)
- # [23:25] * Joins: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net)
- # [23:25] * Joins: jeremyj (~jeremyj@17.202.44.231)
- # [23:26] * Joins: weinig (~weinig@17.114.216.37)
- # [23:27] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:a1fa:77a9:f4b2:521f) (Quit: Leaving.)
- # [23:28] <zewt> dear world: if your documentation contains the phrase "Alice wants to", please step away and let somebody else write the documentation
- # [23:28] <zewt> (thanks)
- # [23:29] <odinho> But if the alternative is no documentation?
- # [23:30] <zewt> i'd almost take no documentation over getting a headache reading about some make-believe Alice when i'm trying to read technical docs
- # [23:33] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [23:34] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
- # [23:34] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
- # [23:34] <jgraham> If your documentation contains "Alice wants to" you are either doing cryptography, or trying to make your software seem as complex as crypto
- # [23:35] <odinho> Yeah. Alice and Bob.
- # [23:35] <zewt> in this instance it's Amazon API docs, some of which is silly complex
- # [23:35] <jgraham> Hurrah, time for an early xkcd http://xkcd.com/177/
- # [23:36] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
- # [23:36] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
- # [23:36] <zewt> (though this particular API is probably the simplest amazon API I've ever seen--read a URL from inside a VM, it spits out your instance's ID)
- # [23:37] * Quits: estellevw (~estellewy@209.49.66.106) (Ping timeout: 252 seconds)
- # [23:38] * Joins: newtron_ (~newtron@199.71.174.204)
- # [23:38] * Joins: estellevw (~estellewy@209.49.66.106)
- # [23:39] * Joins: bholley (~bholley@98.210.101.88)
- # [23:41] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 240 seconds)
- # [23:42] * Quits: newtron_ (~newtron@199.71.174.204) (Ping timeout: 240 seconds)
- # [23:44] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
- # [23:49] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [23:51] * Quits: zdobersek (~zan@109.201.154.141) (Quit: Leaving.)
- # [23:52] * Quits: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com) (Ping timeout: 265 seconds)
- # [23:52] * Quits: scor (~scor@drupal.org/user/52142/view) (Client Quit)
- # [23:54] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 245 seconds)
- # [23:55] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
- # [23:55] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
- # [23:56] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [23:57] * llkats is now known as fullmoon2heartsr
- # [23:57] * fullmoon2heartsr is now known as llkats
- # [23:57] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
- # [23:58] * Quits: 92AAA3CE4 (scrollback@conference/jsconf/x-saacbadwcybngtnn) (Remote host closed the connection)
- # [23:58] * Joins: 7F1AAM5WM (scrollback@conference/jsconf/x-fxicssmkyixmfurv)
- # [23:58] * llkats is now known as moon2heartssradi
- # [23:58] * moon2heartssradi is now known as moon2heartsradio
- # [23:58] * Quits: scor (~scor@drupal.org/user/52142/view) (Client Quit)
- # [23:59] * moon2heartsradio is now known as llkittens
- # Session Close: Thu May 15 00:00:00 2014
The end :)