05:49
<G0k>
Hixie: so what the status on server sent events?
05:53
<Hixie>
how do you mean?
05:53
<G0k>
about it being possibly removed?
05:54
<Hixie>
it hasn't seen much implementation from other browser vendors than opera, and it's redundant with other features
05:54
<Hixie>
so it might possibly be removed
05:54
<G0k>
which other feature makes it redundant?
05:54
<othermaciej>
we might implement it in WebKit
05:54
<othermaciej>
you could argue it is redundant with XMLHttpRequest
05:55
<Hixie>
it's redundant with networking and with multipart xmlhttprequest
05:55
<othermaciej>
(assuming it is spec'd clearly enough that you can rely on getting multiple responses for separate data chunks)
05:55
<othermaciej>
not even multipart
05:55
<othermaciej>
people use regular-type XHR for multiple server-sent messages over one connection
05:56
<Hixie>
true
05:56
<othermaciej>
but <event-source> is potentially a nice convenience
05:56
<G0k>
i have two concerns about it
05:56
<Hixie>
yeah, the question is should the platform have conveniences? or just the core platform features that can be used to implement the conveniences?
05:57
<G0k>
i think the DOM event metaphor is really strained
05:57
<Hixie>
if we do keep it, we'll certainly need to massively simplify it. it's way over-engineered right now.
05:57
<othermaciej>
it should have conveniences in cases where patterns are very commonly seen in library code
05:57
<G0k>
and it's impossible to implement backwardsly
05:57
<G0k>
yeah
05:57
<othermaciej>
thus the Selectors API
05:57
<othermaciej>
(and getElementsByClassName)
05:57
<Hixie>
yep
05:58
<Hixie>
maybe this is such a case
05:58
<Hixie>
maybe it isn't
05:58
<G0k>
hixie: what if we a) make it for Message events only and b) add a way to implement it based on slow download requests so that it can be emulated with XHR for older browsers?
05:58
<Hixie>
that's why it's marked as "may be removed". cos it may be removed. :-)
05:59
<G0k>
so like old browsers can add application/x-dom-event-not-a-stream to their Accept headers, and it will just end the connection after every event is sent
05:59
<Hixie>
G0k: (a) is easy; but i'm not sure i follow (b). If you have a solid proposal, feel free to mail it to the list for consideration.
05:59
<Hixie>
i wouldn't rely on Accept headers for anything
05:59
<Hixie>
but yeah
06:00
<G0k>
why not?
06:00
<Hixie>
that kind of stuff hasn't historically worked well
06:01
<G0k>
hm. i suppose we could do it the other way around, if it doesn't have the accept header for the event stream, the server would default to a non-streaming method
06:03
<Hixie>
i would recommend something that doesn't in any way involve accept or content-type headers working correctly
06:04
<Hixie>
if the web's history has taught us anything, it's that people don't understand or honour mime types.
06:04
<othermaciej>
G0k: you don't have to end the connection after every event to work with XHR
06:04
<G0k>
well even if the accept wasn't formed correctly, the worst thing that would happen is that it would degrade to slower behavior
06:04
<othermaciej>
G0k: I believe current-generation browsers could emulate server-sent events on top of XHR using the current HTML5 event stream format
06:05
<othermaciej>
(though I haven't actually tried it)
06:05
<G0k>
othermaciej: i've found the behavior of partial downloads kinda unpredictable though
06:05
<othermaciej>
the JS library folks are calling the persistent connection for messages from the server thing "COMET"
06:06
<othermaciej>
so probably a sensible thing to do would be to find what kind of API they offer as design input for a standards-track way of doing it
06:06
<Hixie>
COMET is just one implementataion, as i understand it
06:06
<G0k>
i think it's really critical to be able you can emulate this in older browsers
06:06
<othermaciej>
I thought COMET was the concept
06:06
<G0k>
i think comet is a big idea
06:06
<G0k>
yeah
06:06
<othermaciej>
http://en.wikipedia.org/wiki/Comet_(programming)#Browser_compatibility
06:06
<othermaciej>
here's the mechanisms people have used for it
06:06
<othermaciej>
but I dunno what kind of API is offered
06:06
<Hixie>
man people have got to stop making up new acronyms for stuff that already has names
06:07
<G0k>
i've seen many
06:07
<othermaciej>
wow, lots of info about WebKit in there
06:07
<othermaciej>
very educational
06:08
<G0k>
from my basic research, i think the most reliable implementations have used a "slow download with re-download" XHR or iframe method
06:08
<G0k>
the multipart thing would allow for constant connections, but only gecko really does that
06:08
<othermaciej>
streaming over a single connection works just as well
06:09
<othermaciej>
I'm not sure what is better about multipart
06:09
<othermaciej>
other than handling message boundaries inside the engine
06:09
<G0k>
i think that's the critical issue
06:09
<othermaciej>
it's not that hard to make up a protocol for message boundaries
06:09
<G0k>
i don't think any UAs really make guarantees about when they flush their buffers for XHR reads
06:10
<othermaciej>
neither WebKit nor Gecko will buffer indefinitely
06:10
<othermaciej>
I don't know about IE
06:10
<G0k>
no, but imagine a chat application
06:10
<othermaciej>
I assume the streaming XHR thing doesn't work in IE or people would use it
06:10
<G0k>
even if it's 15 seconds, that's bad
06:11
<G0k>
which is why people (meebo, for instance) use multiple requests
06:11
<othermaciej>
is it ever actually 15 seconds?
06:11
<othermaciej>
I don't actually know
06:11
<G0k>
i'm haven't benchmarked it
06:12
<G0k>
this wikipedia page seems to suggest that it never fires on webkit until at least 256 bytes are recieved
06:12
<othermaciej>
anyway it would be good for WebKit to support multipart/x-mixed-replace in XHR (I assume that is the kind people mean), but I am not entirely sure what correct behavior for that is supposed to be
06:12
<othermaciej>
I guess we'd have to reverse-engineer Gecko
06:12
<othermaciej>
G0k: I don't think that is true
06:12
<othermaciej>
older versions used to require some amount of data to be sent to prime the buffer initially
06:13
<othermaciej>
I think after that (and now right away) it will fire readystate 3 without a floor on bytes received
06:13
<othermaciej>
(could be wrong, but that's my recollection)
06:13
<G0k>
ok, but it's highly possible that opera and IE don't even do that
06:14
<G0k>
and i don't think the XHR specs even specify this
06:14
<G0k>
also imagine a proxy server
06:14
<G0k>
actually, don't, that makes no sense
06:14
<Hixie>
58 tests done, 42 tests to go.
06:14
<Hixie>
more than half-way there!
06:14
<G0k>
woot
06:15
<othermaciej>
XHR specs don't specify this, but they could
06:15
<othermaciej>
used to be they didn't specify anything
06:15
<G0k>
ok but that won't make IE support it
06:16
<G0k>
i really really feel being able to emulate this kind of thing on old browsers is a splendid idea
06:16
<othermaciej>
x-mixed-replace is a pretty crappy wire protocol as far as message boundaries go
06:16
<G0k>
yeah
06:17
<G0k>
plus it makes server code potentially really complicated
06:17
<othermaciej>
really? seems no worse than any other server-sent message protocol
06:18
<othermaciej>
as far as impact on most of your server code
06:18
<othermaciej>
(presumably on some level the server has an API that says "post this message now" or something)
06:19
<G0k>
well yeah once you abstract that away
06:19
<G0k>
but now you have to set up boundaires
06:20
<G0k>
and escape your data appropriately
06:22
<othermaciej>
is there escaping?
06:22
<othermaciej>
I think you just need to make sure to pick a boundary string that won't appear in the message
06:22
<othermaciej>
which is what sucks
06:22
<othermaciej>
if there was escaping, you could let some abstraction layer pick the boundary and do escaping
06:22
<G0k>
yeah so how do you know that before you start sending
06:23
<G0k>
i mean in this particular case, i think the fact that boundaries start with --- and the dom event stuff doesn't makes it easier
06:23
<othermaciej>
I guess you can do "escaping" by making sure no line ever starts with --
06:26
<G0k>
still, this doesn't help us for older UAs that don't support mixed
06:27
<othermaciej>
no new feature helps for older UAs
06:28
<G0k>
but i'm saying if we had a mode which used mulitple connections
06:28
<G0k>
that could emulate server sent events even on UAs which only support single part XHR
06:29
<othermaciej>
I think you'd be better off using the Htmlfile control in IE and streaming XHR in other browsers
06:29
<othermaciej>
if what you want to do is put a nicer API on top of existing UA functionality
06:30
<G0k>
what is the Htmlfile control?
07:37
<Hixie>
i want to test HTTP somehow in acid3
07:37
<Hixie>
but i have no idea how
07:37
<Hixie>
i don't want to do anything fancy on the server side...
07:59
<jruderman>
Hixie: what aspect of HTTP?
08:00
<Hixie>
dunno
08:00
<jruderman>
Hixie: acid 2 tested browsers' recognition of 404 errors quite nicely, i hear ;)
08:00
<Hixie>
ooh, yeah, could test <object> and 404 stuff
08:01
<jruderman>
how about <object type> vs server-provided content-type?
08:01
<Hixie>
that one's controversial
08:02
<jruderman>
oh, you're trying to stay *away* from controversy? :P
08:02
<Hixie>
in acid tests? yeah, ideally
08:03
<Hixie>
acid tests are controversial enough as it is without them risking their credibility
08:03
<jruderman>
hehe, ok
08:03
<Dashiva>
They're supposed to be borderline useful, not purely spec nitpicking :)
08:03
<jruderman>
according to https://bugzilla.mozilla.org/show_bug.cgi?id=395110#c17 safari get the <object type> thing "wrong"
08:03
<Hixie>
yeah but html5 might make that "right"
08:03
<jruderman>
so i'm not surprised to hear that it's controversial
08:03
<Hixie>
it's unclear what's going to happen with that
08:03
<jruderman>
interesting
08:04
<Hixie>
html5 already says to ignore content-type for <script>
08:04
<Hixie>
and <img> has some thing where all image/* types are treated equivalently iirc
08:05
<Hixie>
content-type, in retrospect, is such a bad idea
08:05
<jruderman>
why is it a bad idea?
08:05
<Hixie>
so few people get it right
08:05
<Hixie>
it gets in the way of people more often than it helps
08:06
<Hixie>
doesn't really help the human race
08:06
<Hixie>
we shoudla done everything with unambiguous magic byte sequences
08:33
<othermaciej>
Hixie: it's hard to test http in any serious way without using XMLHttpRequest
09:09
<Hixie>
othermaciej: yeah
09:14
<Hixie>
oh jesus
09:14
<Hixie>
i try to catch a webkit bug and a gecko bug with one carefully crafted test, and IE7 responds by crashing.
09:15
<Hixie>
*sigh*
09:16
<Lachy>
are you trying to avoid including crash bugs in the acid test?
09:16
<Hixie>
yes
09:16
<Hixie>
pissing off the media is tactically bad
09:16
<Hixie>
and crashing a reporter's browser would piss him off
09:16
<Hixie>
:-)
09:19
<othermaciej>
Hixie: obviously you need to make pH 0 acid test of all crash bugs
09:19
<Hixie>
man that would be a bitch to write :-)
09:19
<Hixie>
so apparently it's only my copy that crashes
09:20
<Hixie>
i have two people who've tested IE7 on XP and it didn't crash
09:21
<Lachy>
oh nice, MS are disabling support for older MS Office formats. http://it.slashdot.org/article.pl?sid=08/01/01/137257 - Hooray for proprietary formats! :-) (too bad if you have some in your archive you need to read one day)
09:22
<othermaciej>
good thing we're not reading that through an article.xaml or article.swf url then
09:22
<Hixie>
the last test i added to acid3 shows a really weird bug in firefox
09:22
<Hixie>
check out the dot in the "i" of "Acid3"
09:34
<Lachy>
Hixie, is the support-a.png image supposed to be a cat?
09:36
Lachy
wonders if Hixie would ever use a picture of any other type of animal?
09:37
<Lachy>
gotta go, back soon
09:41
<Hixie>
heh
09:41
<Hixie>
support-a.png returns a 404 of a cat, yes
09:53
<Hixie>
right
09:54
<Hixie>
i worked around the IE crash
09:54
<Hixie>
it still shows the IE error messages
09:54
<Hixie>
oh wait i might be able to work around that too
09:55
<Hixie>
yes!
09:55
<Hixie>
haha!
09:55
<Hixie>
take that, silly crashing browser that i wasn't even trying to show a bug in!
09:55
<Hixie>
i managed to make it not crash or show errors without even using anything outside of DOM1 Core!
09:55
<Hixie>
and without doing anything unjustifiable!
09:56
<Hixie>
and it still shows the wacky rendering in firefox!
09:56
<Hixie>
41 tests to go
10:15
<hsivonen>
Philip`: hmm. looks like the Xalan serializer is broken. :-(
10:16
<hsivonen>
Philip`: also, the Sun UTF-8 decoder is bogus for not catching CESU-8
10:22
<hsivonen>
I wonder if there's somekind of project management theory on when it's worthwhile to write your own XML serializer instead of work around the bugs in someone else's
10:40
<hsivonen>
aargh. People should write UTF-8-only serializers. The UTF-8 output of the Xalan serializer is broken because it tries to be too smart about output encodings
11:10
<hsivonen>
http://java.sys-con.com/read/478303_2.htm
11:11
<hsivonen>
"HTML5 will eclipse XHTML" according to Microsoft Senior Evangelist
11:11
<Hixie>
didn't that happen already?
11:23
<hsivonen>
Philip`: https://issues.apache.org/jira/browse/XALANJ-2419
11:39
<Philip`>
hsivonen: Fun
11:53
<hsivonen>
Philip`: I could turn my HTML5 serializer into a doctypeless namespaceless XML serializer with relative ease
11:53
<hsivonen>
Philip`: the problem is that to really replace the Xalan serializer, I'd need to write the code that reconstructs the namespace declarations
11:54
<hsivonen>
and it seems to me that the time it would take could be used for feature work
11:58
<Hixie>
40 tests to go
12:04
<hsivonen>
so, should a filter that takes out extension namespaces before validating zap the tags or zap the subtree?
12:05
<hsivonen>
I'm inclined to say subtree, but I could argue why you'd want to zap just tags
12:06
<Philip`>
http://validator.w3.org/check?uri=http%3A%2F%2Fphilip.html5.org%2Fmisc%2Fchars.html&charset=iso-8859-1&output=soap12
12:07
<Philip`>
Why is well-formedness so totally impossible to get right?
12:08
<hsivonen>
Philip`: fun. Are you planning on reporting the bug?
12:09
<Philip`>
hsivonen: I don't really care enough about getting it fixed to bother reporting it
12:10
Philip`
thinks someone should make an Apache filter which detects XML responses and tests for well-formedness and if there's a problem it emails the server owner
12:20
<hsivonen>
Philip`: reported
12:27
<zcorpan>
http://validator.nu/?doc=http%3A%2F%2Fphilip.html5.org%2Fmisc%2Fchars.html&out=xhtml
12:31
<hsivonen>
zcorpan: yeah, known bug. https://issues.apache.org/jira/browse/XALANJ-2419
12:43
<Philip`>
hsivonen: Thanks
12:43
<Philip`>
(I should probably stop being so lazy...)
13:05
<krijnh>
Ping
15:08
<Philip`>
Evil plan:
15:08
<Philip`>
* Find a project which uses git
15:08
<Philip`>
* Commit something, and put U+FFFE in the commit message
15:09
<Philip`>
and then nobody can use gitweb any more, unless they use IE
15:09
<Philip`>
(git says "Warning: commit message does not conform to UTF-8." but it commits anyway)
15:09
<hdh>
probably put some dummy repo on repo.or.cz
15:24
<takkaria>
Philip`: why's that a good idea?
15:26
<Philip`>
takkaria: Evil plans aren't meant to be good ideas :-p
15:39
<kig>
MacDomeOut: re: tablet, the cheapest intuos 3 is $200, but maybe easier to find someone in vicinity with one..
15:44
<zcorpan>
hsivonen: your xhtml 1.0 schema seems to allow <noscript> in inline contexts
15:48
<hsivonen>
zcorpan: did XHTML 1.0 ban that?
15:48
<zcorpan>
hsivonen: html4 and xhtml1 allows noscript in block contexts only
15:48
<hsivonen>
zcorpan: ok. thanks
15:50
<zcorpan>
<!ENTITY % Block "(%block; | form | %misc;)*"> ... <!ENTITY % misc "noscript | %misc.inline;">
15:50
<hsivonen>
<script> works as inline, doesn't it?
15:50
<zcorpan>
yes
15:51
<zcorpan>
<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*"> ... <!ENTITY % misc.inline "ins | del | script">
15:55
<hsivonen>
zcorpan: fix deployed. thanks
16:01
<zcorpan>
hsivonen: <h1><noscript><p>... still validates for me
16:02
<hsivonen>
hmm
16:41
Philip`
wonders how best to implement X3D's <Text/>
16:42
<Philip`>
I guess I have to do it as a textured quad, probably using mozDrawText in Firefox and using drawImage(svg) in Opera, or something like that...
16:44
<kig>
unless you want to write a freetype font server and ....
16:48
<Philip`>
I'd like to avoid relying on a server, though I think I'll end up requiring one anyway so I can do cross-domain XHR :-(
17:15
<Philip`>
What is window.Text? (I can't find any documentation of it...)
17:15
<Philip`>
Oh, looks like http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-1312295772
17:16
<Philip`>
Doesn't sound very useful, so I'll overwrite it with my own global Text variable
18:33
<kig>
hohoo, bounding box scaling working. next is snap to original scale and shift-constrained rotate and scale
18:33
<Philip`>
Well, this would work better if texImage2DHTML didn't always crash when I use it
18:34
<kig>
ssss
18:35
<kig>
what is it supposed to do?
18:35
<Philip`>
It's supposed to not crash
18:35
<Philip`>
and, preferably, it should do some texture binding stuff
18:35
<Philip`>
(when given an image or canvas to convert into a GL texture)
18:36
<kig>
ah
18:39
<kig>
do you have the texture bound?
18:40
<kig>
since all texImage2DHTML seems to do is get the image surf data and call glTexImage2D with it
18:41
<Philip`>
I was stupid and forgot to call bindTexture; but now I am calling it and it still crashes :-(
18:43
<kig>
:I
18:44
Philip`
tries building a debug version, and hopes he has enough disk space
18:45
<kig>
paste a snippet?
18:46
<kig>
(not that crashing the browser as a failure mode is very nice)
18:55
<Philip`>
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!doctype%20html%3E%0D%0A%3Cimg%20src%3Dhttp%3A%2F%2Fphilip.html5.org%2Ftests%2Fcanvas%2Fsuite%2Fimages%2Fred-16x16.png%20id%3Di%3E%3Ccanvas%20id%3Dc%3E%3C%2Fcanvas%3E%0D%0A%3Cscript%3E%0D%0Awindow.onload%20%3D%20function%20()%20%7B%0D%0A%20%20var%20gl%20%3D%20document.getElementById('c').getContext('moz-glweb20')%3B%0D%0A%20%20var%20ids%20%3D%20gl.genTextures(1)%3B%0D%0A%20%20gl.bindTexture(gl.T
18:55
<Philip`>
Oops, bit long
18:55
<Philip`>
http://tinyurl.com/28eceb
19:04
<kig>
that sure looks like it should work
19:06
<Philip`>
I was going to look at normal texturing after adding some primitive text, but I guess I'll have to give up on both of those ideas for now :-(
19:21
<Philip`>
Oh, great, now I get errors when compiling Mozilla on Vista because Vista guesses that nsinstall.exe is a program installer because it has "install" in its name, and so it requires admin privileges which it can't get when running on the command line and so it dies
19:36
<jruderman>
Hixie: https://bugzilla.mozilla.org/show_bug.cgi?id=410460 ;)
19:40
<gavin>
I filed that yesterday when Hixie was asking about it in #devs
19:40
<gavin>
he knows about it :)
21:07
<gsnedders>
hmmm. "ANSI" seems to be an alias for US-ASCII in the real world.
21:26
<gsnedders>
No, for windows-1252
21:27
<gsnedders>
That can't be right :\
21:33
<Hixie>
hsivonen: http://groups.google.com/group/google-caja-discuss/browse_thread/thread/712c772b93777a64/88dcb5f7799358af?hl=en&q=whatwg#88dcb5f7799358af (search for validator.nu) in case you didn't know
21:51
<hsivonen>
Hixie: interesting. I wasn't aware. thanks. (however, it isn't called libhtmlparser and it's under the MIT license, not MPL)
21:53
<Philip`>
(There's no version 1.5.1 either)
22:34
<Philip`>
Hmm, texImage2DHTML doesn't crash now that I've compiled it myself
22:34
<Philip`>
but gl.uniformi doesn't work because it has unimplemented code
22:36
<Philip`>
and the only way to use textures is by using uniformi
23:04
<webben>
Philip`: What are you actually making btw? A renderer that will take X3D input and produce a canvas rendering?
23:04
<webben>
(just curious)
23:05
<Philip`>
webben: Yes (using Firefox's/Opera's 3d canvas contexts)
23:05
<Philip`>
Well, it's not just producing a rendering - it does some animation and user-controlled camera movement and stuff
23:05
<webben>
I see.
23:09
<Philip`>
My idea is that X3D can't be implemented natively by browsers (because there would be approximately no interoperability, given how it's defined), so they have to implement something like OpenGL, but OpenGL is really painful to use for anything non-trivial, so a higher-level 3D engine is needed, and X3D is a vaguely sensible way of doing that
23:19
<othermaciej>
http://torgo-x.livejournal.com/1013176.html
23:21
Philip`
found some Netscape 3.0 floppy disks at home today
23:21
<Philip`>
but I think that's the oldest version I've used, except when intentionally searching for ancient versions
23:27
<othermaciej>
what I find interesting about that post is that netscape 0.9b pretty much can't browse the current web
23:27
<othermaciej>
and that the showstopper problems are mostly at the HTTP level
23:28
<Hixie>
the bus i'm on just totally ran a red light
23:28
<Hixie>
good times
23:30
<webben>
the current web works pretty bad in mosaic IIRC too.
23:30
<webben>
or at least whatever mosaic is available for Windows systems from evolt
23:30
<webben>
can't remember if the problems were HTTP-related though
23:31
webben
wonders if worldwideweb works at all
23:32
<othermaciej>
I dunno
23:32
<othermaciej>
the current web works pretty bad in Amaya
23:32
<othermaciej>
so I guess a browser doesn't have to be old to fail
23:32
<othermaciej>
but I don't think Amaya fails quite as badly as Netscape 0.9
23:33
<Hixie>
amaya is a browser to the same extent that a hybrid SUV is a way to save on carbon emissions
23:34
<webben>
Well, Amaya can't render text properly or handle HTTPS, but I think it can handle ordinary HTTP in a vaguely similar way to other browsers.
23:35
<webben>
Though I probably shouldn't whinge about it's text rendering without trying the latest version.
23:36
<Philip`>
Hooray, now I've got text, though it's upside-down and repeated five times and squashed so there's lots of empty space
23:37
<webben>
Now that sounds like Amaya's text rendering ;)
23:37
<webben>
(well except maybe the upside-down bit)