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) |