/irc-logs / freenode / #whatwg / 2010-05-13 / end

Options:

  1. # Session Start: Thu May 13 00:00:00 2010
  2. # Session Ident: #whatwg
  3. # [00:00] * Quits: othermaciej (~mjs@17.246.19.74) (Quit: othermaciej)
  4. # [00:01] * Joins: othermaciej (~mjs@17.246.19.74)
  5. # [00:01] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  6. # [00:15] * Quits: Maurice (copyman@5ED573FA.cable.ziggo.nl)
  7. # [00:15] * Quits: mmn (~mmn@129-97-225-97.uwaterloo.ca) (Quit: Leaving.)
  8. # [00:18] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Quit: pesla)
  9. # [00:22] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  10. # [00:30] * Joins: grimboy (~grimboy@bcm-131-111-216-150.girton.cam.ac.uk)
  11. # [00:31] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Quit: kthxbye!)
  12. # [00:32] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  13. # [00:33] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Client Quit)
  14. # [00:34] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  15. # [00:49] <othermaciej> oh man another CORS flamewar?
  16. # [00:49] * Quits: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com) (Remote host closed the connection)
  17. # [00:50] * Joins: mmn (~mmn@129-97-120-85.uwaterloo.ca)
  18. # [00:53] * Quits: micheil (~micheil@124-170-251-16.dyn.iinet.net.au) (Quit: micheil)
  19. # [00:55] <Dashiva> Just the same one, I think
  20. # [00:58] * Quits: cying (~cying@70.90.171.153) (Quit: cying)
  21. # [00:59] * Joins: mbrubeck (~mbrubeck@184.77.100.34)
  22. # [01:02] <webr3> yeah but those headers in CORS need changed to the UMP ones | other than that I'm keeping my mouth shut
  23. # [01:05] * Joins: boblet (~boblet@p1072-ipbf36osakakita.osaka.ocn.ne.jp)
  24. # [01:08] * Quits: wakaba__ (~wakaba@181.63.138.58.dy.bbexcite.jp) (Quit: Leaving...)
  25. # [01:11] * Joins: Lachy (~Lachlan@85.196.122.246)
  26. # [01:16] * Joins: wakaba (~wakaba@181.63.138.58.dy.bbexcite.jp)
  27. # [01:24] * Joins: yutak_home (~kee@N038037.ppp.dion.ne.jp)
  28. # [01:27] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Quit: kthxbye!)
  29. # [01:34] * Quits: dglazkov (~dglazkov@nat/google/x-elwdridynppjhslq) (Quit: dglazkov)
  30. # [01:39] * Quits: Amorphous (jan@unaffiliated/amorphous) (Ping timeout: 245 seconds)
  31. # [01:55] * Joins: Amorphous (jan@unaffiliated/amorphous)
  32. # [01:57] * Quits: wakaba (~wakaba@181.63.138.58.dy.bbexcite.jp) (Quit: Leaving...)
  33. # [01:58] * Quits: aroben|afk (~aroben@unaffiliated/aroben) (Read error: Connection reset by peer)
  34. # [02:04] <TabAtkins_> Any of the html5lib guys awake at the moment?
  35. # [02:07] <Philip`> Depends on who is sufficiently an html5lib guy for your requirements
  36. # [02:09] <TabAtkins_> Anyone responsible for the development of it.
  37. # [02:11] <Philip`> I have commit access and wrote some bits of its code
  38. # [02:11] <Philip`> though I'm largely irresponsible
  39. # [02:11] * Joins: wakaba (~wakaba@181.63.138.58.dy.bbexcite.jp)
  40. # [02:12] <TabAtkins_> Good enough. You have any clue if you guys are going to try and get it pushed into the standard modules?
  41. # [02:13] <Philip`> I don't believe I've heard anybody intending to try that any time soon
  42. # [02:13] <TabAtkins_> Kk.
  43. # [02:13] <Philip`> It ought to be made fast (i.e. written in C) before attempting to make it standard
  44. # [02:14] <TabAtkins_> The teacher in this Python class I'm taking was just wondering.
  45. # [02:15] <TabAtkins_> As he had it listed as a standard external module.
  46. # [02:20] * Quits: ap (~ap@17.246.17.104) (Quit: ap)
  47. # [02:21] * Quits: yutak_home (~kee@N038037.ppp.dion.ne.jp) (Quit: Ex-Chat)
  48. # [02:28] * Quits: TabAtkins_ (~tabatkins@ip-64-139-11-254.dsl.sca.megapath.net) (Ping timeout: 240 seconds)
  49. # [02:34] * Joins: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  50. # [02:50] * Quits: eighty4 (~eighty4@c-d9cee455.012-403-6c6b701.cust.bredbandsbolaget.se) (Remote host closed the connection)
  51. # [02:55] * Quits: jwalden (~waldo@nat/mozilla/x-otjjkwyafzzsbdxo) (Quit: brb)
  52. # [02:57] * Joins: jwalden (~waldo@nat/mozilla/x-jzoputwmxcfkidtt)
  53. # [02:58] * Joins: divya (~divya@219.64.117.145)
  54. # [03:05] * Quits: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de) (Quit: ?Q)
  55. # [03:07] * Quits: roc (~roc@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 258 seconds)
  56. # [03:07] * Quits: cpearce (~cpearce@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 258 seconds)
  57. # [03:09] * Joins: cpearce (~cpearce@203-97-204-82.dsl.clear.net.nz)
  58. # [03:10] * Joins: roc (~roc@203-97-204-82.dsl.clear.net.nz)
  59. # [03:11] * Quits: mmn (~mmn@129-97-120-85.uwaterloo.ca) (Quit: Leaving.)
  60. # [03:13] * Quits: KevinMarks (~KevinMark@157.22.22.57) (Ping timeout: 260 seconds)
  61. # [03:15] * Quits: JonathanNeal (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com) (Ping timeout: 258 seconds)
  62. # [03:25] * tabatkins is now known as TabAtkins
  63. # [03:26] <TabAtkins> annevk: A Python class.
  64. # [03:30] * Joins: rolandsteiner (~rolandste@220.109.219.244)
  65. # [03:31] * Quits: sicking (~chatzilla@nat/mozilla/x-cmzguhcfhiohiskp) (Ping timeout: 264 seconds)
  66. # [03:39] * Joins: cpearce_ (~cpearce@203-97-204-82.dsl.clear.net.nz)
  67. # [03:41] * Joins: mmn (~mmn@129-97-225-97.uwaterloo.ca)
  68. # [03:42] * Quits: cpearce (~cpearce@203-97-204-82.dsl.clear.net.nz) (Ping timeout: 258 seconds)
  69. # [03:42] * cpearce_ is now known as cpearce
  70. # [03:53] * Joins: JonathanNeal (~JonathanN@99-59-124-67.lightspeed.irvnca.sbcglobal.net)
  71. # [04:00] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 240 seconds)
  72. # [04:05] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  73. # [04:11] * Joins: JonathanNeal_ (~JonathanN@99-59-124-67.lightspeed.irvnca.sbcglobal.net)
  74. # [04:15] * Quits: JonathanNeal (~JonathanN@99-59-124-67.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
  75. # [04:28] * Parts: mbrubeck (~mbrubeck@184.77.100.34)
  76. # [04:41] * Quits: dbaron (~dbaron@nat/mozilla/x-wzwqpawmdggewjch) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  77. # [04:41] * Parts: llrcombs (~11rcombs@c-67-173-106-77.hsd1.il.comcast.net) ("Bye")
  78. # [04:46] * Joins: wakaba_0 (~wakaba_@203-140-91-140.eonet.ne.jp)
  79. # [04:47] * Quits: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Ping timeout: 258 seconds)
  80. # [04:53] * Quits: erlehmann (~erlehmann@89.204.153.9) (Quit: Ex-Chat)
  81. # [04:59] * Quits: rauchg (~rauchg@186.124.211.127) (Quit: rauchg)
  82. # [05:02] * Quits: rolandsteiner (~rolandste@220.109.219.244) (Quit: Leaving.)
  83. # [05:14] * Quits: dave_levin (~dave_levi@nat/google/x-yjftbsngfgatears) (Quit: dave_levin)
  84. # [05:14] * Quits: othermaciej (~mjs@17.246.19.74) (Quit: othermaciej)
  85. # [05:19] * Joins: othermaciej (~mjs@17.246.19.74)
  86. # [05:55] <paul_irish> boblet: i'm working on your feature request. :)
  87. # [05:55] <boblet> paul_irish: lol
  88. # [05:55] <boblet> sorry to forget the @ in the original
  89. # [05:56] <boblet> I was pretty shocked how much things have changed in the last two years
  90. # [05:56] <boblet> really didn’t realise the rate of progress
  91. # [05:56] <boblet> yay browser makers!
  92. # [05:58] <asmodai> hsivonen: Oh very colol indeed.
  93. # [05:58] <asmodai> cool
  94. # [05:58] <paul_irish> totally. :) now, would you expect ie7 to remain in the same position as you change years?
  95. # [05:58] <asmodai> http://validator.nu/?doc=http%3A%2F%2Fwww.in-nomine.org%2F~asmodai%2F3d.html passes as expected
  96. # [05:58] <asmodai> \o/
  97. # [05:59] <asmodai> Now to go back to being drained of my bodily moisture in this Thai heatwave
  98. # [06:00] <boblet> paul_irish: yeah — each browser is in the same arc, so flipping between 2008, 2009 and 2010 shows each arc filling out (well, depending on browser)
  99. # [06:00] <divya> boblet: some browsers disappear in later years
  100. # [06:01] <paul_irish> yah only from 2008, only ie7 survives until the 2010 view. :/
  101. # [06:01] <boblet> that makes things a little tricky
  102. # [06:01] <divya> Firefox 2 survives 08/09
  103. # [06:03] <divya> we could probably assign a position for each browser (irrespective of version)
  104. # [06:03] <boblet> hrm, you could have arcs for every browser in all views, and have them blank when that browser isn’t represented
  105. # [06:03] <boblet> divya: yeah
  106. # [06:04] <boblet> that’d work too
  107. # [06:04] <divya> so 3 spaces for IE 2 spaces for FF and 1 each for the rest.
  108. # [06:05] <paul_irish> and a ghost ie5
  109. # [06:05] <boblet> :|
  110. # [06:06] <divya> paul_irish: whaaaa
  111. # [06:06] <divya> In any case I think this should be an 'alternate view' but not default :|
  112. # [06:09] <boblet> divya: completely agree. current view is more helpful. ‘locked’ view only good for over-time comparison
  113. # [06:10] <boblet> btw you can use numbers in class names if you want ;-) (twenty10 etc is cute tho!)
  114. # [06:11] <boblet> s/use numbers in class names/start class names with numbers/
  115. # [06:11] <boblet> (read what I thought, not what I typed)
  116. # [06:11] <boblet> ;-)
  117. # [06:12] <paul_irish> you can? whoa sweet
  118. # [06:13] <boblet> paul_irish: in HTML5 class/id names can be any unicode character(s) except space
  119. # [06:13] <boblet> kanji is fine
  120. # [06:13] <paul_irish> beautiful.
  121. # [06:13] <paul_irish> does that degrade fine?
  122. # [06:14] <boblet> dunno about browser support for crazy things like smileys, but a starting number was only ever a validation issue, and I’ve seen kanji class names over here on live Japanese sites
  123. # [06:14] <divya> boblet: woah sweet!
  124. # [06:15] <boblet> :)
  125. # [06:15] <divya> last time I tried, it didnt detect for ids starting with numbers. Though that was more than a year ago :/
  126. # [06:16] <boblet> http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#classes which links to http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#space-separated-tokens
  127. # [06:16] <boblet> “A set of space-separated tokens is a string containing zero or more words separated by one or more space characters, where words consist of any string of one or more characters, none of which are space characters”
  128. # [06:17] <boblet> divya: it meaning validator?
  129. # [06:18] <divya> boblet: no, the styles did not apply :/
  130. # [06:18] <divya> when I did #1 { blah: blah; }
  131. # [06:18] <boblet> ohrly!? do you remember which browser?
  132. # [06:18] <divya> boblet: wow most likely Firefox but that was a long time ago :/
  133. # [06:19] <boblet> crikey, didn’t think browsers would actually enforce that rule. seems pretty brutal
  134. # [06:20] <boblet> well, maybe I’m living in a theoretical world then re: starting with a number
  135. # [06:20] <divya> boblet: they still dont http://dl.dropbox.com/u/952/random.html
  136. # [06:21] <boblet> yeah, I’m finding the same thing ;-(
  137. # [06:21] <boblet> jeez, that’s crap
  138. # [06:23] <divya> could it be something to do with DOM naming prefs
  139. # [06:23] <boblet> sorry for ray of false hope
  140. # [06:23] * Joins: dave_levin (~dave_levi@c-98-203-247-78.hsd1.wa.comcast.net)
  141. # [06:23] <divya> ROFL
  142. # [06:25] <paul_irish> boblet: its up. take a look
  143. # [06:27] <boblet> ooo nice jeorb! :)
  144. # [06:29] <boblet> btw I tested class and id names with →, ☺ and オ. all worked
  145. # [06:30] <boblet> so there’s something about starting numbers huh
  146. # [06:30] <boblet> (all worked = latest Chrome, Webkit, Opera, Firefox)
  147. # [06:33] <divya> boblet: ha! That is interesting to note :) I sense a blog post :P
  148. # [06:33] <boblet> divya: I’ll leave the IE checking to you ;-)
  149. # [06:36] <divya> boblet: sheesh The only Windows I have is Vista which eats my battery in 2 mins flat.
  150. # [06:38] <boblet> that’s a short window for browser testing
  151. # [06:39] <boblet> paul_irish: the JS var twenty10 etc in script.js are how you’re doing the alternate view right?
  152. # [06:40] <paul_irish> yup
  153. # [06:41] <paul_irish> it looks to see if there isnt a block where it expects one and chucks in a fake one
  154. # [06:41] * Quits: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
  155. # [06:41] <paul_irish> going one by one through the browsers through the yeras.
  156. # [06:41] * Quits: othermaciej (~mjs@17.246.19.74) (Quit: othermaciej)
  157. # [06:42] <boblet> huh. tried to hack a version with all browsers taking a slot on every year, but the script doesn’t seem to work on the locally saved version. maybe b/c Chrome saved the HTML with all-caps tags
  158. # [06:45] <boblet> yeah, that was it. wow, I done gone broke it good now tho
  159. # [06:46] * Joins: dbaron (~dbaron@c-98-234-51-190.hsd1.ca.comcast.net)
  160. # [06:46] <paul_irish> while you're at it, size the bars to be representative of browser market share, why dontcha. :)
  161. # [06:47] <boblet> sure, right after I pop round to bring you both a cup of tea and a biscuit…
  162. # [06:47] <divya> boblet: Earl Grey Pls. :)
  163. # [06:49] <boblet> divya: certainly ma’am, although perhaps ma’am would care to try the broken orange pekoe afternoon blend?
  164. # [06:49] * Quits: shepazu (~schepers@adsl-69-155-247.rmo.bellsouth.net) (Ping timeout: 265 seconds)
  165. # [06:50] * Joins: rolandsteiner (~rolandste@220.109.219.244)
  166. # [06:50] <divya> boblet: only if it comes with a scone :P
  167. # [06:53] <boblet> I’ll just grab some clotted cream, brb
  168. # [06:53] * Quits: dave_levin (~dave_levi@c-98-203-247-78.hsd1.wa.comcast.net) (Quit: dave_levin)
  169. # [06:53] * Joins: shepazu (~schepers@adsl-69-155-247.rmo.bellsouth.net)
  170. # [06:54] * Joins: dave_levin (~dave_levi@216.239.45.130)
  171. # [07:05] * Quits: jwalden (~waldo@nat/mozilla/x-jzoputwmxcfkidtt) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100122095031])
  172. # [07:14] <annevk> oh fun, more CORS email
  173. # [07:15] <annevk> yawn
  174. # [07:16] * Joins: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net)
  175. # [07:23] * Quits: mmn (~mmn@129-97-225-97.uwaterloo.ca) (Quit: Leaving.)
  176. # [07:26] <annevk> webr3, please raise an issue only once instead of spamming it in every thread
  177. # [07:26] <Hixie> what's the best practice method of constructing an array of sorted strings when you receive them in a random order?
  178. # [07:27] <Hixie> collect them out of order then quick sort then remove duplicates?
  179. # [07:27] <annevk> webr3, also, it may help to read the archives, the issue you have been raising in about three emails since I was asleep has already been recorded and a solution has already been proposed
  180. # [07:27] <Hixie> that seems like it'd be slow
  181. # [07:28] <annevk> Hixie, spec doesn't have to be fast :p
  182. # [07:28] <annevk> assuming this is for WebSRT
  183. # [07:28] <Hixie> i'm writing code for my game
  184. # [07:29] * Joins: AnthonyCat (~AnthonyCa@2002:3aaf:19c2:0:21f:5bff:feb6:f0e1)
  185. # [07:30] <annevk> ooh, sounded very much like collecting cues and sorting them :)
  186. # [07:30] <Hixie> nah
  187. # [07:30] <annevk> I guess duplicates should've alarmed me
  188. # [07:30] <Hixie> hm, maybe it's better to just put them in an array doing mem moves as i go
  189. # [07:31] <Hixie> so they're pre-sorted
  190. # [07:31] <Hixie> but that seems like it'd involve a lot of moves...
  191. # [07:35] * Quits: michaeln (~michaeln@nat/google/x-smdkphrrscoajihv) (Quit: Leaving.)
  192. # [07:39] * Quits: roc (~roc@203-97-204-82.dsl.clear.net.nz) (Quit: roc)
  193. # [07:42] * Quits: AnthonyCat (~AnthonyCa@2002:3aaf:19c2:0:21f:5bff:feb6:f0e1) (Quit: cya l8τ alig8τ)
  194. # [07:57] <webr3> annevk: point taken and I'll check through the archives to see if i can find it
  195. # [07:59] * webr3 really doesn't want to be sending the mail(s) about CORS or having any worries or issues with it at all :(
  196. # [08:02] * Quits: rolandsteiner (~rolandste@220.109.219.244) (Quit: Leaving.)
  197. # [08:04] <webr3> Hixie: transfer them into an array as key's on the way in (rather than values), that'll remove all duplicates without any work
  198. # [08:05] <Hixie> "as key's"?
  199. # [08:05] <webr3> "string1" = '',
  200. # [08:05] * Joins: rolandsteiner (~rolandste@220.109.219.244)
  201. # [08:05] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 258 seconds)
  202. # [08:05] <webr3> yeah instead of [] = "string1"
  203. # [08:05] <webr3> (depending on length of strings)
  204. # [08:06] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  205. # [08:06] <Hixie> oh i'm not using javascript
  206. # [08:06] <Hixie> this is a compiler language
  207. # [08:08] <webr3> non-option then i guess :)
  208. # [08:08] <Hixie> also i'm more concerned about the work the computer does than the work i have to do :-)
  209. # [08:12] <webr3> probably produce way less op codes, but depending on size of strings etc would have other performance hits
  210. # [08:12] <webr3> best of luck though, sure you'll figure it out easily enough (if not already)
  211. # [08:13] * Quits: annevk (~annevk@5355737B.cable.casema.nl) (Remote host closed the connection)
  212. # [08:13] * Joins: annevk (~annevk@5355737B.cable.casema.nl)
  213. # [08:27] * Joins: dave_levin_ (~dave_levi@c-98-203-247-78.hsd1.wa.comcast.net)
  214. # [08:30] * Quits: dave_levin (~dave_levi@216.239.45.130) (Ping timeout: 248 seconds)
  215. # [08:30] * dave_levin_ is now known as dave_levin
  216. # [08:37] * Quits: rolandsteiner (~rolandste@220.109.219.244) (Quit: Leaving.)
  217. # [08:39] * Joins: rolandsteiner (~rolandste@220.109.219.244)
  218. # [08:40] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 258 seconds)
  219. # [08:41] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  220. # [08:42] * Joins: Mrmil (~ut_ollie@server.ebrana.cz)
  221. # [08:52] * Quits: ment (thement@ibawizard.net) (Ping timeout: 252 seconds)
  222. # [08:52] * Joins: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net)
  223. # [08:53] * Joins: ment (thement@ibawizard.net)
  224. # [08:54] <annevk> http://www.w3.org/Bugs/Public/show_bug.cgi?id=9662 -- lol
  225. # [08:55] <annevk> it's unfortunate that with the current process that bug may end up escalating to a meaningless vote
  226. # [08:55] <annevk> wasting everyone's time for something that will not change
  227. # [08:56] <Hixie> at least that's a technical question
  228. # [08:56] <Hixie> not as much of a waste of time as what reference to use for ascii
  229. # [08:58] <annevk> unlike this one, that one we could actually do something about
  230. # [08:58] <annevk> I wonder why Unicode doesn't define ASCII as code points 1-127
  231. # [08:58] <annevk> 0-127 I mean
  232. # [08:59] * Joins: epeus (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
  233. # [09:00] <annevk> 44 new CORS emails since Tuesday in only one of the running threads
  234. # [09:00] <othermaciej> doesn't seem useful to change it
  235. # [09:00] <annevk> (not counting all the duplicates I receive)
  236. # [09:01] <annevk> also, nothing new (the claim about new is not accurate, it's simply not done)
  237. # [09:02] <annevk> and to be honest I'm not really sure what to say in the security section
  238. # [09:03] <othermaciej> annevk: if I had time I would volunteer to write a draft of a security section
  239. # [09:03] <annevk> I suppose I could expand the sentence on validation saying you shouldn't just pass on everything from origin a to c via yourself, b
  240. # [09:03] <annevk> but in the end developers won't read CORS
  241. # [09:05] <webr3> annevk: if it helps, I think they will
  242. # [09:06] * webr3 is a developer, /me read it
  243. # [09:08] <annevk> sure a couple might
  244. # [09:08] <annevk> s/might/will/
  245. # [09:08] <annevk> but most won't
  246. # [09:08] <othermaciej> annevk: I think security considerations should cover the following things:
  247. # [09:08] <othermaciej> 1) Two-party interactions
  248. # [09:08] <othermaciej> 2) Three-party interactions - potential for Confused Deputy risk in this scenario
  249. # [09:09] <othermaciej> 3) Ways to avoid Confused Deputy - validate inputs before retransmitting, distinguish requests made on behalf of third parties in your protocol, or use secret tokens in combination with CORS for services to be used cooperatively
  250. # [09:10] <othermaciej> 4) How you can use CORS combined with secret tokens to get a stronger defense than either separately, even for two-party interactions
  251. # [09:10] * Quits: dave_levin (~dave_levi@c-98-203-247-78.hsd1.wa.comcast.net) (Quit: dave_levin)
  252. # [09:11] <othermaciej> I guess security considerations should also discuss the no-credentials mode of CORS, since that is in the CORS spec
  253. # [09:11] <othermaciej> and I guess there should be a list of potential pitfalls for implementors to watch out for, I think
  254. # [09:11] <annevk> there's http://dev.w3.org/2006/waf/access-control/#user-agent-security
  255. # [09:12] <othermaciej> that seems to be a good start on the UA issues
  256. # [09:12] <othermaciej> I could write at least a rough outline for the 4 things I mentioned
  257. # [09:13] <othermaciej> not sure I have time to draft final text
  258. # [09:13] <annevk> a draft might be enough for me to finish it
  259. # [09:14] <annevk> the outline sounds good, i'm just not sure how to fill them in... :/
  260. # [09:16] * Joins: workmad3 (~workmad3@cpc3-bagu10-0-0-cust651.1-3.cable.virginmedia.com)
  261. # [09:19] <webr3> annevk: (i hate to ask, honestly) - if the headers (i mean the allowed headers) from UMP where added to CORS and it was sealed at that, would the vendors be happy / could it go through to rec. (security section aside) - hixie replied "I'm not familiar with the browser vendor opinions on this specific issue." - perhaps you know, or could ask /end - i swear I'll never mention CORS again
  262. # [09:20] * Joins: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  263. # [09:20] <webr3> mhausenblas: morning :)
  264. # [09:21] <Hixie> i'd like to provide some text for xhr's intro section that talks about how to safely do some common things that tyler thinks are dangerous, but i haven't been able to figure out what that is exactly
  265. # [09:21] <mhausenblas> morning webr3
  266. # [09:21] <annevk> webr3, I don't understand
  267. # [09:22] * Quits: divya (~divya@219.64.117.145) (Quit: divya)
  268. # [09:22] * Quits: dbaron (~dbaron@c-98-234-51-190.hsd1.ca.comcast.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  269. # [09:23] <webr3> annevk: CORS limits to 5 headers, UMP allows more headers (Location etc) still a whitelist, but also allows Uniform-Headers = "Uniform-Headers" ":" 1#field-name - basically http://dev.w3.org/2006/waf/UMP/#response-header-filtering section 4.2 only - could that be added to CORS [/me would be happy could work with that, under current setup i/we simply can't)
  270. # [09:23] <webr3> s/5/6
  271. # [09:25] <annevk> I thought I already told you it's an open issue
  272. # [09:25] <annevk> And you already raised it more than once on the mailing list
  273. # [09:26] <annevk> patience
  274. # [09:26] <webr3> okay I'll take you at your word it's being handled & leave it there
  275. # [09:27] <othermaciej> CORS has a way to allow additional request headers
  276. # [09:27] <othermaciej> does it not have a way to expose additional response headers yet?
  277. # [09:27] <annevk> not yet, I'm waiting for whether we want to rename the headers or not
  278. # [09:27] <annevk> so far nobody replied so I guess we won't
  279. # [09:28] <annevk> (and by nobody I mean affected browser vendors)
  280. # [09:28] <othermaciej> what kind of replies are you looking for?
  281. # [09:28] <othermaciej> I'd rather not change them unless the new names are a huge improvement
  282. # [09:28] <othermaciej> I won't object if other vendors want to change
  283. # [09:29] <othermaciej> (we could always support the old names too for a transition period)
  284. # [09:29] <annevk> something like 1) looks great lets do it 2) if you change that proposed syntax to this lets do it 3) not worth the change 4) looks great, but only if Mozilla/WebKit makes the changes too
  285. # [09:30] <annevk> something like that
  286. # [09:30] <annevk> see http://lists.w3.org/Archives/Public/public-webapps/2010AprJun/thread.html#msg508 othermaciej
  287. # [09:30] <annevk> oops http://lists.w3.org/Archives/Public/public-webapps/2010AprJun/0508.html (there's no thread)
  288. # [09:31] <othermaciej> oh, I see
  289. # [09:32] <othermaciej> does that cover all the headers that start with "Accesss-Cotrol-"?
  290. # [09:32] <annevk> yup
  291. # [09:32] <annevk> only "Origin" remains unchanged, effectively
  292. # [09:33] <othermaciej> "CORS" seems a bit mysterious as a header name, but I do like getting rid of the obsolete Access-Control
  293. # [09:35] <annevk> I couldn't really think of something better
  294. # [09:35] <annevk> "http cors" or some such would be easy to find though
  295. # [09:36] <othermaciej> I'm writing up my thoughts in email
  296. # [09:36] <othermaciej> my ideas so far:
  297. # [09:36] <othermaciej> CORS ==> Allow-Access
  298. # [09:36] <othermaciej> CORS-Methods ==> Allow-Methods
  299. # [09:36] <othermaciej> CORS-Headers ==> Allow-Headers
  300. # [09:37] <othermaciej> can't think of a good name for CORS-preflight
  301. # [09:37] <othermaciej> maybe Allow-Request-Headers to make space for the response version
  302. # [09:37] <othermaciej> or perhaps that one could be Reveal-Headers
  303. # [09:38] <annevk> Expose-Headers was my idea
  304. # [09:38] <annevk> CORS-Expose-Headers
  305. # [09:38] <othermaciej> I like Expose better than Reveal
  306. # [09:38] <webr3> annevk: perfect, anything like that
  307. # [09:38] <annevk> Allow-Access is not really accurate though, it's not really about granting access
  308. # [09:39] <othermaciej> isn't it?
  309. # [09:39] <othermaciej> that header is what the browser uses to determine whether to expose the response, right?
  310. # [09:39] <othermaciej> maybe it should be Expose-Response
  311. # [09:39] <annevk> that's an interesting one
  312. # [09:39] <othermaciej> unless it's also used for other purposes
  313. # [09:40] <hsivonen> can't we stop renaming things and let the platform stablilize?
  314. # [09:40] <othermaciej> I don't really want to rename things
  315. # [09:40] <othermaciej> the Access-Control-* names are not so great, but not so terrible I feel compelled to change
  316. # [09:41] <othermaciej> but others did raise the idea of change, so I'd like to propose good names in case we choose to do it
  317. # [09:42] <othermaciej> annevk: maybe (in this hypothetical renamed world) it should be Expose-Response in response to an actual request, and Allow-Access in response to a preflight
  318. # [09:43] <annevk> maybe Allow-Request?
  319. # [09:43] <othermaciej> for the preflight response that makes sense
  320. # [09:44] <annevk> and Preflight-For or some such instead of CORS-preflight
  321. # [09:44] <othermaciej> I'm not sure that makes things more clear
  322. # [09:45] <annevk> yeah
  323. # [09:46] * Quits: cpearce (~cpearce@203-97-204-82.dsl.clear.net.nz) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.15/2009101909])
  324. # [09:46] <annevk> hsivonen, this part of the platform is not stable
  325. # [09:47] <hsivonen> annevk: self-fulfilling statement
  326. # [09:47] <annevk> hsivonen, but I'm not that keen on it either but since mnot argued quite strongly that the header names were too long and all I thought I should at least give it a chance
  327. # [09:47] <annevk> hsivonen, guess I'm mostly where othermaciej is with this
  328. # [09:47] <webr3> maybe mnot was challenge you to get as short as his "link" header
  329. # [09:48] * webr3 chuckles
  330. # [09:48] <annevk> dunno, but "his" link header is around since HTTP 1.0
  331. # [09:48] <webr3> ... k
  332. # [09:51] <webr3> fwiw.. i kinda like the "new header to expose more response headers ==> Expose-Headers (or Expose-Response-Headers)" idea :)
  333. # [09:51] * webr3 runs
  334. # [09:51] * Parts: webr3 (~nathan@host86-147-36-254.range86-147.btcentralplus.com)
  335. # [09:54] * Joins: divya (~divya@219.64.117.145)
  336. # [09:54] <annevk> my google Buzz stream is nothing but my twitter/Flickr account and the twitter account of Sjoerd Visscher
  337. # [09:55] <annevk> I guess Buzz has failed; at least in my universe
  338. # [09:57] * Joins: Maurice (copyman@5ED573FA.cable.ziggo.nl)
  339. # [09:59] <hsivonen> people think of google-branded services as trustworthy private space. when google-branded services behave like facebook, it feels creepy
  340. # [09:59] <Hixie> google search is a private space?
  341. # [09:59] <Hixie> :-)
  342. # [10:00] <hsivonen> Hixie: people think their search terms are
  343. # [10:00] <Hixie> ah, fair enough
  344. # [10:01] <othermaciej> facebook doesn't tend to broadcast your info though
  345. # [10:01] <othermaciej> the buzz privacy debacle was totally different from the facebook privacy debacle
  346. # [10:02] <annevk> facebook exposes more and more
  347. # [10:02] <othermaciej> some private info was broadcast to the general public (perhaps partly by accident) as opposed to facebook which is giving your private data to business partners or people you don't know, in contravention of the expectations it set originally
  348. # [10:02] <othermaciej> I guess both cases come down to violating previously established expectations
  349. # [10:03] <Hixie> buzz was fixed pretty damn quick though
  350. # [10:03] <hsivonen> othermaciej: both debacles arise from similar actions but people thought google wouldn't do such a thing
  351. # [10:03] <Hixie> facebook's on the other hand seems to be intentional
  352. # [10:03] <Hixie> not that i'm trying to defend google
  353. # [10:03] <hsivonen> othermaciej: where as facebook has... let's say a different reputation
  354. # [10:04] <othermaciej> google did do a better job of reacting to the outcry
  355. # [10:04] <hsivonen> Hixie: I thought the buzz thing was an intentional greed-driven attempt to compete with facebook in their game
  356. # [10:05] <othermaciej> I've always assumed that Google only cares about my privacy to the extent it helps foster their self-image as doing no evil
  357. # [10:05] <othermaciej> hsivonen: buzz in general as a feature - yes
  358. # [10:05] <annevk> isn't buzz competing with twitter?
  359. # [10:05] * Hixie decides to let his PR department handle the issue, since this is logged
  360. # [10:06] <othermaciej> buzz being shoved in, in a way that exposed personal information, that may have been intentional but it didn't seem very clearly thought out
  361. # [10:07] <hsivonen> annevk: twitter is pretty clear about what's public and what's private--unlike facebook
  362. # [10:08] * Joins: riven` (~riven@53518387.cable.casema.nl)
  363. # [10:09] * Joins: cpearce (~cpearce@ip-118-90-17-75.xdsl.xnet.co.nz)
  364. # [10:12] * Quits: riven (~riven@53518387.cable.casema.nl) (Ping timeout: 252 seconds)
  365. # [10:17] <annevk> Hixie, the date on the January 1 2006 archive copy is a copypasta error: http://www.whatwg.org/specs/
  366. # [10:17] <Hixie> fixed thanks
  367. # [10:22] * Joins: erikvold (~erikvold@S01060024012860e9.gv.shawcable.net)
  368. # [10:26] * Parts: Mrmil (~ut_ollie@server.ebrana.cz)
  369. # [10:33] * Joins: JonathanNeal (~JonathanN@99-59-124-67.lightspeed.irvnca.sbcglobal.net)
  370. # [10:34] * Quits: JonathanNeal_ (~JonathanN@99-59-124-67.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
  371. # [10:39] * Quits: rolandsteiner (~rolandste@220.109.219.244) (Quit: Leaving.)
  372. # [10:39] * Joins: rolandsteiner (~rolandste@220.109.219.244)
  373. # [10:39] * Joins: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk)
  374. # [10:40] * Joins: Phae (~phaeness@gatej.mh.bbc.co.uk)
  375. # [10:40] * Joins: mpt (~mpt@canonical/mpt)
  376. # [10:41] * Joins: jarib (jarib@tttt.mine.nu)
  377. # [10:43] * Joins: cedricv (~cedric@175.156.64.111)
  378. # [10:44] * Quits: rolandsteiner (~rolandste@220.109.219.244) (Ping timeout: 276 seconds)
  379. # [10:45] * Joins: rolandsteiner (~rolandste@220.109.219.244)
  380. # [10:54] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 264 seconds)
  381. # [10:57] * Joins: mpt (~mpt@canonical/mpt)
  382. # [11:02] * Joins: MikeSmith (~MikeSmith@EM111-188-76-181.pool.e-mobile.ne.jp)
  383. # [11:03] * Joins: FireFly (~firefly@unaffiliated/firefly)
  384. # [11:05] * Joins: mat_t (~mattomasz@91.189.88.12)
  385. # [11:07] * Quits: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
  386. # [11:08] * Joins: ROBOd (~robod@109.96.227.246)
  387. # [11:18] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 260 seconds)
  388. # [11:19] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  389. # [11:20] <MikeSmith> hsivonen: I don't know if you saw my discussion with Ville on the validator mailing list, but people have been reporting unexpected EOF errors when using it
  390. # [11:20] <MikeSmith> I remember now I mentioned this to you earlier
  391. # [11:21] <MikeSmith> I don't get any errors if I post (using curl) from the shell to localhost port 8888
  392. # [11:21] * Joins: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net)
  393. # [11:21] <MikeSmith> but in browsing through the log output for the instance, I do see EOF errors being logged
  394. # [11:22] <MikeSmith> with the root cause being this:
  395. # [11:22] <MikeSmith> Caused by: java.net.SocketException: Broken pipe
  396. # [11:22] <MikeSmith> at java.net.SocketOutputStream.socketWrite0(Native Method)
  397. # [11:22] <MikeSmith> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
  398. # [11:22] <MikeSmith> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
  399. # [11:22] <MikeSmith> at org.mortbay.io.ByteArrayBuffer.writeTo(ByteArrayBuffer.java:177)
  400. # [11:22] <MikeSmith> at org.mortbay.io.bio.StreamEndPoint.flush(StreamEndPoint.java:122)
  401. # [11:22] <MikeSmith> at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:693)
  402. # [11:22] <MikeSmith> ... 35 more
  403. # [11:23] <MikeSmith> well, if not the root cause, at least the lowest-level error that's causing the EOF
  404. # [11:25] <MikeSmith> hsivonen: see http://pastebin.org/229072 for the full record of the error
  405. # [11:26] <MikeSmith> I suspect this is just due to excessive load on the validator hosts, and that causing a timeout or something
  406. # [11:33] <Philip`> Hixie: Store the incoming strings in a hashmap (which will remove duplicates, total cost O(n) in the total number of strings), then extract and sort all the keys at the end (O(n log n) in the number of unique strings) - I can't imagine any way to be asymptotically faster than that
  407. # [11:35] <othermaciej> what was the problem?
  408. # [11:36] <Philip`> http://krijnhoetmer.nl/irc-logs/whatwg/20100513#l-177
  409. # [11:37] <othermaciej> oh I see
  410. # [11:37] <othermaciej> yeah, that would be the best way
  411. # [11:38] <othermaciej> unique in O(N) with O(N) space, sort in O(N log N)
  412. # [11:39] <othermaciej> there's no way to beat N log N by putting things in the right place, because any data structure that sorts on insertion would take O(N log N) time to build
  413. # [11:44] * Quits: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
  414. # [11:46] * Quits: divya (~divya@219.64.117.145) (Quit: divya)
  415. # [11:47] * Joins: micheil (~micheil@124-170-251-16.dyn.iinet.net.au)
  416. # [11:54] * Joins: tyoshino_m (~tyoshino_@EM114-48-37-198.pool.e-mobile.ne.jp)
  417. # [11:55] * Joins: eighty4 (~eighty4@c-d9cee455.012-403-6c6b701.cust.bredbandsbolaget.se)
  418. # [11:58] * Joins: Necrathex (~bleptop@212-123-163-12.ip.telfort.nl)
  419. # [12:04] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 245 seconds)
  420. # [12:11] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  421. # [12:15] * Quits: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net) (Quit: othermaciej)
  422. # [12:17] * Quits: tyoshino_m (~tyoshino_@EM114-48-37-198.pool.e-mobile.ne.jp) (Ping timeout: 265 seconds)
  423. # [12:18] * Quits: MikeSmith (~MikeSmith@EM111-188-76-181.pool.e-mobile.ne.jp) (Quit: Till kicked and torn and beaten out he lies, and leaves his hold and crackles, groans, and dies.)
  424. # [12:18] * Quits: smaug (~chatzilla@cs181150024.pp.htv.fi) (Ping timeout: 258 seconds)
  425. # [12:20] * Joins: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com)
  426. # [12:21] * Joins: MikeSmith (~MikeSmith@EM111-188-76-181.pool.e-mobile.ne.jp)
  427. # [12:22] <MikeSmith> hsivonen: validator.w3.org updated to latest upstream v.nu (SVG and MathML in text/html)
  428. # [12:23] <MikeSmith> also updated http://www.w3.org/html/check (but that is running my workspace code)
  429. # [12:24] * Quits: MikeSmith (~MikeSmith@EM111-188-76-181.pool.e-mobile.ne.jp) (Client Quit)
  430. # [12:28] * Quits: Dashiva (Dashiva@wikia/Dashiva) (Ping timeout: 240 seconds)
  431. # [12:28] * Joins: Dashiva (Dashiva@m223j.studby.ntnu.no)
  432. # [12:28] * Quits: Dashiva (Dashiva@m223j.studby.ntnu.no) (Changing host)
  433. # [12:28] * Joins: Dashiva (Dashiva@wikia/Dashiva)
  434. # [12:32] * Joins: JohnnyAmerica (~Simon@213-64-113-37-no97.tbcn.telia.com)
  435. # [12:36] * Quits: rolandsteiner (~rolandste@220.109.219.244) (Quit: Leaving.)
  436. # [12:38] * riven` is now known as riven
  437. # [12:39] * Joins: mpt (~mpt@canonical/mpt)
  438. # [12:40] * Quits: mpt (~mpt@canonical/mpt) (Client Quit)
  439. # [12:46] * Joins: virtuelv (~virtuelv_@52.95.189.109.customer.cdi.no)
  440. # [12:52] * annevk is even less of a fan of this hybi experiment now
  441. # [12:53] * Quits: micheil (~micheil@124-170-251-16.dyn.iinet.net.au) (Read error: Connection reset by peer)
  442. # [12:53] * Joins: micheil (~micheil@124-170-251-16.dyn.iinet.net.au)
  443. # [13:02] <Dashiva> annevk: What is it that's being overengineered this time?
  444. # [13:04] * Joins: smaug (~chatzilla@80-186-12-77.elisa-mobile.fi)
  445. # [13:04] * Quits: micheil (~micheil@124-170-251-16.dyn.iinet.net.au) (Read error: Connection reset by peer)
  446. # [13:04] * Joins: micheil (~micheil@124-170-251-16.dyn.iinet.net.au)
  447. # [13:05] * Quits: kennyluck (~kennyluck@2001:200:1c0:3508:225:ff:fe4d:f8c7) (Ping timeout: 268 seconds)
  448. # [13:05] * Joins: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net)
  449. # [13:06] <annevk> Dashiva, process :)
  450. # [13:07] * Joins: borismus (~borismus@62.48.209.165)
  451. # [13:09] <Dashiva> Oh boy
  452. # [13:09] <Dashiva> Because it wasn't slow enough already?
  453. # [13:10] <annevk> more layers is better
  454. # [13:12] <Dashiva> Is there a requirements specification for how to decide on a proper definition of 'better'?
  455. # [13:13] <annevk> drafting one as we speak
  456. # [13:13] <annevk> though getting consensus on it might implode the WG
  457. # [13:13] <annevk> and the interwebs
  458. # [13:14] <Dashiva> That's a feature
  459. # [13:14] <Dashiva> Makes it easier to transition to new protocols when there's no legacy around
  460. # [13:14] <annevk> you're on to something here
  461. # [13:15] <annevk> then we could finally deploy XHTML2
  462. # [13:15] <annevk> and Cookie2
  463. # [13:15] <annevk> and XSL:FO
  464. # [13:15] <annevk> and lots of other X-based specifications
  465. # [13:15] <annevk> the web would reborn
  466. # [13:15] <annevk> magical
  467. # [13:17] * Joins: kennyluck (~kennyluck@tea04.w3.mag.keio.ac.jp)
  468. # [13:23] * Quits: smaug (~chatzilla@80-186-12-77.elisa-mobile.fi) (Ping timeout: 240 seconds)
  469. # [13:49] * Joins: variable (~44a3bc67@gateway/web/freenode/x-rprxkfcllgfntrxu)
  470. # [13:49] * Quits: variable (~44a3bc67@gateway/web/freenode/x-rprxkfcllgfntrxu) (Changing host)
  471. # [13:49] * Joins: variable (~44a3bc67@unaffiliated/variable)
  472. # [13:49] * Quits: variable (~44a3bc67@unaffiliated/variable) (Changing host)
  473. # [13:49] * Joins: variable (~44a3bc67@gateway/web/freenode/x-rprxkfcllgfntrxu)
  474. # [14:01] * Quits: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net) (Quit: othermaciej)
  475. # [14:03] * Joins: mpt (~mpt@canonical/mpt)
  476. # [14:06] * Quits: mpt (~mpt@canonical/mpt) (Remote host closed the connection)
  477. # [14:06] * Joins: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net)
  478. # [14:07] * Joins: mpt (~mpt@canonical/mpt)
  479. # [14:07] * Quits: mpt (~mpt@canonical/mpt) (Read error: Connection reset by peer)
  480. # [14:15] * Quits: annevk (~annevk@5355737B.cable.casema.nl) (Read error: Connection reset by peer)
  481. # [14:18] * Joins: annevk (~annevk@5355737B.cable.casema.nl)
  482. # [14:21] * Joins: pmuellr (~pmuellr@nat/ibm/x-rdgoqqxufavmbpby)
  483. # [14:21] * Quits: Maurice (copyman@5ED573FA.cable.ziggo.nl) (Read error: Connection reset by peer)
  484. # [14:26] * Quits: adactio (~adactio@host213-123-197-180.in-addr.btopenworld.com) (Ping timeout: 245 seconds)
  485. # [14:33] * Quits: boblet (~boblet@p1072-ipbf36osakakita.osaka.ocn.ne.jp) (Quit: thxbye)
  486. # [14:36] * Quits: riven (~riven@53518387.cable.casema.nl) (Read error: Connection reset by peer)
  487. # [14:36] * Joins: riven (~riven@53518387.cable.casema.nl)
  488. # [14:36] * Quits: virtuelv (~virtuelv_@52.95.189.109.customer.cdi.no) (Quit: Ex-Chat)
  489. # [14:47] * Quits: variable (~44a3bc67@gateway/web/freenode/x-rprxkfcllgfntrxu) (Quit: Page closed)
  490. # [14:53] <annevk> "I'm afraid that is too meta-physical for me. I've been asked to edit the requirements document as part of the IETF process and that's what I'm attempting to do." is it just me or is the obvious follow-up question asking if he wants to jump in the pond?
  491. # [14:53] <annevk> incidentally, i recall Steven Pemberton justifying working on XHTML2 in much the same way
  492. # [15:00] * Joins: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de)
  493. # [15:02] * Joins: mpt (~mpt@canonical/mpt)
  494. # [15:07] * Joins: salavas (~salavas@h4n1fls31o279.telia.com)
  495. # [15:18] * Quits: m_W (~mwj@c-69-141-106-205.hsd1.nj.comcast.net) (Ping timeout: 240 seconds)
  496. # [15:31] * Quits: wakaba_0 (~wakaba_@203-140-91-140.eonet.ne.jp) (Ping timeout: 264 seconds)
  497. # [15:36] * Joins: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp)
  498. # [15:36] * Quits: borismus (~borismus@62.48.209.165) (Quit: borismus)
  499. # [15:39] * Joins: Maurice (copyman@5ED573FA.cable.ziggo.nl)
  500. # [15:42] * Joins: aroben (~aroben@unaffiliated/aroben)
  501. # [15:47] <Philip`> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2010/05/12/BUPJ1DDISH.DTL - "In a full-page ad [...] Adobe says, we love [...] HTML5"
  502. # [15:48] * Philip` sadly can't find the actual ad
  503. # [15:48] <annevk> would be fun to see a picture of the ad, indeed
  504. # [15:50] * Joins: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net)
  505. # [15:54] * Quits: Necrathex (~bleptop@212-123-163-12.ip.telfort.nl) (Quit: Necrathex)
  506. # [15:58] <krijnh> Hey, this HTML5 thing.. Do you guys think this is going to be a mainstream thing? I really have my doubts about it!
  507. # [15:59] <Philip`> I don't know about this HTML5 thing
  508. # [15:59] <Philip`> That other HTML5 thing is pretty popular, though
  509. # [15:59] <Philip`> The one that's made up of CSS3 and Geolocation and so on
  510. # [15:59] <krijnh> I heard HTML5 also included Flash 10.1 in some definitions..
  511. # [16:00] <Dashiva> It needs a better acronym, there's no X
  512. # [16:06] <annevk> i know i know, XHTML5!
  513. # [16:08] <krijnh> That's not catchy enough
  514. # [16:09] * Joins: AnthonyCat (~AnthonyCa@2002:3aaf:19c2:0:21f:5bff:feb6:f0e1)
  515. # [16:10] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 248 seconds)
  516. # [16:10] * Quits: AnthonyCat (~AnthonyCa@2002:3aaf:19c2:0:21f:5bff:feb6:f0e1) (Client Quit)
  517. # [16:10] * Joins: miketaylr (~miketaylr@38.117.156.163)
  518. # [16:10] * Quits: wakaba_ (~wakaba_@122x221x184x68.ap122.ftth.ucom.ne.jp) (Quit: Leaving...)
  519. # [16:13] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 268 seconds)
  520. # [16:13] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  521. # [16:13] <annevk> the adobe stuff might be http://www.adobe.com/choice/ ?
  522. # [16:14] * Quits: knowtheory (~knowtheor@bas1-london16-1176190282.dsl.bell.ca) (Quit: There are lives at stake here!)
  523. # [16:16] <Philip`> annevk: That and the ads seem to be part of the current Adobe-vs-Apple battle
  524. # [16:19] <Philip`> It's a nice battle since it's about who's the most open and most supportive of open standards like HTML5
  525. # [16:20] <krijnh> I thought it was about who was most open about H.264 :)
  526. # [16:21] <Dashiva> It's about who has the stronger RDF
  527. # [16:22] * Joins: mr_danie1 (~irssi@e177122093.adsl.alicedsl.de)
  528. # [16:22] * Joins: knowtheory (~knowtheor@bas1-london16-1176190282.dsl.bell.ca)
  529. # [16:25] * Quits: mr_daniel (~irssi@f054053100.adsl.alicedsl.de) (Ping timeout: 260 seconds)
  530. # [16:30] * Quits: karlushi (~karlushi@fw.vdl2.ca) (Read error: Connection timed out)
  531. # [16:39] * Joins: mpt (~mpt@canonical/mpt)
  532. # [16:41] * Quits: Heimidal (~heimidal@unaffiliated/heimidal) (Remote host closed the connection)
  533. # [16:55] * Joins: jgornick (~joe@199.199.212.242)
  534. # [16:57] * Joins: drhodes (~none@209-20-72-61.slicehost.net)
  535. # [16:58] * Joins: MikeSmith (~MikeSmith@EM114-48-3-118.pool.e-mobile.ne.jp)
  536. # [17:07] * Joins: mmn (~mmn@129-97-225-97.uwaterloo.ca)
  537. # [17:12] * Quits: kinetik (~kinetik@121.98.132.55) (Ping timeout: 240 seconds)
  538. # [17:12] * Joins: kinetik (~kinetik@121.98.132.55)
  539. # [17:14] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 264 seconds)
  540. # [17:16] * Joins: mhausenblas_ (~mhausenbl@wlan-nat.fwgal01.deri.ie)
  541. # [17:18] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Ping timeout: 260 seconds)
  542. # [17:18] * mhausenblas_ is now known as mhausenblas
  543. # [17:22] * Quits: danbri (~danbri@unaffiliated/danbri) (Quit: danbri)
  544. # [17:34] * Joins: tyoshino_m (~tyoshino_@102.76.147.124.dy.bbexcite.jp)
  545. # [17:36] * Parts: bfrantz (~bfrantz@pdpc/supporter/professional/bfrantz)
  546. # [17:37] * Joins: KaOSoFt (~KaOSoFt@190.24.156.162)
  547. # [17:41] * Joins: mpt (~mpt@canonical/mpt)
  548. # [17:52] * Joins: dbaron (~dbaron@c-98-234-51-190.hsd1.ca.comcast.net)
  549. # [17:56] * Quits: nessy (~Adium@124-170-18-159.dyn.iinet.net.au) (Quit: Leaving.)
  550. # [17:56] * Quits: peol (~andree@unaffiliated/peol) (Remote host closed the connection)
  551. # [18:03] * Joins: tito_ (~irchon@25.183.244.43.ap.yournet.ne.jp)
  552. # [18:10] <MikeSmith> othermaciej: you around?
  553. # [18:10] * Joins: dglazkov (~dglazkov@nat/google/x-cvfcqusirkpcfztn)
  554. # [18:13] * Quits: JonathanNeal (~JonathanN@99-59-124-67.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
  555. # [18:22] <TabAtkins> Hixie: Because I'm biased towards linked lists, just do insertion sort as each comes in. Worst case in n^2 time, but with a standard fairly uniform distibution of values it'll be fine, and dupe elimination comes along for free.
  556. # [18:24] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Ping timeout: 240 seconds)
  557. # [18:27] <Philip`> Average case is O(n^2) time too
  558. # [18:27] * Joins: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie)
  559. # [18:27] <TabAtkins> Hm, yeah, you're right, since on average you'll just be adding it to the middle.
  560. # [18:30] * Joins: mhausenblas_ (~mhausenbl@wg1-nat.fwgal01.deri.ie)
  561. # [18:31] <Philip`> If you have n total and m unique it'll be O(nm), vs O(n + m log m) for the hash/sort method, which isn't so good if m and n are large
  562. # [18:31] <Philip`> (and if they're not large then you wouldn't worry about performance at all)
  563. # [18:33] * Quits: Phae (~phaeness@gatej.mh.bbc.co.uk)
  564. # [18:33] * Quits: mhausenblas (~mhausenbl@wlan-nat.fwgal01.deri.ie) (Ping timeout: 252 seconds)
  565. # [18:33] * mhausenblas_ is now known as mhausenblas
  566. # [18:35] * Quits: kuatto (~kuatto@c-75-72-177-136.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
  567. # [18:37] <TabAtkins> That then brings up the obvious question of, how large is it?
  568. # [18:38] * Quits: erikvold (~erikvold@S01060024012860e9.gv.shawcable.net) (Quit: erikvold)
  569. # [18:40] <Philip`> -> <- this large
  570. # [18:41] <ment> Hixie: i would go with path-compressed tries. http://cr.yp.to/critbit.html
  571. # [18:41] * Quits: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de) (Ping timeout: 260 seconds)
  572. # [18:46] <TabAtkins> You have to ensure that what you have is prefix-free in that case, though (which it likely is).
  573. # [18:48] * Joins: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de)
  574. # [18:49] * Joins: mlpug (~mlpug@a88-115-164-40.elisa-laajakaista.fi)
  575. # [18:51] * Joins: karlushi (~karlushi@fw.vdl2.ca)
  576. # [18:51] <ment> TabAtkins: or you can just store strings with some kind of terminating character at the end (nul-byte in case of cstrings)
  577. # [19:07] * Quits: lhnz (~lhnz@188-223-83-48.zone14.bethere.co.uk) (Quit: Leaving)
  578. # [19:15] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 260 seconds)
  579. # [19:15] * Quits: KaOSoFt (~KaOSoFt@190.24.156.162) (Quit: Leaving)
  580. # [19:20] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 264 seconds)
  581. # [19:22] * Quits: mhausenblas (~mhausenbl@wg1-nat.fwgal01.deri.ie) (Quit: mhausenblas)
  582. # [19:22] * Quits: othermaciej (~mjs@c-69-181-42-237.hsd1.ca.comcast.net) (Quit: othermaciej)
  583. # [19:24] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  584. # [19:28] * Joins: m_W (~mwj@c-69-141-106-205.hsd1.nj.comcast.net)
  585. # [19:30] * Quits: tito_ (~irchon@25.183.244.43.ap.yournet.ne.jp) (Remote host closed the connection)
  586. # [19:32] * Quits: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de) (Quit: ?Q)
  587. # [19:32] * Joins: cohitre (~cohitre@174-21-104-138.tukw.qwest.net)
  588. # [19:34] * Parts: cohitre (~cohitre@174-21-104-138.tukw.qwest.net)
  589. # [19:36] * Quits: dbaron (~dbaron@c-98-234-51-190.hsd1.ca.comcast.net) (Quit: 8403864 bytes have been tenured, next gc will be global.)
  590. # [19:38] * Joins: Heimidal (~heimidal@unaffiliated/heimidal)
  591. # [19:38] * Quits: mat_t (~mattomasz@91.189.88.12) (Quit: This computer has gone to sleep)
  592. # [19:40] * Joins: mpt (~mpt@canonical/mpt)
  593. # [19:42] * Quits: gregw (~gregwilki@host116-234-static.43-88-b.business.telecomitalia.it) (Read error: Connection reset by peer)
  594. # [19:45] * Joins: erikvold (~erikvold@S01060024012860e9.gv.shawcable.net)
  595. # [19:49] * Quits: epeus (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net) (Quit: The computer fell asleep)
  596. # [19:51] * Quits: karlushi (~karlushi@fw.vdl2.ca) (Read error: Operation timed out)
  597. # [19:52] * Joins: karlushi (~karlushi@fw.vdl2.ca)
  598. # [19:55] * Joins: KaOSoFt (~KaOSoFt@190.24.156.162)
  599. # [19:58] * Joins: gregw (~gregwilki@host116-234-static.43-88-b.business.telecomitalia.it)
  600. # [20:05] * Joins: borismus (~borismus@62.48.209.165)
  601. # [20:07] * Joins: cying (~cying@70.90.171.153)
  602. # [20:08] * Joins: weinig (~weinig@17.246.17.242)
  603. # [20:10] * Quits: borismus (~borismus@62.48.209.165) (Client Quit)
  604. # [20:10] * Joins: smaug (~chatzilla@a91-154-43-186.elisa-laajakaista.fi)
  605. # [20:12] * Joins: dbaron (~dbaron@nat/mozilla/x-yaaabjeolaifqequ)
  606. # [20:21] * Joins: gratz|home (~gratz@gratz.gotadsl.co.uk)
  607. # [20:22] * aroben is now known as aroben|lunch
  608. # [20:24] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
  609. # [20:27] * Joins: jwalden (~waldo@nat/mozilla/x-hxtiksulznjktxfv)
  610. # [20:30] * Joins: CharelB (~azunix@195.46.241.227)
  611. # [20:33] * Joins: JonathanNeal (~JonathanN@rrcs-76-79-114-210.west.biz.rr.com)
  612. # [20:37] * Joins: othermaciej (~mjs@17.246.16.216)
  613. # [20:44] * Quits: karlushi (~karlushi@fw.vdl2.ca) (Read error: Connection timed out)
  614. # [20:47] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  615. # [20:47] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Client Quit)
  616. # [20:48] * Joins: pesla (~pesla@ip51cc03a5.speed.planet.nl)
  617. # [20:50] * Quits: othermaciej (~mjs@17.246.16.216) (Quit: othermaciej)
  618. # [20:51] * Joins: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de)
  619. # [20:54] * Joins: karlushi (~karlushi@fw.vdl2.ca)
  620. # [21:05] * Quits: micheil (~micheil@124-170-251-16.dyn.iinet.net.au) (Ping timeout: 245 seconds)
  621. # [21:10] * Joins: remysharp (~remysharp@cpc2-brig17-2-0-cust448.3-3.cable.virginmedia.com)
  622. # [21:10] * Joins: danbri (~danbri@unaffiliated/danbri)
  623. # [21:12] * Joins: epeus (~KevinMark@157.22.22.57)
  624. # [21:14] * Joins: michaeln (~michaeln@nat/google/x-hnmazitbtcuckggb)
  625. # [21:14] * Joins: dave_levin (~dave_levi@nat/google/x-tkmnroryexgmorqr)
  626. # [21:16] * Quits: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de) (Quit: ⌘Q)
  627. # [21:20] * Joins: ttepasse (~ttepasse@ip-109-90-160-217.unitymediagroup.de)
  628. # [21:24] * Quits: karlushi (~karlushi@fw.vdl2.ca) (Read error: Connection timed out)
  629. # [21:32] * Joins: peol (~andree@unaffiliated/peol)
  630. # [21:33] * Joins: karlushi (~karlushi@fw.vdl2.ca)
  631. # [21:37] * Joins: borismus (~borismus@62.48.209.165)
  632. # [21:38] <annevk> btw, karaoke plus ruby
  633. # [21:38] <annevk> http://www.flickr.com/photos/annevk/4601462252/
  634. # [21:38] <annevk> including that animated effect with the letters
  635. # [21:38] <annevk> guess we'll need some new CSS features for that
  636. # [21:39] * aroben|lunch is now known as aroben
  637. # [21:40] <TabAtkins> Oh, that wiping effect? Yeah, I've seen that in karaoke a lot.
  638. # [21:41] <TabAtkins> If we ever decide to handle that, though, it's certainly something just on the CSS side, with no effect on the captioning format, like you said.
  639. # [21:47] * Quits: gavin_ (~gavin@firefox/developer/gavin) (Ping timeout: 276 seconds)
  640. # [21:51] * Joins: gavin_ (~gavin@firefox/developer/gavin)
  641. # [21:51] * Quits: karlushi (~karlushi@fw.vdl2.ca) (Read error: Connection timed out)
  642. # [21:57] * Joins: sicking (~chatzilla@nat/mozilla/x-fpryxfpncabfhidz)
  643. # [21:59] * Quits: jgornick (~joe@199.199.212.242) (Quit: jgornick)
  644. # [22:00] * Joins: othermaciej (~mjs@17.246.16.216)
  645. # [22:00] * Joins: karlushi (~karlushi@fw.vdl2.ca)
  646. # [22:03] * Quits: remysharp (~remysharp@cpc2-brig17-2-0-cust448.3-3.cable.virginmedia.com) (Remote host closed the connection)
  647. # [22:09] * Quits: FireFly (~firefly@unaffiliated/firefly) (Quit: null)
  648. # [22:10] * Joins: ap (~ap@17.246.17.104)
  649. # [22:18] * Quits: sebmarkbage (~miranda@h-70-237.A146.priv.bahnhof.se) (Read error: Connection reset by peer)
  650. # [22:20] * Quits: mlpug (~mlpug@a88-115-164-40.elisa-laajakaista.fi) (Remote host closed the connection)
  651. # [22:20] * Joins: micheil (~micheil@124-170-52-1.dyn.iinet.net.au)
  652. # [22:22] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Read error: Connection reset by peer)
  653. # [22:23] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  654. # [22:27] * Quits: karlushi (~karlushi@fw.vdl2.ca) (Read error: Connection timed out)
  655. # [22:30] * Quits: JohnnyAmerica (~Simon@213-64-113-37-no97.tbcn.telia.com) (Quit: leaving)
  656. # [22:37] <paul_irish> Philip`: there were some reports of your font optimizer POST table mods messing with the printability.
  657. # [22:38] * Quits: CharelB (~azunix@195.46.241.227) (Read error: No route to host)
  658. # [22:41] <Philip`> paul_irish: That's not unexpected
  659. # [22:41] <paul_irish> :) ok
  660. # [22:43] * Joins: aho (~nya@g228026005.adsl.alicedsl.de)
  661. # [22:44] * Quits: boaz (~boaz@64.119.159.231) (Read error: Connection reset by peer)
  662. # [22:44] <aho> slightly off topic perhaps, but does anyone know why there isn't "rgba(#abc, 0.5)"?
  663. # [22:44] <aho> i'd happily trade that for that silly version which takes percentages :>
  664. # [22:44] <TabAtkins> Because people hate #rgb notation. ;_;
  665. # [22:44] <TabAtkins> But I and a few other people have been regularly arguing for an #rgba notation.
  666. # [22:45] <TabAtkins> s/people hate/some browser implementors/
  667. # [22:45] <AryehGregor> I don't care whether I use hex or decimal, as long as I don't have to convert between them.
  668. # [22:45] <AryehGregor> "Because some browser implementors #rgb notation. ;_;"
  669. # [22:45] <TabAtkins> I've used hex colors for so long that I think about color in hex at this point.
  670. # [22:45] <aho> AryehGregor, well currently you do have to convert between them
  671. # [22:45] <TabAtkins> AryehGregor: So I write broken regexps. ^_^
  672. # [22:46] <aho> i.e. you got some color in hex... and now you'd like to have it somewhat translucent
  673. # [22:46] <Hixie> Philip`: my N is low (1<=N<100) so the contant factors of setting up a hashmap seem high... isn't it just as easy and efficient to just build an array using binary search to find where to put things and a mem copy to move things around?
  674. # [22:46] <TabAtkins> But yeah, aho, I'm still trying to get #rgba added to the Color module, so we can write #06c8 and similar.
  675. # [22:47] <aho> that would be awesome
  676. # [22:47] <aho> :)~
  677. # [22:47] <TabAtkins> Hixie: Are you locked to an array, or can you use a linked list?
  678. # [22:47] <Philip`> Hixie: If N < 100 then why are you caring about performance at all?
  679. # [22:47] <aho> i'd be also fine with something like rgba(#abc,0.5) though
  680. # [22:47] <Hixie> TabAtkins: how do i search a linked list?
  681. # [22:47] <Hixie> Philip`: there's a lot of them
  682. # [22:48] <Philip`> A lot of what?
  683. # [22:48] <TabAtkins> Hixie: I don't understand the context of that question.
  684. # [22:48] <Hixie> Philip`: lists to sort
  685. # [22:48] <Philip`> Oh, lots of short lists?
  686. # [22:48] <Hixie> TabAtkins: how do i construct the linked list in a sorted manner without walking on average half the list each time?
  687. # [22:48] <Hixie> Philip`: yeah
  688. # [22:48] <TabAtkins> You don't. You just do insertion sort and eat that cost, because the constant factors are low and the asymptotic behavior is irrelevant for such small cases.
  689. # [22:49] <Hixie> Philip`: i have a bunch of trees that contain strings, and for each tree i have to construct a sorted array of strings
  690. # [22:49] <Hixie> TabAtkins: i have an irrational aversion to searching for things by just walking a list :-)
  691. # [22:49] <Philip`> About hashmaps, "just as easy" depends on what language/library functionality you have available
  692. # [22:49] <TabAtkins> Hixie: Stop being irrational, then.
  693. # [22:49] <Hixie> :-)
  694. # [22:49] <Philip`> e.g. std::unordered_set<std::wstring> is trivial in C++ and writing code for an explicit binary search takes much more effort
  695. # [22:50] <Lachy> TabAtkins, what are the objections to the #rgba syntax?
  696. # [22:50] <TabAtkins> Lachy: Man, I dunno. Let me dig up the thread for you.
  697. # [22:50] * Philip` isn't quite sure if it's really called std::unordered_set
  698. # [22:50] <Hixie> Philip`: code writinge effort in this case is not an isue
  699. # [22:50] <AryehGregor> Lachy, hard to tell at a glance whether something has three/four/six/eight characters after the #. Will take a long time to be usable compatibly.
  700. # [22:51] <TabAtkins> The latter is probably the main objection, since it's a convenience feature. I think it's pretty easy to tell 3/4/6/8 apart, though.
  701. # [22:51] <Philip`> Hixie: So "easy" is irrelevant?
  702. # [22:51] <Lachy> that last argument is bogus. It will just take longer if they keep delaying it.
  703. # [22:51] <Lachy> But I suppose the quickest way to get it in, is for some browser to implement it
  704. # [22:52] <TabAtkins> Hixie: Just write up a few possibilities and time. With lists that small constant factors that you have little control of will dominate, and so if you need efficiency you'll need to discover it experimentally.
  705. # [22:52] <TabAtkins> Lachy: Get to it.
  706. # [22:52] * TabAtkins wonders who's the right person to ping for that on chrome team...
  707. # [22:53] <aho> <AryehGregor> Lachy, hard to tell at a glance whether something has three/four/six/eight characters after the #. <- well, rgba(#f00,0.4) is pretty easy to read and it's also very obvious :>
  708. # [22:53] <TabAtkins> Lachy: Actually, I think the main objection was that it would slow Color3's progression. Getting two of us to implement would kill that argument.
  709. # [22:54] <Hixie> Philip`: yeah
  710. # [22:54] <aho> (personally i also got somewhat used to using a normalized value for the alpha)
  711. # [22:54] <Hixie> Philip`: i'm just looking for something cheap in cpu and memory
  712. # [22:54] <Lachy> if distingishing 3/4/6/8 chars is the main objection, then maybe (though I think this is less ideal) the syntax could be like #369/A
  713. # [22:54] <Hixie> Philip`: primarily cpu
  714. # [22:54] <Hixie> Philip`: for 1<=N<100
  715. # [22:54] <Philip`> How long are the strings?
  716. # [22:54] <AryehGregor> Lachy, that wouldn't conflict with other uses of /?
  717. # [22:55] <aho> i'd be also fine with that
  718. # [22:55] <Lachy> not in the color properties.
  719. # [22:55] <AryehGregor> Even in shorthand properties?
  720. # [22:55] <Hixie> TabAtkins: yeah, probably
  721. # [22:55] <Lachy> The / is used in 'font', where it wouldn't conflict
  722. # [22:55] <TabAtkins> Lachy: Rereading the latest thread on it, it appears the objections were (1) too late for Colors 3, it would slow down progression for a mere convenience feature, and (2) some implementors don't like #rgb notation at all, and so don't particular care to increase the usefulness of that syntax
  723. # [22:55] <aho> i don't really care... as long as i don't have to convert to dec or percentages (wtf) anymore, i'm fine
  724. # [22:55] <Philip`> It seems possible that string comparisons would be the most expensive operation so you'd want to minimise those
  725. # [22:55] <Hixie> Philip`: 1<=len(S)<20
  726. # [22:55] * Parts: pmuellr (~pmuellr@nat/ibm/x-rdgoqqxufavmbpby)
  727. # [22:56] <AryehGregor> Hixie, have you considered just buying better hardware? :)
  728. # [22:56] <Lachy> #rgb syntax is far superior to rgb() syntax for authors.;
  729. # [22:56] <Philip`> and shuffling smallarrays of pointers would be very quick
  730. # [22:56] <Hixie> AryehGregor: actually not an option in this case, but in any case it's more of a theoretical issue :-)
  731. # [22:56] <Philip`> s/la/l a/
  732. # [22:56] <Hixie> Philip`: true
  733. # [22:56] <TabAtkins> Lachy: Yeah, I agree. Shrug. So go ping whoever you need to at Opera and get it in. ^_^
  734. # [22:57] <Hixie> i'm surprised there isn't a well-known algorithm to solve this like there is for sorting constructed lists
  735. # [22:57] <Philip`> Maybe that means a trie would be best, since you'd only need to examine each character of an incoming string once, instead of comparing it against many others
  736. # [22:58] <Hixie> ooh, that's an interesting idea
  737. # [22:58] <Hixie> hadn't thought of that
  738. # [22:58] <Lachy> yeah, I think I know who's job it would be to implement it, but he's currently assigned to other tasks and has other more important tasks scheduled. But I'll see what I can do
  739. # [22:58] <Philip`> (ment already suggested a trie variant)
  740. # [22:59] <TabAtkins> Trie would probably be fine, since you won't be doing any more pointer-chasing than you would with a linked list, and the savings in comparisons might be significant.
  741. # [22:59] * Quits: pesla (~pesla@ip51cc03a5.speed.planet.nl) (Quit: pesla)
  742. # [23:00] <Hixie> Philip`: yeah, i had opened the page he suggested but not read it yet :-)
  743. # [23:00] <Philip`> Since there's not much data it'd all fit in L1 and pointers shouldn't be too expensive, I guess
  744. # [23:00] <aho> #abcd #aabbccdd #abc/d #aabbcc/dd ... hmm... i think i prefer the one with slash a little bit
  745. # [23:00] <aho> but the pure one is fine too
  746. # [23:01] * Quits: MikeSmith (~MikeSmith@EM114-48-3-118.pool.e-mobile.ne.jp) (Ping timeout: 240 seconds)
  747. # [23:01] <TabAtkins> What's an average size for L1 caches these days?
  748. # [23:03] <TabAtkins> Man, I was wracking my brain for something I remembered for quickly sorting an array as it's built, but just realized that the algo I'm thinking of is for quickly *shuffling* an array as it is built.
  749. # [23:03] <aho> 64 kb + 64 kb (data + instructions) per core, i guess
  750. # [23:03] <TabAtkins> Ah, that's just fine then. With roughly 100 strings of 20 characters or less each, that's about 2k of data per set. So yeah, everything fits in L1 no problem.
  751. # [23:04] <othermaciej> I don't like that the A in the rgba() function syntax has a different scale than the other components
  752. # [23:06] <TabAtkins> I think it's pretty dumb that <alphavalue> is restricted to being a number in [0.0,1.0], and can't be a percentage like the other colors.
  753. # [23:06] * Joins: MikeSmith (~MikeSmith@EM114-48-163-147.pool.e-mobile.ne.jp)
  754. # [23:07] <aho> i never used percentages for colors
  755. # [23:07] * Quits: ROBOd (~robod@109.96.227.246) (Quit: http://www.robodesign.ro)
  756. # [23:07] <Philip`> TabAtkins: http://en.wikipedia.org/wiki/Nehalem_(microarchitecture) says "32 KB L1 instruction and 32 KB L1 data cache per core; 256 KB L2 cache per core; 4–12 MB L3 cache shared by all cores"
  757. # [23:08] <Philip`> TabAtkins: You have to count all the pointers too, which are probably going to be larger than the actual character data
  758. # [23:08] <Philip`> but it sounds like it still wouldn't be a problem
  759. # [23:08] <Philip`> so there's no need to worry too much about optimising memory usage
  760. # [23:09] <TabAtkins> Hm? A pointer is 4-8 bytes. The strings will be 1-40 bytes, depending on encoding.
  761. # [23:09] <Hixie> (8 bytes, in this architecture)
  762. # [23:10] <Philip`> If it's a simple trie then I guess you need at least a pointer per node, which in the worst case is one per character
  763. # [23:10] <TabAtkins> Ah, right, per trie node. Yeah, then the pointers are more expensive.
  764. # [23:11] * Philip` likes it when he can make code faster just by rearranging data and not having to do anything complicated like think about algorithms
  765. # [23:13] <ment> what problem are you trying to solve?
  766. # [23:18] <Hixie> ment: the same one i mentioned earlier
  767. # [23:18] <Hixie> Philip`: for a trie, it seems you need some sort of dictionary structure per node
  768. # [23:20] <ment> Hixie: i still haven't understand why don't you just sort them with qsort?
  769. # [23:20] <othermaciej> if you want to sort N items, just sort them
  770. # [23:20] * Quits: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net) (Read error: No route to host)
  771. # [23:20] <othermaciej> N log N is pretty good
  772. # [23:21] <othermaciej> qsort has good constants
  773. # [23:21] <Philip`> Depends if there's going to be lots of duplicates you want to get rid of before sorting
  774. # [23:21] * Joins: Rik` (~Rik`@pha75-2-81-57-187-57.fbx.proxad.net)
  775. # [23:21] <ment> why not remove duplicates _after_ sorting?
  776. # [23:21] <othermaciej> or use heapsort if you need very little memory
  777. # [23:21] * Joins: roc (~roc@203-97-204-82.dsl.clear.net.nz)
  778. # [23:21] <othermaciej> if you want to remove duplicates before sorting, just use a hashset
  779. # [23:21] <othermaciej> O(N) in number of entries
  780. # [23:22] <othermaciej> there's no way to sort and unique a list of strings that is faster than O(N log N)
  781. # [23:22] <othermaciej> (unless they are fixed length, then you can use a radix sort to sort I guess)
  782. # [23:22] <TabAtkins> Ha, beat me to it.
  783. # [23:23] <Philip`> ment: You might find everything is a duplicate of a single value in O(N) time, and then you avoid the whole O(N log N) sort
  784. # [23:23] <TabAtkins> Strings can be treated as fixed-length if you already know the longest length, and treat non-existent characters as sorted before any actual characters.
  785. # [23:23] <AryehGregor> "I'm not *strongly* opposed to the concepts that these semantic elements, attributes and controls add, but I do think that, in order to actually reach a W3C standard quickly, controversial additions that are likely to slow down progress or result in poor interoperability should be removed from the specification so that the W3C HTML working group can reach closure quickly."
  786. # [23:24] <AryehGregor> Is it just me, or is this kind of statement usually a self-fulfilling prophecy?
  787. # [23:24] <Hixie> ment: constructing an array, then sorting it, then removing duplicates, seems like something that could be optimised further
  788. # [23:24] <othermaciej> TabAtkins: that would be O(N * MAXLEN), so unless MAXLEN is much less than log N it doesn't much help
  789. # [23:24] <othermaciej> Hixie: is your input streaming in, or is it already in memory?
  790. # [23:24] <TabAtkins> Hixie: You don't need a dictionary for a trie. It's just a normal tree, with each link representing a single element of the lists.
  791. # [23:25] <othermaciej> a trie is still essentially N log N
  792. # [23:25] <Hixie> ment: i'm just surprised there aren't well-established algorithms for doing this :-)
  793. # [23:25] <othermaciej> don't use a fancy data structure when a simple one would do
  794. # [23:25] <TabAtkins> othermaciej: Right, but it's fun!
  795. # [23:25] <Hixie> TabAtkins: how do you store the connections at each node?
  796. # [23:25] <ment> Philip`: first, there's three-way qsort. second, you would need a really large amount of data with duplicates to speed things up (it would only complicate the code)
  797. # [23:25] <othermaciej> there are - unique using a dictionary, then sort using a common sort
  798. # [23:25] <TabAtkins> Hixie: An array of pointers.
  799. # [23:25] <ment> Hixie: there are! qsort :)
  800. # [23:25] <Hixie> othermaciej: it's in memory (in a tree data structure)
  801. # [23:25] <othermaciej> Hixie: what kind of tree?
  802. # [23:25] <Hixie> ment: for constructing the array while sorting it, i mean
  803. # [23:26] <Hixie> othermaciej: on what axis are you asking for the trees to be described?
  804. # [23:26] <othermaciej> if the tree is indexed by the string in question, then an inorder traversal will give you back the strings in sorted order
  805. # [23:26] <Hixie> TabAtkins: then you're back to walking a list to find things :-P
  806. # [23:26] <ment> Hixie: do you need it to be 1) with low latency (and with intermidiate results available) 2) able to cope with large amount of data 3) high speed ... ? just give some conditions
  807. # [23:26] <othermaciej> that's O(N)
  808. # [23:26] <othermaciej> Hixie: any - "it's a tree" is very little information
  809. # [23:27] <TabAtkins> Hixie: Hm? No, if you have a set alphabet the strings are constructed from, you just make an array of that size and you can grab the appropriate one with a simple index.
  810. # [23:27] <ment> othermaciej: trie is not 'N log N', trie is O(1) if implemented right
  811. # [23:27] <ment> erm, O(N)
  812. # [23:27] <othermaciej> is it a binary tree? a b-tree? something else? are these the strings to the key or not?
  813. # [23:27] <othermaciej> ment: building the trie isn't O(N)
  814. # [23:28] <ment> othermaciej: erm I mean O(N) where N is sum of lenghts of the keys
  815. # [23:28] <Hixie> othermaciej: it's just a regular tree, like a DOM tree; the strings are just annotations at each node and have nothing to do with the structure of the tree
  816. # [23:28] <ment> othermaciej: but you wouldn't get better result with sort anyway as comparsion or varlen keys isn't really O(1)
  817. # [23:28] <ment> *of
  818. # [23:28] <othermaciej> Hixie: so my suggestion is, make an array and a set, visit each tree node, check if string is in set, if not, append to the array
  819. # [23:28] <othermaciej> then sort the array
  820. # [23:28] <othermaciej> if that is too slow or uses too much memory, then you can worry about whether you need a fancy algorithm
  821. # [23:28] <Hixie> TabAtkins: um, i'm not creeating a 256-entry (or 0x10FFFF-entry!) array at each node of a trie, that would take insane amounts of memory :-P
  822. # [23:29] <ment> Hixie: my suggestion is qsort it, then remove the duplicates
  823. # [23:29] <othermaciej> sorting before removing duplicates could use less memory in theory but is probably slower
  824. # [23:29] <Hixie> man creating an array then sorting it seems so silly
  825. # [23:29] <ment> you don't have to, you can save the state-transition table in hashmap :)
  826. # [23:29] <Hixie> ment: that's what i said earlier
  827. # [23:30] <Hixie> ment: each node of a trie requires some sort of dictionary
  828. # [23:30] <TabAtkins> Hixie: Heh, just estimate the minimum and maximum character used and establish an array that wide.
  829. # [23:30] <othermaciej> Hixie: you could build a balanced binary tree instead, but then building the tree takes longer than building the array + sorting the array
  830. # [23:30] <Hixie> ment: TabAtkins was disagreeing
  831. # [23:30] <ment> but you can use one dictionary for all states
  832. # [23:30] <othermaciej> basic rule of programming: never use a fancy data structure when a simple one would do
  833. # [23:30] <ment> and access it with composed key (state, char)
  834. # [23:30] <TabAtkins> Hixie: Though a linked list of pointers would be better, since it will be sparse past the root node.
  835. # [23:30] <Hixie> othermaciej: i'm just surprised there isn't some variant on sorting algorithms that basically sorts as the array is constructed instead of doing it as a two-step process
  836. # [23:30] <othermaciej> if you haven't tried the simple solution first, you are wasting all our time and are a bad software engineer
  837. # [23:31] <ment> Hixie: it is :) insert sort
  838. # [23:31] <othermaciej> Hixie: a balanced binary tree self-sorts, but it's not really faster
  839. # [23:31] <Hixie> ment: insertion sort still acts on a pre-built array unless we're talking about different things
  840. # [23:31] <othermaciej> true, insertion sort will do it, but that's O(N^2)
  841. # [23:32] <Hixie> othermaciej: i agree entirely that using complex data structures is silly here, hence my pushback on the ideas of using tries and so forth
  842. # [23:32] <othermaciej> you can use insertion sort in the course of inserting
  843. # [23:32] <ment> Hixie: no, you walk down sorted list and insert it before first larger key
  844. # [23:32] <othermaciej> Hixie: why your pushback on building an array and then sorting it then?
  845. # [23:32] <othermaciej> that's the obvious CS101 solution
  846. # [23:32] <TabAtkins> Hixie: No, insertion sort works fine. That's why I suggested it beforehand. ^_^ You need a linked list, not an array, though, to avoid data-moving penalties.
  847. # [23:32] <othermaciej> if you haven't tried that, you are wasting all our time
  848. # [23:32] <Hixie> othermaciej: no push back there, i'm just saying i'm surprised there's no better solution
  849. # [23:32] <Hixie> othermaciej: it's basically what i had gotten to before asking here
  850. # [23:32] <othermaciej> sorting is N log N
  851. # [23:32] <ment> TabAtkins: data moving while traversing is cheap
  852. # [23:33] <othermaciej> (unless you have a special case amenable to radix sort or the like)
  853. # [23:33] <Hixie> ment: walking the whole list each time just seems obviously suboptimal
  854. # [23:33] <Hixie> or half the list
  855. # [23:33] <Hixie> on average
  856. # [23:33] <TabAtkins> ment: Not in the situation you'd have here, where you would traverse part of the array, and then ahve to move the rest.
  857. # [23:33] <TabAtkins> ment: That's guaranteeing a full-price n^2 cost.
  858. # [23:33] * Quits: cying (~cying@70.90.171.153) (Ping timeout: 240 seconds)
  859. # [23:34] <othermaciej> insertion sort is a poor solution here
  860. # [23:34] <ment> TabAtkins: what if you move while traversing from the back?
  861. # [23:34] <othermaciej> one O(N^2) pass is not better than an O(N) pass followed by an O(N log N) pass
  862. # [23:34] <ment> Hixie: do you need it to be high-speed for 10000 or more keys?
  863. # [23:34] <TabAtkins> othermaciej: It is if the N is very small (which it is here, roughly 100 strings).
  864. # [23:35] <TabAtkins> othermaciej: Or rather, it can be, if the constant factors are small enough for the n^2.
  865. # [23:35] <othermaciej> they are not smaller than the constant factors for vector append and quicksort
  866. # [23:36] <othermaciej> and if your problem set size is 100, then if you are spending time optimizing it at all you're probably wasting effort
  867. # [23:36] <TabAtkins> othermaciej: Individual problems are roughly 100, but if you have a bunch of problems like that then optimization can make sense.
  868. # [23:36] <othermaciej> (unless you do it over and over)
  869. # [23:37] <othermaciej> optimization doesn't make sense until you measure
  870. # [23:37] <TabAtkins> But really, I said before that at problem sizes this small you can't establish efficiency through theory, and really just need to do timings.
  871. # [23:37] * Hixie wasn't trying to optimise, just asking if there was some obvious solution intended for this case that he was overlooking :-)
  872. # [23:37] <othermaciej> you already found the obvious solution
  873. # [23:37] <Hixie> apparently
  874. # [23:38] * Quits: cpearce (~cpearce@ip-118-90-17-75.xdsl.xnet.co.nz) (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.0.15/2009101909])
  875. # [23:38] <othermaciej> there may be marginally faster solutions depending on context, but none of them are obvious, and the obvious solution is not at all bad
  876. # [23:38] <Philip`> The obvious solution is always some combination of sorts and trees and hashmaps, whatever the problem is
  877. # [23:38] <Philip`> and usually works well enough
  878. # [23:39] <othermaciej> sometimes you need a crazy data structure
  879. # [23:39] <othermaciej> not often though
  880. # [23:39] <ment> sometimes you need word-encoded hash-table indexed by tree shape
  881. # [23:40] * Quits: shepazu (~schepers@adsl-69-155-247.rmo.bellsouth.net) (Quit: shepazu)
  882. # [23:40] <ment> btw do css* working groups have irc channels?
  883. # [23:41] <Philip`> Overoptimisation of underspecified problems is always fun, though
  884. # [23:41] <TabAtkins> ment: We have #css on the w3 server, but that's not really for CSS discussion, just working group stuff.
  885. # [23:43] <ment> ah, i was looking for a place where i can threaten people designing new css3 collection of specs
  886. # [23:43] <TabAtkins> Which specs? I can be threatened here without you having to lift an additional finger.
  887. # [23:50] * Joins: nessy (~Adium@124-170-18-159.dyn.iinet.net.au)
  888. # [23:54] * Quits: ap (~ap@17.246.17.104) (Remote host closed the connection)
  889. # [23:54] * Joins: ap_ (~ap@17.246.17.104)
  890. # [23:58] * Quits: miketaylr (~miketaylr@38.117.156.163) (Remote host closed the connection)
  891. # Session Close: Fri May 14 00:00:00 2010

The end :)