00:15
<Dashiva>
hober: Sensible stuff
00:31
<mgrdcm>
hober: nice. (hi)
02:07
<ezyang>
Just making sure I'm not crazy: If I have <math><p>, the <p> node gets placed *outside* of <math>, correct?
02:27
<ezyang>
Should active formatting elements list every contain a single element which is null?
02:27
<ezyang>
*ever
02:30
<ezyang>
Oh, that's their internal representation of Marker
02:48
<ezyang>
Where in the spec does it specify that, after I encounter the </foreignObject> tag, I'm supposed to somehow switch back into IN_FOREIGN_CONTENT?
02:50
<ezyang>
It looks like the spec makes a half-hearted attempt to keep the mode in "in foreign content", but as soon as we have some sort of complicated code inside that, we move to another mode and consequently lose the ability to "go back"
02:58
<ezyang>
Also, assuming that this is a spec error (I'd put it at an 80% chance it's not, but I'm hoping it is), PHP html5lib now has 100% tests passing
02:59
<ezyang>
erm, s/tests/specced tests/
02:59
<ezyang>
And has, maybe, three nasty workarounds (one for empty doctypes, and two for namespaced attributes)
07:29
<hsivonen>
ezyang: The table taint thing is the only case where the tests deviated from current spec intentionally because of me
07:30
<zcorpan_>
hsivonen: you can flip a setting in ie8 to disable the xss filter
07:30
<hsivonen>
zcorpan_: where?
07:33
<zcorpan_>
hsivonen: internet settings, security, custom level, scripting, enable xss filter
07:34
<MikeSmith>
zcorpan_: you still around?
07:34
<zcorpan_>
MikeSmith: yep
07:35
<MikeSmith>
about "If the area element has no href attribute, then the area represented by the element cannot be selected, and the alt attribute must be omitted."
07:35
<MikeSmith>
does v.nu not already handle that correctly?
07:35
zcorpan_
wonders why the labels are "(o) Disable-ON ( ) Enable-OFF"
07:36
<zcorpan_>
MikeSmith: dunno, that was re the spec bug you filed
07:36
<MikeSmith>
oh
07:36
<MikeSmith>
remind me which bug that was?
07:37
<zcorpan_>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=6976
07:38
<MikeSmith>
ah
07:38
<MikeSmith>
I didn't file that one, it just got auto-assigned to me
07:38
<zcorpan_>
oh
07:38
<MikeSmith>
because dude filed it against the h:tml draft
07:39
<MikeSmith>
anyway, I'll reply to it and close it out
07:39
<zcorpan_>
i didn't look carefully enough at the labels
07:40
<MikeSmith>
np
07:40
<MikeSmith>
it did make me think some about how v.nu error-reporting could be improved for this case
07:41
<MikeSmith>
because right now, v.nu just says, "Error: Required attributes missing on element area." for cases like this
07:41
<zcorpan_>
MikeSmith: hack jing to emit more useful messages? :)
07:42
<MikeSmith>
well, I think hsivonen's already done some improvements that way
07:42
<MikeSmith>
I was thinking about possibility adding it in the separate-pass assertions-checking
07:42
<MikeSmith>
the assertions.sch Schematron file and the Assertions.java code
07:43
<MikeSmith>
could have that specifically report, "An area element without an href attribute must not have an alt attribute."
07:43
<MikeSmith>
or whatever
07:43
<zcorpan_>
as another message?
07:44
<MikeSmith>
yeah, it would need to be another message
07:44
<MikeSmith>
if we did it that way
07:44
<MikeSmith>
(as opposed to hacking jing)
07:45
<zcorpan_>
i think it would be a better long-term solution to hack jing
07:45
<hsivonen>
zcorpan_: thanks. not the most discoverable thing
07:45
<zcorpan_>
but then again i'm not the one who's hacking
07:46
<zcorpan_>
hsivonen: indeed, ie's preferences are even worse than opera's :)
07:46
<zcorpan_>
at least opera has opera:config
07:46
<hsivonen>
maybe I should put software.hixie.ch into my "intranet" and set the pref only for that
07:47
<hsivonen>
hmm. but then the compat mode thing could do intranet weirdness and confuse my live DOM testing
07:48
<zcorpan_>
hsivonen: you could make the compat mode not depend on intranet, no?
07:48
<hsivonen>
yes
07:49
<zcorpan_>
i just disabled the xss filter since all i use ie8 for is for viewing the live dom viewer :)
07:50
<hsivonen>
I don't use it for much else, either, but sometimes I browse to a test case somewhere else or seach the Web in IE8 if I'm already in the IE8 window
07:50
zcorpan_
noticed that opera's new mac native skin looks better than the previous skin
07:50
<hsivonen>
is there a new public build of Opera?
07:51
<zcorpan_>
my opera just auto-updated
07:51
<hsivonen>
does Opera have different auto-update channels?
07:51
<zcorpan_>
though i have flipped the "download all snapshots" pref
07:52
<hsivonen>
ah. nice
07:52
hsivonen
didn't know about that pref, either
07:53
<hsivonen>
maybe I should put Chrome on dev channel, too
07:53
hsivonen
wonders if WebKit nightlies on Windows have autoupdate these days
07:53
<zcorpan_>
in chrome it's even harder to discover
07:53
<zcorpan_>
although i guess it depends on how you go about to find out how to do it
07:54
<zcorpan_>
if you google for it it might be easier in chrome
07:58
<hsivonen>
hmm. has Chrome 2 even not been pushed to stable channel yet?
07:59
<hsivonen>
or is my instance of chrome just slow to update because I don't leave the Windows VM idle for long enough times with Chrome open?
08:00
<hsivonen>
hmm. looks like Chrome defaults to SSL cert CRL off
08:00
<hsivonen>
cert security FTW
08:09
<othermaciej>
I don't believe Chrome 2 is in the stable channel
08:09
<othermaciej>
I think it's "beta"
08:09
<othermaciej>
stable is 1.0
08:09
<othermaciej>
dev is 3.0.x
08:09
<hsivonen>
ok.
08:09
<othermaciej>
yay for burning through version numbers
08:10
<abarth>
othermaciej: 2 is in stable
08:10
<hsivonen>
it seems to me that Chrome 3 is slow to start playing Ogg files
08:10
<abarth>
othermaciej: 1.0 is dead
08:10
<othermaciej>
abarth: I guess I was out of date
08:10
<hsivonen>
I wonder if they wait for the whole file in order to show the time track
08:10
<abarth>
othermaciej: i'm not sure whether it's been pushed out for auto update or just for folks who ask for it
08:15
<othermaciej>
"plugin prison" seems to be an effective buzzword
08:15
<othermaciej>
it's much more hostile than I would go for in explaining the benefits of <video> and such...
08:32
<ojan>
abarth: 2.0 has not been pushed on autoupdate yet. it's just there for new installs.
08:33
<abarth>
ojan: thanks
08:39
<Mrmil>
I have a <h1> element with <img ... alt="Some Company"> logo but this outliner (http://gsnedders.html5.org/outliner/) doesn't show the alt text in the outline. Do you think it would be possible to make it reads the alt text and show it if no other text is present?
08:44
<gsnedders>
Mrmil: zcorpan_ was trying to get me to implement that :P
08:45
<zcorpan_>
i think Hixie is wasting people's time with making </head>, </body> and </html> do something other than being ignored
08:46
<Mrmil>
gsnedders: Hehehe, did he succeed? :)
08:46
<gsnedders>
Mrmil: I guess I probably will
08:46
<gsnedders>
(get around to doing it)
08:47
<Mrmil>
gsnedders: Ok. *grins*
08:48
<annevk42>
zcorpan_, he's right about whitespace roundtripping though
08:48
<annevk42>
zcorpan_, but supposedly editors have to deal differently with whitespace anyway
08:49
<annevk42>
zcorpan_, though that would indicate the current parsing algorithm is not suitable for editors
08:49
<zcorpan_>
i guess editors would want to preserve whitespace between attributes too
08:49
<annevk42>
yeah
08:49
<zcorpan_>
which means that the dom is not a suitable model for editors
08:50
<gsnedders>
Hmm, Sims 3's first release date is tomorrow
08:50
<hsivonen>
I think Dreamweaver preserves all sorts of crazy parse errors
08:50
<hsivonen>
the suitability of the parsing algorithm depends on the kind of editor
08:50
<hsivonen>
if you want to make a GUI-only editor, it's fine
08:51
<zcorpan_>
yeah i guess you'd want to preserve weird doctypes and bogus comments etc too
08:51
<hsivonen>
if you want to make a dual GUI/text editor like Dreamweaver, you are in the world of hurt and complexity
08:55
<Hixie>
man, jd really has his job cut out for him when his customers go to lengths like these: http://www.reddit.com/r/programming/comments/8opdq/html_5_and_web_video_freeing_rich_media_from/c09yhr2
09:02
hsivonen
wonders when accessibility enters the Flash v. HTML5 comparisons with more force
09:02
<othermaciej>
Hixie: his new story appears to be that HTML is just the next Silverlight
09:02
<hsivonen>
How's Flash accessibility doing on Mac and Linux these days?
09:02
<Hixie>
othermaciej: wow, that's quite the compliment he's giving us
09:03
<othermaciej>
hsivonen: that comparison is why I try to discourage people from citing Bespin as an HTML5 poster child...
09:03
<Hixie>
bespin is a poster child for us providing <textarea> syntax highlighting :-)
09:03
<Hixie>
maybe in the next version...
09:03
<Hixie>
(i mean seriously, they must REALLY want that feature to do what they did in bespin)
09:04
<Hixie>
(it's a technological tour de force)
09:09
<annevk42>
Hixie, I've the feeling that's not enough
09:10
<annevk42>
Hixie, how would you e.g. implement code-auto-completion?
09:10
<Hixie>
we'd probably need that too, yes
09:11
<Hixie>
maybe textarea needs to be defined as an xbl2 binding to contenteditable content
09:13
<hsivonen>
there's also the issue that the DOM is rather heavy-weight as the model of a text editor view
09:13
<othermaciej>
so far I've had people tell me I should add more disclaimers to the design principles, I should either make them stated absolutely without disclaimers or delete them, or that I should state them without disclaimers but with an unstated expectation that they are not actually absolute
09:13
<othermaciej>
rarely have I seen a more clear example of the You Can't Please Everybody principle
09:14
<hsivonen>
maybe we should document that We Can't Please Everybody
09:14
<annevk42>
maybe we should have a principle: "Design Principles are no Magic Wand"
09:14
<othermaciej>
hsivonen: but what if there is a case where you can please everybody?
09:15
<hsivonen>
othermaciej: these absolutes are hard
09:16
<othermaciej>
I also can't believe that "Tables" was cited as an example of a good design principle
09:17
<MikeSmith>
I think the principle should be stated, For Any Given Proposal|Decision, We Will Have at Least One Jackass Formally Object to It, Verbosely
09:18
annevk42
wonders how bad the fallout will be from Hixie's latest email
09:19
<othermaciej>
MikeSmith: I think we may have actually had some decisions that occurred without a Formal Objection
09:19
<othermaciej>
can't remember though
09:20
<MikeSmith>
I think if we had a proposed decision to publish the statement, "It's very likely that the sun will rise tomorrow morning.", we'd have objections .
09:20
<othermaciej>
IE is down to 65.59%
09:21
<othermaciej>
that puts it at down 2.56% for the year to date
09:21
<othermaciej>
at this rate it will still take years to get under 50%
09:22
<jgraham>
othree: In any case "You can't please everybody" would be rejected on the grounds that it was just a thinly veiled excuse not to care about accessibility
09:23
<jgraham>
Or rather people would complain about it citing that as a reason
09:23
<Hixie>
i care about accessibility
09:23
<Hixie>
it's self-styled accessibility experts i don't care about :-)
09:23
<jgraham>
Hixie: I care about accessibility too
09:24
<Hixie>
of course many of them don't seem to be able to distinguish the two
09:25
<othermaciej>
I'm not generally in favor of self-styled experts of any stripe
09:25
<jgraham>
The point was that given a self-evident principle like "you can't please everybody", I predict that we would get complaints that the principle could be used as an excuse to preferentially exclude the disabled
09:25
<othermaciej>
I prefer the kind that can do without styling themselves
09:25
<jgraham>
Even though that would, of course, not be the case
09:25
<Hixie>
people already claim that
09:26
<Hixie>
so i don't think that would be a new problem
09:26
<othermaciej>
nowadays people seem more concerned with us excluding critical non-browser HTML implementations
09:26
<othermaciej>
such as libwww-perl and refrigerators
09:26
<gavin_>
I don't think jgraham was tying to claim that it would be anew problem :)
09:27
<jgraham>
Hixie: Sure. I was just pointing out how even the most obvious statement of compromise would be bent by those determined to see HTML5/HATWG/hatever in a bad light
09:27
<Hixie>
well sure
09:27
<Hixie>
but as you say
09:27
<Hixie>
even the most obvious statement would be taken that way
09:27
<Hixie>
so i wouldn't concern myself with that
09:28
<jgraham>
wwwww <- please insert any extra w's from this stash
09:29
<othermaciej>
jgraham: did you break your w?
09:31
<abarth>
i'm trying to think of some way to direct this discussion so that I can be quoted by Mr. Last Week
09:32
<Hixie>
you have such low ambitions :-P
09:32
<Hixie>
btw, thanks to plh's clarifications, i'm glad to say that html5 is now a standard (in development), rather than just a recommendation
09:32
<abarth>
Hixie: easy for you to say. you get quoted by him all the time :)
09:32
<Hixie>
at least on the whatwg site
09:32
<othermaciej>
abarth: your line above might be enough!
09:33
<othermaciej>
mpilgrim got cited so you can score without your name being on his enemies list apparently
09:33
<Hixie>
abarth: you just have to compliment easily offended people using long words that he won't understand
09:33
<abarth>
haha
09:34
<Hixie>
abarth: or, say things that are insults but are stated in ways that make the insult sound like they are the most obvious thing in the world to you
09:34
<annevk42>
othermaciej, I think mpilgrim made it to his list
09:34
<Hixie>
abarth: (e.g. implying that mr last week doesn't understand long words)
09:34
<annevk42>
considering what he said about him anyway
09:34
<othermaciej>
annevk42: he has now I guess
09:35
<othermaciej>
but he wasn't on the canonical list of Enemies of the People
09:35
<Hixie>
there's an enemies list?
09:35
<abarth>
I think Mr. Last Week is secretly a fan of Hixie and is trying to discredit the opposition by being rediculous.
09:35
<annevk42>
not an actual published list
09:36
<othermaciej>
r*i*diculous
09:36
<gsnedders>
abarth: I think we need to undermine the IETF HTTPbis WG by saying you shouldn't concat. headers with ", " :)
09:36
<othermaciej>
(spelling pet peeve)
09:36
<othermaciej>
annevk42: remember his TPAC checklist?
09:36
<othermaciej>
abarth: it's hard to tell!
09:36
gsnedders
notes annevk42 signed that and othermaciej didn't :P
09:36
<othermaciej>
abarth: his "satirical" posts sometimes make the opposition sounds dumb
09:36
<annevk42>
othermaciej wasn't there...
09:36
<gsnedders>
annevk42: I know.
09:37
<gsnedders>
http://www.flickr.com/photos/gsnedders/2979057018/in/set-72157608267037421/
09:37
<othermaciej>
abarth: but the outright profane ones, or postings of the most unflattering photos of Hixie he could find on the internet, those seem sincerely mean-spirited
09:37
<abarth>
gsnedders: I don't really understand the HTTPbis WG. It's unclear to me how to help out there.
09:37
<othermaciej>
gsnedders: I'll get you at this year's TPAC if it ends up happening and people go
09:37
<othermaciej>
(I gather the fee is controversial...)
09:37
<Hixie>
in all fairness, i'm proud of that vampire photo
09:38
<Hixie>
it was taken at a party at hyatt's when i was an intern at netscape
09:38
<gsnedders>
othermaciej: I'm _probably_ not going.
09:38
gsnedders
wonders
09:38
<gsnedders>
Oh, that vampire photo
09:38
<othermaciej>
plenty o' cred, then
09:38
<gsnedders>
abarth: Nor do I understand them.
09:39
<othermaciej>
abarth: they seem more interested in spitting the RFC into a dozen pieces than in actually fixing anything
09:40
<abarth>
Hixie: how far back is the vampire picture? i've been scrolling through but don't see it yet
09:41
<Hixie>
i dunno, i don't actually read lastweek so i've no idea how many posts he's written
09:41
<Hixie>
(i have far better things to do with my life!)
09:41
<Hixie>
such as today, going to maker faire and then seeing wicked, which, by the way, is pretty good as a musical
09:41
<Hixie>
though i prefer into the woods
09:41
<Hixie>
(and avenue q, of course)
09:41
<Hixie>
(though anyone who's read the spec realises this)
09:42
<gsnedders>
Oh, I need to get ticket to go and see Avenue Q/
09:42
gsnedders
is reminded :P
09:42
<abarth>
i missed avenue q, but i did make it to wicked
09:42
<Hixie>
man when i start writing examples later this year, i hope i don't run out of quotes from these musicals to put in the spec
09:42
<Hixie>
abarth: did you see the one in SF?
09:42
<abarth>
Hixie: yes
09:42
<Hixie>
abarth: i was _really_ impressed by the production value there
09:42
<Hixie>
holy crap
09:43
<Hixie>
that's some serious set dec
09:43
<gsnedders>
Hixie: Do you know anything about the London production?
09:43
<othermaciej>
I saw Up today
09:43
<abarth>
Hixie: Yeah, I always worry when I see a play outside of NY or London that I'm missing out, but the production was really good
09:43
<othermaciej>
I rarely look up MLW unless someone mentions it here
09:43
<Hixie>
up was pretty fantastic too
09:43
<Hixie>
though that's to be expected
09:44
<othermaciej>
but I am flattered that he adopted the name I assigned him
09:44
<Hixie>
what with it being the movie of the year and all
09:44
<Hixie>
though i may have to update the example in the spec
09:44
<othermaciej>
(I believe I coined the term "Mr. Last Week" back in the day)
09:44
<Hixie>
because up comes before a number of the other movies in the list
09:44
<gsnedders>
Hixie: what example?
09:44
<Hixie>
gsnedders: no idea (re london)
09:45
<othermaciej>
Up was surprisingly not-for-little-kids
09:45
<gsnedders>
Hixie: Damnit, I was counting on you! :P
09:45
<gsnedders>
Ah, Up doesn't come out here until October :(
09:45
gsnedders
always hates the fact that Pixar films don't come out here for months
09:45
<Hixie>
othermaciej: yeah, the trailers had me worried that it was going to be dreamworks-like, but woah was that a mistaken worry
09:46
<othermaciej>
Dreamworks is not in the same league as Pixar
09:46
<Hixie>
othermaciej: i guess i should have more faith in ye people of emeryville
09:46
<gsnedders>
Hixie: "The top 10 movies of all time"?
09:46
<Hixie>
gsnedders: no comment
09:46
<gsnedders>
:P
09:46
<Hixie>
and re the release date, i guess it's because they have to do all the subtitling and so on
09:46
Hixie
ducks
09:47
<othermaciej>
I say that having recently seen "Monsters vs. Aliens" and moderately enjoyed it
09:47
gsnedders
slaps Hixie
09:47
<othermaciej>
so I wonder if John Lasseter really has full creative control of all Disney animation now
09:47
<othermaciej>
because apparently they have a new cel-animated feature coming up
09:47
<othermaciej>
and I am wondering whether I should expect it to be any good
09:48
<gsnedders>
Hixie: Actually, Cars at least did in parts have a different audio track (and script, and hence animation) of the character's voices at parts here!
09:48
<Hixie>
wow
09:48
<Hixie>
i know monsters, inc did
09:48
<Hixie>
the non-us version had different graphics in a couple of places
09:49
<Hixie>
e.g. the "walk/don't walk" sign is symbols, iirc
09:49
<Hixie>
and the alert in the code 21 or whatever it's called was a different symbol
09:49
gsnedders
only got around see seeing Ratatouille in English over Christmas, having been bullied by French relatives into seeing it in Paris in French when it came out :P
09:49
<Hixie>
ew! ewewew!
09:49
<Hixie>
dubbing!
09:49
<Hixie>
ewwwww!
09:49
Hixie
backs away from the forever tainted gsnedders
09:50
<gsnedders>
Hixie: Did you see an undubbed version of Црна мачка, бели мачор the?
09:50
<gsnedders>
*then
09:50
<Hixie>
yes
09:50
<Hixie>
i doubt there has ever been a dub for it
09:50
<gsnedders>
That is true.
09:50
<jgraham>
Please do not get me started on the insanity of Pixar release dates. The films are amazing. The delays of months and months and months are inexcusable.
09:51
gsnedders
wonders where he'll be in October…
09:51
<Hixie>
gsnedders: actually that movie is the first example of a movie that was so good that by the end i actually forgot i was reading subtitles
09:51
zcorpan_
marks all html5 alerts from the weekend as read
09:51
<Hixie>
lol
09:51
<zcorpan_>
if there was something interesting, let me know :)
09:52
<Hixie>
all the interesting stuff was mentioned in this channel i think
09:52
<zcorpan_>
k
09:52
<Hixie>
though if you haven't seen the wave keynote video, i recommend that
09:52
<Hixie>
http://code.google.com/events/io/
09:53
<zcorpan_>
i saw that on friday
09:53
<Hixie>
and the first keynote is worth it just for the one slide
09:53
<zcorpan_>
or maybe i just saw part 2
09:53
<zcorpan_>
s/part/day/
09:53
<gsnedders>
Hixie: I must admit I was impressed by how well Ratatouille was done in French, though at parts it was obvious it wasn't the original language (though it was re-animated so the mouth movements all fit), as the language at times got too complex for the age-range trying to stay fairly close to the English
09:55
gsnedders
tends to think dubbed films aren't very good
09:56
<annevk42>
Spirited Away was not too bad I thought, but then I never watched the original
09:57
<gsnedders>
I didn't think the dubbing of that was overly good in that
10:18
zcorpan_
tries the custom search element on his site and finds that it is more to it than just copy-and-paste-and-be-done-with-it
10:24
<zcorpan_>
Hixie: the google web elements snippets aren't valid html5
10:25
<Hixie>
i am shocked
10:25
<Hixie>
(if you really want me to tell the team, send me a mail to ianh⊙gc and i'll forward it appropriately)
10:27
<Hixie>
ok i should probably head to bed
10:27
<Hixie>
nn
10:35
<zcorpan_>
<feature name="API:example.org.geolocation" - http://www.w3.org/mid/4A1FF4AA.2030409⊙oc
10:35
<zcorpan_>
reversed dns labels++
10:37
<hsivonen>
oh noes. Feature enumeration rides again. :-/
10:37
<Philip`>
zcorpan_: Reversed DNS labels-- because they didn't write it in proper reverse order
10:38
<zcorpan_>
maybe they should be called Labels DNS Reversed
10:39
<jgraham>
Philip`: it is presumably using the .example tld
10:40
<gavin_>
instead of the example.org domain?
10:40
<gavin_>
seems unlikely
10:40
<zcorpan_>
although he never said it was a reversed dns label, he just minted the API: url scheme
10:40
<jgraham>
(Although that would be inconsistent with the rest of the message and willfully obscure, so I may not be being entirely serious)
10:41
<zcorpan_>
i guess my point is that people will misunderstand how to write reversed dns labels
10:42
<hsivonen>
I seriously doubt the utility of the <feature> feature
10:42
<hsivonen>
I guess I should send a comment, but I'm probably late considering BONDI's schedule
10:44
<annevk42>
"better late than never"?
10:45
<hsivonen>
yeah.
10:45
<hsivonen>
lunch first
10:56
<Mrmil>
May I ask for some light feedback? http://server.ebrana.cz/olda/_apps/html5/
11:00
<zcorpan_>
Mrmil: looks pretty good
11:01
<gsnedders>
PHP html5lib is slow. Really slow.
11:01
gsnedders
wonders if it is in an infinite loop
11:03
<Philip`>
gsnedders: Wait until it finishes, and then you'll know it's not an infinite loop
11:03
<Mrmil>
zcorpan_: Yay, thanks :) Now I have a question - imagine that the 3 service float boxes didn't have the annotation paragraph(s), what code would you use? headers wouldn't make sense anymore because there would be no text associated for them. Would you use ul li instead?
11:03
gsnedders
adds output of current line/column
11:04
<gsnedders>
Over line 25k now… (86k lines, IIRC)
11:05
<jgraham>
gsnedders: php-html5lib alone is 86k lines?
11:05
<gsnedders>
jgraham: No, the spec
11:05
<jgraham>
Oh I see
11:06
<gsnedders>
line 38k
11:06
<gsnedders>
OK, I think it probably will finish…
11:07
<gsnedders>
44k…
11:08
gsnedders
wonders how ever long it'll take with a profiler when it takes this long without
11:10
<gsnedders>
I guess we take the prize for slowest impl. of HTML 5 parsing algorithm, at least :P
11:11
<jgraham>
gsnedders: I bet I am slower
11:11
<gsnedders>
jgraham: Slowest automated impl.
11:11
gsnedders
would not be surprised if he was slower than jgraham
11:11
<gsnedders>
line 60k!
11:12
<gsnedders>
Uh, yeah, I'm bored now.
11:12
<annevk42>
empirical evidence suggests I'm faster than jgraham and Hixie at getting correct answers :p
11:13
<jgraham>
annevk42: Hey, that was a microbenchmark if ever I saw one
11:13
<jgraham>
(although I would bet that you are still faster than me)
11:14
<gsnedders>
Line 70k!
11:15
<Philip`>
gsnedders: Using the entire spec for profiling seems like a pretty stupid idea :-p
11:15
<annevk42>
you know, if I'm really bored one day I think I rather find something else to do than test my performance on the HTML5 parsing algorithm :p
11:17
<gsnedders>
Has any machine-run implementation taken over 15 minutes to parse the spec before?
11:17
<Philip`>
That's an easy record to beat
11:17
<Philip`>
Start parsing, press ctrl+Z, wait 16 minutes, type "fg"
11:17
<gsnedders>
(We're now under 10k lines to go!)
11:18
<Philip`>
gsnedders: Sounds like your performance is slightly sub-linear
11:18
<gsnedders>
Line 80k!
11:18
<gsnedders>
No, I think it's linear.
11:19
<gsnedders>
Just slow.
11:19
<Philip`>
Hmm, good point, I suppose linear performance would be within the error bars of my IRC timestamp precision
11:20
<gsnedders>
real 17m16.388s
11:20
<gsnedders>
user 15m43.416s
11:20
<gsnedders>
sys 0m12.038s
11:20
<Philip`>
Is the output correct?
11:20
<gsnedders>
Dunno.
11:20
<gsnedders>
It just created a DOM, then deleted it :P
11:21
<gsnedders>
ezyang: So, only around 16m of CPU time to parse the spec. I guess we're not that bad.
11:22
<Philip`>
Compared to, like, one second in Java?
11:23
<hsivonen>
16 minutes to parse the HTML5 spec?
11:23
<gsnedders>
hsivonen: yes.
11:24
<annevk42>
whoa
11:24
hsivonen
goes back to manually inlining the read() method in the Java tokenizer and tweaking it not to write into the input buffer to allow speculative parsing in C++
11:27
<jgraham>
gsnedders: May I suggest profiling on <10% of the spec
11:27
<jgraham>
Since that will probably contain enough interesting stuff to see where all the time is being taken
11:29
<hsivonen>
are PHP arrays slow when used as arrays of ints?
11:29
<hsivonen>
that is, in that case, do they perform like real arrays or like hashtables or like something else?
11:29
<gsnedders>
hsivonen: We don't use them. Hashtables. And I don't think they're slow, just memory hogs.
11:29
<gsnedders>
(We're talking around 70 bytes of overhead per value)
11:30
<thomaslee_>
Why does TextMetrics have a width but no height?
11:30
<othermaciej>
70 bytes per value?
11:30
<othermaciej>
seriously?
11:30
<gsnedders>
othermaciej: Seriously.
11:30
<hsivonen>
gsnedders: ok. I was wondering how hard it would be to make the C++ translator to target PHP
11:31
<gsnedders>
hsivonen: You don't want to, basically.
11:31
<Philip`>
thomaslee_: Height of what? (Line height? Bounding box height? Em square height?)
11:31
<hsivonen>
as I understand it, GWT compiler Java char[] into a JS array
11:31
<hsivonen>
which seems reasonable performant compared to the DOM and stuff
11:32
<hsivonen>
gsnedders: is indexing into PHP strings O(1)?
11:32
<gsnedders>
hsivonen: A black box function (in an extension) which took a string and returned a DOMDocument (or something else if you created another object model) would probably be the only way to get sane perf
11:32
<gsnedders>
hsivonen: yes
11:32
<gsnedders>
Uh, doing it with a bit less debug stuff it did it in 1m44s
11:32
<Philip`>
thomaslee_: There are lots of metrics that could be returned (which is why there's a whole TextMetrics structure instead of a single value), but currently it's just intended to address use cases like drawing labels on graphs
11:32
<thomaslee_>
Philip`: line height I guess. I'm trying to center some text vertically within a known bounds.
11:33
<Philip`>
thomaslee_: ... and not to address e.g. complex multi-line text layout, and so it doesn't expose any of the metrics you need for that
11:33
<gsnedders>
hsivonen: Mainly because all arrays, no matter what type of the key, is just put in a hashtable, and AFIAK that has O(1) lookup
11:33
zcorpan_
sends an email to pf basically repeating the ToC of html5 when they ask if there are any other areas with a11y concerns in html
11:33
<Philip`>
thomaslee_: Can't you use ctx.textBaseline = 'middle' for that?
11:33
<thomaslee_>
Philip`: was hoping to be able to use something like: (y + (cellHeight / 2) - (metrics.height/2))
11:34
<thomaslee_>
Philip`: maybe? *reads docs*
11:34
<othermaciej>
hsivonen: JS arrays are arrays
11:34
<gsnedders>
I guess the main reason why it was so much slower was there were an extra couple million functions calls…
11:34
<Philip`>
thomaslee_: (Don't know how widely that's implemented, but metrics.height isn't implemented at all either :-) )
11:34
<hsivonen>
othermaciej: OK. I thought JS arrays had some whacko hashtable dualism, too
11:35
<othermaciej>
they are also hashtables, but foo[n] where n is a smallish integer will be at an array access level of speed
11:35
<Philip`>
thomaslee_: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-textbaseline
11:35
<othermaciej>
at least in decent implementations
11:35
<othermaciej>
but you can also set an arbitrary named property on an array
11:36
<gsnedders>
hsivonen: SPLFixedArray which is in a disablable extension, and new in PHP 5.3, only allows integer keys and is a really array is actually slower from a reading POV, but quicker writing and a lot lower memory usage
11:36
<thomaslee_>
Philip`: ah, so I can calculate the vertical centre and render the text using textBaseline middle
11:36
<hsivonen>
othermaciej: the GWT-compiled version turns DOMStrings into UTF-16 code unit arrays and runs the tokenizer on those
11:36
<Philip`>
thomaslee_: In theory, yes
11:36
<thomaslee_>
let's see how it goes :)
11:36
<othermaciej>
hsivonen: that I'm confused about
11:36
<hsivonen>
othermaciej: so if you put a very long string into the live DOM input field, you get a very long array internally
11:37
<othermaciej>
it's not in general a good idea to use JS arrays of code point values instead of JS strings
11:37
<othermaciej>
especially for stuff you got out of the DOM
11:37
<jgraham>
hsivonen: That seems like it could be bad.
11:37
<othermaciej>
strings will almost certainly have better perf
11:37
<thomaslee_>
Philip`: you've saved the day again :P
11:38
<othermaciej>
I wonder if Google actually uses GWT for any of their products
11:38
<jgraham>
I seem to remember that V8 does some magic for array indicies > about 1000
11:38
<hsivonen>
ideally, the JS version would use strings after I've made the input buffer read-only
11:38
<othermaciej>
an array of code point values will be bigger and slower than a JS string
11:38
<jgraham>
othermaciej: Isn't wave supposed to be written entirely with GWT?
11:38
<othermaciej>
in near any implementation
11:38
<hsivonen>
but that would entail some kind of Java-to-Java transformation before showing the code to GWT
11:38
<othermaciej>
jgraham: dunno, I have not studied its internals
11:39
<hsivonen>
using arrays makes sense here for both Java and C++ and the JS version is a side show currently
11:39
<othermaciej>
hsivonen: I would think the sensible model is to use String on the Java side and strings on the JavaScript side
11:39
<othermaciej>
instead of char arrays in either place
11:39
<othermaciej>
oh
11:39
<thomaslee_>
Philip`: out of curiosity, how exactly are you involved in HTML 5?
11:40
<othermaciej>
if you actually need something mutable then yeah you can't use a JS string
11:40
<hsivonen>
othermaciej: given how java.io works and how SAX works, I want to have char[] in Java
11:40
<hsivonen>
othermaciej: also, the XML coercion magic will still write into the input buffer
11:40
<hsivonen>
but the XML coercion stuff is unnecessary in Gecko
11:40
<hsivonen>
where speculation will be necessary
11:41
<gsnedders>
hmm, DOMNode::appendChild is by far the most expensive method/function
11:42
<Philip`>
thomaslee_: I just hang out here and annoy people, and sometimes send feedback on the spec and write http://philip.html5.org/tests/canvas/suite/tests/ and stuff
11:42
<hsivonen>
fwiw, in Gecko, DOM appends show up on profiles independently of the actual CSS box creation for those appends
11:43
<gsnedders>
46% of the time taken to parse the spec (which appears to be closer to 1m46s) is appendChild
11:43
<othermaciej>
Gecko's DOM is pretty slow all around
11:43
<othermaciej>
<http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html>;
11:43
<othermaciej>
(as far as core DOM operations at least)
11:44
<gsnedders>
(This is PHP's DOM, though)
11:45
<Philip`>
gsnedders: Maybe you should parse not into a DOM, but into an XML string, and then use the presumably-fast built-in XML parser to construct the DOM
11:45
<othermaciej>
(in retrospect though, that test can't distinguish slowness of the bindings glue from slowness of the core DOM op itself)
11:45
<hsivonen>
gsnedders: the DOM is C, right?
11:45
<gsnedders>
Philip`: That limits us to streamable output
11:45
<gsnedders>
hsivonen: yes
11:45
<hsivonen>
othermaciej: Gecko's DOM Core bindings glue is getting thinner
11:45
<Philip`>
gsnedders: Just do that for well-formable fragments, not for entire documents
11:46
<jgraham>
gsnedders: You could have a custom tree implementation that could serialize to XML
11:46
<othermaciej>
(WebKit nightly is nearly 7x as fast as recent Minefield on that test)
11:47
<gsnedders>
jgraham: That'll be more expensive as that means function calls.
11:47
<hsivonen>
aargh. I need to *think* about character reference tokenization again
11:47
<gsnedders>
The function call overhead _has_ to be avoided.
11:47
<gsnedders>
(Mainly by avoiding functions!)
11:48
<zcorpan_>
i wonder why accessibility people put so much weight on a small set of features (alt, summary, etc) while completely ignoring other features (drag and drop, details, etc)
11:48
<hsivonen>
zcorpan_: a no-regression policy, I think
11:49
<Philip`>
zcorpan_: Maybe the small set of features is all that there's any chance of getting implemented in the next decade
11:49
<thomaslee_>
Philip`: I see. Seems like you keep yourself busy :)
11:50
<zcorpan_>
Philip`: some features have already been implemented and not received accessibility expert review
11:51
<othermaciej>
it's not unreasonable to be more concerned about regressions, or what is perceived as such
11:51
<gsnedders>
jgraham: Function call overhead is big enough for it actually be to worthwhile to have an if statement for A–Z and only call strtolower on characters we know it'll have an effect on
11:52
<zcorpan_>
othermaciej: agreed, but i'm seeing something close to all-focus-on-regressions-and-completely-ignore-everything-else
11:52
<Philip`>
gsnedders: Is that function call overhead, or strtolower overhead?
11:52
<gsnedders>
Philip`: function call overhead more than strtolower overhead
11:53
<jgraham>
gsnedders: I don't see how it would add more function calls. It would just mean replacing calls to the DOM API to calls to your own code
11:53
<jgraham>
The big problem is that your own code might be even slower than the DOM API
11:53
<othermaciej>
zcorpan_: their approach may seem reasonable to them
11:53
<Philip`>
gsnedders: What if you say "if (char == 'A') char = 'a'; else if (char == 'B') ..."? :-)
11:53
<gsnedders>
jgraham: Well, instead of appendChild in C we have more function calls within our implementation of it
11:53
<Philip`>
zcorpan_: Some people talked about accessibility of <canvas> too, which is a new thing and not a regression
11:54
<gsnedders>
jgraham: Hence in total we end up with more function calls
11:54
<zcorpan_>
Philip`: yes that's basically the exception to the rule
11:54
<zcorpan_>
though i haven't seen that much discussion about <canvas>
11:55
<gsnedders>
Philip`: I doubt that's quicker, haven't tried though
11:56
<Philip`>
zcorpan_: I think most of the discussion has been saying "<canvas> must be accessible", and the only concrete proposal is to make the spec say "authors must provide an accessible alternative to any <canvas> content" (which the spec already requires)
11:57
gsnedders
installs kdesdk4 on his old Power Mac G5 as that has more RAM than this laptop, hence runs KCachegrind with large profiles a lot better.
11:57
<zcorpan_>
Philip`: indeed
11:57
<Dashiva>
Philip`: And the proposal to make not doing so illegal :)
11:58
<Philip`>
zcorpan_: so there hasn't been any interesting technical discussion on accessibility there
11:58
<annevk42>
zcorpan_, there's been discussion about <video> and <audio> too
11:58
<zcorpan_>
annevk2: true
11:58
<hsivonen>
should mv_embed be considered ready for production use for enabling Ogg <video> in IE using Cortado or VLC plugin?
11:58
<Dashiva>
There was some talk about making <canvas> contain a tree of elements that could be used to extract structure info
11:58
<Dashiva>
Apparently some OSes do it like that
11:59
<Dashiva>
But as I recall, that just reduced to authors who cared doing it, and those who didn't care still wouldn't do anything
11:59
<jgraham>
I think in generaly the a12y people have benn concered with things that fit cleanly into familar WCAG categories
12:00
zcorpan_
wonders what a12y stands for
12:00
<zcorpan_>
accessibillity?
12:01
<jgraham>
Can I not spell/count/something
12:01
<jgraham>
What a surprise
12:01
<Dashiva>
Just remember that a11y is a name
12:01
<Dashiva>
And l10n is an animal :P
12:02
<jgraham>
What about l18n?
12:02
<jgraham>
or whatever it is
12:02
<Dashiva>
i18n?
12:02
<zcorpan_>
i18n
12:02
<Dashiva>
That's just weird
12:03
<jgraham>
Oh yeah, I. That makes more sense
12:04
jgraham
can only remember simple facts like "it has 18 in it and is something about making software for funny foreign types"
12:05
<zcorpan_>
like swedes?
12:05
<Dashiva>
And then there's that m12n or whatnot which I never remember what is
12:05
beowulf
wonders what the real title of the film se7en is
12:06
<annevk42>
Dashiva, l12n?
12:06
<Dashiva>
No, mNumberLetter
12:06
<zcorpan_>
m12n is modularization
12:06
<zcorpan_>
xhtml2 wg term :)
12:06
<Dashiva>
Aha
12:07
<Philip`>
beowulf: Semicitizen?
12:07
<Philip`>
beowulf: or Sempergreen?
12:07
<Dashiva>
7 would be the total number of letters, wouldn't it?
12:07
zcorpan_
wonders whether Philip` has an English dictionary which he can query with regexps
12:07
<zcorpan_>
Dashiva: no
12:08
<zcorpan_>
Dashiva: the numbers of letters that are replaced with the number
12:08
<Philip`>
zcorpan_: /usr/share/dict/words
12:08
<Philip`>
(on any sensible OS)
12:09
<jgraham>
http://www.morewords.com/ does what you want (probably)
12:09
<jgraham>
(although it didn't find Philip`'s matches so it obviously sucks)
12:11
Philip`
first heard the word "l10n" when Ultima Online had a "Public L10n Test" server, but it was drawn in a handwritingy font so it looked very much like "Lion"
12:12
<Philip`>
(UO's concept of "l10n" was to remove all the nice grammar in English, like adjectives in front of nouns for the names of magical weapons, and replace everything with boring-but-easy-to-localise phrases instead)
12:13
<annevk42>
btw, for future reference: http://en.wikipedia.org/wiki/Numeronym
12:32
<hsivonen>
yay for ecj:
12:32
<hsivonen>
9392: goto 0
12:32
<hsivonen>
9395: goto 9277
12:32
<hsivonen>
9398: goto 0
12:33
<hsivonen>
seems like a trivial optimization not to generate gotos like that
12:35
<Dashiva>
zcorpan_: That doesn't seem to match most of the ones listed here?
12:52
<zcorpan_>
Dashiva: it does afaict
12:52
<zcorpan_>
l10n - "ocalizatio".length == 10
12:53
<Dashiva>
Hmm, indeed. I must be sleepy still.
13:09
<Dashiva>
I wish lastweek would link some good music for once
13:25
<Philip`>
Dashiva: Maybe he'll take requests if you have something specific to recommend
13:37
<hsivonen>
I wonder if anyone makes good old-fashioned Java bytecode optimizers anymore
13:37
<hsivonen>
that'd flatten multilevel gotos and stuff
13:43
<roc>
probably
13:43
<roc>
I doubt they matter
13:43
<roc>
the JIT takes all that apart anyway
13:44
<hsivonen>
roc: the thing is that the JIT doesn't kick in at all if a method grows over 8000 byte codes in size
13:45
<roc>
well, that's dumb
13:45
<hsivonen>
roc: Or I could document that if anyone uses this library, they have to configure their JIT in a special way
13:45
<roc>
I guess you should avoid making such methods :-)
13:45
<hsivonen>
roc: but most likely people would just ignore that and say that HTML5 is slow
13:46
<hsivonen>
roc: as long as the JIT kicks in, one huge method of gotos JITs to faster code than a bunch of methods
13:49
<jgraham>
hsivonen: Break it into to so something?
13:50
<jgraham>
s/to/two/
13:50
<jgraham>
s/so/or/
13:50
<hsivonen>
jgraham: then I have to transfer local variables over
13:50
<hsivonen>
jgraham: and using fields instead of local variable is very bad if you are trying to minimize the # of bytecodes
13:51
<hsivonen>
But I may end up splitting some NCR stuff out
13:51
<hsivonen>
Of course, if Hixie adds a new state for --!>, I'll have to make room for some more bytecodes...
13:52
<jgraham>
Yeah, we really need at least --!> and preferably -- > to work
13:52
<jgraham>
So I would start clearing room :)
13:54
<hsivonen>
hmm. I guess at some point there's no point in counting byte codes and I should just document that HotSpot has a lame magic limit and how to disable the limit
13:55
<hsivonen>
limits like that feel really applet-ish
13:55
<hsivonen>
who'd want the JIT not to do its thing on a server?
14:00
<Philip`>
Maybe someone who doesn't want their server to crash because it's trying to JIT a million-bytecode method all at once?
14:04
<hsivonen>
so many constrains: validation needs, Java library needs, speculative parsing in C++, JIT limits...
14:06
<Philip`>
I guess there's also the constraint of being a single codebase, rather than one for each different use
14:10
<hsivonen>
the 8000 bytecode limit is really the most annoying constraint
14:10
<hsivonen>
I'm very close to giving up and fixing it in documentation
14:10
<hsivonen>
"use this incantation to get a 10x speedup"
14:11
<roc>
JVM methods can't be more than 64k bytes of bytecodes
14:11
<hsivonen>
roc: the main tokenization loop is currently at 8701 bytecodes, so it's not too near that limit
14:12
<hsivonen>
oh, yeah, CRLF is hugely annoying, too. a lot of the extra bytecode fat is due to CRLF handling
14:12
<roc>
I once wrote a bytecode instrumentation tool that had the ability to take apart methods grew to over 64K bytes and automatically partition them into smaller methods
14:12
<roc>
without worrying too much about performance of course
14:13
<heycam>
roc, can you commit that to rhino's codebase please? :)
14:13
<heycam>
i run in to it from time to time
14:14
<heycam>
it'd be nice not to just tell it to use interpreted mode unconditionally in advance, in those situations
14:14
<heycam>
oops, please ignore the smiley, i'm trying to cut back
14:14
<hsivonen>
(it seems that major design decisions in Antlr have been made due to the 8000 bytecode limit)
14:18
<hsivonen>
I wonder if dalvik and whatever AppEngine uses have this kind of magic limits
14:19
<heycam>
while trying to optimise some of rhino's codegen once, i noticed it was generating a 4000 byte method that was a massive switch that just returned false from every branch
14:19
<heycam>
(true, that wasn't compilation of js to java, and just a generated method to support compiled js, but still... seemd a bit excessive)
14:26
<ezyang>
gsnedders: What was the next most expensive function call after appendChild()?
14:27
<gsnedders>
uh, dunno.
14:27
<ezyang>
Wait, you didn't profile it?
14:27
<gsnedders>
Yes, I did.
14:27
<ezyang>
Ok
14:27
<gsnedders>
I can't remember what the profile said :P
14:28
<ezyang>
You should post that up somewhere public
14:28
<gsnedders>
(It kinda crashes my laptop opening it in KCachegrind though as it eats so much memory.)
14:29
<gsnedders>
(So I'm installing KCachegrind on my old Power Mac G5 which has more memory.)
14:29
<ezyang>
Yeah, swapping can be pretty painful
14:29
<ezyang>
How big is the profile file?
14:30
<gsnedders>
It got to 600MB before I killed php stopping it becoming bigger.
14:30
<ezyang>
Hmm.
14:30
<ezyang>
My suggestion is to take a smaller HTML file and use that
14:30
<gsnedders>
(And KCachegrind tends to use double the size of the input when loading.)
14:30
<gsnedders>
That's boring! :P
14:31
<ezyang>
If html5lib is not pathological, it should still be representative
14:31
<ezyang>
Anyway, my current ordering of priorities is: 1. Clean up the APIs, 2. Kick out a release, 3. Optimize the hell out of it
14:32
<ezyang>
Also, I start working today, so I won't have as much time to work on html5lib
14:33
<gsnedders>
on my blog the profile is totally different
14:33
<ezyang>
Oh?
14:33
<gsnedders>
HTML5_Tokenizer::parse is slowest
14:33
<ezyang>
Is this total runtime or runtime within?
14:33
<gsnedders>
Just within it.
14:34
<gsnedders>
TreeConstructor::emitToken is next slowest
14:34
<ezyang>
Well, duh
14:34
<gsnedders>
then consumeCharacterReference
14:34
<ezyang>
Those are our two big honking switch cases
14:34
<gsnedders>
Then Tokenizer::emitToken
14:34
<ezyang>
consumeCharacterReference isn't surprising either
14:34
<gsnedders>
then InputStream::charsUntil
14:35
<ezyang>
These are all fairly obvious, and non-trivial to fix, unfortunately
14:35
<ezyang>
I'll run the profiler myself (I tend to favor Wikipedia pages) and see what I can do, after (1) and (2) are done
14:35
gsnedders
wonders what a decent medium sized page is
14:36
gsnedders
does from a non-bias POV http://en.wikipedia.org/wiki/United_Kingdom
14:38
<gsnedders>
appendChild is 8th most expensive there
14:39
<gsnedders>
I think we could remove our own appendChild and just use DOMNode::normalize
14:40
<Philip`>
gsnedders: The mean page size is something like 20KB
14:40
<Philip`>
(in my samples)
14:47
<gsnedders>
ezyang: Where do you want the call for parsing to actually go?
14:47
<zcorpan>
hsivonen: Start: Go to "X-UA-Compatible <meta>?". - you've forgotten to curlify the quotes there
14:48
<hsivonen>
zcorpan: thanks
14:49
<hsivonen>
zcorpan: fixed
14:52
<gsnedders>
ezyang: What are these "godawful libxml bugs"?
14:52
<zcorpan>
hsivonen: IE=6 is the same as IE=5
14:52
<zcorpan>
i.e. quirks mode
14:52
<hsivonen>
zcorpan: thanks. (that'll take a bit more time to update)
14:53
<annevk42>
really? that's somewhat unexpected
14:54
jgraham
wonders how long annevk42 will be known as "Anna" for in the html5lib wiki
14:54
<annevk42>
jgraham, considering how often that wiki is updated, pretty long
14:54
<jgraham>
That page was only created yesterday or so though
14:55
<zcorpan>
annevk2: well i just tested it. it wasn't what i expected, either
14:55
jgraham
is not sure why it is so important to know who the project is done by rather than ho to use it
14:56
<annevk42>
ah, i guess that must be from the person I added to the project
14:56
<annevk42>
he said he was going to work on documentation
14:56
<beowulf>
jgraham: babes might be interested
14:59
gsnedders
laughs, and shakes his head
15:03
<annevk42>
"formal W3C Note" hmm
15:17
<zcorpan>
re http://www.w3.org/mid/4A23E22C.2010502⊙gd - i thought there were more issues, like what to do with whitespace and lone %
15:21
<zcorpan>
hsivonen: forgetting a ">" of an end tag results in lots of messages
15:21
<zcorpan>
hsivonen: see e.g. http://www.webforum.nu/showthread.php?t=174764
15:21
<zcorpan>
<p><a href="http://www.djurssommerland.dk/">Djurs sommarland</a är något man inte får missa om man ...
15:22
<zcorpan>
on a start tag it's even worse
15:28
<zcorpan>
hsivonen: maybe if a tag has an illegal attribute, silence all other illegal attribute messages and duplicate attributes messages for that tag
15:28
<zcorpan>
hsivonen: also, it seems pointless to emit any other messages than "attributes on end tag" for end tags
15:32
<zcorpan>
http://bugzilla.validator.nu/show_bug.cgi?id=579
15:37
<hsivonen>
zcorpan: thanks
15:53
<hsivonen>
I wonder why Flickr slideshows are Flash
15:53
<hsivonen>
is it all because of the ability to go full-screen?
16:05
<jgraham>
Gah, the sanitizer in html5lib.filters.sanitizer seems to be broken
16:22
<jgraham>
hsivonen: It works with the video, of course
16:23
<jgraham>
But it would be a neat project to do a flickr slideshow viewer in html5
16:23
<hsivonen>
jgraham: they had Flash slideshows long before video
16:24
<hsivonen>
but it would be cool if Flickr went Flashless
16:25
<jgraham>
hsivonen: I know. But at the moment it seems like a good reason not to use HTML
16:26
<jgraham>
The nice thing about a flashless slideshow is that I would get better colours in browsers that support embedded colour profiles
16:26
<zcorpan>
hmm, the <script src>//documentation</script> abnf only supports LF and multiline comments can't contain stars or slashes *at all* if i'm reading it correctly
16:26
<hsivonen>
support for color profiles doesn't necessarily mean better color :-/
16:27
<hsivonen>
a lot of color management is GIGO, unfortunately
16:27
<jgraham>
hsivonen: For photography it generally means better colour
16:28
<hsivonen>
jgraham: if you actually have right profiles
16:28
<hsivonen>
throughout the workflow
16:28
<jgraham>
Since a large fraction of the people have reasonably well calibrated monitors and are using profile-aware applications like Lightroom
16:28
<jgraham>
(and photoshop)
16:32
<jgraham>
e.g. compare http://www.flickr.com/photos/jgraham/3567837536/sizes/l/ in various browsers
16:32
gsnedders
wonders what 15 minute walk is
16:33
<jgraham>
(although I actually think that I made some mistakes with the processing of that in terms of aesthetic judgement, but that's not really the point)
16:34
<gsnedders>
jgraham: if Bibbi said 15 minutes walk, what sorta distance do you think she'd mean?
16:35
<jgraham>
gsnedders: I guess the sort of distance that you could walk in 15 minutes
16:35
<jgraham>
gsnedders: Do you have an address or anything?
16:35
<gsnedders>
jgraham: No
16:35
<gsnedders>
Just, "Close to the office (about 15 minutes walk)"
16:35
<jgraham>
Well that could be anywhere but I guess within 1km or so
16:36
<zcorpan>
i have about 15 minutes walk to the office
16:36
<jgraham>
me too
16:36
<gsnedders>
15 minutes at what speed for a start :P
16:36
<zcorpan>
walking speed of course
16:36
<jgraham>
but we live at pi/2 radians from each other
16:37
<jgraham>
gsnedders: I guess normal walking speed is about 2.5 miles/hour
16:37
<jgraham>
so 15minutes walk is about 5/8 of a mile. Or 1km
16:37
<jgraham>
Which is what I said before
16:39
gsnedders
works out basically where 1km away from the centre is
16:39
<gsnedders>
(Or rather, from where the office is)
16:40
gsnedders
notes Google Maps puts the office right in the middle of Centrum Ring, which I kinda doubt :P
16:40
<zcorpan>
if (window.widget.harharhar)
16:42
hsivonen
notes that Chrome doesn't show the video thumbnails in the YouTube demo
16:45
zcorpan
notes that the youtube demo uses <div><h1> instead of <details><legend>
16:46
<zcorpan>
the document outline will be shorter if they migrate to <details>
16:46
<jgraham>
gsnedders: According to http://maps.forum.nu/gm_sensitive_circle2.html I live about 1.5km from the office. But I guess it takes a little more than 15 minutes for me to get in
16:52
gsnedders
needs to work out when he'll leave Linköping
16:52
<jgraham>
gsnedders: It is like Hotel California
16:52
<gsnedders>
jgraham: ?
16:53
<gsnedders>
I think not the day after I finish, as the only flight that day is a 6:30am
16:53
<jgraham>
gsnedders: Just a throwaway pop-culture reference
16:53
<gsnedders>
jgraham: Ah. Pop-culture. That's the problem :P
16:55
<gsnedders>
Wait, what…
16:55
<gsnedders>
Flights from Stockholm (Skavasta) to Berlin (Schönefeld) for 55SEK!?
16:56
<jgraham>
gsnedders: Ryanair?
16:56
<gsnedders>
jgraham: Yeah
16:56
<jgraham>
gsnedders: Check the "Taxes" and "Fees"
16:56
<gsnedders>
Taxes and Fees it claims to be 0.
16:56
<gsnedders>
That's what is surprising me so much
16:57
<jgraham>
gsnedders: Oh you found one of those flights. In that case you will only have to pay for luggage, booking fee, etc.
16:57
<gsnedders>
Every day apart from Friday and Sunday
16:57
<gsnedders>
(On the Sunday it is 314.78 SEK)
16:58
gsnedders
probably won't get a plane ticket from Berlin to Britain yet, as he doesn't know whether he'll be going to London or to home…
17:04
<gsnedders>
WTF?
17:04
<gsnedders>
Flights for £0.00 (excluding taxes/fees)
17:05
<gsnedders>
At 6am, though :P
17:10
<jgraham>
gsnedders: 0 excluding taxes/fees == about 50GBP all told, usually
17:12
<gsnedders>
It was more than that
17:12
<gsnedders>
But I don't care.
17:12
gsnedders
is going for a flight at a more reasonable time of day :P
17:25
jgraham
has paid an extrodinary amount of money for the last few sets of Ryanair flights he has booked
17:26
<jgraham>
Because I don't tend to book early enough and because they are not nearly as cheap as they make out
20:27
<annevk42>
how does http://software.hixie.ch/utilities/js/live-dom-viewer/saved/124 demonstrate margin collapsing?
20:27
<annevk42>
oh, zcorpan is not here
20:35
<Hixie>
aaah, the epitomy of process over progress: http://www.w3.org/mid/4A2428A2.6080205⊙gd
20:38
<Dashiva>
But what if about:blank totally changes meaning during the process? ;)
20:41
<gsnedders>
Hixie: s/y/e/
20:42
<Hixie>
so it seems
20:42
<Hixie>
thanks
20:42
<Hixie>
Dashiva: exactly
20:43
gsnedders
fixes a test case in php html5lib by fixing the test handler to actually follow the test format :P
20:43
<annevk42>
Hixie, yeah :/
20:43
<annevk42>
Hixie, though if they think it really matters maybe they should leave the value space up to some other RFC...
20:44
annevk42
wonders who'll write all of those
20:44
<Hixie>
i have faith that adam will do the right thing
20:44
<annevk42>
the right thing was just made harder
20:45
annevk42
kind of like about:noreferrer
20:45
<annevk42>
likes*
21:08
jgraham
wonders who the people are that go "oh no that's just a draft standard I can't possibly implement the well defined thing that I need for interoperability"
21:11
<tantek>
jgraham, Perhaps those that then must maintain back/bug-ward compatibility with their implementation of the draft standard for 3+ years for enterprise users and others that don't upgrade implementations very often.
21:14
<jgraham>
tantek: In the case where the draft is really unstable that seems reasonable. But in the case of e.g. about: it's fixed by legacy anyway
21:15
<Hixie>
i like larry's observation that we don't understand the ietf process given how he doesn't understand the whatwg process :-)
21:15
<tantek>
jgraham, agreed. when a draft standard is simply documenting existing (hopefully widely known) interoperable behavior, the excuse of "draft" does not hold much weight.
21:21
<annevk42>
afaict Larry is wrong too
21:21
<annevk42>
tools.ietf.org is generally considered to be the space of official IETF documents
21:21
<annevk42>
moreover, I believe there's no documented guarantee that the links there won't break either
21:21
<annevk42>
is not generally* duh
21:37
<expensivelesbian>
Hello all, just a random question - if one wanted to write some sort of "visualiser" (VU meters, graphical EQ bars and the like), taking the output of an <audio> element, would this be possible currently, with HTML5 + JavaScript? If this question is off topic, someone please say nicely and I'll scurry off elsewhere
21:38
<annevk42>
http://lists.w3.org/Archives/Public/public-html/2009Jun/0036.html really, what's the obsession with introducing versioning? is it some kind of nirvana?
21:40
<annevk42>
expensivelesbian, it's not off-topic, but I don't think it's possible either currently
21:40
<roc>
it's not possible
21:40
<annevk42>
expensivelesbian, unless you skip the <audio> element and parse the stream directly in ECMAScript, but besides that being hard you might run into some limitations as well (e.g. no real byte stream representation)
21:43
<expensivelesbian>
ok, thanks for the answers. I'll have a ponder on this
21:45
<annevk42>
I guess due to <canvas> you can do a lot more with <video>
21:45
<annevk42>
but then audio manipulation is prolly much harder
21:46
<expensivelesbian>
well, it was that bounding boxes demo got me thinking, "there must be something _like_ that for poor old neglected <audio>"
21:50
<annevk42>
expensivelesbian, sorry
21:50
<annevk42>
expensivelesbian, there have been discussions, but nothing concrete yet
21:59
<annevk42>
quotes in http://edward.oconnor.cx/2009/BarCamp-San-Diego-5/ are nice -- navigation within that presentation is a bitch though, what's back?
22:26
<hober>
I don't think I got around to implementing back...
22:27
<hober>
I should really make a print stylesheet too..
23:22
<ezyang>
gsnedders: (a very late response) Put it in HTMLParser. That should be the "public interface"
23:23
<ezyang>
gsnedders: Godawful libxml bug == "Namespace Error" when you try to set a namespaced attribute.
23:24
<jwalden>
so, looking at the websocket protocol, what constraints are enforced on the server regarding processing of the input? is it an error if tab-delimited "header" lines are received? what if "multi-line headers" are received? basically, websockets looks like HTTP, but at what point does accepting HTTP input that's more lax than the websocket client input constitute a violation of the protocol...
23:24
<jwalden>
...requirements?
23:26
<Hixie>
what do you mean by "enforced"?
23:26
<Hixie>
the protocol spec says what you're expected to suport
23:26
<Hixie>
support
23:26
<Hixie>
as a server-side author
23:27
<jwalden>
s/enforced/required/, then
23:27
<jwalden>
the client is required to follow the exact steps given in the draft
23:27
<Hixie>
http://tools.ietf.org/html/draft-hixie-thewebsocketprotocol-12#page-15
23:28
<jwalden>
the server, it seems, has latitude to accept more than that
23:28
<jwalden>
is the server required to accept input from a client that doesn't actually follow the strictures of the client-processing section?
23:28
<jwalden>
yes, I've been looking at that
23:29
<ezyang>
gsnedders: My idea is to implement SimpleTree and watch our performance problems melt away ^_^
23:29
<Hixie>
jwalden: the server doesn't have to do any error handling, if that's what you mean
23:29
<jwalden>
okay
23:30
<jwalden>
that seems...dangerous
23:30
<jwalden>
not in any tangible sense
23:30
<Hixie>
the ability to control authors is basically nil
23:30
<Hixie>
so getting them to implement particular error handling behavior... forget it
23:30
<jwalden>
but in the sense of I-can-plausibly-believe-this-will-bite-us-at-some-point
23:30
<jwalden>
no, this is error handling server-side
23:31
<Hixie>
right
23:31
<Hixie>
authors write the server side
23:31
<jwalden>
oh, there are authors on both sides
23:31
<jwalden>
hum, this might work then
23:32
<Hixie>
i could write a new section
23:32
<Hixie>
which is "full requirements for server-side implementors that actually follow specs"
23:32
<Hixie>
if you like
23:32
<Hixie>
might not be a bad idea
23:32
<jwalden>
dunno, yet
23:32
<Hixie>
if you do think that would be useful, send a mail to whatwg, and i'll add it
23:33
<jwalden>
I'm just looking at this from the POV of the Mozilla bug, in which our HTTP server is being lightly hijacked to support all this, worried about being more generous in accepting input than it should be
23:33
<Hixie>
is this for testing or for production?
23:34
<Hixie>
for regression testing, it doesn't matter what the server does, it just has to check that the client sends exactly the right bytes
23:34
<jwalden>
I try not to differentiate the two when I write servers (or rather, when I write the one server I've written so far)
23:34
<Hixie>
a regression test suite server and a production server are completely different
23:34
<Hixie>
you can't, e.g., use apache to do serious regression testing of client-side http behaviour
23:34
<jwalden>
yes, but that doesn't mean one shouldn't make an effort not to make it safe-by-default
23:35
<Hixie>
i don't really see how a regression-testing server framework can be unsafe -- it has to accept any input whatsoever
23:36
<jwalden>
hm, I think we're talking about different meanings; "production" to me is use in which inputs are unconstrained, "regression-testing" in the sense of inputs are constrained but may intentionally be random junk
23:36
<jwalden>
constrained by whatever's in the test suite using it
23:40
<jwalden>
on an unrelated note, reading RFC-style formatting rather than whatwg-style formatting is no fun :-(
23:40
<jwalden>
especially since things like "find" don't work due to ASCII text-decorations
23:42
<Hixie>
jwalden: an "in production" server is one serving end-user traffic
23:42
<jwalden>
we agree on that
23:42
<Hixie>
jwalden: a regression testing server is one used to test another tool's implementation
23:43
<jwalden>
sure, just say that I like my regression testing servers to have as rigorous an implementation as a production server must have
23:43
<Hixie>
so an in-production server can do things like disconnect if the input is bogus
23:43
<Hixie>
but a regression testing server needs to report pass/fail for all inputs
23:55
<gsnedders>
http://larry.masinter.net/versioning-html.html
23:55
<gsnedders>
(from www-tag)
23:56
<ezyang>
'lo gsnedders
23:56
<ezyang>
Did you see my late late late msgs?
23:56
<gsnedders>
ezyang: yes
23:57
<gsnedders>
ezyang: I've fixed another test case (actually, I've fixed the test runner).
23:57
<ezyang>
Makes sense
23:57
<ezyang>
The strDom() function is hack on hack on hack