Options:
- # Session Start: Thu Dec 20 00:00:00 2012
- # Session Ident: #whatwg
- # [00:00] * Quits: griswold (~quassel@san.space150.com) (Remote host closed the connection)
- # [00:00] * Quits: MacTed (~Thud@63.119.36.36)
- # [00:03] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
- # [00:10] * heycam|away is now known as heycam
- # [00:11] * Quits: weinig (~weinig@17.114.105.137) (Quit: weinig)
- # [00:12] * Joins: othermaciej (~mjs@17.245.104.249)
- # [00:13] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Remote host closed the connection)
- # [00:13] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
- # [00:16] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: Leaving)
- # [00:17] * Quits: othermaciej (~mjs@17.245.104.249) (Client Quit)
- # [00:18] * Quits: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl) (Ping timeout: 252 seconds)
- # [00:20] <Hixie> sortable tables...
- # [00:20] <Hixie> should the magic be on <th> or <col>?
- # [00:20] <Hixie> <col> has the advantage of making more sense, <th> the advantage of having half a chance of being in the markup
- # [00:20] <Hixie> i'm thinking <th>
- # [00:23] <TabAtkins> <col>!
- # [00:23] <TabAtkins> You can always add it if you want the functionality.
- # [00:23] <TabAtkins> Well, wait. Are we only sorting columns?
- # [00:24] * Joins: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
- # [00:24] <JonathanNeal> awesome
- # [00:25] <Hixie> TabAtkins: i hadn't even considered we might want to sort rows
- # [00:25] <Hixie> TabAtkins: let's say yes, just columns
- # [00:25] * Quits: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com) (Client Quit)
- # [00:26] <Hixie> man colspan/rowspan are going to make this unpleasant
- # [00:26] <Hixie> ugh, <col span>
- # [00:26] <Hixie> let's not use <col> for this
- # [00:27] <Hixie> using <th> makes styling easier too, we can put a pseudo-class on the <Th>
- # [00:27] <Hixie> i'm thinking <th>.sort() should only work if the <th> has no colspan="" (rowspan is fine)
- # [00:29] * Quits: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr) (Ping timeout: 260 seconds)
- # [00:33] * Quits: Famic (famic@hidden.dns.ug) (Ping timeout: 245 seconds)
- # [00:36] * Joins: othermaciej (~mjs@17.245.20.94)
- # [00:36] * Quits: othermaciej (~mjs@17.245.20.94) (Client Quit)
- # [00:37] * Joins: weinig (~weinig@17.114.11.2)
- # [00:37] * Joins: othermaciej (~mjs@17.245.20.94)
- # [00:39] * Quits: weinig (~weinig@17.114.11.2) (Client Quit)
- # [00:43] * Joins: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
- # [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
- # [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
- # [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
- # [00:53] <TabAtkins> + transitivity, right?
- # [00:53] <TabAtkins> So that table is sorted as one row?
- # [00:54] <TabAtkins> Oh wait, duh, that's per-column.
- # [00:54] <TabAtkins> Or, hm. No, you still have to do cross-column checking.
- # [00:55] * Quits: othermaciej (~mjs@17.245.20.94) (Quit: othermaciej)
- # [00:57] <Hixie> yeah, that table would be one row
- # [00:57] <Hixie> row sequence
- # [00:58] * Joins: mnot (~mnot@2001:44b8:4170:ce00:8c67:e3ae:df0c:a0e5)
- # [01:01] <mnot> has there been any discussion of giving control to authors over whether images with display: none are downloaded?
- # [01:01] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [01:04] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
- # [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
- # [01:04] <Hixie> mnot: https://www.w3.org/Bugs/Public/show_bug.cgi?id=17842
- # [01:04] <Hixie> mnot: currently pending implementor interest
- # [01:04] * Joins: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net)
- # [01:04] * Quits: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net) (Changing host)
- # [01:04] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [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)
- # [01:06] <mnot> thx, that's helpful.
- # [01:06] <mnot> the interest I'm seeing is from web perf folks, esp. for mobile, looking at responsive design.
- # [01:06] <mnot> will comment on bug.
- # [01:06] <zewt> (at this point i flinch at the very word "responsive")
- # [01:06] <mnot> yes, yes. :)
- # [01:06] <Hixie> mnot: the only thing blocking the bug is implementor interest
- # [01:06] <Hixie> mnot: so commenting won't help :-)
- # [01:06] <mnot> ok
- # [01:06] <Hixie> mnot: what would help is advocacy to implementors
- # [01:07] <mnot> understood.
- # [01:07] <zewt> unless commenting might help convince implementors, if any implementors are watching the bug :)
- # [01:07] <Hixie> cc list only has two implementors on it, and they haven't commented
- # [01:07] <mnot> yup
- # [01:09] * Joins: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net)
- # [01:09] <mnot> unrelated question - on srcset, was using child elements instead of an attribute considered? Or does that bring up compatibility problems?
- # [01:10] * Quits: nessy (~silviapf@101.170.133.32) (Quit: Leaving.)
- # [01:10] <zewt> that was argued for a few hundred emails, i think :)
- # [01:10] <Hixie> mnot: it was definitely considered
- # [01:10] <mnot> ok - so I don't need to bring it up then :)
- # [01:10] <zewt> (hixie will answer for himself, but iirc it's simply "child attributes makes everything more complicated and isn't needed")
- # [01:10] <Hixie> solution with multiple elements are about a 1000 times more complicated than solutions with attributes
- # [01:11] <Hixie> <video> being a classic example of the disaster that results if you go down that road
- # [01:11] <Hixie> it has one of the most complicated algorithms in the spec because of this
- # [01:11] <Hixie> second only to <object>, probably
- # [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)
- # [01:11] <zewt> i don't think i've ever actually used <object>, heh
- # [01:11] <zewt> maybe once in the ie6 days for inlining video or something
- # [01:13] <Hixie> (http://w3cmemes.tumblr.com/post/22670112919)
- # [01:13] <Hixie> mnot: i think HTTP is supposed to be the way you select based on format :-)
- # [01:14] <Hixie> (http://w3cmemes.tumblr.com/post/34698886006)
- # [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:
- # [01:15] <zewt> heh
- # [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 :)
- # [01:15] <zewt> (any less fugly ways to do that: welcome)
- # [01:16] <mnot> yeah, I need to talk ilya down from conneg-only; and he's not even a restafarian
- # [01:16] <zewt> not that pasting 80 or so bytes is onerous, just ... lame
- # [01:17] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [01:17] <zewt> heh, google has 26,700 hits for the empty gif data url i use
- # [01:18] <Hixie> TabAtkins: which compares earlier, <time datetime="11-12"> or <time datetime="11:12"> ? or should they be treated as a tie?
- # [01:18] <Hixie> zewt: didn't load anything? what's your use case?
- # [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"
- # [01:18] <zewt> templates, basically
- # [01:19] <Hixie> oh, if it's a template then it's not HTML
- # [01:19] <zewt> of course it is
- # [01:19] <Hixie> just use %IMAGEGOESHERE% or whatever
- # [01:19] * Quits: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com) (Quit: Leaving.)
- # [01:19] <zewt> it's in my document and parsed normally and there's nothing not-html-like at all :)
- # [01:19] <Hixie> then how is it a template?
- # [01:19] <Hixie> i'm confused
- # [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
- # [01:19] <Hixie> ohhh
- # [01:19] <Hixie> yeah we don't support that
- # [01:20] <zewt> yes you do, i'm doing it :)
- # [01:20] <Hixie> <template> hopefully will solve that problem
- # [01:20] <Hixie> we don't support that in the sense that it violates your warranty
- # [01:20] <Hixie> it isn't something that is condoned
- # [01:20] <Hixie> a solution for your problem has not been attempted
- # [01:21] <Hixie> you have to do hacks to get it
- # [01:21] <Hixie> you know what i meant :-P
- # [01:21] <zewt> :P
- # [01:21] <zewt> regular images are loaded from templates, though, i hope?
- # [01:22] <Hixie> beats me, ask rafaelw__
- # [01:25] <Hixie> an i18n people around?
- # [01:25] * Joins: othermaciej (~mjs@17.245.104.249)
- # [01:25] <zewt> (depends on what you mean by i18n people :)
- # [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?
- # [01:25] <zewt> (i've done i18n work, for what it's worth)
- # [01:25] <zewt> never heard of cross-locale sorting
- # [01:26] <zewt> (if such a thing exists i'm curious to know what it is, as completely insane as it sounds, heh)
- # [01:27] * Quits: othermaciej (~mjs@17.245.104.249) (Client Quit)
- # [01:27] <Hixie> <table> <thead> <tr> <th> FOO <tbody> <tr> <td lang=X> A <tr> <td lang=Y> B </table>
- # [01:27] <Hixie> sort that table
- # [01:28] <zewt> my intuition is sort based on the @lang of the <table>, and ignore the per-field languages
- # [01:28] <Hixie> fair enough
- # [01:28] * Joins: weinig (~weinig@17.114.105.137)
- # [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
- # [01:31] * Quits: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net) (Quit: sedovsek)
- # [01:33] <TabAtkins> Hixie: The first is a date and the second is a time, right?
- # [01:33] <TabAtkins> Compare them by the datetime they parse into.
- # [01:34] <TabAtkins> Or do they parse as just a date and just a time respectively?
- # [01:34] <Hixie> the latter
- # [01:34] <Hixie> i'm thinking treat them as equal
- # [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.
- # [01:34] <TabAtkins> How do you compare dates versus datetimes?
- # [01:34] <TabAtkins> date sorts before a datetime with the same day?
- # [01:34] <TabAtkins> That is, date treated as a datetime set to midnight?
- # [01:35] * Quits: drublic (~drublic@frbg-5d84f449.pool.mediaWays.net) (Remote host closed the connection)
- # [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.
- # [01:35] <TabAtkins> That'll probably be weird, actually.
- # [01:35] <Hixie> well it basically means they stay stable relative to each other
- # [01:35] <TabAtkins> I recommend creating an explicit ordering. Maybe times < dates < datetimes.
- # [01:35] <zewt> wouldn't it be nicer to give a more stable ordering?
- # [01:35] <zewt> hmm
- # [01:35] <TabAtkins> Most languages do something like that when comparing incomparable primitives.
- # [01:36] <Hixie> (it is stable; ties are broken relative to current position in the table)
- # [01:36] <TabAtkins> Like, numbers sort before strings in python, I think.
- # [01:36] <Hixie> TabAtkins: there's like 15 different types just for <time>, but i guess we could do that
- # [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
- # [01:36] <TabAtkins> Hixie: I think several of them are comparable?
- # [01:36] <Hixie> zewt: probably
- # [01:36] <zewt> (give me a second to formulate what i'm vaguely thinking of)
- # [01:36] <Hixie> TabAtkins: some could be, i guess
- # [01:37] <Hixie> TabAtkins: not sure why you'd ever have different types though
- # [01:37] <TabAtkins> Yeah, it'd be dumb.
- # [01:37] <zewt> if date1 == time8 (because they're different types), and date1 < date2, it's weird that !(time8 < date2)
- # [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
- # [01:37] <Hixie> but i don't know where to draw the line
- # [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.
- # [01:38] <Hixie> total ordering is "more complex" the way i meant it, but sure :-)
- # [01:38] <TabAtkins> Only by the tiniest bit. ^_^
- # [01:38] <Hixie> agreed that what you're pointing out seems important, zewt
- # [01:38] <zewt> (transitivity?)
- # [01:38] <zewt> (or something close to it)
- # [01:39] * Joins: othermaciej (~mjs@17.245.104.249)
- # [01:39] <zewt> more simply, if A == B, and A < C, then B < C
- # [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.
- # [01:39] <TabAtkins> zewt: Yes, that's transitivity.
- # [01:40] <TabAtkins> Well, or something like it. Transitivity is if A<B and B<C, then A<C.
- # [01:40] <zewt> TabAtkins: i recall the concepts, it's just the names that have drained away :)
- # [01:40] <TabAtkins> These terms apply within a single relationship, and you're mixing two of them here.
- # [01:40] <TabAtkins> But I'm sure there's a term for this from some math notion of an ordering.
- # [01:40] <TabAtkins> Most likely it's just called "being an ordering".
- # [01:40] <zewt> i suspect if you don't do this, you may confuse some sorting algorithms
- # [01:41] <TabAtkins> Yes, exactly.
- # [01:41] * Quits: mnot (~mnot@2001:44b8:4170:ce00:8c67:e3ae:df0c:a0e5) (Quit: Leaving)
- # [01:41] <zewt> do you have both a date and a datetime type, or is a date just a datetime at midnight?
- # [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.
- # [01:41] <TabAtkins> So a year-month is less than a date.
- # [01:42] <Hixie> zewt: http://www.whatwg.org/specs/web-apps/current-work/#the-time-element lists the types
- # [01:42] <TabAtkins> A year-week is also less than a date, but the relative ordering of year-month and year-week is unimportant.
- # [01:42] <zewt> personally i'd treat a year-month (for sorting purposes) as a date with day == 1 at midnight
- # [01:42] <Hixie> TabAtkins: so all dates come before all dates with times?
- # [01:42] <zewt> it's when you're dealing with items that have data at the wrong end that they become incomparable
- # [01:42] <zewt> that is, if you have [year, month, day, hour, minute, second], comparing [year, month] and [year, month, hour] is easy
- # [01:42] <zewt> it's only comparing [year, month, day] against [hour, minute, second] that doesn't make sense
- # [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.
- # [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
- # [01:43] <Hixie> how much work can that possibly be
- # [01:43] <TabAtkins> Haha.
- # [01:43] <zewt> oops, loaded the spec in firefox
- # [01:43] <zewt> cpu fan: on
- # [01:44] <zewt> gar, too many damned choices in this list
- # [01:44] <TabAtkins> Probably with sorting dates into datetimes is that you don't know whether dates are local or global.
- # [01:44] <TabAtkins> I guess that's fixable... Let me write it out real quick.
- # [01:44] <Hixie> there's only 10 date/time types, plus string-that-parsed-as-float, plus everything else (string)
- # [01:44] <Hixie> so a 12x12 table
- # [01:44] <TabAtkins> Yeah, one sec and I"ll order it for you.
- # [01:44] <TabAtkins> A table is super overkill.
- # [01:45] <TabAtkins> It woudl be full of redundancy.
- # [01:45] <Hixie> i'm nothing if not a fan of overkill
- # [01:45] * Joins: plutoniix (~plutoniix@ppp-58-8-161-95.revip2.asianet.co.th)
- # [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
- # [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)
- # [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.
- # [01:47] <TabAtkins> And that would be confusing.
- # [01:47] <zewt> TabAtkins: that's what i just said to ignore for the moment :)
- # [01:47] <TabAtkins> Haha, but we can't ignore it. ^_^
- # [01:47] <zewt> (because I haven't thought about that axis yet)
- # [01:47] <Hixie> ignoring that we're trying to sort stuff, i think the problem is solved!
- # [01:47] <Hixie> mission accomplished!
- # [01:48] <zewt> sorry for not trying to solve every sub-problem simultaneously :)
- # [01:48] <TabAtkins> zewt: I'm fine with saying that you can sort together a year, year-month, year-week, and year-month-day.
- # [01:48] <TabAtkins> But then datetimes have to sort after them.
- # [01:48] <zewt> why?
- # [01:48] <TabAtkins> Because of what I just said.
- # [01:49] <Hixie> we could just assume UTC
- # [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.
- # [01:49] <Hixie> when comparing with a global date
- # [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
- # [01:50] <TabAtkins> Hixie: Yeah, we could.
- # [01:50] <Hixie> zewt: that would possibly result in the display listing a bunch of jan 4s after jan 5
- # [01:50] <TabAtkins> Hixie: I suppose mixing timeless dates with global datetimes is probably a bad idea anyway.
- # [01:50] <Hixie> probably best to do as tab says for the date vs global time thing
- # [01:50] <Hixie> date vs local time can be compared
- # [01:51] <TabAtkins> kk, so...
- # [01:51] * Joins: Famic (famic@hidden.dns.ug)
- # [01:51] <TabAtkins> year, year-month, year-week, year-month-day, and local datetime can all be compared with each other.
- # [01:51] <zewt> that sounds like it would get people to write UTC times as local times just to convince them to sort
- # [01:51] <TabAtkins> The other categories should sort separately.
- # [01:52] <TabAtkins> zewt: Or put times on their dates to get them to sort.
- # [01:52] * Quits: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de) (Ping timeout: 244 seconds)
- # [01:53] <TabAtkins> Hixie: Or, wait. Did you mean that local datetime and global datetime would be comparable, with us assuming UTC?
- # [01:53] * Quits: jsbell (jsbell@nat/google/x-qdndtrgcjvuisyds) (Quit: There's no place like home...)
- # [01:53] <Hixie> no
- # [01:53] <Hixie> 2011-11-11 vs 2011-11-11T11:11
- # [01:53] <Hixie> date vs local datetime
- # [01:53] <zewt> <time> only supports three fractional digits? :|
- # [01:53] <TabAtkins> Okay, so those are comparable. Cool, makes sense.
- # [01:54] <TabAtkins> Now what about year-month-day against global datetime?
- # [01:54] <zewt> (i regularly use six digits; handy for accurate timestamps)
- # [01:55] <Hixie> is 2011-11 equal to or less than 2011-11-01 ? i.e. do you fill with 0 or min
- # [01:55] <zewt> minimum, IMO
- # [01:55] <Hixie> so they're equal?
- # [01:56] <zewt> yeah
- # [01:56] <Hixie> seems that would be ugly
- # [01:56] <Hixie> you could end up with 2011-11 2011-11-01 2011-11 2011-11-01
- # [01:56] <TabAtkins> I think sort before, actually.
- # [01:56] <TabAtkins> Standard lexicographic rules.
- # [01:57] <Hixie> which is lower, 01-01 or 0001-01 ? (yearless date vs month)
- # [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)
- # [01:57] <Hixie> zewt: yeah, i couldn't come up with any
- # [01:57] <zewt> Hixie: fwiw, that sort order makes sense to me, especially if there are other sort keys
- # [01:57] <Hixie> zewt: assuming no other sort keys
- # [01:57] <TabAtkins> But then, what about 2000-01 and 2000-W01?
- # [01:57] <zewt> Hixie: but equality matters more when you have secondary sort keys
- # [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.
- # [01:58] <zewt> eg. if your sort is (time,score) and you have [2011-11 10pts,2011-11-01 11pts,2011-12 12pts]
- # [01:58] <zewt> er, 2011-11 in all
- # [01:59] <TabAtkins> Hm, true.
- # [01:59] * Quits: mattgifford (~mattgiffo@70.102.199.158) (Remote host closed the connection)
- # [01:59] <zewt> whenever i sort dates (putting aside the mixed-units weirdness) i just convert them to epoch time, and sort numerically
- # [02:00] <zewt> which is why those 2011-11s sorting equal seems natural to me, anyway
- # [02:00] <TabAtkins> zewt: Makes sense.
- # [02:00] <TabAtkins> Except that it's local, not epoch time.
- # [02:01] <TabAtkins> Here's my somewhat arbitrary ordering: time < month-day < local-stuff < global date-time < time-zone offset < duration
- # [02:02] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
- # [02:02] <TabAtkins> Where "local-stuff" are the 5 comparable types, with each converted into a (year, day, time) tuple and sorted lexicographically.
- # [02:02] <Hixie> TabAtkins: add in string and float to that?
- # [02:02] <TabAtkins> Hixie: Put "< float < string" at the end.
- # [02:02] <Hixie> k
- # [02:02] <Hixie> well as you said, a table is overkill for this then
- # [02:02] <Hixie> :-(
- # [02:03] <Hixie> i was so looking forward to make a 144-cell table
- # [02:03] <TabAtkins> Haha, I told you. Orderings are linear. A table is just an invitation to introduce inconsistency.
- # [02:03] <TabAtkins> Instead, you just map each class to an integer and sort that.
- # [02:03] <TabAtkins> Rather, total orderings are.
- # [02:05] <zewt> also tables are contagious migraines, heh
- # [02:05] <TabAtkins> Heh, yeah.
- # [02:05] <zewt> even relatively small tables like the distinguishable table in webidl make me unhappy
- # [02:06] <zewt> i guess that's not all that small
- # [02:06] <zewt> just compact
- # [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)
- # [02:06] * Quits: ap_ (~ap@2620:149:4:1b01:b8d5:cfcc:145f:af80) (Quit: ap_)
- # [02:08] <Hixie> this is my random musings so far: http://www.whatwg.org/specs/web-apps/current-work/temp
- # [02:08] <Hixie> not high quality prose
- # [02:09] * Quits: OnlyMax (~OnlyMax@187-126-37-208.user.veloxzone.com.br)
- # [02:10] <zewt> for secondary sorts, do you just call th.sort() twice in reverse order?
- # [02:10] <Hixie> yes
- # [02:10] <Hixie> you don't really ever call .sort(), the idea is that the user clicks the <th> and it sorts for him
- # [02:11] <zewt> does it just sort visually, leaving the DOM order alone?
- # [02:11] <Hixie> changes dom
- # [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
- # [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
- # [02:12] <zewt> (which makes sense--a lot of UIs do that)
- # [02:12] <Hixie> yeah or we can have an autosort mode
- # [02:12] <Hixie> or an insertSorted method on tbody
- # [02:12] <zewt> though that wouldn't retain secondary sorts
- # [02:13] <Hixie> correct
- # [02:13] <zewt> (which might be annoying if you want that)
- # [02:13] <Hixie> nobody on the thread mentioned secondary sorts, but yeah
- # [02:13] <zewt> which isn't a rare case, eg. when sorting files by size you probably want filename secondary
- # [02:13] <Hixie> agreed
- # [02:15] <zewt> synthetic sort keys are pretty useful, eg. <time sort="123">ignored</time>
- # [02:16] <Hixie> that's why <time> and <data> are there
- # [02:16] <Hixie> afk. bbiab.
- # [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)
- # [02:17] * Joins: danzik17 (~danzik17@ool-45787007.dyn.optonline.net)
- # [02:20] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [02:20] * Quits: weinig (~weinig@17.114.105.137) (Quit: weinig)
- # [02:21] * Joins: karlcow (~karl@nerval.la-grange.net)
- # [02:27] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Remote host closed the connection)
- # [02:28] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
- # [02:28] * Joins: KevinMarks (~KevinMark@c-71-204-145-244.hsd1.ca.comcast.net)
- # [02:37] * Quits: othermaciej (~mjs@17.245.104.249) (Quit: othermaciej)
- # [02:42] * Quits: jamesr_ (jamesr@nat/google/x-sirkbhtirqlbhxji) (Quit: Ex-Chat)
- # [02:43] * Joins: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net)
- # [02:49] * Quits: Bass10 (Bass10@c-76-113-194-7.hsd1.mn.comcast.net) (Quit: Leaving)
- # [02:54] * heycam is now known as heycam|away
- # [03:18] <JonathanNeal> hello
- # [03:19] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [03:19] <JonathanNeal> hi tantek, how's html classes?
- # [03:21] <tantek> Hi JonathanNeal, they're going well!
- # [03:21] * heycam|away is now known as heycam
- # [03:21] * Quits: pablof (~pablof@144.189.150.129) (Quit: ^z)
- # [03:22] <JonathanNeal> Good, and we're all in favor of <main> still? Good, good.
- # [03:23] * Quits: mkanat (mkanat@nat/google/x-uaitsdkbjeqafoqi) (Quit: Ex-Chat)
- # [03:25] * Quits: jacobolus (~jacobolus@75-144-246-6-SFBA.hfc.comcastbusiness.net) (Quit: Leaving...)
- # [03:36] * Joins: imrobert (~robert@139.62.87.109)
- # [03:37] * Joins: Mkop1 (~mkopinsky@unaffiliated/mkop)
- # [03:39] * Quits: say2joe (~say2joe@204.56.108.2) (Quit: Leaving.)
- # [03:41] * Joins: linclark_ (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
- # [03:41] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Ping timeout: 246 seconds)
- # [03:41] * linclark_ is now known as linclark
- # [03:42] * rniwa is now known as rniwa|afk
- # [03:42] * rniwa|afk is now known as rniwa|away
- # [03:47] * heycam is now known as heycam|away
- # [03:51] <tantek> JonathanNeal - almost all - http://w3cmemes.tumblr.com/post/34830376881/stop-energy-against-main-is-explained-to-the ;)
- # [03:51] * Quits: Mkop1 (~mkopinsky@unaffiliated/mkop) (Ping timeout: 248 seconds)
- # [03:54] * Joins: xiinotulp (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th)
- # [03:55] <Krinkle> Any dom spec-lingo expert here? http://www.w3.org/TR/dom/#dom-treewalker-nextnode
- # [03:55] <Krinkle> "If a node is following node and is not following root, set node to the first such node."
- # [03:55] <Krinkle> That line doesn't quite make sense to me
- # [03:55] <Krinkle> (I'm implementing TreeWalker in javascript as an experiment for something)
- # [03:56] <JonathanNeal> awww, i love Hixie, tantek.
- # [03:56] <Krinkle> isn't that just nextSibling? Also, how can a node following the currentNode (child of root) also be following root?
- # [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?
- # [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".
- # [03:58] * Quits: plutoniix (~plutoniix@ppp-58-8-161-95.revip2.asianet.co.th) (Ping timeout: 246 seconds)
- # [04:00] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
- # [04:00] <Krinkle> JonathanNeal: MIT is freeer than GPL
- # [04:00] <Krinkle> (in that MIT software can be used in GPL, but not the other way around)
- # [04:00] <Krinkle> So I'd recommend MIT.
- # [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.
- # [04:02] <Krinkle> but yeah, MIT +GPL is legally an odd combination (albeit not uncommon) as MIT is compatible with GPL.
- # [04:05] * Quits: jwalden (~waldo@c-76-122-148-63.hsd1.mi.comcast.net) (Quit: good day, sirs and ladies)
- # [04:05] <zewt> there isn't much free about the GPL: "do it exactly the way we say"
- # [04:06] * Joins: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net)
- # [04:06] <zewt> <- gpl-jaded
- # [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.
- # [04:12] * xiinotulp is now known as plutoniix
- # [04:16] <Krinkle> And then there is the famous "You shall use this program for Good, not Evil"
- # [04:16] <Krinkle> the ammendment to JSLint's GPL-based license
- # [04:16] <Krinkle> "The Software shall be used for Good, not Evil."
- # [04:16] <Krinkle> (MIT, not GPL)
- # [04:17] <Krinkle> https://github.com/douglascrockford/JSLint/blob/master/jslint.js#L16
- # [04:17] <zewt> now i feel like releasing some software and only allowing it to be used for pornographic purposes
- # [04:21] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [04:22] * Joins: erlehmann (~erlehmann@i59F6D210.versanet.de)
- # [04:24] * Quits: eresair (~eresair@173.247.199.2) (Remote host closed the connection)
- # [04:24] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [04:25] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [04:27] <JonathanNeal> I liked that clause. It reminded me of Google's motto.
- # [04:27] <JonathanNeal> Except, I think, Google couldn't use jslint because of this.
- # [04:27] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
- # [04:31] <zewt> playing games in licenses!=cool
- # [04:32] * Quits: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net) (Quit: linclark)
- # [04:47] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
- # [04:48] * heycam|away is now known as heycam
- # [04:56] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Ping timeout: 246 seconds)
- # [04:58] <Hixie> zewt: <td><data value="sort key">whatever the cell contains</data>
- # [05:02] * Joins: Mkop1 (~mkopinsky@unaffiliated/mkop)
- # [05:08] <Krinkle> <td data-sort-value="sort key">whatever the cell contains</td>
- # [05:12] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [05:14] * Joins: OnlyMax (~OnlyMax@187-126-37-208.user.veloxzone.com.br)
- # [05:21] * Joins: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net)
- # [05:25] * Quits: dgorbik (~dgorbik@17.202.47.150) (Quit: Linkinus - http://linkinus.com)
- # [05:37] * Quits: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net) (Quit: JohnAlbin)
- # [05:39] * Joins: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net)
- # [05:41] * Quits: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net) (Client Quit)
- # [05:50] <heycam> it's a shame list-style-type and list-style-image aren't the same property
- # [05:55] <erlehmann> I have done an art http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038430.html
- # [05:56] <erlehmann> JonathanNeal, take note :)
- # [05:56] <erlehmann> also foolip :)
- # [06:08] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [06:12] <JonathanNeal> erlehmann: hey hey
- # [06:12] <JonathanNeal> how are you?
- # [06:14] <JonathanNeal> ps, erlehmann, see my latest pull requests? no regex.
- # [06:18] <erlehmann> i am sleepy
- # [06:18] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
- # [06:18] <erlehmann> as i live in berlin, i should not be awake right now
- # [06:18] <erlehmann> local time is 06:14
- # [06:18] <erlehmann> i will look at pull requests when i have slept enough
- # [06:18] * Quits: erlehmann (~erlehmann@i59F6D210.versanet.de) (Remote host closed the connection)
- # [06:18] <JonathanNeal> is that celsius time?
- # [06:18] <JonathanNeal> very well.
- # [06:19] <JonathanNeal> ping me the next time you are around
- # [06:20] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
- # [06:27] <heycam> lol ::-webkit-meter-even-less-good-value
- # [06:29] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
- # [06:29] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
- # [06:30] <heycam> is there a WebKit pseudo that selects a list item's bullet, like ::-moz-list-bullet?
- # [06:35] * heycam wonders if .someelement::before:hover { … } should work
- # [06:41] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
- # [06:42] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
- # [06:44] <MikeSmith> rniwa: ↑
- # [06:44] <rniwa> MikeSmith: ?
- # [06:44] <MikeSmith> heycam question
- # [06:44] <MikeSmith> 14:27 heycam: is there a WebKit pseudo that selects a list item's bullet, like ::-moz-list-bullet?
- # [06:45] <MikeSmith> heycam: could also ask on #webkit
- # [06:46] <heycam> MikeSmith, I might just do that
- # [06:46] <rniwa> MikeSmith, heycam: as far as i know, no.
- # [06:46] <rniwa> we have a FIXME in RenderListMarker.cpp:
- # [06:46] <rniwa> // FIXME: This is a somewhat arbitrary width. Generated images for markers really won't become particularly useful
- # [06:46] <rniwa> // until we support the CSS3 marker pseudoclass to allow control over the width and height of the marker box.
- # [06:46] <heycam> rniwa, ah ok, thanks. I guess the long term plan is ::marker?
- # [06:46] <rniwa> heycam: whatever CSS3 spec. says
- # [06:47] <heycam> ok :)
- # [06:47] <heycam> thanks
- # [06:47] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 260 seconds)
- # [06:47] <rniwa> heycam: list marker was a mess in webkit
- # [06:47] <rniwa> heycam: someone very recently rewrote that thing using some pseudo element idiom
- # [06:47] <heycam> oh, cool
- # [06:47] <heycam> I'm really just wondering what to do for the details/summary disclosure triangle thing
- # [06:48] <rniwa> heycam: until very recently we had O(2^n) implementation :/
- # [06:48] <heycam> and testing what things are possible with regular bullets (like whether you can :hover them etc.)
- # [06:48] <heycam> rniwa, ouch
- # [06:48] * Krinkle is now known as Krinkle|detached
- # [06:48] * Quits: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net) (Quit: jonlee)
- # [06:49] <rniwa> heycam: indeed.
- # [06:49] <MikeSmith> heycam: I'm not convinced it's important to make the disclosure triangle style-able
- # [06:49] <rniwa> heycam: i believe our implementation is now O(n^2)
- # [06:49] <MikeSmith> heycam: though I know Lachlan and others feel otherwise
- # [06:49] <rniwa> heycam: although the old implementation was O(n) in common cases...
- # [06:50] <heycam> rniwa, is this for numbering? or something else?
- # [06:50] <rniwa> heycam: yeah.
- # [06:50] <heycam> MikeSmith, I like the idea of being able to style it
- # [06:50] <MikeSmith> ok
- # [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
- # [06:50] <rniwa> heycam: we had some crazy code doing some crazy things.
- # [06:50] <heycam> rniwa, don't we all ;)
- # [06:51] <rniwa> indeed.
- # [06:52] * Joins: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net)
- # [06:53] * Krinkle|detached is now known as Krinkle
- # [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) ?
- # [06:55] * Quits: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net) (Quit: Leaving...)
- # [06:55] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
- # [06:56] <heycam> yeah
- # [07:00] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [07:00] <MikeSmith> it's going to be interesting to see how Hixie fixes that
- # [07:00] * Joins: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net)
- # [07:05] * Quits: [[zz]] (~q@node-18zg.pool-101-109.dynamic.totbb.net) (Ping timeout: 272 seconds)
- # [07:09] * Quits: danzik17 (~danzik17@ool-45787007.dyn.optonline.net) (Ping timeout: 246 seconds)
- # [07:11] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [07:11] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [07:15] * Joins: weinig (~weinig@24.130.60.35)
- # [07:15] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [07:17] * Quits: jsoncorwin (~textual@c-50-131-117-90.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
- # [07:18] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [07:19] * Joins: jsoncorwin (~textual@c-50-131-117-90.hsd1.ca.comcast.net)
- # [07:22] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Remote host closed the connection)
- # [07:22] * Joins: mattgifford (~mattgiffo@108.161.20.199)
- # [07:26] * Quits: Mkop1 (~mkopinsky@unaffiliated/mkop) (Ping timeout: 264 seconds)
- # [07:27] * Quits: mattgifford (~mattgiffo@108.161.20.199) (Ping timeout: 255 seconds)
- # [07:27] * Joins: niloy (~niloy@203.196.177.156)
- # [07:30] * Joins: hdhoang (~hdhoang@113.190.37.242)
- # [07:30] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
- # [07:31] * Quits: weinig (~weinig@24.130.60.35) (Quit: weinig)
- # [07:35] * heycam is now known as heycam|away
- # [07:37] * Quits: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2) (Ping timeout: 245 seconds)
- # [07:39] * Joins: nunnun (~hiro@2001:200:1c0:3625:20c:29ff:fe02:11d2)
- # [07:41] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [07:41] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
- # [07:43] * Quits: rniwa|away (~rniwa@2620:149:4:1b01:7c85:c1ad:246e:4038) (Quit: rniwa|away)
- # [07:45] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [07:45] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 255 seconds)
- # [07:50] * Parts: JonathanNeal (~anonymous@cpe-142-11-82-156.socal.rr.com)
- # [07:50] * Joins: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com)
- # [07:51] * Joins: weinig (~weinig@24.130.60.35)
- # [07:52] * Joins: alrra (~alrra@188.24.81.60)
- # [07:52] * Quits: alrra (~alrra@188.24.81.60) (Changing host)
- # [07:52] * Joins: alrra (~alrra@unaffiliated/alrra)
- # [08:09] * Quits: weinig (~weinig@24.130.60.35) (Quit: weinig)
- # [08:11] * Joins: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com)
- # [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
- # [08:14] <Stevef> Mikesmith: often times devs want + and - symbols for disclousyre widgets
- # [08:19] <MikeSmith> Stevef: so they can use one of the libraries that already provides the equivalent of details+summary
- # [08:20] <MikeSmith> they want to style the calendar widget for the input date controls too
- # [08:20] <Stevef> mikesmith: doesn't that defeat the point of having a native widget?
- # [08:20] <MikeSmith> no
- # [08:20] <MikeSmith> it just means if you want the native widget you might have to live a tradeoff
- # [08:21] <MikeSmith> and if you want fine-tuned control, move to doing it in JS
- # [08:21] <Stevef> mikesmith: thats why we have <a> this is a button</a> still
- # [08:23] <MikeSmith> not following you
- # [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
- # [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
- # [08:28] <Stevef> dev's will use whatever element they find makes it possible to style as they want
- # [08:28] * Quits: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com) (Quit: Leaving.)
- # [08:28] * Joins: dydx (~dydz@76-220-18-65.lightspeed.sntcca.sbcglobal.net)
- # [08:28] <Stevef> so you are saying the benefits of having native widgets are limited
- # [08:28] <Stevef> or the appeal is limited
- # [08:30] <Stevef> think the difference between providing stylability for disclosure triangle and dat picker UI is chalk and cheese
- # [08:31] <Stevef> "but anyway I can imagine that a lot site are going to just keep using custom date-pickers" agree on that
- # [08:31] * Joins: Ducki (~Ducki@pD9E397A3.dip0.t-ipconnect.de)
- # [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
- # [08:33] <Stevef> cannot have
- # [08:34] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 255 seconds)
- # [08:34] <Stevef> but why should i be arguing - more work for the "accessibility industry"
- # [08:37] * Quits: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net) (Ping timeout: 260 seconds)
- # [08:39] * Joins: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net)
- # [08:40] * Joins: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si)
- # [08:50] * Quits: dydx (~dydz@76-220-18-65.lightspeed.sntcca.sbcglobal.net) (Quit: dydx)
- # [08:52] * Joins: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr)
- # [08:59] * Quits: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net) (Ping timeout: 264 seconds)
- # [09:00] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [09:00] * Joins: [[zzz]] (~q@node-8nx.pool-125-25.dynamic.totbb.net)
- # [09:01] * Quits: imrobert (~robert@139.62.87.109) (Quit: leaving)
- # [09:06] * heycam|away is now known as heycam
- # [09:14] <jgraham> Stevef: Styling native controls is not a trivial problem, which is much of the reason it hasn't been solved
- # [09:15] * Joins: Ms2ger (~Ms2ger@109.133.25.170)
- # [09:15] * heycam is now known as heycam|away
- # [09:24] * Quits: alrra (~alrra@unaffiliated/alrra) (Quit: This computer has gone to sleep)
- # [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
- # [09:28] * Joins: darobin (~darobin@78.109.80.74)
- # [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
- # [09:34] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [09:36] <Krinkle> Ms2ger: Hi, I finished the test suite (and implementation) https://github.com/Krinkle/dom-TreeWalker-polyfill
- # [09:37] * [[zzz]] is now known as [[zz]]
- # [09:37] <Ms2ger> jgraham is going to be sad about QUnit :)
- # [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,.
- # [09:38] * Quits: Kolombiken (~Adium@217.13.228.226) (Ping timeout: 250 seconds)
- # [09:38] <Krinkle> But it's FOSS, so by all means. It's 99% just find and replace for what W3 is using
- # [09:39] <Krinkle> your test suite syntax is almost identical
- # [09:39] <Krinkle> Ms2ger: but before I knock myself out I'd like to get 2 things done
- # [09:40] <Krinkle> 1) fix the spec (if indeed I am right, again), 2) your ok on the contents of the tests.
- # [09:40] <Krinkle> (as opposed to the syntax)
- # [09:41] * Joins: Kolombiken (~Adium@217.13.228.226)
- # [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
- # [09:42] <Krinkle> Ms2ger: Okay, what do you suggest I do?
- # [09:44] <Ms2ger> For?
- # [09:44] <Krinkle> 1 or 2
- # [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
- # [09:45] <Ms2ger> Oh, there was another bug?
- # [09:45] <Krinkle> Yeah, I found one more.
- # [09:45] <Krinkle> In TreeWalker::nextNode
- # [09:46] * Joins: sedovsek (~robert@89.143.12.238)
- # [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.
- # [09:46] <Krinkle> But that might be due to me misunderstanding the spec language. There is one passage in particular that puzzles me
- # [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)
- # [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.
- # [09:48] <Krinkle> in other words nextNode is the magic method that goes through the entire dom without having to call any other methods.
- # [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
- # [09:49] <Ms2ger> Could you quote the confusing part?
- # [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)
- # [09:49] <Krinkle> sure
- # [09:49] <Krinkle> http://www.w3.org/TR/dom/#dom-treewalker-nextnode
- # [09:50] <Krinkle> "If a node is following node and is not following root, set node to the first such node."
- # [09:50] <Krinkle> that one sentence supposedly represents my last 5 lines
- # [09:50] <Krinkle> following does link to a concept, but that doesn't elaborate much
- # [09:51] <Krinkle> the definition of concept-following sounds like "next sibling"
- # [09:51] <Ms2ger> Ah, no
- # [09:52] <Ms2ger> following refers to a preorder, depth-first traversal
- # [09:52] * Joins: annevk (~annevk@a82-161-179-17.adsl.xs4all.nl)
- # [09:52] <Ms2ger> So in <a><b><c/></b><d/></a>
- # [09:52] <Ms2ger> d is following b
- # [09:52] <Ms2ger> Hi annevk :)
- # [09:52] <Krinkle> Ms2ger: Yeah, I get it now. I implemented it all right :)
- # [09:52] <annevk> morning
- # [09:53] <annevk> more TreeWalker bugs?
- # [09:53] <Krinkle> But the implementation is pretty complex (like 40 lines of code)
- # [09:53] <Krinkle> so I think maybe it would deserve a little more elaborate on what exactly it means.
- # [09:53] <Krinkle> Or is it obvious enough?
- # [09:53] <Krinkle> https://github.com/Krinkle/dom-TreeWalker-polyfill/blob/master/src/TreeWalker-polyfill.js#L357
- # [09:53] <Krinkle> this sentence is the while loop with nextSkippingChildren
- # [09:54] <Krinkle> the while loop is like 14 lines, and then nextSkippingChildren is entirely separate and not in the spec.
- # [09:54] <Krinkle> I guess nextSkippingChildren is "following node"
- # [09:55] * Joins: alrra (~alrra@188.24.81.60)
- # [09:55] * Quits: alrra (~alrra@188.24.81.60) (Changing host)
- # [09:55] * Joins: alrra (~alrra@unaffiliated/alrra)
- # [09:55] <Krinkle> but really, forget about "following node" that is clear enough.
- # [09:55] <Krinkle> I meant to address the rest of the steps in TreeWalker::nextNode
- # [09:55] <Krinkle> Such as "Let result be FILTER_ACCEPT."
- # [09:57] <Krinkle> followed by "While result is not FILTER_ACCEPT "
- # [09:57] <Krinkle> I think it is missing a "Filter node" somewhere
- # [09:57] <Krinkle> and "set node to first child if not null" or something
- # [09:57] <Krinkle> based on the WebKit implementation (and my own)
- # [09:58] <Krinkle> am I making sense/
- # [09:58] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
- # [09:58] * Quits: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr) (Ping timeout: 264 seconds)
- # [09:59] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [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.
- # [10:01] * abstractj|away is now known as abstractj
- # [10:01] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Client Quit)
- # [10:01] * Joins: charl_ (~charl@charl.eu)
- # [10:02] * Joins: henrikkok (~henrikkok@81.27.221.193)
- # [10:02] * Joins: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de)
- # [10:03] * Joins: Smylers (~smylers@94.116.100.255)
- # [10:04] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [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
- # [10:09] * Quits: Smylers (~smylers@94.116.100.255) (Ping timeout: 252 seconds)
- # [10:09] <Krinkle> after 3.2. "Otherwise, run these substeps again" causes an infinite loop in my tests.
- # [10:09] <Krinkle> and it is indeed missing handling for REJECT
- # [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
- # [10:11] <Krinkle> The initial setting of result to FILTER_ACCEPT also seems suspiciou
- # [10:12] <Krinkle> and needs return null at the end I guess
- # [10:12] <annevk> yeah
- # [10:12] <annevk> and 3.2 indeed needs to account for there not being a following node
- # [10:13] <Krinkle> previousNode also needs a return null at the end (documented with // + in my code, lines I addedd)
- # [10:14] * jgraham obviously needs to join more mailing lists
- # [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"
- # [10:14] <Krinkle> whereas the first lookup should be first child
- # [10:14] <jgraham> I only got 66% of the TestTWF list announcement mails
- # [10:14] <Krinkle> following node is a last result if there are no children
- # [10:15] <Krinkle> resort*
- # [10:20] <Krinkle> annevk: are you doing something with this at the moment (want to avoid us doing double work)
- # [10:21] <annevk> oops, the first loop should check for REJECT
- # [10:21] <annevk> well I'm planning on fixing this today, ideally within the next few hours
- # [10:21] <Krinkle> and 3.2 needs to repeat it self if the "following node" is not accepted.
- # [10:21] <annevk> but there's also breakfast and such :)
- # [10:21] <Krinkle> annevk: ah, xs4all, so that's the Netherlands
- # [10:21] <Krinkle> annevk: ben momenteel serious request aan het kijken :)
- # [10:22] <annevk> heh
- # [10:23] <Ms2ger> Oh dear, more Dutch?
- # [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.
- # [10:23] <Krinkle> Ms2ger: yeah, I'm afraid so. We have the same atmosphere at Wikimedia (the Dutch are slowly taking over the office)
- # [10:24] <annevk> Krinkle: sorry, I missed you started patching the source text
- # [10:25] <annevk> Krinkle: I'm happy for you to write the patches as long as you agree to the CC0 license terms
- # [10:25] <Krinkle> annevk: I didn't. Not for this bug.
- # [10:25] <annevk> ah okay
- # [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 :)
- # [10:25] <annevk> kk
- # [10:25] <annevk> ah I see, you pointed out copypasta
- # [10:25] * annevk got confused by github
- # [10:27] * Joins: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com)
- # [10:27] * Joins: Lachy (~Lachy@cm-84.215.19.229.getinternet.no)
- # [10:29] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [10:31] * Quits: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com) (Client Quit)
- # [10:31] * Joins: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com)
- # [10:35] * Joins: nonge_ (~nonge@p50829CA1.dip.t-dialin.net)
- # [10:35] * Joins: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net)
- # [10:38] * Joins: SimonSapin (~simon@vev69-1-82-232-219-95.fbx.proxad.net)
- # [10:38] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 250 seconds)
- # [10:39] * Quits: nonge (~nonge@p508295AB.dip.t-dialin.net) (Ping timeout: 265 seconds)
- # [10:41] <annevk> whoa, mnot was in this channel
- # [10:41] * Quits: Famic (famic@hidden.dns.ug) (Read error: Operation timed out)
- # [10:42] * Joins: Famic (famic@hidden.dns.ug)
- # [10:42] * Joins: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de)
- # [10:48] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [10:50] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 265 seconds)
- # [10:50] * Quits: kochi (~kochi@2401:fa00:4:1004:26be:5ff:fe03:db82) (Remote host closed the connection)
- # [10:54] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [10:54] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Read error: Connection reset by peer)
- # [10:54] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [10:56] * Joins: sedovsek_ (~robert@89.143.12.238)
- # [10:56] * Joins: Stevef_ (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com)
- # [10:57] * Joins: danielfi_ (~danielfil@200.232.113.107)
- # [10:57] * Joins: hdhoang1 (~hdhoang@113.190.37.242)
- # [10:57] * Quits: Lachy (~Lachy@cm-84.215.19.229.getinternet.no) (Quit: Computer has gone to sleep.)
- # [10:59] * Joins: drublic (~drublic@p5098a42b.dip0.t-ipconnect.de)
- # [10:59] * Joins: jmb^ (~jmb@mail.parsifal.org.uk)
- # [11:00] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [11:04] * Quits: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net) (Quit: jonlee)
- # [11:05] * Quits: sedovsek (~robert@89.143.12.238) (*.net *.split)
- # [11:05] * Quits: Stevef (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com) (*.net *.split)
- # [11:05] * Quits: hdhoang (~hdhoang@113.190.37.242) (*.net *.split)
- # [11:05] * Quits: plutoniix (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th) (*.net *.split)
- # [11:05] * Quits: eighty4 (~eighty4@unaffiliated/eighty4) (*.net *.split)
- # [11:05] * Quits: danielfilho|w (~danielfil@200.232.113.107) (*.net *.split)
- # [11:05] * Quits: eric_carlson (~eric@2620:149:4:1b01:ac08:cbec:b81e:1e80) (*.net *.split)
- # [11:05] * Quits: shanestephens (~shanestep@2401:fa00::74da:86f6:47ab:769b) (*.net *.split)
- # [11:05] * Quits: jmb (~jmb@mail.parsifal.org.uk) (*.net *.split)
- # [11:05] * Quits: heath (quassel@unaffiliated/ybit) (*.net *.split)
- # [11:05] * sedovsek_ is now known as sedovsek
- # [11:08] <odinho> Bah, interesting stuff happens when I'm sleeping. :/
- # [11:09] <odinho> In my "how I think a normal web dev would use it" perf tests Fx IDB severely beats every other implementation.
- # [11:12] * Joins: plutoniix (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th)
- # [11:14] * Joins: yod (~ot@gatec.kw.bbc.co.uk)
- # [11:18] * Joins: richt (~richt@office.oslo.opera.com)
- # [11:19] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # Session Close: Thu Dec 20 11:23:44 2012
- #
- # Session Start: Thu Dec 20 11:23:44 2012
- # Session Ident: #whatwg
- # [11:23] * Disconnected
- # [11:26] * Attempting to rejoin channel #whatwg
- # [11:26] * Rejoined channel #whatwg
- # [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!'
- # [11:26] * Set by smaug____!~chatzilla@GGZYYCCCXVIII.gprs.sl-laajakaista.fi on Wed Mar 21 17:14:24
- # [11:26] * Quits: plutoniix (~plutoniix@ppp-58-8-163-23.revip2.asianet.co.th) (Quit: จรลี จรลา)
- # [11:28] * Joins: bzed_ (~bzed@devel.recluse.de)
- # [11:28] * Joins: jmb (~jmb@mail.parsifal.org.uk)
- # [11:29] * Joins: reggna_ (~reggna@irc.jagochmittmoln.se)
- # [11:29] * Joins: scheib_ (uid4467@gateway/web/irccloud.com/x-hvczvwsybtdyloch)
- # [11:29] * Joins: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de)
- # [11:30] * Quits: Ducki (~Ducki@pD9E397A3.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
- # [11:31] * Quits: scottjehl__ (uid3055@gateway/web/irccloud.com/x-uojnuptmvsecjzny) (Ping timeout: 245 seconds)
- # [11:31] * Quits: dglazkov (uid4270@gateway/web/irccloud.com/x-eftumkyzitwgdcaj) (Ping timeout: 245 seconds)
- # [11:32] * Quits: beverloo (beverloo@nat/google/x-xmufiyktruyzjzlv) (Ping timeout: 245 seconds)
- # [11:32] * Quits: reggna (~reggna@irc.jagochmittmoln.se) (Ping timeout: 245 seconds)
- # [11:32] * Quits: krijnh (~krijnhoet@ip4da4a84d.direct-adsl.nl) (Ping timeout: 245 seconds)
- # [11:32] * Quits: scheib (uid4467@gateway/web/irccloud.com/x-aneyvncvdkwyiklx) (Ping timeout: 260 seconds)
- # [11:32] * Quits: jmb^ (~jmb@mail.parsifal.org.uk) (Ping timeout: 260 seconds)
- # [11:32] * Quits: hsivonen (~hsivonen@srv-e205.esp.mediateam.fi) (Ping timeout: 260 seconds)
- # [11:32] * Quits: alrra (~alrra@unaffiliated/alrra) (Ping timeout: 260 seconds)
- # [11:32] * Quits: bzed (~bzed@devel.recluse.de) (Ping timeout: 260 seconds)
- # [11:32] * Quits: Moo^_^ (miohtama@lakka.kapsi.fi) (Ping timeout: 260 seconds)
- # [11:32] * bzed_ is now known as bzed
- # [11:32] * Parts: alrra_ (~alrra@188.24.81.60) ("Leaving")
- # [11:33] * Joins: hsivonen (~hsivonen@srv-e205.esp.mediateam.fi)
- # [11:33] * scheib_ is now known as scheib
- # [11:35] * Quits: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de) (Ping timeout: 244 seconds)
- # [11:35] * Joins: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net)
- # [11:36] * Joins: Druide_ (~Druid@ip-178-203-141-163.unitymediagroup.de)
- # [11:38] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [11:40] * Joins: Lachy (~Lachy@office.oslo.opera.com)
- # [11:44] <Ms2ger> odinho, duh? :)
- # [11:45] * Krinkle is now known as Krinkle|detached
- # [11:46] <odinho> Ms2ger: what are you duh-ing at?
- # [11:47] <Ms2ger> That our perf beats everyone ;)
- # [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.
- # [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.
- # [11:48] <Ms2ger> I like to think it's obvious my browser is best at everything :)
- # [11:49] <odinho> IE is really fast at some syntethic stuff too, and beats everyone there.
- # [11:49] <Ms2ger> Now *that* sounds surprising :)
- # [11:52] <rniwa> odinho: the last i checked, the problem with chrome is to do with IPCs
- # [11:53] <rniwa> odinho: because they have to sync data between multiple renderer processes
- # [11:53] <rniwa> odinho: they end up sending lots of data via sync IPCs :(
- # [11:54] <odinho> rniwa: Yeah, I saw that. I was interested why it was so horribly slow :-) You have a bug for it too.
- # [11:54] <odinho> rniwa: But y'know, normal people don't care why ;-)
- # [11:54] <rniwa> odinho: yeah
- # [11:54] <rniwa> odinho: yup.
- # [11:55] * Joins: ps201212 (021bb194@gateway/web/freenode/ip.2.27.177.148)
- # [11:56] * Quits: ps201212 (021bb194@gateway/web/freenode/ip.2.27.177.148) (Client Quit)
- # [11:58] * Quits: rniwa (~rniwa@70-89-66-218-ca.sfba.hfc.comcastbusiness.net) (Quit: rniwa)
- # [12:00] * Quits: Kolombiken (~Adium@217.13.228.226) (Quit: Leaving.)
- # [12:13] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [12:17] <annevk> Krinkle|detached: bugs should be fixed now
- # [12:34] * Joins: izhak (~izhak@213.87.240.75)
- # [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
- # [12:38] <jgraham> It is out of date of course
- # [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
- # [12:43] <darobin> jgraham: I think those are the tests I have; at least some of them
- # [12:43] <darobin> the file names are pretty similar at any rate
- # [12:44] <jgraham> darobin: Right, it is Philip's original testsuite
- # [12:45] <Ms2ger> darobin, they're under submission/PhilipTaylor somewhere
- # [12:45] <darobin> it needs some good updating
- # [12:45] <darobin> I'll see about merging stuff that needs to be afterwards
- # [12:45] <jgraham> Which has then been imported and updated by various browsers and the W3C
- # [12:45] <darobin> right now I'm concerned about fixing the ~5000 broken links that can be :)
- # [12:45] <jgraham> I don't think that the *tests* there are useful
- # [12:46] <jgraham> But that's the annotated spec you were looking for
- # [12:46] <darobin> oh!
- # [12:46] <darobin> ok, sorry, I was missing the context of why you were telling me this :)
- # [12:47] <jgraham> (or, to be clear the tests there are very useful. But we are already making use of them)
- # [12:47] <Ms2ger> This is the index: http://www.w3c-test.org/html/tests/submission/PhilipTaylor/canvas/
- # [12:49] <Ms2ger> And this is the annotated spec: http://www.w3c-test.org/html/tests/submission/PhilipTaylor/annotated-spec/canvas.html
- # [12:49] <Ms2ger> darobin, ^
- # [12:50] <darobin> cheers
- # [12:50] <darobin> I don't know, do we want that kind of document in the TS?
- # [12:50] <darobin> I'd rather it lived outside
- # [12:51] <darobin> also, if I import the index stuff all its links will be broken
- # [12:51] <jgraham> I don't think we do
- # [12:51] <jgraham> I think we want the actual spec to look at lot more like that version
- # [12:51] <darobin> mmmmm, three of the XHTML tests in the TS are in UTF16 for no apparent good reason
- # [12:51] <darobin> yeah that makes sense
- # [12:52] <darobin> ok, some of those XHTML files really don't make any fucking sense whatsoever (to me)
- # [12:53] <darobin> take tests/html/rendering/non-replaced-elements/the-page/body_text_00ffff.xhtml for instance
- # [12:53] <darobin> it claims to be XHTML, but it has no doctype
- # [12:53] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 246 seconds)
- # [12:53] * Joins: Kolombiken (~Adium@217.13.228.226)
- # [12:53] <darobin> and it's testing that the "text" attribute of body does indeed change the text colour
- # [12:53] <darobin> why would this ever want to be XHTML and in UTF16?
- # [12:54] <jgraham> Who wrote the test?
- # [12:54] <darobin> dunno
- # [12:54] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [12:54] <darobin> but I reckon the same person for the three offenders
- # [12:55] <jgraham> You don't need a doctype to be XHTML, right?
- # [12:55] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [12:55] <jgraham> I thought it was recommended not to. Although then I wonder if/how entities work
- # [12:55] * Quits: mpt (~mpt@canonical/mpt) (Quit: Ex-Chat)
- # [12:55] * Joins: mpt (~mpt@nat/canonical/x-vpnwoxefrtzcjywk)
- # [12:55] * Quits: mpt (~mpt@nat/canonical/x-vpnwoxefrtzcjywk) (Changing host)
- # [12:55] * Joins: mpt (~mpt@canonical/mpt)
- # [12:55] <annevk> you don't and they don't
- # [12:56] <annevk> but you can't and then they might
- # [12:56] <darobin> I hope no one will care if those tests somehow magically become UTF8
- # [13:02] <darobin> ok, all the links should either be fixed or utterly broken now
- # [13:02] <darobin> MikeSmith: ping
- # [13:03] * Quits: mbatle (mbatle@pasanda.collabora.co.uk) (Ping timeout: 240 seconds)
- # [13:03] * Joins: mbatle (mbatle@pasanda.collabora.co.uk)
- # [13:05] <Ms2ger> Microsoft wrote it, it's actually useful
- # [13:05] <Ms2ger> Caught a bug in Gecko
- # [13:05] <Ms2ger> But yes, should be utf-8
- # [13:05] <darobin> ok, good to know
- # [13:05] <darobin> I've converted it
- # [13:05] <odinho> So this testing move, only html tests get a cleanup?
- # [13:06] <odinho> webapps and webappsec could also need a spring cleaning.
- # [13:06] <darobin> odinho: you were thinking of webapps tests?
- # [13:06] <darobin> right
- # [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
- # [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
- # [13:06] <odinho> Okay
- # [13:07] <darobin> odinho: you had a chance to speak up to that yesterday — today that chance is gone ;-)
- # [13:07] <odinho> I guess I should add metadata as well, at least blame-information (autor meta), since we're switching system.
- # [13:07] <darobin> I think we have all the blame history imported from hg
- # [13:07] <odinho> darobin: I was in the meeting yesterday, -- we didn't talk about stuff like that :-)
- # [13:07] <Ms2ger> odinho, I told him to get rid of it, but he didn't want to :)
- # [13:07] <Ms2ger> The meeting was on Tuesday
- # [13:07] <darobin> odinho: I meant here on IRC
- # [13:08] <darobin> odinho: Ms2ger suggested that, but it would have caused me extra work and he didn't seem adamant
- # [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.
- # [13:08] <darobin> but *shrug*
- # [13:09] <Ms2ger> Is there anything useful in tools?
- # [13:09] <darobin> a few things, but it's not clear that it's dangerous
- # [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
- # [13:10] <darobin> so if you guys each promise me a beer, I'll do it
- # [13:11] <odinho> Doesn't sound like a bad deal.
- # [13:11] <odinho> You might never get Ms2ger's though :P
- # [13:11] <Ms2ger> Sure
- # [13:11] <jgraham> What if I promise you a negative beer?
- # [13:11] <darobin> see? even Ms2ger buys beer
- # [13:11] <darobin> jgraham: I probably already owe you beer anyway
- # [13:11] <jgraham> Next time I see you with a beer, I will take it off you
- # [13:11] <jgraham> Actually I don't drink beer, so you are good :)
- # [13:12] <odinho> "relieve you of it", lol
- # [13:12] <jgraham> Anyway, I don't really have an opinion on tests/ vs not
- # [13:12] <jgraham> although it doesn't really seem that harmful to have it
- # [13:12] <Ms2ger> darobin, but don't come near jgraham with a glass of hot chocolate...
- # [13:13] <darobin> since I profoundly dislike hot chocolate, I will be happy to hand any such glass I may have to jgraham
- # [13:13] <jgraham> I get the feeling that removing tests/ means that we will end up with a html-tools repo soon enough
- # [13:13] <darobin> ok, I've moved the hierarchy one level up
- # [13:14] <darobin> jgraham: we already have an html-tools repo :)
- # [13:14] <jgraham> darobin: You would get on well with the people in the bar at the hotel in Lyon
- # [13:14] <odinho> jgraham: sounds nice, already have resources, and that works :]
- # [13:14] <jgraham> They apparently can't serve hot drinks after 9pm
- # [13:14] <jgraham> Well couldn't
- # [13:14] <darobin> in general it makes sense for the tools not to use the same branching as the content they apply to
- # [13:14] <jgraham> I suppose it is not impossible that this particular piece of insanity has ended already
- # [13:15] <jgraham> Sure
- # [13:15] <darobin> jgraham: yeah, that's common in France, especially in the province
- # [13:15] <jgraham> Oh, the whole country is mad
- # [13:15] <darobin> cleaning up the coffee machine takes time, so they do it well before the end of the shift
- # [13:15] * Quits: yod (~ot@gatec.kw.bbc.co.uk) (Quit: Leaving.)
- # [13:15] <darobin> no no, in Paris you can normally get hot stuff up till 2am
- # [13:16] <darobin> and of course likewise in any place that serves food
- # [13:16] * Krinkle|detached is now known as Krinkle
- # [13:16] <jgraham> That wasn't much help to me :)
- # [13:16] <darobin> as a former barman, I always served hot beverages up to whenever the night ended
- # [13:16] <jgraham> Now time for lunch I think
- # [13:17] <darobin> +1
- # [13:17] <Krinkle> annevk: do for what?
- # [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"
- # [13:18] * Joins: Somatt_wrk (~somattwrk@darkstar2.fullsix.com)
- # [13:20] <annevk> Krinkle: in the implementation
- # [13:20] <Krinkle> Older browsers don't expose the constructors/prototypes
- # [13:20] * Joins: sedovsek (~robert@89.143.12.238)
- # [13:20] <Krinkle> particularly IE
- # [13:20] <Krinkle> e.g. no HTMLElement, Node etc.
- # [13:20] <Krinkle> I doubt Document would be exposed
- # [13:21] <Krinkle> brb later
- # [13:21] <MikeSmith> darobin: aqui
- # [13:21] * Krinkle is now known as Krinkle|detached
- # [13:22] * Joins: dglazkov (uid4270@gateway/web/irccloud.com/x-qcpnovytugagevpx)
- # [13:35] <darobin> MikeSmith: hola
- # [13:36] <darobin> do you know where the bot is that syncs github and hg?
- # [13:36] <darobin> for the TS
- # [13:37] <darobin> I think we need it killed before I merge the reorg to master
- # [13:39] <Ms2ger> darobin, what's the situation with submitted tests?
- # [13:39] <darobin> it's the next thing up after I've merged
- # [13:40] <Ms2ger> And thanks for https://github.com/w3c/html-testsuite/commit/8267f079550cbe16e488fa85a04d7d7d309f6529 :)
- # [13:40] <darobin> heh, np :)
- # [13:41] * Joins: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net)
- # [13:41] * Quits: scor (~scor@c-98-216-39-127.hsd1.ma.comcast.net) (Changing host)
- # [13:41] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [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
- # [13:43] <MikeSmith> on dvcs.w3.org
- # [13:43] <darobin> ah, ok
- # [13:44] <darobin> can you kill it? or point me to it and I'll do it
- # [13:44] <MikeSmith> i can turn it off as soon as i get back to my pc
- # [13:44] <darobin> if you recall where it is just lmk and I'll have it learn the meaning of Justice
- # [13:44] <MikeSmith> if you have root on that host to can
- # [13:45] <darobin> or, you know, something like that
- # [13:45] <MikeSmith> Heh
- # [13:45] <MikeSmith> alex knows
- # [13:45] <darobin> I believe I do, I've ended up on that machine while thinking I was on w3c-test
- # [13:45] <darobin> ta, I'll see with sysreq
- # [13:45] <MikeSmith> ok
- # [13:46] <MikeSmith> var tree ... somewhere
- # [13:49] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [13:58] <darobin> the bot, it has been killed
- # [14:01] * Ms2ger whimpers
- # [14:15] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [14:25] * Joins: krawchyk (~krawchyk@65.220.49.251)
- # [14:31] * Joins: linclark (~clark@c-67-186-35-246.hsd1.pa.comcast.net)
- # [14:35] <annevk> Krinkle|detached: fair point
- # [14:43] * Joins: heath (quassel@2600:3c02::f03c:91ff:feae:6e5b)
- # [14:43] * Joins: beverloo (beverloo@nat/google/x-zvcsofzlddihrnpm)
- # [14:43] * Joins: scottjehl__ (uid3055@gateway/web/irccloud.com/x-bgbvswlmprpinmyg)
- # [14:46] * Joins: eighty4 (~eighty4@unaffiliated/eighty4)
- # [14:50] * Quits: darobin (~darobin@78.109.80.74) (Read error: Connection reset by peer)
- # [14:51] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [14:51] * Joins: darobin (~darobin@78.109.80.74)
- # [15:03] * Quits: Somatt_wrk (~somattwrk@darkstar2.fullsix.com) (Ping timeout: 246 seconds)
- # [15:08] * Joins: danzik17 (~danzik17@164.55.254.106)
- # [15:09] * Quits: tomasf (~tomasf@77.72.97.5.c.fiberdirekt.net) (Quit: tomasf)
- # [15:17] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
- # [15:20] * Quits: scor (~scor@drupal.org/user/52142/view) (Quit: scor)
- # [15:21] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
- # [15:27] * Joins: MacTed (~Thud@63.119.36.36)
- # [15:31] * Joins: JohnAlbin (~JohnAlbin@client-67-58-228-190.consolidated.net)
- # [15:37] * Joins: dbaron (~dbaron@pool-72-94-180-24.phlapa.fios.verizon.net)
- # [15:43] * Quits: niloy (~niloy@203.196.177.156) (Quit: Leaving)
- # [15:43] * Quits: izhak (~izhak@213.87.240.75) (Ping timeout: 260 seconds)
- # [15:44] * Joins: jacobolus (~jacobolus@50-0-133-210.dsl.static.sonic.net)
- # [16:01] <timeless> TabAtkins: mixing my dates with global dates is definitely a bad idea
- # [16:04] * Joins: svl (~me@p57AB7795.dip.t-dialin.net)
- # [16:04] * abstractj is now known as abstractj|lunch
- # [16:05] * Quits: hdhoang1 (~hdhoang@113.190.37.242) (Quit: Leaving.)
- # [16:06] <annevk> hmm, time to switch banks http://www.youtube.com/watch?v=PV8qKJDt6EI
- # [16:06] * abstractj|lunch is now known as abstractj|away
- # [16:07] * Joins: scor (~scor@w0117883.mgh.harvard.edu)
- # [16:07] * Quits: scor (~scor@w0117883.mgh.harvard.edu) (Changing host)
- # [16:07] * Joins: scor (~scor@drupal.org/user/52142/view)
- # [16:11] * Joins: griswold (~quassel@vpn.space150.com)
- # [16:18] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [16:26] * Quits: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
- # [16:32] * Quits: foolip (~philip@node-7lfb95mwomttu2c94.a0.ipv6.opera.com) (Quit: Ex-Chat)
- # [16:34] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [16:35] * Joins: jonlee (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net)
- # [16:38] * Joins: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de)
- # [16:39] <annevk> smaug____: should we remove the "detached flag" from NodeIterator too?
- # [16:39] <annevk> Aryeh ^^
- # [16:39] <smaug____> hmm
- # [16:40] <zewt> does this guy really think that stamping a keyval syntax on fragments is okay
- # [16:40] <smaug____> I'd guess detached flag is useless there
- # [16:40] <annevk> Ms2ger: ^^
- # [16:42] * Joins: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no)
- # [16:42] <Ms2ger> Never heard of it
- # [16:43] * Joins: foolip (~philip@node-7lfbbbvmi28o3t522.a0.ipv6.opera.com)
- # [16:44] * jonlee is now known as jonlee|afk
- # [16:44] <annevk> wanna write a patch for Gecko?
- # [16:44] <Ms2ger> I guess?
- # [16:47] * annevk fixes origin first
- # [16:51] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [16:57] <Ms2ger> MikeSmith, hey, has the world ended over there?
- # [17:00] * Quits: darobin (~darobin@78.109.80.74) (Read error: Connection reset by peer)
- # [17:00] * Joins: darobin (~darobin@78.109.80.74)
- # [17:06] <darobin> Ms2ger: the Mozilla submissions are actually you, right?
- # [17:06] <Ms2ger> Which ones?
- # [17:06] <Ms2ger> But generally, no
- # [17:07] <annevk> Ms2ger: '<a class="external" data-anolis-spec="html" ' seems like a lot of bloat
- # [17:07] <Ms2ger> Well, in the sense that I didn't write them originally
- # [17:07] <darobin> Ms2ger: ah, ok, some have your name on them and some don't
- # [17:07] <darobin> +1 to annevk on that
- # [17:08] <Ms2ger> darobin, but the bloat in <script src=respec.js>... ;)
- # [17:08] <darobin> Ms2ger: do you mind going through your own submissions and making them be new pull requests?
- # [17:08] <Ms2ger> darobin, except for the document.write ones, I did submit them all
- # [17:08] <Ms2ger> Sure
- # [17:08] <darobin> Ms2ger: nah, ReSpec writes the bloat for you, it's actually the opposite from Anolis
- # [17:08] <darobin> cool, thanks
- # [17:08] <Ms2ger> Send me an email to remind me?
- # [17:09] <darobin> I've done a bunch already
- # [17:09] <darobin> I'll do the Mozilla ones, they're easy — in your case you have lots :)
- # [17:09] <darobin> sure
- # [17:09] * Joins: Ducki (~Ducki@pD9E38A70.dip0.t-ipconnect.de)
- # [17:09] <Ms2ger> Yeah, I've written a few :)
- # [17:11] <darobin> Aryeh pretty much told me you were the maintainer for idlharness.js these days
- # [17:11] <darobin> I thought you might like to be informed :)
- # [17:12] * Quits: Ducki_ (~Ducki@pD9E39C11.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
- # [17:12] * Quits: Lachy (~Lachy@office.oslo.opera.com) (Quit: Computer has gone to sleep.)
- # [17:12] * Quits: FireFly (~firefly@oftn/member/FireFly) (Excess Flood)
- # [17:13] * Joins: FireFly (~firefly@oftn/member/FireFly)
- # [17:15] <Ms2ger> darobin, hmm, what about idlharness?
- # [17:16] * Joins: sedovsek (~robert@89.143.12.238)
- # [17:16] <darobin> Ms2ger: I had asked Aryeh if there were things he didn't want me to touch, warnings, etc.
- # [17:16] <darobin> and he said something like "well, it's mostly Ms2ger maintaining it these days"
- # [17:17] <darobin> you didn't seem to be aware of that last we spoke of it :)
- # [17:17] <Ms2ger> I guess that I know the most about it, of the people who are around
- # [17:18] <Ms2ger> I still barely understand anything about it :)
- # [17:18] <Ms2ger> Anyway, ttyl
- # [17:18] * Quits: Ms2ger (~Ms2ger@109.133.25.170) (Quit: bbl)
- # [17:20] <darobin> haha
- # [17:22] * hober really needs to set up a filter on list-id w3c/html-testsuite <html-testsuite.w3c.github.com> :)
- # [17:22] * Joins: ehsan (~ehsan@66.207.208.98)
- # [17:22] <annevk> DOM has 16 open bugs
- # [17:22] <annevk> new (positive) low
- # [17:23] <annevk> mostly feature requests now
- # [17:24] * Quits: Kolombiken (~Adium@217.13.228.226) (Quit: Leaving.)
- # [17:28] * Quits: henrikkok (~henrikkok@81.27.221.193) (Quit: Leaving.)
- # [17:29] <darobin> hober: can't you simply sign out of notifications for that repo?
- # [17:29] * darobin should probably sign in actually
- # [17:30] <hober> no, i want to get the notifications, just not to my inbox. :)
- # [17:31] * jonlee|afk is now known as jonlee
- # [17:34] <darobin> heh
- # [17:35] * Quits: maikmerten (~merten@ls5dhcp200.cs.uni-dortmund.de) (Ping timeout: 260 seconds)
- # [17:42] * Joins: henrikkok (~henrikkok@3306ds3-amb.0.fullrate.dk)
- # [17:42] * Quits: henrikkok (~henrikkok@3306ds3-amb.0.fullrate.dk) (Client Quit)
- # [17:45] * Quits: cabanier (~cabanier@c-98-237-137-173.hsd1.wa.comcast.net) (Quit: Leaving.)
- # [17:45] <Stevef_> darobin:ping re publishing Using ARIA in HTML as FPWD that won't happen til next year right?
- # [17:46] <Stevef_> so no rush to get it ready
- # [17:48] <darobin> Stevef_: yeah, there won't be any publications before 2013
- # [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
- # [17:50] <darobin> Stevef_: yes, which is cool
- # [17:50] <darobin> but we're in publication moratorium (and I'm on vacation tomorrow evening :)
- # [17:50] * Joins: maikmerten (~merten@vpn27064.itmc.tu-dortmund.de)
- # [17:50] <Stevef_> darobin: yeaah i will proceed at a leisurely pace to prepare it then :-)
- # [17:51] * jgraham expected darobin to be reorganising tests on Christmas Day
- # [17:52] <darobin> jgraham: I think I'll finish all the reorganising I can do today or tomorrow :)
- # [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
- # [17:55] * Joins: darobin_ (~darobin@78.109.80.74)
- # [17:55] * Quits: darobin (~darobin@78.109.80.74) (Read error: Connection reset by peer)
- # [17:56] * jonlee is now known as jonlee|afk
- # [17:59] * Quits: darobin_ (~darobin@78.109.80.74) (Read error: Connection reset by peer)
- # [17:59] * Joins: Maurice` (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [17:59] * Joins: darobin (~darobin@78.109.80.74)
- # [18:00] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
- # [18:00] * Quits: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net) (Quit: tantek)
- # [18:01] * Joins: cabanier (~cabanier@192.150.22.55)
- # [18:01] <annevk> yay for working on tests
- # [18:09] * abstractj|away is now known as abstractj
- # [18:10] * Quits: jonlee|afk (~jonlee@c-71-202-46-113.hsd1.ca.comcast.net) (Quit: jonlee|afk)
- # [18:13] * Joins: izhak (~izhak@213.87.241.27)
- # [18:20] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Ping timeout: 255 seconds)
- # [18:26] <timeless> annevk: have you seen odata.org ??
- # [18:26] * Quits: Smylers (~smylers@host81-143-60-194.in-addr.btopenworld.com) (Quit: Leaving.)
- # [18:26] <dglazkov> good morning, Whatwg!
- # [18:27] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
- # [18:31] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
- # [18:33] * Joins: baku (~baku@2-236-39-253.ip231.fastwebnet.it)
- # [18:33] * Joins: ap (~ap@2620:149:4:1b01:6d50:8457:98a7:74e0)
- # [18:35] * Quits: izhak (~izhak@213.87.241.27) (Ping timeout: 248 seconds)
- # [18:35] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [18:44] * Quits: drublic (~drublic@p5098a42b.dip0.t-ipconnect.de) (Remote host closed the connection)
- # [18:55] <Hixie> is there any difference between the 'double' type and JS Number?
- # [18:56] * Joins: eresair (~eresair@173.247.199.2)
- # [18:58] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [18:58] * Joins: erlehmann (~erlehmann@89.204.130.32)
- # [18:58] <erlehmann> hey whatwg
- # [18:59] <erlehmann> if i want to include a webvtt file in a web feed, which link relation would apply?
- # [19:00] <Hixie> how do you mean, include a webvtt file in a web feed?
- # [19:01] <erlehmann> i have a podcast with an atom feed. http://warumnicht.dieweltistgarnichtso.net/feed.atom
- # [19:01] <erlehmann> currently i include a mp3 enclosure a vorbis enclosure … and webvtt gives chapters!
- # [19:02] <erlehmann> i am looking at http://www.iana.org/assignments/link-relations/link-relations.xml
- # [19:02] <Hixie> ah, i see
- # [19:02] <erlehmann> in a feed, an external resource needs a link relation
- # [19:02] <erlehmann> like <link rel="alternate" type="text/html" href="http://warumnicht.dieweltistgarnichtso.net/wn-17.html"/>
- # [19:02] <Hixie> does any software support webvtt in a feed yet?
- # [19:02] * Joins: Kolombiken (~Adium@217.13.228.226)
- # [19:02] <erlehmann> no software will when no one provides it.
- # [19:02] * Joins: sedovsek (~robert@89.143.12.238)
- # [19:03] <Hixie> if no software supports it, then doesn't matter what you use... pick whatever you think is right
- # [19:03] <erlehmann> i know at least one programmer, the guy behind instacast, would like to have chapters.
- # [19:03] <Hixie> rel="webvtt-chapters" or something
- # [19:03] <Hixie> or just rel=chapters
- # [19:03] <Hixie> you'll need everything that the <track> element in HTML can host, ideally
- # [19:04] <erlehmann> what does that mean?
- # [19:04] * Joins: pablof (~pablof@144.189.150.129)
- # [19:04] <erlehmann> i am hesitant to use „chapters“ because there is already a „chapter“ value in link relations at IANA
- # [19:04] <erlehmann> and i am thinking of rev vs. rel that was mixed up sometimes
- # [19:05] <erlehmann> if rel=chapters would be clean, where do i document it?
- # [19:06] <erlehmann> also the webvtt file does not really describe chapters. it is more akin to metadata, hmm.
- # [19:06] <erlehmann> like, it does not link to points in time
- # [19:06] <erlehmann> and is not usable without having the enclosure
- # [19:07] * Quits: Kolombiken (~Adium@217.13.228.226) (Ping timeout: 252 seconds)
- # [19:07] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
- # [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?
- # [19:09] <erlehmann> (excuse my bad engrish)
- # [19:10] <Hixie> re enclosures and how to spec it, dunno, ask the atom folk.
- # [19:10] <Hixie> re the URI thing, if you want the browsers to change behaviour, it's at least theoretically in scope
- # [19:11] <erlehmann> i would want to change behaviour. better than everybody inventing slightly-incompatible formats.
- # [19:11] <erlehmann> i'll wait for implementor replies
- # [19:12] <erlehmann> and if no one is against it find out if/how i can bring this into gecko and webkit.
- # [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
- # [19:15] * Joins: jwalden (~waldo@nat/mozilla/x-meopmdxonbuifrww)
- # [19:18] * Joins: mattgifford (~mattgiffo@70.102.199.158)
- # [19:18] <erlehmann> #atom is deserted
- # [19:24] <erlehmann> is there a way to have link annotations in webvtt?
- # [19:27] * Joins: ap_ (~ap@17.114.111.158)
- # [19:29] * Quits: ap (~ap@2620:149:4:1b01:6d50:8457:98a7:74e0) (Read error: Operation timed out)
- # [19:29] * ap_ is now known as ap
- # [19:32] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
- # [19:33] * Joins: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net)
- # [19:34] * Quits: ^esc (~esc_ape@178.115.248.48.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
- # [19:35] * Joins: yodasw16 (~yodasw16@ql1fwhide1.rockfin.com)
- # [19:38] * Quits: malcolmva (~malcolmva@c-67-180-203-233.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
- # [19:40] * Joins: yorick (~quassel@vredebest.xs4all.nl)
- # [19:40] * Quits: yorick (~quassel@vredebest.xs4all.nl) (Changing host)
- # [19:40] * Joins: yorick (~quassel@unaffiliated/yorick)
- # [19:45] * Quits: sedovsek (~robert@89.143.12.238) (Quit: sedovsek)
- # [19:46] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
- # [19:48] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [19:49] * Joins: eric_carlson (~eric@17.212.152.104)
- # [19:49] * Quits: eric_carlson (~eric@17.212.152.104) (Client Quit)
- # [19:49] * Joins: eric_carlson (~ericc@c-67-188-56-39.hsd1.ca.comcast.net)
- # [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. :/
- # [19:52] * Quits: richt (~richt@office.oslo.opera.com) (Remote host closed the connection)
- # [19:53] <erlehmann> i have done an art and used rel=chapters http://warumnicht.dieweltistgarnichtso.net/feed.atom
- # [19:53] <erlehmann> how do i go about standardizing that rel value?
- # [19:53] * Quits: skcin7 (~skcin7@c-68-38-156-213.hsd1.nj.comcast.net) (Quit: Computer has gone to sleep.)
- # [19:53] * Joins: jsbell (jsbell@nat/google/x-wygmmuaazmwdvgno)
- # [19:54] <hober> is it a rel value for use in <a rel> or <link rel> in HTML?
- # [19:55] <hober> if so, see http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions
- # [19:58] * Joins: Kolombiken (~Adium@217.13.228.226)
- # [20:00] * Joins: Kolombiken1 (~Adium@217.13.228.226)
- # [20:00] * Quits: Kolombiken (~Adium@217.13.228.226) (Read error: Connection reset by peer)
- # [20:04] * Quits: Kolombiken1 (~Adium@217.13.228.226) (Ping timeout: 255 seconds)
- # [20:06] * Joins: tantek (~tantek@mf20536d0.tmodns.net)
- # [20:06] * Quits: ehsan (~ehsan@66.207.208.98) (Read error: Connection reset by peer)
- # [20:07] * Joins: ehsan (~ehsan@66.207.208.98)
- # [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
- # [20:08] <Hixie> any opinions on how that should be marked up?
- # [20:08] <TabAtkins> What's the current plan for declaring a column to be sortable?
- # [20:09] * Joins: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com)
- # [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
- # [20:09] <tantek> and if not, then perhaps those who want such a feature should first prototype in a JS library
- # [20:12] <Hixie> TabAtkins: right now no plan
- # [20:13] <Hixie> TabAtkins: just <table sortable>
- # [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.
- # [20:13] <TabAtkins> Hixie: Ah, and that makes *all* columns sortable?
- # [20:13] <Hixie> TabAtkins: currently.
- # [20:13] <Hixie> TabAtkins: and by "currnetly" i mean "in my head"
- # [20:13] <tantek> why wouldn't a column be sortable?
- # [20:14] <tantek> or do you need some way to enable a default "sorting" UI?
- # [20:14] <TabAtkins> Okay. Then maybe <th sorted>?
- # [20:14] <tantek> similar to audio/video player=player
- # [20:14] <TabAtkins> tantek: You mean controls?
- # [20:14] <tantek> sorry, right, that. :)
- # [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
- # [20:15] <Hixie> TabAtkins: that kind of implies it's _already_ sorted
- # [20:15] <erlehmann> Hixie, sorting tables onload means that people are not able to sort it server-side?
- # [20:15] <TabAtkins> Hixie: That's the point - you asked for some way to sort a column immediately.
- # [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
- # [20:15] <TabAtkins> Oh, I see.
- # [20:15] <Hixie> TabAtkins: well yeah except in the markup it's not sorted
- # [20:15] <tantek> I like sorted. kind of like ordered vs. unordered lists.
- # [20:16] <Hixie> erlehmann: s/able/forced/
- # [20:16] <tantek> you can things sorted by multiple columns
- # [20:16] <TabAtkins> Yes, I was just going to suggest using the attribute to dynamically mark the sorted column too.
- # [20:16] <tantek> primary sort, secondary sort etc.
- # [20:16] <TabAtkins> Like <details open>.
- # [20:16] <Hixie> TabAtkins: yeah
- # [20:16] <tantek> so "current sorted column" is imprecise
- # [20:16] <Hixie> tantek: that is also an issue, yes
- # [20:16] * tantek is waiting for visicalc.js
- # [20:17] <erlehmann> Hixie, issue: if columns have still to be sorted server-side, that gives backwards compat for free.
- # [20:17] <Hixie> erlehmann: stuart's feedback was that people hate that
- # [20:17] <Hixie> hate having to sort them themselves, i mean
- # [20:17] <tantek> is the original VisiCalc source anywhere? bet it would port well to JS + <table> as a data model
- # [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“
- # [20:18] <Hixie> erlehmann: yes, but that's probably not a huge deal
- # [20:18] <erlehmann> Hixie, the problem is that making it easier, but incompatible for authors, will make it harder for users.
- # [20:18] <Hixie> erlehmann: it's not incompatible
- # [20:18] <Hixie> erlehmann: you still _can_ sort
- # [20:18] <Hixie> erlehmann: you're just not forced to
- # [20:18] <Hixie> in the future
- # [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.
- # [20:20] <Hixie> this isn't an optional feature
- # [20:20] <erlehmann> yeah, but how long until old user agents catch up? :/
- # [20:20] * Joins: fr0zenice (~frozenice@unaffiliated/fr0zenice)
- # [20:20] <Hixie> erlehmann: until they do, sort on the server and you'll be fine
- # [20:21] <erlehmann> the problem is that „the second column“ could be something else.
- # [20:21] <tantek> no different than the "new input types" problem
- # [20:21] <Hixie> what second column? what? i'm confused
- # [20:21] <tantek> new clients vs. server with old clients
- # [20:21] <erlehmann> or second row or whatever
- # [20:21] <Hixie> i think we're talking at cross purposes
- # [20:21] <Hixie> can you redescribe your concern from first principles?
- # [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?
- # [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
- # [20:22] <erlehmann> something like “oh, you have an old version of firefox, that means the table is sorted differentlycould provide headches
- # [20:22] <Hixie> dude by that reasoning we could never add any new features ever
- # [20:23] <erlehmann> yeah, but if new UAs sort the table on load and old UAs do not, then there could be confusion
- # [20:23] <erlehmann> no, that is not what i mean
- # [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
- # [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.
- # [20:24] <erlehmann> TabAtkins, I believe that a world where backwards compat is not optional could be better than one that is
- # [20:24] <erlehmann> if it is optional, some will not do it.
- # [20:24] <Hixie> erlehmann: we can't require that people sort their tables
- # [20:25] <Hixie> erlehmann: they'll just find workarounds like manually calling .sort()
- # [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.
- # [20:25] <erlehmann> instead of doing it server-side. hmm. that sounds plausible.
- # [20:25] <TabAtkins> An unsorted table is still a table containing all the data you want. It's just not in order.
- # [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
- # [20:25] * Joins: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net)
- # [20:26] * Quits: Smylers (~smylers@host86-147-28-45.range86-147.btcentralplus.com) (Quit: Leaving.)
- # [20:26] <Hixie> especially given that there'll be shims for old UAs
- # [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
- # [20:26] <Hixie> hah
- # [20:26] <erlehmann> Hixie, TabAtkins, thanks for the discussion.
- # [20:26] <Hixie> dunno if i'd say "madness", but i agree :-)
- # [20:27] <Hixie> in other news, all this hasn't helped me figure out how to mark this up at all
- # [20:27] <Hixie> <table> <thead> <tr> <th sorted=1> <th sorted=2>
- # [20:27] <Hixie> but what if the author writes <th sorted=1> <th sorted=1> ?
- # [20:27] <erlehmann> “madness” in the case that pages use scripts when declarative means would be more usable in the long run.
- # [20:27] <TabAtkins> Then you sort the last one in document order?
- # [20:28] * Joins: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [20:29] <Hixie> hm, sorted=level is kind of an unintuitive syntax anyway
- # [20:29] <Hixie> <table autosort="1,5,4,2">
- # [20:29] <TabAtkins> Dammit! I was just typing that!
- # [20:29] <Hixie> which makes insertions in tbodies sort?
- # [20:29] * Joins: rniwa (~rniwa@17.212.154.114)
- # [20:29] <erlehmann> what would autosort do?
- # [20:29] <Hixie> but then we have to go back to pseudo-classes
- # [20:30] <erlehmann> is that the column numbers in sorting precedence?
- # [20:30] <Hixie> since having both that and the sorted="" attribute would just lead to conflicts
- # [20:30] <Hixie> erlehmann: yeah
- # [20:30] <Hixie> also it's not very intuitive to use column numbers instead of names
- # [20:30] <erlehmann> yeah
- # [20:30] <Hixie> this is fast looking like one of those situations where there's no good answer
- # [20:31] <erlehmann> maybe too fast
- # [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>
- # [20:32] <Hixie> and =1 is implied if omitted
- # [20:32] <erlehmann> why „sort“ instead of „sorted“ ?
- # [20:33] <TabAtkins> Sure, that works.
- # [20:33] * Joins: alecf_ (alecf@nat/google/x-aopeenuwiuussnfs)
- # [20:33] <Hixie> erlehmann: because the attribute also sorts, it doesn't only indicate that the content is sorted
- # [20:33] * Quits: SimonSapin (~simon@vev69-1-82-232-219-95.fbx.proxad.net) (Ping timeout: 244 seconds)
- # [20:34] <Hixie> how do we indicate that the sort should be reversed?
- # [20:34] <Hixie> do secondary keys ever need to be reversed?
- # [20:34] <Hixie> if i click column A twice, then click column B, is the sort order B, then reverse A? or just B?
- # [20:35] <TabAtkins> Ctrl-click does secondary sort, otherwise it's just overriding primary sort.
- # [20:35] <Hixie> usually clicking a new column just pushes all previous columns up one level in the sort order
- # [20:35] <erlehmann> in which UA?
- # [20:36] <Hixie> i'm not aware of any UI that lets you change the secondary sort without changing the primary
- # [20:37] * Quits: baku (~baku@2-236-39-253.ip231.fastwebnet.it) (Quit: Leaving)
- # [20:37] <erlehmann> but imagine sorting by category (pizza, burgers, noodles) and than going for secondary sort by price or delivery time
- # [20:38] <erlehmann> or say you have tech gadgets. sort by price, ascending, then sort by memory capacity descending.
- # [20:38] <erlehmann> or vice versa
- # [20:39] <erlehmann> i would make the attribute more self-describing, if you go by that route
- # [20:40] <erlehmann> sortindex
- # [20:40] <erlehmann> similar to tabindex
- # [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?
- # [20:45] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [20:46] <jgraham> Also, isn't autosorting on load rather unfriendly
- # [20:46] * Joins: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net)
- # [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
- # [20:46] <jgraham> Which is pretty confusing if it's a long table and someone has already started reading it
- # [20:48] * Quits: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net) (Quit: Computer has gone to sleep.)
- # [20:50] * Parts: acies (acies@146.72.251.225)
- # [20:52] * Joins: Kolombiken (~Adium@217.13.228.226)
- # [20:55] * Joins: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net)
- # [20:55] * Joins: Ms2ger (~Ms2ger@109.133.25.170)
- # [20:56] * Quits: Kolombiken (~Adium@217.13.228.226) (Ping timeout: 244 seconds)
- # [20:59] <Ms2ger> Hixie, yeah, double is JS Number
- # [21:01] * abstractj is now known as abstractj|away
- # [21:03] * Joins: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net)
- # [21:03] * Quits: yodasw16 (~yodasw16@ql1fwhide1.rockfin.com) (Quit: yodasw16)
- # [21:03] * Quits: maikmerten (~merten@vpn27064.itmc.tu-dortmund.de) (Remote host closed the connection)
- # [21:04] <erlehmann> did someone say doubles? http://memegenerator.net/instance/32214506
- # [21:06] <erlehmann> ich dacte sowas schreibt man am schluss
- # [21:08] <Ms2ger> Sorry, lots of Dutch, not a lot of German here
- # [21:10] <erlehmann> sorry, wrong terminal
- # [21:13] <erlehmann> the doubles guy was intended to be here, though
- # [21:13] * Quits: othermaciej (~mjs@c-24-6-209-189.hsd1.ca.comcast.net) (Quit: othermaciej)
- # [21:13] <erlehmann> Ms2ger, i had dutch in first and second grade, but i cannot remember more than “ho het jej?” :3
- # [21:14] <erlehmann> oh, it is “Hoe heet jij?”
- # [21:15] <Ms2ger> Ms2ger, I thought you knew ;)
- # [21:16] <erlehmann> this is a misunderstanding between object- and meta-language
- # [21:16] <erlehmann> i think.
- # [21:16] <Ms2ger> :)
- # [21:16] <erlehmann> i was referring to the phrase, not asking a question
- # [21:17] <erlehmann> are the quotes rendered at your place?
- # [21:17] <erlehmann> in your … terminal or whatever?
- # [21:19] * Joins: sedovsek_ (~robert@BSN-142-47-203.dial-up.dsl.siol.net)
- # [21:21] * Quits: sedovsek (~robert@BSN-176-199-156.dial-up.dsl.siol.net) (Ping timeout: 255 seconds)
- # [21:21] * sedovsek_ is now known as sedovsek
- # [21:21] * Joins: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr)
- # [21:27] <Hixie> erlehmann: the problem with sortindex="" is you really want the simple case (just one sort column) to look natural
- # [21:27] <Hixie> jgraham: follow the link to Text
- # [21:27] <Hixie> jgraham: re sorting, you'd autosort on insert or something
- # [21:27] <Hixie> jgraham: which isn't performance-wise particularly hot, i'll grant you
- # [21:28] <GPHemsley> Are you guys aware of this? http://browseryoulovedtohate.com/
- # [21:29] <erlehmann> „it's good now“ „no really“
- # [21:29] <erlehmann> hahaha
- # [21:29] <erlehmann> „i have changed, please come back, honey“
- # [21:30] <erlehmann> text as images. expert web devs they have there.
- # [21:30] * Quits: Stevef_ (~chatzilla@cpc20-nmal18-2-0-cust76.19-2.cable.virginmedia.com) (Ping timeout: 264 seconds)
- # [21:31] <erlehmann> download button does not work
- # [21:31] <GPHemsley> It accompanies this video: https://www.youtube.com/watch?v=lD9FAOPBiDk
- # [21:32] <GPHemsley> See also: http://karaokewebstandard.org/
- # [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. "
- # [21:33] <Ms2ger> MikeSmith, hey, http://www.w3c-test.org/html/ doesn't look happy :(
- # [21:37] * Quits: fr0zenice (~frozenice@unaffiliated/fr0zenice) (Remote host closed the connection)
- # [21:38] <jgraham> Hixie: I did. "Text, in the context of content models, means Text nodes"
- # [21:38] <jgraham> There are no Text nodes
- # [21:38] <Hixie> presumably not conforming then
- # [21:38] <Hixie> what's the element in question?
- # [21:38] * Quits: sedovsek (~robert@BSN-142-47-203.dial-up.dsl.siol.net) (Quit: sedovsek)
- # [21:38] <jgraham> <title></title> for example
- # [21:38] <Hixie> yeah that's not conforming
- # [21:39] <jgraham> The validator disagrees
- # [21:39] <Hixie> (not much point including a <title> if it's empty)
- # [21:39] <jgraham> Not much point in including a title at all in many cases :)
- # [21:39] <erlehmann> GPHemsley, what is this i don't even.
- # [21:39] <Hixie> yeah, the spec allows for that
- # [21:39] <jgraham> Anyway, I guess I should file a bug on hsivonen
- # [21:40] <Hixie> "if title information is available from a higher-level protocol" you don't have to include a <title>
- # [21:40] <jgraham> Fair enough
- # [21:40] <jgraham> Anyway, it seems the validator has a bug
- # [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.
- # [21:41] <jgraham> TabAtkins: I don't see why people wouldn't sort the data on the server side
- # [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
- # [21:42] <Hixie> jgraham: stuart says this is one of the biggest complaints about his library
- # [21:42] <Hixie> (that it doesn't sort on the client on load)
- # [21:42] <Hixie> well, he says "lots of people ask for it"
- # [21:42] <Hixie> (he agrees that it's "wrong")
- # [21:42] <jgraham> Well, lots of people ask for a parent selector in CSS
- # [21:43] * JohnAlbin is now known as JohnAlbin_afk
- # [21:43] <jgraham> We don't let them have that either :)
- # [21:43] <Hixie> yeah, and we should provide that with :matches()
- # [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.
- # [21:44] <Hixie> no but it means that if it is possible to build, that we should seriously consider it
- # [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.
- # [21:45] <erlehmann> if this is a common complaint, where is the library that does it?
- # [21:45] <erlehmann> *someone* must have tried
- # [21:45] <erlehmann> (and failed? who knows)
- # [21:46] <erlehmann> (looking at existing solutions right now)
- # [21:47] <erlehmann> this one uses classes in header columns http://tetlaw.id.au/view/blog/table-sorting-with-prototype/
- # [21:47] <erlehmann> sortfirstasc and sortfirstdesc
- # [21:48] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
- # [21:50] <Hixie> TabAtkins: can you translate Francois' e-mail for me?
- # [21:50] <TabAtkins> Sure, one sec.
- # [21:50] <erlehmann> does not scale :/
- # [21:52] <erlehmann> those classname solutions are ugly
- # [21:52] <erlehmann> this is worst i have seen http://www.frequency-decoder.com/2006/09/16/unobtrusive-table-sort-script-revisited
- # [21:53] <erlehmann> using the classname sortable-onload-3r-4r-5
- # [21:53] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
- # [21:55] <erlehmann> btw, could autosortable tables have URIs?
- # [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)
- # [21:56] <Hixie> ?
- # [21:56] <Hixie> i don't follow
- # [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.
- # [21:57] <erlehmann> but then i can see no use case for that
- # [21:57] * Quits: danzik17 (~danzik17@164.55.254.106) (Ping timeout: 260 seconds)
- # [21:57] <erlehmann> it just followed when thinking about the media fragments thing
- # [21:58] <erlehmann> (which i and others have many use cases for)
- # [21:58] <Hixie> is there a use case for inserting rows into a table without the table autosorting?
- # [21:58] <Hixie> assuming the table has a sort order specified
- # [21:58] <TabAtkins> I don't think so, no.
- # [21:59] <Hixie> we probably need a method on <table> to remove all sort attributes
- # [21:59] <Hixie> .stopSort() or something
- # [21:59] * Quits: smaug____ (~chatzilla@cs181151161.pp.htv.fi) (Ping timeout: 265 seconds)
- # [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
- # [22:00] <erlehmann> so how will CSS and sorting come together?
- # [22:00] * Quits: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net) (Quit: sicking)
- # [22:00] <erlehmann> nth-child will not work, right?
- # [22:00] <TabAtkins> They still work. Sorting rearranges the DOM.
- # [22:00] <Hixie> css is unaffected, since this all happens at the dom elvel
- # [22:00] <Hixie> <table sortable>
- # [22:00] <Hixie> <th sort[=level] onsort="comparator = function (a, b) { ... }">
- # [22:00] <Hixie> <table>.stopSort(); // removes all sort attributes
- # [22:01] <Hixie> anything else we need?
- # [22:01] <erlehmann> indeed? okay.
- # [22:01] <Hixie> (sortable="" just enables the UI)
- # [22:01] <erlehmann> level, what is level?
- # [22:01] <TabAtkins> Hixie: Is "comparator" a magic variable?
- # [22:01] <Hixie> sort=2 means it's a secondary key
- # [22:01] <Hixie> sort=3 tertiary key, etc
- # [22:01] <Hixie> th.comparator is just a callback
- # [22:02] <Hixie> i'd use an event but i assume a callback is way more efficient
- # [22:02] <erlehmann> ah
- # [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.
- # [22:03] <Hixie> right
- # [22:03] <erlehmann> so what is the default comparison for tables?
- # [22:03] <Hixie> the complicated thing we were discussing yesterday
- # [22:03] <TabAtkins> erlehmann: We worked one out last night.
- # [22:03] <TabAtkins> (date stuff) < floats < strings.
- # [22:03] <TabAtkins> And (date stuff) has a more complicated ordering.
- # [22:03] <Hixie> see http://www.whatwg.org/specs/web-apps/current-work/temp
- # [22:04] <erlehmann> TabAtkins, link?
- # [22:04] <erlehmann> thx
- # [22:04] <Hixie> hm, having a sort="" means we can't really have .sort()
- # [22:04] <erlehmann> how are strings ordered?
- # [22:04] <TabAtkins> lexicographic.
- # [22:04] <Hixie> erlehmann: unicode locale-specific based on <table lang>
- # [22:04] <Hixie> insensitive to case
- # [22:05] <TabAtkins> unicode locale-based case insensitivity?
- # [22:05] * Joins: danzik17 (~danzik17@ool-45787007.dyn.optonline.net)
- # [22:05] <erlehmann> o.0
- # [22:05] <TabAtkins> Hixie: Francois' response is that overflow:hidden isn't a sufficiently strong isolation guarantee.
- # [22:06] <Hixie> yeah i got that part, it was the why that lost me
- # [22:06] * Quits: tantek (~tantek@mf20536d0.tmodns.net) (Ping timeout: 248 seconds)
- # [22:06] <TabAtkins> My response to him, immediately following yours, explains the why in more detail.
- # [22:06] <gavin____> where is this controvery about HTML5 CR taking place?
- # [22:07] * heycam|away is now known as heycam
- # [22:07] <gavin____> I see twitter fights about it but no references to mailing list posts or anything
- # [22:07] * gavin____ is now known as gavin
- # [22:07] * Quits: gavin (~gavin@people1.scl3.mozilla.com) (Changing host)
- # [22:07] * Joins: gavin (~gavin@firefox/developer/gavin)
- # [22:08] <Hixie> gavin: www.w3.org/TR
- # [22:08] <Ms2ger> Where all the fights are
- # [22:08] <Ms2ger> http://w3cmemes.tumblr.com/
- # [22:08] <Hixie> i don't follow twitter myself so no idea about the twitter fights
- # [22:08] <gavin> Hixie: I mean where is discussion taking place, other than twitter
- # [22:08] <erlehmann> oh fine http://en.wikipedia.org/wiki/Unicode_Collation_Algorithm
- # [22:08] <Hixie> oh, i am not aware of a discussion
- # [22:08] * Joins: sedovsek (~robert@89.142.47.203)
- # [22:08] <erlehmann> Ms2ger, put the doubles guy there!
- # [22:08] <Ms2ger> There was some sarcastic chatter about it here
- # [22:09] <jgraham> Sarcasm? Here? Never!
- # [22:09] <Hixie> TabAtkins: got it
- # [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
- # [22:09] <Ms2ger> If condescending Willy Wonka existed, he'd be a regular
- # [22:10] * Quits: Ms2ger (~Ms2ger@109.133.25.170) (Quit: nn)
- # [22:10] <erlehmann> i lauged a little http://w3cmemes.tumblr.com/post/35475527654/theyll-remove-h-264-support-any-moment-now
- # [22:10] <Hixie> gavin: while at the same time the w3c claims that they are better because Process
- # [22:10] * Quits: skcin7 (~skcin7@74-92-127-250-Philadelphia.hfc.comcastbusiness.net)
- # [22:11] <gsnedders> erlehmann: Next week, I swear!
- # [22:11] <jgraham> Hixie: HAving to put <th onsort="comparator = function() {}"> seems much less nice than <th comparator="function() {}"> or something
- # [22:12] <Hixie> jgraham: agreed, but that would be a first and I don't even know how I'd spec that.
- # [22:12] <jgraham> Yeah, but worth working out, I think
- # [22:13] <jgraham> Requiring authors to understand the magicness on onfoo attributes is pure pain
- # [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.
- # [22:13] <jgraham> Either that or an entirely different design (which I don't have a proposal for)
- # [22:13] <Hixie> jgraham: so you want to replace it with similarly complex, but one-off, magic? :-)
- # [22:13] * JohnAlbin_afk is now known as JohnAlbin
- # [22:13] <gsnedders> erlehmann: Decision overruled by someone higher up? I dunno. I doubt the announcement was made in bad faith.
- # [22:14] <jgraham> Much less complex, but one-off magic
- # [22:14] * Joins: say2joe (~say2joe@204.56.108.2)
- # [22:14] <erlehmann> any sufficiently advanced specification is indistinguishable from black magic
- # [22:14] <Hixie> jgraham: what would be less complex?
- # [22:14] <jgraham> You don't need to understand the implicit this
- # [22:14] <jgraham> You don't really need to understand the order of events
- # [22:15] * gsnedders on the whole agrees with jgraham, but would rather not have *more* JS in HTML attributes.
- # [22:15] * Hixie shrugs
- # [22:15] <Hixie> doesn't seem that big a deal
- # [22:15] <erlehmann> gsnedders, usually, release logs contain stuff like that.
- # [22:15] <Hixie> i'm rather skeptical of introducing JS in an attribute that doesn't start with "on"
- # [22:16] <Hixie> not that blacklisting filters are a viable option anyway, but...
- # [22:17] <jgraham> I'm rather skeptical of on* attributes :)
- # [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
- # [22:17] <Hixie> jgraham: well yeah but they're not going anywhere
- # [22:17] <Hixie> erlehmann: i considered it
- # [22:18] <erlehmann> aaaand threw it away because … ?
- # [22:18] <Hixie> erlehmann: didn't seem like the easy cases would be easy that way
- # [22:18] <erlehmann> it makes the common case complicated?
- # [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>
- # [22:18] <alecf_> Random suggestion from the peanut gallery: how about a sortkey=function() {…} rather than a comparator
- # [22:19] <Hixie> alecf_: ?
- # [22:19] <gsnedders> Hixie: I'd rather just get everyone to use .comparator
- # [22:19] <Hixie> alecf_: pray elaborate sir
- # [22:19] <alecf_> the sort key generates the key to compare, rather than the comparator function
- # [22:19] <Hixie> gsnedders: all the proposals i made above involve them using .comparator
- # [22:19] <jgraham> Oh that's a good point
- # [22:19] <alecf_> http://en.wikipedia.org/wiki/Schwartzian_transform
- # [22:19] <gsnedders> alecf_: Does that work even with reverse orderings?
- # [22:20] <alecf_> if you make it, sure!
- # [22:20] <gsnedders> Hixie: I'd just omit the HTML attribute :)
- # [22:20] <Hixie> alecf_: ah, interesting
- # [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 <, >, =
- # [22:20] * Quits: krawchyk (~krawchyk@65.220.49.251) (Remote host closed the connection)
- # [22:20] <erlehmann> isn't there a declarative means of providing custom sorting algorithms?
- # [22:20] * Joins: Minty (~kvirc@cpc5-soli5-2-0-cust322.perr.cable.virginmedia.com)
- # [22:20] <alecf_> this also lets the UA optimize a whole lot more
- # [22:20] <alecf_> rather than your comparator being called NlogN times, your sort key is just called n times
- # [22:21] <alecf_> (and drastically simplifies rules around UA caching of sort keys, if desired)
- # [22:21] <erlehmann> this is a pretty clever thing
- # [22:21] <jgraham> Yes, python does the same thing
- # [22:21] <alecf_> yes exactly
- # [22:21] <jgraham> Should have thought of it before
- # [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")
- # [22:22] <Hixie> this does rather get around the problem of what to do if your comparator is ill-behaved
- # [22:22] <Hixie> i like it
- # [22:22] * Quits: magistr (~magistr@109.111.174.36) (Remote host closed the connection)
- # [22:22] <gsnedders> Hixie: You could use the ES solution of not defining what happens then. :P
- # [22:22] <Hixie> then again, you could already do this by just hard-coding the key in the markup using <data>
- # [22:23] <Hixie> so maybe there's just no need to give a comparator?
- # [22:23] <gsnedders> (The only web-relied behaviour there is "it terminates", provided the comparitor always does)
- # [22:24] <erlehmann> it seems we are lacking a … halting state
- # [22:24] <alecf_> oh, and this lets you <td sortkey="1">one</td>
- # [22:24] <TabAtkins> erlehmann: Yes, using <time> and <data> wrappers aroudn the contents let you override the sorting key.
- # [22:24] <alecf_> oops, just saw Hixie 's comment about <data>
- # [22:25] <TabAtkins> Most of the time, good sort functions in languages let you override both the key func and the sort func.
- # [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
- # [22:25] <erlehmann> i advocate SQL in attributes instead of javascript
- # [22:25] * Joins: yodasw16 (~yodasw16@ql1fwhide.rockfin.com)
- # [22:25] <erlehmann> SELECT value FROM list WHERE value > 100 ORDER BY value ASC
- # [22:25] <Hixie> yes reversing will be built-in
- # [22:25] <TabAtkins> Often just overriding the key func is fine, but you do sometimes need a real comparator.
- # [22:26] <TabAtkins> Hixie: There are sorting algorithms that will handle badly-behaved comparators without infinite-looping, I think.
- # [22:26] <gsnedders> TabAtkins: There are. They are de-facto required for Array.prototype.sort.
- # [22:26] <Philip`> TabAtkins: Like bubble sort
- # [22:26] * Joins: mattgiff_ (~mattgiffo@70.102.199.158)
- # [22:26] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
- # [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
- # [22:26] <TabAtkins> gsnedders: Yeah, that's what I thought.
- # [22:26] <Hixie> and get any sort order you want
- # [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.
- # [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.
- # [22:27] <Hixie> TabAtkins: when can't you?
- # [22:27] <TabAtkins> gsnedders: Yeah, that's what I'd think. The behavior woudl be more or less arbitrary anyway.
- # [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;})
- # [22:27] * Hixie grumbles that he wants both a sort="" attribute and a sort() method on the same object
- # [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.
- # [22:28] * Joins: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com)
- # [22:28] <TabAtkins> gsnedders: Clever. ^_^
- # [22:28] * Quits: mattgifford (~mattgiffo@70.102.199.158) (Ping timeout: 250 seconds)
- # [22:28] <Hixie> TabAtkins: if it can be lexicographically sorted, you can just use it as the key
- # [22:28] * Joins: othermaciej (~mjs@17.244.28.93)
- # [22:29] <TabAtkins> Hixie: No, you can't necessarily. That depends on it being sortable using string rules.
- # [22:29] <Philip`> Hixie: You might want to sort first by a number, then tie-break by sorting on a string
- # [22:29] <TabAtkins> I mean like, tuples can be lexicographically sorted.
- # [22:29] <Hixie> TabAtkins: what do you mean by "lexicographically" then?
- # [22:29] <TabAtkins> What Philip` said.
- # [22:29] <alecf_> TabAtkins: you build that into your key
- # [22:29] <Philip`> so you can't just concatenate them
- # [22:29] <Hixie> Philip`: luckily, that's what the default algorithm will do
- # [22:29] <TabAtkins> Lexicographically means "sort per element, breaking ties by sorting the next element".
- # [22:29] <TabAtkins> It's defined by analogy to strings, thus the name.
- # [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
- # [22:30] <Hixie> Philip`: zero-padded for numbers
- # [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
- # [22:30] <alecf_> (i.e. stable-sorting comparators)
- # [22:30] <gsnedders> This is what I believe, given a stable-sorting comparator.
- # [22:30] * Joins: isherman-book (Adium@nat/google/x-vgijstodqxnptuvr)
- # [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.
- # [22:31] <gsnedders> (Proof is left as an exercise to the reader, etc.)
- # [22:31] <erlehmann> orderby RAND()
- # [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.
- # [22:31] <alecf_> sortkey="rand()" :)
- # [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
- # [22:32] <erlehmann> TabAtkins, “string encoding hacks” ?
- # [22:33] <Hixie> new straw man:
- # [22:33] <Hixie> <table sortable> // enables UI
- # [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)
- # [22:33] <Hixie> <table>.stopSort(); // removes all sort attributes
- # [22:33] <TabAtkins> alecf_: I'm not disagreeing. Like I said, I get plenty of use out of both keyfuncs and sortfuncs when sorting.
- # [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"
- # [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")
- # [22:33] <alecf_> note I said "just as many", I'm not trying to say which is better for expressiveness
- # [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.
- # [22:34] * Joins: tantek (~tantek@70-36-139-86.dsl.dynamic.sonic.net)
- # [22:34] * Quits: heath (quassel@2600:3c02::f03c:91ff:feae:6e5b) (Changing host)
- # [22:34] * Joins: heath (quassel@unaffiliated/ybit)
- # [22:34] <erlehmann> i am looking for declarative collation efforts right now
- # [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
- # [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
- # [22:35] <Hixie> Philip`: yeah fair enough, you'd need to reverse the sort key for negative numbers
- # [22:35] <Hixie> 1:100.0a 1:100.0b 0:899.5a
- # [22:35] <Hixie> or some such
- # [22:36] <Hixie> anyway, we can support a comparator if people want one
- # [22:36] <Hixie> i don't mind
- # [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)
- # [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
- # [22:36] * Joins: magistr (~magistr@109.111.174.36)
- # [22:36] <Hixie> TabAtkins: yeah
- # [22:37] <erlehmann> TabAtkins, fail link
- # [22:37] <gsnedders> SimonSapin: Indeed.
- # [22:37] <erlehmann> correct link is about:blank
- # [22:37] <TabAtkins> erlehmann: Not my fault.
- # [22:37] <erlehmann> err http://www.xanthir.com/blog/b4K70
- # [22:37] <Hixie> that's the URL he gave
- # [22:37] <erlehmann> TabAtkins, parenthesis unencoded in URL where it is not part of URL.
- # [22:37] <TabAtkins> irssi isn't interpreting it as a link, presumably because of the ) following it.
- # [22:38] <gsnedders> irssi doesn't handle links, your terminal does.
- # [22:38] <Hixie> TabAtkins: ah yes, i remember reading about this a few months ago
- # [22:38] <TabAtkins> Wait, never mind, it does work.
- # [22:38] <Hixie> the ) was unambiguously not part of the url since otherwise he'd have unbalanced parentheses :-P
- # [22:38] <erlehmann> TabAtkins, http://en.wikipedia.org/wiki/The_Walking_Dead_(TV_series) contains a closing parenthesis at the end
- # [22:39] <TabAtkins> erlehmann: Yes yes, you're right. Should have surrounded it in <>.
- # [22:39] <Hixie> ok new strawman:
- # [22:39] <Hixie> <table sortable> // enables UI
- # [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)
- # [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)
- # [22:39] <Hixie> <th>.comparator = function(a, b) { } // comparator for this column
- # [22:39] <Hixie> <table>.stopSort(); // removes all sort attributes
- # [22:39] <gsnedders> SimonSapin: It is often good enough as an approximation, however
- # [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"
- # [22:39] * Joins: sicking (~sicking@c-67-180-8-184.hsd1.ca.comcast.net)
- # [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
- # [22:39] <Hixie> erlehmann: my brain seems to manage it pretty well
- # [22:40] <SimonSapin> gsnedders: fair enough
- # [22:40] <Philip`> erlehmann: Write something that parses it both ways then checks whether one is a 404
- # [22:40] <erlehmann> Hixie, that is because your brain is not using regular expressions. you are probably an agent of ZALGO.
- # [22:40] <Hixie> my workflow isn't utf-8 safe enough for me to be an agent of zalgo
- # [22:41] <erlehmann> what i did was if the string started with (http ignore last parenthesis
- # [22:41] <erlehmann> so (http://example.org) is highlighted as http://example.org
- # [22:41] <erlehmann> otherwise, take them in. wikipedia articles are common enough to warrant this
- # [22:41] <Hixie> ok last chance to stop me wasting my time speccing something you're going to complain about later
- # [22:42] <TabAtkins> Hixie: You doing the keyfunc thing?
- # [22:42] <gsnedders> Hixie: What's the point of sortStop?
- # [22:42] <Hixie> TabAtkins: see new strawman above
- # [22:42] <erlehmann> is there no feasible way of declaratively specifying comparators?
- # [22:42] <TabAtkins> Hixie: Yes, I don't see it. I was wondering. ^_^
- # [22:42] <Hixie> gsnedders: it makes it so you can insert rows into the table again without it magically sorting the rows for you
- # [22:43] <Hixie> TabAtkins: no keyfunc, just <data value=""> if you want to do a key thingy
- # [22:43] <erlehmann> Hixie, why not just remove the attribute then?
- # [22:43] <TabAtkins> erlehmann: You can declaratively specify your key, but not your comparator.
- # [22:43] <gsnedders> Hixie: Does this warrant a function built-in for it?
- # [22:43] <Hixie> erlehmann: there might be dozens of it
- # [22:43] <TabAtkins> Hixie: Okay.
- # [22:43] <TabAtkins> Hixie: I'm happy enough with the strawman.
- # [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?
- # [22:44] <erlehmann> TabAtkins, declarative comparison speccing is impossible in a goedelian way?
- # [22:44] <Hixie> gsnedders: short of manually walking the tree or something
- # [22:44] <erlehmann> like, mathematically impossible short of enumerating every value?
- # [22:44] * Joins: Lachy (~Lachy@cm-84.215.19.229.getinternet.no)
- # [22:44] <gsnedders> Hixie: Oh, right, yes, nested tables do complicate that.
- # [22:44] <TabAtkins> erlehmann: No, not really. ^_^ Just more complex than is warranted for a feature like this.
- # [22:44] <Hixie> can you do table.querySelectorAll('table:scope > thead > tr > th[sort]').apply(function (node) { node.removeAttribute('sort') } ); or something?
- # [22:45] <erlehmann> TabAtkins, can you point me to some ways to do it?
- # [22:46] <Hixie> if you want a turing complete solution for the comparator syntax, isn't it by definition not declarative?
- # [22:46] <Hixie> i assume by "declarative" you mean "a turing machine can determine if it halts"
- # [22:46] <gsnedders> Hixie: Well, are we requiring it to be inthead?
- # [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.
- # [22:46] <Hixie> gsnedders: probably, though for the sake of argument you could replace that with :matches(thead, tbody)
- # [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.
- # [22:47] <Hixie> it's easy to guarantee that code will return in 30ms
- # [22:47] <Hixie> alarm(30ms)...
- # [22:47] <erlehmann> no more turing complete input languages! repent!
- # [22:47] <gsnedders> Hixie: Then yeah, that would work.
- # [22:47] <erlehmann> what is the behaviour, if autosort is on and the comparator does not halt?
- # [22:47] <Hixie> really? holy cow, if that really would work that's impressive
- # [22:48] <gsnedders> Hixie: Why wouldn't it?
- # [22:48] <TabAtkins> erlehmann: Same as infinite-looping in JS. That's exactly what it is, after all.
- # [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
- # [22:48] <Hixie> erlehmann: a dialog pops up saying "a script on this page isn't halting..."
- # [22:48] <gsnedders> Heh. :)
- # [22:48] <TabAtkins> Hixie: Oh, no, apply doesn't exist.
- # [22:48] <Hixie> boo
- # [22:49] <TabAtkins> You need to cast the nodelist into an array and then call map or forEach.
- # [22:49] <gsnedders> Hixie: I might have slightly misremembered, but basically the approach works.
- # [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.
- # [22:49] <TabAtkins> [].slice.call(table.querySelectorAll(...)).forEach(...);
- # [22:49] <Hixie> you can cast a NodeList into an Array?
- # [22:49] <Hixie> lordy
- # [22:49] <TabAtkins> Hixie: You can cast anything with a .length property into an array.
- # [22:49] <annevk> Hixie: FYI, Twitter liks the sortable tables stuff
- # [22:49] <Hixie> your definition of "cast" isn't quite the same as mine but fair enough
- # [22:49] <TabAtkins> What I wrote above is the standard idiom for such.
- # [22:49] <annevk> likes, even
- # [22:49] <Hixie> wasn't heycam working on making NodeLists Arrays?
- # [22:49] <gsnedders> TabAtkins: or use Array.prototype.apply.call(table.querySelectorAll(…), function(node){node.removeAttr…})
- # [22:50] <gsnedders> Given Array.prototype.apply is generic
- # [22:50] <TabAtkins> gsnedders: Too voodoo for me.
- # [22:50] <Hixie> annevk: the company, or random people watching us jibber jabber here?
- # [22:50] <Hixie> if the random people, hi random people
- # [22:50] <Hixie> come on down!
- # [22:50] <Hixie> join us
- # [22:50] <gsnedders> TabAtkins: It's what I tend to do. :)
- # [22:50] <annevk> Hixie: we're still working on making NodeList arrays, but web compat might be against us
- # [22:50] <Hixie> annevk: NodeList.asArray()?
- # [22:50] <TabAtkins> As soon as I see .[call|apply].[call|apply], I bail.
- # [22:50] <annevk> Hixie: random people retweeting my tweet of your sketch link
- # [22:50] <erlehmann> hey, annevk, can i use tilde in hashes as separator? you are the new URL god, right? :3
- # [22:50] <TabAtkins> Hixie: No, natively arrays.
- # [22:50] <Hixie> annevk: aah
- # [22:51] <annevk> Hixie: what TabAtkins said
- # [22:51] <annevk> erlehmann: I just write down what get its implemented
- # [22:51] <erlehmann> did you mean “aaaaaaaah” (implying implications)
- # [22:51] <Hixie> oh yeah, i assumed that was impossible
- # [22:51] <gsnedders> TabAtkins: Oh, I meant forEach.call, bah!
- # [22:51] <Hixie> but i mean can't we add a .asArray() method?
- # [22:51] <Hixie> that'd be sufficient
- # [22:51] <erlehmann> annevk, oh okay. then i need to defeat the implementors … by becoming one of them!
- # [22:52] <annevk> Hixie: that sounds doable, not sure if that's nice enough
- # [22:52] <annevk> erlehmann: but why not ";"?
- # [22:52] <TabAtkins> gsnedders: Oh, haha, yeah, that'd work.
- # [22:52] <Hixie> so table.querySelectorAll('table:scope > thead > tr > th[sort]').asArray().forEach(function (node) { node.removeAttribute('sort') } );
- # [22:52] <Hixie> annevk: well it's better than the pseudo-casting you have to do now to get forEach
- # [22:52] <TabAtkins> Hixie: In our ideal world, remove the .asArray() call.
- # [22:52] <annevk> Hixie: yeah fair enough
- # [22:52] <Hixie> TabAtkins: yeah, but if that's impossible for web compat...
- # [22:52] <annevk> Hixie: I'll try to make a note of that somewhere
- # [22:53] <Hixie> what's the difference between .forEach() and .apply()?
- # [22:53] <TabAtkins> Hixie: apply() is a method on Function that calls the function, taking an array and expanding it into the individual arguments.
- # [22:53] <TabAtkins> .forEach is a method on Array that calls a function on each element of the array.
- # [22:53] <othermaciej> forEach() is like map() that doesn’t collect the results
- # [22:54] <TabAtkins> They are completely different. .apply() is just a variant of .call().
- # [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
- # [22:54] <gsnedders> .apply just calls [[Call]]
- # [22:54] <gsnedders> foo.apply(undefined, [a,b,c]) == foo(a,b,c)
- # [22:54] <erlehmann> tilde in fragment is used virtually never
- # [22:54] <gsnedders> (assuming Function.prototype.apply and undefined have their initial values, etc.)
- # [22:55] <Hixie> wait so Array.prototype.apply.call(table.querySelectorAll(…), function(node){node.removeAttr…}) doesn't work
- # [22:55] <TabAtkins> Hixie: Array.prototype doesn't have an apply method.
- # [22:55] <annevk> erlehmann: hmm, I don't really buy the compat argument
- # [22:55] <TabAtkins> I don't know what language you got that naming pattern from.
- # [22:55] <Hixie> gsnedders stop confusing me man
- # [22:55] <gsnedders> Hixie: s/apply/forEach/
- # [22:55] <Hixie> :-P
- # [22:55] <annevk> erlehmann: you could just check if the value is an ID somewhere first, and then split on ";" if it's not
- # [22:55] <gsnedders> Hixie: I made that correction forever.
- # [22:55] <gsnedders> *forever ago
- # [22:55] <gsnedders> Hixie: Keep up, man!
- # [22:55] <annevk> erlehmann: but anyway, don't really care
- # [22:56] <annevk> erlehmann: http://url.spec.whatwg.org/#writing has rules on fragment code points
- # [22:56] <erlehmann> annevk, that is what i could do if there is no suitable character.
- # [22:57] <erlehmann> annevk, i could also only split on delim if there is an equals character following which almost guarantees web compat
- # [22:57] * Quits: hasather_ (~hasather_@cm-84.208.105.178.getinternet.no) (Remote host closed the connection)
- # [22:57] * Parts: astearns (~astearns@192.150.22.5)
- # [22:57] <annevk> erlehmann: I'd try to keep the algorithm extremely simple
- # [22:57] * Joins: astearns (~astearns@192.150.22.5)
- # [22:57] <annevk> erlehmann: I doubt implementors like fiddling around with fragment identifier code
- # [22:59] <erlehmann> annevk, then I will have to learn to to play the fiddle myself
- # [23:00] <erlehmann> annevk, in the end, not having to look for an element on the page could make processing simpler.
- # [23:00] * Quits: ap (~ap@17.114.111.158) (Remote host closed the connection)
- # [23:01] * Quits: isherman-book (Adium@nat/google/x-vgijstodqxnptuvr) (Quit: Leaving.)
- # [23:01] * Joins: ap (~ap@2620:149:4:1b01:35fe:2b6:3152:f2c2)
- # [23:04] <annevk> well remember that 1) it's just a hashmap lookup and 2) that's the 99% scenario
- # [23:05] <annevk> media fragments are the 1%, if that
- # [23:14] <erlehmann> I AM THE 1%
- # [23:14] <erlehmann> I AM BATMAN
- # [23:14] * Quits: svl (~me@p57AB7795.dip.t-dialin.net) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
- # [23:15] <erlehmann> oh noes, dan cederholm is batman http://cssquirrel.com/comic/?comic=35
- # [23:17] * Quits: Maurice` (copyman@5ED573FA.cm-7-6b.dynamic.ziggo.nl)
- # [23:18] * Quits: yodasw16 (~yodasw16@ql1fwhide.rockfin.com) (Quit: yodasw16)
- # [23:18] * Quits: MacTed (~Thud@63.119.36.36)
- # [23:22] * Joins: tomasf_ (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se)
- # [23:26] * Quits: tomasf (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Ping timeout: 264 seconds)
- # [23:26] * Joins: tomasf (~tom@2002:55e5:db44:0:19f3:cf55:9ea9:eadc)
- # [23:26] * Quits: tomasf_ (~tom@c-44dbe555.024-204-6c6b7012.cust.bredbandsbolaget.se) (Ping timeout: 244 seconds)
- # [23:30] <Hixie> suppose there are three columns A, B, and C
- # [23:31] <Hixie> suppose the user sorts by C, then B, then A
- # [23:31] * Joins: jonlee (~jonlee@2620:149:4:1b01:7449:83d3:77c7:d0f1)
- # [23:31] <Hixie> so they have sort="", sort="2", and sort="3" respectively (A, B, C)
- # [23:31] <Hixie> now the user clicks B again
- # [23:31] <Hixie> should they have sort="2", sort="", sort="4", or should they have sort="2", sort="", sort="3"?
- # [23:32] <Hixie> (pretend all those sort=""s are sort="1" if you prefer that, that's not the point of this)
- # [23:32] <erlehmann> o.0
- # [23:34] * Joins: JonathanNeal (~anonymous@38.122.109.194)
- # [23:34] <JonathanNeal> hi
- # [23:34] <Hixie> also, should sort="2 reverse" and sort="reverse 2" both be supported, or should the level always come first/second?
- # [23:34] <erlehmann> i want <table sortable autosort="lastname firstname age"> with id values on th
- # [23:35] <erlehmann> can i have it? :3
- # [23:35] <TabAtkins> Hixie: Either ordering should be allowed.
- # [23:35] <erlehmann> hixie why overload the attribute for two things unrelated to each other?
- # [23:35] <TabAtkins> Hixie: For your previous question, preferably 2/1/3.
- # [23:36] <Hixie> TabAtkins: ta
- # [23:36] <JonathanNeal> either sounds easier
- # [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
- # [23:36] <erlehmann> hixie, those are two distinct properties.
- # [23:37] <annevk> yeah, 2/1/3, possibly with B reversed?
- # [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
- # [23:37] <erlehmann> remember reverse ordered lists?
- # [23:37] <Hixie> erlehmann: how would you do it? (style="" has many properties...)
- # [23:38] <Hixie> reverse ordered lists?
- # [23:38] <erlehmann> http://blog.whatwg.org/reverse-ordered-lists
- # [23:38] <erlehmann> there is a single reserve attribute mentioned
- # [23:38] <erlehmann> reverse
- # [23:38] <erlehmann> sorry
- # [23:38] <Hixie> yes?
- # [23:38] <Hixie> how is this related
- # [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
- # [23:39] * Quits: zdobersek (~zdobersek@cpe-77.38.31.63.cable.t-1.si) (Quit: ZNC - http://znc.in)
- # [23:39] <annevk> Hixie: (I changed DOMTokenList from being string-based to being an ordered set)
- # [23:39] <Hixie> annevk: k
- # [23:39] <Hixie> annevk: not sure which is the simplest internal format here
- # [23:40] <Hixie> annevk: not sure how that would affect this, either
- # [23:40] * Joins: dgorbik (~dgorbik@17.202.47.157)
- # [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> …
- # [23:40] <Hixie> annevk: i mean, the format seems orthogonal
- # [23:40] <erlehmann> (orderby = autosort, here only mentioned because of SQL)
- # [23:40] <annevk> Hixie: column ref + boolean indicating order, but yeah, doesn't matter much
- # [23:40] <Hixie> erlehmann: yikes
- # [23:40] <Hixie> erlehmann: i don't want the information split that far apart
- # [23:41] <erlehmann> hixie, it would be easier for authors.
- # [23:41] <Hixie> that i'm not at _all_ convinced of
- # [23:41] <erlehmann> currently, to find the sort order you have to look in several places
- # [23:41] <Hixie> requiring id=""s everywhere is horrible for authors imho
- # [23:41] * Quits: SimonSapin (~simon@ip-166.net-89-2-153.rev.numericable.fr) (Ping timeout: 245 seconds)
- # [23:41] <JonathanNeal> agreed
- # [23:41] <Hixie> if you want to _find_ the sort order, we can expose a method that does that
- # [23:41] <JonathanNeal> i avoid ids at all costs.
- # [23:41] <annevk> JonathanNeal: btw, most open license is CC0
- # [23:41] <Hixie> i'm more worried about setting the sort order
- # [23:41] <erlehmann> but having the sort order in one attribute for the table would be much more readable
- # [23:41] <erlehmann> and author-able
- # [23:41] <Hixie> which seems far more likely
- # [23:42] <Hixie> i disagree about authorable
- # [23:42] <Hixie> readable maybe
- # [23:42] <Hixie> though even then...
- # [23:42] <JonathanNeal> annevk: interesting, why do they bring up moral rights?
- # [23:43] <annevk> JonathanNeal: dunno
- # [23:43] <erlehmann> set sort order by a string!
- # [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.
- # [23:43] <annevk> JonathanNeal: most of spec.whatwg.org is using that
- # [23:43] <erlehmann> table.orderby = 'rank lastname firstname'
- # [23:43] <erlehmann> :3
- # [23:43] <erlehmann> this would be so cool
- # [23:43] <JonathanNeal> what would be the primary difference between MIT and CC0?
- # [23:43] <annevk> JonathanNeal: CC0 requires nothing of the people using your code
- # [23:44] <erlehmann> hixie, interacting with sort=1, sort=2, etc. would also require more code :/
- # [23:45] * Quits: miketaylr (~miketaylr@cpe-70-112-101-224.austin.res.rr.com) (Quit: Leaving...)
- # [23:45] <annevk> erlehmann: depends on the API
- # [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)"
- # [23:45] <erlehmann> annevk, table.orderby = [string of th ids delimited by spaces] is very easy API.
- # [23:45] <annevk> Hixie: dunno about what's best here, I guess I'd look at what the libraries have done
- # [23:45] <annevk> erlehmann: nah
- # [23:45] <annevk> erlehmann: IDs suck
- # [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
- # [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
- # [23:46] <erlehmann> <table sortable autosort orderby="rank lastname firstname"> <tr> <th id=rank> … vs. <table sortable autosort> <th><tr sort=1> …
- # [23:47] <erlehmann> the latter is opaque
- # [23:47] <Hixie> erlehmann: no "autosort" in the latter
- # [23:47] <Hixie> just <table sortable><tr><th sort>
- # [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?
- # [23:47] <Hixie> and the sortable="" is only needed if you want the UI
- # [23:47] <erlehmann> hixie, if autosort is implied if a sort order is given one could also remove it from the former
- # [23:47] * heycam is now known as heycam|away
- # [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. ^_^
- # [23:47] <Hixie> right
- # [23:47] <erlehmann> <table orderby="rank name file">
- # [23:47] <annevk> JonathanNeal: it means they don't have to copy your license terms
- # [23:48] <erlehmann> hixie, what benefits does your current approach give from a DOM manip perspective?
- # [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>
- # [23:48] <Hixie> but question, what happens in your case if the user clicks the fourth column?
- # [23:49] <Hixie> (note that in the markup i just posted, yours won't work because i typed an ID, oops)
- # [23:49] <Hixie> typoed
- # [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.
- # [23:49] <TabAtkins> It has nothing to do with morality.
- # [23:50] <annevk> JonathanNeal: dunno man, stuff has been checked by the lawyers
- # [23:50] <TabAtkins> It's more like, exploiting someone's work without paying them is morally wrong. Legally recognizing that means granting moral rights.
- # [23:50] <annevk> JonathanNeal: maybe http://creativecommons.org/about/cc0 helps?
- # [23:50] <erlehmann> hixie the active columns is implicitly the most important column for sorting
- # [23:50] <TabAtkins> American copyright has no moral rights, for example. It's an economic concept only.
- # [23:50] <JonathanNeal> I understand, I had never thought to disassociate the phrase "moral rights" with morality.
- # [23:51] * Joins: smaug____ (~chatzilla@cs181151161.pp.htv.fi)
- # [23:51] <Hixie> erlehmann: i mean, what's the value of orderby=""
- # [23:51] <Hixie> erlehmann: after the user clicks the fourth column
- # [23:51] * Quits: jonlee (~jonlee@2620:149:4:1b01:7449:83d3:77c7:d0f1) (Quit: jonlee)
- # [23:51] <JonathanNeal> TabAtkins: got it. Thanks for explaining that to me.
- # [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.
- # [23:52] <erlehmann> hixie, i see what you did there.
- # [23:52] <annevk> JonathanNeal: teehee :)
- # [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.
- # [23:53] <erlehmann> that would be rad
- # [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"
- # [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.
- # [23:54] * Quits: cabanier (~cabanier@192.150.22.55) (Quit: Leaving.)
- # [23:54] <erlehmann> JonathanNeal CC is always more broad because CC lawyers work on internationalization
- # [23:54] <Hixie> ok, next question: should the UA use sort=""/sort="reverse" for the primary key, or sort="1"/sort="1 reverse" ?
- # [23:55] <Hixie> (all are supported, for authors)
- # [23:55] <erlehmann> list form.
- # [23:55] <Hixie> (just talking about what the browser ses)
- # [23:55] <erlehmann> last form
- # [23:55] <Hixie> sets
- # [23:55] <TabAtkins> The former.
- # [23:55] <erlehmann> haha, a typo that actually makes sense
- # [23:55] <Hixie> anyone want to tie-break this one?
- # [23:56] <erlehmann> wait
- # [23:56] <erlehmann> i retract and read the statement again
- # [23:56] <erlehmann> i am sleepy
- # [23:56] <Hixie> lol
- # [23:56] <erlehmann> <th sort=1 reverse>
- # [23:56] <erlehmann> i would like that
- # [23:56] <erlehmann> or, no
- # [23:56] <erlehmann> i think i did not understand the question
- # [23:56] <erlehmann> sorry :(
- # [23:57] <erlehmann> is the question if the the primary key does implicitly have a number even if it is just <th sort> ?
- # [23:57] <erlehmann> <th sort reverse> would be shorter than <th sort=1 reverse>
- # [23:57] <erlehmann> but explicit is better than implicit
- # [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.
- # [23:58] <erlehmann> is there precedence of magic values appearing when setting the attribute through UA?
- # [23:58] * Quits: danzik17 (~danzik17@ool-45787007.dyn.optonline.net) (Ping timeout: 252 seconds)
- # [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
- # [23:59] <erlehmann> i am going with TabAtkins (if TabAtkins is for sort="")
- # Session Close: Fri Dec 21 00:00:00 2012
The end :)