/irc-logs / freenode / #whatwg / 2012-12-20 / end

Options:

  1. # Session Start: Thu Dec 20 00:00:00 2012
  2. # Session Ident: #whatwg
  3. # [00:00] * Quits: griswold (~quassel@san.space150.com) (Remote host closed the connection)
  4. # [00:00] * Quits: MacTed (~Thud@63.119.36.36)
  5. # [00:03] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
  6. # [00:10] * heycam|away is now known as heycam
  7. # [00:11] * Quits: weinig (~weinig@17.114.105.137) (Quit: weinig)
  8. # [00:12] * Joins: othermaciej (~mjs@17.245.104.249)
  9. # [00:13] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Remote host closed the connection)
  10. # [00:13] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
  11. # [00:16] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: Leaving)
  12. # [00:17] * Quits: othermaciej (~mjs@17.245.104.249) (Client Quit)
  13. # [00:18] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Ping timeout: 252 seconds)
  14. # [00:20] <Hixie> sortable tables...
  15. # [00:20] <Hixie> should the magic be on <th> or <col>?
  16. # [00:20] <Hixie> <col> has the advantage of making more sense, <th> the advantage of having half a chance of being in the markup
  17. # [00:20] <Hixie> i'm thinking <th>
  18. # [00:23] <TabAtkins> <col>!
  19. # [00:23] <TabAtkins> You can always add it if you want the functionality.
  20. # [00:23] <TabAtkins> Well, wait. Are we only sorting columns?
  21. # [00:24] * Joins: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
  22. # [00:24] <JonathanNeal> awesome
  23. # [00:25] <Hixie> TabAtkins: i hadn't even considered we might want to sort rows
  24. # [00:25] <Hixie> TabAtkins: let's say yes, just columns
  25. # [00:25] * Quits: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com) (Client Quit)
  26. # [00:26] <Hixie> man colspan/rowspan are going to make this unpleasant
  27. # [00:26] <Hixie> ugh, <col span>
  28. # [00:26] <Hixie> let's not use <col> for this
  29. # [00:27] <Hixie> using <th> makes styling easier too, we can put a pseudo-class on the <Th>
  30. # [00:27] <Hixie> i'm thinking <th>.sort() should only work if the <th> has no colspan="" (rowspan is fine)
  31. # [00:29] * Quits: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr) (Ping timeout: 260 seconds)
  32. # [00:33] * Quits: Famic (famic@hidden.dns.ug) (Ping timeout: 245 seconds)
  33. # [00:36] * Joins: othermaciej (~mjs@17.245.20.94)
  34. # [00:36] * Quits: othermaciej (~mjs@17.245.20.94) (Client Quit)
  35. # [00:37] * Joins: weinig (~weinig@17.114.11.2)
  36. # [00:37] * Joins: othermaciej (~mjs@17.245.20.94)
  37. # [00:39] * Quits: weinig (~weinig@17.114.11.2) (Client Quit)
  38. # [00:43] * Joins: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
  39. # [00:44] <Hixie> anyone want to take a crack at figuring out how you sort this table? http://software.hixie.ch/utilities/js/live-dom-viewer/saved/2034
  40. # [00:46] <Hixie> i'm thinking that any sequence of spanning rows should get treated as one immutable row, sorted by the top cell of the relevant column
  41. # [00:46] <Hixie> where a sequence of spanning rows is defined as follows: a row A is in the same sequence as a row B if there is a cell that spans A and B
  42. # [00:53] <TabAtkins> + transitivity, right?
  43. # [00:53] <TabAtkins> So that table is sorted as one row?
  44. # [00:54] <TabAtkins> Oh wait, duh, that's per-column.
  45. # [00:54] <TabAtkins> Or, hm. No, you still have to do cross-column checking.
  46. # [00:55] * Quits: othermaciej (~mjs@17.245.20.94) (Quit: othermaciej)
  47. # [00:57] <Hixie> yeah, that table would be one row
  48. # [00:57] <Hixie> row sequence
  49. # [00:58] * Joins: mnot (~mnot@2001:44b8:4170:ce00:8c67:e3ae:df0c:a0e5)
  50. # [01:01] <mnot> has there been any discussion of giving control to authors over whether images with display: none are downloaded?
  51. # [01:01] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
  52. # [01:04] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
  53. # [01:04] <Hixie> mnot: not quite, but there has been discussion about whether to allow authors to say that images that aren't yet displayed should be deferred
  54. # [01:04] <Hixie> mnot: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17842
  55. # [01:04] <Hixie> mnot: currently pending implementor interest
  56. # [01:04] * Joins: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net)
  57. # [01:04] * Quits: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net) (Changing host)
  58. # [01:04] * Joins: scor (~scor@drupal.org/user/52142/view)
  59. # [01:04] <zewt> (usually you want to start loading when an image is "close" to being displayed, though, not when it's actually displayed--which makes that a bit harder, i suspect)
  60. # [01:06] <mnot> thx, that's helpful.
  61. # [01:06] <mnot> the interest I'm seeing is from web perf folks, esp. for mobile, looking at responsive design.
  62. # [01:06] <mnot> will comment on bug.
  63. # [01:06] <zewt> (at this point i flinch at the very word "responsive")
  64. # [01:06] <mnot> yes, yes. :)
  65. # [01:06] <Hixie> mnot: the only thing blocking the bug is implementor interest
  66. # [01:06] <Hixie> mnot: so commenting won't help :-)
  67. # [01:06] <mnot> ok
  68. # [01:06] <Hixie> mnot: what would help is advocacy to implementors
  69. # [01:07] <mnot> understood.
  70. # [01:07] <zewt> unless commenting might help convince implementors, if any implementors are watching the bug :)
  71. # [01:07] <Hixie> cc list only has two implementors on it, and they haven't commented
  72. # [01:07] <mnot> yup
  73. # [01:09] * Joins: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net)
  74. # [01:09] <mnot> unrelated question - on srcset, was using child elements instead of an attribute considered? Or does that bring up compatibility problems?
  75. # [01:10] * Quits: nessy (~silviapf@101.170.133.32) (Quit: Leaving.)
  76. # [01:10] <zewt> that was argued for a few hundred emails, i think :)
  77. # [01:10] <Hixie> mnot: it was definitely considered
  78. # [01:10] <mnot> ok - so I don't need to bring it up then :)
  79. # [01:10] <zewt> (hixie will answer for himself, but iirc it's simply "child attributes makes everything more complicated and isn't needed")
  80. # [01:10] <Hixie> solution with multiple elements are about a 1000 times more complicated than solutions with attributes
  81. # [01:11] <Hixie> <video> being a classic example of the disaster that results if you go down that road
  82. # [01:11] <Hixie> it has one of the most complicated algorithms in the spec because of this
  83. # [01:11] <Hixie> second only to <object>, probably
  84. # [01:11] <mnot> fair enough. I'm less concerned with syntactic sugar, more with making it extensible so that you can select images based on other things (e.g., format)
  85. # [01:11] <zewt> i don't think i've ever actually used <object>, heh
  86. # [01:11] <zewt> maybe once in the ie6 days for inlining video or something
  87. # [01:13] <Hixie> (http://w3cmemes.tumblr.com/post/22670112919)
  88. # [01:13] <Hixie> mnot: i think HTTP is supposed to be the way you select based on format :-)
  89. # [01:14] <Hixie> (http://w3cmemes.tumblr.com/post/34698886006)
  90. # [01:15] <zewt> now if only there was a way to have an <img> that didn't load anything, without having to hardcode a 1x1 gif in a data:
  91. # [01:15] <zewt> heh
  92. # [01:15] <mnot> hixie: http defines two ways to do it; having the client select the right one based upon metadata is one of them :)
  93. # [01:15] <zewt> (any less fugly ways to do that: welcome)
  94. # [01:16] <mnot> yeah, I need to talk ilya down from conneg-only; and he's not even a restafarian
  95. # [01:16] <zewt> not that pasting 80 or so bytes is onerous, just ... lame
  96. # [01:17] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
  97. # [01:17] <zewt> heh, google has 26,700 hits for the empty gif data url i use
  98. # [01:18] <Hixie> TabAtkins: which compares earlier, <time datetime="11-12"> or <time datetime="11:12"> ? or should they be treated as a tie?
  99. # [01:18] <Hixie> zewt: didn't load anything? what's your use case?
  100. # [01:18] <Hixie> "img elements should not be used to display transparent images, as they rarely convey meaning and rarely add anything useful to the document"
  101. # [01:18] <zewt> templates, basically
  102. # [01:19] <Hixie> oh, if it's a template then it's not HTML
  103. # [01:19] <zewt> of course it is
  104. # [01:19] <Hixie> just use %IMAGEGOESHERE% or whatever
  105. # [01:19] * Quits: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com) (Quit: Leaving.)
  106. # [01:19] <zewt> it's in my document and parsed normally and there's nothing not-html-like at all :)
  107. # [01:19] <Hixie> then how is it a template?
  108. # [01:19] <Hixie> i'm confused
  109. # [01:19] <zewt> it's not a text template, it's just a <div hidden> that i clone from the DOM and insert somewhere else
  110. # [01:19] <Hixie> ohhh
  111. # [01:19] <Hixie> yeah we don't support that
  112. # [01:20] <zewt> yes you do, i'm doing it :)
  113. # [01:20] <Hixie> <template> hopefully will solve that problem
  114. # [01:20] <Hixie> we don't support that in the sense that it violates your warranty
  115. # [01:20] <Hixie> it isn't something that is condoned
  116. # [01:20] <Hixie> a solution for your problem has not been attempted
  117. # [01:21] <Hixie> you have to do hacks to get it
  118. # [01:21] <Hixie> you know what i meant :-P
  119. # [01:21] <zewt> :P
  120. # [01:21] <zewt> regular images are loaded from templates, though, i hope?
  121. # [01:22] <Hixie> beats me, ask rafaelw__
  122. # [01:25] <Hixie> an i18n people around?
  123. # [01:25] * Joins: othermaciej (~mjs@17.245.104.249)
  124. # [01:25] <zewt> (depends on what you mean by i18n people :)
  125. # [01:25] <Hixie> if A sorts before B in language X, and B sorts before A in language Y, which comes first, A in language X, or B in language Y?
  126. # [01:25] <zewt> (i've done i18n work, for what it's worth)
  127. # [01:25] <zewt> never heard of cross-locale sorting
  128. # [01:26] <zewt> (if such a thing exists i'm curious to know what it is, as completely insane as it sounds, heh)
  129. # [01:27] * Quits: othermaciej (~mjs@17.245.104.249) (Client Quit)
  130. # [01:27] <Hixie> <table> <thead> <tr> <th> FOO <tbody> <tr> <td lang=X> A <tr> <td lang=Y> B </table>
  131. # [01:27] <Hixie> sort that table
  132. # [01:28] <zewt> my intuition is sort based on the @lang of the <table>, and ignore the per-field languages
  133. # [01:28] <Hixie> fair enough
  134. # [01:28] * Joins: weinig (~weinig@17.114.105.137)
  135. # [01:29] <zewt> collation orders are for the whole set, not per-item, so the only way to use each items' would be to define some way to intersect sort orders, which i imagine wouldn't do anything anyone would expect
  136. # [01:31] * Quits: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net) (Quit: sedovsek)
  137. # [01:33] <TabAtkins> Hixie: The first is a date and the second is a time, right?
  138. # [01:33] <TabAtkins> Compare them by the datetime they parse into.
  139. # [01:34] <TabAtkins> Or do they parse as just a date and just a time respectively?
  140. # [01:34] <Hixie> the latter
  141. # [01:34] <Hixie> i'm thinking treat them as equal
  142. # [01:34] <TabAtkins> Ah. In that case, they shouldn't be directly compared. Either make them equal, or define an ordering between the class of times and the class of dates.
  143. # [01:34] <TabAtkins> How do you compare dates versus datetimes?
  144. # [01:34] <TabAtkins> date sorts before a datetime with the same day?
  145. # [01:34] <TabAtkins> That is, date treated as a datetime set to midnight?
  146. # [01:35] * Quits: drublic (~drublic@frbg-5d84f449.pool.mediaWays.net) (Remote host closed the connection)
  147. # [01:35] <Hixie> right now my straw man (which i've spent all of 10 minutes on, alternating between reading g+ and doing this...) just treats any two <time>s with different datatypes as being equal.
  148. # [01:35] <TabAtkins> That'll probably be weird, actually.
  149. # [01:35] <Hixie> well it basically means they stay stable relative to each other
  150. # [01:35] <TabAtkins> I recommend creating an explicit ordering. Maybe times < dates < datetimes.
  151. # [01:35] <zewt> wouldn't it be nicer to give a more stable ordering?
  152. # [01:35] <zewt> hmm
  153. # [01:35] <TabAtkins> Most languages do something like that when comparing incomparable primitives.
  154. # [01:36] <Hixie> (it is stable; ties are broken relative to current position in the table)
  155. # [01:36] <TabAtkins> Like, numbers sort before strings in python, I think.
  156. # [01:36] <Hixie> TabAtkins: there's like 15 different types just for <time>, but i guess we could do that
  157. # [01:36] <zewt> doesn't that mean you're not holding one of those basic laws of orderings that I haven't remembered the name of since college
  158. # [01:36] <TabAtkins> Hixie: I think several of them are comparable?
  159. # [01:36] <Hixie> zewt: probably
  160. # [01:36] <zewt> (give me a second to formulate what i'm vaguely thinking of)
  161. # [01:36] <Hixie> TabAtkins: some could be, i guess
  162. # [01:37] <Hixie> TabAtkins: not sure why you'd ever have different types though
  163. # [01:37] <TabAtkins> Yeah, it'd be dumb.
  164. # [01:37] <zewt> if date1 == time8 (because they're different types), and date1 < date2, it's weird that !(time8 < date2)
  165. # [01:37] <Hixie> we can definitely make this more complex and support more and more edge cases; right now i'm probably not handling enough
  166. # [01:37] <Hixie> but i don't know where to draw the line
  167. # [01:37] <TabAtkins> We don't have to make it more complex, just give a total ordering. Otherwise you get confusing results, like what zewt pointed out.
  168. # [01:38] <Hixie> total ordering is "more complex" the way i meant it, but sure :-)
  169. # [01:38] <TabAtkins> Only by the tiniest bit. ^_^
  170. # [01:38] <Hixie> agreed that what you're pointing out seems important, zewt
  171. # [01:38] <zewt> (transitivity?)
  172. # [01:38] <zewt> (or something close to it)
  173. # [01:39] * Joins: othermaciej (~mjs@17.245.104.249)
  174. # [01:39] <zewt> more simply, if A == B, and A < C, then B < C
  175. # [01:39] <TabAtkins> Okay, looking at this, while it *might* be reasonable to sort things that are date-subsets of each other together, it's probably not worth it. Just sort the categories as being lt/gt en masse.
  176. # [01:39] <TabAtkins> zewt: Yes, that's transitivity.
  177. # [01:40] <TabAtkins> Well, or something like it. Transitivity is if A<B and B<C, then A<C.
  178. # [01:40] <zewt> TabAtkins: i recall the concepts, it's just the names that have drained away :)
  179. # [01:40] <TabAtkins> These terms apply within a single relationship, and you're mixing two of them here.
  180. # [01:40] <TabAtkins> But I'm sure there's a term for this from some math notion of an ordering.
  181. # [01:40] <TabAtkins> Most likely it's just called "being an ordering".
  182. # [01:40] <zewt> i suspect if you don't do this, you may confuse some sorting algorithms
  183. # [01:41] <TabAtkins> Yes, exactly.
  184. # [01:41] * Quits: mnot (~mnot@2001:44b8:4170:ce00:8c67:e3ae:df0c:a0e5) (Quit: Leaving)
  185. # [01:41] <zewt> do you have both a date and a datetime type, or is a date just a datetime at midnight?
  186. # [01:41] <TabAtkins> Hixie: My only recommendation is that for things which are info-subsets of each other, sort the subset as lt than the superset.
  187. # [01:41] <TabAtkins> So a year-month is less than a date.
  188. # [01:42] <Hixie> zewt: http://www.whatwg.org/specs/web-apps/current-work/#the-time-element lists the types
  189. # [01:42] <TabAtkins> A year-week is also less than a date, but the relative ordering of year-month and year-week is unimportant.
  190. # [01:42] <zewt> personally i'd treat a year-month (for sorting purposes) as a date with day == 1 at midnight
  191. # [01:42] <Hixie> TabAtkins: so all dates come before all dates with times?
  192. # [01:42] <zewt> it's when you're dealing with items that have data at the wrong end that they become incomparable
  193. # [01:42] <zewt> that is, if you have [year, month, day, hour, minute, second], comparing [year, month] and [year, month, hour] is easy
  194. # [01:42] <zewt> it's only comparing [year, month, day] against [hour, minute, second] that doesn't make sense
  195. # [01:43] <TabAtkins> Hixie: Assuming you're not filling in defaults as zewt suggests, yeah. That's just the simplistic "different categories sort themselves apart" strategy.
  196. # [01:43] <Hixie> screw it, i should just do a table of type x type and define all the various orderings and be done with it
  197. # [01:43] <Hixie> how much work can that possibly be
  198. # [01:43] <TabAtkins> Haha.
  199. # [01:43] <zewt> oops, loaded the spec in firefox
  200. # [01:43] <zewt> cpu fan: on
  201. # [01:44] <zewt> gar, too many damned choices in this list
  202. # [01:44] <TabAtkins> Probably with sorting dates into datetimes is that you don't know whether dates are local or global.
  203. # [01:44] <TabAtkins> I guess that's fixable... Let me write it out real quick.
  204. # [01:44] <Hixie> there's only 10 date/time types, plus string-that-parsed-as-float, plus everything else (string)
  205. # [01:44] <Hixie> so a 12x12 table
  206. # [01:44] <TabAtkins> Yeah, one sec and I"ll order it for you.
  207. # [01:44] <TabAtkins> A table is super overkill.
  208. # [01:45] <TabAtkins> It woudl be full of redundancy.
  209. # [01:45] <Hixie> i'm nothing if not a fan of overkill
  210. # [01:45] * Joins: plutoniix (~plutoniix@ppp-58-8-161-95.revip2.asianet.co.th)
  211. # [01:45] <zewt> ignoring timezone for the moment, could you just say that two times are comparable if their largest unit of time they define is the same
  212. # [01:46] <zewt> eg. a yyyy-mm-dd and a yyyy-mm are comparable (assume dd == 1), but a yyyy-mm-dd and mm-dd are not (so they have to be ordered as a class)
  213. # [01:47] <TabAtkins> zewt: Problem, again, is that you can't sort a datetime with a date, because you don't know whether the date is local or global.
  214. # [01:47] <TabAtkins> And that would be confusing.
  215. # [01:47] <zewt> TabAtkins: that's what i just said to ignore for the moment :)
  216. # [01:47] <TabAtkins> Haha, but we can't ignore it. ^_^
  217. # [01:47] <zewt> (because I haven't thought about that axis yet)
  218. # [01:47] <Hixie> ignoring that we're trying to sort stuff, i think the problem is solved!
  219. # [01:47] <Hixie> mission accomplished!
  220. # [01:48] <zewt> sorry for not trying to solve every sub-problem simultaneously :)
  221. # [01:48] <TabAtkins> zewt: I'm fine with saying that you can sort together a year, year-month, year-week, and year-month-day.
  222. # [01:48] <TabAtkins> But then datetimes have to sort after them.
  223. # [01:48] <zewt> why?
  224. # [01:48] <TabAtkins> Because of what I just said.
  225. # [01:49] <Hixie> we could just assume UTC
  226. # [01:49] <TabAtkins> Is 2000-01-01 01:00:00+0000 before 2000-01-01 or after it? Depends on where in the world you are when you wrote the bare 2000-01-01.
  227. # [01:49] <Hixie> when comparing with a global date
  228. # [01:49] <zewt> picking a simple case, sorting timezone-agnostic "jan 5" before "jan 5 3:00:00 UTC" makes sense to me, even in the edge case where the first time is local and is actually jan 4 22:00:00 UTC-2
  229. # [01:50] <TabAtkins> Hixie: Yeah, we could.
  230. # [01:50] <Hixie> zewt: that would possibly result in the display listing a bunch of jan 4s after jan 5
  231. # [01:50] <TabAtkins> Hixie: I suppose mixing timeless dates with global datetimes is probably a bad idea anyway.
  232. # [01:50] <Hixie> probably best to do as tab says for the date vs global time thing
  233. # [01:50] <Hixie> date vs local time can be compared
  234. # [01:51] <TabAtkins> kk, so...
  235. # [01:51] * Joins: Famic (famic@hidden.dns.ug)
  236. # [01:51] <TabAtkins> year, year-month, year-week, year-month-day, and local datetime can all be compared with each other.
  237. # [01:51] <zewt> that sounds like it would get people to write UTC times as local times just to convince them to sort
  238. # [01:51] <TabAtkins> The other categories should sort separately.
  239. # [01:52] <TabAtkins> zewt: Or put times on their dates to get them to sort.
  240. # [01:52] * Quits: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de) (Ping timeout: 244 seconds)
  241. # [01:53] <TabAtkins> Hixie: Or, wait. Did you mean that local datetime and global datetime would be comparable, with us assuming UTC?
  242. # [01:53] * Quits: jsbell (jsbell@nat/google/x-qdndtrgcjvuisyds) (Quit: There's no place like home...)
  243. # [01:53] <Hixie> no
  244. # [01:53] <Hixie> 2011-11-11 vs 2011-11-11T11:11
  245. # [01:53] <Hixie> date vs local datetime
  246. # [01:53] <zewt> <time> only supports three fractional digits? :|
  247. # [01:53] <TabAtkins> Okay, so those are comparable. Cool, makes sense.
  248. # [01:54] <TabAtkins> Now what about year-month-day against global datetime?
  249. # [01:54] <zewt> (i regularly use six digits; handy for accurate timestamps)
  250. # [01:55] <Hixie> is 2011-11 equal to or less than 2011-11-01 ? i.e. do you fill with 0 or min
  251. # [01:55] <zewt> minimum, IMO
  252. # [01:55] <Hixie> so they're equal?
  253. # [01:56] <zewt> yeah
  254. # [01:56] <Hixie> seems that would be ugly
  255. # [01:56] <Hixie> you could end up with 2011-11 2011-11-01 2011-11 2011-11-01
  256. # [01:56] <TabAtkins> I think sort before, actually.
  257. # [01:56] <TabAtkins> Standard lexicographic rules.
  258. # [01:57] <Hixie> which is lower, 01-01 or 0001-01 ? (yearless date vs month)
  259. # [01:57] <zewt> (i wonder if there are any use cases for mixing <time> formats like this, for reference to what makes more sense in practice)
  260. # [01:57] <Hixie> zewt: yeah, i couldn't come up with any
  261. # [01:57] <zewt> Hixie: fwiw, that sort order makes sense to me, especially if there are other sort keys
  262. # [01:57] <Hixie> zewt: assuming no other sort keys
  263. # [01:57] <TabAtkins> But then, what about 2000-01 and 2000-W01?
  264. # [01:57] <zewt> Hixie: but equality matters more when you have secondary sort keys
  265. # [01:58] <TabAtkins> Yes, I can see a use-case. Table with calendar entries, where some entries are year-month-days, some are datetimes, and some are year-month.
  266. # [01:58] <zewt> eg. if your sort is (time,score) and you have [2011-11 10pts,2011-11-01 11pts,2011-12 12pts]
  267. # [01:58] <zewt> er, 2011-11 in all
  268. # [01:59] <TabAtkins> Hm, true.
  269. # [01:59] * Quits: mattgifford (~mattgiffo@70.102.199.158) (Remote host closed the connection)
  270. # [01:59] <zewt> whenever i sort dates (putting aside the mixed-units weirdness) i just convert them to epoch time, and sort numerically
  271. # [02:00] <zewt> which is why those 2011-11s sorting equal seems natural to me, anyway
  272. # [02:00] <TabAtkins> zewt: Makes sense.
  273. # [02:00] <TabAtkins> Except that it's local, not epoch time.
  274. # [02:01] <TabAtkins> Here's my somewhat arbitrary ordering: time < month-day < local-stuff < global date-time < time-zone offset < duration
  275. # [02:02] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
  276. # [02:02] <TabAtkins> Where "local-stuff" are the 5 comparable types, with each converted into a (year, day, time) tuple and sorted lexicographically.
  277. # [02:02] <Hixie> TabAtkins: add in string and float to that?
  278. # [02:02] <TabAtkins> Hixie: Put "< float < string" at the end.
  279. # [02:02] <Hixie> k
  280. # [02:02] <Hixie> well as you said, a table is overkill for this then
  281. # [02:02] <Hixie> :-(
  282. # [02:03] <Hixie> i was so looking forward to make a 144-cell table
  283. # [02:03] <TabAtkins> Haha, I told you. Orderings are linear. A table is just an invitation to introduce inconsistency.
  284. # [02:03] <TabAtkins> Instead, you just map each class to an integer and sort that.
  285. # [02:03] <TabAtkins> Rather, total orderings are.
  286. # [02:05] <zewt> also tables are contagious migraines, heh
  287. # [02:05] <TabAtkins> Heh, yeah.
  288. # [02:05] <zewt> even relatively small tables like the distinguishable table in webidl make me unhappy
  289. # [02:06] <zewt> i guess that's not all that small
  290. # [02:06] <zewt> just compact
  291. # [02:06] <zewt> (less because it's hard to read directly, more because it's hard to see the logic and pattern behind a table)
  292. # [02:06] * Quits: ap_ (~ap@2620:149:4:1b01:b8d5:cfcc:145f:af80) (Quit: ap_)
  293. # [02:08] <Hixie> this is my random musings so far: http://www.whatwg.org/specs/web-apps/current-work/temp
  294. # [02:08] <Hixie> not high quality prose
  295. # [02:09] * Quits: OnlyMax (~OnlyMax@187-126-37-208.user.veloxzone.com.br)
  296. # [02:10] <zewt> for secondary sorts, do you just call th.sort() twice in reverse order?
  297. # [02:10] <Hixie> yes
  298. # [02:10] <Hixie> you don't really ever call .sort(), the idea is that the user clicks the <th> and it sorts for him
  299. # [02:11] <zewt> does it just sort visually, leaving the DOM order alone?
  300. # [02:11] <Hixie> changes dom
  301. # [02:11] <Hixie> stuart in the thread talked about having columns whose values don't get sorted (as in, the cells get moved to new rows so that they appear unmoved in the rendering even though the rest of the table moved), not sure how to do that exactly
  302. # [02:11] <zewt> so if you add items to the list, they'll end up at the end, and you can th.sort() to bump it to its sorted position
  303. # [02:12] <zewt> (which makes sense--a lot of UIs do that)
  304. # [02:12] <Hixie> yeah or we can have an autosort mode
  305. # [02:12] <Hixie> or an insertSorted method on tbody
  306. # [02:12] <zewt> though that wouldn't retain secondary sorts
  307. # [02:13] <Hixie> correct
  308. # [02:13] <zewt> (which might be annoying if you want that)
  309. # [02:13] <Hixie> nobody on the thread mentioned secondary sorts, but yeah
  310. # [02:13] <zewt> which isn't a rare case, eg. when sorting files by size you probably want filename secondary
  311. # [02:13] <Hixie> agreed
  312. # [02:15] <zewt> synthetic sort keys are pretty useful, eg. <time sort="123">ignored</time>
  313. # [02:16] <Hixie> that's why <time> and <data> are there
  314. # [02:16] <Hixie> afk. bbiab.
  315. # [02:17] <zewt> (if it's only used when it's the only element in the column then i'm not sure how that works)
  316. # [02:17] * Joins: danzik17 (~danzik17@ool-45787007.dyn.optonline.net)
  317. # [02:20] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
  318. # [02:20] * Quits: weinig (~weinig@17.114.105.137) (Quit: weinig)
  319. # [02:21] * Joins: karlcow (~karl@nerval.la-grange.net)
  320. # [02:27] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
  321. # [02:28] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
  322. # [02:28] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
  323. # [02:37] * Quits: othermaciej (~mjs@17.245.104.249) (Quit: othermaciej)
  324. # [02:42] * Quits: jamesr_ (jamesr@nat/google/x-sirkbhtirqlbhxji) (Quit: Ex-Chat)
  325. # [02:43] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
  326. # [02:49] * Quits: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Quit: Leaving)
  327. # [02:54] * heycam is now known as heycam|away
  328. # [03:18] <JonathanNeal> hello
  329. # [03:19] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
  330. # [03:19] <JonathanNeal> hi tantek, how's html classes?
  331. # [03:21] <tantek> Hi JonathanNeal, they're going well!
  332. # [03:21] * heycam|away is now known as heycam
  333. # [03:21] * Quits: pablof (~pablof@144.189.150.129) (Quit: ^z)
  334. # [03:22] <JonathanNeal> Good, and we're all in favor of <main> still? Good, good.
  335. # [03:23] * Quits: mkanat (mkanat@nat/google/x-uaitsdkbjeqafoqi) (Quit: Ex-Chat)
  336. # [03:25] * Quits: jacobolus (~jacobolus@75-144-246-6-SFBA.hfc.comcastbusiness.net) (Quit: Leaving...)
  337. # [03:36] * Joins: imrobert (~robert@139.62.87.109)
  338. # [03:37] * Joins: Mkop1 (~mkopinsky@unaffiliated/mkop)
  339. # [03:39] * Quits: say2joe (~say2joe@204.56.108.2) (Quit: Leaving.)
  340. # [03:41] * Joins: linclark_ (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
  341. # [03:41] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Ping timeout: 246 seconds)
  342. # [03:41] * linclark_ is now known as linclark
  343. # [03:42] * rniwa is now known as rniwa|afk
  344. # [03:42] * rniwa|afk is now known as rniwa|away
  345. # [03:47] * heycam is now known as heycam|away
  346. # [03:51] <tantek> JonathanNeal - almost all - http://w3cmemes.tumblr.com/post/34830376881/stop-energy-against-main-is-explained-to-the ;)
  347. # [03:51] * Quits: Mkop1 (~mkopinsky@unaffiliated/mkop) (Ping timeout: 248 seconds)
  348. # [03:54] * Joins: xiinotulp (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th)
  349. # [03:55] <Krinkle> Any dom spec-lingo expert here? http://www.w3.org/TR/dom/#dom-treewalker-nextnode
  350. # [03:55] <Krinkle> "If a node is following node and is not following root, set node to the first such node."
  351. # [03:55] <Krinkle> That line doesn't quite make sense to me
  352. # [03:55] <Krinkle> (I'm implementing TreeWalker in javascript as an experiment for something)
  353. # [03:56] <JonathanNeal> awww, i love Hixie, tantek.
  354. # [03:56] <Krinkle> isn't that just nextSibling? Also, how can a node following the currentNode (child of root) also be following root?
  355. # [03:56] <JonathanNeal> Someone was just asking me if I would post the source of a project I did and license it. What is the most free license I can give it, the weirdo MIT/GPL?
  356. # [03:57] <JonathanNeal> Whenever I use that one, someone says "you don't actually need to GPL it, just MIT is fine" but then someone says "but i need to use it as GPL and I'm scared".
  357. # [03:58] * Quits: plutoniix (~plutoniix@ppp-58-8-161-95.revip2.asianet.co.th) (Ping timeout: 246 seconds)
  358. # [04:00] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  359. # [04:00] <Krinkle> JonathanNeal: MIT is freeer than GPL
  360. # [04:00] <Krinkle> (in that MIT software can be used in GPL, but not the other way around)
  361. # [04:00] <Krinkle> So I'd recommend MIT.
  362. # [04:01] <Krinkle> Also, as the author and copyright holder you have the right to license work under multiple licenses, even those licenses are not compatible.
  363. # [04:02] <Krinkle> but yeah, MIT +GPL is legally an odd combination (albeit not uncommon) as MIT is compatible with GPL.
  364. # [04:05] * Quits: jwalden (~waldo@c-76-122-148-63.hsd1.mi.comcast.net) (Quit: good day, sirs and ladies)
  365. # [04:05] <zewt> there isn't much free about the GPL: "do it exactly the way we say"
  366. # [04:06] * Joins: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net)
  367. # [04:06] <zewt> <- gpl-jaded
  368. # [04:10] <JonathanNeal> I remember someone had a license that restricted use from explicitly "adult" projects. I think another license restricted use from projects that involved animal experimentation.
  369. # [04:12] * xiinotulp is now known as plutoniix
  370. # [04:16] <Krinkle> And then there is the famous "You shall use this program for Good, not Evil"
  371. # [04:16] <Krinkle> the ammendment to JSLint's GPL-based license
  372. # [04:16] <Krinkle> "The Software shall be used for Good, not Evil."
  373. # [04:16] <Krinkle> (MIT, not GPL)
  374. # [04:17] <Krinkle> https://github.com/douglascrockford/JSLint/blob/master/jslint.js#L16
  375. # [04:17] <zewt> now i feel like releasing some software and only allowing it to be used for pornographic purposes
  376. # [04:21] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  377. # [04:22] * Joins: erlehmann (~erlehmann@i59F6D210.versanet.de)
  378. # [04:24] * Quits: eresair (~eresair@173.247.199.2) (Remote host closed the connection)
  379. # [04:24] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  380. # [04:25] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  381. # [04:27] <JonathanNeal> I liked that clause. It reminded me of Google's motto.
  382. # [04:27] <JonathanNeal> Except, I think, Google couldn't use jslint because of this.
  383. # [04:27] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
  384. # [04:31] <zewt> playing games in licenses!=cool
  385. # [04:32] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Quit: linclark)
  386. # [04:47] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
  387. # [04:48] * heycam|away is now known as heycam
  388. # [04:56] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Ping timeout: 246 seconds)
  389. # [04:58] <Hixie> zewt: <td><data value="sort key">whatever the cell contains</data>
  390. # [05:02] * Joins: Mkop1 (~mkopinsky@unaffiliated/mkop)
  391. # [05:08] <Krinkle> <td data-sort-value="sort key">whatever the cell contains</td>
  392. # [05:12] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
  393. # [05:14] * Joins: OnlyMax (~OnlyMax@187-126-37-208.user.veloxzone.com.br)
  394. # [05:21] * Joins: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net)
  395. # [05:25] * Quits: dgorbik (~dgorbik@17.202.47.150) (Quit: Linkinus - http://linkinus.com)
  396. # [05:37] * Quits: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net) (Quit: JohnAlbin)
  397. # [05:39] * Joins: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net)
  398. # [05:41] * Quits: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net) (Client Quit)
  399. # [05:50] <heycam> it's a shame list-style-type and list-style-image aren't the same property
  400. # [05:55] <erlehmann> I have done an art http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038430.html
  401. # [05:56] <erlehmann> JonathanNeal, take note :)
  402. # [05:56] <erlehmann> also foolip :)
  403. # [06:08] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  404. # [06:12] <JonathanNeal> erlehmann: hey hey
  405. # [06:12] <JonathanNeal> how are you?
  406. # [06:14] <JonathanNeal> ps, erlehmann, see my latest pull requests? no regex.
  407. # [06:18] <erlehmann> i am sleepy
  408. # [06:18] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
  409. # [06:18] <erlehmann> as i live in berlin, i should not be awake right now
  410. # [06:18] <erlehmann> local time is 06:14
  411. # [06:18] <erlehmann> i will look at pull requests when i have slept enough
  412. # [06:18] * Quits: erlehmann (~erlehmann@i59F6D210.versanet.de) (Remote host closed the connection)
  413. # [06:18] <JonathanNeal> is that celsius time?
  414. # [06:18] <JonathanNeal> very well.
  415. # [06:19] <JonathanNeal> ping me the next time you are around
  416. # [06:20] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
  417. # [06:27] <heycam> lol ::-webkit-meter-even-less-good-value
  418. # [06:29] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
  419. # [06:29] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
  420. # [06:30] <heycam> is there a WebKit pseudo that selects a list item's bullet, like ::-moz-list-bullet?
  421. # [06:35] * heycam wonders if .someelement::before:hover { … } should work
  422. # [06:41] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
  423. # [06:42] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
  424. # [06:44] <MikeSmith> rniwa: ↑
  425. # [06:44] <rniwa> MikeSmith: ?
  426. # [06:44] <MikeSmith> heycam question
  427. # [06:44] <MikeSmith> 14:27 heycam: is there a WebKit pseudo that selects a list item's bullet, like ::-moz-list-bullet?
  428. # [06:45] <MikeSmith> heycam: could also ask on #webkit
  429. # [06:46] <heycam> MikeSmith, I might just do that
  430. # [06:46] <rniwa> MikeSmith, heycam: as far as i know, no.
  431. # [06:46] <rniwa> we have a FIXME in RenderListMarker.cpp:
  432. # [06:46] <rniwa> // FIXME: This is a somewhat arbitrary width. Generated images for markers really won't become particularly useful
  433. # [06:46] <rniwa> // until we support the CSS3 marker pseudoclass to allow control over the width and height of the marker box.
  434. # [06:46] <heycam> rniwa, ah ok, thanks. I guess the long term plan is ::marker?
  435. # [06:46] <rniwa> heycam: whatever CSS3 spec. says
  436. # [06:47] <heycam> ok :)
  437. # [06:47] <heycam> thanks
  438. # [06:47] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 260 seconds)
  439. # [06:47] <rniwa> heycam: list marker was a mess in webkit
  440. # [06:47] <rniwa> heycam: someone very recently rewrote that thing using some pseudo element idiom
  441. # [06:47] <heycam> oh, cool
  442. # [06:47] <heycam> I'm really just wondering what to do for the details/summary disclosure triangle thing
  443. # [06:48] <rniwa> heycam: until very recently we had O(2^n) implementation :/
  444. # [06:48] <heycam> and testing what things are possible with regular bullets (like whether you can :hover them etc.)
  445. # [06:48] <heycam> rniwa, ouch
  446. # [06:48] * Krinkle is now known as Krinkle|detached
  447. # [06:48] * Quits: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net) (Quit: jonlee)
  448. # [06:49] <rniwa> heycam: indeed.
  449. # [06:49] <MikeSmith> heycam: I'm not convinced it's important to make the disclosure triangle style-able
  450. # [06:49] <rniwa> heycam: i believe our implementation is now O(n^2)
  451. # [06:49] <MikeSmith> heycam: though I know Lachlan and others feel otherwise
  452. # [06:49] <rniwa> heycam: although the old implementation was O(n) in common cases...
  453. # [06:50] <heycam> rniwa, is this for numbering? or something else?
  454. # [06:50] <rniwa> heycam: yeah.
  455. # [06:50] <heycam> MikeSmith, I like the idea of being able to style it
  456. # [06:50] <MikeSmith> ok
  457. # [06:50] <heycam> MikeSmith, I think people will want to, so may as well come up with a sane way to expose it to CSS
  458. # [06:50] <rniwa> heycam: we had some crazy code doing some crazy things.
  459. # [06:50] <heycam> rniwa, don't we all ;)
  460. # [06:51] <rniwa> indeed.
  461. # [06:52] * Joins: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net)
  462. # [06:53] * Krinkle|detached is now known as Krinkle
  463. # [06:54] <MikeSmith> btw when abarth says "limits are necessary so that implementations don't end up having to do quadratic work" in http://lists.w3.org/Archives/Public/public-whatwg-archive/2012Nov/0019.html he means in order to avoid ending up in O(n^2) ?
  464. # [06:55] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Quit: Leaving...)
  465. # [06:55] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
  466. # [06:56] <heycam> yeah
  467. # [07:00] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
  468. # [07:00] <MikeSmith> it's going to be interesting to see how Hixie fixes that
  469. # [07:00] * Joins: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net)
  470. # [07:05] * Quits: [[zz]] (~q@node-18zg.pool-101-109.dynamic.totbb.net) (Ping timeout: 272 seconds)
  471. # [07:09] * Quits: danzik17 (~danzik17@ool-45787007.dyn.optonline.net) (Ping timeout: 246 seconds)
  472. # [07:11] * Joins: mattgifford (~mattgiffo@108.161.20.199)
  473. # [07:11] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
  474. # [07:15] * Joins: weinig (~weinig@24.130.60.35)
  475. # [07:15] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
  476. # [07:17] * Quits: jsoncorwin (~textual@c-50-131-117-90.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
  477. # [07:18] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  478. # [07:19] * Joins: jsoncorwin (~textual@c-50-131-117-90.hsd1.ca.comcast.net)
  479. # [07:22] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
  480. # [07:22] * Joins: mattgifford (~mattgiffo@108.161.20.199)
  481. # [07:26] * Quits: Mkop1 (~mkopinsky@unaffiliated/mkop) (Ping timeout: 264 seconds)
  482. # [07:27] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 255 seconds)
  483. # [07:27] * Joins: niloy (~niloy@203.196.177.156)
  484. # [07:30] * Joins: hdhoang (~hdhoang@113.190.37.242)
  485. # [07:30] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
  486. # [07:31] * Quits: weinig (~weinig@24.130.60.35) (Quit: weinig)
  487. # [07:35] * heycam is now known as heycam|away
  488. # [07:37] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
  489. # [07:39] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
  490. # [07:41] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
  491. # [07:41] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
  492. # [07:43] * Quits: rniwa|away (~rniwa@2620:149:4:1b01:7c85:c1ad:246e:4038) (Quit: rniwa|away)
  493. # [07:45] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  494. # [07:45] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 255 seconds)
  495. # [07:50] * Parts: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
  496. # [07:50] * Joins: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com)
  497. # [07:51] * Joins: weinig (~weinig@24.130.60.35)
  498. # [07:52] * Joins: alrra (~alrra@188.24.81.60)
  499. # [07:52] * Quits: alrra (~alrra@188.24.81.60) (Changing host)
  500. # [07:52] * Joins: alrra (~alrra@unaffiliated/alrra)
  501. # [08:09] * Quits: weinig (~weinig@24.130.60.35) (Quit: weinig)
  502. # [08:11] * Joins: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com)
  503. # [08:13] <Stevef> MikeSmith: a major reason why devs don't use a native controls over a custom control is because they cannotstyle them as they want, so suggest it is a big deal if the triangle is stylable
  504. # [08:14] <Stevef> Mikesmith: often times devs want + and - symbols for disclousyre widgets
  505. # [08:19] <MikeSmith> Stevef: so they can use one of the libraries that already provides the equivalent of details+summary
  506. # [08:20] <MikeSmith> they want to style the calendar widget for the input date controls too
  507. # [08:20] <Stevef> mikesmith: doesn't that defeat the point of having a native widget?
  508. # [08:20] <MikeSmith> no
  509. # [08:20] <MikeSmith> it just means if you want the native widget you might have to live a tradeoff
  510. # [08:21] <MikeSmith> and if you want fine-tuned control, move to doing it in JS
  511. # [08:21] <Stevef> mikesmith: thats why we have <a> this is a button</a> still
  512. # [08:23] <MikeSmith> not following you
  513. # [08:26] <MikeSmith> but anyway I can imagine that a lot site are going to just keep using custom date-pickers and details+summary-like things in JS because if they use the native controls they are never going to get the same kind of flexibility and themeing hooks they need
  514. # [08:26] <MikeSmith> I don't imagine a lot of them are going to move already from what they're already using and replace it with the native controls
  515. # [08:28] <Stevef> dev's will use whatever element they find makes it possible to style as they want
  516. # [08:28] * Quits: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com) (Quit: Leaving.)
  517. # [08:28] * Joins: dydx (~dydz@76-220-18-65.lightspeed.sntcca.sbcglobal.net)
  518. # [08:28] <Stevef> so you are saying the benefits of having native widgets are limited
  519. # [08:28] <Stevef> or the appeal is limited
  520. # [08:30] <Stevef> think the difference between providing stylability for disclosure triangle and dat picker UI is chalk and cheese
  521. # [08:31] <Stevef> "but anyway I can imagine that a lot site are going to just keep using custom date-pickers" agree on that
  522. # [08:31] * Joins: Ducki (~Ducki@pD9E397A3.dip0.t-ipconnect.de)
  523. # [08:33] <Stevef> but its unfortunate that simple widgets can have the flexibility ofstying that devs want as it makes it harder to provide accessibility - hence ARIA
  524. # [08:33] <Stevef> cannot have
  525. # [08:34] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 255 seconds)
  526. # [08:34] <Stevef> but why should i be arguing - more work for the "accessibility industry"
  527. # [08:37] * Quits: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net) (Ping timeout: 260 seconds)
  528. # [08:39] * Joins: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net)
  529. # [08:40] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
  530. # [08:50] * Quits: dydx (~dydz@76-220-18-65.lightspeed.sntcca.sbcglobal.net) (Quit: dydx)
  531. # [08:52] * Joins: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr)
  532. # [08:59] * Quits: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net) (Ping timeout: 264 seconds)
  533. # [09:00] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
  534. # [09:00] * Joins: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net)
  535. # [09:01] * Quits: imrobert (~robert@139.62.87.109) (Quit: leaving)
  536. # [09:06] * heycam|away is now known as heycam
  537. # [09:14] <jgraham> Stevef: Styling native controls is not a trivial problem, which is much of the reason it hasn't been solved
  538. # [09:15] * Joins: Ms2ger (~Ms2ger@109.133.25.170)
  539. # [09:15] * heycam is now known as heycam|away
  540. # [09:24] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: This computer has gone to sleep)
  541. # [09:25] <Stevef> jgraham: acknowledged, but it has been a long running sore and if it can't be resolved the utility of native controls are sorely diminished
  542. # [09:28] * Joins: darobin (~darobin@78.109.80.74)
  543. # [09:32] <jgraham> Well yes, but wishing won't make it so. Apart from web components, which sidestep the problem, I don't think anyone knows what a solution should look like
  544. # [09:34] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
  545. # [09:36] <Krinkle> Ms2ger: Hi, I finished the test suite (and implementation) https://github.com/Krinkle/dom-TreeWalker-polyfill
  546. # [09:37] * [[zzz]] is now known as [[zz]]
  547. # [09:37] <Ms2ger> jgraham is going to be sad about QUnit :)
  548. # [09:38] <Krinkle> well, in my repo / auto-integrated with Travis-CI etc. I'm not going to use some in-house format that nobody ever heard of, so QUnit yeah,.
  549. # [09:38] * Quits: Kolombiken (~Adium@217.13.228.226) (Ping timeout: 250 seconds)
  550. # [09:38] <Krinkle> But it's FOSS, so by all means. It's 99% just find and replace for what W3 is using
  551. # [09:39] <Krinkle> your test suite syntax is almost identical
  552. # [09:39] <Krinkle> Ms2ger: but before I knock myself out I'd like to get 2 things done
  553. # [09:40] <Krinkle> 1) fix the spec (if indeed I am right, again), 2) your ok on the contents of the tests.
  554. # [09:40] <Krinkle> (as opposed to the syntax)
  555. # [09:41] * Joins: Kolombiken (~Adium@217.13.228.226)
  556. # [09:42] <Ms2ger> I'm going to leave that to annevk, if you don't mind; I haven't really looked at the traversal algorithms
  557. # [09:42] <Krinkle> Ms2ger: Okay, what do you suggest I do?
  558. # [09:44] <Ms2ger> For?
  559. # [09:44] <Krinkle> 1 or 2
  560. # [09:44] <Krinkle> to verify that the spec is incorrect, and getting it fixed. and to get the tests submitted on the webapps testing site
  561. # [09:45] <Ms2ger> Oh, there was another bug?
  562. # [09:45] <Krinkle> Yeah, I found one more.
  563. # [09:45] <Krinkle> In TreeWalker::nextNode
  564. # [09:46] * Joins: sedovsek (~robert@89.143.12.238)
  565. # [09:46] <Krinkle> Implementing it as-is either stayed at the root node (similar to yesterday's firstChild() bug) or it gets in an infinite loop.
  566. # [09:46] <Krinkle> But that might be due to me misunderstanding the spec language. There is one passage in particular that puzzles me
  567. # [09:47] <Krinkle> Interestingly WebKit's implementation of TreeWalker::nextNode is, contrary to any other TreeWalker methods, very different than the spec. (although probably what the spec should be)
  568. # [09:48] <Krinkle> There hard part is where nextNode is supposed to go from one node's last child into the next parent's sibling's first child.
  569. # [09:48] <Krinkle> in other words nextNode is the magic method that goes through the entire dom without having to call any other methods.
  570. # [09:49] <Krinkle> So whenever it hits the end of a node's children it goes back up until it finds a parent with a next sibling and continues on
  571. # [09:49] <Ms2ger> Could you quote the confusing part?
  572. # [09:49] <Krinkle> that's a pretty complex part that the current spec doesn't very well elaborate on (or I'm not seeing it)
  573. # [09:49] <Krinkle> sure
  574. # [09:49] <Krinkle> http://www.w3.org/TR/dom/#dom-treewalker-nextnode
  575. # [09:50] <Krinkle> "If a node is following node and is not following root, set node to the first such node."
  576. # [09:50] <Krinkle> that one sentence supposedly represents my last 5 lines
  577. # [09:50] <Krinkle> following does link to a concept, but that doesn't elaborate much
  578. # [09:51] <Krinkle> the definition of concept-following sounds like "next sibling"
  579. # [09:51] <Ms2ger> Ah, no
  580. # [09:52] <Ms2ger> following refers to a preorder, depth-first traversal
  581. # [09:52] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
  582. # [09:52] <Ms2ger> So in <a><b><c/></b><d/></a>
  583. # [09:52] <Ms2ger> d is following b
  584. # [09:52] <Ms2ger> Hi annevk :)
  585. # [09:52] <Krinkle> Ms2ger: Yeah, I get it now. I implemented it all right :)
  586. # [09:52] <annevk> morning
  587. # [09:53] <annevk> more TreeWalker bugs?
  588. # [09:53] <Krinkle> But the implementation is pretty complex (like 40 lines of code)
  589. # [09:53] <Krinkle> so I think maybe it would deserve a little more elaborate on what exactly it means.
  590. # [09:53] <Krinkle> Or is it obvious enough?
  591. # [09:53] <Krinkle> https://github.com/Krinkle/dom-TreeWalker-polyfill/blob/master/src/TreeWalker-polyfill.js#L357
  592. # [09:53] <Krinkle> this sentence is the while loop with nextSkippingChildren
  593. # [09:54] <Krinkle> the while loop is like 14 lines, and then nextSkippingChildren is entirely separate and not in the spec.
  594. # [09:54] <Krinkle> I guess nextSkippingChildren is "following node"
  595. # [09:55] * Joins: alrra (~alrra@188.24.81.60)
  596. # [09:55] * Quits: alrra (~alrra@188.24.81.60) (Changing host)
  597. # [09:55] * Joins: alrra (~alrra@unaffiliated/alrra)
  598. # [09:55] <Krinkle> but really, forget about "following node" that is clear enough.
  599. # [09:55] <Krinkle> I meant to address the rest of the steps in TreeWalker::nextNode
  600. # [09:55] <Krinkle> Such as "Let result be FILTER_ACCEPT."
  601. # [09:57] <Krinkle> followed by "While result is not FILTER_ACCEPT "
  602. # [09:57] <Krinkle> I think it is missing a "Filter node" somewhere
  603. # [09:57] <Krinkle> and "set node to first child if not null" or something
  604. # [09:57] <Krinkle> based on the WebKit implementation (and my own)
  605. # [09:58] <Krinkle> am I making sense/
  606. # [09:58] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
  607. # [09:58] * Quits: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr) (Ping timeout: 264 seconds)
  608. # [09:59] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
  609. # [10:00] <Krinkle> annevk: Maybe you have a minute to walk through this particular method and compare it with the tests I wrote and the WebKit implementation. Since they appear to take a completely different approach to the thing and the one in the spec is either misintepreted or indeed contains a bug.
  610. # [10:01] * abstractj|away is now known as abstractj
  611. # [10:01] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Client Quit)
  612. # [10:01] * Joins: charl_ (~charl@charl.eu)
  613. # [10:02] * Joins: henrikkok (~henrikkok@81.27.221.193)
  614. # [10:02] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
  615. # [10:03] * Joins: Smylers (~smylers@94.116.100.255)
  616. # [10:04] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
  617. # [10:08] <annevk> Krinkle: nextNode() looks mostly correct although it uses a shortcut for something that's likely more complicated in an implementation and there a bug in the end that it doesn't run the substeps again if the return value is not FILTER_ACCEPT
  618. # [10:09] * Quits: Smylers (~smylers@94.116.100.255) (Ping timeout: 252 seconds)
  619. # [10:09] <Krinkle> after 3.2. "Otherwise, run these substeps again" causes an infinite loop in my tests.
  620. # [10:09] <Krinkle> and it is indeed missing handling for REJECT
  621. # [10:10] <Krinkle> Compare the two implementations next to each other (nextNode#WebKit / nextNodeW3) https://github.com/Krinkle/dom-TreeWalker-polyfill/blob/master/src/TreeWalker-polyfill.js#L349
  622. # [10:11] <Krinkle> The initial setting of result to FILTER_ACCEPT also seems suspiciou
  623. # [10:12] <Krinkle> and needs return null at the end I guess
  624. # [10:12] <annevk> yeah
  625. # [10:12] <annevk> and 3.2 indeed needs to account for there not being a following node
  626. # [10:13] <Krinkle> previousNode also needs a return null at the end (documented with // + in my code, lines I addedd)
  627. # [10:14] * jgraham obviously needs to join more mailing lists
  628. # [10:14] <Krinkle> the spec is setting result to ACCEPT, so the first while loop is never entered. The first dom lookup the spec does is "following node"
  629. # [10:14] <Krinkle> whereas the first lookup should be first child
  630. # [10:14] <jgraham> I only got 66% of the TestTWF list announcement mails
  631. # [10:14] <Krinkle> following node is a last result if there are no children
  632. # [10:15] <Krinkle> resort*
  633. # [10:20] <Krinkle> annevk: are you doing something with this at the moment (want to avoid us doing double work)
  634. # [10:21] <annevk> oops, the first loop should check for REJECT
  635. # [10:21] <annevk> well I'm planning on fixing this today, ideally within the next few hours
  636. # [10:21] <Krinkle> and 3.2 needs to repeat it self if the "following node" is not accepted.
  637. # [10:21] <annevk> but there's also breakfast and such :)
  638. # [10:21] <Krinkle> annevk: ah, xs4all, so that's the Netherlands
  639. # [10:21] <Krinkle> annevk: ben momenteel serious request aan het kijken :)
  640. # [10:22] <annevk> heh
  641. # [10:23] <Ms2ger> Oh dear, more Dutch?
  642. # [10:23] <Krinkle> annevk: the repo is at your disposal, let me know if there's anything I can do or if you have a revision I can look at.
  643. # [10:23] <Krinkle> Ms2ger: yeah, I'm afraid so. We have the same atmosphere at Wikimedia (the Dutch are slowly taking over the office)
  644. # [10:24] <annevk> Krinkle: sorry, I missed you started patching the source text
  645. # [10:25] <annevk> Krinkle: I'm happy for you to write the patches as long as you agree to the CC0 license terms
  646. # [10:25] <Krinkle> annevk: I didn't. Not for this bug.
  647. # [10:25] <annevk> ah okay
  648. # [10:25] <Krinkle> I'm happy to agree, but I don't think I'm good enough at writing these kind of texts. I'll review/test :)
  649. # [10:25] <annevk> kk
  650. # [10:25] <annevk> ah I see, you pointed out copypasta
  651. # [10:25] * annevk got confused by github
  652. # [10:27] * Joins: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com)
  653. # [10:27] * Joins: Lachy (~Lachy@cm-84.215.19.229.getinternet.no)
  654. # [10:29] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
  655. # [10:31] * Quits: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com) (Client Quit)
  656. # [10:31] * Joins: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com)
  657. # [10:35] * Joins: nonge_ (~nonge@p50829CA1.dip.t-dialin.net)
  658. # [10:35] * Joins: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net)
  659. # [10:38] * Joins: SimonSapin (~simon@vev69-1-82-232-219-95.fbx.proxad.net)
  660. # [10:38] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 250 seconds)
  661. # [10:39] * Quits: nonge (~nonge@p508295AB.dip.t-dialin.net) (Ping timeout: 265 seconds)
  662. # [10:41] <annevk> whoa, mnot was in this channel
  663. # [10:41] * Quits: Famic (famic@hidden.dns.ug) (Read error: Operation timed out)
  664. # [10:42] * Joins: Famic (famic@hidden.dns.ug)
  665. # [10:42] * Joins: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de)
  666. # [10:48] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
  667. # [10:50] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 265 seconds)
  668. # [10:50] * Quits: kochi (~kochi@2401:fa00:4:1004:26be:5ff:fe03:db82) (Remote host closed the connection)
  669. # [10:54] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
  670. # [10:54] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Read error: Connection reset by peer)
  671. # [10:54] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
  672. # [10:56] * Joins: sedovsek_ (~robert@89.143.12.238)
  673. # [10:56] * Joins: Stevef_ (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com)
  674. # [10:57] * Joins: danielfi_ (~danielfil@200.232.113.107)
  675. # [10:57] * Joins: hdhoang1 (~hdhoang@113.190.37.242)
  676. # [10:57] * Quits: Lachy (~Lachy@cm-84.215.19.229.getinternet.no) (Quit: Computer has gone to sleep.)
  677. # [10:59] * Joins: drublic (~drublic@p5098a42b.dip0.t-ipconnect.de)
  678. # [10:59] * Joins: jmb^ (~jmb@mail.parsifal.org.uk)
  679. # [11:00] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  680. # [11:04] * Quits: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net) (Quit: jonlee)
  681. # [11:05] * Quits: sedovsek (~robert@89.143.12.238) (*.net *.split)
  682. # [11:05] * Quits: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com) (*.net *.split)
  683. # [11:05] * Quits: hdhoang (~hdhoang@113.190.37.242) (*.net *.split)
  684. # [11:05] * Quits: plutoniix (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th) (*.net *.split)
  685. # [11:05] * Quits: eighty4 (~eighty4@unaffiliated/eighty4) (*.net *.split)
  686. # [11:05] * Quits: danielfilho|w (~danielfil@200.232.113.107) (*.net *.split)
  687. # [11:05] * Quits: eric_carlson (~eric@2620:149:4:1b01:ac08:cbec:b81e:1e80) (*.net *.split)
  688. # [11:05] * Quits: shanestephens (~shanestep@2401:fa00::74da:86f6:47ab:769b) (*.net *.split)
  689. # [11:05] * Quits: jmb (~jmb@mail.parsifal.org.uk) (*.net *.split)
  690. # [11:05] * Quits: heath (quassel@unaffiliated/ybit) (*.net *.split)
  691. # [11:05] * sedovsek_ is now known as sedovsek
  692. # [11:08] <odinho> Bah, interesting stuff happens when I'm sleeping. :/
  693. # [11:09] <odinho> In my "how I think a normal web dev would use it" perf tests Fx IDB severely beats every other implementation.
  694. # [11:12] * Joins: plutoniix (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th)
  695. # [11:14] * Joins: yod (~ot@gatec.kw.bbc.co.uk)
  696. # [11:18] * Joins: richt (~richt@office.oslo.opera.com)
  697. # [11:19] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
  698. # Session Close: Thu Dec 20 11:23:44 2012
  699. #
  700. # Session Start: Thu Dec 20 11:23:44 2012
  701. # Session Ident: #whatwg
  702. # [11:23] * Disconnected
  703. # [11:26] * Attempting to rejoin channel #whatwg
  704. # [11:26] * Rejoined channel #whatwg
  705. # [11:26] * Topic is 'WHATWG: http://www.whatwg.org/ -- logs: http://krijnhoetmer.nl/irc-logs/ & http://logbot.glob.com.au/ -- stats: http://gavinsharp.com/irc/whatwg.html -- Please leave your sense of logic at the door, thanks!'
  706. # [11:26] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
  707. # [11:26] * Quits: plutoniix (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th) (Quit: จรลี จรลา)
  708. # [11:28] * Joins: bzed_ (~bzed@devel.recluse.de)
  709. # [11:28] * Joins: jmb (~jmb@mail.parsifal.org.uk)
  710. # [11:29] * Joins: reggna_ (~reggna@irc.jagochmittmoln.se)
  711. # [11:29] * Joins: scheib_ (uid4467@gateway/web/irccloud.com/x-hvczvwsybtdyloch)
  712. # [11:29] * Joins: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de)
  713. # [11:30] * Quits: Ducki (~Ducki@pD9E397A3.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
  714. # [11:31] * Quits: scottjehl__ (uid3055@gateway/web/irccloud.com/x-uojnuptmvsecjzny) (Ping timeout: 245 seconds)
  715. # [11:31] * Quits: dglazkov (uid4270@gateway/web/irccloud.com/x-eftumkyzitwgdcaj) (Ping timeout: 245 seconds)
  716. # [11:32] * Quits: beverloo (beverloo@nat/google/x-xmufiyktruyzjzlv) (Ping timeout: 245 seconds)
  717. # [11:32] * Quits: reggna (~reggna@irc.jagochmittmoln.se) (Ping timeout: 245 seconds)
  718. # [11:32] * Quits: krijnh (~krijnhoet@ip4da4a84d.direct-adsl.nl) (Ping timeout: 245 seconds)
  719. # [11:32] * Quits: scheib (uid4467@gateway/web/irccloud.com/x-aneyvncvdkwyiklx) (Ping timeout: 260 seconds)
  720. # [11:32] * Quits: jmb^ (~jmb@mail.parsifal.org.uk) (Ping timeout: 260 seconds)
  721. # [11:32] * Quits: hsivonen (~hsivonen@srv-e205.esp.mediateam.fi) (Ping timeout: 260 seconds)
  722. # [11:32] * Quits: alrra (~alrra@unaffiliated/alrra) (Ping timeout: 260 seconds)
  723. # [11:32] * Quits: bzed (~bzed@devel.recluse.de) (Ping timeout: 260 seconds)
  724. # [11:32] * Quits: Moo^_^ (miohtama@lakka.kapsi.fi) (Ping timeout: 260 seconds)
  725. # [11:32] * bzed_ is now known as bzed
  726. # [11:32] * Parts: alrra_ (~alrra@188.24.81.60) ("Leaving")
  727. # [11:33] * Joins: hsivonen (~hsivonen@srv-e205.esp.mediateam.fi)
  728. # [11:33] * scheib_ is now known as scheib
  729. # [11:35] * Quits: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de) (Ping timeout: 244 seconds)
  730. # [11:35] * Joins: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net)
  731. # [11:36] * Joins: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de)
  732. # [11:38] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
  733. # [11:40] * Joins: Lachy (~Lachy@office.oslo.opera.com)
  734. # [11:44] <Ms2ger> odinho, duh? :)
  735. # [11:45] * Krinkle is now known as Krinkle|detached
  736. # [11:46] <odinho> Ms2ger: what are you duh-ing at?
  737. # [11:47] <Ms2ger> That our perf beats everyone ;)
  738. # [11:47] <odinho> Ms2ger: Is that really so obvious? I was suprised about it... Since the backends in a raw speed competition, levelDB win hands down.
  739. # [11:48] <odinho> Ms2ger: We also use SQLite, btw. And comparable to Firefox. IE is a bit slower, especially some operations is bad, but Chrome is really suprisingly slow. Outliner slow.
  740. # [11:48] <Ms2ger> I like to think it's obvious my browser is best at everything :)
  741. # [11:49] <odinho> IE is really fast at some syntethic stuff too, and beats everyone there.
  742. # [11:49] <Ms2ger> Now *that* sounds surprising :)
  743. # [11:52] <rniwa> odinho: the last i checked, the problem with chrome is to do with IPCs
  744. # [11:53] <rniwa> odinho: because they have to sync data between multiple renderer processes
  745. # [11:53] <rniwa> odinho: they end up sending lots of data via sync IPCs :(
  746. # [11:54] <odinho> rniwa: Yeah, I saw that. I was interested why it was so horribly slow :-) You have a bug for it too.
  747. # [11:54] <odinho> rniwa: But y'know, normal people don't care why ;-)
  748. # [11:54] <rniwa> odinho: yeah
  749. # [11:54] <rniwa> odinho: yup.
  750. # [11:55] * Joins: ps201212 (021bb194@gateway/web/freenode/ip.2.27.177.148)
  751. # [11:56] * Quits: ps201212 (021bb194@gateway/web/freenode/ip.2.27.177.148) (Client Quit)
  752. # [11:58] * Quits: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net) (Quit: rniwa)
  753. # [12:00] * Quits: Kolombiken (~Adium@217.13.228.226) (Quit: Leaving.)
  754. # [12:13] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
  755. # [12:17] <annevk> Krinkle|detached: bugs should be fixed now
  756. # [12:34] * Joins: izhak (~izhak@213.87.240.75)
  757. # [12:38] <jgraham> darobin: http://philip.html5.org/tests/canvas/suite/tests/spec.html but I dunno if it ever made it to W3C space
  758. # [12:38] <jgraham> It is out of date of course
  759. # [12:41] <annevk> Krinkle|detached: can't you do Document.prototype.createTreeWalker() although I guess that might not work that well given the mess that is Document
  760. # [12:43] <darobin> jgraham: I think those are the tests I have; at least some of them
  761. # [12:43] <darobin> the file names are pretty similar at any rate
  762. # [12:44] <jgraham> darobin: Right, it is Philip's original testsuite
  763. # [12:45] <Ms2ger> darobin, they're under submission/PhilipTaylor somewhere
  764. # [12:45] <darobin> it needs some good updating
  765. # [12:45] <darobin> I'll see about merging stuff that needs to be afterwards
  766. # [12:45] <jgraham> Which has then been imported and updated by various browsers and the W3C
  767. # [12:45] <darobin> right now I'm concerned about fixing the ~5000 broken links that can be :)
  768. # [12:45] <jgraham> I don't think that the *tests* there are useful
  769. # [12:46] <jgraham> But that's the annotated spec you were looking for
  770. # [12:46] <darobin> oh!
  771. # [12:46] <darobin> ok, sorry, I was missing the context of why you were telling me this :)
  772. # [12:47] <jgraham> (or, to be clear the tests there are very useful. But we are already making use of them)
  773. # [12:47] <Ms2ger> This is the index: http://www.w3c-test.org/html/tests/submission/PhilipTaylor/canvas/
  774. # [12:49] <Ms2ger> And this is the annotated spec: http://www.w3c-test.org/html/tests/submission/PhilipTaylor/annotated-spec/canvas.html
  775. # [12:49] <Ms2ger> darobin, ^
  776. # [12:50] <darobin> cheers
  777. # [12:50] <darobin> I don't know, do we want that kind of document in the TS?
  778. # [12:50] <darobin> I'd rather it lived outside
  779. # [12:51] <darobin> also, if I import the index stuff all its links will be broken
  780. # [12:51] <jgraham> I don't think we do
  781. # [12:51] <jgraham> I think we want the actual spec to look at lot more like that version
  782. # [12:51] <darobin> mmmmm, three of the XHTML tests in the TS are in UTF16 for no apparent good reason
  783. # [12:51] <darobin> yeah that makes sense
  784. # [12:52] <darobin> ok, some of those XHTML files really don't make any fucking sense whatsoever (to me)
  785. # [12:53] <darobin> take tests/html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml for instance
  786. # [12:53] <darobin> it claims to be XHTML, but it has no doctype
  787. # [12:53] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 246 seconds)
  788. # [12:53] * Joins: Kolombiken (~Adium@217.13.228.226)
  789. # [12:53] <darobin> and it's testing that the "text" attribute of body does indeed change the text colour
  790. # [12:53] <darobin> why would this ever want to be XHTML and in UTF16?
  791. # [12:54] <jgraham> Who wrote the test?
  792. # [12:54] <darobin> dunno
  793. # [12:54] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
  794. # [12:54] <darobin> but I reckon the same person for the three offenders
  795. # [12:55] <jgraham> You don't need a doctype to be XHTML, right?
  796. # [12:55] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  797. # [12:55] <jgraham> I thought it was recommended not to. Although then I wonder if/how entities work
  798. # [12:55] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
  799. # [12:55] * Joins: mpt (~mpt@nat/canonical/x-vpnwoxefrtzcjywk)
  800. # [12:55] * Quits: mpt (~mpt@nat/canonical/x-vpnwoxefrtzcjywk) (Changing host)
  801. # [12:55] * Joins: mpt (~mpt@canonical/mpt)
  802. # [12:55] <annevk> you don't and they don't
  803. # [12:56] <annevk> but you can't and then they might
  804. # [12:56] <darobin> I hope no one will care if those tests somehow magically become UTF8
  805. # [13:02] <darobin> ok, all the links should either be fixed or utterly broken now
  806. # [13:02] <darobin> MikeSmith: ping
  807. # [13:03] * Quits: mbatle (mbatle@pasanda.collabora.co.uk) (Ping timeout: 240 seconds)
  808. # [13:03] * Joins: mbatle (mbatle@pasanda.collabora.co.uk)
  809. # [13:05] <Ms2ger> Microsoft wrote it, it's actually useful
  810. # [13:05] <Ms2ger> Caught a bug in Gecko
  811. # [13:05] <Ms2ger> But yes, should be utf-8
  812. # [13:05] <darobin> ok, good to know
  813. # [13:05] <darobin> I've converted it
  814. # [13:05] <odinho> So this testing move, only html tests get a cleanup?
  815. # [13:06] <odinho> webapps and webappsec could also need a spring cleaning.
  816. # [13:06] <darobin> odinho: you were thinking of webapps tests?
  817. # [13:06] <darobin> right
  818. # [13:06] <odinho> I don't really se the use of deepening the hierarchy by having a special "tests/" folder at all. That's what the repository is made for anyway :P
  819. # [13:06] <darobin> the plan as discussed with ArtB and chaals was that once the HTML WG had agreed on the Right Way To Do It they would follow
  820. # [13:06] <odinho> Okay
  821. # [13:07] <darobin> odinho: you had a chance to speak up to that yesterday — today that chance is gone ;-)
  822. # [13:07] <odinho> I guess I should add metadata as well, at least blame-information (autor meta), since we're switching system.
  823. # [13:07] <darobin> I think we have all the blame history imported from hg
  824. # [13:07] <odinho> darobin: I was in the meeting yesterday, -- we didn't talk about stuff like that :-)
  825. # [13:07] <Ms2ger> odinho, I told him to get rid of it, but he didn't want to :)
  826. # [13:07] <Ms2ger> The meeting was on Tuesday
  827. # [13:07] <darobin> odinho: I meant here on IRC
  828. # [13:08] <darobin> odinho: Ms2ger suggested that, but it would have caused me extra work and he didn't seem adamant
  829. # [13:08] <darobin> I also (without much passion) like the idea of just pointing a web server at tests and not worrying that I'm also exposing tools, etc.
  830. # [13:08] <darobin> but *shrug*
  831. # [13:09] <Ms2ger> Is there anything useful in tools?
  832. # [13:09] <darobin> a few things, but it's not clear that it's dangerous
  833. # [13:10] <darobin> actually, now that my bunch of scripts have done their work, moving out of tests would be less work for me than it was yesterday
  834. # [13:10] <darobin> so if you guys each promise me a beer, I'll do it
  835. # [13:11] <odinho> Doesn't sound like a bad deal.
  836. # [13:11] <odinho> You might never get Ms2ger's though :P
  837. # [13:11] <Ms2ger> Sure
  838. # [13:11] <jgraham> What if I promise you a negative beer?
  839. # [13:11] <darobin> see? even Ms2ger buys beer
  840. # [13:11] <darobin> jgraham: I probably already owe you beer anyway
  841. # [13:11] <jgraham> Next time I see you with a beer, I will take it off you
  842. # [13:11] <jgraham> Actually I don't drink beer, so you are good :)
  843. # [13:12] <odinho> "relieve you of it", lol
  844. # [13:12] <jgraham> Anyway, I don't really have an opinion on tests/ vs not
  845. # [13:12] <jgraham> although it doesn't really seem that harmful to have it
  846. # [13:12] <Ms2ger> darobin, but don't come near jgraham with a glass of hot chocolate...
  847. # [13:13] <darobin> since I profoundly dislike hot chocolate, I will be happy to hand any such glass I may have to jgraham
  848. # [13:13] <jgraham> I get the feeling that removing tests/ means that we will end up with a html-tools repo soon enough
  849. # [13:13] <darobin> ok, I've moved the hierarchy one level up
  850. # [13:14] <darobin> jgraham: we already have an html-tools repo :)
  851. # [13:14] <jgraham> darobin: You would get on well with the people in the bar at the hotel in Lyon
  852. # [13:14] <odinho> jgraham: sounds nice, already have resources, and that works :]
  853. # [13:14] <jgraham> They apparently can't serve hot drinks after 9pm
  854. # [13:14] <jgraham> Well couldn't
  855. # [13:14] <darobin> in general it makes sense for the tools not to use the same branching as the content they apply to
  856. # [13:14] <jgraham> I suppose it is not impossible that this particular piece of insanity has ended already
  857. # [13:15] <jgraham> Sure
  858. # [13:15] <darobin> jgraham: yeah, that's common in France, especially in the province
  859. # [13:15] <jgraham> Oh, the whole country is mad
  860. # [13:15] <darobin> cleaning up the coffee machine takes time, so they do it well before the end of the shift
  861. # [13:15] * Quits: yod (~ot@gatec.kw.bbc.co.uk) (Quit: Leaving.)
  862. # [13:15] <darobin> no no, in Paris you can normally get hot stuff up till 2am
  863. # [13:16] <darobin> and of course likewise in any place that serves food
  864. # [13:16] * Krinkle|detached is now known as Krinkle
  865. # [13:16] <jgraham> That wasn't much help to me :)
  866. # [13:16] <darobin> as a former barman, I always served hot beverages up to whenever the night ended
  867. # [13:16] <jgraham> Now time for lunch I think
  868. # [13:17] <darobin> +1
  869. # [13:17] <Krinkle> annevk: do for what?
  870. # [13:17] <Krinkle> "can't you do Document.prototype.createTreeWalker() although I guess that might not work that well given the mess that is Document"
  871. # [13:18] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
  872. # [13:20] <annevk> Krinkle: in the implementation
  873. # [13:20] <Krinkle> Older browsers don't expose the constructors/prototypes
  874. # [13:20] * Joins: sedovsek (~robert@89.143.12.238)
  875. # [13:20] <Krinkle> particularly IE
  876. # [13:20] <Krinkle> e.g. no HTMLElement, Node etc.
  877. # [13:20] <Krinkle> I doubt Document would be exposed
  878. # [13:21] <Krinkle> brb later
  879. # [13:21] <MikeSmith> darobin: aqui
  880. # [13:21] * Krinkle is now known as Krinkle|detached
  881. # [13:22] * Joins: dglazkov (uid4270@gateway/web/irccloud.com/x-qcpnovytugagevpx)
  882. # [13:35] <darobin> MikeSmith: hola
  883. # [13:36] <darobin> do you know where the bot is that syncs github and hg?
  884. # [13:36] <darobin> for the TS
  885. # [13:37] <darobin> I think we need it killed before I merge the reorg to master
  886. # [13:39] <Ms2ger> darobin, what's the situation with submitted tests?
  887. # [13:39] <darobin> it's the next thing up after I've merged
  888. # [13:40] <Ms2ger> And thanks for https://github.com/w3c/html-testsuite/commit/8267f079550cbe16e488fa85a04d7d7d309f6529 :)
  889. # [13:40] <darobin> heh, np :)
  890. # [13:41] * Joins: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net)
  891. # [13:41] * Quits: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net) (Changing host)
  892. # [13:41] * Joins: scor (~scor@drupal.org/user/52142/view)
  893. # [13:43] <MikeSmith> darobin: yeah i know. it's not so much a proper bot but instead just a script that gets called as a hook
  894. # [13:43] <MikeSmith> on dvcs.w3.org
  895. # [13:43] <darobin> ah, ok
  896. # [13:44] <darobin> can you kill it? or point me to it and I'll do it
  897. # [13:44] <MikeSmith> i can turn it off as soon as i get back to my pc
  898. # [13:44] <darobin> if you recall where it is just lmk and I'll have it learn the meaning of Justice
  899. # [13:44] <MikeSmith> if you have root on that host to can
  900. # [13:45] <darobin> or, you know, something like that
  901. # [13:45] <MikeSmith> Heh
  902. # [13:45] <MikeSmith> alex knows
  903. # [13:45] <darobin> I believe I do, I've ended up on that machine while thinking I was on w3c-test
  904. # [13:45] <darobin> ta, I'll see with sysreq
  905. # [13:45] <MikeSmith> ok
  906. # [13:46] <MikeSmith> var tree ... somewhere
  907. # [13:49] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
  908. # [13:58] <darobin> the bot, it has been killed
  909. # [14:01] * Ms2ger whimpers
  910. # [14:15] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
  911. # [14:25] * Joins: krawchyk (~krawchyk@65.220.49.251)
  912. # [14:31] * Joins: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
  913. # [14:35] <annevk> Krinkle|detached: fair point
  914. # [14:43] * Joins: heath (quassel@2600:3c02::f03c:91ff:feae:6e5b)
  915. # [14:43] * Joins: beverloo (beverloo@nat/google/x-zvcsofzlddihrnpm)
  916. # [14:43] * Joins: scottjehl__ (uid3055@gateway/web/irccloud.com/x-bgbvswlmprpinmyg)
  917. # [14:46] * Joins: eighty4 (~eighty4@unaffiliated/eighty4)
  918. # [14:50] * Quits: darobin (~darobin@78.109.80.74) (Read error: Connection reset by peer)
  919. # [14:51] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  920. # [14:51] * Joins: darobin (~darobin@78.109.80.74)
  921. # [15:03] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 246 seconds)
  922. # [15:08] * Joins: danzik17 (~danzik17@164.55.254.106)
  923. # [15:09] * Quits: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net) (Quit: tomasf)
  924. # [15:17] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
  925. # [15:20] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
  926. # [15:21] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
  927. # [15:27] * Joins: MacTed (~Thud@63.119.36.36)
  928. # [15:31] * Joins: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net)
  929. # [15:37] * Joins: dbaron (~dbaron@pool-72-94-180-24.phlapa.fios.verizon.net)
  930. # [15:43] * Quits: niloy (~niloy@203.196.177.156) (Quit: Leaving)
  931. # [15:43] * Quits: izhak (~izhak@213.87.240.75) (Ping timeout: 260 seconds)
  932. # [15:44] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
  933. # [16:01] <timeless> TabAtkins: mixing my dates with global dates is definitely a bad idea
  934. # [16:04] * Joins: svl (~me@p57AB7795.dip.t-dialin.net)
  935. # [16:04] * abstractj is now known as abstractj|lunch
  936. # [16:05] * Quits: hdhoang1 (~hdhoang@113.190.37.242) (Quit: Leaving.)
  937. # [16:06] <annevk> hmm, time to switch banks http://www.youtube.com/watch?v=PV8qKJDt6EI
  938. # [16:06] * abstractj|lunch is now known as abstractj|away
  939. # [16:07] * Joins: scor (~scor@w0117883.mgh.harvard.edu)
  940. # [16:07] * Quits: scor (~scor@w0117883.mgh.harvard.edu) (Changing host)
  941. # [16:07] * Joins: scor (~scor@drupal.org/user/52142/view)
  942. # [16:11] * Joins: griswold (~quassel@vpn.space150.com)
  943. # [16:18] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
  944. # [16:26] * Quits: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
  945. # [16:32] * Quits: foolip (~philip@node-7lfb95mwomttu2c94.a0.ipv6.opera.com) (Quit: Ex-Chat)
  946. # [16:34] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
  947. # [16:35] * Joins: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net)
  948. # [16:38] * Joins: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de)
  949. # [16:39] <annevk> smaug____: should we remove the "detached flag" from NodeIterator too?
  950. # [16:39] <annevk> Aryeh ^^
  951. # [16:39] <smaug____> hmm
  952. # [16:40] <zewt> does this guy really think that stamping a keyval syntax on fragments is okay
  953. # [16:40] <smaug____> I'd guess detached flag is useless there
  954. # [16:40] <annevk> Ms2ger: ^^
  955. # [16:42] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
  956. # [16:42] <Ms2ger> Never heard of it
  957. # [16:43] * Joins: foolip (~philip@node-7lfbbbvmi28o3t522.a0.ipv6.opera.com)
  958. # [16:44] * jonlee is now known as jonlee|afk
  959. # [16:44] <annevk> wanna write a patch for Gecko?
  960. # [16:44] <Ms2ger> I guess?
  961. # [16:47] * annevk fixes origin first
  962. # [16:51] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  963. # [16:57] <Ms2ger> MikeSmith, hey, has the world ended over there?
  964. # [17:00] * Quits: darobin (~darobin@78.109.80.74) (Read error: Connection reset by peer)
  965. # [17:00] * Joins: darobin (~darobin@78.109.80.74)
  966. # [17:06] <darobin> Ms2ger: the Mozilla submissions are actually you, right?
  967. # [17:06] <Ms2ger> Which ones?
  968. # [17:06] <Ms2ger> But generally, no
  969. # [17:07] <annevk> Ms2ger: '<a class="external" data-anolis-spec="html" ' seems like a lot of bloat
  970. # [17:07] <Ms2ger> Well, in the sense that I didn't write them originally
  971. # [17:07] <darobin> Ms2ger: ah, ok, some have your name on them and some don't
  972. # [17:07] <darobin> +1 to annevk on that
  973. # [17:08] <Ms2ger> darobin, but the bloat in <script src=respec.js>... ;)
  974. # [17:08] <darobin> Ms2ger: do you mind going through your own submissions and making them be new pull requests?
  975. # [17:08] <Ms2ger> darobin, except for the document.write ones, I did submit them all
  976. # [17:08] <Ms2ger> Sure
  977. # [17:08] <darobin> Ms2ger: nah, ReSpec writes the bloat for you, it's actually the opposite from Anolis
  978. # [17:08] <darobin> cool, thanks
  979. # [17:08] <Ms2ger> Send me an email to remind me?
  980. # [17:09] <darobin> I've done a bunch already
  981. # [17:09] <darobin> I'll do the Mozilla ones, they're easy — in your case you have lots :)
  982. # [17:09] <darobin> sure
  983. # [17:09] * Joins: Ducki (~Ducki@pD9E38A70.dip0.t-ipconnect.de)
  984. # [17:09] <Ms2ger> Yeah, I've written a few :)
  985. # [17:11] <darobin> Aryeh pretty much told me you were the maintainer for idlharness.js these days
  986. # [17:11] <darobin> I thought you might like to be informed :)
  987. # [17:12] * Quits: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
  988. # [17:12] * Quits: Lachy (~Lachy@office.oslo.opera.com) (Quit: Computer has gone to sleep.)
  989. # [17:12] * Quits: FireFly (~firefly@oftn/member/FireFly) (Excess Flood)
  990. # [17:13] * Joins: FireFly (~firefly@oftn/member/FireFly)
  991. # [17:15] <Ms2ger> darobin, hmm, what about idlharness?
  992. # [17:16] * Joins: sedovsek (~robert@89.143.12.238)
  993. # [17:16] <darobin> Ms2ger: I had asked Aryeh if there were things he didn't want me to touch, warnings, etc.
  994. # [17:16] <darobin> and he said something like "well, it's mostly Ms2ger maintaining it these days"
  995. # [17:17] <darobin> you didn't seem to be aware of that last we spoke of it :)
  996. # [17:17] <Ms2ger> I guess that I know the most about it, of the people who are around
  997. # [17:18] <Ms2ger> I still barely understand anything about it :)
  998. # [17:18] <Ms2ger> Anyway, ttyl
  999. # [17:18] * Quits: Ms2ger (~Ms2ger@109.133.25.170) (Quit: bbl)
  1000. # [17:20] <darobin> haha
  1001. # [17:22] * hober really needs to set up a filter on list-id w3c/html-testsuite <html-testsuite.w3c.github.com> :)
  1002. # [17:22] * Joins: ehsan (~ehsan@66.207.208.98)
  1003. # [17:22] <annevk> DOM has 16 open bugs
  1004. # [17:22] <annevk> new (positive) low
  1005. # [17:23] <annevk> mostly feature requests now
  1006. # [17:24] * Quits: Kolombiken (~Adium@217.13.228.226) (Quit: Leaving.)
  1007. # [17:28] * Quits: henrikkok (~henrikkok@81.27.221.193) (Quit: Leaving.)
  1008. # [17:29] <darobin> hober: can't you simply sign out of notifications for that repo?
  1009. # [17:29] * darobin should probably sign in actually
  1010. # [17:30] <hober> no, i want to get the notifications, just not to my inbox. :)
  1011. # [17:31] * jonlee|afk is now known as jonlee
  1012. # [17:34] <darobin> heh
  1013. # [17:35] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 260 seconds)
  1014. # [17:42] * Joins: henrikkok (~henrikkok@3306ds3-amb.0.fullrate.dk)
  1015. # [17:42] * Quits: henrikkok (~henrikkok@3306ds3-amb.0.fullrate.dk) (Client Quit)
  1016. # [17:45] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
  1017. # [17:45] <Stevef_> darobin:ping re publishing Using ARIA in HTML as FPWD that won't happen til next year right?
  1018. # [17:46] <Stevef_> so no rush to get it ready
  1019. # [17:48] <darobin> Stevef_: yeah, there won't be any publications before 2013
  1020. # [17:49] <Stevef_> darobin: we were just discussing in acc tf as it has now passed all CFC's to publish so its just process from here on in
  1021. # [17:50] <darobin> Stevef_: yes, which is cool
  1022. # [17:50] <darobin> but we're in publication moratorium (and I'm on vacation tomorrow evening :)
  1023. # [17:50] * Joins: maikmerten (~merten@vpn27064.itmc.tu-dortmund.de)
  1024. # [17:50] <Stevef_> darobin: yeaah i will proceed at a leisurely pace to prepare it then :-)
  1025. # [17:51] * jgraham expected darobin to be reorganising tests on Christmas Day
  1026. # [17:52] <darobin> jgraham: I think I'll finish all the reorganising I can do today or tomorrow :)
  1027. # [17:52] <darobin> there are still some submissions to move around, but they might be too complicate and I might have to ask the authors to do it
  1028. # [17:55] * Joins: darobin_ (~darobin@78.109.80.74)
  1029. # [17:55] * Quits: darobin (~darobin@78.109.80.74) (Read error: Connection reset by peer)
  1030. # [17:56] * jonlee is now known as jonlee|afk
  1031. # [17:59] * Quits: darobin_ (~darobin@78.109.80.74) (Read error: Connection reset by peer)
  1032. # [17:59] * Joins: Maurice` (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  1033. # [17:59] * Joins: darobin (~darobin@78.109.80.74)
  1034. # [18:00] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
  1035. # [18:00] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
  1036. # [18:01] * Joins: cabanier (~cabanier@192.150.22.55)
  1037. # [18:01] <annevk> yay for working on tests
  1038. # [18:09] * abstractj|away is now known as abstractj
  1039. # [18:10] * Quits: jonlee|afk (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net) (Quit: jonlee|afk)
  1040. # [18:13] * Joins: izhak (~izhak@213.87.241.27)
  1041. # [18:20] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Ping timeout: 255 seconds)
  1042. # [18:26] <timeless> annevk: have you seen odata.org ??
  1043. # [18:26] * Quits: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com) (Quit: Leaving.)
  1044. # [18:26] <dglazkov> good morning, Whatwg!
  1045. # [18:27] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
  1046. # [18:31] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
  1047. # [18:33] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
  1048. # [18:33] * Joins: ap (~ap@2620:149:4:1b01:6d50:8457:98a7:74e0)
  1049. # [18:35] * Quits: izhak (~izhak@213.87.241.27) (Ping timeout: 248 seconds)
  1050. # [18:35] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
  1051. # [18:44] * Quits: drublic (~drublic@p5098a42b.dip0.t-ipconnect.de) (Remote host closed the connection)
  1052. # [18:55] <Hixie> is there any difference between the 'double' type and JS Number?
  1053. # [18:56] * Joins: eresair (~eresair@173.247.199.2)
  1054. # [18:58] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  1055. # [18:58] * Joins: erlehmann (~erlehmann@89.204.130.32)
  1056. # [18:58] <erlehmann> hey whatwg
  1057. # [18:59] <erlehmann> if i want to include a webvtt file in a web feed, which link relation would apply?
  1058. # [19:00] <Hixie> how do you mean, include a webvtt file in a web feed?
  1059. # [19:01] <erlehmann> i have a podcast with an atom feed. http://warumnicht.dieweltistgarnichtso.net/feed.atom
  1060. # [19:01] <erlehmann> currently i include a mp3 enclosure a vorbis enclosure … and webvtt gives chapters!
  1061. # [19:02] <erlehmann> i am looking at http://www.iana.org/assignments/link-relations/link-relations.xml
  1062. # [19:02] <Hixie> ah, i see
  1063. # [19:02] <erlehmann> in a feed, an external resource needs a link relation
  1064. # [19:02] <erlehmann> like <link rel="alternate" type="text/html" href="http://warumnicht.dieweltistgarnichtso.net/wn-17.html"/>
  1065. # [19:02] <Hixie> does any software support webvtt in a feed yet?
  1066. # [19:02] * Joins: Kolombiken (~Adium@217.13.228.226)
  1067. # [19:02] <erlehmann> no software will when no one provides it.
  1068. # [19:02] * Joins: sedovsek (~robert@89.143.12.238)
  1069. # [19:03] <Hixie> if no software supports it, then doesn't matter what you use... pick whatever you think is right
  1070. # [19:03] <erlehmann> i know at least one programmer, the guy behind instacast, would like to have chapters.
  1071. # [19:03] <Hixie> rel="webvtt-chapters" or something
  1072. # [19:03] <Hixie> or just rel=chapters
  1073. # [19:03] <Hixie> you'll need everything that the <track> element in HTML can host, ideally
  1074. # [19:04] <erlehmann> what does that mean?
  1075. # [19:04] * Joins: pablof (~pablof@144.189.150.129)
  1076. # [19:04] <erlehmann> i am hesitant to use „chapters“ because there is already a „chapter“ value in link relations at IANA
  1077. # [19:04] <erlehmann> and i am thinking of rev vs. rel that was mixed up sometimes
  1078. # [19:05] <erlehmann> if rel=chapters would be clean, where do i document it?
  1079. # [19:06] <erlehmann> also the webvtt file does not really describe chapters. it is more akin to metadata, hmm.
  1080. # [19:06] <erlehmann> like, it does not link to points in time
  1081. # [19:06] <erlehmann> and is not usable without having the enclosure
  1082. # [19:07] * Quits: Kolombiken (~Adium@217.13.228.226) (Ping timeout: 252 seconds)
  1083. # [19:07] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  1084. # [19:08] <erlehmann> Hixie, is my work on possible sub-delims in URI fragments in scope for the WHATWG or is there some other charter that works on that?
  1085. # [19:09] <erlehmann> (excuse my bad engrish)
  1086. # [19:10] <Hixie> re enclosures and how to spec it, dunno, ask the atom folk.
  1087. # [19:10] <Hixie> re the URI thing, if you want the browsers to change behaviour, it's at least theoretically in scope
  1088. # [19:11] <erlehmann> i would want to change behaviour. better than everybody inventing slightly-incompatible formats.
  1089. # [19:11] <erlehmann> i'll wait for implementor replies
  1090. # [19:12] <erlehmann> and if no one is against it find out if/how i can bring this into gecko and webkit.
  1091. # [19:13] <erlehmann> i believe it is entirely possible to not break the web but still have the useful features of media fragments. in the worst case, processing will have to halt if there is an element with id like “t=0:23”, but continue otherwise
  1092. # [19:15] * Joins: jwalden (~waldo@nat/mozilla/x-meopmdxonbuifrww)
  1093. # [19:18] * Joins: mattgifford (~mattgiffo@70.102.199.158)
  1094. # [19:18] <erlehmann> #atom is deserted
  1095. # [19:24] <erlehmann> is there a way to have link annotations in webvtt?
  1096. # [19:27] * Joins: ap_ (~ap@17.114.111.158)
  1097. # [19:29] * Quits: ap (~ap@2620:149:4:1b01:6d50:8457:98a7:74e0) (Read error: Operation timed out)
  1098. # [19:29] * ap_ is now known as ap
  1099. # [19:32] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
  1100. # [19:33] * Joins: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net)
  1101. # [19:34] * Quits: ^esc (~esc_ape@178.115.248.48.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
  1102. # [19:35] * Joins: yodasw16 (~yodasw16@ql1fwhide1.rockfin.com)
  1103. # [19:38] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
  1104. # [19:40] * Joins: yorick (~quassel@vredebest.xs4all.nl)
  1105. # [19:40] * Quits: yorick (~quassel@vredebest.xs4all.nl) (Changing host)
  1106. # [19:40] * Joins: yorick (~quassel@unaffiliated/yorick)
  1107. # [19:45] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
  1108. # [19:46] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
  1109. # [19:48] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  1110. # [19:49] * Joins: eric_carlson (~eric@17.212.152.104)
  1111. # [19:49] * Quits: eric_carlson (~eric@17.212.152.104) (Client Quit)
  1112. # [19:49] * Joins: eric_carlson (~ericc@c-67-188-56-39.hsd1.ca.comcast.net)
  1113. # [19:52] <TabAtkins> heycam|away: Re list-style-image and list-style-type, I agree. It's been really annoying to me when writing the Lists spec. :/
  1114. # [19:52] * Quits: richt (~richt@office.oslo.opera.com) (Remote host closed the connection)
  1115. # [19:53] <erlehmann> i have done an art and used rel=chapters http://warumnicht.dieweltistgarnichtso.net/feed.atom
  1116. # [19:53] <erlehmann> how do i go about standardizing that rel value?
  1117. # [19:53] * Quits: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net) (Quit: Computer has gone to sleep.)
  1118. # [19:53] * Joins: jsbell (jsbell@nat/google/x-wygmmuaazmwdvgno)
  1119. # [19:54] <hober> is it a rel value for use in <a rel> or <link rel> in HTML?
  1120. # [19:55] <hober> if so, see http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions
  1121. # [19:58] * Joins: Kolombiken (~Adium@217.13.228.226)
  1122. # [20:00] * Joins: Kolombiken1 (~Adium@217.13.228.226)
  1123. # [20:00] * Quits: Kolombiken (~Adium@217.13.228.226) (Read error: Connection reset by peer)
  1124. # [20:04] * Quits: Kolombiken1 (~Adium@217.13.228.226) (Ping timeout: 255 seconds)
  1125. # [20:06] * Joins: tantek (~tantek@mf20536d0.tmodns.net)
  1126. # [20:06] * Quits: ehsan (~ehsan@66.207.208.98) (Read error: Connection reset by peer)
  1127. # [20:07] * Joins: ehsan (~ehsan@66.207.208.98)
  1128. # [20:08] <Hixie> one of the things stuart mentioned is that it'd be great if tables could be set to automatically sort when the page is loading
  1129. # [20:08] <Hixie> any opinions on how that should be marked up?
  1130. # [20:08] <TabAtkins> What's the current plan for declaring a column to be sortable?
  1131. # [20:09] * Joins: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com)
  1132. # [20:09] <tantek> is there any prior art to look at? e.g. I'd start with JS libraries for clicking on table headers to sort the columns
  1133. # [20:09] <tantek> and if not, then perhaps those who want such a feature should first prototype in a JS library
  1134. # [20:12] <Hixie> TabAtkins: right now no plan
  1135. # [20:13] <Hixie> TabAtkins: just <table sortable>
  1136. # [20:13] <Hixie> tantek: the prior art is stuart's library which doesn't support this, but which he reports is one of his most requested features.
  1137. # [20:13] <TabAtkins> Hixie: Ah, and that makes *all* columns sortable?
  1138. # [20:13] <Hixie> TabAtkins: currently.
  1139. # [20:13] <Hixie> TabAtkins: and by "currnetly" i mean "in my head"
  1140. # [20:13] <tantek> why wouldn't a column be sortable?
  1141. # [20:14] <tantek> or do you need some way to enable a default "sorting" UI?
  1142. # [20:14] <TabAtkins> Okay. Then maybe <th sorted>?
  1143. # [20:14] <tantek> similar to audio/video player=player
  1144. # [20:14] <TabAtkins> tantek: You mean controls?
  1145. # [20:14] <tantek> sorry, right, that. :)
  1146. # [20:15] <Hixie> tantek: the only example i know of is a rank column, but there it's not so much that you can't sort by it so much as you need the cells to redistribute, and i don't know how to support that sanely with spans
  1147. # [20:15] <Hixie> TabAtkins: that kind of implies it's _already_ sorted
  1148. # [20:15] <erlehmann> Hixie, sorting tables onload means that people are not able to sort it server-side?
  1149. # [20:15] <TabAtkins> Hixie: That's the point - you asked for some way to sort a column immediately.
  1150. # [20:15] <Hixie> TabAtkins: though i am tempted to use an actual attribute to indicate the current sorted column, rather than a pseudo-class, which would be interested
  1151. # [20:15] <TabAtkins> Oh, I see.
  1152. # [20:15] <Hixie> TabAtkins: well yeah except in the markup it's not sorted
  1153. # [20:15] <tantek> I like sorted. kind of like ordered vs. unordered lists.
  1154. # [20:16] <Hixie> erlehmann: s/able/forced/
  1155. # [20:16] <tantek> you can things sorted by multiple columns
  1156. # [20:16] <TabAtkins> Yes, I was just going to suggest using the attribute to dynamically mark the sorted column too.
  1157. # [20:16] <tantek> primary sort, secondary sort etc.
  1158. # [20:16] <TabAtkins> Like <details open>.
  1159. # [20:16] <Hixie> TabAtkins: yeah
  1160. # [20:16] <tantek> so "current sorted column" is imprecise
  1161. # [20:16] <Hixie> tantek: that is also an issue, yes
  1162. # [20:16] * tantek is waiting for visicalc.js
  1163. # [20:17] <erlehmann> Hixie, issue: if columns have still to be sorted server-side, that gives backwards compat for free.
  1164. # [20:17] <Hixie> erlehmann: stuart's feedback was that people hate that
  1165. # [20:17] <Hixie> hate having to sort them themselves, i mean
  1166. # [20:17] <tantek> is the original VisiCalc source anywhere? bet it would port well to JS + <table> as a data model
  1167. # [20:17] <erlehmann> Hixie, if there are two ways, one backwards-incompatible, we *will* see „oh, yeah, the second columns on your page is something else“
  1168. # [20:18] <Hixie> erlehmann: yes, but that's probably not a huge deal
  1169. # [20:18] <erlehmann> Hixie, the problem is that making it easier, but incompatible for authors, will make it harder for users.
  1170. # [20:18] <Hixie> erlehmann: it's not incompatible
  1171. # [20:18] <Hixie> erlehmann: you still _can_ sort
  1172. # [20:18] <Hixie> erlehmann: you're just not forced to
  1173. # [20:18] <Hixie> in the future
  1174. # [20:19] <erlehmann> sometimes, optional features are worse for compat. for example, AFAIK, you cannot implement ogg without doing streaming, but in MKV or MPEG containers you can have non-streamable files because the feature is optional.
  1175. # [20:20] <Hixie> this isn't an optional feature
  1176. # [20:20] <erlehmann> yeah, but how long until old user agents catch up? :/
  1177. # [20:20] * Joins: fr0zenice (~frozenice@unaffiliated/fr0zenice)
  1178. # [20:20] <Hixie> erlehmann: until they do, sort on the server and you'll be fine
  1179. # [20:21] <erlehmann> the problem is that „the second column“ could be something else.
  1180. # [20:21] <tantek> no different than the "new input types" problem
  1181. # [20:21] <Hixie> what second column? what? i'm confused
  1182. # [20:21] <tantek> new clients vs. server with old clients
  1183. # [20:21] <erlehmann> or second row or whatever
  1184. # [20:21] <Hixie> i think we're talking at cross purposes
  1185. # [20:21] <Hixie> can you redescribe your concern from first principles?
  1186. # [20:22] <erlehmann> Hixie, if i am referring to „the second row“ (not column), for how long will the person at this other computer be unsure about if i mean this or that row?
  1187. # [20:22] <Hixie> well if it's a sortable table, any row could be the second row, it's whatever hte user last sorted the table to
  1188. # [20:22] <erlehmann> something like “oh, you have an old version of firefox, that means the table is sorted differentlycould provide headches
  1189. # [20:22] <Hixie> dude by that reasoning we could never add any new features ever
  1190. # [20:23] <erlehmann> yeah, but if new UAs sort the table on load and old UAs do not, then there could be confusion
  1191. # [20:23] <erlehmann> no, that is not what i mean
  1192. # [20:23] <erlehmann> the problem is that there would be no “easy” fallback if some website does server-side-sort and I do not know, maybe someone has an old ipad or whatever
  1193. # [20:23] <TabAtkins> erlehmann: Authors can certainly order their tables server-side if they *want* back-compat. Worst case, they don't, and you have a working but unsorted table.
  1194. # [20:24] <erlehmann> TabAtkins, I believe that a world where backwards compat is not optional could be better than one that is
  1195. # [20:24] <erlehmann> if it is optional, some will not do it.
  1196. # [20:24] <Hixie> erlehmann: we can't require that people sort their tables
  1197. # [20:25] <Hixie> erlehmann: they'll just find workarounds like manually calling .sort()
  1198. # [20:25] <TabAtkins> erlehmann: I believe a world where I'm forced to sort my table server-side just to get it sorted by default is an annoying one, and I'll instead just include a script on-load that sorts by the column I want.
  1199. # [20:25] <erlehmann> instead of doing it server-side. hmm. that sounds plausible.
  1200. # [20:25] <TabAtkins> An unsorted table is still a table containing all the data you want. It's just not in order.
  1201. # [20:25] <Hixie> erlehmann: in any case, i'm having trouble believing that the cost of people in legacy UAs having tables sorted differently than in new UAs will outweigh the cost of forcing people to manually sort their tables on the server
  1202. # [20:25] * Joins: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net)
  1203. # [20:26] * Quits: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com) (Quit: Leaving.)
  1204. # [20:26] <Hixie> especially given that there'll be shims for old UAs
  1205. # [20:26] <erlehmann> i retract my assertion on the basis that the javascript sorting madness would be worse than having declarative means of marking up table sort
  1206. # [20:26] <Hixie> hah
  1207. # [20:26] <erlehmann> Hixie, TabAtkins, thanks for the discussion.
  1208. # [20:26] <Hixie> dunno if i'd say "madness", but i agree :-)
  1209. # [20:27] <Hixie> in other news, all this hasn't helped me figure out how to mark this up at all
  1210. # [20:27] <Hixie> <table> <thead> <tr> <th sorted=1> <th sorted=2>
  1211. # [20:27] <Hixie> but what if the author writes <th sorted=1> <th sorted=1> ?
  1212. # [20:27] <erlehmann> “madness” in the case that pages use scripts when declarative means would be more usable in the long run.
  1213. # [20:27] <TabAtkins> Then you sort the last one in document order?
  1214. # [20:28] * Joins: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
  1215. # [20:29] <Hixie> hm, sorted=level is kind of an unintuitive syntax anyway
  1216. # [20:29] <Hixie> <table autosort="1,5,4,2">
  1217. # [20:29] <TabAtkins> Dammit! I was just typing that!
  1218. # [20:29] <Hixie> which makes insertions in tbodies sort?
  1219. # [20:29] * Joins: rniwa (~rniwa@17.212.154.114)
  1220. # [20:29] <erlehmann> what would autosort do?
  1221. # [20:29] <Hixie> but then we have to go back to pseudo-classes
  1222. # [20:30] <erlehmann> is that the column numbers in sorting precedence?
  1223. # [20:30] <Hixie> since having both that and the sorted="" attribute would just lead to conflicts
  1224. # [20:30] <Hixie> erlehmann: yeah
  1225. # [20:30] <Hixie> also it's not very intuitive to use column numbers instead of names
  1226. # [20:30] <erlehmann> yeah
  1227. # [20:30] <Hixie> this is fast looking like one of those situations where there's no good answer
  1228. # [20:31] <erlehmann> maybe too fast
  1229. # [20:32] <Hixie> maybe <th sort> <th sort=2> <th sort=3> where duplicate sort levels are interpreted in doc order, so <th sort=2> <th sort=2> is equivalent to <th sort=2> <th sort=3>
  1230. # [20:32] <Hixie> and =1 is implied if omitted
  1231. # [20:32] <erlehmann> why „sort“ instead of „sorted“ ?
  1232. # [20:33] <TabAtkins> Sure, that works.
  1233. # [20:33] * Joins: alecf_ (alecf@nat/google/x-aopeenuwiuussnfs)
  1234. # [20:33] <Hixie> erlehmann: because the attribute also sorts, it doesn't only indicate that the content is sorted
  1235. # [20:33] * Quits: SimonSapin (~simon@vev69-1-82-232-219-95.fbx.proxad.net) (Ping timeout: 244 seconds)
  1236. # [20:34] <Hixie> how do we indicate that the sort should be reversed?
  1237. # [20:34] <Hixie> do secondary keys ever need to be reversed?
  1238. # [20:34] <Hixie> if i click column A twice, then click column B, is the sort order B, then reverse A? or just B?
  1239. # [20:35] <TabAtkins> Ctrl-click does secondary sort, otherwise it's just overriding primary sort.
  1240. # [20:35] <Hixie> usually clicking a new column just pushes all previous columns up one level in the sort order
  1241. # [20:35] <erlehmann> in which UA?
  1242. # [20:36] <Hixie> i'm not aware of any UI that lets you change the secondary sort without changing the primary
  1243. # [20:37] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Quit: Leaving)
  1244. # [20:37] <erlehmann> but imagine sorting by category (pizza, burgers, noodles) and than going for secondary sort by price or delivery time
  1245. # [20:38] <erlehmann> or say you have tech gadgets. sort by price, ascending, then sort by memory capacity descending.
  1246. # [20:38] <erlehmann> or vice versa
  1247. # [20:39] <erlehmann> i would make the attribute more self-describing, if you go by that route
  1248. # [20:40] <erlehmann> sortindex
  1249. # [20:40] <erlehmann> similar to tabindex
  1250. # [20:42] <jgraham> Hmm, where does the spec say that elements with a content model of "text" are valid if they don't have any child nodes?
  1251. # [20:45] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
  1252. # [20:46] <jgraham> Also, isn't autosorting on load rather unfriendly
  1253. # [20:46] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
  1254. # [20:46] <jgraham> It means that you either can't do incremental rendering or have to relayout the table after you reach the end tag
  1255. # [20:46] <jgraham> Which is pretty confusing if it's a long table and someone has already started reading it
  1256. # [20:48] * Quits: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net) (Quit: Computer has gone to sleep.)
  1257. # [20:50] * Parts: acies (acies@146.72.251.225)
  1258. # [20:52] * Joins: Kolombiken (~Adium@217.13.228.226)
  1259. # [20:55] * Joins: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net)
  1260. # [20:55] * Joins: Ms2ger (~Ms2ger@109.133.25.170)
  1261. # [20:56] * Quits: Kolombiken (~Adium@217.13.228.226) (Ping timeout: 244 seconds)
  1262. # [20:59] <Ms2ger> Hixie, yeah, double is JS Number
  1263. # [21:01] * abstractj is now known as abstractj|away
  1264. # [21:03] * Joins: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net)
  1265. # [21:03] * Quits: yodasw16 (~yodasw16@ql1fwhide1.rockfin.com) (Quit: yodasw16)
  1266. # [21:03] * Quits: maikmerten (~merten@vpn27064.itmc.tu-dortmund.de) (Remote host closed the connection)
  1267. # [21:04] <erlehmann> did someone say doubles? http://memegenerator.net/instance/32214506
  1268. # [21:06] <erlehmann> ich dacte sowas schreibt man am schluss
  1269. # [21:08] <Ms2ger> Sorry, lots of Dutch, not a lot of German here
  1270. # [21:10] <erlehmann> sorry, wrong terminal
  1271. # [21:13] <erlehmann> the doubles guy was intended to be here, though
  1272. # [21:13] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
  1273. # [21:13] <erlehmann> Ms2ger, i had dutch in first and second grade, but i cannot remember more than “ho het jej?” :3
  1274. # [21:14] <erlehmann> oh, it is “Hoe heet jij?”
  1275. # [21:15] <Ms2ger> Ms2ger, I thought you knew ;)
  1276. # [21:16] <erlehmann> this is a misunderstanding between object- and meta-language
  1277. # [21:16] <erlehmann> i think.
  1278. # [21:16] <Ms2ger> :)
  1279. # [21:16] <erlehmann> i was referring to the phrase, not asking a question
  1280. # [21:17] <erlehmann> are the quotes rendered at your place?
  1281. # [21:17] <erlehmann> in your … terminal or whatever?
  1282. # [21:19] * Joins: sedovsek_ (~robert@BSN-142-47-203.dial-up.dsl.siol.net)
  1283. # [21:21] * Quits: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net) (Ping timeout: 255 seconds)
  1284. # [21:21] * sedovsek_ is now known as sedovsek
  1285. # [21:21] * Joins: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr)
  1286. # [21:27] <Hixie> erlehmann: the problem with sortindex="" is you really want the simple case (just one sort column) to look natural
  1287. # [21:27] <Hixie> jgraham: follow the link to Text
  1288. # [21:27] <Hixie> jgraham: re sorting, you'd autosort on insert or something
  1289. # [21:27] <Hixie> jgraham: which isn't performance-wise particularly hot, i'll grant you
  1290. # [21:28] <GPHemsley> Are you guys aware of this? http://browseryoulovedtohate.com/
  1291. # [21:29] <erlehmann> „it's good now“ „no really“
  1292. # [21:29] <erlehmann> hahaha
  1293. # [21:29] <erlehmann> „i have changed, please come back, honey“
  1294. # [21:30] <erlehmann> text as images. expert web devs they have there.
  1295. # [21:30] * Quits: Stevef_ (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com) (Ping timeout: 264 seconds)
  1296. # [21:31] <erlehmann> download button does not work
  1297. # [21:31] <GPHemsley> It accompanies this video: https://www.youtube.com/watch?v=lD9FAOPBiDk
  1298. # [21:32] <GPHemsley> See also: http://karaokewebstandard.org/
  1299. # [21:32] <GPHemsley> "This specification defines a new API, focused on semantic language processing for two-way communication with a remote host. Eschewing typical binary protocols, this new interface creates a system-to-system forced sonic recognition on the receiving party. "
  1300. # [21:33] <Ms2ger> MikeSmith, hey, http://www.w3c-test.org/html/ doesn't look happy :(
  1301. # [21:37] * Quits: fr0zenice (~frozenice@unaffiliated/fr0zenice) (Remote host closed the connection)
  1302. # [21:38] <jgraham> Hixie: I did. "Text, in the context of content models, means Text nodes"
  1303. # [21:38] <jgraham> There are no Text nodes
  1304. # [21:38] <Hixie> presumably not conforming then
  1305. # [21:38] <Hixie> what's the element in question?
  1306. # [21:38] * Quits: sedovsek (~robert@BSN-142-47-203.dial-up.dsl.siol.net) (Quit: sedovsek)
  1307. # [21:38] <jgraham> <title></title> for example
  1308. # [21:38] <Hixie> yeah that's not conforming
  1309. # [21:39] <jgraham> The validator disagrees
  1310. # [21:39] <Hixie> (not much point including a <title> if it's empty)
  1311. # [21:39] <jgraham> Not much point in including a title at all in many cases :)
  1312. # [21:39] <erlehmann> GPHemsley, what is this i don't even.
  1313. # [21:39] <Hixie> yeah, the spec allows for that
  1314. # [21:39] <jgraham> Anyway, I guess I should file a bug on hsivonen
  1315. # [21:40] <Hixie> "if title information is available from a higher-level protocol" you don't have to include a <title>
  1316. # [21:40] <jgraham> Fair enough
  1317. # [21:40] <jgraham> Anyway, it seems the validator has a bug
  1318. # [21:40] <TabAtkins> jgraham: Auto-sorting on load is no more unfriendly than a JS onload handler calling .sort() manually. Since that's exactly what people will do if we don't provide the feature, might as well do it right immediately.
  1319. # [21:41] <jgraham> TabAtkins: I don't see why people wouldn't sort the data on the server side
  1320. # [21:41] <Hixie> i kinda want to make that clearer, e.g. explicitly make it ok for documents intended only for use in iframes (especially seamless iframes) to not have <title>s, but i don't know how to spec it since you can't distinguish a document that you load in an iframe from one you visit directly... haven't thought about it very much though
  1321. # [21:42] <Hixie> jgraham: stuart says this is one of the biggest complaints about his library
  1322. # [21:42] <Hixie> (that it doesn't sort on the client on load)
  1323. # [21:42] <Hixie> well, he says "lots of people ask for it"
  1324. # [21:42] <Hixie> (he agrees that it's "wrong")
  1325. # [21:42] <jgraham> Well, lots of people ask for a parent selector in CSS
  1326. # [21:43] * JohnAlbin is now known as JohnAlbin_afk
  1327. # [21:43] <jgraham> We don't let them have that either :)
  1328. # [21:43] <Hixie> yeah, and we should provide that with :matches()
  1329. # [21:44] <erlehmann> if it is one of the biggest complaints, that does not mean that it is necessary, useful or even possible to build.
  1330. # [21:44] <Hixie> no but it means that if it is possible to build, that we should seriously consider it
  1331. # [21:44] <erlehmann> i once talked to a sound engineer and had to explain my synthesizer software using less-than-turing-complete instructions so it does not stall.
  1332. # [21:45] <erlehmann> if this is a common complaint, where is the library that does it?
  1333. # [21:45] <erlehmann> *someone* must have tried
  1334. # [21:45] <erlehmann> (and failed? who knows)
  1335. # [21:46] <erlehmann> (looking at existing solutions right now)
  1336. # [21:47] <erlehmann> this one uses classes in header columns http://tetlaw.id.au/view/blog/table-sorting-with-prototype/
  1337. # [21:47] <erlehmann> sortfirstasc and sortfirstdesc
  1338. # [21:48] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
  1339. # [21:50] <Hixie> TabAtkins: can you translate Francois' e-mail for me?
  1340. # [21:50] <TabAtkins> Sure, one sec.
  1341. # [21:50] <erlehmann> does not scale :/
  1342. # [21:52] <erlehmann> those classname solutions are ugly
  1343. # [21:52] <erlehmann> this is worst i have seen http://www.frequency-decoder.com/2006/09/16/unobtrusive-table-sort-script-revisited
  1344. # [21:53] <erlehmann> using the classname sortable-onload-3r-4r-5
  1345. # [21:53] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
  1346. # [21:55] <erlehmann> btw, could autosortable tables have URIs?
  1347. # [21:55] <erlehmann> in before „not every state should have a fragment identifier, just link to the table row” (it was just a funny idea)
  1348. # [21:56] <Hixie> ?
  1349. # [21:56] <Hixie> i don't follow
  1350. # [21:57] <erlehmann> i just thought it would be nice to be able to link to a table in the state of being sorted by specific a value.
  1351. # [21:57] <erlehmann> but then i can see no use case for that
  1352. # [21:57] * Quits: danzik17 (~danzik17@164.55.254.106) (Ping timeout: 260 seconds)
  1353. # [21:57] <erlehmann> it just followed when thinking about the media fragments thing
  1354. # [21:58] <erlehmann> (which i and others have many use cases for)
  1355. # [21:58] <Hixie> is there a use case for inserting rows into a table without the table autosorting?
  1356. # [21:58] <Hixie> assuming the table has a sort order specified
  1357. # [21:58] <TabAtkins> I don't think so, no.
  1358. # [21:59] <Hixie> we probably need a method on <table> to remove all sort attributes
  1359. # [21:59] <Hixie> .stopSort() or something
  1360. # [21:59] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 265 seconds)
  1361. # [21:59] <erlehmann> that would violate the principle of least surprise, since adding elements would change the table from being sorted to not being sorted
  1362. # [22:00] <erlehmann> so how will CSS and sorting come together?
  1363. # [22:00] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
  1364. # [22:00] <erlehmann> nth-child will not work, right?
  1365. # [22:00] <TabAtkins> They still work. Sorting rearranges the DOM.
  1366. # [22:00] <Hixie> css is unaffected, since this all happens at the dom elvel
  1367. # [22:00] <Hixie> <table sortable>
  1368. # [22:00] <Hixie> <th sort[=level] onsort="comparator = function (a, b) { ... }">
  1369. # [22:00] <Hixie> <table>.stopSort(); // removes all sort attributes
  1370. # [22:01] <Hixie> anything else we need?
  1371. # [22:01] <erlehmann> indeed? okay.
  1372. # [22:01] <Hixie> (sortable="" just enables the UI)
  1373. # [22:01] <erlehmann> level, what is level?
  1374. # [22:01] <TabAtkins> Hixie: Is "comparator" a magic variable?
  1375. # [22:01] <Hixie> sort=2 means it's a secondary key
  1376. # [22:01] <Hixie> sort=3 tertiary key, etc
  1377. # [22:01] <Hixie> th.comparator is just a callback
  1378. # [22:02] <Hixie> i'd use an event but i assume a callback is way more efficient
  1379. # [22:02] <erlehmann> ah
  1380. # [22:03] <TabAtkins> Oh, okay. So the sort algorithm calls th.comparator(A,B) if it exists. Your onsort event does a JIT setting of the comparator property.
  1381. # [22:03] <Hixie> right
  1382. # [22:03] <erlehmann> so what is the default comparison for tables?
  1383. # [22:03] <Hixie> the complicated thing we were discussing yesterday
  1384. # [22:03] <TabAtkins> erlehmann: We worked one out last night.
  1385. # [22:03] <TabAtkins> (date stuff) < floats < strings.
  1386. # [22:03] <TabAtkins> And (date stuff) has a more complicated ordering.
  1387. # [22:03] <Hixie> see http://www.whatwg.org/specs/web-apps/current-work/temp
  1388. # [22:04] <erlehmann> TabAtkins, link?
  1389. # [22:04] <erlehmann> thx
  1390. # [22:04] <Hixie> hm, having a sort="" means we can't really have .sort()
  1391. # [22:04] <erlehmann> how are strings ordered?
  1392. # [22:04] <TabAtkins> lexicographic.
  1393. # [22:04] <Hixie> erlehmann: unicode locale-specific based on <table lang>
  1394. # [22:04] <Hixie> insensitive to case
  1395. # [22:05] <TabAtkins> unicode locale-based case insensitivity?
  1396. # [22:05] * Joins: danzik17 (~danzik17@ool-45787007.dyn.optonline.net)
  1397. # [22:05] <erlehmann> o.0
  1398. # [22:05] <TabAtkins> Hixie: Francois' response is that overflow:hidden isn't a sufficiently strong isolation guarantee.
  1399. # [22:06] <Hixie> yeah i got that part, it was the why that lost me
  1400. # [22:06] * Quits: tantek (~tantek@mf20536d0.tmodns.net) (Ping timeout: 248 seconds)
  1401. # [22:06] <TabAtkins> My response to him, immediately following yours, explains the why in more detail.
  1402. # [22:06] <gavin____> where is this controvery about HTML5 CR taking place?
  1403. # [22:07] * heycam|away is now known as heycam
  1404. # [22:07] <gavin____> I see twitter fights about it but no references to mailing list posts or anything
  1405. # [22:07] * gavin____ is now known as gavin
  1406. # [22:07] * Quits: gavin (~gavin@people1.scl3.mozilla.com) (Changing host)
  1407. # [22:07] * Joins: gavin (~gavin@firefox/developer/gavin)
  1408. # [22:08] <Hixie> gavin: www.w3.org/TR
  1409. # [22:08] <Ms2ger> Where all the fights are
  1410. # [22:08] <Ms2ger> http://w3cmemes.tumblr.com/
  1411. # [22:08] <Hixie> i don't follow twitter myself so no idea about the twitter fights
  1412. # [22:08] <gavin> Hixie: I mean where is discussion taking place, other than twitter
  1413. # [22:08] <erlehmann> oh fine http://en.wikipedia.org/wiki/Unicode_Collation_Algorithm
  1414. # [22:08] <Hixie> oh, i am not aware of a discussion
  1415. # [22:08] * Joins: sedovsek (~robert@89.142.47.203)
  1416. # [22:08] <erlehmann> Ms2ger, put the doubles guy there!
  1417. # [22:08] <Ms2ger> There was some sarcastic chatter about it here
  1418. # [22:09] <jgraham> Sarcasm? Here? Never!
  1419. # [22:09] <Hixie> TabAtkins: got it
  1420. # [22:09] <Hixie> gavin: the controversy is just that the w3c went to CR with 131 open bugs and skipping the LC that the process requires
  1421. # [22:09] <Ms2ger> If condescending Willy Wonka existed, he'd be a regular
  1422. # [22:10] * Quits: Ms2ger (~Ms2ger@109.133.25.170) (Quit: nn)
  1423. # [22:10] <erlehmann> i lauged a little http://w3cmemes.tumblr.com/post/35475527654/theyll-remove-h-264-support-any-moment-now
  1424. # [22:10] <Hixie> gavin: while at the same time the w3c claims that they are better because Process
  1425. # [22:10] * Quits: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net)
  1426. # [22:11] <gsnedders> erlehmann: Next week, I swear!
  1427. # [22:11] <jgraham> Hixie: HAving to put <th onsort="comparator = function() {}"> seems much less nice than <th comparator="function() {}"> or something
  1428. # [22:12] <Hixie> jgraham: agreed, but that would be a first and I don't even know how I'd spec that.
  1429. # [22:12] <jgraham> Yeah, but worth working out, I think
  1430. # [22:13] <jgraham> Requiring authors to understand the magicness on onfoo attributes is pure pain
  1431. # [22:13] <erlehmann> gsnedders, i would love to know why people make bold assertions like that without going through, if actually doing it is relatively simple. the only thing the chrome team has earned is distrust.
  1432. # [22:13] <jgraham> Either that or an entirely different design (which I don't have a proposal for)
  1433. # [22:13] <Hixie> jgraham: so you want to replace it with similarly complex, but one-off, magic? :-)
  1434. # [22:13] * JohnAlbin_afk is now known as JohnAlbin
  1435. # [22:13] <gsnedders> erlehmann: Decision overruled by someone higher up? I dunno. I doubt the announcement was made in bad faith.
  1436. # [22:14] <jgraham> Much less complex, but one-off magic
  1437. # [22:14] * Joins: say2joe (~say2joe@204.56.108.2)
  1438. # [22:14] <erlehmann> any sufficiently advanced specification is indistinguishable from black magic
  1439. # [22:14] <Hixie> jgraham: what would be less complex?
  1440. # [22:14] <jgraham> You don't need to understand the implicit this
  1441. # [22:14] <jgraham> You don't really need to understand the order of events
  1442. # [22:15] * gsnedders on the whole agrees with jgraham, but would rather not have *more* JS in HTML attributes.
  1443. # [22:15] * Hixie shrugs
  1444. # [22:15] <Hixie> doesn't seem that big a deal
  1445. # [22:15] <erlehmann> gsnedders, usually, release logs contain stuff like that.
  1446. # [22:15] <Hixie> i'm rather skeptical of introducing JS in an attribute that doesn't start with "on"
  1447. # [22:16] <Hixie> not that blacklisting filters are a viable option anyway, but...
  1448. # [22:17] <jgraham> I'm rather skeptical of on* attributes :)
  1449. # [22:17] <erlehmann> that onsort function could not be the comparator but just get a representation of the table as array and return it! then random orderings will be easy! :---DDD
  1450. # [22:17] <Hixie> jgraham: well yeah but they're not going anywhere
  1451. # [22:17] <Hixie> erlehmann: i considered it
  1452. # [22:18] <erlehmann> aaaand threw it away because … ?
  1453. # [22:18] <Hixie> erlehmann: didn't seem like the easy cases would be easy that way
  1454. # [22:18] <erlehmann> it makes the common case complicated?
  1455. # [22:18] <Hixie> jgraham: fwiw, you can always ignore the onsort='' and tell authors to do <table>...</table><script>myth.comparator = function(a,b){...}</script>
  1456. # [22:18] <alecf_> Random suggestion from the peanut gallery: how about a sortkey=function() {…} rather than a comparator
  1457. # [22:19] <Hixie> alecf_: ?
  1458. # [22:19] <gsnedders> Hixie: I'd rather just get everyone to use .comparator
  1459. # [22:19] <Hixie> alecf_: pray elaborate sir
  1460. # [22:19] <alecf_> the sort key generates the key to compare, rather than the comparator function
  1461. # [22:19] <Hixie> gsnedders: all the proposals i made above involve them using .comparator
  1462. # [22:19] <jgraham> Oh that's a good point
  1463. # [22:19] <alecf_> http://en.wikipedia.org/wiki/Schwartzian_transform
  1464. # [22:19] <gsnedders> alecf_: Does that work even with reverse orderings?
  1465. # [22:20] <alecf_> if you make it, sure!
  1466. # [22:20] <gsnedders> Hixie: I'd just omit the HTML attribute :)
  1467. # [22:20] <Hixie> alecf_: ah, interesting
  1468. # [22:20] <alecf_> the idea is you return the key in the "scope" (i.e. unicode, numbers, whatever) such that you can use JS comparator rules around <, >, =
  1469. # [22:20] * Quits: krawchyk (~krawchyk@65.220.49.251) (Remote host closed the connection)
  1470. # [22:20] <erlehmann> isn't there a declarative means of providing custom sorting algorithms?
  1471. # [22:20] * Joins: Minty (~kvirc@cpc5-soli5-2-0-cust322.perr.cable.virginmedia.com)
  1472. # [22:20] <alecf_> this also lets the UA optimize a whole lot more
  1473. # [22:20] <alecf_> rather than your comparator being called NlogN times, your sort key is just called n times
  1474. # [22:21] <alecf_> (and drastically simplifies rules around UA caching of sort keys, if desired)
  1475. # [22:21] <erlehmann> this is a pretty clever thing
  1476. # [22:21] <jgraham> Yes, python does the same thing
  1477. # [22:21] <alecf_> yes exactly
  1478. # [22:21] <jgraham> Should have thought of it before
  1479. # [22:22] * Parts: Minty (~kvirc@cpc5-soli5-2-0-cust322.perr.cable.virginmedia.com) ("Once you know what it is you want to be true, instinct is a very useful device for enabling you to know that it is")
  1480. # [22:22] <Hixie> this does rather get around the problem of what to do if your comparator is ill-behaved
  1481. # [22:22] <Hixie> i like it
  1482. # [22:22] * Quits: magistr (~magistr@109.111.174.36) (Remote host closed the connection)
  1483. # [22:22] <gsnedders> Hixie: You could use the ES solution of not defining what happens then. :P
  1484. # [22:22] <Hixie> then again, you could already do this by just hard-coding the key in the markup using <data>
  1485. # [22:23] <Hixie> so maybe there's just no need to give a comparator?
  1486. # [22:23] <gsnedders> (The only web-relied behaviour there is "it terminates", provided the comparitor always does)
  1487. # [22:24] <erlehmann> it seems we are lacking a … halting state
  1488. # [22:24] <alecf_> oh, and this lets you <td sortkey="1">one</td>
  1489. # [22:24] <TabAtkins> erlehmann: Yes, using <time> and <data> wrappers aroudn the contents let you override the sorting key.
  1490. # [22:24] <alecf_> oops, just saw Hixie 's comment about <data>
  1491. # [22:25] <TabAtkins> Most of the time, good sort functions in languages let you override both the key func and the sort func.
  1492. # [22:25] * Philip` guesses you need an explicit 'reverse' option, otherwise trying to make a key function for a reverse alphabetic sort sounds like a huge pain
  1493. # [22:25] <erlehmann> i advocate SQL in attributes instead of javascript
  1494. # [22:25] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
  1495. # [22:25] <erlehmann> SELECT value FROM list WHERE value > 100 ORDER BY value ASC
  1496. # [22:25] <Hixie> yes reversing will be built-in
  1497. # [22:25] <TabAtkins> Often just overriding the key func is fine, but you do sometimes need a real comparator.
  1498. # [22:26] <TabAtkins> Hixie: There are sorting algorithms that will handle badly-behaved comparators without infinite-looping, I think.
  1499. # [22:26] <gsnedders> TabAtkins: There are. They are de-facto required for Array.prototype.sort.
  1500. # [22:26] <Philip`> TabAtkins: Like bubble sort
  1501. # [22:26] * Joins: mattgiff_ (~mattgiffo@70.102.199.158)
  1502. # [22:26] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
  1503. # [22:26] <Hixie> well this is moot since alecf_ made me realise that since we allow you to override the key, you can always just use that
  1504. # [22:26] <TabAtkins> gsnedders: Yeah, that's what I thought.
  1505. # [22:26] <Hixie> and get any sort order you want
  1506. # [22:27] <TabAtkins> Hixie: I'm not certain you really can "always" do that. At least, I've had good reason to use both key-overriding and comparator-overriding when sorting things in programs.
  1507. # [22:27] <gsnedders> TabAtkins: The exact behaviour, as I said above, isn't required for web-compat, just that it terminates given the comparator does.
  1508. # [22:27] <Hixie> TabAtkins: when can't you?
  1509. # [22:27] <TabAtkins> gsnedders: Yeah, that's what I'd think. The behavior woudl be more or less arbitrary anyway.
  1510. # [22:27] <gsnedders> TabAtkins: Which means to get a random ordering in ES you can de-facto do arr.sort(function(a,b){return Math.random()-0.5;})
  1511. # [22:27] * Hixie grumbles that he wants both a sort="" attribute and a sort() method on the same object
  1512. # [22:28] <TabAtkins> Hixie: For example, if the data is something that can be lexicographically sorted. You might not be able to easily map that into an existing key structure.
  1513. # [22:28] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
  1514. # [22:28] <TabAtkins> gsnedders: Clever. ^_^
  1515. # [22:28] * Quits: mattgifford (~mattgiffo@70.102.199.158) (Ping timeout: 250 seconds)
  1516. # [22:28] <Hixie> TabAtkins: if it can be lexicographically sorted, you can just use it as the key
  1517. # [22:28] * Joins: othermaciej (~mjs@17.244.28.93)
  1518. # [22:29] <TabAtkins> Hixie: No, you can't necessarily. That depends on it being sortable using string rules.
  1519. # [22:29] <Philip`> Hixie: You might want to sort first by a number, then tie-break by sorting on a string
  1520. # [22:29] <TabAtkins> I mean like, tuples can be lexicographically sorted.
  1521. # [22:29] <Hixie> TabAtkins: what do you mean by "lexicographically" then?
  1522. # [22:29] <TabAtkins> What Philip` said.
  1523. # [22:29] <alecf_> TabAtkins: you build that into your key
  1524. # [22:29] <Philip`> so you can't just concatenate them
  1525. # [22:29] <Hixie> Philip`: luckily, that's what the default algorithm will do
  1526. # [22:29] <TabAtkins> Lexicographically means "sort per element, breaking ties by sorting the next element".
  1527. # [22:29] <TabAtkins> It's defined by analogy to strings, thus the name.
  1528. # [22:30] <Hixie> Philip`: but you could do that easily by just using as the key a form like "[type][key]" where type = 1 for number, 2 for string, and [key] being the key in string form
  1529. # [22:30] <Hixie> Philip`: zero-padded for numbers
  1530. # [22:30] <alecf_> I don't believe there is anything that can be expressed with comparator that can't be expressed with sort key, at least within the bounds of "sane" comparators
  1531. # [22:30] <alecf_> (i.e. stable-sorting comparators)
  1532. # [22:30] <gsnedders> This is what I believe, given a stable-sorting comparator.
  1533. # [22:30] * Joins: isherman-book (Adium@nat/google/x-vgijstodqxnptuvr)
  1534. # [22:31] <TabAtkins> alecf_: Technically, you're probably right. Realistically, the things we're describing are easier with a comparator so you don't have to do string-encoding hacks.
  1535. # [22:31] <gsnedders> (Proof is left as an exercise to the reader, etc.)
  1536. # [22:31] <erlehmann> orderby RAND()
  1537. # [22:31] <TabAtkins> Hixie: As gsnedders said, worrying about badly-behaved comparators is a red-herring, since Array#sort has to deal with that already.
  1538. # [22:31] <alecf_> sortkey="rand()" :)
  1539. # [22:32] <alecf_> TabAtkins: I'd argue that there are just as many things that are easier with a sortkey - once I started using it in python, I pretty much stopped writing comparators
  1540. # [22:32] <erlehmann> TabAtkins, “string encoding hacks” ?
  1541. # [22:33] <Hixie> new straw man:
  1542. # [22:33] <Hixie> <table sortable> // enables UI
  1543. # [22:33] <Hixie> <th sort[="[reverse] [level]"]> // enables autosorting for the table using this column as key (level 2 is secondary key, 3 is tertiary, etc)
  1544. # [22:33] <Hixie> <table>.stopSort(); // removes all sort attributes
  1545. # [22:33] <TabAtkins> alecf_: I'm not disagreeing. Like I said, I get plenty of use out of both keyfuncs and sortfuncs when sorting.
  1546. # [22:33] <Hixie> <th>.sortNow(); // increments level of sort="" attributes, then sets this <th>'s to ""; unless it's already level 1, in which case it just flips the presence of "reverse"
  1547. # [22:33] <Philip`> Hixie: I don't mean that keys are either numbers or strings (so you can't just tag them with a single type) - they're a tuple like (100, "a") or (100, "b") or (-100.5, "a")
  1548. # [22:33] <alecf_> note I said "just as many", I'm not trying to say which is better for expressiveness
  1549. # [22:33] <TabAtkins> erlehmann: Like if you're lexico sorting a (number, string) tuple, having to encode the number to sort right with string-sorting rules.
  1550. # [22:34] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
  1551. # [22:34] * Quits: heath (quassel@2600:3c02::f03c:91ff:feae:6e5b) (Changing host)
  1552. # [22:34] * Joins: heath (quassel@unaffiliated/ybit)
  1553. # [22:34] <erlehmann> i am looking for declarative collation efforts right now
  1554. # [22:34] <Philip`> and in general you can't sort numbers by converting them to strings and doing normal string comparison, because you want -2 < -1 < 0 < 1 < 2
  1555. # [22:34] <Hixie> Philip`: just zero-pad the number so it's aligned on the same decimal, then concatenate the string and use that. 0100.0a 0100.0b -100.5a
  1556. # [22:35] <Hixie> Philip`: yeah fair enough, you'd need to reverse the sort key for negative numbers
  1557. # [22:35] <Hixie> 1:100.0a 1:100.0b 0:899.5a
  1558. # [22:35] <Hixie> or some such
  1559. # [22:36] <Hixie> anyway, we can support a comparator if people want one
  1560. # [22:36] <Hixie> i don't mind
  1561. # [22:36] <TabAtkins> Hixie: That means you have to first scan the table to know how wide your numbers are, or adopt a number-encoding solution that doesn't need zero-padding (like http://www.xanthir.com/blog/b4K70)
  1562. # [22:36] <SimonSapin> gsnedders: sort(function(a,b){return Math.random()-0.5;}) can be biased if the sorting algorithm assumes transitivity http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Comparison_with_other_shuffling_algorithms
  1563. # [22:36] * Joins: magistr (~magistr@109.111.174.36)
  1564. # [22:36] <Hixie> TabAtkins: yeah
  1565. # [22:37] <erlehmann> TabAtkins, fail link
  1566. # [22:37] <gsnedders> SimonSapin: Indeed.
  1567. # [22:37] <erlehmann> correct link is about:blank
  1568. # [22:37] <TabAtkins> erlehmann: Not my fault.
  1569. # [22:37] <erlehmann> err http://www.xanthir.com/blog/b4K70
  1570. # [22:37] <Hixie> that's the URL he gave
  1571. # [22:37] <erlehmann> TabAtkins, parenthesis unencoded in URL where it is not part of URL.
  1572. # [22:37] <TabAtkins> irssi isn't interpreting it as a link, presumably because of the ) following it.
  1573. # [22:38] <gsnedders> irssi doesn't handle links, your terminal does.
  1574. # [22:38] <Hixie> TabAtkins: ah yes, i remember reading about this a few months ago
  1575. # [22:38] <TabAtkins> Wait, never mind, it does work.
  1576. # [22:38] <Hixie> the ) was unambiguously not part of the url since otherwise he'd have unbalanced parentheses :-P
  1577. # [22:38] <erlehmann> TabAtkins, http://en.wikipedia.org/wiki/The_Walking_Dead_(TV_series) contains a closing parenthesis at the end
  1578. # [22:39] <TabAtkins> erlehmann: Yes yes, you're right. Should have surrounded it in <>.
  1579. # [22:39] <Hixie> ok new strawman:
  1580. # [22:39] <Hixie> <table sortable> // enables UI
  1581. # [22:39] <Hixie> <th sort[="[reverse] [level]"]> // enables autosorting for the table using this column as key (level 2 is secondary key, 3 is tertiary, etc)
  1582. # [22:39] <Hixie> <th onsort=""> // called just before sort happens but after the sort="" attributes are updated; return false to cancel sort (so you can do it yourself)
  1583. # [22:39] <Hixie> <th>.comparator = function(a, b) { } // comparator for this column
  1584. # [22:39] <Hixie> <table>.stopSort(); // removes all sort attributes
  1585. # [22:39] <gsnedders> SimonSapin: It is often good enough as an approximation, however
  1586. # [22:39] <Hixie> <th>.sortNow(); // increments level of sort="" attributes, then sets this <th>'s to ""; unless it's already level 1, in which case it just flips the presence of "reverse"
  1587. # [22:39] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
  1588. # [22:39] <erlehmann> Hixie, as someone who several times tried to work around the issue of peopleusing parenthesis, I dare you to write something that will result in few false negatives
  1589. # [22:39] <Hixie> erlehmann: my brain seems to manage it pretty well
  1590. # [22:40] <SimonSapin> gsnedders: fair enough
  1591. # [22:40] <Philip`> erlehmann: Write something that parses it both ways then checks whether one is a 404
  1592. # [22:40] <erlehmann> Hixie, that is because your brain is not using regular expressions. you are probably an agent of ZALGO.
  1593. # [22:40] <Hixie> my workflow isn't utf-8 safe enough for me to be an agent of zalgo
  1594. # [22:41] <erlehmann> what i did was if the string started with (http ignore last parenthesis
  1595. # [22:41] <erlehmann> so (http://example.org) is highlighted as http://example.org
  1596. # [22:41] <erlehmann> otherwise, take them in. wikipedia articles are common enough to warrant this
  1597. # [22:41] <Hixie> ok last chance to stop me wasting my time speccing something you're going to complain about later
  1598. # [22:42] <TabAtkins> Hixie: You doing the keyfunc thing?
  1599. # [22:42] <gsnedders> Hixie: What's the point of sortStop?
  1600. # [22:42] <Hixie> TabAtkins: see new strawman above
  1601. # [22:42] <erlehmann> is there no feasible way of declaratively specifying comparators?
  1602. # [22:42] <TabAtkins> Hixie: Yes, I don't see it. I was wondering. ^_^
  1603. # [22:42] <Hixie> gsnedders: it makes it so you can insert rows into the table again without it magically sorting the rows for you
  1604. # [22:43] <Hixie> TabAtkins: no keyfunc, just <data value=""> if you want to do a key thingy
  1605. # [22:43] <erlehmann> Hixie, why not just remove the attribute then?
  1606. # [22:43] <TabAtkins> erlehmann: You can declaratively specify your key, but not your comparator.
  1607. # [22:43] <gsnedders> Hixie: Does this warrant a function built-in for it?
  1608. # [22:43] <Hixie> erlehmann: there might be dozens of it
  1609. # [22:43] <TabAtkins> Hixie: Okay.
  1610. # [22:43] <TabAtkins> Hixie: I'm happy enough with the strawman.
  1611. # [22:44] <Hixie> gsnedders: i don't know how else to do it. How do you get a list of all the <th> descendants with a sort="" attribute that aren't part of another table then strip the attributes from those <th>s?
  1612. # [22:44] <erlehmann> TabAtkins, declarative comparison speccing is impossible in a goedelian way?
  1613. # [22:44] <Hixie> gsnedders: short of manually walking the tree or something
  1614. # [22:44] <erlehmann> like, mathematically impossible short of enumerating every value?
  1615. # [22:44] * Joins: Lachy (~Lachy@cm-84.215.19.229.getinternet.no)
  1616. # [22:44] <gsnedders> Hixie: Oh, right, yes, nested tables do complicate that.
  1617. # [22:44] <TabAtkins> erlehmann: No, not really. ^_^ Just more complex than is warranted for a feature like this.
  1618. # [22:44] <Hixie> can you do table.querySelectorAll('table:scope > thead > tr > th[sort]').apply(function (node) { node.removeAttribute('sort') } ); or something?
  1619. # [22:45] <erlehmann> TabAtkins, can you point me to some ways to do it?
  1620. # [22:46] <Hixie> if you want a turing complete solution for the comparator syntax, isn't it by definition not declarative?
  1621. # [22:46] <Hixie> i assume by "declarative" you mean "a turing machine can determine if it halts"
  1622. # [22:46] <gsnedders> Hixie: Well, are we requiring it to be inthead?
  1623. # [22:46] <TabAtkins> erlehmann: Not without some effort to find some. I imagine something based on (1) having a set of basic types that are sortable, and (2) having a declarative parser that turns values into those types would work.
  1624. # [22:46] <Hixie> gsnedders: probably, though for the sake of argument you could replace that with :matches(thead, tbody)
  1625. # [22:46] <erlehmann> Hixie, it reminds me of my synthesizer problem. i used declarative means so it would guarantee to return in 30ms providing the next sample.
  1626. # [22:47] <Hixie> it's easy to guarantee that code will return in 30ms
  1627. # [22:47] <Hixie> alarm(30ms)...
  1628. # [22:47] <erlehmann> no more turing complete input languages! repent!
  1629. # [22:47] <gsnedders> Hixie: Then yeah, that would work.
  1630. # [22:47] <erlehmann> what is the behaviour, if autosort is on and the comparator does not halt?
  1631. # [22:47] <Hixie> really? holy cow, if that really would work that's impressive
  1632. # [22:48] <gsnedders> Hixie: Why wouldn't it?
  1633. # [22:48] <TabAtkins> erlehmann: Same as infinite-looping in JS. That's exactly what it is, after all.
  1634. # [22:48] <Hixie> since i basically guessed at both querySelectorAll() being on elements, :scope working as i expected, and .apply() being on its return value
  1635. # [22:48] <Hixie> erlehmann: a dialog pops up saying "a script on this page isn't halting..."
  1636. # [22:48] <gsnedders> Heh. :)
  1637. # [22:48] <TabAtkins> Hixie: Oh, no, apply doesn't exist.
  1638. # [22:48] <Hixie> boo
  1639. # [22:49] <TabAtkins> You need to cast the nodelist into an array and then call map or forEach.
  1640. # [22:49] <gsnedders> Hixie: I might have slightly misremembered, but basically the approach works.
  1641. # [22:49] <erlehmann> TabAtkins, now consider a comparator that does not halt … on some edge cases. and some table filled dynamically with stock prices or whatever.
  1642. # [22:49] <TabAtkins> [].slice.call(table.querySelectorAll(...)).forEach(...);
  1643. # [22:49] <Hixie> you can cast a NodeList into an Array?
  1644. # [22:49] <Hixie> lordy
  1645. # [22:49] <TabAtkins> Hixie: You can cast anything with a .length property into an array.
  1646. # [22:49] <annevk> Hixie: FYI, Twitter liks the sortable tables stuff
  1647. # [22:49] <Hixie> your definition of "cast" isn't quite the same as mine but fair enough
  1648. # [22:49] <TabAtkins> What I wrote above is the standard idiom for such.
  1649. # [22:49] <annevk> likes, even
  1650. # [22:49] <Hixie> wasn't heycam working on making NodeLists Arrays?
  1651. # [22:49] <gsnedders> TabAtkins: or use Array.prototype.apply.call(table.querySelectorAll(…), function(node){node.removeAttr…})
  1652. # [22:50] <gsnedders> Given Array.prototype.apply is generic
  1653. # [22:50] <TabAtkins> gsnedders: Too voodoo for me.
  1654. # [22:50] <Hixie> annevk: the company, or random people watching us jibber jabber here?
  1655. # [22:50] <Hixie> if the random people, hi random people
  1656. # [22:50] <Hixie> come on down!
  1657. # [22:50] <Hixie> join us
  1658. # [22:50] <gsnedders> TabAtkins: It's what I tend to do. :)
  1659. # [22:50] <annevk> Hixie: we're still working on making NodeList arrays, but web compat might be against us
  1660. # [22:50] <Hixie> annevk: NodeList.asArray()?
  1661. # [22:50] <TabAtkins> As soon as I see .[call|apply].[call|apply], I bail.
  1662. # [22:50] <annevk> Hixie: random people retweeting my tweet of your sketch link
  1663. # [22:50] <erlehmann> hey, annevk, can i use tilde in hashes as separator? you are the new URL god, right? :3
  1664. # [22:50] <TabAtkins> Hixie: No, natively arrays.
  1665. # [22:50] <Hixie> annevk: aah
  1666. # [22:51] <annevk> Hixie: what TabAtkins said
  1667. # [22:51] <annevk> erlehmann: I just write down what get its implemented
  1668. # [22:51] <erlehmann> did you mean “aaaaaaaah” (implying implications)
  1669. # [22:51] <Hixie> oh yeah, i assumed that was impossible
  1670. # [22:51] <gsnedders> TabAtkins: Oh, I meant forEach.call, bah!
  1671. # [22:51] <Hixie> but i mean can't we add a .asArray() method?
  1672. # [22:51] <Hixie> that'd be sufficient
  1673. # [22:51] <erlehmann> annevk, oh okay. then i need to defeat the implementors … by becoming one of them!
  1674. # [22:52] <annevk> Hixie: that sounds doable, not sure if that's nice enough
  1675. # [22:52] <annevk> erlehmann: but why not ";"?
  1676. # [22:52] <TabAtkins> gsnedders: Oh, haha, yeah, that'd work.
  1677. # [22:52] <Hixie> so table.querySelectorAll('table:scope > thead > tr > th[sort]').asArray().forEach(function (node) { node.removeAttribute('sort') } );
  1678. # [22:52] <Hixie> annevk: well it's better than the pseudo-casting you have to do now to get forEach
  1679. # [22:52] <TabAtkins> Hixie: In our ideal world, remove the .asArray() call.
  1680. # [22:52] <annevk> Hixie: yeah fair enough
  1681. # [22:52] <Hixie> TabAtkins: yeah, but if that's impossible for web compat...
  1682. # [22:52] <annevk> Hixie: I'll try to make a note of that somewhere
  1683. # [22:53] <Hixie> what's the difference between .forEach() and .apply()?
  1684. # [22:53] <TabAtkins> Hixie: apply() is a method on Function that calls the function, taking an array and expanding it into the individual arguments.
  1685. # [22:53] <TabAtkins> .forEach is a method on Array that calls a function on each element of the array.
  1686. # [22:53] <othermaciej> forEach() is like map() that doesn’t collect the results
  1687. # [22:54] <TabAtkins> They are completely different. .apply() is just a variant of .call().
  1688. # [22:54] <erlehmann> annevk, data indicates that some characters are already used often, bottom of this mail http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-December/038430.html
  1689. # [22:54] <gsnedders> .apply just calls [[Call]]
  1690. # [22:54] <gsnedders> foo.apply(undefined, [a,b,c]) == foo(a,b,c)
  1691. # [22:54] <erlehmann> tilde in fragment is used virtually never
  1692. # [22:54] <gsnedders> (assuming Function.prototype.apply and undefined have their initial values, etc.)
  1693. # [22:55] <Hixie> wait so Array.prototype.apply.call(table.querySelectorAll(…), function(node){node.removeAttr…}) doesn't work
  1694. # [22:55] <TabAtkins> Hixie: Array.prototype doesn't have an apply method.
  1695. # [22:55] <annevk> erlehmann: hmm, I don't really buy the compat argument
  1696. # [22:55] <TabAtkins> I don't know what language you got that naming pattern from.
  1697. # [22:55] <Hixie> gsnedders stop confusing me man
  1698. # [22:55] <gsnedders> Hixie: s/apply/forEach/
  1699. # [22:55] <Hixie> :-P
  1700. # [22:55] <annevk> erlehmann: you could just check if the value is an ID somewhere first, and then split on ";" if it's not
  1701. # [22:55] <gsnedders> Hixie: I made that correction forever.
  1702. # [22:55] <gsnedders> *forever ago
  1703. # [22:55] <gsnedders> Hixie: Keep up, man!
  1704. # [22:55] <annevk> erlehmann: but anyway, don't really care
  1705. # [22:56] <annevk> erlehmann: http://url.spec.whatwg.org/#writing has rules on fragment code points
  1706. # [22:56] <erlehmann> annevk, that is what i could do if there is no suitable character.
  1707. # [22:57] <erlehmann> annevk, i could also only split on delim if there is an equals character following which almost guarantees web compat
  1708. # [22:57] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
  1709. # [22:57] * Parts: astearns (~astearns@192.150.22.5)
  1710. # [22:57] <annevk> erlehmann: I'd try to keep the algorithm extremely simple
  1711. # [22:57] * Joins: astearns (~astearns@192.150.22.5)
  1712. # [22:57] <annevk> erlehmann: I doubt implementors like fiddling around with fragment identifier code
  1713. # [22:59] <erlehmann> annevk, then I will have to learn to to play the fiddle myself
  1714. # [23:00] <erlehmann> annevk, in the end, not having to look for an element on the page could make processing simpler.
  1715. # [23:00] * Quits: ap (~ap@17.114.111.158) (Remote host closed the connection)
  1716. # [23:01] * Quits: isherman-book (Adium@nat/google/x-vgijstodqxnptuvr) (Quit: Leaving.)
  1717. # [23:01] * Joins: ap (~ap@2620:149:4:1b01:35fe:2b6:3152:f2c2)
  1718. # [23:04] <annevk> well remember that 1) it's just a hashmap lookup and 2) that's the 99% scenario
  1719. # [23:05] <annevk> media fragments are the 1%, if that
  1720. # [23:14] <erlehmann> I AM THE 1%
  1721. # [23:14] <erlehmann> I AM BATMAN
  1722. # [23:14] * Quits: svl (~me@p57AB7795.dip.t-dialin.net) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  1723. # [23:15] <erlehmann> oh noes, dan cederholm is batman http://cssquirrel.com/comic/?comic=35
  1724. # [23:17] * Quits: Maurice` (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
  1725. # [23:18] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
  1726. # [23:18] * Quits: MacTed (~Thud@63.119.36.36)
  1727. # [23:22] * Joins: tomasf_ (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
  1728. # [23:26] * Quits: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Ping timeout: 264 seconds)
  1729. # [23:26] * Joins: tomasf (~tom@2002:55e5:db44:0:19f3:cf55:9ea9:eadc)
  1730. # [23:26] * Quits: tomasf_ (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Ping timeout: 244 seconds)
  1731. # [23:30] <Hixie> suppose there are three columns A, B, and C
  1732. # [23:31] <Hixie> suppose the user sorts by C, then B, then A
  1733. # [23:31] * Joins: jonlee (~jonlee@2620:149:4:1b01:7449:83d3:77c7:d0f1)
  1734. # [23:31] <Hixie> so they have sort="", sort="2", and sort="3" respectively (A, B, C)
  1735. # [23:31] <Hixie> now the user clicks B again
  1736. # [23:31] <Hixie> should they have sort="2", sort="", sort="4", or should they have sort="2", sort="", sort="3"?
  1737. # [23:32] <Hixie> (pretend all those sort=""s are sort="1" if you prefer that, that's not the point of this)
  1738. # [23:32] <erlehmann> o.0
  1739. # [23:34] * Joins: JonathanNeal (~anonymous@38.122.109.194)
  1740. # [23:34] <JonathanNeal> hi
  1741. # [23:34] <Hixie> also, should sort="2 reverse" and sort="reverse 2" both be supported, or should the level always come first/second?
  1742. # [23:34] <erlehmann> i want <table sortable autosort="lastname firstname age"> with id values on th
  1743. # [23:35] <erlehmann> can i have it? :3
  1744. # [23:35] <TabAtkins> Hixie: Either ordering should be allowed.
  1745. # [23:35] <erlehmann> hixie why overload the attribute for two things unrelated to each other?
  1746. # [23:35] <TabAtkins> Hixie: For your previous question, preferably 2/1/3.
  1747. # [23:36] <Hixie> TabAtkins: ta
  1748. # [23:36] <JonathanNeal> either sounds easier
  1749. # [23:36] <Hixie> erlehmann: they're not unrelated, they're saying that this is a column that is to be used for sorting, and how to use the column for sorting
  1750. # [23:36] <erlehmann> hixie, those are two distinct properties.
  1751. # [23:37] <annevk> yeah, 2/1/3, possibly with B reversed?
  1752. # [23:37] <Hixie> annevk: ignore the reversal thing, i'm just trying to work out how much work i should force onto the browsers in terms of normalising values
  1753. # [23:37] <erlehmann> remember reverse ordered lists?
  1754. # [23:37] <Hixie> erlehmann: how would you do it? (style="" has many properties...)
  1755. # [23:38] <Hixie> reverse ordered lists?
  1756. # [23:38] <erlehmann> http://blog.whatwg.org/reverse-ordered-lists
  1757. # [23:38] <erlehmann> there is a single reserve attribute mentioned
  1758. # [23:38] <erlehmann> reverse
  1759. # [23:38] <erlehmann> sorry
  1760. # [23:38] <Hixie> yes?
  1761. # [23:38] <Hixie> how is this related
  1762. # [23:39] <annevk> Hixie: from other cases, e.g. DOMTokenList, the consensus seems to be that UAs prefer the simplest possible internal format and then serialize that
  1763. # [23:39] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
  1764. # [23:39] <annevk> Hixie: (I changed DOMTokenList from being string-based to being an ordered set)
  1765. # [23:39] <Hixie> annevk: k
  1766. # [23:39] <Hixie> annevk: not sure which is the simplest internal format here
  1767. # [23:40] <Hixie> annevk: not sure how that would affect this, either
  1768. # [23:40] * Joins: dgorbik (~dgorbik@17.202.47.157)
  1769. # [23:40] <erlehmann> hixie, i would to <table sortable orderby="foo bar"><tr><th id=foo>fooooo</th> <th id=baz>baaaaz</th> <th id=bar reverse>bar</th> …
  1770. # [23:40] <Hixie> annevk: i mean, the format seems orthogonal
  1771. # [23:40] <erlehmann> (orderby = autosort, here only mentioned because of SQL)
  1772. # [23:40] <annevk> Hixie: column ref + boolean indicating order, but yeah, doesn't matter much
  1773. # [23:40] <Hixie> erlehmann: yikes
  1774. # [23:40] <Hixie> erlehmann: i don't want the information split that far apart
  1775. # [23:41] <erlehmann> hixie, it would be easier for authors.
  1776. # [23:41] <Hixie> that i'm not at _all_ convinced of
  1777. # [23:41] <erlehmann> currently, to find the sort order you have to look in several places
  1778. # [23:41] <Hixie> requiring id=""s everywhere is horrible for authors imho
  1779. # [23:41] * Quits: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr) (Ping timeout: 245 seconds)
  1780. # [23:41] <JonathanNeal> agreed
  1781. # [23:41] <Hixie> if you want to _find_ the sort order, we can expose a method that does that
  1782. # [23:41] <JonathanNeal> i avoid ids at all costs.
  1783. # [23:41] <annevk> JonathanNeal: btw, most open license is CC0
  1784. # [23:41] <Hixie> i'm more worried about setting the sort order
  1785. # [23:41] <erlehmann> but having the sort order in one attribute for the table would be much more readable
  1786. # [23:41] <erlehmann> and author-able
  1787. # [23:41] <Hixie> which seems far more likely
  1788. # [23:42] <Hixie> i disagree about authorable
  1789. # [23:42] <Hixie> readable maybe
  1790. # [23:42] <Hixie> though even then...
  1791. # [23:42] <JonathanNeal> annevk: interesting, why do they bring up moral rights?
  1792. # [23:43] <annevk> JonathanNeal: dunno
  1793. # [23:43] <erlehmann> set sort order by a string!
  1794. # [23:43] <TabAtkins> JonathanNeal: I use cc0 for things that I want to release into the public domain, because many countries don't have a public domain.
  1795. # [23:43] <annevk> JonathanNeal: most of spec.whatwg.org is using that
  1796. # [23:43] <erlehmann> table.orderby = 'rank lastname firstname'
  1797. # [23:43] <erlehmann> :3
  1798. # [23:43] <erlehmann> this would be so cool
  1799. # [23:43] <JonathanNeal> what would be the primary difference between MIT and CC0?
  1800. # [23:43] <annevk> JonathanNeal: CC0 requires nothing of the people using your code
  1801. # [23:44] <erlehmann> hixie, interacting with sort=1, sort=2, etc. would also require more code :/
  1802. # [23:45] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
  1803. # [23:45] <annevk> erlehmann: depends on the API
  1804. # [23:45] <JonathanNeal> I like everything about CC0, except I'm a little confused by http://creativecommons.org/choose/zero/ "Using CC0, you can waive all copyrights and related or neighboring rights that you have over your work, such as your moral rights (to the extent waivable)"
  1805. # [23:45] <erlehmann> annevk, table.orderby = [string of th ids delimited by spaces] is very easy API.
  1806. # [23:45] <annevk> Hixie: dunno about what's best here, I guess I'd look at what the libraries have done
  1807. # [23:45] <annevk> erlehmann: nah
  1808. # [23:45] <annevk> erlehmann: IDs suck
  1809. # [23:46] <Hixie> erlehmann: i'm happy to provide that API if that's useful, I'm just talking about what the DOM itself looks like for now
  1810. # [23:46] <annevk> JonathanNeal: it's the same as putting your stuff in the public domain except as TabAtkins says it works in more countries
  1811. # [23:46] <erlehmann> <table sortable autosort orderby="rank lastname firstname"> <tr> <th id=rank> … vs. <table sortable autosort> <th><tr sort=1> …
  1812. # [23:47] <erlehmann> the latter is opaque
  1813. # [23:47] <Hixie> erlehmann: no "autosort" in the latter
  1814. # [23:47] <Hixie> just <table sortable><tr><th sort>
  1815. # [23:47] <JonathanNeal> Does that mean people can draw dirty pictures in my library? Rather, don't MIT and GPL libraries allow that too? What does it mean to explicitly point that out?
  1816. # [23:47] <Hixie> and the sortable="" is only needed if you want the UI
  1817. # [23:47] <erlehmann> hixie, if autosort is implied if a sort order is given one could also remove it from the former
  1818. # [23:47] * heycam is now known as heycam|away
  1819. # [23:47] <TabAtkins> JonathanNeal: Some countries recognize a creator's "moral rights" in their work. It's a pretty nonsense concept, but you still need to explicitly waive it if you want to be as free as possible. ^_^
  1820. # [23:47] <Hixie> right
  1821. # [23:47] <erlehmann> <table orderby="rank name file">
  1822. # [23:47] <annevk> JonathanNeal: it means they don't have to copy your license terms
  1823. # [23:48] <erlehmann> hixie, what benefits does your current approach give from a DOM manip perspective?
  1824. # [23:48] <Hixie> <table orderby="rakn name file"><tr><th id=rank> <th id=name> <th id=file> <th> vs <table><tr><th sort=1><th sort=2><th sort=3><th>
  1825. # [23:48] <Hixie> but question, what happens in your case if the user clicks the fourth column?
  1826. # [23:49] <Hixie> (note that in the markup i just posted, yours won't work because i typed an ID, oops)
  1827. # [23:49] <Hixie> typoed
  1828. # [23:49] <JonathanNeal> annevk: that makes a lot more sense, except I wouldn't have chosen the word moral. TabAtkins that also kinda makes sense, except it's really vague. Like … sorry, you can't use this library, it was made in England and that means it is overseen by the Church of England.
  1829. # [23:49] <TabAtkins> It has nothing to do with morality.
  1830. # [23:50] <annevk> JonathanNeal: dunno man, stuff has been checked by the lawyers
  1831. # [23:50] <TabAtkins> It's more like, exploiting someone's work without paying them is morally wrong. Legally recognizing that means granting moral rights.
  1832. # [23:50] <annevk> JonathanNeal: maybe http://creativecommons.org/about/cc0 helps?
  1833. # [23:50] <erlehmann> hixie the active columns is implicitly the most important column for sorting
  1834. # [23:50] <TabAtkins> American copyright has no moral rights, for example. It's an economic concept only.
  1835. # [23:50] <JonathanNeal> I understand, I had never thought to disassociate the phrase "moral rights" with morality.
  1836. # [23:51] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
  1837. # [23:51] <Hixie> erlehmann: i mean, what's the value of orderby=""
  1838. # [23:51] <Hixie> erlehmann: after the user clicks the fourth column
  1839. # [23:51] * Quits: jonlee (~jonlee@2620:149:4:1b01:7449:83d3:77c7:d0f1) (Quit: jonlee)
  1840. # [23:51] <JonathanNeal> TabAtkins: got it. Thanks for explaining that to me.
  1841. # [23:52] <JonathanNeal> annevk: i had seen both pages, and it really just didn't hit me right. I think you understand what my disconnect was. Again, I really appreciate the explanation. I hope I can relicense a lot of my work CC0 now.
  1842. # [23:52] <erlehmann> hixie, i see what you did there.
  1843. # [23:52] <annevk> JonathanNeal: teehee :)
  1844. # [23:53] <erlehmann> hixie, if only what is targetable would trigger sort, we could link to tables being sorted by linking to its table head.
  1845. # [23:53] <erlehmann> that would be rad
  1846. # [23:53] <JonathanNeal> So, the primary difference between MIT and CC0 is that CC0 is saying "this license tells you to do what you please, including neglecting to tell others the same by including this notice"
  1847. # [23:54] <Hixie> erlehmann: that seems like it would make writing sortable tables a huge pain. I'd much rather just make it possible by only including a sortable="" attribute.
  1848. # [23:54] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
  1849. # [23:54] <erlehmann> JonathanNeal CC is always more broad because CC lawyers work on internationalization
  1850. # [23:54] <Hixie> ok, next question: should the UA use sort=""/sort="reverse" for the primary key, or sort="1"/sort="1 reverse" ?
  1851. # [23:55] <Hixie> (all are supported, for authors)
  1852. # [23:55] <erlehmann> list form.
  1853. # [23:55] <Hixie> (just talking about what the browser ses)
  1854. # [23:55] <erlehmann> last form
  1855. # [23:55] <Hixie> sets
  1856. # [23:55] <TabAtkins> The former.
  1857. # [23:55] <erlehmann> haha, a typo that actually makes sense
  1858. # [23:55] <Hixie> anyone want to tie-break this one?
  1859. # [23:56] <erlehmann> wait
  1860. # [23:56] <erlehmann> i retract and read the statement again
  1861. # [23:56] <erlehmann> i am sleepy
  1862. # [23:56] <Hixie> lol
  1863. # [23:56] <erlehmann> <th sort=1 reverse>
  1864. # [23:56] <erlehmann> i would like that
  1865. # [23:56] <erlehmann> or, no
  1866. # [23:56] <erlehmann> i think i did not understand the question
  1867. # [23:56] <erlehmann> sorry :(
  1868. # [23:57] <erlehmann> is the question if the the primary key does implicitly have a number even if it is just <th sort> ?
  1869. # [23:57] <erlehmann> <th sort reverse> would be shorter than <th sort=1 reverse>
  1870. # [23:57] <erlehmann> but explicit is better than implicit
  1871. # [23:57] <Hixie> sort="" and sort="1" mean the same thing. The question is which the UA is going to prefer when it is the one setting the attribute.
  1872. # [23:58] <erlehmann> is there precedence of magic values appearing when setting the attribute through UA?
  1873. # [23:58] * Quits: danzik17 (~danzik17@ool-45787007.dyn.optonline.net) (Ping timeout: 252 seconds)
  1874. # [23:59] <Hixie> <details open> is (i think) the only other time we have had the UA set attributes, and it doesn't have a value
  1875. # [23:59] <erlehmann> i am going with TabAtkins (if TabAtkins is for sort="")
  1876. # Session Close: Fri Dec 21 00:00:00 2012

The end :)