/irc-logs / freenode / #whatwg / 2014-04-01 / end

Options:

  1. # Session Start: Tue Apr 01 00:00:00 2014
  2. # Session Ident: #whatwg
  3. # [00:00] * Joins: ambv (~ambv@206.108.217.134)
  4. # [00:02] <Domenic_> Hixie: sounds good re: exception IDs
  5. # [00:04] <Hixie> do you think anyone would go for it?
  6. # [00:05] * Joins: Ms2ger (~Ms2ger@33.201-64-87.adsl-dyn.isp.belgacom.be)
  7. # [00:05] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Quit: ChatZilla 0.9.90.1 [Firefox 31.0a1/20140329030204])
  8. # [00:05] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  9. # [00:06] <Domenic_> I guess we haven't shown very compelling use cases yet. Although it's clearly better than the current "name" stuff.
  10. # [00:06] * jorendorff is now known as jorendorff_away
  11. # [00:06] <Hixie> well, it's interesting for loggin
  12. # [00:06] <Hixie> g
  13. # [00:06] <Domenic_> I think blink-dev discussed doing something similar for app cache errors?
  14. # [00:07] <Hixie> (though i wonder if the messages aren't good enough in practice)
  15. # [00:07] <Hixie> yeah
  16. # [00:08] * pdr|meeting is now known as pdr
  17. # [00:08] <Domenic_> I think the relying-on-messages argument you made is a strong incentive to do something better.
  18. # [00:09] <Hixie> i'd be worried about how effective it would be. We have enough trouble getting people to just fire the right exception in the first place, let alone the right exception with the right unique code.
  19. # [00:11] * Quits: Ms2ger (~Ms2ger@33.201-64-87.adsl-dyn.isp.belgacom.be) (Quit: nn)
  20. # [00:11] <Domenic_> that's true, hmm. perhaps because "the right exception" gives only incremental benefits so not worth the effort? the question is, would this be worth the effort.
  21. # [00:12] <Domenic_> Blink has recently done a major exception message cleanup so at least their thoughts are with developers on these issues…
  22. # [00:15] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  23. # [00:15] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Remote host closed the connection)
  24. # [00:15] * Joins: weinig (~weinig@17.114.217.177)
  25. # [00:15] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  26. # [00:16] * Quits: newtron (~newtron@199.71.174.203) (Quit: Leaving...)
  27. # [00:19] <Domenic_> Wait so innerText is not cross-browser yet?
  28. # [00:21] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  29. # [00:21] <Hixie> innerText is a disaster
  30. # [00:21] <Hixie> it depends on CSS, e.g.
  31. # [00:22] <TabAtkins> Do you mean .textContent, Domenic_ ?
  32. # [00:23] <Domenic_> Nope I meant innerText. Didn't know it was a disaster…
  33. # [00:24] <TabAtkins> Yup, total disaster.
  34. # [00:24] <jsbell> re: exception IDs + proximate cause: as long as we realize that the developer workflow is not "see exception X, search the spec for X, gain enlightenment, fix bug". Rather, it's "see exception X, google X, find the stackoverflow article, copy/paste the fix" :)
  35. # [00:24] <jsbell> Either case benefits from a reasonably unique X, though.
  36. # [00:25] <Domenic_> jsbell: yeah that's a good point to keep in mind. I was in particular thinking about more advanced use cases trying to recover from specific errors and let others bubble.
  37. # [00:27] <wilhelm> WebDriver specs how to get readable text from an element: https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#rendering-text
  38. # [00:27] <wilhelm> It's not pretty.
  39. # [00:29] <Hixie> jsbell: i think the workflow for which this matters is more "script catches unexpected exception x, logs it to server, author looks at aggregate data regarding exceptions to figure out what to fix next"
  40. # [00:29] * Joins: jeremyj (~jeremyj@17.202.44.231)
  41. # [00:31] <TabAtkins> I think a guid would be fine for this. Why not do a full guid?
  42. # [00:31] <SamB> ewww
  43. # [00:31] <TabAtkins> SamB: It's just for identification purposes.
  44. # [00:31] <Hixie> TabAtkins: full guid is a bit excessively verbose in a log and would make specs look ugly
  45. # [00:31] <Hixie> TabAtkins: we probably only need a fraction of the digits
  46. # [00:32] <TabAtkins> Ok, I guess so.
  47. # [00:32] <TabAtkins> Just want it large enough that I can randomly-generate it and still be assured that it's unique.
  48. # [00:32] <Hixie> as an anecdotal data point, the freepascal compiler guys use YYYYMMDDNN for their internal errors.
  49. # [00:32] <Hixie> i don't think we should use that because we have less coordination
  50. # [00:33] <TabAtkins> That doesn't help multiple specs, yeah.
  51. # [00:33] <Hixie> but it's the kind of size identifier that i think would make sense
  52. # [00:33] <TabAtkins> You can get much smaller if you can coordinate. You need more than 10 digits for randomness to work.
  53. # [00:33] <Hixie> might be better for the IDs to be [spec author][whatever] where [spec author] is two digits and [whatever] is, well, whatever.
  54. # [00:34] <TabAtkins> Still need coordination for that.
  55. # [00:34] <Hixie> well some minimal coordination is fine
  56. # [00:34] <SamB> yeah, two digits should be enough for everyone
  57. # [00:34] <Hixie> (i mean, we have that today for exceptions)
  58. # [00:34] <TabAtkins> Hixie: We have massive overlap today for exceptions, which is what we're trying to avoid.
  59. # [00:35] <Hixie> we are?
  60. # [00:35] <TabAtkins> SamB: let "digit" be alphnum.
  61. # [00:35] <TabAtkins> I thought that was the point, yes.
  62. # [00:35] <Hixie> not sure what you mean by "avoid overlap"
  63. # [00:35] <Hixie> i thought the goal here was just to provide uniquely identifiable IDs per exception throw site
  64. # [00:35] <TabAtkins> Today, the "coordination" is "fire one of the errors from this list".
  65. # [00:36] <Hixie> by coordination, i mean that today if you want a new exception you just ask anne to addi t
  66. # [00:36] <TabAtkins> This list does not get extended by people. It's short and more or less static.
  67. # [00:36] <SamB> clearly sha1:file:line:column
  68. # [00:36] <Domenic_> TabAtkins: not great for discriminatory catching
  69. # [00:36] <TabAtkins> Domenic_: I'm not sure what you're replying to.
  70. # [00:36] <Hixie> SamB: i do like the idea of hashing the final result somehow so that the spec author part is not derivable
  71. # [00:36] <SamB> I was kidding
  72. # [00:36] <Domenic_> Sorry got offline for a bit, replying to guid idea
  73. # [00:37] <SamB> I mean what is a "throw site"
  74. # [00:37] <TabAtkins> Hixie: That's why you choose enough digits that the ID can be randomly generated without fear of collision.
  75. # [00:37] <TabAtkins> Domenic_: I thought the idea was to be able to tell better what place the exception came from. A guid identifying each place that can throw an error does that, no?
  76. # [00:37] <TabAtkins> SamB: A line in the spec that throws something.
  77. # [00:37] <Hixie> another option is we just make a web service for ourselves that vends unique IDs
  78. # [00:37] <Hixie> then it could trivially avoid duplicates
  79. # [00:38] <SamB> and without coordination, people *will* end up seeing values without being able to find out any indication of their meaning ...
  80. # [00:38] <TabAtkins> Yeah, that would let you be smaller without collision fear.
  81. # [00:39] * Quits: enryptd_fractal (~enryptd_f@66-188-99-174.static.ftbg.wi.charter.com) (Remote host closed the connection)
  82. # [00:39] * Quits: reyre (~reyre@bas1-streetsville52-3096630502.dsl.bell.ca) (Remote host closed the connection)
  83. # [00:39] <Domenic_> TabAtkins: my use case is being able to write catch clauses that only catch a specific expected error and let others bubble or hit window.onerror.
  84. # [00:39] <SamB> (don't tell me you've never had a GUID for which you couldn't find any corresponding name ...)
  85. # [00:41] <Domenic_> So human readable, yet unique, names would give more readable catch code.
  86. # [00:42] <Hixie> are we thinking integers here, or strings?
  87. # [00:43] <Domenic_> I was thinking strings
  88. # [00:43] * jonlee_ is now known as jonlee_|afk
  89. # [00:43] <Domenic_> Integers for IDs seems bad in general
  90. # [00:43] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  91. # [00:47] * Joins: weinig_ (~weinig@17.202.49.35)
  92. # [00:49] <aretecode> I love to learn, feel free to teach me what you are the most passionate about :)
  93. # [00:50] * Quits: weinig (~weinig@17.114.217.177) (Ping timeout: 264 seconds)
  94. # [00:50] * weinig_ is now known as weinig
  95. # [00:53] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  96. # [00:55] <zcorpan> the id generator could take 4 random words from this channel from the past 48h. then make sure that google brings up no results for that identifier, and that it hasn't been generated before.
  97. # [00:56] <zcorpan> choosecatchesalthoughpolyfill
  98. # [01:00] * jonlee_|afk is now known as jonlee_
  99. # [01:03] <SamB> zcorpan: that doesn't help the reader to make any sense of anything
  100. # [01:03] * Joins: benv (~benv@74.86.107.157-static.reverse.softlayer.com)
  101. # [01:03] <zcorpan> SamB: i didn't see that as a requirement above
  102. # [01:04] <zcorpan> SamB: i guess it will make the reader go "wtf" and then google it and find relevant information, though
  103. # [01:04] * Quits: alecf (alecf@nat/google/x-ggeiptywgzdkilmo) (Ping timeout: 255 seconds)
  104. # [01:06] * Quits: bholley (~bholley@187.64.32.150) (Quit: Textual IRC Client: www.textualapp.com)
  105. # [01:09] * Quits: plutoniix (~plutoniix@node-1cuj.pool-101-108.dynamic.totbb.net) (Quit: จรลี จรลา)
  106. # [01:10] <Hixie> SamB: the .message is the way the reader makes sense of something
  107. # [01:10] <Hixie> zcorpan: that's a bit long, ideally these should be short so the don't make specs unreadable
  108. # [01:11] <jsbell> (Guru meditation number: 1314c98d-8667-4599-a4ac-ffc56420d7ba)
  109. # [01:11] <SamB> Hixie: point ...
  110. # [01:11] <Hixie> jsbell: yeah. but shorter. :-)
  111. # [01:12] <SamB> so, how to keep the search results from being flooded with people asking about the exceptions rather than what one might actually want to find?
  112. # [01:12] * jonlee_ is now known as jonlee_|afk
  113. # [01:12] <TabAtkins> A stack overflow link about it would be fine
  114. # [01:13] <zcorpan> we set up google alerts for the ids and give useful answers on stackoverflow
  115. # [01:14] <zcorpan> Hixie: the generator could just try fewer words or other words until it finds an id shorter than X characters
  116. # [01:16] * Quits: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  117. # [01:20] * Joins: lerc (~quassel@121-74-228-250.telstraclear.net)
  118. # [01:24] * Quits: lmclister (~lmclister@192.150.10.210)
  119. # [01:30] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Quit: ChatZilla 0.9.90.1 [Firefox 31.0a1/20140331030201])
  120. # [01:34] * Joins: hasather (~hasather@80.91.33.141)
  121. # [01:37] * Quits: zcorpan (~zcorpan@2a00:801:e0:30:4ddf:4d37:6675:2857) (Remote host closed the connection)
  122. # [01:37] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
  123. # [01:37] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  124. # [01:38] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 240 seconds)
  125. # [01:42] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 265 seconds)
  126. # [01:43] <Hixie> http://software.hixie.ch/utilities/cgi/exception-id-generator/
  127. # [01:43] <Hixie> all up to y'all now if we actually want to do this
  128. # [01:44] <Hixie> i checked and that won't generate any duplicates for at least the next 100,000 IDs.
  129. # [01:44] <Hixie> (after 100,000 it started getting a little crazy to check for duplicates the way i was doing it)
  130. # [01:45] <zewt> Hixie: ... what
  131. # [01:45] * Quits: blooberry (Brian@nat/intel/x-trstxajbwkhqzcio) (Read error: Connection reset by peer)
  132. # [01:45] * Quits: rafaelrinaldi_ (~rafaelrin@B12E8AB3.dynamic.spo.dsl.tesa.net.br)
  133. # [01:45] <zewt> is it april 1 in your time, heh
  134. # [01:45] * Joins: blooberry (~Brian@134.134.139.74)
  135. # [01:45] <Hixie> hm?
  136. # [01:45] <zewt> re: link looks like joke
  137. # [01:46] <Hixie> why?
  138. # [01:46] <zewt> how does it not look like joke. heh
  139. # [01:46] <Hixie> well it's not very funny to start with? :-)
  140. # [01:46] <zewt> re: if an API expects me to use opaque strings in my source code as exception identifiers, API will be shot directly into sun
  141. # [01:46] <zewt> no april 1 "jokes" are funny
  142. # [01:47] * Joins: ehsan_ (~ehsan@24-212-207-29.cable.teksavvy.com)
  143. # [01:47] <Hixie> sounds like you missed the earlier conversation
  144. # [01:47] <zewt> whatever it was, this result seems catastrophic enough to make me dubious of its conclusion :P
  145. # [01:48] <TabAtkins> Hixie - Bikeshed style: The user agent must throw an <code>SyntaxError</code> exception with ID "<dfn exception-code>3d7geaa26h</dfn>".
  146. # [01:48] <zewt> but I will happily scroll back
  147. # [01:48] * Quits: tndrH (~Rob@cpc4-seac20-2-0-cust858.7-2.cable.virginm.net) (Ping timeout: 246 seconds)
  148. # [01:48] * Parts: decotii (~decotii@hq.croscon.com) ("Leaving")
  149. # [01:49] * Quits: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com) (Ping timeout: 255 seconds)
  150. # [01:50] <Hixie> TabAtkins: thanks, added
  151. # [01:51] * jonlee_|afk is now known as jonlee_
  152. # [01:52] <Hixie> uh
  153. # [01:52] * Hixie fixes the error in the bikeshed one where he'd hardcoded the code TabAtkins gave
  154. # [01:52] <TabAtkins> hahaha
  155. # [01:56] <Hixie> ok i generated 1,575,472 codes in the order it's going to generate them, and still no dupes
  156. # [01:56] <Hixie> so i'm pretty confident that this will work out ok, dupe-wise
  157. # [01:56] <zewt> it sounds like the core problem it's trying to solve is "it's hard to find where the unexpected thing you're seeing is defined in a spec somewhere, so google for this magic thing"
  158. # [01:57] * Joins: scor (~scor@drupal.org/user/52142/view)
  159. # [01:57] <zewt> that sort of sounds like an ineffective whack-a-mole, though; exceptions are one extremely tiny subset of "can't find this thing in a spec" (or on stackoverflow, or whatever)
  160. # [01:57] <TabAtkins> Hixie: Yeah, you have to gen about 60M before you should expect the first dupe.
  161. # [01:57] <TabAtkins> zewt: That's one reason, not all.
  162. # [01:58] <TabAtkins> It's not even Domenic_'s primary reason.
  163. # [01:58] <zewt> what i suspect would be the actual result (to describe my initial reaction) is that people would start using them in code as part of exception handlers, which would be completely horrible since they're not human-readable
  164. # [01:58] <Hixie> zewt: the main reason is that right now, InvalidStateErr is fired from zillions of places
  165. # [01:58] <Hixie> zewt: and you don't know which is the proximate cause of a particular one you're holding onto
  166. # [01:58] <Hixie> not really clear what better way to solve this
  167. # [01:58] <TabAtkins> Especially if you grab it from window.error or the like.
  168. # [01:58] <Hixie> yeah
  169. # [01:59] <Hixie> TabAtkins: it's been my experience that if i don't actually check it, there'll be some error in my logic and the dupes will abound, so i felt better actually checking it :-)
  170. # [02:00] * Hixie closes all his related tabs and windows until Domenic_ manages to convince anyone else to use this
  171. # [02:00] <zewt> i always just log a stack trace to the server (we really need better stack trace support) and moving on, since at least with the way I write things, if an exception gets to window (unless it's an event delegation thing, which it isn't for onerror), that's not the place where I'm going to examine the exception and try to recover from it
  172. # [02:00] <TabAtkins> Hixie: Certainly, just letting you know what your expected range will be.
  173. # [02:00] <zewt> (some interesting half-edits in that run-on sentence)
  174. # [02:01] <zewt> for the window.onerror example, are we talking about parsing an error log later on, or programmatically doing something with the magic string?
  175. # [02:02] <Hixie> TabAtkins: why 60 million, btw?
  176. # [02:03] <Hixie> TabAtkins: what's your definition of "expect"?
  177. # [02:03] <TabAtkins> 36^5, the sqrt of 36^10.
  178. # [02:03] <TabAtkins> 50% expectation
  179. # [02:03] * Joins: tndrH (~Rob@cpc4-seac20-2-0-cust858.7-2.cable.virginm.net)
  180. # [02:03] <Hixie> oh, i see
  181. # [02:03] <Hixie> the alphabet only actually has 16 characters
  182. # [02:03] <Hixie> so 16^5
  183. # [02:03] <TabAtkins> Oh, you're only genning hex?
  184. # [02:03] <TabAtkins> I didnt' notice that
  185. # [02:04] <TabAtkins> That's only about 1M then.
  186. # [02:04] <Hixie> er wait
  187. # [02:04] <Hixie> not 16...
  188. # [02:05] <Hixie> oops
  189. # [02:05] <Hixie> it is 16
  190. # [02:05] <Hixie> but it's supposed to be more
  191. # [02:05] <Hixie> 26 or so
  192. # [02:05] <Hixie> 2346789abcdefghjkmnpqrtwxy
  193. # [02:05] <TabAtkins> Ah, the easy-to-distinguish alphanums.
  194. # [02:06] <Hixie> yeah, that's the idea
  195. # [02:06] <Hixie> hm
  196. # [02:06] <Hixie> i need this to be a power of 2 for the logic to work better
  197. # [02:06] * Hixie wonders whether to add or remove
  198. # [02:06] * Quits: numerical (numerical@s-e-c-u-r-e-d.info) (Quit: changing servers)
  199. # [02:07] <TabAtkins> What's your logic?
  200. # [02:08] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  201. # [02:08] * Quits: ap_ (~ap@2620:149:4:304:fc8b:2800:95b2:e04a) (Quit: ap_)
  202. # [02:08] <Hixie> geenerate hmax sha 512 of increasing number, use the first n bits to generate a 10 character string
  203. # [02:08] <TabAtkins> Interesting.
  204. # [02:09] <Hixie> i can add z5suv back in but i'm still short a character...
  205. # [02:09] <zewt> just reading /dev/urandom will probably give you equally non-repeating results, without depending on a last-used-number state
  206. # [02:09] <TabAtkins> Why not just generate a num between 0 and 26^10, then encode it in base 26?
  207. # [02:09] <Hixie> really don't want to add il1o0
  208. # [02:09] * Joins: numerical (numerical@s-e-c-u-r-e-d.info)
  209. # [02:09] <TabAtkins> And yes, the lowercase z/s aren't really confusable for 2/5.
  210. # [02:10] <zewt> (since /dev/urandom these days is basically just a crypto hash on top of entropy)
  211. # [02:10] <Hixie> i like to avoid actual randomness in my code
  212. # [02:11] <TabAtkins> You're effectively grabbing randomness by taking an arbitrary chunk of a hash.
  213. # [02:11] <Hixie> right
  214. # [02:11] <Hixie> reproducible "randomness"
  215. # [02:11] <zewt> i prefer to avoid state that has to be persisted, myself
  216. # [02:12] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
  217. # [02:12] * Quits: jsbell (jsbell@nat/google/x-meaxzlnrmgjfkewa) (Quit: There's no place like home...)
  218. # [02:12] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 255 seconds)
  219. # [02:14] <zewt> also a bunch of new complexity if two clients might race and generate from the same index
  220. # [02:14] * jonlee_ is now known as jonlee_|afk
  221. # [02:14] <TabAtkins> Yup.
  222. # [02:15] <zewt> (which itself can be really hard to write tests for; i hate writing tests for things like locking and atomicity)
  223. # [02:15] <Hixie> locking files is a solved problem :-)
  224. # [02:15] * jonlee_|afk is now known as jonlee_
  225. # [02:16] * Quits: numerical (numerical@s-e-c-u-r-e-d.info) (Quit: changing servers)
  226. # [02:16] <zewt> with a solution that's much more complex than open('/dev/urandom').read(16) :----------)
  227. # [02:16] <zewt> i guess it comes down to what your environment provides, and how much you trust it
  228. # [02:17] <zewt> (i don't include "make sure /dev/urandom is really random" in my tests, after all)
  229. # [02:17] * Joins: numerical (numerical@s-e-c-u-r-e-d.info)
  230. # [02:18] <zewt> ("really random" as in "not /dev/zero")
  231. # [02:18] <zewt> (in case someone was going to nit about PRNGs)
  232. # [02:18] <TabAtkins> Any system that doesn't implement a decent /dev/urandom would be *super* insecure anyway.
  233. # [02:19] <zewt> i tend to suspect security inexperience in people who still use /dev/random because it's "more secure", heh
  234. # [02:20] <Hixie> locking files is like lines of code including importing the relevant constants and unlocking...
  235. # [02:20] <Hixie> like three lines, even
  236. # [02:20] <Hixie> ok, now using a 32 character alphabet.
  237. # [02:21] <Hixie> using the first 5 bits of each of the first ten bytes of the hmac sha 512 of numbers in sequential order.
  238. # [02:21] <Hixie> bbiab
  239. # [02:22] <zewt> maybe your environment has additional helpers for the busywork (blocking if the lockfile already exists, cleaning up if the pid contained in the lockfile doesn't exist, etc)
  240. # [02:23] <TabAtkins> It's perl, so that's plausible.
  241. # [02:23] <zewt> also the need to atomically write the state file containing the last-used index (write new file, sync, rename), which is something all languages really should provide, but few do
  242. # [02:25] <TabAtkins> While you're locked, that works anyway, right?
  243. # [02:27] * ojan_away is now known as ojan
  244. # [02:28] <zewt> if the machine crashes, you don't want to reboot and come back up with a zero-byte file
  245. # [02:28] <TabAtkins> Ah, right.
  246. # [02:28] <zewt> (restore from backup and you lose that day's index delta)
  247. # [02:29] <zewt> ''.join('23456789abcdefghijkmnpqrstuvwxyz'[ord(x) >> 3] for x in hashlib.sha512(open('/dev/urandom').read(32)).digest()[0:10]) # one-liners are evil, even in python
  248. # [02:31] * Joins: tantek (~tantek@172.56.39.112)
  249. # [02:32] * Quits: othermaciej (~mjs@17.114.217.106) (Quit: othermaciej)
  250. # [02:35] * Joins: hasather (~hasather@80.91.33.141)
  251. # [02:36] * Joins: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com)
  252. # [02:37] * Quits: ehsan_ (~ehsan@24-212-207-29.cable.teksavvy.com) (Ping timeout: 265 seconds)
  253. # [02:39] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 252 seconds)
  254. # [02:41] * Joins: espadrine_ (~ttyl@AMontsouris-158-1-60-189.w92-128.abo.wanadoo.fr)
  255. # [02:43] * Quits: jeffreyatw (~jeffreyat@173.247.197.10) (Quit: jeffreyatw)
  256. # [02:43] * Joins: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp)
  257. # [02:44] * Joins: Johnny- (~null@unaffiliated/johnny-)
  258. # [02:44] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  259. # [02:44] * Quits: espadrine` (~ttyl@AMontsouris-158-1-87-187.w90-2.abo.wanadoo.fr) (Ping timeout: 245 seconds)
  260. # [02:45] * Quits: tantek (~tantek@172.56.39.112) (Quit: tantek)
  261. # [02:45] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  262. # [02:48] * Quits: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com) (Quit: sicking)
  263. # [02:53] * jonlee_ is now known as jonlee_|afk
  264. # [02:55] * Krinkle is now known as Krinkle|detached
  265. # [02:59] * Joins: plutoniix (~plutoniix@210.213.57.70)
  266. # [03:02] * Quits: beowulf (~sstewart@host31-50-102-181.range31-50.btcentralplus.com) (Remote host closed the connection)
  267. # [03:02] * Quits: ambv (~ambv@206.108.217.134) (Quit: sys.exit(0) # computer went to sleep)
  268. # [03:02] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  269. # [03:03] * Joins: newtron (~newtron@69-196-129-59.dsl.teksavvy.com)
  270. # [03:06] * Joins: scor (~scor@drupal.org/user/52142/view)
  271. # [03:07] * jorendorff_away is now known as jorendorff
  272. # [03:08] * Joins: zcorpan (~zcorpan@2a00:801:e0:30:311f:2a71:8f87:a1a5)
  273. # [03:10] * Quits: scor (~scor@drupal.org/user/52142/view) (Client Quit)
  274. # [03:11] * Joins: scor (~scor@c-98-217-11-242.hsd1.ma.comcast.net)
  275. # [03:11] * Quits: scor (~scor@c-98-217-11-242.hsd1.ma.comcast.net) (Changing host)
  276. # [03:11] * Joins: scor (~scor@drupal.org/user/52142/view)
  277. # [03:11] * Joins: enryptd_fractal (~enryptd_f@24-177-124-44.dhcp.mdsn.wi.charter.com)
  278. # [03:12] * Quits: scor (~scor@drupal.org/user/52142/view) (Client Quit)
  279. # [03:13] * Quits: zcorpan (~zcorpan@2a00:801:e0:30:311f:2a71:8f87:a1a5) (Ping timeout: 246 seconds)
  280. # [03:14] * Krinkle|detached is now known as Krinkle
  281. # [03:19] * Quits: espadrine_ (~ttyl@AMontsouris-158-1-60-189.w92-128.abo.wanadoo.fr) (Ping timeout: 240 seconds)
  282. # [03:26] * Krinkle is now known as Krinkle|detached
  283. # [03:26] * Krinkle|detached is now known as Krinkle
  284. # [03:30] * Joins: scor (~scor@c-98-217-11-242.hsd1.ma.comcast.net)
  285. # [03:30] * Quits: scor (~scor@c-98-217-11-242.hsd1.ma.comcast.net) (Changing host)
  286. # [03:30] * Joins: scor (~scor@drupal.org/user/52142/view)
  287. # [03:35] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  288. # [03:37] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  289. # [03:43] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  290. # [03:43] * Quits: newtron (~newtron@69-196-129-59.dsl.teksavvy.com) (Remote host closed the connection)
  291. # [03:44] * Joins: newtron (~newtron@69-196-129-59.dsl.teksavvy.com)
  292. # [03:45] * jorendorff is now known as jorendorff_away
  293. # [03:48] * Quits: newtron (~newtron@69-196-129-59.dsl.teksavvy.com) (Ping timeout: 265 seconds)
  294. # [03:51] * Quits: padam (~padam@202.70.65.6) (Quit: Leaving)
  295. # [03:53] * Joins: reyre (~reyre@bas1-streetsville52-3096630502.dsl.bell.ca)
  296. # [03:54] * Krinkle is now known as Krinkle|detached
  297. # [03:54] * Quits: jernoble|laptop (~jernoble@199-188-194-99.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
  298. # [03:55] * Joins: llkats (~llkats@h-64-236-138-3.aoltw.net)
  299. # [03:57] * Quits: enryptd_fractal (~enryptd_f@24-177-124-44.dhcp.mdsn.wi.charter.com) (Remote host closed the connection)
  300. # [04:01] * Quits: benvie (~bbenvie@corp-nat.p2p.sfo1.mozilla.com) (Ping timeout: 252 seconds)
  301. # [04:01] * Joins: jeffreyatw (~jeffreyat@199-241-200-45.PUBLIC.monkeybrains.net)
  302. # [04:05] * Quits: ehsan (~ehsan@24-212-207-29.cable.teksavvy.com) (Quit: Leaving...)
  303. # [04:08] * Joins: benvie (~bbenvie@204.28.118.69)
  304. # [04:09] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  305. # [04:09] * Quits: jeffreyatw (~jeffreyat@199-241-200-45.PUBLIC.monkeybrains.net) (Quit: jeffreyatw)
  306. # [04:11] * Quits: jwalden (~waldo@corp.mtv2.mozilla.com) (Quit: ChatZilla 0.9.87-8.1450hg.fc20 [XULRunner 27.0/20140203120101])
  307. # [04:14] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 265 seconds)
  308. # [04:21] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  309. # [04:30] * Quits: weinig (~weinig@17.202.49.35) (Quit: weinig)
  310. # [04:31] * Joins: enryptd_fractal (~enryptd_f@24-177-124-44.dhcp.mdsn.wi.charter.com)
  311. # [04:40] * Joins: jernoble (~jernoble@199-188-194-99.PUBLIC.monkeybrains.net)
  312. # [04:40] * Quits: dawhite (~dawhite@74.118.22.223) (Ping timeout: 255 seconds)
  313. # [04:51] * Joins: roc (~chatzilla@118-163-10-190.HINET-IP.hinet.net)
  314. # [05:10] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  315. # [05:16] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 252 seconds)
  316. # [05:16] * Quits: wakaba_ (~wakaba@19.72.102.121.dy.bbexcite.jp) (Quit: Leaving...)
  317. # [05:17] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
  318. # [05:20] * Joins: wakaba (~wakaba@19.72.102.121.dy.bbexcite.jp)
  319. # [05:21] * Quits: reyre (~reyre@bas1-streetsville52-3096630502.dsl.bell.ca) (Remote host closed the connection)
  320. # [05:27] * Quits: llkats (~llkats@h-64-236-138-3.aoltw.net)
  321. # [05:27] * Parts: doctrv (sid27401@gateway/web/irccloud.com/x-pndkczoufwlodfel)
  322. # [05:33] * Joins: hasather (~hasather@80.91.33.141)
  323. # [05:35] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
  324. # [05:37] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 246 seconds)
  325. # [05:41] * Joins: weinig (~weinig@98.234.191.242)
  326. # [05:43] * Quits: weinig (~weinig@98.234.191.242) (Client Quit)
  327. # [05:59] * Joins: plutoniix (~plutoniix@210.213.57.70)
  328. # [06:00] <Hixie> i ended up testing 30,058,310 codes with the new algorithm, no dupes.
  329. # [06:01] * Quits: blooberry (~Brian@134.134.139.74) (Ping timeout: 252 seconds)
  330. # [06:01] <Hixie> (by tab's maths, there would be a 50% chance of a dupe at about 33 million, if i understand it right)
  331. # [06:05] * Quits: enryptd_fractal (~enryptd_f@24-177-124-44.dhcp.mdsn.wi.charter.com) (Remote host closed the connection)
  332. # [06:11] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  333. # [06:13] * Quits: rafaelrinaldi (~rafaelrin@177.81.14.110) (Quit: Leaving...)
  334. # [06:15] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 245 seconds)
  335. # [06:19] * Quits: plutoniix (~plutoniix@210.213.57.70) (Ping timeout: 268 seconds)
  336. # [06:19] * Quits: ImBcmDth (~Jon@oftn/member/ImBcmDth) (Disconnected by services)
  337. # [06:19] * Joins: ImBcmDth (~Jon@oftn/member/ImBcmDth)
  338. # [06:19] * Joins: plutoniix (~plutoniix@210.213.57.70)
  339. # [06:23] * Joins: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net)
  340. # [06:23] * Quits: benv (~benv@74.86.107.157-static.reverse.softlayer.com) (Ping timeout: 264 seconds)
  341. # [06:33] * Joins: hasather (~hasather@80.91.33.141)
  342. # [06:38] * Joins: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com)
  343. # [06:38] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
  344. # [06:38] * Joins: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  345. # [06:39] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
  346. # [06:40] * Quits: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net) (Quit: sicking)
  347. # [06:52] * Quits: lmclister (~lmclister@c-98-210-38-110.hsd1.ca.comcast.net)
  348. # [07:03] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 240 seconds)
  349. # [07:07] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
  350. # [07:12] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  351. # [07:14] * Quits: jernoble (~jernoble@199-188-194-99.PUBLIC.monkeybrains.net) (Quit: Computer has gone to sleep.)
  352. # [07:16] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 252 seconds)
  353. # [07:26] <Hixie> man, the tokeniser sure does have a lot of states
  354. # [07:26] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
  355. # [07:44] * Joins: hasather (~hasather@80.91.33.141)
  356. # [07:49] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 246 seconds)
  357. # [07:52] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  358. # [07:59] * Quits: rego (~rego@192.193.27.77.dynamic.mundo-r.com) (Ping timeout: 268 seconds)
  359. # [08:00] * Joins: Smylers (~smylers@host86-168-220-196.range86-168.btcentralplus.com)
  360. # [08:01] * Joins: rego (~rego@192.193.27.77.dynamic.mundo-r.com)
  361. # [08:03] * Joins: zdobersek (~zan@109.201.154.142)
  362. # [08:04] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  363. # [08:05] * Joins: scor (~scor@drupal.org/user/52142/view)
  364. # [08:09] * Quits: roc (~chatzilla@118-163-10-190.HINET-IP.hinet.net) (Remote host closed the connection)
  365. # [08:12] * Quits: scor (~scor@drupal.org/user/52142/view) (Ping timeout: 252 seconds)
  366. # [08:12] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  367. # [08:15] * Joins: niloy (~niloy@110.224.128.10)
  368. # [08:16] * Joins: scor (~scor@drupal.org/user/52142/view)
  369. # [08:16] * Joins: Ducki (~Ducki@137.116.197.171)
  370. # [08:16] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Read error: Operation timed out)
  371. # [08:18] * Quits: davve (~user@83.218.67.123) (Remote host closed the connection)
  372. # [08:19] * Joins: davve (~user@83.218.67.123)
  373. # [08:20] * Quits: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon) (Quit: Connection closed for inactivity)
  374. # [08:21] * Joins: Ms2ger (~Ms2ger@nata241.ugent.be)
  375. # [08:27] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  376. # [08:33] * Quits: Smylers (~smylers@host86-168-220-196.range86-168.btcentralplus.com) (Ping timeout: 240 seconds)
  377. # [08:43] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  378. # [08:46] * Joins: hasather (~hasather@80.91.33.141)
  379. # [08:47] * Joins: cdan (~cdan@mail.savatech.ro)
  380. # [08:50] * Quits: hasather (~hasather@80.91.33.141) (Read error: Operation timed out)
  381. # [08:54] * Joins: markkes (~markkes@62.207.90.201)
  382. # [08:54] <sangwhan> TabAtkins: is unprefixing transitions *and* transforms both covered under the umbrella of this bug? https://code.google.com/p/chromium/issues/detail?id=154772
  383. # [09:13] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  384. # [09:14] <Domenic_> Hixie: sounds like a plan, will devote some time to it eventually. I need to do a write up with use cases, possibilities (e.g. generated vs. human readable), impact on existing/future specs, etc.
  385. # [09:18] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 265 seconds)
  386. # [09:24] * Quits: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net) (Ping timeout: 264 seconds)
  387. # [09:29] * Joins: niloy_ (~niloy@110.224.128.210)
  388. # [09:30] * Quits: niloy (~niloy@110.224.128.10) (Ping timeout: 268 seconds)
  389. # [09:36] * Joins: mpt (~mpt@nat/canonical/x-ecschylyijgyrpjf)
  390. # [09:36] * Quits: mpt (~mpt@nat/canonical/x-ecschylyijgyrpjf) (Changing host)
  391. # [09:36] * Joins: mpt (~mpt@canonical/mpt)
  392. # [09:50] * Quits: Ms2ger (~Ms2ger@nata241.ugent.be) (Quit: bbl)
  393. # [09:53] * Joins: darobin (~darobin@78.109.80.74)
  394. # [09:53] * Joins: Smylers (~smylers@176.12.107.140)
  395. # [10:03] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  396. # [10:03] * Joins: karlcow (~karl@nerval.la-grange.net)
  397. # [10:04] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  398. # [10:07] * Quits: Smylers (~smylers@176.12.107.140) (Ping timeout: 252 seconds)
  399. # [10:11] * Quits: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  400. # [10:13] * Quits: yoav (~yoav@sdo26-1-78-245-148-181.fbx.proxad.net) (Ping timeout: 264 seconds)
  401. # [10:16] * Joins: Smylers (~smylers@81.143.60.194)
  402. # [10:30] * Joins: hasather (~hasather@80.91.33.141)
  403. # [10:33] * Quits: davve (~user@83.218.67.123) (Read error: Connection reset by peer)
  404. # [10:34] * Joins: davve (~user@83.218.67.123)
  405. # [10:37] * Joins: beowulf (~sstewart@host81-147-189-128.range81-147.btcentralplus.com)
  406. # [10:37] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  407. # [10:47] * Joins: yoav (~yoav@sdo26-1-78-245-148-181.fbx.proxad.net)
  408. # [11:02] * Joins: ttepasse (~ttepasse@ip-37-201-122-69.unitymediagroup.de)
  409. # [11:06] * Joins: Lachy (~Lachy@213.166.174.2)
  410. # [11:10] * Joins: nessy (~silviapf@101.164.214.231)
  411. # [11:13] * Joins: WolfieZero (~WolfieZer@neils-wireless.manor.fubra.net)
  412. # [11:24] * Quits: WolfieZero (~WolfieZer@neils-wireless.manor.fubra.net) (Quit: Time to part ways!)
  413. # [11:28] * Quits: molsson_ (~molsson@83.218.67.123) (Remote host closed the connection)
  414. # [11:28] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
  415. # [11:32] * Joins: WolfieZero (~WolfieZer@neils-wireless.manor.fubra.net)
  416. # [11:32] * Joins: Ms2ger (~Ms2ger@33.201-64-87.adsl-dyn.isp.belgacom.be)
  417. # [11:33] * Quits: nessy (~silviapf@101.164.214.231) (Quit: Leaving.)
  418. # [12:01] <a-ja> TabAtkins: ping
  419. # [12:04] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  420. # [12:07] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  421. # [12:08] <a-ja> TabAtkins: unping....will catch you later
  422. # [12:08] * Parts: a-ja (~Instantbi@70.230.145.30)
  423. # [12:08] <Ms2ger> The new css spec style sheet is so funny...
  424. # [12:20] * WolfieZero is now known as WolfieZero|Away
  425. # [12:21] * WolfieZero|Away is now known as WolfieZero
  426. # [12:22] * WolfieZero is now known as WolfieZero|Away
  427. # [12:23] <hsivonen> looks like the support status markers on CSS specs haven't been updated to reflect the demise of Presto and Blink forking off of WebKit
  428. # [12:24] * WolfieZero|Away is now known as WolfieZero
  429. # [12:27] * Quits: zdobersek (~zan@109.201.154.142) (Quit: Leaving.)
  430. # [12:31] * Joins: nessy (~silviapf@101.164.214.231)
  431. # [12:42] * Joins: espadrine_ (~ttyl@AMontsouris-158-1-60-189.w92-128.abo.wanadoo.fr)
  432. # [12:42] <hsivonen> MikeSmith: I don't know what to do about bugzilla.validator.nu cookies. The urlbase and cookiepath settings look right to me.
  433. # [12:52] * Quits: plutoniix (~plutoniix@210.213.57.70) (Quit: จรลี จรลา)
  434. # [12:53] <smaug____> oh, hsivonen is alive
  435. # [12:54] * Joins: Lachy (~Lachy@213.166.174.2)
  436. # [12:55] <hsivonen> is this where I'm supposed to say that rumors of my demise have been exaggerated?
  437. # [12:57] * Joins: satazor (~satazor@bl16-142-15.dsl.telepac.pt)
  438. # [12:59] <Ms2ger> There were rumours?
  439. # [13:01] * Quits: nessy (~silviapf@101.164.214.231) (Quit: Leaving.)
  440. # [13:01] * Quits: satazor (~satazor@bl16-142-15.dsl.telepac.pt) (Ping timeout: 252 seconds)
  441. # [13:02] * Joins: nessy (~silviapf@101.164.214.231)
  442. # [13:05] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 264 seconds)
  443. # [13:05] * Quits: ttepasse (~ttepasse@ip-37-201-122-69.unitymediagroup.de) (Ping timeout: 268 seconds)
  444. # [13:07] * Joins: ttepasse (~ttepasse@ip-37-201-122-69.unitymediagroup.de)
  445. # [13:12] * Joins: molsson (~molsson@83.218.67.123)
  446. # [13:14] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  447. # [13:23] * WolfieZero is now known as WolfieZero|Away
  448. # [13:26] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  449. # [13:26] * WolfieZero|Away is now known as WolfieZero
  450. # [13:26] * WolfieZero is now known as WolfieZero|Away
  451. # [13:29] * Joins: Lachy (~Lachy@213.166.174.2)
  452. # [13:31] * Quits: Lachy (~Lachy@213.166.174.2) (Client Quit)
  453. # [13:34] <Ms2ger> hsivonen, oh, better news than your death, congratulations :)
  454. # [13:34] <hsivonen> Ms2ger: thanks
  455. # [13:35] * Joins: Lachy (~Lachy@213.166.174.2)
  456. # [13:35] <zcorpan> what's the news?
  457. # [13:36] <hsivonen> zcorpan: a baby (that is, I'm now back from paternity leave)
  458. # [13:36] <zcorpan> hsivonen: ok, congrats!
  459. # [13:36] <hsivonen> zcorpan: thanks
  460. # [13:37] * Quits: Lachy (~Lachy@213.166.174.2) (Client Quit)
  461. # [13:38] <smaug____> congratulations
  462. # [13:38] * Joins: Lachy (~Lachy@213.166.174.2)
  463. # [13:39] <hsivonen> smaug____: thanks
  464. # [13:39] * WolfieZero|Away is now known as WolfieZero
  465. # [13:40] * Joins: mpt (~mpt@canonical/mpt)
  466. # [13:42] * Quits: eric_carlson (~eric@17.202.43.125) (Read error: Connection reset by peer)
  467. # [13:42] * Quits: Lachy (~Lachy@213.166.174.2) (Client Quit)
  468. # [13:42] * Joins: eric_carlson (~eric@17.202.43.125)
  469. # [13:43] * Joins: cheron (~cheron@unaffiliated/cheron)
  470. # [13:45] * Joins: Lachy (~Lachy@213.166.174.2)
  471. # [13:45] * Quits: Lachy (~Lachy@213.166.174.2) (Read error: Connection reset by peer)
  472. # [13:45] * Joins: Lachy (~Lachy@213.166.174.2)
  473. # [13:48] * Quits: Lachy (~Lachy@213.166.174.2) (Client Quit)
  474. # [13:49] * Joins: Lachy (~Lachy@213.166.174.2)
  475. # [13:49] * Quits: Lachy (~Lachy@213.166.174.2) (Read error: Connection reset by peer)
  476. # [13:50] * Joins: Lachy (~Lachy@213.166.174.2)
  477. # [13:57] * Joins: enryptd_fractal (~enryptd_f@24-177-124-44.dhcp.mdsn.wi.charter.com)
  478. # [14:06] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  479. # [14:06] * Joins: karlcow (~karl@nerval.la-grange.net)
  480. # [14:07] * Joins: scor (scor@nat/acquia/x-blmdrsxasbxxuimo)
  481. # [14:07] * Quits: scor (scor@nat/acquia/x-blmdrsxasbxxuimo) (Client Quit)
  482. # [14:08] * Quits: nessy (~silviapf@101.164.214.231) (Quit: Leaving.)
  483. # [14:14] * Joins: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp)
  484. # [14:15] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  485. # [14:18] * Joins: tj_vantoll (~Adium@2601:4:1400:5f5:a9c1:971c:599f:7fcc)
  486. # [14:20] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 240 seconds)
  487. # [14:21] * jorendorff_away is now known as jorendorff
  488. # [14:32] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  489. # [14:32] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  490. # [14:32] * Joins: hasather (~hasather@80.91.33.141)
  491. # [14:37] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
  492. # [14:39] * Joins: newtron (~newtron@199.71.174.203)
  493. # [14:41] * Joins: benvie_ (~bbenvie@204.28.118.69)
  494. # [14:44] * Quits: benvie (~bbenvie@204.28.118.69) (Ping timeout: 264 seconds)
  495. # [14:51] * Joins: hasather (~hasather@80.91.33.141)
  496. # [15:00] * jorendorff is now known as jorendorff_away
  497. # [15:05] * jorendorff_away is now known as jorendorff
  498. # [15:14] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 240 seconds)
  499. # [15:16] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  500. # [15:20] * WolfieZero is now known as WolfieZero|Away
  501. # [15:21] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 252 seconds)
  502. # [15:21] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  503. # [15:22] * Quits: 1JTAAYOFK (scrollback@conference/jsconf/x-sgzixhieaabkkwnf) (Remote host closed the connection)
  504. # [15:22] * Joins: scor (scor@drupal.org/user/52142/view)
  505. # [15:22] * WolfieZero|Away is now known as WolfieZero
  506. # [15:22] * Joins: 16WAA90S8 (scrollback@conference/jsconf/x-obfcvztjmalsluug)
  507. # [15:25] * Joins: rubatdub (~khalil@213.188.172.141)
  508. # [15:25] * Quits: rubatdub (~khalil@213.188.172.141) (Max SendQ exceeded)
  509. # [15:26] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 245 seconds)
  510. # [15:33] * Joins: Kolombiken1 (~Adium@94.137.124.2)
  511. # [15:35] * Quits: Kolombiken (~Adium@94.137.124.2) (Ping timeout: 264 seconds)
  512. # [15:35] * Quits: niloy_ (~niloy@110.224.128.210) (Read error: Operation timed out)
  513. # [15:38] * Quits: jdaggett (~jdaggett@q023013.dynamic.ppp.asahi-net.or.jp) (Quit: jdaggett)
  514. # [15:39] * Quits: enryptd_fractal (~enryptd_f@24-177-124-44.dhcp.mdsn.wi.charter.com) (Remote host closed the connection)
  515. # [15:39] * Joins: plutoniix (~plutoniix@node-n3n.pool-101-108.dynamic.totbb.net)
  516. # [15:42] * Joins: zdobersek (~zan@5.153.234.58)
  517. # [15:47] * Joins: TallTed (~Thud@63.119.36.36)
  518. # [15:50] * Kolombiken1 is now known as Kolombiken
  519. # [15:50] * Joins: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca)
  520. # [15:52] * Joins: satazor (~satazor@bl16-142-15.dsl.telepac.pt)
  521. # [15:53] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
  522. # [15:55] * Joins: decotii (~decotii@hq.croscon.com)
  523. # [15:58] <hsivonen> wow. there's now a community group for MPEG-2 in-band captioning in <video>
  524. # [15:58] * Quits: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca) (Quit: Computer has gone to sleep.)
  525. # [16:00] * Parts: decotii (~decotii@hq.croscon.com)
  526. # [16:00] <darobin> there's a community group for everything
  527. # [16:01] <Ms2ger> Sounds more like a business group
  528. # [16:02] * Joins: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca)
  529. # [16:08] * WolfieZero is now known as WolfieZero|Away
  530. # [16:10] * Joins: enryptd_fractal (~enryptd_f@66-188-99-174.static.ftbg.wi.charter.com)
  531. # [16:11] * Joins: tav (~tav`@host109-154-1-151.range109-154.btcentralplus.com)
  532. # [16:14] * Joins: ehsan (~ehsan@66.207.208.102)
  533. # [16:14] * Quits: Kolombiken (~Adium@94.137.124.2) (Read error: Connection reset by peer)
  534. # [16:18] <zcorpan> heycam|away: maybe we should drop support for webidl in blink
  535. # [16:22] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  536. # [16:27] * Joins: Kolombiken (~Adium@94.137.124.2)
  537. # [16:27] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 265 seconds)
  538. # [16:30] * Joins: KevinMarks2 (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net)
  539. # [16:36] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  540. # [16:36] * Joins: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com)
  541. # [16:38] * WolfieZero|Away is now known as WolfieZero
  542. # [16:42] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  543. # [16:53] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
  544. # [16:58] * WolfieZero is now known as WolfieZero|Away
  545. # [16:59] * Joins: ehsan_ (~ehsan@66.207.208.102)
  546. # [16:59] * Quits: ehsan (~ehsan@66.207.208.102) (Read error: Connection reset by peer)
  547. # [17:03] * WolfieZero|Away is now known as WolfieZero
  548. # [17:03] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Remote host closed the connection)
  549. # [17:04] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  550. # [17:05] * Quits: Ducki (~Ducki@137.116.197.171) (Ping timeout: 255 seconds)
  551. # [17:09] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 268 seconds)
  552. # [17:13] * Joins: bholley (~bholley@187.64.32.150)
  553. # [17:15] * Quits: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca) (Quit: Computer has gone to sleep.)
  554. # [17:16] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  555. # [17:21] * Joins: dawhite (~dawhite@74.118.22.223)
  556. # [17:21] * Joins: jernoble (~jernoble@76.74.153.49)
  557. # [17:22] * Quits: ehsan_ (~ehsan@66.207.208.102) (Remote host closed the connection)
  558. # [17:25] * enryptd_fractal is now known as sex
  559. # [17:25] * sex is now known as computer_
  560. # [17:25] * computer_ is now known as gandalf
  561. # [17:26] * gandalf is now known as wizkid
  562. # [17:26] * wizkid is now known as ratcreature
  563. # [17:28] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
  564. # [17:32] * Joins: ehsan (~ehsan@66.207.208.102)
  565. # [17:40] * Quits: ehsan (~ehsan@66.207.208.102) (Read error: Connection reset by peer)
  566. # [17:41] * Joins: ehsan (~ehsan@66.207.208.102)
  567. # [17:41] * Joins: lmclister (~lmclister@192.150.10.210)
  568. # [17:42] * Quits: hasather (~hasather@80.91.33.141) (Remote host closed the connection)
  569. # [17:43] * Joins: hasather (~hasather@80.91.33.141)
  570. # [17:47] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
  571. # [17:49] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  572. # [17:50] * Joins: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net)
  573. # [17:51] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  574. # [17:51] * Joins: felipeduardo (~felipedua@177.132.137.134)
  575. # [17:54] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
  576. # [17:59] * Joins: jeffreyatw (~jeffreyat@199-188-192-206.PUBLIC.monkeybrains.net)
  577. # [18:01] * Joins: annevk (~annevk@corp-nat.p2p.sfo1.mozilla.com)
  578. # [18:04] * Joins: zcorpan (~zcorpan@2a00:801:e0:30:2083:c545:eb01:776c)
  579. # [18:09] * Quits: zcorpan (~zcorpan@2a00:801:e0:30:2083:c545:eb01:776c) (Ping timeout: 246 seconds)
  580. # [18:11] * Joins: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  581. # [18:12] * Quits: tantek (~tantek@70-36-139-254.dsl.dynamic.sonic.net) (Quit: tantek)
  582. # [18:13] * Joins: jwalden (~waldo@corp.mtv2.mozilla.com)
  583. # [18:16] * Quits: arunranga (~otherarun@cpe-69-203-2-134.nyc.res.rr.com) (Quit: arunranga)
  584. # [18:16] * Joins: blooberry (~Brian@134.134.137.75)
  585. # [18:16] * WolfieZero is now known as WolfieZero|Away
  586. # [18:16] <yoav> SimonSapin: Around?
  587. # [18:16] <SimonSapin> yes
  588. # [18:16] * Joins: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net)
  589. # [18:17] <yoav> Got a Q regarding http://dev.w3.org/csswg/css-syntax/#consume-an-escaped-code-point
  590. # [18:17] <yoav> Also: OMG WUT IS THIS BG
  591. # [18:17] * Joins: dbaron (~dbaron@50-0-248-164.dsl.dynamic.sonic.net)
  592. # [18:18] <SimonSapin> It’s the new spec design :)
  593. # [18:18] * TabAtkins is also here. TabAtkins is so alone...
  594. # [18:18] * WolfieZero|Away is now known as WolfieZero
  595. # [18:18] <yoav> TabAtkins: Hey
  596. # [18:18] <yoav> I'm assuming the design is your fault
  597. # [18:18] <yoav> Is '\r' an escaped code point?
  598. # [18:19] <TabAtkins> \r is a carriage return?
  599. # [18:19] <SimonSapin> yoav: yes, it represents 'r'
  600. # [18:19] <SimonSapin> in CSS
  601. # [18:19] <Ms2ger> Wat
  602. # [18:19] <SimonSapin> "anything else : Return the current input code point. "
  603. # [18:20] <TabAtkins> Oh, yeah, if you literally type \r in a CSS document, it's the same as just typing r.
  604. # [18:20] * Joins: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca)
  605. # [18:21] <yoav> So why is "(max-width: \r6000px)" is parsed OK in anything that's not my MQ parser?
  606. # [18:21] <yoav> Is the \r getting pre processed?
  607. # [18:21] <TabAtkins> Because browsers' existing MQ parsers are usually crazy-stupid.
  608. # [18:21] <TabAtkins> And/or yeah, they're stupidly interpreting \r as a CR, which is just whitespace.
  609. # [18:22] <SimonSapin> yoav: do you have a test case?
  610. # [18:22] * Quits: bzalasky (~bzalasky@c-67-188-211-46.hsd1.ca.comcast.net) (Remote host closed the connection)
  611. # [18:22] <SimonSapin> if a JS literal string is involved, it does its own backslash-unescaping first
  612. # [18:23] <yoav> SimonSapin: Ahh
  613. # [18:23] <yoav> That explains it
  614. # [18:23] <TabAtkins> Layers upon layers of escapes.
  615. # [18:23] <TabAtkins> I like that HTML has a completely different escape syntax. It avoids the stacked-escapes problem.
  616. # [18:23] <yoav> "The escaped onion" would make a good children's book title
  617. # [18:24] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  618. # [18:25] * Quits: benvie_ (~bbenvie@204.28.118.69) (Ping timeout: 268 seconds)
  619. # [18:25] <yoav> SimonSapin: OK, cool. That's what was messing me up
  620. # [18:26] <yoav> So, '\r' is 'r' and everything works fine
  621. # [18:26] <SimonSapin> try "\\r" in a JS string
  622. # [18:27] * Quits: jwalden (~waldo@corp.mtv2.mozilla.com) (Ping timeout: 264 seconds)
  623. # [18:27] * Joins: benvie (~bbenvie@corp-nat.p2p.sfo1.mozilla.com)
  624. # [18:27] * Joins: jwalden (~waldo@corp.mtv2.mozilla.com)
  625. # [18:28] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  626. # [18:28] <yoav> Any cool examples for escaped MQs I can use for testing?
  627. # [18:29] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 264 seconds)
  628. # [18:29] * Joins: benvie_ (~bbenvie@corp-nat.p2p.sfo1.mozilla.com)
  629. # [18:29] * Quits: Smylers (~smylers@81.143.60.194) (Ping timeout: 240 seconds)
  630. # [18:30] * Quits: jernoble (~jernoble@76.74.153.49) (Quit: Computer has gone to sleep.)
  631. # [18:30] * jonlee_|afk is now known as jonlee_
  632. # [18:31] <SimonSapin> hum, replace an character on an identifier with '\' + hex value of the code point + ' '
  633. # [18:31] <SimonSapin> add leading zeros to go up to 6 hex digits
  634. # [18:31] <SimonSapin> add leading zeros to go up to 6 hex digits and omit the space
  635. # [18:31] <yoav> SimonSapin: Trying "(max-width:6000px \u0020 )" and getting nothing
  636. # [18:32] <SimonSapin> omit the space if the next char is not an hex digit
  637. # [18:32] * Quits: benvie (~bbenvie@corp-nat.p2p.sfo1.mozilla.com) (Ping timeout: 265 seconds)
  638. # [18:32] <SimonSapin> there is no u
  639. # [18:32] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 255 seconds)
  640. # [18:32] <SimonSapin> and escapes (unless in a quoted string) give you identifiers
  641. # [18:33] <SimonSapin> also: replace any non-hex-digit character in an identifier by '\' followed by itself
  642. # [18:33] <SimonSapin> and see https://github.com/SimonSapin/css-parsing-tests
  643. # [18:33] * Joins: ratcreat_ (~enryptd_f@66-188-99-174.static.ftbg.wi.charter.com)
  644. # [18:34] <SimonSapin> eg. https://github.com/SimonSapin/css-parsing-tests/blob/101c330cb06b3e6de7f30509b4237421b94e3f28/component_value_list.json#L25-L38
  645. # [18:34] <SimonSapin> https://github.com/SimonSapin/css-parsing-tests/blob/101c330cb06b3e6de7f30509b4237421b94e3f28/component_value_list.json#L25-L52, actually
  646. # [18:35] * Quits: ratcreature (~enryptd_f@66-188-99-174.static.ftbg.wi.charter.com) (Ping timeout: 255 seconds)
  647. # [18:36] <yoav> SimonSapin & TabAtkins: Is it normal that neither Firefox nor Chrome actually match MQs with that? Or am I doing it wrong?
  648. # [18:37] <SimonSapin> yoav: with what? (Test case please)
  649. # [18:37] * Joins: ap_ (~ap@2620:149:4:304:1d44:12a:6c02:a1b0)
  650. # [18:37] * Joins: tantek (~tantek@mc42736d0.tmodns.net)
  651. # [18:38] <TabAtkins> "(max-width:6000px \0020)" *should* match nothing, because you've got an ident hanging out there.
  652. # [18:38] <yoav> http://jsbin.com/texaqabu/3/edit
  653. # [18:38] <TabAtkins> An ident whose value is a single U+0020 character.
  654. # [18:39] <TabAtkins> yoav: What characters are those?\
  655. # [18:39] <SimonSapin> yoav: CSS numeric escapes are always hex
  656. # [18:39] <SimonSapin> a 0 prefix does not make it octal
  657. # [18:39] <yoav> I was going with "px"
  658. # [18:40] <SimonSapin> that’d be \70\78 in hex
  659. # [18:40] * Joins: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net)
  660. # [18:40] <yoav> That's dumb of me
  661. # [18:40] <TabAtkins> ^_^
  662. # [18:41] <yoav> OK!
  663. # [18:41] <yoav> Breakthrough
  664. # [18:41] <yoav> Working in Firefox
  665. # [18:41] <yoav> No dice in Chrome tho, but that gives me something to fix!
  666. # [18:42] <TabAtkins> Yeah, as mentioned previously, our MQ parser is mega-broken.
  667. # [18:42] * Quits: tantek (~tantek@mc42736d0.tmodns.net) (Client Quit)
  668. # [18:43] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  669. # [18:44] * Joins: hasather (~hasather@80.91.33.141)
  670. # [18:46] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Client Quit)
  671. # [18:46] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  672. # [18:49] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 268 seconds)
  673. # [18:54] * Quits: broquaint (~dbrook@static.94.217.47.78.clients.your-server.de) (Quit: Lost terminal)
  674. # [18:58] * Joins: tantek-ipod (~tantek@mc42736d0.tmodns.net)
  675. # [18:58] * Quits: tantek-ipod (~tantek@mc42736d0.tmodns.net) (Client Quit)
  676. # [19:00] * Quits: bholley (~bholley@187.64.32.150) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  677. # [19:01] * Joins: broquaint (~dbrook@static.94.217.47.78.clients.your-server.de)
  678. # [19:02] * Quits: satazor (~satazor@bl16-142-15.dsl.telepac.pt) (Remote host closed the connection)
  679. # [19:03] * Joins: satazor (~satazor@bl16-142-15.dsl.telepac.pt)
  680. # [19:07] * Quits: satazor (~satazor@bl16-142-15.dsl.telepac.pt) (Ping timeout: 245 seconds)
  681. # [19:08] * Joins: jeremyj (~jeremyj@17.202.44.231)
  682. # [19:09] * WolfieZero is now known as WolfieZero|Away
  683. # [19:10] * Quits: tav (~tav`@host109-154-1-151.range109-154.btcentralplus.com) (Quit: tav)
  684. # [19:14] * jonlee_ is now known as jonlee_|afk
  685. # [19:14] * Quits: WolfieZero|Away (~WolfieZer@neils-wireless.manor.fubra.net) (Ping timeout: 240 seconds)
  686. # [19:18] * jonlee_|afk is now known as jonlee_
  687. # [19:28] * jonlee_ is now known as jonlee_|afk
  688. # [19:28] * Joins: zcorpan (~zcorpan@2a00:801:e0:30:390d:8f12:2082:2f64)
  689. # [19:29] * Joins: ambv (~ambv@206.108.217.134)
  690. # [19:31] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: barnabywalters)
  691. # [19:33] * Quits: zcorpan (~zcorpan@2a00:801:e0:30:390d:8f12:2082:2f64) (Ping timeout: 246 seconds)
  692. # [19:54] * Joins: satazor (~satazor@bl16-142-15.dsl.telepac.pt)
  693. # [19:55] * Joins: Areks_home (~Areks@128-72-14-14.broadband.corbina.ru)
  694. # [19:57] * Joins: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
  695. # [20:05] * tbsaunde_ is now known as tbsaunde
  696. # [20:05] * Joins: weinig (~weinig@17.202.49.115)
  697. # [20:06] * Quits: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
  698. # [20:06] * Joins: jsbell (jsbell@nat/google/x-joynmpdrvbrexsbn)
  699. # [20:08] * Joins: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net)
  700. # [20:09] * Krinkle|detached is now known as Krinkle
  701. # [20:12] * Joins: Smylers (~smylers@host86-168-220-196.range86-168.btcentralplus.com)
  702. # [20:15] <SamB> hmm, should I alias mediawiki's UTF-8 tracking bug as "UTF-8", "utf-8", or "utf8" ... practically all existing aliases are lowercase ...
  703. # [20:17] * Joins: jernoble (~jernoble@17.202.46.221)
  704. # [20:19] <SamB> oh, wait, it's also about Unicode so I'll just alias it as "unicode" ...
  705. # [20:21] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  706. # [20:23] * Quits: KevinMarks2 (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
  707. # [20:23] * Joins: KevinMarks2 (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net)
  708. # [20:25] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  709. # [20:29] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  710. # [20:30] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Ping timeout: 265 seconds)
  711. # [20:32] <Hixie> annevk: yt?
  712. # [20:32] <annevk> Hixie: yes
  713. # [20:32] <Hixie> annevk: how do you feel about putting document.title in DOM
  714. # [20:32] <annevk> Hixie: your timezone for the next seven days
  715. # [20:32] <Hixie> annevk: it needs to interact with SVG and HTML <title>
  716. # [20:32] <annevk> Hixie: can't HTML just do that?
  717. # [20:33] <annevk> Hixie: or does the SVG WG still pretend it can have SVG without HTML? (because they cannot, they don't have an event loop and things)
  718. # [20:33] <Hixie> annevk: i could, but it seems weird for HTML to be defining some SVG-specific stuff, so i was thinking HTML and SVG would hook into something DOM specifies
  719. # [20:33] <Hixie> maybe i should just do it and not worry about it though
  720. # [20:33] <annevk> Hixie: I'm happy to blur the lines further, either way
  721. # [20:34] * SamB has always found html <title> rather magical
  722. # [20:34] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 255 seconds)
  723. # [20:34] * Quits: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com) (Quit: tantek)
  724. # [20:36] <SamB> (Well, ever since I discovered that you can't get the same results with custom XML and CSS)
  725. # [20:38] <Hixie> well all the useful elements in HTML are "magical" by that definition
  726. # [20:40] <SamB> in the sense that they have semantics as well as presentation, sure
  727. # [20:41] <Hixie> in the sense that the user agent is required to do stuff with them more than you can do with custom XML and CSS
  728. # [20:41] <Hixie> e.g. <form>, <a>, <input>, <video>, ...
  729. # [20:42] <SamB> you are clearly using a different sense of the term "useful" than I am
  730. # [20:42] <Hixie> why?
  731. # [20:43] <SamB> well, mine includes stuff like <h2>
  732. # [20:44] <Hixie> s/useful/interesting/?
  733. # [20:45] * Quits: Bass10 (~Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
  734. # [20:46] * Joins: hasather (~hasather@80.91.33.141)
  735. # [20:49] <SamB> anyway, it might have been 15 years ago that I got the idea "<title> is magical" into my head ...
  736. # [20:50] <Hixie> well, i'm not a fan of the word "magical", but <title> has non-mundane behaviour, certainly
  737. # [20:50] <Hixie> like <details>, <output>, <progres>, <canvas>, etc
  738. # [20:51] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 268 seconds)
  739. # [20:51] * Joins: bholley (~bholley@187.64.32.150)
  740. # [20:59] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  741. # [21:01] * Joins: tantek (~tantek@corp-nat.p2p.sfo1.mozilla.com)
  742. # [21:06] * Quits: scor (scor@drupal.org/user/52142/view) (Quit: scor)
  743. # [21:06] <manu-> TabAtkins: I totally love what you've done w/ the non-element selectors spec: http://dev.w3.org/csswg/selectors-nonelement/
  744. # [21:07] <manu-> (W3C Stylesheets hacked) https://twitter.com/jirkakosek/status/451067752703197184/photo/1
  745. # [21:07] <Ms2ger> manu-, *all dev.w3.org/csswg/ specs
  746. # [21:08] <manu-> It really is a step in the right direction... the dot-com bubble just messed everything up, glad to see a move back to fundamentals.
  747. # [21:09] <Ms2ger> It's kinda unimaginative... Same thing from last year
  748. # [21:09] <manu-> oooh, right... April fools - forgot about that... had turned off all of my news feeds waiting for it to blow over.
  749. # [21:09] * Joins: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net)
  750. # [21:13] * Quits: llkats (~llkats@c-69-181-45-245.hsd1.ca.comcast.net) (Remote host closed the connection)
  751. # [21:13] * Joins: llkats (~llkats@h-64-236-138-3.aoltw.net)
  752. # [21:14] * Joins: hasather (~hasather@80.91.33.141)
  753. # [21:18] * Quits: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca) (Quit: Computer has gone to sleep.)
  754. # [21:18] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
  755. # [21:19] * Quits: davve (~user@83.218.67.123) (Remote host closed the connection)
  756. # [21:19] * Joins: davve (~user@83.218.67.123)
  757. # [21:21] * Joins: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net)
  758. # [21:24] <TabAtkins> Ms2ger: Yeah, I'd forgotten to prepare anything new. I'll actually do a new joke next year, I promise. ^_^
  759. # [21:29] * Quits: satazor (~satazor@bl16-142-15.dsl.telepac.pt) (Remote host closed the connection)
  760. # [21:30] * Joins: zcorpan (~zcorpan@2a00:801:e0:30:405b:dd17:9168:5400)
  761. # [21:33] * Joins: shannonmoeller (~shannonmo@nat.sierrabravo.net)
  762. # [21:34] * Quits: zcorpan (~zcorpan@2a00:801:e0:30:405b:dd17:9168:5400) (Ping timeout: 246 seconds)
  763. # [21:39] * Joins: reyre (~reyre@bas1-streetsville52-1177963189.dsl.bell.ca)
  764. # [21:41] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  765. # [21:50] * Joins: jernoble|laptop (~jernoble@17.202.45.163)
  766. # [21:51] * Joins: shepazu (~shepazu@c-24-23-191-49.hsd1.ca.comcast.net)
  767. # [21:52] <annevk> TabAtkins: but will it resolve?
  768. # [21:52] * Joins: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca)
  769. # [21:55] * Joins: benv_ (~benv@74.86.107.157-static.reverse.softlayer.com)
  770. # [21:57] * Quits: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca) (Ping timeout: 265 seconds)
  771. # [21:59] <TabAtkins> annevk: It'll take a year, but yeah.
  772. # [21:59] <dglazkov> Hixie: with MessagePort, how does one side realize that the other side is no longer listening (due to untimely demise, for instance)
  773. # [21:59] <dglazkov> ?
  774. # [22:00] <annevk> dglazkov: you don't, you need to implement ping
  775. # [22:00] <annevk> dglazkov: reason is GC
  776. # [22:00] <dglazkov> okay
  777. # [22:00] <annevk> Which reminds me, at some point we need to figure out the SW story around garbage collection
  778. # [22:01] <SamB> SW?
  779. # [22:01] <dglazkov> why is GC being detectable a problem?
  780. # [22:01] <annevk> dglazkov: there have been some proposals on the position to not expose GC / make memory leaks likelier
  781. # [22:01] * SamB does not like memory leaks
  782. # [22:01] <annevk> dglazkov: exposing the details of GC is bad as it might lead to having to define GC
  783. # [22:02] <annevk> dglazkov: ask TC39
  784. # [22:02] <dglazkov> annevk: that doesn't seem bad, just hard
  785. # [22:02] * Joins: jeremyj (~jeremyj@17.202.44.231)
  786. # [22:02] <annevk> dglazkov: why not, we have changed GC strategies many many times over the years due to it not being exposed
  787. # [22:02] <annevk> dglazkov: if it's exposed we cannot change strategies
  788. # [22:02] <dglazkov> that's not necessarily true, right?
  789. # [22:03] * Joins: rafaelrinaldi (~rafaelrin@B12E8AB3.dynamic.spo.dsl.tesa.net.br)
  790. # [22:03] * Joins: scor (~scor@drupal.org/user/52142/view)
  791. # [22:03] <annevk> I'm not sure I can speak much to all of the constraints here. I do know it's been one of the things we have tried very hard to avoid ever doing.
  792. # [22:03] <SamB> hmm, that sounds kind of like a silly reason to have no way to detect a broken socket
  793. # [22:04] <SamB> just make sure the GC is already sufficiently hard to predict
  794. # [22:04] <annevk> "just"
  795. # [22:05] <SamB> what, you mean it isn't?
  796. # [22:05] * Quits: jeremyj (~jeremyj@17.202.44.231) (Client Quit)
  797. # [22:05] <SamB> it's not like there's refcounting involved like in CPython ...
  798. # [22:05] <dglazkov> annevk: totally understand. It seems though the times are changing. With where asm.js is going, exposing GC in one way or another looks inevitable.
  799. # [22:06] * Joins: rubatdub (~khalil@213.188.172.141)
  800. # [22:07] <annevk> dglazkov: I don't know, would have to ask dherman, but exposing to asm.js does not necessarily mean we want to expose it higher-level too
  801. # [22:07] * Quits: sicking (~sicking@c-98-210-154-157.hsd1.ca.comcast.net) (Quit: sicking)
  802. # [22:07] * Joins: jeremyj (~jeremyj@17.202.44.231)
  803. # [22:07] <dglazkov> yup
  804. # [22:08] * Joins: a-ja (~Instantbi@70.230.145.30)
  805. # [22:08] * Quits: tj_vantoll (~Adium@2601:4:1400:5f5:a9c1:971c:599f:7fcc) (Quit: Leaving.)
  806. # [22:10] * Joins: rafaelri_ (~rafaelrin@B12E8301.dynamic.spo.dsl.tesa.net.br)
  807. # [22:11] <SamB> annevk: I guess you must be worried about exposing what happens when a whole compartment goes away?
  808. # [22:11] * Quits: rubatdub (~khalil@213.188.172.141) (Read error: Connection reset by peer)
  809. # [22:12] <annevk> SamB: exposing GC in general
  810. # [22:13] <SamB> what else is there that's presently deterministic enough that stuff might grow to depend on it?
  811. # [22:13] * Joins: rubatdub (~khalil@213.188.172.141)
  812. # [22:14] * Quits: Areks_home (~Areks@128-72-14-14.broadband.corbina.ru) (Ping timeout: 268 seconds)
  813. # [22:14] <annevk> Anything? Content has a tendency to rely on anything we expose, whether intentional or not
  814. # [22:14] * Quits: rubatdub (~khalil@213.188.172.141) (Max SendQ exceeded)
  815. # [22:14] * Quits: rafaelrinaldi (~rafaelrin@B12E8AB3.dynamic.spo.dsl.tesa.net.br) (Ping timeout: 265 seconds)
  816. # [22:15] * Joins: hasather (~hasather@80.91.33.141)
  817. # [22:17] <SamB> I mean, what other situations can cause objects to be collected more-or-less immediately, rather than whenever the GC finally kicks in?
  818. # [22:19] <annevk> Depends on your GC
  819. # [22:19] * Quits: hasather (~hasather@80.91.33.141) (Ping timeout: 245 seconds)
  820. # [22:22] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  821. # [22:24] <smaug____> dglazkov: what has asm.js to do with gc?
  822. # [22:26] <smaug____> asm.js makes such js that gc doesn't have to run at all
  823. # [22:29] <smaug____> SamB: you might implement the whole system using a cycle collector and traditional refcounting
  824. # [22:29] <smaug____> SamB: then objects would usually die when the last ref goes away
  825. # [22:30] <smaug____> and in case of cycles, when the collector runs
  826. # [22:30] <SamB> smaug____: who would be stupid enough to actually do it that way
  827. # [22:30] <smaug____> what is wrong with that?
  828. # [22:31] <SamB> refcounting is actually pretty slow
  829. # [22:31] * Joins: rubatdub (~khalil@213.188.172.141)
  830. # [22:31] * Joins: zcorpan (~zcorpan@ip-200.t2.se.opera.com)
  831. # [22:31] <smaug____> there are algorithms to optimize out most of it
  832. # [22:31] <smaug____> and GC is hard if you have lots of objects
  833. # [22:31] <smaug____> since GC deals with live objects and CC only possible garbage objects
  834. # [22:32] <SamB> hmm
  835. # [22:33] <jsbell> annevk FWIW: dbh = indexedDB.open('db', 1); indexedDB.open('db', 2).onsuccess = function(){alert('GC-or-equivalent must have happened');}; dbh = null;
  836. # [22:33] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  837. # [22:33] <smaug____> best performing systems are, at least per certain literature and research, combination of gc and cc
  838. # [22:33] <SamB> I guess refcounting *does* at least only do the extra work on objects that are probably of interest
  839. # [22:33] <annevk> jsbell: you don't define that in terms of event loops and lifetimes?
  840. # [22:34] * Joins: kinetik_ (~kinetik@121-99-40-94.bng1.nct.orcon.net.nz)
  841. # [22:35] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 240 seconds)
  842. # [22:35] <jsbell> annevk: The spec says "If the connection is GCed .... the connection is closed", which unblocks the second connection.
  843. # [22:35] * Quits: zcorpan (~zcorpan@ip-200.t2.se.opera.com) (Ping timeout: 265 seconds)
  844. # [22:36] <annevk> Oh my
  845. # [22:36] <smaug____> whaaat?
  846. # [22:36] * smaug____ files a spec bug
  847. # [22:37] <jsbell> Yeah. I was poking around for precedent for "what if a transaction could waitUntil() a Promise, but the Promise was never resolved"
  848. # [22:37] * Quits: kinetik (~kinetik@121-99-32-210.bng1.nct.orcon.net.nz) (Ping timeout: 252 seconds)
  849. # [22:37] * kinetik_ is now known as kinetik
  850. # [22:37] * Joins: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca)
  851. # [22:39] * Quits: benv_ (~benv@74.86.107.157-static.reverse.softlayer.com) (Ping timeout: 255 seconds)
  852. # [22:45] * Quits: jernoble|laptop (~jernoble@17.202.45.163) (Ping timeout: 268 seconds)
  853. # [22:45] * Joins: jeremyj (~jeremyj@17.202.44.231)
  854. # [22:45] * Joins: jernoble|laptop (~jernoble@17.114.216.216)
  855. # [22:46] * Quits: llkats (~llkats@h-64-236-138-3.aoltw.net) (Remote host closed the connection)
  856. # [22:51] * Quits: jernoble|laptop (~jernoble@17.114.216.216) (Quit: Computer has gone to sleep.)
  857. # [22:56] * Joins: jernoble|laptop (~jernoble@17.114.216.216)
  858. # [23:01] * Joins: sicking (~sicking@corp-nat.p2p.sfo1.mozilla.com)
  859. # [23:02] <annevk> https://www.youtube.com/watch?v=_eT7sl7bR1A oh man
  860. # [23:02] * Joins: arunranga (~otherarun@208.82.13.98)
  861. # [23:02] <annevk> I wonder if there's a 2048 homescreen
  862. # [23:02] * Joins: barnabywalters (~barnabywa@fire-out.ru.is)
  863. # [23:08] * Quits: rubatdub (~khalil@213.188.172.141) (Remote host closed the connection)
  864. # [23:08] * Quits: TallTed (~Thud@63.119.36.36)
  865. # [23:08] * Quits: Maurice (copyman@5ED57922.cm-7-6b.dynamic.ziggo.nl)
  866. # [23:09] <jgraham> annevk: Higher score == better apps you can launch?
  867. # [23:09] <jgraham> And 2048 gives you the browser
  868. # [23:09] <annevk> jgraham: yeah, maybe one screen has the game, and another has the apps available thus far
  869. # [23:10] <jgraham> No, the game tiles are the launchers
  870. # [23:10] * Quits: Ms2ger (~Ms2ger@33.201-64-87.adsl-dyn.isp.belgacom.be) (Ping timeout: 264 seconds)
  871. # [23:11] * Joins: rafaelrinaldi (~rafaelrin@C8ECD3DC.dynamic.spo.dsl.tesa.net.br)
  872. # [23:11] * Joins: Ms2ger (~Ms2ger@33.201-64-87.adsl-dyn.isp.belgacom.be)
  873. # [23:12] <annevk> oh man
  874. # [23:12] <annevk> so at some point you can no longer access 1024 until you hit it again?
  875. # [23:13] <Ms2ger> Hmm?
  876. # [23:14] * Quits: rafaelri_ (~rafaelrin@B12E8301.dynamic.spo.dsl.tesa.net.br) (Ping timeout: 255 seconds)
  877. # [23:14] <annevk> the app corresponding to 1024 if that was unclear
  878. # [23:14] <annevk> I still haven't hit 8192 btw
  879. # [23:14] <annevk> got 4096 several times
  880. # [23:14] <annevk> I get sloppy after a while :/
  881. # [23:17] * Quits: fredy (~fredy@snf-8914.vm.okeanos.grnet.gr) (Excess Flood)
  882. # [23:18] * Joins: fredy (~fredy@2001:648:2ffc:1225:a800:ff:fe12:113e)
  883. # [23:19] * Quits: blooberry (~Brian@134.134.137.75) (Ping timeout: 255 seconds)
  884. # [23:21] * Quits: shannonmoeller (~shannonmo@nat.sierrabravo.net) (Read error: Connection reset by peer)
  885. # [23:22] * Joins: shannonmoeller (~shannonmo@pool-108-17-8-225.bflony.fios.verizon.net)
  886. # [23:22] * Quits: shannonmoeller (~shannonmo@pool-108-17-8-225.bflony.fios.verizon.net) (Remote host closed the connection)
  887. # [23:23] * Joins: shannonmoeller (~shannonmo@nat.sierrabravo.net)
  888. # [23:23] * Quits: benvie_ (~bbenvie@corp-nat.p2p.sfo1.mozilla.com)
  889. # [23:24] <hober> threes ftw :)
  890. # [23:24] * Joins: benvie (~bbenvie@corp-nat.p2p.sfo1.mozilla.com)
  891. # [23:25] * Quits: bholley (~bholley@187.64.32.150) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  892. # [23:28] <zewt> refcounting is comparatively slow, but in most layers it doesn't matter today
  893. # [23:29] <zewt> in systems where you can get away with not breaking cycles (eg. not the web), it also has the huge advantage of being deterministic
  894. # [23:29] * Quits: reyre (~reyre@bas1-streetsville52-1177963189.dsl.bell.ca) (Remote host closed the connection)
  895. # [23:29] <Hixie> slow relative to what? managed memory and walking the entire heap every few seconds?
  896. # [23:30] <Hixie> or slow relative to a defined ownership model?
  897. # [23:30] <zewt> relative to mark and sweep, since you don't have to adjust refcounts all the time (though I guess that also depends on how smart you can be about optimizing those out)
  898. # [23:30] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  899. # [23:30] * Joins: reyre (~reyre@bas1-streetsville52-1177963189.dsl.bell.ca)
  900. # [23:30] <Hixie> really? do you have data on that?
  901. # [23:30] <zewt> no, just my recollection
  902. # [23:31] <Hixie> refcounting is like 2 extra instructions per assignment
  903. # [23:31] <zewt> but if true, I still think it's irrelevant today, except maybe for really performance-sensitive stuff
  904. # [23:31] <Hixie> compared to walking the entire heap, that seems cheap.
  905. # [23:31] <jgraham> hober: There you are again promoting iOS rather than the open web ;)
  906. # [23:31] <SamB> Hixie: that doesn't happen every assignment though ...
  907. # [23:31] <Hixie> true, but still
  908. # [23:32] * Joins: zcorpan (~zcorpan@2a00:801:e0:30:4569:b14f:dad7:5e6e)
  909. # [23:32] <zewt> it's an extra two writes, and in some (also non-web) cases an atomic write (don't know how expensive those are today)
  910. # [23:32] <Hixie> i have no data one way or the other, i just find it surprising
  911. # [23:32] * Quits: felipeduardo (~felipedua@177.132.137.134) (Quit: Leaving)
  912. # [23:32] <Hixie> i would have thought refcounting would win hands down in terms of raw cpu cycles spent on memory management over the lifetime of a task
  913. # [23:32] <zewt> i'm sure it depends massively on the access patterns and language, so I'm overgeneralizing for sure
  914. # [23:33] <Hixie> i mean, wouldn't a GC model require at least as many instructions per assignment as well?
  915. # [23:33] <zewt> not following
  916. # [23:33] <Hixie> i guess you could just know where the pointers are
  917. # [23:34] <Hixie> if it's a strongly typed system
  918. # [23:34] <Hixie> and walk it that way
  919. # [23:34] <zewt> if you have a memory model where you can walk around and look at pointers (like you need for that), "x = y" is simply what it says, set the storage for x to a pointer to y
  920. # [23:35] * Hixie usually just uses a defined ownership model, which seems faster than either :-)
  921. # [23:35] <zewt> for refcounting, you have to say "if x was set to something, decrease its refcount" and then "increase y's refcount" after the assignment
  922. # [23:35] <zewt> which might also mean a branch
  923. # [23:35] <zewt> definitely faster, it just tends to lose on other fronts :P
  924. # [23:36] <Hixie> yeah, it's definitely not a perfect solution :-)
  925. # [23:36] * Quits: zcorpan (~zcorpan@2a00:801:e0:30:4569:b14f:dad7:5e6e) (Ping timeout: 246 seconds)
  926. # [23:36] <Hixie> i find it makes me think more about the design though
  927. # [23:36] <Hixie> which is a win
  928. # [23:37] <zewt> i grew up on C++, i guess I should be a little sad that I almost never use it these days
  929. # [23:38] * Joins: bholley (~bholley@187.64.32.150)
  930. # [23:40] <Hixie> i spent a decade or more writing lots of perl
  931. # [23:41] <zewt> i avoided that trap
  932. # [23:41] <Hixie> but recently i've come to realise that for anything serious, I really prefer a strongly typed non-GCed true OO natively compiled modern language
  933. # [23:41] <zewt> is there such a thing?
  934. # [23:41] <Hixie> http://ian.hixie.ch/programming/
  935. # [23:41] * Quits: shannonmoeller (~shannonmo@nat.sierrabravo.net) (Quit: Leaving...)
  936. # [23:41] <jgraham> (I think this is where someone says that there is no strongly typed OO language)
  937. # [23:41] <jgraham> (which indeed zewt did)
  938. # [23:41] <zewt> i've spent enough time at a high level to find things like closures hard to live without, and closures essentially require GC
  939. # [23:42] <zewt> jgraham: what I meant is "modern"
  940. # [23:42] <jgraham> Rust has closures
  941. # [23:42] <Hixie> C++ does closures without GC
  942. # [23:42] <Hixie> as do some variants of ObjectPascal (sadly not the variant i'm using, yet.)
  943. # [23:42] <zewt> i haven't touched any of the "C++digitdigit" things (since I don't think they'll go anywhere, not to the level of availability of real C++)
  944. # [23:42] <jgraham> (it doesn't do OO but unless you are implementing the DOM it doesn't seem to matter. And for implementing the DOM we will probably get single inheritance)
  945. # [23:42] <Ms2ger> Hixie, Rust might be interesting to you
  946. # [23:43] <gsnedders> Rust is an odd type of OO, though
  947. # [23:43] <Hixie> Ms2ger: i find the rust language to be a bit weird to read.
  948. # [23:43] <jgraham> Rust currently has typeclasses rather than inheritance
  949. # [23:44] <Hixie> Ms2ger: (too much like perl in its liberal use of unusual punctuation)
  950. # [23:44] <zewt> i have trouble visualizing closures without GC to handle the locals attached to the closure
  951. # [23:44] <gsnedders> zewt: I dunno, I thought this a few years ago, yet now almost all embedded platforms with a C++ compiler support C++11.
  952. # [23:44] <jgraham> Most of the punctuation is gone
  953. # [23:44] <Ms2ger> Hixie, that's been improved a little... @ is gone, at least
  954. # [23:44] <gsnedders> zewt: When a decade ago many didn't support stuff as basic as namespaces.
  955. # [23:44] <zewt> gsnedders: msvc?
  956. # [23:44] <jgraham> Well @ at least
  957. # [23:44] <gsnedders> jgraham: Is it really typecalsses? They didn't seem to quite be typeclasses last time I looked.
  958. # [23:45] <Hixie> Ms2ger: still has a long way to go. consider that my favourite language has so little punctuation it doesn't even use { } for blocks :-P
  959. # [23:45] <zewt> pascal? :P
  960. # [23:45] <zewt> (don't say yes)
  961. # [23:45] <gsnedders> zewt: They support most of it now
  962. # [23:45] <Ms2ger> Yes
  963. # [23:45] <Hixie> (old python was pretty good in this regard, though modern python has taken a bit of a turn for the punctuationy)
  964. # [23:45] <Hixie> zewt: modern variants thereof, but yeah
  965. # [23:45] <zewt> my only major, fundamental issue with python is the indentation block gimmick
  966. # [23:46] <jgraham> I have used perl (and lived to tell the tale) and Rust, and Rust doesn't use punctuation like Perl
  967. # [23:46] <Hixie> zewt: that and it's just not a fast language
  968. # [23:46] <Hixie> jgraham: yeah, it's not at the level of perl.
  969. # [23:46] <zewt> which means it structurally has no way to do inline functions, and it can't do the inverted-template thing of php and ruby
  970. # [23:46] <Ms2ger> Hixie, it does tend to follow C conventions for that, to avoid scaring the C programmers too much :)
  971. # [23:46] <gsnedders> jgraham: At least most things claim traits aren't quite type classes.
  972. # [23:46] <jgraham> Like the usage in Rust generally follows straightforward patterns
  973. # [23:46] <zewt> Hixie: it's extremely fast to develop in; fast to execute I don't know (except that it's never been a problem for me)
  974. # [23:47] <jgraham> gsnedders: Well I don't exactly know
  975. # [23:47] <Hixie> the problem with rust is that i look at some random rust and i can't tell what it's doing off the top of my head
  976. # [23:47] <Hixie> in that respect it's like perl
  977. # [23:47] * Quits: ehsan (~ehsan@66.207.208.102) (Remote host closed the connection)
  978. # [23:47] <Hixie> e.g. code like: fn ascending<M: MutableMap<uint, uint>>(map: &mut M, n_keys: uint) { ... }
  979. # [23:48] <zewt> :|
  980. # [23:48] <Ms2ger> That's not the most readable of rust :)
  981. # [23:48] * gsnedders finds that perfectly readable…
  982. # [23:48] <Hixie> the "map: &mut M" part in particular
  983. # [23:48] * Quits: zdobersek (~zan@5.153.234.58) (Quit: Leaving.)
  984. # [23:48] <Ms2ger> Argument map of type &mut M
  985. # [23:48] * Krinkle is now known as Krinkle|detached
  986. # [23:48] <gsnedders> (And I've not touched that much Rust)
  987. # [23:48] <Ms2ger> For M a type parameter that fulfills MutableMap<uint, uint>
  988. # [23:48] <Hixie> what is "&mut M" ?
  989. # [23:48] <Ms2ger> Mutable pointer to M
  990. # [23:49] <Ms2ger> (non-owning)
  991. # [23:49] <jgraham> A mutable borrowed pointer to M
  992. # [23:49] <Hixie> mutable pointer?
  993. # [23:49] <Hixie> as opposed to?
  994. # [23:49] <Ms2ger> Immutable
  995. # [23:49] <jgraham> An immutable pointer
  996. # [23:49] <gsnedders> Ms2ger: Oh, then I misunderstood what it meant, so maybe not so readable :)
  997. # [23:49] <Hixie> is an immutable pointer just a constant reference?
  998. # [23:49] <Ms2ger> Stronger
  999. # [23:49] <zewt> "immutable pointer" sounds like "reference" (c++)
  1000. # [23:49] <jgraham> You can only have one mutable pointer to an object in scope at a time so that the compiler can reason about lifetimes
  1001. # [23:49] <Ms2ger> It also guarantees that there are no mutable pointers to that value
  1002. # [23:50] <jgraham> (that might be wrong)
  1003. # [23:50] <Ms2ger> You can only have one mutable pointer to an object in scope at a time so that you don't have data races
  1004. # [23:50] <jgraham> Yeah, that makes more sense
  1005. # [23:50] <SimonSapin> Hixie: yes. Rust makes stuff constant by default, you need the 'mut' keyword to change that. (Opposite of C/C++ and the 'const' keyword.)
  1006. # [23:50] <zewt> mutable pointer as in const foo *x or mutable pointer as in foo *const x?
  1007. # [23:51] <Ms2ger> You can mutate what's behind it
  1008. # [23:51] <jgraham> zewt: As in the thing it points to is mutable using that reference
  1009. # [23:51] <Hixie> so "mut" is more like the opposite of C++ const than it is like pascal argument "var" or the opposite of pascal argument "const"?
  1010. # [23:51] * Quits: ttepasse (~ttepasse@ip-37-201-122-69.unitymediagroup.de) (Ping timeout: 245 seconds)
  1011. # [23:51] <jgraham> Rust doesn't have pointer arithmetic
  1012. # [23:51] * Hixie always thought the C++ "const" thing was a bit weird
  1013. # [23:51] <Ms2ger> I haven't done pascal in 6 years or so, no idea :)
  1014. # [23:51] <gsnedders> zewt: foo *const x if I remember which way around they are. :P
  1015. # [23:52] <zewt> yeah I have to think about it too heh
  1016. # [23:52] <gsnedders> zewt: i.e., &x is constant
  1017. # [23:52] <Hixie> another line of random rust, no idea what this does at all: vec!(~"", ~"20")
  1018. # [23:52] <zewt> looks like a smiley
  1019. # [23:52] <jgraham> The ! means that vec is a macro
  1020. # [23:52] <zewt> if a peculiar one
  1021. # [23:52] <jgraham> ~"" is an owned pointer to the empty string
  1022. # [23:53] <jgraham> No idea what the vec macro does
  1023. # [23:53] <gsnedders> zewt: essentially all you have is foo * const and const foo * const in Rust
  1024. # [23:54] <Ms2ger> vec!() is like []
  1025. # [23:54] * Quits: bholley (~bholley@187.64.32.150) (Quit: Textual IRC Client: www.textualapp.com)
  1026. # [23:54] <Hixie> anyway. i haven't studied rust much yet. i will eventually. i expect it'll be similar to Go, though, which is to say, a lot of interesting ideas, some really bad decisions, and odd syntax, the total of which isn't really interesting enough to me :-)
  1027. # [23:54] <Ms2ger> It constructs a new Vec, which is a growable vector
  1028. # [23:55] <Ms2ger> I hope we're getting better syntax for that at some point
  1029. # [23:55] <zewt> how about []
  1030. # [23:55] <zewt> just saying :P
  1031. # [23:55] * Quits: espadrine_ (~ttyl@AMontsouris-158-1-60-189.w92-128.abo.wanadoo.fr) (Ping timeout: 255 seconds)
  1032. # [23:56] <zewt> i'm skeptical of any language I can't read intuitively, without having to study first
  1033. # [23:56] <Ms2ger> Yeah, that's used for a type that's currently being transitioned to being a non-growable vector
  1034. # [23:56] <Ms2ger> It's confusing right now :)
  1035. # [23:56] * Joins: espadrine_ (~ttyl@AMontsouris-158-1-60-189.w92-128.abo.wanadoo.fr)
  1036. # [23:57] <zewt> (not to say read every nuance of, but to a reasonable level)
  1037. # [23:57] <zewt> afk
  1038. # [23:59] * Quits: benv (~benv@BARION1850W-LP130-03-1177625684.dsl.bell.ca) (Ping timeout: 268 seconds)
  1039. # [23:59] * Krinkle|detached is now known as Krinkle
  1040. # Session Close: Wed Apr 02 00:00:01 2014

The end :)