00:48
<TabAtkins>
Hixie: Ooh, good idea.
00:48
<TabAtkins>
jgraham: Note that the naming bikeshed is in a different thread from where the adults are talking.
03:23
<oojacoboo>
hey, can I prefix anything to -moz for style corrections
03:27
<oojacoboo>
or do I have go with something like... @-moz-document url-prefix() {
03:27
<oojacoboo>
I don't understand why UAs can't just allow prefixing to override
04:25
<erlehmann>
CTHULHU WHATWGN
04:32
<MikeSmith>
the spec has "supports external timed track character encoding overrides" as a <dfn> but the surrounding text does not really explain what an "external timed track character encoding override" actually is
04:32
<MikeSmith>
except implicitly I guess
04:32
<MikeSmith>
or the definition is circular
04:33
<MikeSmith>
that is, meaning something like "an external timed track character encoding override is given by the value of a charset attribute which specifies an external timed track character encoding override"
04:35
<MikeSmith>
not clear how it amounts to being an "override" instead of simply being the means to specify the character encoding of the track
04:35
<MikeSmith>
what is it overriding…
04:37
<MikeSmith>
overriding whatever encoding might be given in the Content-Type header?
04:38
<MikeSmith>
or actually, the full language is "If the elements's track URL identifies a resource that supports external timed track character encoding overrides, then the charset attribute may be specified."
04:39
<MikeSmith>
so even more not clear what it means for a resource to "support external timed track character encoding overrides"
05:43
<hsivonen>
ooh. a Decision by the Chairs
05:49
<Hixie>
several today so far actually
05:51
<hsivonen>
several as in two?
05:52
<Hixie>
two decisions, four issues
05:53
<hsivonen>
I see
05:53
<Hixie>
or depending on how you count it, five decisions, four issues :_)
05:58
<MikeSmith>
and add to that the number of issues that were closed without prejudice at the beginning of the week
05:59
<MikeSmith>
though one of those was subsequently reopened
06:01
<MikeSmith>
Hixie: how come your issues graph stops in mid-November?
06:01
<MikeSmith>
http://damowmow.com/playground/htmlwg/chart.html
06:01
<Hixie>
MikeSmith: it doesn't?
06:01
<Hixie>
MikeSmith: what browser?
06:06
<MikeSmith>
take your pick
06:06
<MikeSmith>
every browser I tried it in
06:06
<Hixie>
ends in mid-dec for me on chrome trunk
06:06
<MikeSmith>
hmm
06:06
<MikeSmith>
maybe cached
06:06
<Hixie>
not trunk actually, chrome stable
06:07
<Hixie>
whatever they call it
06:07
<Hixie>
let me test other browsers
06:10
<MikeSmith>
it doesn't even show a "Dec" in the scale when I view it
06:10
<MikeSmith>
for 2010
06:12
<Hixie>
click "raw data"
06:12
<Hixie>
what's the last row you get?
06:13
<Hixie>
i can't find any browsers that don't show dec
06:13
<othermaciej>
I see a Dec label on the scale
06:13
<othermaciej>
though I believe the data it's showing is out of date
06:14
<othermaciej>
(by like a day or two)
06:15
<MikeSmith>
wtf
06:15
<MikeSmith>
crazy
06:15
<erlehmann>
Gecko/20101028 does not show a Dec label
06:15
<Hixie>
othermaciej: the data is only updated every 24 hours or so
06:16
<Hixie>
erlehmann: 20101210 does for me
06:17
<MikeSmith>
Last-Modified:Wed, 01 Dec 2010 01:27:06 GMT
06:18
<MikeSmith>
with cache disabled
06:18
<Hixie>
url?
06:18
<Hixie>
http://damowmow.com/playground/htmlwg/issues.csv ?
06:18
<MikeSmith>
http://damowmow.com/playground/htmlwg/chart.html
06:18
<MikeSmith>
the csv is up to date, though
06:19
<MikeSmith>
Last-Modified:Tue, 14 Dec 2010 08:13:26 GMT
06:19
<Hixie>
if the csv is up to date i don't know what to tell you
06:19
<Hixie>
there could be some weird locale-specific bug in my js maybe?
06:19
<Hixie>
or timezone-specific?
06:19
<MikeSmith>
must be something like that
06:20
<MikeSmith>
dunno what else it could possibly be
06:20
<erlehmann>
my locale is de_de.UTF-8 or something like that
06:23
<MikeSmith>
hsivonen: I have a couple simple parser patches for you
06:23
<MikeSmith>
to support the track element
06:25
<MikeSmith>
https://bitbucket.org/sideshowbarker/htmlparser/changeset/fbe6f9f0e8be/raw/htmlparser-fbe6f9f0e8be.diff
06:25
<MikeSmith>
for the tree builder
06:25
<Hixie>
well if anyone who can reproduce this chart issue can debug it and tell me what the problem is i'll happily fix it
06:25
<Hixie>
but since i can't repro it...
06:26
<MikeSmith>
and https://bitbucket.org/sideshowbarker/htmlparser/changeset/fbe6f9f0e8be/raw/htmlparser-fbe6f9f0e8be.diff
06:26
<MikeSmith>
for the SAX serializer
06:39
<hsivonen>
MikeSmith: thanks. I need to figure out a landing schedule that keeps Firefox in sync with the Java version
06:40
<MikeSmith>
ok
07:16
<MikeSmith>
hsivonen: btw, I managed to get your GWT/Live Dom Viewer parser shell thing running in my environment
07:16
<MikeSmith>
that thing's pretty nice
07:18
<hsivonen>
MikeSmith: did you get the GWT linkier working in the current GWT?
07:18
<hsivonen>
*linker
07:18
<MikeSmith>
yeah
07:18
<MikeSmith>
2.1 or 2.01 or whatever the current is
07:18
<MikeSmith>
on OSX
07:19
<hsivonen>
cool. what did you need to change?
07:19
<MikeSmith>
I removed -XstartOnFirstThread or whatever it's named
07:19
<MikeSmith>
& changed the name of the dev jar file
07:19
<hsivonen>
no changes to linker settings in any config files?
07:20
<MikeSmith>
hang on I'll pastebin a diff
07:21
<MikeSmith>
btw, I couldn't get it to run correctly from within Eclipse
07:21
<MikeSmith>
Tomcat can't seem to find the *nocache.js file
07:24
<MikeSmith>
hsivonen: https://gist.github.com/741736
07:27
<hsivonen>
MikeSmith: I am surprised that you didn't need to change anything else
07:28
<MikeSmith>
yeah, me too
07:28
<MikeSmith>
but it worked… used it to test the track-element changes in my workspace
07:29
<MikeSmith>
hsivonen: oh hey, there's no way to have it emit messages for parse errors?
07:30
<MikeSmith>
to the console maybe?
07:30
<hsivonen>
MikeSmith: not implemented...
07:30
<MikeSmith>
ok
10:24
<Lachy>
yay, the versioning issue is finally resolved :-)
11:30
<zcorpan>
Hixie: i also get mid-nov in the chart
11:30
<zcorpan>
left-most label is Oct
11:38
<zcorpan>
Hixie: i think it's this line that makes the date go from Nov 02 to Oct 31: x_0_date.setDate(0);
11:39
<zcorpan>
commenting out that line fixes the labels
11:40
<zcorpan>
"The setDate() method sets the day of the month (from 1 to 31), according to local time."
11:41
<annevk>
hmm, if you have eight different HTML classes of which any combination can be applied to elements; how do you do some kind of unique styling without listing all permutations?
11:41
<annevk>
that is not really possible, is it?
11:42
<zcorpan>
Hixie: "Required. An integer between 1 and 31 representing the day of a month" - changing the argument to 1 also fixes the labels, at least for me
11:43
<annevk>
I want something like if a is applied show an icon for a, if b is applied show an icon for b, if both are applied show an icon for both
11:44
<Philip`>
annevk: Map one class onto bold, one onto italic, one underline, map three onto 8 colours, and map two onto 4 font sizes?
11:46
<annevk>
:)
12:15
<MikeSmith>
is it incorrect to say "the Console Interface"?
12:15
<MikeSmith>
should it just be "Console object"?
12:16
<zcorpan>
MikeSmith: depends on what you mean :)
12:16
<MikeSmith>
I mean if I'm producing a spec for it
12:17
<zcorpan>
if you're defining the interface, say interface
12:18
<MikeSmith>
OK
12:44
<annevk>
MikeSmith, is the @html5 account meant to repeat me when I tweet about HTML5?
12:44
<MikeSmith>
yeah
12:44
<annevk>
k
12:45
<MikeSmith>
if you don't want it to, let me know
12:45
<MikeSmith>
it picks up whatever Planet HTML5 does
12:45
<annevk>
it's ok, was just wondering
12:46
<MikeSmith>
OK
12:46
<MikeSmith>
I set up Planet HTML5 recently to aggregate tweets from a few people
14:46
<zcorpan>
oh, so now it's "*Big* triage sub-team"?
14:46
zcorpan
updates his filters
16:59
<TabAtkins>
annevk: You need each class to apply styling from a different rule.
16:59
<TabAtkins>
But no, you can't do the multiple-icons thing without multiple ::before or something.
17:00
<TabAtkins>
(So .a could set ::before(1), .b could set ::before(2), etc.)
17:03
<annevk>
generating markup instead
17:03
<annevk>
at the moment
17:03
<TabAtkins>
Yeah, that works.
17:03
<annevk>
but it fugly :)
17:04
<TabAtkins>
Just put a bunch of <span class=for-a></span><span class=for-b></span> etc at the beginning of each element that needs it.
17:04
<annevk>
o_O
17:05
<TabAtkins>
Then set width/height/background on the appropriate one based on class.
17:05
<TabAtkins>
This emulates the ::before-based approach I talked about by junking up the DOM.
17:06
<annevk>
hmm, I think I reduced my dataset to 69
17:06
<annevk>
getting somewhere
17:08
<TabAtkins>
This is the encoding stuff?
17:10
<annevk>
yes
17:11
<annevk>
making the results somewhat readable takes a bit more time than expected
17:11
<annevk>
and Donkey Kong is quite the distraction
17:11
<annevk>
which reminds me...
17:12
<TabAtkins>
Hehe.
17:13
TabAtkins
loves the component model discussion, because he gets to throw around terms like "light node", "shadow node", and "twilight node". ^_^
17:13
<bga_>
web2.0
17:14
<bga_>
portscaners based on `new Image`, ddos bases on `new Image`, distribated calculations based on webworkers
17:15
<bga_>
so easy to ddos concurent site.
17:16
<bga_>
var i = 1000; while(i--) Image(urlForDDos + 'rand=' + Math.random());
17:16
<bga_>
* var i = 1000; while(i--) Image().src = urlForDDos + 'rand=' + Math.random();
17:18
<TabAtkins>
Yeah, there you go.
17:19
<AryehGregor>
This is different from what you could do in HTML 2 how?
17:19
<TabAtkins>
It's not.
17:19
<jgraham>
TabAtkins: Twilight Node? That sounds like a party for people like gsnedders
17:20
<TabAtkins>
Heh.
17:20
<AryehGregor>
for i in seq(1000): print '<img src="' + urlForDdos + 'rand=' + i + '">'
17:20
<bga_>
UA should suppress it
17:21
<AryehGregor>
How so?
17:21
<JusticeFries>
has anybody had any issues where the video src for an m4v will load in safari only some of the time? tailing my nginx logs reveal that some safari clients are requesting it using quicktime, and others are requesting it using coremedia.
17:21
<JusticeFries>
is there a way to "force" coremedia?
17:21
<TabAtkins>
So, shadow node is obvious - it's a node in some element's shadow tree. Light node is a normal DOM node, in contrast to a shadow node. Twilight node is a light node when you're talking about it as a descendant of the shadow tree int he final flattened tree.
17:21
<bga_>
i do not know
17:22
<TabAtkins>
bga_: There is absolutely no way to automatically tell a ddos like you outline and a perfectly legitimate act of precaching. What Aryeh outlines is even more innocuous.
17:22
<TabAtkins>
I've constructed pages with a thousand images on them before.
17:22
<bga_>
may be more hard limit of connections
17:22
<AryehGregor>
Browsers do impose a connection limit.
17:22
<TabAtkins>
Browsers already limit connections.
17:23
<bga_>
yes
17:23
<TabAtkins>
That's why ddos has two Ds. You need the "distributed" part to get enough connections.
17:49
<Aleoss>
http://validator.w3.org/check?uri=https%3A%2F%2Fwww.sexylikeapornstar.com%2F%3Fp%3Dcontact%26v%3Don&charset=%28detect+automatically%29&doctype=Inline&ss=1&outline=1&group=0&No200=1&verbose=1&user-agent=W3C_Validator%2F1.1
17:49
<Aleoss>
I'm guessing the W3 Validator needs to be updated?
17:51
<Aleoss>
Just updated the code again. 13 errors.
18:11
<TabAtkins>
Aleoss: Why are you putting aria on your form inputs? Everything I see is completely redundant and unnecessary.
18:12
<Aleoss>
TabAtkins: http://www.whatwg.org/specs/web-apps/current-work/#annotations-for-assistive-technology-products-%28aria%29
18:12
<Aleoss>
TabAtkins: It is a requirement with the role attribute.
18:12
<TabAtkins>
Let me rephrase that. Why are you putting roles on your form inputs? Everything I see is completely redundant and unnecessary.
18:13
<Aleoss>
TabAtkins: Accessibility. Should things not have a role?
18:13
<Aleoss>
TabAtkins: My page validates perfectly fine on TotalValidator but not on W3 Validator.
18:13
<TabAtkins>
No, they already have the appropriate meaning, by virtue of their tag names. You use ARIA when you're making things that should act like those roles, but aren't normally.
18:14
<TabAtkins>
<option> is natively an option, so you don't need to repeat it. <select> is natively a listbox, so you don't need to list it. unselected <option>s are natively unselected, etc.
18:15
<TabAtkins>
Note that the ARIA table in the spec lists the roles *that are present automatically by default*.
18:15
<TabAtkins>
Below that there is a list of the handful of elements that you're allowed to put @role on.
18:16
<TabAtkins>
And what roles are allowed.
18:16
<TabAtkins>
I suspect you were probably reading the first table as listing aria roles that you should add to your HTML. It's the opposite - it lists what the ARIA roles are by default, so you don't need to list them. ^_^
18:17
<Aleoss>
TabAtkins: Ah. Ya. Didn't read that part up top.
18:18
<bga_>
oh i know. UA should parses every HTTP response and if UA find special header Access-Ban: %time in GMT format when ban will ends% it should prevent any requests to target host
18:19
<Aleoss>
bga_: The server would still be sending that out. May as well just send them to a 401 Forbidden
18:21
<TabAtkins>
bga_: That relies on UAs being nice. It doesn't stop programs from ddos'ing, and it probably won't stop things like Flash.
18:21
<TabAtkins>
It also sounds like an easy way to accidentally kill your site.
18:22
<Aleoss>
bga_: As TabAtkins stated. Don't trust the client. Clients can modify packets, have custom browsers, etc. The ONLY thing for certain about what the user gives you is the requesting IP address and the URL being requested.
18:22
<TabAtkins>
Aleoss: That said, you *should* be able to set @role and such the way you're doing, because you're matching the spec. It's just not necessary, so I recommend not doing it.
18:23
<Aleoss>
bga_: I say requesting IP address as it may not be the client itself requesting the content, they could be using an anonymous proxy server.
18:24
<bga_>
Aleoss yes but i`m speaking about major UAs
18:24
<Aleoss>
bga_: Then you're facing severe security breaches.
18:24
<bga_>
yes i can ddos any site using curl
18:25
<Aleoss>
bga_: And banning is pointless, people can change their IP so easily. The only *effective* banning method is have user accounts on your site and have it 1 account per e-mail (or per cellphone--like CraigsList) and ban the account.
18:26
<Aleoss>
bga_: Banning is just a deterrent that can always be evaded.
18:26
<Aleoss>
BRB
18:27
<TabAtkins>
Aleoss: You're not understanding bga_'s proposal, actually. He's trying to avoid the "I can open up connections forever" problem by having a value that lets the page indicate "Hey, browser, stop opening connections to me until [time]."
18:27
<bga_>
yes
18:27
<AryehGregor>
TabAtkins, why should you be allowed to specify the default role on elements? That seems like it will just confuse authors and encourage cargo-cult copy-paste.
18:28
<TabAtkins>
AryehGregor: Because the spec says you can.
18:28
<AryehGregor>
I asked why you *should* be allowed to, not why you *are* allowed to.
18:28
<TabAtkins>
Oh. I have no particular reason.
18:28
<TabAtkins>
I'm just saying that the validator should be allowing it.
18:28
<jgraham>
Oh, microsoft have submitted a WebSockets draft
18:28
<TabAtkins>
That probably wasn't clear from my wording.
18:29
<jgraham>
And it seems toi be based on the thing that everyone thought was insecure
18:29
<TabAtkins>
yay
18:29
<jgraham>
But maybe I am missing something
18:29
<jgraham>
So, Google have two drafts (abarth works for Google, right?), Microsoft have one and there are a few others floating around
18:30
<TabAtkins>
Yes, abarth is ours.
18:30
<jgraham>
Maybe Opera should submit one just for giggles
18:30
<TabAtkins>
Do it in Norwegian.
18:30
<TabAtkins>
Rather, do the handshake in Norwegian.
18:30
<TabAtkins>
No router understands that.
18:31
<AryehGregor>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11557
18:31
<jgraham>
TabAtkins: Well I certainly don't
18:36
<abarth>
the hybi list has too much traffic
18:36
<abarth>
i can't keep up with it :(
18:37
<Philip`>
Is that traffic making any progress?
18:37
<abarth>
i'm not sure folks are presenting any new information
18:39
<dglazkov>
TabAtkins: thanks for keeping the XBL2 discussion going.
18:39
<dglazkov>
are you going to respond on mem requirements?
18:41
<TabAtkins>
Yes, responding now. You probably want to follow up after me, since you know the technical details much better. Give me a another minute or two.
18:41
<dglazkov>
don't want to break your rhythm :)
18:46
<TabAtkins>
k, feel free.
19:21
<hsivonen>
what problem does the Microsoft hand shake solve compared to CONNECT plus xor?
19:21
hsivonen
was too lazy to read the draft
19:24
<MikeSmith>
Aleoss: the ARIA checking in the validator is not up to date with the spec
19:24
<MikeSmith>
there are a number of open issues related to it
19:25
<MikeSmith>
it's not a terrifically high priority
19:55
<Hixie>
i applied zcorpan's fix to the htmlwg chart
19:57
<jgraham>
abarth: Yeah, I feel the same way (too much volume, not obvious what the signal is)
19:59
<jgraham>
hsivonen: They said it was "based on" one Greg presented. If that is the one I recall it seemed to require an extra round trip and not offer much more security (nothing provable, at least)
19:59
<jgraham>
But that could well be an unfair assessment
20:00
<annevk>
agreed about signal/noise on hybi
20:00
<annevk>
pretty close to just removing myself from the list
20:02
<karlcow>
http://news.cnet.com/8301-30685_3-20025721-264.html
20:02
<karlcow>
"Microsoft gives Firefox an H.264 video boost"
20:04
<annevk>
also known as evil?
20:04
<karlcow>
Does that mean people using firefox on linux will not have access to it?
20:04
<TabAtkins>
Yes.
20:04
<karlcow>
annevk: yes quite strange as a strategy
20:30
<Hixie>
wow
20:30
<Hixie>
my computer is in a weird state
20:30
<Hixie>
i have an open tcp connection (this one), but no ip address
20:31
<AryehGregor>
That seems impossible.
20:31
<Hixie>
agreed
20:32
<AryehGregor>
Okay, well, now it really seems impossible.
20:32
<Philip`>
What says you have no IP address?
20:32
<AryehGregor>
I could buy that I'd see your messages until the connection timed out, but not that you could see mine.
20:32
<Hixie>
oooh, i wonder if this is an ipv6 connection
20:32
<Hixie>
i do have an ipv6 address
20:32
<AryehGregor>
Clearly you have an IP address, or else how could you be receiving anything?
20:32
<Hixie>
just not ipv4
20:32
<AryehGregor>
Well, whois yourself and get your hostmaks.
20:32
<AryehGregor>
hostmask.
20:32
<AryehGregor>
Oh, wait.
20:32
<Hixie>
this is an ssh connection
20:32
<AryehGregor>
That's your server, I guess.
20:32
<AryehGregor>
So log into the server and snoop on incoming connections.
20:33
<Hixie>
lsof confirms, this isan ipv6 connection
20:33
<Hixie>
that's pretty funny
20:34
<Hixie>
i have an ipv6 native pipe from mountain view, califormia to trondheim, norway, but i can't get to LA.
20:34
<Hixie>
ok there we go
20:34
<Hixie>
i wish i understood why sometimes my mac's firewall decides to even block inbound DHCP packets
20:39
<AryehGregor>
So "const int FOO = BAR/BAZ;" where BAR and BAZ are constants doesn't work in C? Lame.
20:39
AryehGregor
goes back to #define for that one
20:42
<AryehGregor>
Why does C hate programmers so much?
20:43
<Philip`>
Because it was designed to be relatively easy to write compilers for?
20:43
<AryehGregor>
Yeah, figures.
20:44
<AryehGregor>
I can't imagine it's so hard to tell whether an expression is constant at compile time.
20:44
<AryehGregor>
You can't have circular loops, you only have to look at the previous lines.
20:44
<AryehGregor>
As long as there are no function calls.
20:45
<annevk>
hmm, using an iframe instead of xhr fails in IE
20:45
<annevk>
for loading bytes and analyzing them
20:45
<Philip`>
Maybe they didn't want to require compilers to implement a division function
20:45
<AryehGregor>
Uh, I'm pretty sure C compilers are required to support division.
20:45
<AryehGregor>
(although it's very slow in OpenCL)
20:45
<Philip`>
In the programs they compile - not necessarily in the compiler itself
20:46
<AryehGregor>
. . . but you can do const int foo = 1/5.0; or such.
20:46
<Philip`>
I thought you were complaining that you couldn't do that?
20:46
<AryehGregor>
No, you can.
20:47
<AryehGregor>
You can't do const float foo = 1.0; const float bar = 5.0; const float baz = foo/bar;
20:48
<Philip`>
Oh, okay, I was misunderstanding
20:48
<Hixie>
if i have a zipfile, is there a program on linux that i can pipe it to to unzip it?
20:48
<Philip`>
I think there's no guarantee the value of a const is available at runtime - it might be defined in a different compilation unit
20:48
<Hixie>
unzip doesn't seem to accept input from stdin
20:48
<AryehGregor>
zip/unzip on Linux stink.
20:49
<AryehGregor>
Maybe you can trick it by telling it to unzip /dev/stdin, but I don't know if that actually makes sense.
20:49
<Philip`>
Hixie: 7z with "-si" ?
20:49
<Hixie>
AryehGregor: tried that without success
20:49
AryehGregor
hasn't gotten /dev/stdin to work how he wants it, generally
20:49
<Philip`>
(and "-tzip")
20:49
<Hixie>
i don't seem to have 7z
20:49
<AryehGregor>
Well, you could save the input to a temporary file.
20:50
<Hixie>
yeah that's the only solution i seem to be left with
20:50
<Hixie>
oh well
20:50
<Hixie>
lame
20:50
<AryehGregor>
zip and unzip are very lame.
20:50
<AryehGregor>
7z is also pretty lame.
20:50
<AryehGregor>
Someone needs to patch tar so it can handle ZIP and 7zip files.
20:51
<AryehGregor>
Well, that might be weird, I guess.
20:51
<AryehGregor>
Since the files don't actually have tars in them.
20:51
<AryehGregor>
But make tar and gzip workalikes.
20:51
<AryehGregor>
That accept the same options and such.
20:52
AryehGregor
doesn't actually mind writing in C too much, as long as it's not OpenCL
20:53
Philip`
can cope with C99 since it's close enough to C++ and doesn't force you to declare variables at the tops of functions
20:54
AryehGregor
was referring to C99
20:54
<AryehGregor>
But now I need to write a CRC32 implementation for OpenCL, since of course no one has ever done this before.
20:54
<AryehGregor>
I just have to make my life difficult, don't I?
20:55
<AryehGregor>
Needless to say, the normal implementations I see use a lookup table, which almost certainly needs to be scrapped to perform acceptably on a GPU.
20:55
<AryehGregor>
Hmm, no, I can keep it in const memor.y
20:55
<AryehGregor>
memor.y
20:55
<AryehGregor>
memory.
20:55
<AryehGregor>
.
20:55
<david_carlisle>
hixie: funzip but only if the zip file has one file in it takes zip on stdin and puts output on stdout
20:56
<Hixie>
david_carlisle: thanks
20:56
<AryehGregor>
Okay, so SSE4.2 has a CRC32 instruction? Seriously?
20:56
<AryehGregor>
Meh, what do I care, this is <0.1% of my runtime anyway, I just won't optimize it.
20:57
<AryehGregor>
Well, I guess the new processors will have AES instructions, right . . .
21:21
<webr3>
anybody know if the majro browsers handle multipart/* http messages, for instance multipart/alternative ?
21:26
<Hixie>
jgraham: pimpmyspec isn't responding
21:36
<zcorpan>
rather than hacks like http://filamentgroup.com/lab/responsive_images_experimenting_with_context_aware_image_sizing/ we should have 'progressive' images and the browser aborts the download when it has good enough resolution of the image
21:37
<TabAtkins>
Yes, we should.
21:40
<annevk>
if I have {"a": [1,2], "b": [1,2], "c": [2,3], "d": [1,2]} in Python, how do I easily turn that into {[1,2]: ["a", "b", "d"], [2,3]: "c"}?
21:42
<Hixie>
ok so there's a desire for a feature on <track> that enables the track if the user's preferences don't suggest to enable any other track
21:42
<Hixie>
default=""?
21:42
<Hixie>
as in <track default ...>?
21:42
<zcorpan>
annevk: you don't want {[1,2]: ["a", "b", "d"], [2,3]: ["c"]} ?
21:43
<annevk>
zcorpan, I do, typo
21:43
<Hixie>
zcorpan: thanks for that bug fix on the htmlwg chart btw
21:43
<annevk>
Hixie, first track?
21:43
<Hixie>
annevk: well usually there won't be one
21:43
<Hixie>
annevk: or do you mean, first track with disabled="" wins?
21:44
<annevk>
without
21:44
<Hixie>
well usually you don't want any track enabled by default
21:44
<annevk>
oh I see
21:44
<Hixie>
it's pretty rare that you want one
21:44
<annevk>
enable?
21:44
<annevk>
enable=""
21:44
<matjas>
zcorpan: “[use JS to provide Flash fallback for <audio>] To fallback to flash when <audio> is supported but MP3 isn't. Doesn't work with click-to-load-plugins since the flash is invisible.” → Thanks, hadn’t thought of that
21:44
<annevk>
or show=""
21:45
<matjas>
zcorpan: So if none of the <audio> sources are supported by the browser, the fallback content will still be ignored?
21:45
<Hixie>
show="" and enable="" sound like they would override user preference
21:48
<zcorpan>
matjas: right
21:49
<matjas>
zcorpan: That’s too bad. I can’t think of any drawbacks this would introduce… Are there any? Or is it just very hard to implement?
21:50
<matjas>
[i.e. the concept of displaying fallback content in case none of the audio/video sources can be understood by the browser)
21:52
<zcorpan>
matjas: has been discussed several times on the list
21:52
<matjas>
I’m sorry if that has been discussed here before (I don’t doubt it is)
21:53
<zcorpan>
matjas: one problem is that the browser doesn't know when the page has stopped appending new <source>s to try
21:53
<zcorpan>
matjas: if all have failed, you can still append a new <source> and the browser will attempt to play that one too
21:54
<matjas>
zcorpan: But the browser doesn’t know when the page has stopped appending stylesheets as well — it just redraws/repaints as soon as it’s needed
21:56
<zcorpan>
so?
21:57
<matjas>
My understanding of how browsers work is limited, but I assumed that the browser could just attempt to play new sources as they’re added and display the fallback content if none of the sources can be played.
21:58
<matjas>
I can see how that would be much more complicated to implement though.
21:58
<zcorpan>
we don't want to flip flop between the fallback content and showing video
21:59
<Hixie>
hmm
21:59
<Hixie>
i wonder how to make this default="" feature work
21:59
<Hixie>
i guess i could require that it be the last one
21:59
<Hixie>
the problem is that there's no way to know otherwise when the tracks have all been seen
22:02
<zcorpan>
annevk: i guess you'd just create a new dict, iterate over the values of the old dict, check if the new dict has a key matching the current value, if not set the value to an empty list, then append the old key to the value
22:02
zcorpan
is not a python geek though so doesn't know if there are shortcuts
22:04
<annevk>
I found something
22:04
<annevk>
the problem is that sets/lists cannot be keys
22:05
<AryehGregor>
annevk, can't you use tuples?
22:05
<annevk>
so now I'm using a single list where values are key+1
22:05
<zcorpan>
oh right, you need to convert them to tuples
22:05
<AryehGregor>
Or frozensets?
22:05
<annevk>
ooh, frozenset works for dict?
22:05
<AryehGregor>
You can't use mutable objects as keys.
22:05
<annevk>
oh well
22:05
<AryehGregor>
But immutable ones work, I think.
22:05
<annevk>
I see
22:09
<AryehGregor>
dict([(tuple(value), key) for (key, value) in a.items()]) almost works, but not quite.
22:10
<AryehGregor>
Somewhat essentially not quite.
22:10
<AryehGregor>
Imperative is probably the way to go.
22:13
<AryehGregor>
for key, val in a.items():\nif tuple(val) not in b:\nb[tuple(val)] = []\nb[tuple(val)].append(key)
22:13
<AryehGregor>
Python is really lousy for trading snippets over IRC.
22:16
<zcorpan>
AryehGregor: at least it was less verbose than my english description
22:17
<AryehGregor>
It's not so much the verbosity that I object to, it's the need to express detailed whitespace.
22:18
<AryehGregor>
If it used Perl-like conventions in that regard, I could have said: for key, val in a.items() { if tuple(val) not in b { b[tuple(val)] = [] } b[tuple(val)].append(key) }
22:18
<AryehGregor>
Without having to use \n and assume the reader is smart enough to insert correct indentation.
22:18
<AryehGregor>
(But I'm overall a fan of Python's whitespace handling, controversial though it may be.
22:18
<AryehGregor>
)
22:20
<hober>
exit
22:20
<hober>
exit
22:20
<hober>
err, sorry
22:20
<zcorpan>
hober: maybe third time it'll work?
22:21
<hober>
:)
22:21
<hober>
damn fn-to-the-left-of-ctrl keyboards
22:48
<annevk>
anyone interested in my encoding data?
22:48
<annevk>
I have something I could post to www-archive
22:48
<AryehGregor>
Why not post to whatwg?
22:48
<annevk>
it's a large HTML file
22:48
<AryehGregor>
Ah.
22:48
<AryehGregor>
You're aiming to standardize this in HTML5 or what?
22:49
<annevk>
I was thinking a Web Encodings spec
22:49
<annevk>
but this is a big mess
22:49
<zcorpan>
annevk: www-archive seems fine
22:51
<annevk>
sending message
22:51
<annevk>
o_O
22:51
<annevk>
it's only 160kb
22:54
<annevk>
hmm, www-archive is slow
22:55
<jgraham>
Hixie: Yes, it is not responding
22:55
<annevk>
here is another copy: http://quuz.org/tempxxx/table.html
22:55
<jgraham>
AryehGregor: You want "from collections import defaultdict"
22:56
<jgraham>
then result = defaultdict(list)
22:56
<jgraham>
thn you can do result.append without checking for existance first
22:56
<jgraham>
or result[key].append, rather
22:58
<annevk>
AryehGregor, jgraham, when I publish my Python in some repository later you guys can tweak it :)
22:58
<annevk>
and with later I really mean tomorrow
22:58
<karlcow>
http://lists.w3.org/Archives/Public/www-archive/2010Dec/
22:59
<annevk>
karlcow, see link above
22:59
<annevk>
I should have just uploaded it somewhere from the start and not have bothered with www-archive I guess...
22:59
<karlcow>
yeeha. thanks annevk
22:59
<annevk>
scp is much faster
22:59
<karlcow>
hehe
23:00
<AryehGregor>
jgraham, figures Python has something built-in for that. :)
23:01
<Hixie>
jgraham: k
23:02
<jgraham>
AryehGregor: defaultdict is all kinds of awesome. e.g. defaultdict(int) makes for a nice way of counting things
23:02
<jgraham>
I mean, it is a trivial idea, but really really useful
23:02
<jgraham>
Hixie: Not sure that I can do anything except wait for it to come back up
23:03
<Hixie>
jgraham: who hosts it?
23:04
<jgraham>
WebFaction
23:04
<jgraham>
Their status blog doesn't say anything useful
23:05
<jgraham>
And the machine is clearly up
23:06
<Hixie>
k
23:07
<Hixie>
if it was dreamhost i'd say send in a support request, but don't know what webfaction are like
23:08
<beowulf_>
dreamhost support is so... supportive
23:10
<Hixie>
they are indeed very enthusiastic
23:10
<Hixie>
it's kinda funny
23:10
<Hixie>
not always immediately helpful, mind you :_)
23:20
<karlcow>
discovering defaultdict because of jgraham http://docs.python.org/library/collections.html#collections.defaultdict
23:21
<AryehGregor>
I had read about it before, but forgot, since I don't have a chance to write Python as much as I'd like.
23:29
<annevk>
hmm, http://dev.w3.org/html5/html-device/ got killed?
23:35
<TabAtkins>
annevk: http://www.google.com/search?q=python+invert+dict
23:37
<AryehGregor>
TabAtkins, that doesn't do what he asked with respect to duplicates.
23:37
<AryehGregor>
That one-liner is basically what I wrote, but it eats duplicates rather than merging them.
23:37
<AryehGregor>
In fact, your first result says: "NOTE: This only works if there are no duplicate values in the dictionary. If there are common values only the last key will be preserved once swapped. One way to deal with duplicate values is to turn all keys with a common value into a list when you invert the dictionary. I haven't found a shortcut for that method yet."
23:37
<TabAtkins>
Which one liner? I just provided a search link to appropriate resources.
23:38
<AryehGregor>
The first one.
23:38
<AryehGregor>
And the second relevant result too.
23:38
<AryehGregor>
And the third.
23:38
<AryehGregor>
Except the third addresses the issue by giving some imperative code that basically does what mine did.
23:39
<AryehGregor>
(and the other guy, someone else said it first, I forget who)
23:39
<annevk>
I solved it almost two hours ago btw
23:39
<annevk>
though slightly hackish
23:39
<AryehGregor>
. . . I mean, basically, we already answered the question like an hour ago, yeah.
23:40
<TabAtkins>
Well jeez, sorry. ^_^ I ran through my scrollback and just answered it as soon as I saw it.
23:40
<annevk>
aaah; it is forgiven :)
23:40
<AryehGregor>
Ah, okay. I was just puzzled about what you were trying to add.
23:41
<Hixie>
annevk: i just stopped updating it -- having too many things to update in my script makes the updates take ridiculously long and that one didn't really need to be there anyway since it was just a skeleton and not a wg deliverable anyway
23:41
<Hixie>
annevk: it's still in the html spec
23:56
<Hixie>
http://www.w3.org/mid/EAACC9DF6817544486F0D0ADA05CA428220044AD⊙Trcmc is relevant to people who care about how the composition on canvas works (the whole-image-vs-only-what-you-draw issue) (Philip`)
23:57
<jamesr_>
if only firefox actually implemented what the spec says
23:58
<jamesr_>
as i recall the conclusion from the last relevant thread on this was basically that what the spec says was internally consistent but weird, nobody actually implemented what it really said, and everyone would accept something else if it could be formalized well
23:58
<jamesr_>
and that Direct2D does not allow you to implement what the spec currently says
23:58
<Hixie>
that was indeed the last discussion
23:58
<Hixie>
dunno about the direct2d bit
23:58
<jamesr_>
that wasn't in the thread but is also true
23:59
<jamesr_>
so if IE9 wants to implement what the spec says i suppose microsoft could change D2D
23:59
<jamesr_>
which would be handy, since presumably firefox's D2D canvas implementation is going to match IE9