17:00
<annevk>
i see they're still busy trying to understand Web architecture
17:00
<annevk>
;)
17:01
<Dashiva>
Let's try not antagonizing more people than we have to :)
17:03
<annevk>
Apparently they also didn't understand that IE has had namespace in text/html support for ages
17:05
<zcorpan>
annevk: i think that was known by everyone present... what makes it apparent that it wasn't?
17:06
<annevk>
That this whole debate is triggered by some release notes of the IE8 beta
17:07
<zcorpan>
yeah, i don't understand what ie8's namespace changes have got to do with this or why it was discussed in the telecon
17:17
<KevinMarks>
morning
17:18
<KevinMarks>
we need to help encourage Joel to use his rhetorical skills to promote the HTML5 solution: http://www.joelonsoftware.com/items/2008/03/17.html
17:19
annevk
was just reading that
17:22
<KevinMarks>
he explains the problem well, but clearly doesn't know about the "deterministic algorithm for graceful (non-draconian) error handling" idea
17:23
<Philip`>
The existence of such a deterministic algorithm is no guarantee that web browsers are actually going to implement it
17:24
<Philip`>
(As far as I'm aware, no browser developer has indicated that they want to rewrite their HTML parser - they'll just keep patching holes until nobody important is complaining about it)
17:24
<KevinMarks>
agreed, but if it is based on their common behaviour then there is a better chance of convergence
17:25
<annevk>
we'll just test it extensivily in Acid5 and they will be forced to implement it :)
17:26
<Philip`>
The browser developers will gang together and produce an Acid6 which is trivial to pass and they'll post it to lots of news sites and say "we already pass Acid6, who cares about Acid5"
17:27
<annevk>
that seems very unlikely
17:28
<Philip`>
Or everyone will get fed up with Acid tests because there's been lots already and browsers are still rubbish and buggy so the tests are just a waste of time
17:28
<annevk>
that also seems unlikely
17:28
<annevk>
we like tests :)
17:29
<KevinMarks>
markp's comments on how RSS/Atom was converged are interesting: http://diveintomark.org/archives/2008/03/15/dead-fish
17:35
<Philip`>
It's not generally true to say that pages not working in IE8b1 are due to compatibility issues - they're often not working just because IE8b1 is buggy
17:38
<Philip`>
(e.g. failing to count up to 3 is a bug, not a standards-compliance or IE7-compatibility issue)
17:50
<gsnedders>
And that's the exact reason why I see no point in hacking for IE8b1
17:52
<gsnedders>
Philip`: How dare they produce Acid6!? 5 > *.
17:53
<Philip`>
gsnedders: Maybe it'd be 5.5
17:53
<gsnedders>
Philip`: 5.5 < 5.
17:53
<annevk>
if it comes from browsers it'd be 5.2
17:53
<gsnedders>
still < 5 :(
17:54
<Philip`>
Is 5 > ∞?
17:54
<Philip`>
(It would make more sense for them to be incomparable, since there's no reason for a total order)
17:54
<gsnedders>
Philip`: yes
17:54
<annevk>
gsnedders, that comparison is in integer values and 5.2 casted to an integer would give the right result
17:55
<gsnedders>
annevk: well, in C (int) 5.99 == 5 :P
17:55
<Philip`>
This would kind of disrupt most of the properties of arithmetic that make it sane
17:55
<gsnedders>
Philip`: "Please leave your sense of logic at the door, thanks!"
17:55
<Philip`>
particularly since you're saying 5 > 5 too
17:56
<gsnedders>
Philip`: that's the only bit that I've yet to get my head round
17:56
<Philip`>
Logic and sanity are orthogonal concepts :-)
17:59
<Philip`>
You can work perfectly logically in a system where your ordering relation is > ⊆ {(5, n) | n ∈ S} for whatever the appropriate S is, but it wouldn't be a particularly sane system
18:00
<gsnedders>
true
18:01
<Philip`>
By the way, my font here lacks sufficient glyphs :-(
18:01
<gsnedders>
heh.sux.
18:27
<virtuelv>
http://www.joelonsoftware.com/items/2008/03/17.html
19:14
<tomg>
heh
19:14
<tomg>
good post
19:24
<hsivonen>
http://lists.w3.org/Archives/Public/public-xhtml2/2008Mar/0030.html
22:00
<itpastorn>
Hi, does anyone know if IE 8 supports "grey" spelled with an e?
22:01
<Hixie>
if you have access to IE8 it should be easy enough to test :-)
22:01
<itpastorn>
I don't
22:02
<Philip`>
itpastorn: Supports in what context?
22:02
<Philip`>
(CSS?)
22:02
<itpastorn>
css color background-color border
22:05
<Philip`>
itpastorn: It does support "grey" in CSS
22:05
<Hixie>
hsivonen: "XHTML 1.1 documents SHOULD be labeled with the Internet Media Type text/html" -- http://www.w3.org/TR/xhtml11/conformance.html#strict
22:05
<itpastorn>
Jay, thanks!
22:05
<Philip`>
(regardless of any x-ua-compatible or quirks mode etc)
22:06
<itpastorn>
Even in IE7 mode, actually interesting!
22:06
<Philip`>
(I haven't tried the "Emulate IE7" mode, so I don't know if that's different)
22:07
<Philip`>
(and, so far as I can tell, simply clicking the button then closing all IE windows doesn't make it go into IE7-emulation mode)
22:08
<Philip`>
(and I'm not going to bother restarting Windows for this :-p )
22:08
<itpastorn>
Ok, I have got all info I need at the moment
22:08
<itpastorn>
Thanks
22:11
<Philip`>
Hmm, IE8 also supports <body bgcolor=grey>, whereas IE6 treats that as green (#00e000)
22:13
<Philip`>
http://www.bebt.com/
22:14
<Philip`>
The box at the top is a nice green in IE6, but ugly grey in IE8 and other browsers :-(
22:16
<annevk>
http://lists.w3.org/Archives/Public/public-appformats/2008Mar/0036.html ...
22:16
<annevk>
i hope that's not their explanation for why they completely dismissed Access Control
22:16
<Philip`>
Who needs Content-Type anyway?
22:17
<jwalden>
scream
22:17
<Philip`>
They might as well send requests without that header at all
22:17
<annevk>
Content-Type is a distraction
22:17
<annevk>
it's that they completely disregard better solutions without justification
22:18
<annevk>
and come up with something proprietary instead and try to push that through the WG...
22:18
<annevk>
after over a year of work on Access Control with near zero involvement of Microsoft
22:21
<Philip`>
(Woah, IE6 in Wine actually plays background music on web pages - that's quite impressive and very irritating)
22:22
<jwalden>
I read "Microsoft would like to submit XDR to the W3C for standardization so that other browsers can benefit from this technology." and think, how magnanimous of them to submit another proposal to do something already being addressed elsewhere :-\
22:22
<Philip`>
It sounds like they want to freeze their current XMLHttpRequest implementation and not make any non-trivial changes to it
22:23
<Hixie>
is |foo in bar| ES3 syntax?
22:23
<annevk>
for(x in y) is
22:23
<jwalden>
yes, 'tis
22:24
<jwalden>
"length" in []
22:24
<Hixie>
aha, yes, 11.8.7
22:25
<jwalden>
also nice: "or it could be inserted into a DOM as static text (using .innerText)"
22:26
<Hixie>
http://edge-op.org/iowa/www.iowaconsumercase.org/011607/2000/PX02991.pdf is why office documents are such a mess, presumably
22:26
<jwalden>
and really, "1" as the value of the header instead of "yes", "true", "enabled", etc.?
22:33
<annevk>
Hixie, documents like that make me wonder why i'm so fricking naive
22:34
<annevk>
the thought that they're actually making office suck on purpose never occured to me
22:35
<othermaciej>
hmmm
22:35
<othermaciej>
do they have any real security risks in mind?
22:35
<othermaciej>
I keep asking and they keep giving vague answers
22:35
<vlad_>
Hixie: wow
22:36
<othermaciej>
Hixie: man, lots of juicy emails from that case, eh?
22:36
<Hixie>
othermaciej: indeed
22:37
annevk
blogs this one
22:37
<vlad_>
I'm sure Microsoft has turned over a new leaf, though
22:37
<vlad_>
Silverwhat will user in a new era of happy compatability and openness
22:37
<othermaciej>
Hixie: these emails are very interesting to me in the huge difference of the kinds of issues Gates cares about vs. the kind of issues my CEO cared about
22:37
<Hixie>
othermaciej: same here
22:38
<Hixie>
othermaciej: if our CEO tried that kind of stuff here, there would be a riot
22:38
<othermaciej>
I don't even mean the evil
22:38
<othermaciej>
SJ is no saint
22:38
<othermaciej>
he just would not care about long-term strategic impact of tiny technical details
22:38
<Hixie>
ah
22:38
<othermaciej>
he has people to think about that kind of thing for him
22:39
<vlad_>
isn't it a CEO's job to care about long-term strategic impact?
22:39
<roc>
that's an oldie but a goodie
22:40
<roc>
I'm actually quite impressed by billg's grasp of details
22:41
<roc>
what annoys me is that if you take this stuff seriously and behave reasonably in response, you end up being painted as some sort of anti-Microsoft zealot freak
22:42
<vlad_>
roc: or that there's always a claim that it's always "old-microsoft" that did this
22:43
<roc>
yeah "we've changed, give us another chance"
22:44
<Hixie>
i didn't note it down, but one of the e-mails referred to the previous DOJ case, whining about how unjust it was
22:44
<Hixie>
which would seem to suggest that they haven't figured out why that behaviour is wrong
22:44
<Hixie>
so it seems unlikely they'd have changed
22:44
<roc>
it's cultural
22:44
<roc>
hard to change
22:45
<Philip`>
othermaciej: I think Bill Gates sent more emails than the ones that were used as evidence in that case, so there are probably many more things he cares more about which are perfectly good things, and it only looks so different because of the bias in the selection
22:45
<Philip`>
or, uh, something like that
22:46
<othermaciej>
Philip`: I'm not even saying he's more evil, just different focus
22:46
<Philip`>
Indeed, I should have read your subsequent lines too :-)
22:46
<roc>
the problem isn't that he's more evil, it's that he's better at it
22:46
<roc>
or was
22:46
<othermaciej>
vlad_: SJ is much more concerned about the user experience as opposed to platform wars (which is what I perceive as BillG's focus)
22:47
<othermaciej>
both can of course be laden with strategic concerns
22:47
<vlad_>
othermaciej: yeah, true
22:47
<vlad_>
though both seem like valid things for a CEO to focus on.. but billg does definitely seem to be more focused on crush-competition
22:47
<othermaciej>
and of course, Apple has a mixed record on interoperability, although I would like to think we are doing very well on that in the web space
22:47
<jwalden>
it's not SJ's job to think, it's his job to be an artist</fakesteve>
22:47
<jwalden>
:-)
22:48
<vlad_>
true.. apple's interop record is nowhere near as bad as microsoft's, though -- and it never really seemed all that bad
22:56
<gsnedders>
'I have a hard time dealing with these "il formed xml" excuses, when regular feed readers
22:56
<gsnedders>
show these feeds flawlessly...'
22:57
Philip`
wonders where that is from
22:57
<gsnedders>
Philip`: mid:frmsa0+gamt⊙ec
22:57
gsnedders
looks up archive of it
22:58
<gsnedders>
http://tech.groups.yahoo.com/group/simplepie-support/message/482
22:59
<gsnedders>
annevk: you see my email a few weeks ago about XML5?
22:59
<annevk>
yes
22:59
<annevk>
i was going to say no to the first
22:59
<Philip`>
gsnedders: Aha
22:59
<annevk>
and at some point to the second question
23:00
<annevk>
but you could assume "yes" for your first question as reparsing doesn't have any side effects if you don't execute scripts
23:00
<jwalden>
btw, Hixie, did you see my comment here on Saturday or so?
23:01
<gsnedders>
annevk: why would I be executing scripts as I parse with XML?
23:01
<Hixie>
jwalden: no idea. i don't always read scrollback, it's far better to e-mail me :-)
23:02
<Philip`>
"Only "UTF-8" is supported by the router." - alas, Cisco routers are not conforming XML processors :-(
23:02
<jwalden>
<jwalden> Hixie: I'm not sure that Unicode clearly defines replacement-character behavior for <high-surrogate not-low-surrogate> with UTF-16; arguably, either <U+FFFD> or <U+FFFD not-low-character> are valid interpretations, given the vagueness of the wording in the Unicode spec in 3.2 C10
23:02
<Philip`>
(unless their documentation wrong, which is not entirely impossible)
23:03
<Philip`>
s//is /
23:03
<jwalden>
<jwalden> easy enough to fix, and changing to the latter seems to agree with other browsers, but still, it's not quite clear-cut to me
23:03
<Hixie>
jwalden: ah, yes, i saw that
23:03
<Hixie>
jwalden: what about it?
23:03
<annevk>
Hixie, the XML encoding test in Acid3, nr 70, has the wrong checks for 2/3
23:03
<Hixie>
annevk: still? i thought i fixed that when you reported it earlier
23:03
<annevk>
oh ok
23:03
annevk
didn't check
23:04
<gsnedders>
annevk: I don't think you can remain compatible with XML 1.0 docs without saying yes to the first question, actually, though I expect you could do things like placing a specific limit to avoid the billion laughs attack which is different to what, say, libxml2 already uses
23:04
<jwalden>
Hixie: nothing particular, just that it seems halfway-reasonable to allow the <U+FFFD>-only behavior
23:05
gsnedders
waves g'nite
23:06
<annevk>
gsnedders, if you have <html xmlns="http:...xhtml"><script> alert(1) </script> as document (missing </html>) you don't want the script to execute twice
23:10
<Hixie>
jwalden: is there anything in the html5 spec that doesn't allow that? i thought i just left it up to the encoding specs to define "sequence of incorrectly encoded bytes" or whatever term it is i use
23:14
<gsnedders>
annevk: ya, sure. But you don't execute on element add in XHTML, do you?
23:20
<Philip`>
I don't entirely like it when people use XML Schemas as an alternative to documentation
23:21
<Hixie>
btw i was speaking to one of our language guys internally here and he introduced me to an interesting concept that would dramatically simplify the way async programming works
23:22
<Hixie>
instead of doing: asyncFunction(arguments, function (data) { ...callback... });
23:22
<Hixie>
he suggests: var promise = asyncFunction(arguments); promise.callback(function (data) { ... });
23:22
<Philip`>
Sounds (so far) quite like Deferred objects in Twisted
23:23
<Hixie>
where |promise| is an object with one method, which takes a method, and which calls that method as soon as it has a value
23:23
<Philip`>
(which let you add callback and errback functions, which either get called synchronously (if the result is available) or at some point in the future)
23:23
<Hixie>
in the simple case it becomes asyncFunction(arguments).callback(function (data) { ... });
23:23
<Hixie>
yeah
23:24
<Hixie>
(though i'd always do it async, to avoid subtle timing bugs)
23:24
<sayrer>
MochiKit does this with partial functions
23:24
<sayrer>
it's not bad
23:24
<sayrer>
http://mochikit.com/doc/html/MochiKit/Async.html#fn-deferred
23:24
<Hixie>
probably too late for the database API, but it would be an interesting pattern for the messages/workers stuff
23:37
<dglazkov>
this sounds pretty interesting
23:37
<dglazkov>
but now there needs to be polling on the other thread, looking for that method.
23:38
<dglazkov>
doesn't need to be on other thread, but still need to poll
23:38
<Hixie>
why polling?
23:39
<dglazkov>
ah, store results, and only invoke callback when assigned, sorry, didn't read properly
23:40
<dglazkov>
invocation of callback checks the results and invokes the callback, if op completed
23:40
<Hixie>
right
23:40
<dglazkov>
otherwise, we wait for completion and then invoke callback
23:40
<dglazkov>
neat!
23:40
<dglazkov>
let's change the db spec!
23:41
<Hixie>
heh
23:41
<Hixie>
probably too late for the db spec at this point, unless you can get everyone on board
23:41
<vlad_>
er, I hope you don't really mean "wait for completion" in there
23:41
<vlad_>
like, token.callback() shouldn't block, right?
23:42
<Hixie>
right
23:42
<dglazkov>
right
23:42
<vlad_>
(though token should have a method that -will- make it block)
23:42
<vlad_>
because then you can choose whether to do something async or sync
23:42
<Philip`>
It's perhaps bad in the non-callback case like void(asyncFunction(args)), because it has to keep the results around in case somebody sets .callback() in the future, until the GC realises the return value from asyncFunction was lost
23:43
<dglazkov>
just keep it until token is alive
23:43
<dglazkov>
don't think it's that big of a deal
23:44
dglazkov
imagines a Gb of results sitting on the token
23:46
<Philip`>
(Twisted allows reasonably nice things like callback chaining, so you can say db.fetch("select * from wherever").addCallback(remote.twiddle).addCallback(print_results) where db.fetch returns a Deferred object, and remote.twiddle receives results from the previous stage and returns a new Deferred object)
23:47
<Philip`>
(instead of db.fetch(...).addCallback(lambda r: remote.twiddle(r).addCallback(print_results)))
23:47
<Philip`>
(but Python's lambda support is rubbish, so it's more painful than it should be)