/irc-logs / freenode / #whatwg / 2014-05-14 / end

Options:

  1. # Session Start: Wed May 14 00:00:00 2014
  2. # Session Ident: #whatwg
  3. # [00:01] * Quits: wcc17 (~wcc17@cpe-74-138-106-201.swo.res.rr.com) (Quit: wcc17)
  4. # [00:02] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 252 seconds)
  5. # [00:02] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  6. # [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?
  7. # [00:02] * Joins: estellevw (~estellevw@nat-general.stedwards.edu)
  8. # [00:04] * Quits: estellevw (~estellevw@nat-general.stedwards.edu) (Client Quit)
  9. # [00:04] * Joins: aretecode (~aretecode@50.23.131.206-static.reverse.softlayer.com)
  10. # [00:04] * Quits: jernoble (~jernoble@17.114.219.75) (Quit: Computer has gone to sleep.)
  11. # [00:05] <caitp> because that's really all a "required" validator needs to do
  12. # [00:05] * Joins: wcc17 (~wcc17@cpe-74-138-106-201.swo.res.rr.com)
  13. # [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
  14. # [00:09] <Hixie> dglazkov: ping
  15. # [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.
  16. # [00:09] * Quits: wcc17 (~wcc17@cpe-74-138-106-201.swo.res.rr.com) (Ping timeout: 258 seconds)
  17. # [00:09] * Joins: sicking (~sicking@corp.mtv2.mozilla.com)
  18. # [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)
  19. # [00:10] <Hixie> well if you're not then again, the current API is kinda irreelvat...
  20. # [00:10] <Hixie> irrelevant
  21. # [00:11] <caitp> or if you want to do something like render custom validation messages in some pretty widget kit, or whatever
  22. # [00:12] <Hixie> honestly i don't see why "a required validator" is something you'd even have
  23. # [00:12] <Hixie> i mean, it's two lines of code
  24. # [00:13] <Hixie> if (the thing is required and it's not given) reportInAPrettyFashion(that the thing is required and it's not given)
  25. # [00:13] <Hixie> i feel like anything more than that is probably over-engineered.
  26. # [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
  27. # [00:14] <caitp> well, you could argue that, but if nobody over-engineered things, the WWW wouldn't exist :p
  28. # [00:15] * Quits: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com) (Quit: Leaving.)
  29. # [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
  30. # [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
  31. # [00:18] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  32. # [00:19] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  33. # [00:19] * Joins: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net)
  34. # [00:19] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
  35. # [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
  36. # [00:21] <caitp> browsers don't care, so why should script contexts have to care
  37. # [00:25] * Quits: lmclister (~lmclister@192.150.10.210)
  38. # [00:29] * Joins: nessy (~silviapf@101.164.214.231)
  39. # [00:30] * Joins: erlehmann (~erlehmann@brln-4db9695e.pool.mediaWays.net)
  40. # [00:33] * Quits: nessy (~silviapf@101.164.214.231) (Client Quit)
  41. # [00:33] * Quits: erlehmann (~erlehmann@brln-4db9695e.pool.mediaWays.net) (Quit: Die demokratieerhaltende Whistleblowerplattform Krautchan freut sich immer über Spenden.)
  42. # [00:36] * Quits: anchnk (~anchnk@89-93-18-86.hfc.dyn.abo.bbox.fr) (Ping timeout: 240 seconds)
  43. # [00:39] * Quits: jeffreyatw (~jeffreyat@66-194-1-26.STATIC.twtelecom.net) (Quit: jeffreyatw)
  44. # [00:40] * Joins: lmclister (~lmclister@192.150.10.210)
  45. # [00:40] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
  46. # [00:41] * Joins: Joseph_Silber (~Joseph@ool-44c3e80a.static.optonline.net)
  47. # [00:41] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 265 seconds)
  48. # [00:44] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Client Quit)
  49. # [00:45] * Joins: rxgx (uid22483@gateway/web/irccloud.com/x-mhzszzfcbvlqmakb)
  50. # [00:45] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  51. # [00:47] <Hixie> caitp: valueMissing doesn't care about badInput. That's my point.
  52. # [00:48] <Hixie> caitp: valueMissing isn't special here. All the other validation attributes work the same way.
  53. # [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.
  54. # [00:48] <Hixie> caitp: so you don't have to care. Just don't check it.
  55. # [00:49] <Hixie> in other news, anyone have any idea what https://www.w3.org/Bugs/Public/show_bug.cgi?id=25442 is about?
  56. # [00:49] * Joins: jernoble (~jernoble@17.114.219.75)
  57. # [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
  58. # [00:50] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
  59. # [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
  60. # [00:51] * Joins: dcherman (~dcherman@ool-43560d79.dyn.optonline.net)
  61. # [00:51] * Quits: plutoniix (~plutoniix@node-3hx.pool-125-25.dynamic.totbb.net) (Quit: จรลี จรลา)
  62. # [00:52] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 258 seconds)
  63. # [00:56] * Quits: dcherman (~dcherman@ool-43560d79.dyn.optonline.net) (Ping timeout: 240 seconds)
  64. # [00:57] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
  65. # [00:57] <Hixie> caitp: it's clearly not getting through to me.
  66. # [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"
  67. # [00:58] <Hixie> caitp: i'm not understanding
  68. # [00:58] <caitp> okay, lets try this
  69. # [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
  70. # [00:59] * Quits: jonathanmarvens (~jonathanm@199.47.79.34)
  71. # [00:59] <caitp> your left hand doesn't know anything about the right hand, and vice versa, nor should it
  72. # [01:00] <Hixie> arv_: any further input on https://www.w3.org/Bugs/Public/show_bug.cgi?id=25522 ?
  73. # [01:00] <Hixie> caitp: that's a silly design.
  74. # [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
  75. # [01:01] <caitp> because your left hand should only have to care if the right hand was given anything at all
  76. # [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."
  77. # [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
  78. # [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.
  79. # [01:02] <Hixie> but it's literally a one line expression with two parts
  80. # [01:02] <caitp> sure, and like I said, it's not the biggest problem at all
  81. # [01:02] <Hixie> "does it have bad input, and if not, does it have good input"
  82. # [01:02] <caitp> but, serious question, why should your left hand have to care if the right hand gets an apple or orange
  83. # [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.
  84. # [01:02] <caitp> why is it concerned with that at all
  85. # [01:02] <caitp> what is the benefit that it gains from asking the right hand what it got
  86. # [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?
  87. # [01:03] <caitp> what does this enable us to communicate to the user that we otherwise couldn't, without needing the extra test
  88. # [01:03] <Hixie> i mean, superficially, it sounds like a perfectly reasonable question.
  89. # [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.
  90. # [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
  91. # [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
  92. # [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
  93. # [01:06] <Hixie> i agree
  94. # [01:06] * Krinkle is now known as Krinkle|detached
  95. # [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"
  96. # [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
  97. # [01:09] <Hixie> but why is it that way? what benefit is there from doing something this complicated way rather than the simpler way?
  98. # [01:09] * Quits: KevinMarks (~yaaic@2607:fb90:2201:b0c2:3037:1ea8:3730:ddb3) (Ping timeout: 240 seconds)
  99. # [01:09] <caitp> because it ends up being simpler to actually build an application with it
  100. # [01:09] <Hixie> i don't believe that at all.
  101. # [01:09] <Hixie> i don't believe you could even tell the difference.
  102. # [01:10] <Hixie> can you show me the difference?
  103. # [01:10] <Hixie> (i don't understand why an application would be aware of this internal detail at all)
  104. # [01:10] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  105. # [01:10] <caitp> oh, the application wouldn't be
  106. # [01:10] <Hixie> ...
  107. # [01:10] <caitp> like I said, it's not the biggest problem in the world
  108. # [01:10] <caitp> we can get around it with the extra logic
  109. # [01:11] <caitp> but I don't think we should _need_ to, because it doesn't really enable anything
  110. # [01:11] <Hixie> it seems to me like you could get around it with _less _logic.
  111. # [01:11] * Quits: jernoble (~jernoble@17.114.219.75) (Quit: Computer has gone to sleep.)
  112. # [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"?
  113. # [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
  114. # [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
  115. # [01:12] <caitp> because at least they're related to the same set of attributes
  116. # [01:12] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  117. # [01:12] * Joins: boogyman (~boogyman@pdpc/supporter/professional/boogyman)
  118. # [01:12] <Hixie> um
  119. # [01:12] <caitp> min and max
  120. # [01:13] <Hixie> underflow isn't related to max
  121. # [01:13] <Hixie> and overflow isn't related to min
  122. # [01:13] <caitp> conceptually, min and max are related
  123. # [01:13] <Hixie> in fact having a value and having a valid value are _more closely_ related.
  124. # [01:13] <Hixie> since they both relate to .value
  125. # [01:13] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  126. # [01:13] <caitp> conceptually, min and max are both to do with a similar "kind" of validation, do you know what I mean
  127. # [01:14] <caitp> you have a range, you're either inside that range or outside of it
  128. # [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
  129. # [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
  130. # [01:14] <Hixie> i mean, so much so that i'd do them as one test
  131. # [01:14] <caitp> "did you enter a number" "no I entered an animal name"
  132. # [01:15] <caitp> "did you enter anything" "yes"
  133. # [01:15] <Hixie> (unlike min and max, which i would handle as separate tests, with different messages)
  134. # [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.
  135. # [01:15] <caitp> the presence or absence of a value is different from the well-formed-ness of a present value
  136. # [01:16] <Hixie> But the test of whether you entered something naturally subsumes whether you entered something valid.
  137. # [01:16] <Hixie> they're _not_ orthogonal.
  138. # [01:16] <caitp> sure they are
  139. # [01:16] <caitp> no value is a perfectly well-formed value
  140. # [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"
  141. # [01:17] <caitp> they are unrelated things
  142. # [01:18] * Joins: KevinMarks (~yaaic@2607:fb90:2201:b0c2:3037:1ea8:3730:ddb3)
  143. # [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
  144. # [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
  145. # [01:21] * Quits: barnabywalters (~barnabywa@fire-out.ru.is) (Quit: barnabywalters)
  146. # [01:23] * Joins: barnabywalters (~barnabywa@fire-out.ru.is)
  147. # [01:26] <Hixie> i don't think it makes sense not to do these together.
  148. # [01:26] <Hixie> actually that's not quite true
  149. # [01:26] <Hixie> let me rephrase
  150. # [01:26] <Hixie> even if you do them separately, i don't think it makes sense to do any checks if badInput is true.
  151. # [01:26] <Hixie> so you have to check badInput first.
  152. # [01:26] <Hixie> for example, if badInput is true, you wouldn't care if the value didn't match the pattern.
  153. # [01:26] <Hixie> or was overflowing.
  154. # [01:26] <Hixie> so just test that first.
  155. # [01:27] <Hixie> you don't have to test multiple things at once, or have complicated expressions.
  156. # [01:27] <Hixie> just if (e.validityState.badInput) { ... }
  157. # [01:28] * Quits: barnabywalters (~barnabywa@fire-out.ru.is) (Client Quit)
  158. # [01:28] * Joins: seventh (seventh@207-207-17-97.fwd.datafoundry.com)
  159. # [01:28] <caitp> so, the issue with this is it sort of imposes a specific order that the ValidityState must be checked in
  160. # [01:28] <caitp> in order to avoid the extra condition checks
  161. # [01:28] <Hixie> yes
  162. # [01:29] <Hixie> this seems nice and easy since code tends to have a defined order it runs in :-P
  163. # [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.
  164. # [01:29] <Hixie> yeah, totally
  165. # [01:29] <Hixie> the case we're talking about is only cases where badInput applies, though
  166. # [01:29] <Hixie> things like type=number
  167. # [01:29] <caitp> like this? https://yearofmoo.github.io/ngMessages/
  168. # [01:30] <boogyman> The interface should make it stupid simple for the User to help themselves and provide valid input.
  169. # [01:30] * Joins: tantek (~tantek@mfc0536d0.tmodns.net)
  170. # [01:30] <Hixie> "This web page has disabled automatic filling for this form" gah
  171. # [01:30] <caitp> that's really the goal
  172. # [01:30] <caitp> make things stupid simple
  173. # [01:31] <caitp> so that even a ruby developer can do it
  174. # [01:31] <caitp> (i'm kidding, I'm kidding)
  175. # [01:31] <zewt> Hixie: cheers to features which are designed specifically to work against the user's wishes
  176. # [01:31] <Hixie> blimey that page has a lot of divs and class names
  177. # [01:31] <Hixie> zewt: hm?
  178. # [01:31] <zewt> 23:27 < Hixie> "This web page has disabled automatic filling for this form" gah
  179. # [01:32] <Hixie> ah yeah, i hate that feature
  180. # [01:32] <zewt> user wants autocomplete? too bad, the browser doesn't serve the user
  181. # [01:32] <caitp> well, it's a demo application, so he probably wanted you to actually try entering things
  182. # [01:32] * Quits: tantek (~tantek@mfc0536d0.tmodns.net) (Client Quit)
  183. # [01:32] <caitp> I love how the year 0000 is an invalid year, that's great
  184. # [01:33] * Quits: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net) (Quit: sedovsek)
  185. # [01:33] <boogyman> imo, i think autocomplete should not be a markup option for pii data.
  186. # [01:33] <caitp> boogyman, I think a lot of applications have, or at least think they have, a good reason to disable it
  187. # [01:34] <boogyman> and by pii, i mean name,address,cc, etc...
  188. # [01:34] <caitp> like, the president's web application for entering the nuclear launch codes
  189. # [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
  190. # [01:34] <caitp> probably don't want that autofilled
  191. # [01:34] <Hixie> yeah, that's the example in the spec :-)
  192. # [01:35] <Hixie> boogyman: how do you mean?
  193. # [01:35] <Hixie> boogyman: like, a page shouldn't be able to say "this is where the user should enter their address"?
  194. # [01:35] <zewt> autofill isn't the problem in that case, it's "you shouldn't have remembered this in the first place", heh
  195. # [01:36] <zewt> (and I'm not convinced of that, either)
  196. # [01:36] <boogyman> im saying that upon navigating to a page, it should not auto populate my pii data.
  197. # [01:36] <caitp> i think you could argue that disabling autofill encourages people to come up with really bad passwords
  198. # [01:36] <caitp> but even so, you know
  199. # [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".
  200. # [01:37] <zewt> disabling autofill for passwords should never be allowed
  201. # [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)
  202. # [01:37] * Joins: jernoble (~jernoble@mobile-166-137-177-057.mycingular.net)
  203. # [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.
  204. # [01:38] * Quits: KevinMarks (~yaaic@2607:fb90:2201:b0c2:3037:1ea8:3730:ddb3) (Ping timeout: 240 seconds)
  205. # [01:38] <boogyman> than*
  206. # [01:39] * Joins: mven (~textual@ip68-104-38-84.lv.lv.cox.net)
  207. # [01:40] <zewt> browsers generally don't autofill anything these days, until you tell them you want them to
  208. # [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()
  209. # [01:40] <Hixie> boogyman: (browsers shouldn't prefill anything automatically)
  210. # [01:40] <Hixie> boogyman: (without user request, i mean)
  211. # [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
  212. # [01:41] <boogyman> Oh, I know how to implement it, I'm saying that sites that do pre-populate lose my trust
  213. # [01:41] * Joins: KevinMarks (~yaaic@2607:fb90:220e:af95:6c36:49fa:7bb3:45e7)
  214. # [01:42] <caitp> you mean if it prepopulates it while rendering markup server-side?
  215. # [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...)
  216. # [01:42] <caitp> can that actually happen?
  217. # [01:42] <zewt> if the site itself can autocomplete, it already knows who you are :)
  218. # [01:42] * Quits: jernoble (~jernoble@mobile-166-137-177-057.mycingular.net) (Quit: Computer has gone to sleep.)
  219. # [01:43] <caitp> that's not exactly true
  220. # [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
  221. # [01:44] <zewt> that's the browser autocompleting, not the site
  222. # [01:45] <caitp> if the site is autofilling for you, it could still be from local storage or a cookie
  223. # [01:45] <caitp> which is arguably gross, but at least it's not network traffic
  224. # [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?
  225. # [01:45] * Joins: weinig_ (~weinig@17.202.48.136)
  226. # [01:45] <zewt> afk, going home
  227. # [01:46] <boogyman> zewt: yes, but the site has access to disable the auto-population
  228. # [01:47] * Quits: sicking (~sicking@corp.mtv2.mozilla.com) (Quit: sicking)
  229. # [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.
  230. # [01:57] * Joins: jdaggett (~jdaggett@61-121-216-2.bitcat.net)
  231. # [01:58] <Hixie> i'm not really following the attack vector you're concerend about
  232. # [01:58] * Joins: sicking (~sicking@corp.mtv2.mozilla.com)
  233. # [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.
  234. # [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
  235. # [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
  236. # [02:00] <boogyman> zewt: yes, and i know i am in the minority, but i know i am more data sensitive than most.
  237. # [02:00] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
  238. # [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.
  239. # [02:02] <zewt> sorry, but unless you can defend that a bit better, i think that's an opinion without merit
  240. # [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
  241. # [02:04] <caitp> you'd hope that public computers give you a new profile every time you login, and I think most/many do
  242. # [02:04] <caitp> but the world is a big place, and there are an awful lot of public computers
  243. # [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
  244. # [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...
  245. # [02:06] * Quits: ap (~ap@17.202.44.214) (Quit: ap)
  246. # [02:07] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
  247. # [02:08] <boogyman> the opinion has merit, just probably not applicable to the "99%" as you stated.
  248. # [02:08] <zewt> no opinion has merit if it's not defended :)
  249. # [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...
  250. # [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?
  251. # [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.
  252. # [02:11] <zewt> no, just install a foo.user.js as a plugin
  253. # [02:12] <zewt> that's not really defending the opinion at all, it's just stating it
  254. # [02:12] <zewt> *why* do you think that I should be disallowed from having my billing and shipping info autofilled?
  255. # [02:13] <caitp> because it's good practice to memorize your credit card number and home address
  256. # [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).
  257. # [02:15] <caitp> that was not a serious statement boogyman, it can be hard to tell with me sometimes
  258. # [02:15] <boogyman> There's always a tradeoff of ease of use and security and performance.
  259. # [02:16] <caitp> I think the trade off between security and ease of use is often imaginary
  260. # [02:16] <caitp> it's more like security -> ease of use -> privacy
  261. # [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
  262. # [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.
  263. # [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
  264. # [02:17] <zewt> in firefox, rather
  265. # [02:17] <boogyman> zewt: identity theft is a huge inconvenience.
  266. # [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
  267. # [02:18] <zewt> non-sequiturs are also inconvenient
  268. # [02:19] <boogyman> how was my statement not relevant?
  269. # [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
  270. # [02:20] <boogyman> zewt: again not for the spec, but tell that to chrome on android devices. it remembers url history.
  271. # [02:21] <zewt> and that's an argument to email google and ask for a private browsing mode in android, not for anything else
  272. # [02:23] * Quits: morbidlyobese (~morbidlyo@gateway/tor-sasl/morbidlyobese) (Quit: morbidlyobese)
  273. # [02:28] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 258 seconds)
  274. # [02:33] * Joins: plutoniix (~plutoniix@210.213.57.70)
  275. # [02:35] * Quits: ambv (~ambv@206.108.217.134) (Quit: sys.exit(0) # computer went to sleep)
  276. # [02:36] <Hixie> boogyman: so wait, back up. what are you worried about will happen with these shared computers?
  277. # [02:39] <boogyman> having any of my information stored by the browser or site that i do not authorize.
  278. # [02:39] * Joins: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
  279. # [02:40] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  280. # [02:42] * ojan_gardening is now known as ojan_home_sick
  281. # [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
  282. # [02:43] * Quits: espadrine (~ttyl@AMontsouris-158-1-51-85.w92-128.abo.wanadoo.fr) (Ping timeout: 264 seconds)
  283. # [02:43] <caitp> which is a different kind of security violation, but it's not irrelevant
  284. # [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
  285. # [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. :-)
  286. # [02:46] <Hixie> boogyman: doesn't seem to have much to do with autofill though
  287. # [02:47] * Quits: sicking (~sicking@corp.mtv2.mozilla.com) (Quit: sicking)
  288. # [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
  289. # [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.
  290. # [02:48] <caitp> and magically ensured that all users knew about them and their importance
  291. # [02:51] * Quits: othermaciej (~mjs@17.114.218.14) (Quit: othermaciej)
  292. # [02:51] <caitp> but as good as that might be, it's probably not something feasible in the real world
  293. # [02:52] <zewt> (keep laws out of browsers used by people in every country)
  294. # [02:55] * Joins: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com)
  295. # [02:56] <zewt> well, fixed up the broken tab bar, time for the address bar...
  296. # [02:57] <SamB> zewt: how's your status bar doing?
  297. # [02:58] <zewt> i don't have one of those. heh
  298. # [02:58] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  299. # [02:59] * Joins: jungkees (uid24208@gateway/web/irccloud.com/x-qebfaisorgygpanb)
  300. # [03:01] * Joins: ivan\ (~ivan@unaffiliated/ivan/x-000001)
  301. # [03:01] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  302. # [03:02] <zewt> https://zewt.org/~glenn/blah.png getting there
  303. # [03:03] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
  304. # [03:06] * Quits: lmclister (~lmclister@192.150.10.210)
  305. # [03:10] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  306. # [03:10] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  307. # [03:13] * Quits: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
  308. # [03:14] * Joins: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
  309. # [03:27] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  310. # [03:28] * Quits: benv (~benv@38.104.194.126) (Quit: Computer has gone to sleep.)
  311. # [03:32] * Quits: espadrine` (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
  312. # [03:35] * Joins: foxtrotwhiskey (~foxtrotwh@c-98-225-154-188.hsd1.pa.comcast.net)
  313. # [03:38] <zewt> oh jesus, the address bar animates around
  314. # [03:43] * Quits: PLATOSCAVE (~PLATOSCAV@66-214-254-73.static.lsan.ca.charter.com) (Ping timeout: 240 seconds)
  315. # [03:43] <SamB> zewt: OUUUCH
  316. # [03:44] <SamB> I can't *wait* for australis to hit ESR
  317. # [03:44] * Joins: PLATOSCAVE (~PLATOSCAV@66-214-254-73.static.lsan.ca.charter.com)
  318. # [03:51] * Quits: rcombs (~rcombs@rcombs.me) (Ping timeout: 240 seconds)
  319. # [03:53] * Joins: newtron (~newtron@184.175.19.162)
  320. # [03:53] * Joins: rcombs (~rcombs@rcombs.me)
  321. # [03:54] <zewt> https://zewt.org/~glenn/blah2.png well, good enough for now
  322. # [03:57] * Joins: karlcow (~karl@nerval.la-grange.net)
  323. # [04:05] * Quits: newtron (~newtron@184.175.19.162) (Remote host closed the connection)
  324. # [04:05] * Joins: newtron (~newtron@184.175.19.162)
  325. # [04:08] * Joins: tantek (~tantek@172.56.30.78)
  326. # [04:10] * Quits: newtron (~newtron@184.175.19.162) (Ping timeout: 240 seconds)
  327. # [04:11] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
  328. # [04:13] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
  329. # [04:14] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
  330. # [04:14] * weinig_ is now known as weinig
  331. # [04:22] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  332. # [04:34] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  333. # [04:34] * Joins: plutoniix (~plutoniix@210.213.57.70)
  334. # [04:34] * Quits: seventh (seventh@207-207-17-97.fwd.datafoundry.com) (Ping timeout: 252 seconds)
  335. # [04:38] * Quits: foxtrotwhiskey (~foxtrotwh@c-98-225-154-188.hsd1.pa.comcast.net) (Ping timeout: 240 seconds)
  336. # [04:43] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  337. # [04:45] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  338. # [04:53] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  339. # [04:56] * Joins: karlcow (~karl@nerval.la-grange.net)
  340. # [04:56] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  341. # [04:56] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
  342. # [05:02] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
  343. # [05:06] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  344. # [05:08] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
  345. # [05:12] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
  346. # [05:14] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  347. # [05:14] * Quits: kinetik (~kinetik@121-99-30-134.bng1.nct.orcon.net.nz) (Ping timeout: 252 seconds)
  348. # [05:14] * Joins: kinetik (~kinetik@121-99-30-134.bng1.nct.orcon.net.nz)
  349. # [05:15] * Joins: xiinotulp (~plutoniix@210.213.57.70)
  350. # [05:17] * Quits: plutoniix (~plutoniix@210.213.57.70) (Ping timeout: 240 seconds)
  351. # [05:20] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
  352. # [05:33] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 276 seconds)
  353. # [05:33] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Quit: Snuggling with the puppies)
  354. # [05:33] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
  355. # [05:34] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  356. # [05:40] * Quits: boogyman (~boogyman@pdpc/supporter/professional/boogyman) (Quit: ChatZilla 0.9.90.1 [Firefox 29.0.1/20140506152807])
  357. # [05:41] * Joins: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net)
  358. # [05:49] * xiinotulp is now known as plutoniix
  359. # [05:51] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Quit: Snuggling with the puppies)
  360. # [05:55] * Quits: weinig (~weinig@17.202.48.136) (Quit: weinig)
  361. # [05:55] * Quits: jwalden (~waldo@corp.mtv2.mozilla.com) (Quit: ChatZilla 0.9.87-8.1450hg.fc20 [XULRunner 29.0/20140428110119])
  362. # [05:57] * Quits: tantek (~tantek@172.56.30.78) (Ping timeout: 240 seconds)
  363. # [06:04] * Quits: aretecode (~aretecode@50.23.131.206-static.reverse.softlayer.com) (Ping timeout: 264 seconds)
  364. # [06:06] * Joins: tantek (~tantek@76.14.35.92)
  365. # [06:07] * Joins: aretecode (~aretecode@192.159.162.143)
  366. # [06:08] * Quits: nunnun (~hiro@2001:200:164:48:20c:29ff:fe02:11d2) (Quit: Bye)
  367. # [06:09] * Quits: aretecode (~aretecode@192.159.162.143) (Remote host closed the connection)
  368. # [06:10] * Joins: nunnun (~hiro@2001:200:164:48:20c:29ff:fe02:11d2)
  369. # [06:21] * Joins: gavin__ (~gavin@76.14.87.162)
  370. # [06:21] * Joins: ehsan (~ehsan@209.49.120.130)
  371. # [06:25] * Quits: plutoniix (~plutoniix@210.213.57.70) (Ping timeout: 258 seconds)
  372. # [06:26] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
  373. # [06:26] * Joins: plutoniix (~plutoniix@210.213.57.70)
  374. # [06:34] * Joins: jernoble (~jernoble@162.217.73.171)
  375. # [06:38] * Quits: tantek (~tantek@76.14.35.92) (Quit: tantek)
  376. # [06:50] * Quits: jgraham (~jgraham@web91.webfaction.com) (Ping timeout: 245 seconds)
  377. # [06:50] * Quits: rxgx (uid22483@gateway/web/irccloud.com/x-mhzszzfcbvlqmakb) (Quit: Connection closed for inactivity)
  378. # [06:50] * Joins: jgraham (~jgraham@web91.webfaction.com)
  379. # [06:56] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
  380. # [06:57] * Joins: ehsan_ (~ehsan@209.49.120.130)
  381. # [06:58] * Quits: ehsan (~ehsan@209.49.120.130) (Read error: Connection reset by peer)
  382. # [07:00] * Joins: IZh (~IZh@83.220.237.223)
  383. # [07:01] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  384. # [07:01] <zewt> wonder which tab in firefox is making my cpu spin up constantly
  385. # [07:01] <zewt> mysteries
  386. # [07:02] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
  387. # [07:19] * Quits: IZh (~IZh@83.220.237.223) (Ping timeout: 240 seconds)
  388. # [07:19] * Quits: Joseph_Silber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 252 seconds)
  389. # [07:27] * Joins: sicking (~sicking@209.49.120.130)
  390. # [07:28] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  391. # [07:30] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  392. # [07:32] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  393. # [07:41] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  394. # [07:43] * Joins: espadrine (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
  395. # [07:47] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Ping timeout: 252 seconds)
  396. # [07:56] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  397. # [07:59] * Quits: espadrine (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr) (Read error: Connection timed out)
  398. # [08:01] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  399. # [08:05] * Quits: ehsan_ (~ehsan@209.49.120.130) (Remote host closed the connection)
  400. # [08:06] * Joins: Ducki (~Ducki@137.116.197.171)
  401. # [08:07] * Joins: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com)
  402. # [08:09] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  403. # [08:18] * Joins: ehsan (~ehsan@209.49.120.130)
  404. # [08:20] * Quits: ehsan (~ehsan@209.49.120.130) (Remote host closed the connection)
  405. # [08:20] * Joins: ehsan (~ehsan@209.49.120.130)
  406. # [08:23] * Quits: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com) (Ping timeout: 265 seconds)
  407. # [08:23] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  408. # [08:25] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  409. # [08:26] * Quits: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon) (Quit: Connection closed for inactivity)
  410. # [08:29] * Joins: Ms2ger (~Ms2ger@91.182.70.155)
  411. # [08:29] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  412. # [08:38] * Quits: ehsan (~ehsan@209.49.120.130) (Quit: Leaving...)
  413. # [08:38] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Remote host closed the connection)
  414. # [08:39] * Joins: sedovsek (~robert@89.143.12.238)
  415. # [08:42] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 255 seconds)
  416. # [08:48] * Joins: zdobersek (~zan@109.201.152.239)
  417. # [08:57] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  418. # [08:57] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  419. # [08:58] * Quits: KevinMarks (~yaaic@2607:fb90:220e:af95:6c36:49fa:7bb3:45e7) (Ping timeout: 240 seconds)
  420. # [09:00] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
  421. # [09:02] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  422. # [09:05] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  423. # [09:10] * Quits: sankha93 (~sankha93@fsf/emeritus/sankha93) (Remote host closed the connection)
  424. # [09:10] * Quits: zdobersek (~zan@109.201.152.239) (Ping timeout: 276 seconds)
  425. # [09:12] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
  426. # [09:12] * Quits: jernoble (~jernoble@162.217.73.171) (Quit: Computer has gone to sleep.)
  427. # [09:14] * Joins: KevinMarks (~yaaic@2607:fb90:f13:915e:4603:ca82:4542:955e)
  428. # [09:19] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  429. # [09:28] * Joins: zdobersek (~zan@109.201.154.203)
  430. # [09:31] * Quits: zdobersek (~zan@109.201.154.203) (Client Quit)
  431. # [09:31] * Joins: zdobersek (~zan@109.201.154.203)
  432. # [09:31] * Joins: Smylers (~smylers@176.12.107.140)
  433. # [09:34] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  434. # [09:35] * Joins: richt (~richt@83.218.67.123)
  435. # [09:39] * Quits: Smylers (~smylers@176.12.107.140) (Ping timeout: 264 seconds)
  436. # [09:43] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  437. # [09:43] * Quits: zdobersek (~zan@109.201.154.203) (Ping timeout: 258 seconds)
  438. # [09:48] * Joins: Smylers (~smylers@81.143.60.194)
  439. # [09:48] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  440. # [09:57] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  441. # [09:58] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  442. # [09:58] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  443. # [10:01] * Joins: marcosc (~marcosc@66.207.208.102)
  444. # [10:02] * Joins: zdobersek (~zan@109.201.152.226)
  445. # [10:02] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  446. # [10:02] * Quits: jdaggett (~jdaggett@61-121-216-2.bitcat.net) (Quit: jdaggett)
  447. # [10:03] * Joins: yoav (yoav@nat/google/x-gukafgsyzodgbexd)
  448. # [10:05] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 240 seconds)
  449. # [10:06] * Joins: darobin (~darobin@78.109.80.74)
  450. # [10:07] * Quits: sicking (~sicking@209.49.120.130) (Quit: sicking)
  451. # [10:10] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 240 seconds)
  452. # [10:15] * Quits: rniwa (~rniwa@17.202.43.222) (Quit: rniwa)
  453. # [10:16] * Quits: yoav (yoav@nat/google/x-gukafgsyzodgbexd) (Ping timeout: 240 seconds)
  454. # [10:22] * Joins: Ducki_ (~Ducki@137.116.197.171)
  455. # [10:23] * Quits: Ducki (~Ducki@137.116.197.171) (Ping timeout: 252 seconds)
  456. # [10:24] * Quits: Ms2ger (~Ms2ger@91.182.70.155) (Ping timeout: 245 seconds)
  457. # [10:26] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  458. # [10:26] * Quits: Ducki_ (~Ducki@137.116.197.171) (Ping timeout: 240 seconds)
  459. # [10:29] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
  460. # [10:31] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
  461. # [10:37] * Quits: tav (~tav`@host31-52-138-103.range31-52.btcentralplus.com) (Quit: tav)
  462. # [10:43] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  463. # [10:43] * Joins: annevk (annevk@nat/google/x-qfogxifacbzctwoq)
  464. # [10:58] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  465. # [10:59] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  466. # [11:03] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  467. # [11:06] * Joins: Lachy (~Lachy@213.166.174.2)
  468. # [11:06] * Quits: zdobersek (~zan@109.201.152.226) (Quit: Leaving.)
  469. # [11:06] * Joins: zdobersek (~zan@109.201.152.226)
  470. # [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)
  471. # [11:11] <darobin> e.g. Promise<Foo> or sequence<Bar>
  472. # [11:11] <darobin> parametrised type?
  473. # [11:13] <tobie> We need that because some specs (*cough* ServiceWorkers *cough*) are extending the Promise type e.g.: ResponsePromise<any>
  474. # [11:13] <darobin> and it would be nice if what you get in the AST matched something that people can vaguely understand
  475. # [11:15] <tobie> note that ResponsePromise<any> isn't supported by WebIDL atm, though.
  476. # [11:15] <tobie> (no idea what the plan is)
  477. # [11:21] <darobin> tobie: http://en.wikipedia.org/wiki/Generic_programming might be the right answer
  478. # [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
  479. # [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?
  480. # [11:23] <JakeA> haha
  481. # [11:25] * Joins: espadrine (~ttyl@AMontsouris-158-1-61-149.w92-128.abo.wanadoo.fr)
  482. # [11:25] <tobie> that's going to be hard to write tests for.
  483. # [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"
  484. # [11:27] <darobin> tobie: I'm getting several people saying "generic"
  485. # [11:28] <darobin> tobie: also, it'd be nice to have a test for e.g. Promise<Promise<sequence<DOMStrig>>>
  486. # [11:28] <darobin> JakeA: hahaha, that's pretty cool
  487. # [11:28] <tobie> it would be nice indeed.
  488. # [11:29] <tobie> OK, I'll add such a test.
  489. # [11:29] * Joins: Ms2ger (~Ms2ger@nata241.ugent.be)
  490. # [11:30] <darobin> tobie: do you mind also s/parametrized/generic/?
  491. # [11:30] <tobie> so it would be: { generic: true, genericType: "Promise" }?
  492. # [11:31] <darobin> the AST is horrible already, if we can make it a little more readable
  493. # [11:31] <darobin> yeah, that WFM
  494. # [11:31] <tobie> don't make it look like "parametrized" was my idea. :P
  495. # [11:31] <darobin> I guess we don't need generic: true if we have genericType, though
  496. # [11:31] <darobin> heh
  497. # [11:32] <darobin> I did tell you it was the first thing that popped up :)
  498. # [11:32] <darobin> but I'm happy with whatever you come up with
  499. # [11:32] <tobie> yeah we could have: { generic: null } and {generic: "Promise" }
  500. # [11:32] <darobin> that WFM
  501. # [11:32] <tobie> ok.
  502. # [11:33] <darobin> thanks a lot!
  503. # [11:33] <tobie> np
  504. # [11:37] * Joins: Ducki (~Ducki@137.116.197.171)
  505. # [11:41] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
  506. # [11:42] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Client Quit)
  507. # [11:43] * Joins: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com)
  508. # [11:43] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  509. # [11:44] * Quits: estellevw (~estellevw@cpe-66-68-18-41.austin.res.rr.com) (Client Quit)
  510. # [11:47] <annevk> SimonSapin: http://stackoverflow.com/questions/2050973/what-encoding-are-filenames-in-ntfs-stored-as
  511. # [11:48] * Quits: annevk (annevk@nat/google/x-qfogxifacbzctwoq) (Remote host closed the connection)
  512. # [11:48] <SimonSapin> thanks annevk, but that doesn’t really answer my question
  513. # [11:50] * Joins: marcosc (~marcosc@66.207.208.102)
  514. # [11:50] * Joins: yoav (yoav@nat/google/x-nbnogipmrpqlsqef)
  515. # [11:50] * Joins: IZh (~IZh@213.33.220.118)
  516. # [11:54] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 258 seconds)
  517. # [11:59] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  518. # [11:59] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  519. # [12:04] * Quits: yoav (yoav@nat/google/x-nbnogipmrpqlsqef) (Ping timeout: 240 seconds)
  520. # [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
  521. # [12:05] <jgraham> But maybe I am wrong
  522. # [12:06] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  523. # [12:06] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Read error: Connection reset by peer)
  524. # [12:06] <jgraham> (and that Foo<T> where Foo and T are types implied that Foo is a parameterised type)
  525. # [12:06] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  526. # [12:10] <jgraham> Hmm, but wikipedia seems to use "generic type" so ignore me
  527. # [12:11] <darobin> jgraham: I sort of thought that but basically walked the same path you just did
  528. # [12:16] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
  529. # [12:21] * Joins: scor (~scor@drupal.org/user/52142/view)
  530. # [12:22] * Quits: Ms2ger (~Ms2ger@nata241.ugent.be) (Ping timeout: 276 seconds)
  531. # [12:23] * Quits: PLATOSCAVE (~PLATOSCAV@66-214-254-73.static.lsan.ca.charter.com) (Quit: https://www.facebook.com/realjohnchalekson)
  532. # [12:30] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  533. # [12:34] * Joins: Ms2ger (~Ms2ger@nata241.ugent.be)
  534. # [12:40] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 258 seconds)
  535. # [12:43] * Quits: Ms2ger (~Ms2ger@nata241.ugent.be) (Ping timeout: 264 seconds)
  536. # [12:58] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  537. # [13:02] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  538. # [13:12] * Joins: annevk (annevk@nat/google/x-irthdssjajmopjye)
  539. # [13:14] * Quits: zdobersek (~zan@109.201.152.226) (Ping timeout: 240 seconds)
  540. # [13:17] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  541. # [13:22] <tobie> likewise.
  542. # [13:23] <tobie> when we have Foo<Bar> , Foo's the Generic type and Bar's the parameterized type, correct?
  543. # [13:23] <tobie> s/correct/do we agree/
  544. # [13:24] <tobie> ^ jgraham, darobin
  545. # [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
  546. # [13:25] <darobin> why do you need the distinction?
  547. # [13:25] <tobie> For the README. :)
  548. # [13:26] <tobie> Promise<any> => { generic: "Promise", idlType: "any" } reads kind of weird tbh.
  549. # [13:26] <tobie> But oh well.
  550. # [13:27] * Joins: falken (uid20729@gateway/web/irccloud.com/x-qmjdlyedjtjksmny)
  551. # [13:35] * Quits: 16WAAPRQL (scrollback@conference/jsconf/x-hahuyvxdwqkywtwe) (Remote host closed the connection)
  552. # [13:35] <annevk> I don't think it's generic at the moment
  553. # [13:35] <annevk> There's sequence<T> and Promise<T>
  554. # [13:36] * Joins: 20WAAEX6M (scrollback@conference/jsconf/x-vrszxsolpigaxdhr)
  555. # [13:36] * Joins: cheron (~cheron@unaffiliated/cheron)
  556. # [13:38] <tobie> annevk: great use of `generic` in the above sentence.
  557. # [13:39] <tobie> annevk: agree WebIDL doesn't support that at present. But SW requires it.
  558. # [13:39] <annevk> tobie: I might be missing something, what does SW require?
  559. # [13:40] <tobie> ResponsePromise<T>
  560. # [13:40] <tobie> I'm not advocating for this, btw. Just pointing it out.
  561. # [13:40] <annevk> Ah subclassing. Subclassing is not supported by IDL basically
  562. # [13:40] <tobie> agreed.
  563. # [13:40] <annevk> We need Team Domenic(tm) for that
  564. # [13:40] <tobie> Question is: will it?
  565. # [13:40] <tobie> K.
  566. # [13:41] <annevk> Yeah, once we align with ES6, @@create will be sprinkled around the DOM
  567. # [13:41] <annevk> Implications unforeseen
  568. # [13:41] <tobie> Well, in the meantime, the parser supports that more generic syntax for generics.
  569. # [13:42] <tobie> that is, once darobin pulls in https://github.com/darobin/webidl2.js/pull/15
  570. # [13:42] <annevk> cool
  571. # [13:44] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Ping timeout: 265 seconds)
  572. # [13:49] <darobin> tobie: and merged it is
  573. # [13:49] <darobin> shipping now
  574. # [13:49] <tobie> awesome. ty.
  575. # [13:50] <darobin> tobie: and npm published as 2.0.6 — thanks a bundle!
  576. # [13:52] <tobie> Yes. Now only [EnsureUTF16] needs fixing.
  577. # [13:53] * Krinkle|detached is now known as Krinkle
  578. # [13:55] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
  579. # [13:55] * Joins: sedovsek (~robert@89.143.12.238)
  580. # [13:58] <annevk> tobie: so did you see my latest question in that bug?
  581. # [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
  582. # [13:58] <annevk> tobie: and add a typedef to DOMString for now
  583. # [13:59] <tobie> I did see the question. Didn't understand most of your premises, though. :(
  584. # [13:59] * Joins: zdobersek (~zan@109.201.154.148)
  585. # [13:59] * annevk seems the amount of tabs tobie uses, wonders how he copes
  586. # [13:59] * tobie doesn't
  587. # [14:02] * Quits: annevk (annevk@nat/google/x-irthdssjajmopjye) (Remote host closed the connection)
  588. # [14:14] * Joins: annevk (annevk@nat/google/x-qthwjbnjajkdnrts)
  589. # [14:16] * Quits: annevk (annevk@nat/google/x-qthwjbnjajkdnrts) (Read error: Connection reset by peer)
  590. # [14:16] * Joins: annevk (annevk@nat/google/x-lobjlcgrfsuykadz)
  591. # [14:17] <zcorpan> jgraham: fyi http://dev.w3.org/csswg/cssom-view/#the-features-argument-to-the-open()-method
  592. # [14:23] <darobin> tobie: re appcache, it might indeed be a good idea to campaign to phase it out once SW becomes broadly available
  593. # [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 )
  594. # [14:27] <zcorpan> jgraham: i recall seeing different behavior when testing it (unsurprisingly), so i specified what i thought was most useful
  595. # [14:27] <zcorpan> jgraham: what in particular did you have in mind not matching UAs?
  596. # [14:28] <jgraham> zcorpan: Well it seems to have fewer features and a different default behaviour (I'm just comparing to the MDN page)
  597. # [14:29] * Joins: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net)
  598. # [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/
  599. # [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
  600. # [14:31] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  601. # [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/
  602. # [14:32] <zcorpan> jgraham: ok, thx. yeah the spec doesn't have such "default" behavior
  603. # [14:32] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:4471:ddd5:3c3b:dd64)
  604. # [14:35] <zcorpan> i see now that both chrome and firefox open a new tab for empty features but a popup for non-empty
  605. # [14:37] <jgraham> Yeah, this seems to be pretty nasty and confusing :(
  606. # [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
  607. # [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
  608. # [14:44] * Quits: IZh (~IZh@213.33.220.118) (Quit: ChatZilla 0.9.90.1 [SeaMonkey 2.26/20140428215651])
  609. # [14:49] * Joins: scor (scor@drupal.org/user/52142/view)
  610. # [14:52] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
  611. # [15:01] * Joins: newtron (~newtron@199.71.174.203)
  612. # [15:03] * Quits: kinetik (~kinetik@121-99-30-134.bng1.nct.orcon.net.nz) (Ping timeout: 265 seconds)
  613. # [15:04] * Joins: kinetik (~kinetik@121-99-208-245.bng1.tvc.orcon.net.nz)
  614. # [15:05] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Quit: BigBangUDR)
  615. # [15:09] * Quits: annevk (annevk@nat/google/x-lobjlcgrfsuykadz) (Remote host closed the connection)
  616. # [15:10] * Joins: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp)
  617. # [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
  618. # [15:17] * Joins: marcosc (~marcosc@66.207.208.102)
  619. # [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?
  620. # [15:18] * Quits: Lachy (~Lachy@213.166.174.2) (Read error: Connection reset by peer)
  621. # [15:18] * Joins: Lachy (~Lachy@213.166.174.2)
  622. # [15:19] <SimonSapin> what’s a sub-fragment?
  623. # [15:19] <erlehmann> SimonSapin see the example at http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/
  624. # [15:19] <erlehmann> it links to http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/#audio&t=8
  625. # [15:20] <erlehmann> which means „the resource embedded by the element with the id audio at time 8“
  626. # [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
  627. # [15:22] <erlehmann> or http://daten.dieweltistgarnichtso.net/src/media-fragments-html-polyfill/#video&t=00:20
  628. # [15:22] <erlehmann> the video at time 00:20
  629. # [15:23] * Joins: yoav (yoav@nat/google/x-wdluowdmgisvafqo)
  630. # [15:26] * Quits: payman (~payman@ip-200.t2.se.opera.com) (Ping timeout: 240 seconds)
  631. # [15:27] * Quits: zdobersek (~zan@109.201.154.148) (Ping timeout: 240 seconds)
  632. # [15:28] * Joins: payman (~payman@ip-200.t2.se.opera.com)
  633. # [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
  634. # [15:31] <zewt> sounds like a case for the ##key=value thing that was talked about a few weeks ago
  635. # [15:32] * Quits: kinetik (~kinetik@121-99-208-245.bng1.tvc.orcon.net.nz) (Ping timeout: 240 seconds)
  636. # [15:33] * Quits: shepazu (~shepazu@108-70-132-46.lightspeed.rlghnc.sbcglobal.net) (Quit: is sleepy)
  637. # [15:34] * Joins: TallTed (~Thud@63.119.36.36)
  638. # [15:34] * Quits: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net) (Quit: Die demokratieerhaltende Whistleblowerplattform Krautchan freut sich immer über Spenden.)
  639. # [15:34] * Joins: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net)
  640. # [15:35] <erlehmann> SimonSapin sorry
  641. # [15:36] <erlehmann> connection was lost
  642. # [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?
  643. # [15:37] <zewt> erlehmann http://krijnhoetmer.nl/irc-logs/whatwg/20140514#l-633
  644. # [15:37] <erlehmann> thx
  645. # [15:37] <SimonSapin> erlehmann: yes. Did you see mine? http://krijnhoetmer.nl/irc-logs/whatwg/20140514#l-626
  646. # [15:38] <erlehmann> yes, zewt, something like http://example.org#video##t=00:20 would probably result in even less collisions with actual content
  647. # [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)
  648. # [15:39] <erlehmann> though i have gone through content already and the ampersand followed by letters followed by an equals sign is really rare
  649. # [15:39] <erlehmann> SimonSapin http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/080689.html
  650. # [15:40] <zewt> i've done it personally, so i doubt it
  651. # [15:40] <erlehmann> > Also, img elements could certainly benefit from spatial media fragments.
  652. # [15:40] <erlehmann> zewt in ids of elements?
  653. # [15:41] <zewt> i often use urls like http://foo.com/server/path?server=1&query=2#client/path?client=1&query=2
  654. # [15:41] <erlehmann> zewt http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/080703.html
  655. # [15:41] * Joins: kinetik (~kinetik@121-99-42-74.bng1.nct.orcon.net.nz)
  656. # [15:41] <erlehmann> zewt so you have then an element with id „client/path?client=1&query=2” ?
  657. # [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
  658. # [15:42] <zewt> no, of course not, it's for history API-based scripts
  659. # [15:42] <erlehmann> sounds exceedingly brittle
  660. # [15:42] <erlehmann> well, then we have no conflict
  661. # [15:42] <zewt> nope, works perfectly fine
  662. # [15:42] <erlehmann> conflict only would be if there is a collision
  663. # [15:42] * Quits: TallTed (~Thud@63.119.36.36)
  664. # [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
  665. # [15:43] <erlehmann> zewt only if you have a video that has an id!
  666. # [15:43] <erlehmann> that is the whole point of my proposal
  667. # [15:43] <erlehmann> take http://example.com/server/path?server=1&query=2#client/path?client=1&query=2&t=3
  668. # [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
  669. # [15:44] <erlehmann> then you would need to have a video with the id of 'client/path?client=1' for anything to go haywire
  670. # [15:44] <erlehmann> can you point me to the ## thing?
  671. # [15:44] <erlehmann> i just want a simple thing to link to media on web pages. this is currently *not* possible
  672. # [15:44] <zewt> it was a long and noisy discussion that i probably should have summarized on the list
  673. # [15:46] <zewt> (one sec, i summarized it on irc at the time, searching for it)
  674. # [15:46] <erlehmann> i am not at all interested in javascript. i just want to conflicts
  675. # [15:46] <erlehmann> no conflicts
  676. # [15:46] <erlehmann> and a simple declarative way to say „this video on that page at that time“
  677. # [15:46] <erlehmann> HEY LOOK AT THAT KITTEN
  678. # [15:46] <erlehmann> something that currently needs js which is implemented differently every single time
  679. # [15:46] <erlehmann> or stuff like „hey, look at her face here on this page“
  680. # [15:46] <zewt> we shouldn't be introducing features that "aren't interested in javascript"
  681. # [15:47] <erlehmann> oh you
  682. # [15:47] <erlehmann> read that again. *i* am not interested in javascript.
  683. # [15:47] <erlehmann> the feature should surely not prevent its use
  684. # [15:47] <zewt> which implies "i don't care if this feature works with JS"
  685. # [15:47] <erlehmann> wrong
  686. # [15:47] <erlehmann> it implies “i don't want a feature that needs js”
  687. # [15:48] <zewt> ... what needs js?
  688. # [15:48] * Joins: coolbot95 (~coolbot95@gateway/tor-sasl/coolbot95)
  689. # [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)
  690. # [15:49] <erlehmann> because we already have an incompatible mess of scripts that forward to a point in time of an embedded media resource
  691. # [15:49] * Quits: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net) (Quit: Die demokratieerhaltende Whistleblowerplattform Krautchan freut sich immer über Spenden.)
  692. # [15:52] * Joins: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net)
  693. # [15:52] <erlehmann> sorry, network
  694. # [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)
  695. # [15:54] <erlehmann> zewt doesn't that ensure that private semantics are used?
  696. # [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")
  697. # [15:54] <zewt> erlehmann: what do you mean?
  698. # [15:54] <erlehmann> ah, i misunderstood it probably.
  699. # [15:54] <erlehmann> private semantics, that people “invent“ keys
  700. # [15:55] <erlehmann> like with hashbangs
  701. # [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)
  702. # [15:55] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  703. # [15:55] <erlehmann> i see
  704. # [15:55] <caitp> lets not encourage making uris even less uniform and more stupid
  705. # [15:55] <caitp> please
  706. # [15:55] <erlehmann> i see users putting “their own stuff” in the hash as something evil
  707. # [15:55] <caitp> they're bad enough as it is
  708. # [15:55] <zewt> eg. if I have http://foo.com#activeTab=settings, the two can coexist: http://foo.com#activeTab=settings##text=hello
  709. # [15:56] <erlehmann> what caitp says
  710. # [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)
  711. # [15:57] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
  712. # [15:57] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
  713. # [15:57] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
  714. # [15:57] <zewt> erlehmann: well, i couldn't disagree more :)
  715. # [15:57] <zewt> but that's probably too long a discussion for now as I need to head to work
  716. # [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
  717. # [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
  718. # [15:58] * Joins: marcosc (~marcosc@66.207.208.102)
  719. # [15:58] <caitp> it doesn't need another abuse vector @_@
  720. # [15:58] <erlehmann> yeah, what caitp says
  721. # [15:58] <erlehmann> this recent “haha, privacy is bad enough, lets give more fingerprinting options” is something like that
  722. # [15:58] <erlehmann> “the web is broken, lets break it more!”
  723. # [15:59] <zewt> alright, this conversation is turning rhetorical rather than informative so I'm headed to work now :)
  724. # [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.".
  725. # [16:00] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 265 seconds)
  726. # [16:00] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201148.unisys.com)
  727. # [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)
  728. # [16:00] * Quits: yoav (yoav@nat/google/x-wdluowdmgisvafqo) (Ping timeout: 240 seconds)
  729. # [16:00] <zewt> (that was a fascinating sentence structure)
  730. # [16:01] * Joins: TallTed (~Thud@63.119.36.36)
  731. # [16:01] <TabAtkins> It's an aspect that hits a maximum brokenness and then doesn't get more broken, unlike other things.
  732. # [16:01] <caitp> don't irc while you drive, zewt
  733. # [16:01] <caitp> jeeze man
  734. # [16:01] <zewt> irc has the effect of sucking people back in and making them late for work :P
  735. # [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.
  736. # [16:02] <TabAtkins> erlehmann: As argued by multiple other people, you can already figure this out roughly with a pretty easy stress-test.
  737. # [16:03] * Joins: yoav (yoav@nat/google/x-liewzqphrptxirem)
  738. # [16:04] <erlehmann> TabAtkins i think one should not make it easier.
  739. # [16:05] <erlehmann> OTOH, maybe you don't think that the linux OOM killer is a pretty good idea.
  740. # [16:05] <erlehmann> because if an application wants to “stress test” the memory subsystem, it will be terminated
  741. # [16:05] <TabAtkins> Shrug. It *is* a useful piece of information.
  742. # [16:05] <erlehmann> what's your stance on that?
  743. # [16:05] <erlehmann> and that i think not. i think it is something that encourages wasteful programming.
  744. # [16:06] <erlehmann> and user differentiation. i have already seen web pages that tell me to get a new graphics card.
  745. # [16:06] <erlehmann> which makes the web less universal
  746. # [16:06] <caitp> if people had to be competent kernel developers to write web applications, the web would be a lot tinier
  747. # [16:06] <erlehmann> “this web pages needs at least 4 cores”
  748. # [16:06] <erlehmann> caitp it is not about kernel developers. it is about app developers
  749. # [16:06] * Quits: jungkees (uid24208@gateway/web/irccloud.com/x-qebfaisorgygpanb) (Quit: Connection closed for inactivity)
  750. # [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.
  751. # [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
  752. # [16:07] <erlehmann> lest your app is killed
  753. # [16:08] <erlehmann> TabAtkins that's quite true. though my core uno machine only becomes notably less responsive when load is >200
  754. # [16:08] <erlehmann> so kudos to the scheduling people
  755. # [16:08] <erlehmann> (yes, two zeros)
  756. # [16:09] <erlehmann> TabAtkins may i ask why “use all available resources” is important in your case?
  757. # [16:09] <erlehmann> instead of having a baseline and then going all linear growth / exponential backoff from that?
  758. # [16:10] * Quits: yoav (yoav@nat/google/x-liewzqphrptxirem) (Ping timeout: 240 seconds)
  759. # [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.
  760. # [16:11] * Joins: jonathanmarvens (~jonathanm@2601:6:7700:929:78c0:2971:e71d:2208)
  761. # [16:11] <erlehmann> TabAtkins so what would happen if something like your page is opened in two tabs?
  762. # [16:11] * Joins: dcherman (~dcherman@164.55.254.106)
  763. # [16:11] <erlehmann> both spawn maximum workers?
  764. # [16:11] <TabAtkins> Yeah, probably.
  765. # [16:11] <TabAtkins> I mean, the thing in back is gonna get scaled back by the browser anywya.
  766. # [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
  767. # [16:12] <erlehmann> because if it is simple, people will use it
  768. # [16:12] <TabAtkins> More likely to be right than guessing an arbitrary number, which is what most people do today.
  769. # [16:12] <erlehmann> and advice might be “spawn the number of workers that navigator.concurrency” gives
  770. # [16:12] <erlehmann> instant scheduler hell.
  771. # [16:13] <TabAtkins> The options are: (1) guess, (2) use what the browser tells you, or (3) implement dynamic perf scaling.
  772. # [16:13] <TabAtkins> The first two are way easier, and (2) is better than (1).
  773. # [16:13] <erlehmann> maybe (3) can be made easier
  774. # [16:13] <caitp> it would help if people stopped thinking of concurrency as multithreading
  775. # [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.
  776. # [16:14] * Joins: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net)
  777. # [16:15] <caitp> ideally you shouldn't have to care how many processing units you have to decide how many coroutines you need
  778. # [16:15] <caitp> because they shouldn't be related
  779. # [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.
  780. # [16:17] <erlehmann> TabAtkins there is precedent for gcd-style stuff in js https://github.com/skylar/node-tasks/blob/master/examples.js
  781. # [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.
  782. # [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?
  783. # [16:19] <erlehmann> or something?
  784. # [16:19] <erlehmann> hmm
  785. # [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
  786. # [16:20] <erlehmann> i'm pulling that out of my ass and should really not comment on that. i am not qualified.
  787. # [16:20] <caitp> and you don't have to worry as much about how many simultaneous jobs you can run
  788. # [16:20] <caitp> they may or may not be simultaneous, it's not important
  789. # [16:20] <TabAtkins> erlehmann: How is that not equivalent to just providing a number of workers you can instantiate up front?
  790. # [16:21] <TabAtkins> caitp: Yeah, even lighter-weight routines are nice, but they're not what Workers are.
  791. # [16:21] <caitp> but they could be
  792. # [16:21] <erlehmann> TabAtkins it encourages dynamic scaling
  793. # [16:21] <caitp> web developers don't need pthreads
  794. # [16:22] <caitp> ensuring that they're heavyweight creates this problem and doesn't necessarily benefit people
  795. # [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.
  796. # [16:22] <TabAtkins> caitp: Sometimes you do need heavier threads.
  797. # [16:22] <caitp> sometimes, but what if you need them and only have a single core machine
  798. # [16:22] <erlehmann> i think the distinction between threads and coroutines is pretty arbitrary
  799. # [16:23] <caitp> but you still have two tasks you want to run concurrently
  800. # [16:23] <TabAtkins> caitp: Well they get scheduled against each other then. Ah well.
  801. # [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
  802. # [16:23] <caitp> and that's not very helpful is it
  803. # [16:24] * Joins: tav (~tav`@dab-yat1-h-17-4.dab.02.net)
  804. # [16:24] * Quits: tav (~tav`@dab-yat1-h-17-4.dab.02.net) (Client Quit)
  805. # [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
  806. # [16:26] <erlehmann> what caitp says
  807. # [16:26] <erlehmann> if they think they have to care, there should be an api to group workers that should be run in parallel
  808. # [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
  809. # [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
  810. # [16:27] <jgraham> Hmm
  811. # [16:27] <zewt> parse error, redo from start
  812. # [16:27] <jgraham> that "4" or "8" is probably an OK value
  813. # [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.
  814. # [16:29] <TabAtkins> (Computer's about to die, so I'll probably check out.)
  815. # [16:30] * Joins: annevk (annevk@nat/google/x-bvyrqdilvkzhlpuu)
  816. # [16:30] <jgraham> An improvement that is likely to be just as wrong in many cases seems like a very margianal improvement indeed
  817. # [16:31] <TabAtkins> Luckily it's a very marginal cost as well.
  818. # [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
  819. # [16:36] <caitp> exactly what are you doing in your web app that you need 10+ proper threads?
  820. # [16:37] <zewt> what? any task that's CPU-bound and parallelizes well ("reencode lots of files from MP3 to Vorbis", etc)
  821. # [16:38] * Quits: KevinMarks (~yaaic@2607:fb90:f13:915e:4603:ca82:4542:955e) (Ping timeout: 240 seconds)
  822. # [16:38] <jgraham> (I also note that 1 worker = one thread is not required anywhere)
  823. # [16:38] <caitp> it's not required, but it is pretty much hinted at
  824. # [16:38] <jgraham> (and that's not how presto implements it, for example)
  825. # [16:39] <zewt> yeah, that should be treated as an implementation detail
  826. # [16:39] <caitp> the spec says that workers are heavyweight, and can be pretty much expected to be OS threads
  827. # [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
  828. # [16:39] <zewt> the spec is occasionally mistaken
  829. # [16:39] <caitp> in other words no scheduling algorithm is specified and it's up to the host platform
  830. # [16:40] <caitp> unless the browser comes up with something on its own, which may or may not be adequate
  831. # [16:40] * Joins: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net)
  832. # [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
  833. # [16:41] * Joins: BigBangUDR (~Thunderbi@101.56.5.91)
  834. # [16:42] * Quits: BigBangUDR (~Thunderbi@101.56.5.91) (Client Quit)
  835. # [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
  836. # [16:43] * Quits: hsivonen_ (~hsivonen@bugzilla.validator.nu) (Ping timeout: 240 seconds)
  837. # [16:44] <zewt> what detectable behavior do you think is underspecified?
  838. # [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
  839. # [16:44] * Joins: hsivonen (~hsivonen@bugzilla.validator.nu)
  840. # [16:45] <caitp> it's not that they have to be heavyweight
  841. # [16:45] <caitp> but the spec sort of says "they're probably heavyweight, they're allowed to be heavyweight"
  842. # [16:45] <zcorpan> yeah
  843. # [16:45] <caitp> and as a result, they likely are OS threads
  844. # [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
  845. # [16:46] <Domenic> Normatively workers are "a separate thread or process or equivalent construct"
  846. # [16:46] <caitp> welcome to chromium where you have entirely different processes all over the place
  847. # [16:46] * Quits: richt (~richt@83.218.67.123) (Remote host closed the connection)
  848. # [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)
  849. # [16:47] * Joins: richt (~richt@83.218.67.123)
  850. # [16:48] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  851. # [16:48] <jgraham> Domenic: "equivalent construct" is a lot of leeway
  852. # [16:49] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  853. # [16:49] <zewt> Domenic: i don't think a phrase starting with "i.e." can be considered normative, heh
  854. # [16:50] <Domenic> zewt: I think "i.e." can; "e.g." cannot.
  855. # [16:50] * Parts: erlehmann (~erlehmann@brln-4dbc1ed5.pool.mediaWays.net) ("Nein.")
  856. # [16:50] <zewt> more practically, i'm not sure what detectable behavior we're talking about that we think is wrong or underspecified
  857. # [16:50] <jgraham> I'm not sure I think that anything is wrong or underspecified
  858. # [16:51] * Quits: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  859. # [16:51] * Quits: richt (~richt@83.218.67.123) (Ping timeout: 252 seconds)
  860. # [16:52] <caitp> I don't think you want the spec to encourage applications to care about how many cores they have available
  861. # [16:52] <caitp> just IMO
  862. # [16:52] <caitp> the browser should care, but script contexts not so much
  863. # [16:52] <zewt> are you referring to the "are workers threads" discussion, or are you talking about something else?
  864. # [16:53] <caitp> I'm referring to the "integer telling you how many cores you have" thing
  865. # [16:53] <zewt> okay, context change marker needed :)
  866. # [16:53] <zewt> i'm very unconvinced about that feature too
  867. # [16:54] <zewt> (not to say I'm totally convinced against it, either)
  868. # [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
  869. # [16:56] <caitp> and nobody wants that
  870. # [16:56] <Domenic> asm.js people want that
  871. # [16:56] <zewt> sounds like a bit of a giant leap
  872. # [16:56] <caitp> they think they want that, they don't really
  873. # [16:56] <Domenic> no, literally, e.g. epic games wants to be able to compile their pthread-using C++ to JS
  874. # [16:56] * Quits: annevk (annevk@nat/google/x-bvyrqdilvkzhlpuu) (Remote host closed the connection)
  875. # [16:57] <zewt> that stuff has always seemed like impractical nonsense to me
  876. # [16:57] <caitp> I think it is okay to say "hint that this worker probably wants to have its own OS thread"
  877. # [16:57] <zewt> why would you need to do that?
  878. # [16:57] <caitp> because maybe you're Epic Games or whoever
  879. # [16:58] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201148.unisys.com) (Read error: Connection reset by peer)
  880. # [16:58] <zewt> sorry, that does help explain what we're talking about now
  881. # [16:58] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
  882. # [16:58] <Domenic> yeah, this is a different discussion, i was jumping off of your full pthread-API idea
  883. # [16:58] <zewt> but it seems like we're far away from "scripts want to know how many threads to use"
  884. # [16:58] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
  885. # [16:58] <caitp> it's all related
  886. # [16:58] <Domenic> web workers, even as heavyweight threads, are so far from pthreads
  887. # [16:58] <caitp> so, there's a distinction between concurrency and parallelism, do you agree
  888. # [16:59] * Quits: encryptd_fractl (~encryptd_@23.30.224.246) (Remote host closed the connection)
  889. # [16:59] <caitp> concurrent tasks may or may not be run in parallel
  890. # [16:59] <zewt> they're synonyms, so no
  891. # [16:59] <caitp> they're not actually synonyms
  892. # [16:59] <Domenic> i am not really interested in a first-principles schooling on concurrency vs. parallelism, so count me out.
  893. # [16:59] <caitp> people mistake them for synonyms, but they're not
  894. # [16:59] <zewt> yeah i have things i'd rather be doing
  895. # [17:00] <caitp> that's fine, but it's worth learning about when you have time
  896. # [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"
  897. # [17:01] <caitp> well, getting too philosophical about it isn't really worth doing
  898. # [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
  899. # [17:03] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
  900. # [17:03] <caitp> you might do them in parallel, or you might do them in sequence a little bit of each at a time
  901. # [17:03] <caitp> both are concurrent
  902. # [17:03] <caitp> the distinction, ideally, does not matter to the developer
  903. # [17:03] <zewt> not sure how that matters here
  904. # [17:04] * Quits: Ducki (~Ducki@137.116.197.171) (Remote host closed the connection)
  905. # [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
  906. # [17:05] <caitp> the browser allocates your task somewhere, whether on the current thread or some new thread, and you're none the wiser
  907. # [17:05] <caitp> that's how it should be, invisible to the web developer
  908. # [17:06] <zewt> sounds very academic; in practice if you start far more processes than CPUs you pay a cost of extra overhead
  909. # [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
  910. # [17:06] <caitp> right, so the browser will be clever and not start more threads than it thinks are appropriate
  911. # [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
  912. # [17:07] * Quits: encryptd_fractl (~encryptd_@23.30.224.246) (Remote host closed the connection)
  913. # [17:07] <zewt> currently the browser has no idea what the threads are for, so it has no way of knowing what to do
  914. # [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
  915. # [17:08] * Quits: mven (~textual@ip68-104-38-84.lv.lv.cox.net) (Ping timeout: 240 seconds)
  916. # [17:08] <caitp> it's not realistic
  917. # [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
  918. # [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
  919. # [17:09] <caitp> the browser keeps track of this information, and uses it to schedule how long I run
  920. # [17:09] <caitp> if I do a lot of work, maybe I get moved to a new thread
  921. # [17:09] <caitp> if I stop doing a lot of work, maybe I join the main thread
  922. # [17:09] <caitp> it's not super relevant
  923. # [17:09] <caitp> we can do the math and sort it out
  924. # [17:10] <jgraham> caitp: Most browser engines can't suspend scripts midway through execution, so that idea doesn't work
  925. # [17:11] <caitp> you mean chopping up a turn through the event loop
  926. # [17:11] <caitp> yes, that would take some work
  927. # [17:11] <jgraham> Presto could
  928. # [17:11] <zewt> jgraham: if browsers are putting workers on a single thread and can't suspend them, that sounds like a big bug
  929. # [17:12] <caitp> if you're running V8's jit compiled code on the main thread, you might have a hard time stopping it
  930. # [17:12] <zewt> if one worker going while(true); can stop other workers from ever running
  931. # [17:12] <gsnedders> zewt: There's a reason why Presto was the only one that could suspend and did workers on a single thread :)
  932. # [17:12] <caitp> course, it doesn't have to be hard to stop it, that could change
  933. # [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.
  934. # [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
  935. # [17:13] <gsnedders> I think.
  936. # [17:13] <jgraham> It's just that there is only one that does multiple workers per thread
  937. # [17:13] <jgraham> and it isn't actively developed
  938. # [17:13] <caitp> which is too bad, because that's really the right way to do it
  939. # [17:13] <gsnedders> Except that can't have been it. Because how would that handle while(true);... oh well, I forget
  940. # [17:14] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
  941. # [17:16] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  942. # [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
  943. # [17:17] <caitp> not that workers are a bad thread api
  944. # [17:17] <caitp> if you're going to have heavyweight threads, web workers aren't a bad approach
  945. # [17:18] <gsnedders> Maybe we could stop on any backedge too, idk?
  946. # [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
  947. # [17:18] <jgraham> And it's not really clear that it helps with the fundamental problem
  948. # [17:18] <caitp> the fundamental problem of doing lots of things?
  949. # [17:18] * Joins: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com)
  950. # [17:18] <jgraham> In fact it might well make it worse (by trashing the cache)
  951. # [17:19] <caitp> oh probably
  952. # [17:19] <caitp> but I mean, context switches between OS threads aren't really free either
  953. # [17:19] <gsnedders> I don't think there was any complexity in the DOM? The big problem was the cost of reflowing too often.
  954. # [17:19] <gsnedders> Because nobody else would reflow during JS execution.
  955. # [17:19] <jgraham> gsnedders: I think there was
  956. # [17:20] <gsnedders> But someone who has current access to Presto is probably better to speak to than the two of us. :P
  957. # [17:20] <jgraham> But you would have to ask bratell or jl or someone
  958. # [17:20] <gsnedders> idk, I never touched the DOM code much
  959. # [17:21] <zcorpan> jgraham: i can't get the response writer thing to work. the resource never finishes loading
  960. # [17:21] <jgraham> zcorpan: Are you setting a content-length header?
  961. # [17:21] <zcorpan> hmm. nope
  962. # [17:21] * Joins: jernoble (~jernoble@76.74.153.49)
  963. # [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
  964. # [17:22] * Quits: markkes (~markkes@62.207.90.201) (Quit: Nettalk6 - www.ntalk.de)
  965. # [17:23] <jgraham> which you can do by setting response.close_connection = True
  966. # [17:23] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 240 seconds)
  967. # [17:23] <zcorpan> content-length worked. thanks
  968. # [17:24] <jgraham> OK. Are the docs wrong? This changed when we enabled HTTP/1.1
  969. # [17:24] <jgraham> It looks like they are
  970. # [17:24] <zcorpan> the example in https://github.com/w3c/wptserve/pull/24 doesn't do either at least
  971. # [17:25] * Joins: Dashiva (Dashiva@wikia/Dashiva)
  972. # [17:25] <mathiasbynens> http://validator.nu/ is down
  973. # [17:25] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 258 seconds)
  974. # [17:26] * Quits: lerc_ (~quassel@121-74-255-121.telstraclear.net) (Read error: Connection reset by peer)
  975. # [17:27] * Joins: lerc (~quassel@121-74-255-121.telstraclear.net)
  976. # [17:27] <zcorpan> hsivonen: MikeSmith: ^
  977. # [17:27] * Joins: Smylers (~smylers@81.143.60.194)
  978. # [17:28] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  979. # [17:31] * Joins: dcherman2 (~dcherman@164.55.254.106)
  980. # [17:31] * Joins: jwalden (~waldo@corp-nat.p2p.sfo1.mozilla.com)
  981. # [17:33] <hsivonen> mathiasbynens: thanks. It's up again now.
  982. # [17:33] <mathiasbynens> hsivonen: thanks!
  983. # [17:34] * Quits: dcherman (~dcherman@164.55.254.106) (Ping timeout: 240 seconds)
  984. # [17:46] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  985. # [17:46] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  986. # [17:46] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 252 seconds)
  987. # [17:47] * Quits: 20WAAEX6M (scrollback@conference/jsconf/x-vrszxsolpigaxdhr) (Remote host closed the connection)
  988. # [17:48] * Joins: 92AAA3CE4 (scrollback@conference/jsconf/x-saacbadwcybngtnn)
  989. # [17:49] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  990. # [17:53] * Joins: Dashiva (Dashiva@wikia/Dashiva)
  991. # [17:54] * Quits: jonathanmarvens (~jonathanm@2601:6:7700:929:78c0:2971:e71d:2208)
  992. # [17:57] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
  993. # [17:59] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
  994. # [17:59] * Joins: weinig (~weinig@17.202.50.223)
  995. # [18:00] * Joins: tantek (~tantek@172.56.38.136)
  996. # [18:01] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
  997. # [18:02] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  998. # [18:03] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 240 seconds)
  999. # [18:03] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201175.unisys.com)
  1000. # [18:04] * Joins: jensnockert (~jensnocke@130.235.234.0)
  1001. # [18:05] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  1002. # [18:08] <JonathanNeal> Is there anything like http://api.jquery.com/closest/ coming into native JS?
  1003. # [18:10] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1004. # [18:11] * Joins: zdobersek (~zan@109.201.154.141)
  1005. # [18:11] <jgraham> JonathanNeal: I don't think anyone is working on that
  1006. # [18:15] <Domenic> that would be nice
  1007. # [18:15] <Domenic> it is a kind of shitty name though
  1008. # [18:15] <Domenic> .ancestor(selector) might work better
  1009. # [18:17] * Joins: izhak (~izhak@92.248.142.152)
  1010. # [18:18] * Quits: jernoble (~jernoble@76.74.153.49) (Quit: Computer has gone to sleep.)
  1011. # [18:21] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
  1012. # [18:21] * Quits: jensnockert (~jensnocke@130.235.234.0) (Ping timeout: 240 seconds)
  1013. # [18:21] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  1014. # [18:21] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
  1015. # [18:22] * Joins: lmclister (~lmclister@sjfw1.adobe.com)
  1016. # [18:24] * Joins: weinig_ (~weinig@17.202.48.136)
  1017. # [18:28] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 264 seconds)
  1018. # [18:33] * Joins: ap_ (~ap@2620:149:4:304:4c27:5776:5782:4762)
  1019. # [18:35] * ap_ is now known as ap
  1020. # [18:35] * Joins: tantek_ (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  1021. # [18:35] <darobin> Domenic: .ancestor(selector) would sound to me more like jQuery's .parents(selector)
  1022. # [18:35] * Quits: lmclister (~lmclister@sjfw1.adobe.com) (Read error: Connection reset by peer)
  1023. # [18:35] <Domenic> darobin: singular vs. plural seems to be the key here
  1024. # [18:35] <Domenic> .ancestors vs. .ancestor
  1025. # [18:36] * Quits: tantek (~tantek@172.56.38.136) (Quit: Colloquy for iPod touch - http://colloquy.mobi)
  1026. # [18:36] * tantek_ is now known as tantek
  1027. # [18:36] <darobin> Domenic: mmmm, I'm not so sure — I mean they do rather different things
  1028. # [18:36] <darobin> or rather, I take your point, but that sort of difference in behaviour for just one "s" scares me
  1029. # [18:37] <darobin> (not to say that closest() is great either)
  1030. # [18:37] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  1031. # [18:38] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  1032. # [18:38] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201175.unisys.com) (Ping timeout: 252 seconds)
  1033. # [18:39] * Quits: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
  1034. # [18:39] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
  1035. # [18:39] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  1036. # [18:41] * Joins: jensnockert (~jensnocke@ip226-96.wireless.lu.se)
  1037. # [18:42] * Joins: KevinMarks (~yaaic@2607:fb90:602:8e10:4b54:45db:7f5a:a089)
  1038. # [18:45] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
  1039. # [18:46] * Joins: lmclister (~lmclister@sjfw1-b.adobe.com)
  1040. # [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)
  1041. # [18:48] <zewt> i often roll that function myself, and I call it "closest" too
  1042. # [18:49] * Quits: night199uk (~night199u@xbmc/staff/night199uk) (Ping timeout: 245 seconds)
  1043. # [18:49] <Domenic> zewt: you don't think "ancestor" is a well-known tree struture term?
  1044. # [18:49] <zewt> Domenic: it's wrong, because this.closest() can return this
  1045. # [18:49] <zewt> this isn't an ancestor of this
  1046. # [18:49] <Domenic> ah, it can? I've never actually used that.
  1047. # [18:50] <Domenic> in that case I agree .closest() sounds best.
  1048. # [18:50] <zewt> yeah, and i often depend on that behavior
  1049. # [18:50] * Joins: benv (~benv@38.104.194.126)
  1050. # [18:50] * Quits: weinig_ (~weinig@17.202.48.136) (Remote host closed the connection)
  1051. # [18:51] <Domenic> http://dom.spec.whatwg.org/#trees "inclusive ancestor" heh
  1052. # [18:52] <zewt> for example, container.addEventListener("click", function(e) { var actualTarget = e.target.closest(".button"); }, true);
  1053. # [18:52] <zewt> where the .button might actually also be the target
  1054. # [18:52] <Domenic> (doesn't currentTarget work for that?)
  1055. # [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
  1056. # [18:53] * Quits: weinig (~weinig@17.202.50.223) (Quit: weinig)
  1057. # [18:54] <zewt> so it just means "see if we clicked a .button, or something nested inside a .button (we don't care which)"
  1058. # [18:55] * Joins: night199uk (~night199u@xbmc/staff/night199uk)
  1059. # [18:56] <Domenic> Ah yeah, I guess this is usually abstracted away from me by jQuery et al's event delegation
  1060. # [18:56] <Domenic> $('.container').on('click', '.button', function (e) { /* e.currentTarget is always the .button */ })
  1061. # [18:57] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  1062. # [19:00] * Quits: jensnockert (~jensnocke@ip226-96.wireless.lu.se) (Ping timeout: 252 seconds)
  1063. # [19:02] * Joins: Areks_home (~Areks@95-26-45-140.broadband.corbina.ru)
  1064. # [19:03] * Quits: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204) (Ping timeout: 252 seconds)
  1065. # [19:03] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 252 seconds)
  1066. # [19:04] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201184.unisys.com)
  1067. # [19:04] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
  1068. # [19:05] * Quits: lmclister (~lmclister@sjfw1-b.adobe.com)
  1069. # [19:05] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: barnabywalters)
  1070. # [19:05] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  1071. # [19:06] * Joins: weinig (~weinig@17.114.4.171)
  1072. # [19:07] * Quits: night199uk (~night199u@xbmc/staff/night199uk) (Ping timeout: 240 seconds)
  1073. # [19:07] * Joins: jernoble (~jernoble@17.114.219.75)
  1074. # [19:10] * Quits: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net) (Ping timeout: 255 seconds)
  1075. # [19:10] * Quits: falken (uid20729@gateway/web/irccloud.com/x-qmjdlyedjtjksmny) (Quit: Connection closed for inactivity)
  1076. # [19:11] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 240 seconds)
  1077. # [19:14] * Joins: night199uk (~night199u@xbmc/staff/night199uk)
  1078. # [19:17] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  1079. # [19:18] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
  1080. # [19:18] * Joins: lmclister (~lmclister@192.150.10.207)
  1081. # [19:20] * Joins: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net)
  1082. # [19:23] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  1083. # [19:26] * Joins: dawhite__ (~dawhite@74.118.22.223)
  1084. # [19:28] * Joins: BigBangUDR (~Thunderbi@101.56.5.91)
  1085. # [19:28] * Joins: anchnk (~anchnk@89-93-18-86.hfc.dyn.abo.bbox.fr)
  1086. # [19:29] * Quits: anchnk (~anchnk@89-93-18-86.hfc.dyn.abo.bbox.fr) (Remote host closed the connection)
  1087. # [19:30] * Quits: dawhite_ (~dawhite@74.118.22.223) (Ping timeout: 276 seconds)
  1088. # [19:32] * Quits: BigBangUDR (~Thunderbi@101.56.5.91) (Client Quit)
  1089. # [19:39] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201184.unisys.com) (Ping timeout: 240 seconds)
  1090. # [19:39] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
  1091. # [19:41] <JonathanNeal> Domenic: ancestor suffers the same problem as contains https://developer.mozilla.org/en-US/docs/Web/API/Node.contains
  1092. # [19:41] <JonathanNeal> It implies that it does not match itself.
  1093. # [19:41] <Domenic> JonathanNeal: yeah, scroll up a bit :)
  1094. # [19:43] <JonathanNeal> I read, but I thought it was worth bringing up a related method and quantifying it a bit more.
  1095. # [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?
  1096. # [19:46] * Joins: aretecode (~aretecode@50.23.131.206-static.reverse.softlayer.com)
  1097. # [19:47] * Quits: weinig (~weinig@17.114.4.171) (Quit: weinig)
  1098. # [19:47] * Quits: encryptd_fractl (~encryptd_@23.30.224.246) (Remote host closed the connection)
  1099. # [19:47] <JonathanNeal> *naively
  1100. # [19:47] * Joins: tav (~tav`@host31-52-138-103.range31-52.btcentralplus.com)
  1101. # [19:51] * Joins: bholley (~bholley@98.210.101.88)
  1102. # [19:51] <Domenic> I'm not sure what you're asking.
  1103. # [19:52] <Domenic> the spec is probably one line, e.g. some slightly-better phrased version of "return the first inclusive ancestor of element"
  1104. # [19:52] * Joins: IZh (~IZh@0897578511.static.corbina.ru)
  1105. # [19:52] <Domenic> (The better-phrasing would come in re: making sure "first" is well-defined.)
  1106. # [19:52] <SamB> innermost?
  1107. # [19:52] <Domenic> just needs to be something already defined in the DOM standard
  1108. # [19:53] <Domenic> not sure if there's an ordering on inclusive ancestors
  1109. # [19:53] * Joins: encryptd_fractl (~encryptd_@23.30.224.246)
  1110. # [19:54] <Domenic> "that is last in tree order" might work
  1111. # [19:54] * Joins: BigBangUDR (~Thunderbi@101.56.5.91)
  1112. # [19:54] * Quits: BigBangUDR (~Thunderbi@101.56.5.91) (Client Quit)
  1113. # [19:55] * Joins: weinig (~weinig@17.114.216.37)
  1114. # [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:”
  1115. # [19:59] * Quits: lmclister (~lmclister@192.150.10.207) (Ping timeout: 255 seconds)
  1116. # [20:01] <Domenic> the answer to that is "convince annevk to add it and convince implementers to implement it."
  1117. # [20:01] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  1118. # [20:01] <Domenic> as always.
  1119. # [20:04] * Joins: marcosc (~marcosc@66.207.208.102)
  1120. # [20:04] * Quits: TallTed (~Thud@63.119.36.36) (Quit: The computer fell asleep)
  1121. # [20:05] * Joins: TallTed (~Thud@63.119.36.36)
  1122. # [20:07] * Joins: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com)
  1123. # [20:09] * Quits: marcosc (~marcosc@66.207.208.102) (Ping timeout: 255 seconds)
  1124. # [20:09] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  1125. # [20:10] * Quits: TallTed (~Thud@63.119.36.36) (Ping timeout: 252 seconds)
  1126. # [20:15] * Joins: marcosc (~marcosc@66.207.208.102)
  1127. # [20:18] * Joins: jernoble_ (~jernoble@17.202.49.6)
  1128. # [20:19] * Joins: TallTed (~Thud@63.119.36.36)
  1129. # [20:19] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1130. # [20:21] * Quits: IZh (~IZh@0897578511.static.corbina.ru) (Remote host closed the connection)
  1131. # [20:29] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1132. # [20:30] <jcgregorio> gah, I wasn't logged in when I submitted: https://www.w3.org/Bugs/Public/show_bug.cgi?id=25716
  1133. # [20:30] <jcgregorio> in case anyone wants to update the bug to list me as the reporter
  1134. # [20:31] * Quits: izhak (~izhak@92.248.142.152) (Ping timeout: 252 seconds)
  1135. # [20:32] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
  1136. # [20:33] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1137. # [20:33] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 276 seconds)
  1138. # [20:34] <smaug____> jcgregorio: I don't think you can change the reporter in bugzilla
  1139. # [20:34] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-201180.unisys.com)
  1140. # [20:34] <jcgregorio> smaug____: OK, thanks
  1141. # [20:34] * Quits: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net) (Ping timeout: 252 seconds)
  1142. # [20:36] * Joins: weinig (~weinig@17.114.216.37)
  1143. # [20:39] * Joins: plutoniix (~plutoniix@node-oku.pool-101-108.dynamic.totbb.net)
  1144. # [20:40] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
  1145. # [20:41] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  1146. # [20:43] * Quits: othermaciej (~mjs@c-50-136-134-16.hsd1.ca.comcast.net) (Quit: othermaciej)
  1147. # [20:43] * Quits: Areks_home (~Areks@95-26-45-140.broadband.corbina.ru) (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/)
  1148. # [20:46] * Joins: tantek-ipod (~tantek@guest-nat.p2p.sfo1.mozilla.com)
  1149. # [20:46] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  1150. # [20:50] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  1151. # [20:50] * Joins: ^esc (~esc-ape@178.115.129.0.wireless.dyn.drei.com)
  1152. # [20:52] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
  1153. # [20:54] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1154. # [20:56] * Joins: estellevw (~estellevw@209.49.73.82)
  1155. # [20:56] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
  1156. # [20:58] * Quits: tantek-ipod (~tantek@guest-nat.p2p.sfo1.mozilla.com) (Ping timeout: 255 seconds)
  1157. # [20:58] * Joins: tantek-ipod_ (~tantek@172.56.39.82)
  1158. # [20:58] * Joins: weinig (~weinig@17.114.216.37)
  1159. # [21:04] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1160. # [21:05] * Joins: bholley (~bholley@98.210.101.88)
  1161. # [21:06] * Quits: dcherman2 (~dcherman@164.55.254.106) (Ping timeout: 240 seconds)
  1162. # [21:08] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  1163. # [21:10] * Joins: BigBangUDR (~Thunderbi@101.59.210.244)
  1164. # [21:10] * Quits: BigBangUDR (~Thunderbi@101.59.210.244) (Client Quit)
  1165. # [21:12] * Joins: dcherman (~dcherman@164.55.254.106)
  1166. # [21:12] * Joins: jeffreyatw (~jeffreyat@173.247.197.10)
  1167. # [21:13] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1168. # [21:14] * Joins: dcherman2 (~dcherman@164.55.254.106)
  1169. # [21:16] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1170. # [21:17] * Quits: jernoble (~jernoble@17.114.219.75) (Quit: Textual IRC Client: www.textualapp.com)
  1171. # [21:18] * Quits: dcherman (~dcherman@164.55.254.106) (Ping timeout: 252 seconds)
  1172. # [21:18] * Quits: tantek-ipod_ (~tantek@172.56.39.82) (Quit: Colloquy for iPod touch - http://colloquy.mobi)
  1173. # [21:20] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1174. # [21:21] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1175. # [21:21] * Joins: tantek-ipod (~tantek@172.56.39.82)
  1176. # [21:24] * Quits: estellevw (~estellevw@209.49.73.82) (Quit: Snuggling with the puppies)
  1177. # [21:28] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:4471:ddd5:3c3b:dd64) (Read error: Connection reset by peer)
  1178. # [21:28] * Joins: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net)
  1179. # [21:31] * Quits: TallTed (~Thud@63.119.36.36)
  1180. # [21:35] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:a1fa:77a9:f4b2:521f)
  1181. # [21:38] * Quits: tantek-ipod (~tantek@172.56.39.82) (Quit: Colloquy for iPod touch - http://colloquy.mobi)
  1182. # [21:41] * Joins: TallTed (~Thud@63.119.36.36)
  1183. # [21:43] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  1184. # [21:47] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
  1185. # [21:47] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 264 seconds)
  1186. # [21:48] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1187. # [21:52] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1188. # [21:55] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-201180.unisys.com) (Ping timeout: 240 seconds)
  1189. # [21:55] * Joins: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com)
  1190. # [21:56] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  1191. # [21:58] * Joins: IceBerG (~IceBerG@82.211.154.143)
  1192. # [21:58] * IceBerG is now known as Guest68271
  1193. # [21:59] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
  1194. # [22:01] * Joins: othermaciej (~mjs@17.114.218.14)
  1195. # [22:01] * Joins: estellevw (~estellewy@209.49.66.106)
  1196. # [22:02] * Quits: Guest68271 (~IceBerG@82.211.154.143) (Client Quit)
  1197. # [22:04] * Joins: weinig (~weinig@17.114.216.37)
  1198. # [22:04] * Quits: scor (scor@drupal.org/user/52142/view) (Quit: scor)
  1199. # [22:10] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1200. # [22:10] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1201. # [22:18] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  1202. # [22:19] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  1203. # [22:20] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1204. # [22:21] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  1205. # [22:21] * Joins: llkats (~llkats@c-24-4-68-222.hsd1.ca.comcast.net)
  1206. # [22:24] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net) (Remote host closed the connection)
  1207. # [22:25] * Joins: lmclister (~lmclister@192.150.10.204)
  1208. # [22:25] * Quits: marcosc (~marcosc@66.207.208.102) (Remote host closed the connection)
  1209. # [22:30] * Quits: TallTed (~Thud@63.119.36.36)
  1210. # [22:32] * Joins: estellevw_ (~estellevw@209.49.73.82)
  1211. # [22:33] * Quits: foxtrotwhiskey (~foxtrotwh@192-63-2457.unisys.com) (Ping timeout: 240 seconds)
  1212. # [22:34] * Quits: payman (~payman@ip-200.t2.se.opera.com) (Ping timeout: 276 seconds)
  1213. # [22:36] * Joins: marcosc (~marcosc@66.207.208.102)
  1214. # [22:36] * Quits: estellevw_ (~estellevw@209.49.73.82) (Ping timeout: 264 seconds)
  1215. # [22:38] * Joins: smgd (~smgd@185.37.86.45)
  1216. # [22:41] * Joins: payman (~payman@ip-200.t2.se.opera.com)
  1217. # [22:41] * Joins: hugo_moss (~hugom@unaffiliated/hugo-moss/x-0589204)
  1218. # [22:42] * Joins: Ms2ger (~Ms2ger@193.190.253.149)
  1219. # [22:45] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1220. # [22:45] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1221. # [22:45] * Quits: lmclister (~lmclister@192.150.10.204) (Read error: Connection reset by peer)
  1222. # [22:48] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  1223. # [22:51] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1224. # [22:51] * Quits: sedovsek (~robert@lk.84.20.237.54.dc.cable.static.lj-kabel.net) (Remote host closed the connection)
  1225. # [22:52] * Quits: othermaciej (~mjs@17.114.218.14) (Quit: othermaciej)
  1226. # [22:52] * Quits: Ms2ger (~Ms2ger@193.190.253.149) (Quit: nn)
  1227. # [22:55] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Ping timeout: 240 seconds)
  1228. # [22:56] * Joins: othermaciej (~mjs@17.114.218.14)
  1229. # [23:00] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1230. # [23:01] * Joins: jeremyj (~jeremyj@17.245.28.97)
  1231. # [23:01] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
  1232. # [23:02] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1233. # [23:02] * Quits: othermaciej (~mjs@17.114.218.14) (Quit: othermaciej)
  1234. # [23:07] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  1235. # [23:07] * Joins: othermaciej (~mjs@17.114.218.14)
  1236. # [23:08] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1237. # [23:11] * Quits: jeremyj (~jeremyj@17.245.28.97) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1238. # [23:11] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1239. # [23:11] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1240. # [23:12] * Quits: jeremyj (~jeremyj@17.202.44.231) (Client Quit)
  1241. # [23:13] * Joins: ehsan_ (~ehsan@guest.mtv2.mozilla.com)
  1242. # [23:13] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Read error: Connection reset by peer)
  1243. # [23:13] * Quits: ^esc (~esc-ape@178.115.129.0.wireless.dyn.drei.com)
  1244. # [23:15] * Joins: bholley (~bholley@98.210.101.88)
  1245. # [23:16] * Joins: weinig (~weinig@17.114.216.37)
  1246. # [23:16] * Joins: yoav (~yoav@77-56-24-41.dclient.hispeed.ch)
  1247. # [23:16] * Quits: smgd (~smgd@185.37.86.45) (Quit: Leaving)
  1248. # [23:17] * Quits: ehsan_ (~ehsan@guest.mtv2.mozilla.com) (Ping timeout: 258 seconds)
  1249. # [23:20] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1250. # [23:22] * Joins: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon)
  1251. # [23:22] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1252. # [23:23] * Quits: weinig (~weinig@17.114.216.37) (Quit: weinig)
  1253. # [23:24] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1254. # [23:24] * Quits: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net) (Read error: Connection reset by peer)
  1255. # [23:24] * Quits: llkats (~llkats@c-24-4-68-222.hsd1.ca.comcast.net) (Remote host closed the connection)
  1256. # [23:25] * Joins: diffalot (~diffalot@c-76-107-128-104.hsd1.ms.comcast.net)
  1257. # [23:25] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1258. # [23:26] * Joins: weinig (~weinig@17.114.216.37)
  1259. # [23:27] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:a1fa:77a9:f4b2:521f) (Quit: Leaving.)
  1260. # [23:28] <zewt> dear world: if your documentation contains the phrase "Alice wants to", please step away and let somebody else write the documentation
  1261. # [23:28] <zewt> (thanks)
  1262. # [23:29] <odinho> But if the alternative is no documentation?
  1263. # [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
  1264. # [23:33] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  1265. # [23:34] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  1266. # [23:34] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
  1267. # [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
  1268. # [23:35] <odinho> Yeah. Alice and Bob.
  1269. # [23:35] <zewt> in this instance it's Amazon API docs, some of which is silly complex
  1270. # [23:35] <jgraham> Hurrah, time for an early xkcd http://xkcd.com/177/
  1271. # [23:36] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1272. # [23:36] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  1273. # [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)
  1274. # [23:37] * Quits: estellevw (~estellewy@209.49.66.106) (Ping timeout: 252 seconds)
  1275. # [23:38] * Joins: newtron_ (~newtron@199.71.174.204)
  1276. # [23:38] * Joins: estellevw (~estellewy@209.49.66.106)
  1277. # [23:39] * Joins: bholley (~bholley@98.210.101.88)
  1278. # [23:41] * Quits: newtron (~newtron@199.71.174.203) (Ping timeout: 240 seconds)
  1279. # [23:42] * Quits: newtron_ (~newtron@199.71.174.204) (Ping timeout: 240 seconds)
  1280. # [23:44] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
  1281. # [23:49] * Joins: scor (~scor@drupal.org/user/52142/view)
  1282. # [23:51] * Quits: zdobersek (~zan@109.201.154.141) (Quit: Leaving.)
  1283. # [23:52] * Quits: Smylers (~smylers@host86-140-155-113.range86-140.btcentralplus.com) (Ping timeout: 265 seconds)
  1284. # [23:52] * Quits: scor (~scor@drupal.org/user/52142/view) (Client Quit)
  1285. # [23:54] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 245 seconds)
  1286. # [23:55] * Quits: ehsan (~ehsan@guest.mtv2.mozilla.com) (Remote host closed the connection)
  1287. # [23:55] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  1288. # [23:56] * Joins: scor (~scor@drupal.org/user/52142/view)
  1289. # [23:57] * llkats is now known as fullmoon2heartsr
  1290. # [23:57] * fullmoon2heartsr is now known as llkats
  1291. # [23:57] * Joins: ehsan (~ehsan@guest.mtv2.mozilla.com)
  1292. # [23:58] * Quits: 92AAA3CE4 (scrollback@conference/jsconf/x-saacbadwcybngtnn) (Remote host closed the connection)
  1293. # [23:58] * Joins: 7F1AAM5WM (scrollback@conference/jsconf/x-fxicssmkyixmfurv)
  1294. # [23:58] * llkats is now known as moon2heartssradi
  1295. # [23:58] * moon2heartssradi is now known as moon2heartsradio
  1296. # [23:58] * Quits: scor (~scor@drupal.org/user/52142/view) (Client Quit)
  1297. # [23:59] * moon2heartsradio is now known as llkittens
  1298. # Session Close: Thu May 15 00:00:00 2014

The end :)