2007-09-01 [17:01:00.0000] it's actually kind of vague [17:01:01.0000] see the RFC [17:01:02.0000] http://www.ietf.org/rfc/rfc2854.txt [17:01:03.0000] "The text/html media type is now defined by W3C Recommendations; [17:01:04.0000] the latest published version is [HTML401]. In addition, [XHTML1] [17:01:05.0000] defines a profile of use of XHTML which is compatible with HTML [17:01:06.0000] 4.01 and which may also be labeled as text/html." [17:02:00.0000] HTML5 would update the definition of the text/html media type to include the HTML serialization of HTML5, but not the XML serialization [17:02:01.0000] I'm not sure whether it could meaningfully remove old allowed serializations from what is legal for the media type [17:02:02.0000] because I don't know how media type registration rules work [17:03:00.0000] othermaciej: I guess that's my point. It sounds like that would be a bureaucratic hassle with no real-world advantages. [17:03:01.0000] it does look like the existing RFC does not allow HTML 3.2 or HTML 2 [17:04:00.0000] othermaciej: ? which bit to you gather that from? [17:04:01.0000] *do you [17:04:02.0000] there's not a whole lot of MUST there [17:05:00.0000] indeed [17:05:01.0000] webben: the "Published specification:" section [17:05:02.0000] it's written sloppily [17:05:03.0000] it's unclear what other specifications, if any, alsocover the media type [17:05:04.0000] I'd have though if they meant to exclude 3.2 they would have said "The text/html media type is now defined by the latest version of the W3C Recommendation for HTML" (or something) [17:06:00.0000] rather than talking about "Recommendations" (plural) [17:06:01.0000] or actually said: "You should not serve 3.2 ..." [17:06:02.0000] in any case it's standard practice for W3C specifications to define their associated MIME type [17:06:03.0000] well, it does mention two recommendations, HTML 4.01 and XHTML 1.0 [17:07:00.0000] /me resists the urge to comment that it's a bad habit of W3C specs to allude to MIME types that they might register someday... [17:07:01.0000] othermaciej: ah, I see how your reading works. [17:08:00.0000] othermaciej: i think it's a bit of a stretch on such vague text though [17:08:01.0000] webben: well, it's pretty clear what this registration allows, but it's totally unclear what, if anything, it disallows [17:09:00.0000] the only actual MUST is related to line breaks [17:09:01.0000] and here's the worst abuse of must in a spec ever: [17:09:02.0000] "User agents executing such [17:09:03.0000] scripts or programs must be extremely careful to insure that [17:09:04.0000] untrusted software is executed in a protected environment." [17:45:00.0000] Hmm, I never knew Thunderbird automatically strips out " (was: ...)" from subjects when replying [18:41:00.0000] hmm. I wonder why people are wasting their time discussing "HTML 4.02" and widely unsupported SGML features. [18:58:00.0000] how many NETs can dance on the head of a pin? [01:45:00.0000] hmm, wonder if we can limit text/html sniffing to "text/html", "text/html; charset=iso-8859-1" and "text/html; charset=ISO-8859-1" so that when you declare utf-8 it's not sniffed [01:46:00.0000] or are there feeds in the wild that are declared as "text/html; charset=utf-8"? [06:45:00.0000] Hixie: "Error loading the folder list: Internal Server Error. Let Hixie know." [06:46:00.0000] oh, now it worked (3rd time) [09:13:00.0000] Hixie: i fail to parse this sentence (in a note in #writing): "It is suggested that newlines be inserted after the DOCTYPE and any comments that aren't in the root element." [09:58:00.0000] zcorpan: "We suggest that you insert newlines after the DOCTYPE and after each comment that isn't in the root element." [10:01:00.0000] aha [10:02:00.0000] i read "it is suggested" as in "we have heard" [10:03:00.0000] but doing so for comments after the root will append LF characters to the html element each time it is parsed and serialized [10:05:00.0000] not a biggie but the rest of the section goes to great lengths to ensure that things round-trip [10:15:00.0000] hmm, they are appended to the body -- not html [10:37:00.0000] hmm, i should remember to take out my own address from the To field when replying to myself :| [10:52:00.0000] not sure i'm fond of the ambigous ampersand thing [10:52:01.0000] it's more straightforward to require it to be escaped 2007-09-02 [19:53:00.0000] hi [20:13:00.0000] hi tibberio [20:42:00.0000] hi Lachy_, I'm asleep, night [05:42:00.0000] I implemented the text/html content sniffing algorithm in JavaScript http://html5.lachy.id.au/content-sniffing/ [05:42:01.0000] also checked it into google code [05:44:00.0000] Lachy: should the [invalid] sequence '' really be text/html? [05:45:00.0000] that's what the algorithm says [05:45:01.0000] in the spec [05:45:02.0000] I wondered about that too, but I figured it would be better to implement exactly what the spec says and then provide feedback about it [05:46:00.0000] wait, why wouldn't be text/html? [05:47:00.0000] if anything, it should always be text/html, since it's not well formed XML and thus can't be a feed [05:47:01.0000] i.e. probably shouldn't be Atom [06:05:00.0000] Lachy: that's a good environment to run testcases [06:05:01.0000] for browsers [06:05:02.0000] yep [06:06:00.0000] it would probably be a good idea to integrate it into the live dom viewer later [06:06:01.0000] similar to http://html5.org/parsing-tests/testrunner.htm and http://simon.html5.org/test/html/serializing/001.htm [06:07:00.0000] though you could use json as the format for the tests [06:08:00.0000] right, that shouldn't be too hard to do [06:08:01.0000] though i wonder if you have to have a server involved to actually test what browsers do [06:09:00.0000] i.e. the relevant sniffing only occurs for resources served over the wire [06:09:01.0000] yeah, but that's not too hard to do [06:09:02.0000] true [06:10:00.0000] I tried a few simple test cases with data: URIs and Firefox didn't sniff them [06:10:01.0000] right, data: are never sniffed [06:10:02.0000] afaik [06:11:00.0000] so we'd probably need to load from the server into an iframe or something [06:11:01.0000] exactly [06:11:02.0000] slightly annoying but certainly doable :) [06:12:00.0000] I think I have a PHP script somewhere that will echo whatever data you pass, using whatever MIME specified, [06:12:01.0000] we could perhaps also use Philip`'s appoach with creating tests [06:13:00.0000] hmm [06:13:01.0000] might be better to just find all the edge cases [06:18:00.0000] http://canvex.lazyilluminati.com/misc/dom-viewer/reflect.cgi?%3Cscript%3Ealert('Hello%20world')%3C/script%3E echoes stuff but it's probably not so useful since it always does text/html [06:19:00.0000] (There's a reflect-xhtml.cgi for XHTML) [06:19:01.0000] I've got one that does the same thing, though I'm going to make it check for a content-type parameter in the query string and use that [06:21:00.0000] http://canvex.lazyilluminati.com/misc/dom-viewer/reflect.c - I don't really fancy modifying that to actually parse the query string at all, so it's probably more sensible to use PHP :-) [06:21:01.0000] the only problem with something like that is that it creates a huge security risk [06:21:02.0000] Lachy: the spec doesn't define text/plain when it lacks angle brackets? [06:21:03.0000] virtuelv, no, why would it? [06:22:00.0000] /me goes back and reads the proposal again [06:22:01.0000] virtuelv_, it's the algorithm that sniffs content delivered as text/html to see if it's a feed. If it's not a known feed format, it's text/html [06:22:02.0000] seel http://www.whatwg.org/specs/web-apps/current-work/multipage/section-content-type-sniffing.html#content-type3 [06:38:00.0000] Philip`, zcorpan, http://html5.lachy.id.au/output [06:41:00.0000] Lachy: you need to do stipslashes() [06:42:00.0000] oh crap, that should be off by default on my server. [06:43:00.0000] hmm. I'll have to add stripslashes for now, since I can't remember how to do it in .htaccess or php.ini or whatever it is [06:43:01.0000] i can't get "" to be echoed [06:44:00.0000] in firefox [06:45:00.0000] and safari [06:46:00.0000] no wait it works in safari [06:47:00.0000] Lachy: you also need an id on the :) [06:47:01.0000] oops :-) [06:51:00.0000] where can I find an Atom test file? [06:52:00.0000] in the rfc :) [06:52:01.0000] never mind, found one [06:53:00.0000] hmm, ie doesn't add attributes to the root node from misplaced tags [06:53:01.0000] it appears that Firefox will only sniff as the result of a GET request, not a POST [06:56:00.0000] Firefox needs to see the Atom xmlns and there needs to be at least a title and link element in it for it to be sniffed as a feed. [06:56:01.0000] http://html5.lachy.id.au/output?type=text%2Fhtml&data=%3Cfeed+xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2005%2FAtom%22%3E%0D%0A++%3Ctitle%3EExample+Feed%3C%2Ftitle%3E%0D%0A++%3Clink+href%3D%22http%3A%2F%2Fexample.org%2F%22%2F%3E%0D%0A%3C%2Ffeed%3E%0D%0A [06:58:00.0000] doesn't opera sniff for feeds? [06:58:01.0000] it doesn't appear to [06:58:02.0000] maybe it needs more content in it [06:59:00.0000] nope, it doesn't (at least not for Atom) [07:00:00.0000] not for rss 2.0 either [07:01:00.0000] hmm. How do I turn off AddDefaultCharset for just that one file? [07:02:00.0000] I've tried putting it in a directive, but it doesn't seem to to work [07:03:00.0000] AddDefaultCharset Off in the same folder should work (for all files in that folder) [07:03:01.0000] yeah, but it's in the root directory, so I don't want it to do that [07:04:00.0000] dunno [07:04:01.0000] perhaps opera only does sniffing for following s [07:05:00.0000] oh well, I'll just turn it off for everything now and fix it later [07:06:00.0000] maybe, try it [07:06:01.0000] but it's a php file, and AddDefaultCharset doesn't apply to php [07:06:02.0000] php sends its own headers [07:07:00.0000] http://html5.lachy.id.au/output?type=text%2Fhtml&data=%3Clink+rel%3D%22alternate%22+type%3D%22application%2Fatom%2Bxml%22+href%3D%22http%3A%2F%2Fhtml5.lachy.id.au%2Foutput%3Ftype%3Dtext%252Fhtml%26data%3D%253Cfeed%2Bxmlns%253D%2522http%253A%252F%252Fwww.w3.org%252F2005%252FAtom%2522%253E%250D%250A%2B%2B%253Ctitle%253EExample%2BFeed%253C%252Ftitle%253E%250D%250A%2B%2B%253Clink%2Bhref%253D%2522http% [07:07:01.0000] 253A%252F%252Fexample.org%252F%2522%252F%253E%250D%250A%253C%252Ffeed%253E%250D%250A%22%3E%0D%0A%3Cp%3ETest [07:07:02.0000] AddDefaultCharset applies based on the MIME type I think [07:08:00.0000] so all text/* responses get ; charset=... [07:08:01.0000] yeah but php will still send its own headers [07:08:02.0000] php overrides apache [07:09:00.0000] indeed, but it's not. I'm using headers("Content-Type: $type"); in the php, so it should send exactly what's in the text box, but it doesn't [07:09:01.0000] it does afaict [07:10:00.0000] yeah, it does now, cause I turned off AddDefaultCharset already [07:10:01.0000] but if I turn it on again, it won't [07:11:00.0000] can you turn it on again, please? [07:12:00.0000] done [07:12:01.0000] oh, indeed. that's not how my server behaves though [07:13:00.0000] perhaps a different version of php or different settings [07:13:01.0000] which version of Apache does your server run? [07:13:02.0000] 1.3 iirc [07:13:03.0000] I'm using PHP 5, Apache 1.3 I think [07:13:04.0000] php 4 [07:13:05.0000] ok, so then php 5 pays attention to apache settings [07:13:06.0000] I'll try it with PHP4... [07:15:00.0000] hmm, perhaps i was wrong [07:16:00.0000] nope, still does it [07:16:01.0000] I've turn default charset off again [07:30:00.0000] zcorpan, for the HTML status updating, I think it would be easiest if we just use HTTP basic authentication and using a .htpasswd file, which grants access to the confirmation script for Hixie (or whoever else is authorised) [07:32:00.0000] Lachy: ok [07:33:00.0000] we just need to write the script that commits the changes to the DB, and then make a few minor changes to the existing update script and we're done [07:53:00.0000] Lachy: great [07:56:00.0000] Lachy: it's all the magic_quotes settings [07:56:01.0000] gsnedders, thanks, I do have the instructions for it written down somewhere. I just have to find them and set it up [07:57:00.0000] http://uk2.php.net/magic_quotes [07:57:01.0000] (a "feature" that's gone in PHP6) [07:58:00.0000] interpreter/compiler-level settings that change programming language semantics suck big time [07:59:00.0000] yeah, PHP already sucks and fixing PHP by turning off silly "features" just needs to be done [08:03:00.0000] according to the PHP devs, is invalid HTML. [08:04:00.0000] the only way I could get them to fix the bug in strip_tags() which claims to only work with valid HTML anyway was to quote both HTML5, HTML 4.01, and SGML. [08:06:00.0000] PHP devs often don't know HTML very well at all [08:06:01.0000] try to get them to fix the ampersand bug, for instance! [08:07:00.0000] the one where they generate and output "...&PHPSESSID=..." instead of using & [08:08:00.0000] Or just get them to handle multiple selects/checkboxes without hacking the names [08:09:00.0000] yeah, that too [08:09:01.0000] Although that's not html-specific, they mangle it the same way with parsing ini files [08:09:02.0000] Lachy: oh, that's a config option. duh :P [08:10:00.0000] gsnedders, I know, but it should be default! [08:10:01.0000] but backwards compatibility!11!!!!elevnty! [08:10:02.0000] they should have fixed it for PHP5, which isn't backwards compatible anyway [08:10:03.0000] or even PHP6 [08:10:04.0000] yes, they're backwards compatible!11!!1! [08:10:05.0000] It's stupid. [08:11:00.0000] They refuse to fix things in the name of BC, yet totally break it anyway. [08:11:01.0000] yeah, I know. I should just learn python and how to get it running on my server [08:13:00.0000] yeah, I've been meaning to learn python too. [08:14:00.0000] far more general use, too [08:23:00.0000] Python's going to break backward compatibility too, but at least they're intending to fix lots of small mistakes at the same time, which seems good as long as you only do it once a decade [08:40:00.0000] woo hoo! My first python script running on my server :-) http://lachy.id.au/temp/test 2007-09-03 [22:33:00.0000] I added some more features to the content sniffing page. It will now load data from the query string (like the live dom viewer) and shows the browser output in an iframe [22:34:00.0000] http://html5.lachy.id.au/content-sniffing/?%3Cfeed%3Etest2%3C/feed%3E [02:18:00.0000] Philip`: running a copy of the validator.nu software is not hard if your host allows permanantly memory-resident processess and has mod_jk [02:19:00.0000] what happened with the validator.nu outage was that the shared host was taken down for scheduled maintenance one day [02:19:01.0000] then something went wrong and the outage took 2 days instead of planned 5 hours [02:20:00.0000] since the maintenance went long, I couldn't make sure validator.nu was back up before I flew out to Budapest [02:21:00.0000] and then mod_jk was missing [02:22:00.0000] and then giving my password to a random internet cafe computer was unacceptable security-wise and GPRS roaming didn't work in Romania, so it took a while to find working wifi connectivity to get everything back up [02:22:01.0000] I'm going to investigate moving away from the shared host to avoid maintenance breaks when I happen to be traveling [02:23:00.0000] my apoligies to everyone who tried to use the service during the outage [02:23:01.0000] apologies even [03:07:00.0000] Re: accesskey UI: BBEdit/TextWrangler show shortcut keys on dialog buttons when the command key is held down. [03:38:00.0000] I'm going to implement POSTing documents to validator.nu. Is Content-Location on POST a good way to indicate the base URI of the POSTed document? (the RFC leaves Content-Location on POST undefined) [04:44:00.0000] hsivonen: are there any alternatives? :) [04:44:01.0000] why do you need the base uri? [04:51:00.0000] zcorpan: the alternative would be along the lines of X-Content-Location [04:51:01.0000] zcorpan: the base URI is needed for the DTD-loading mode [04:52:00.0000] zcorpan: also, if Hixie really goes down the road of requiring conformance checkers to load images, then the base URI will be needed for HTML5 as well [04:52:01.0000] (although I'm kinda hoping Hixie won't go there :-) [05:04:00.0000] hsivonen: you could opt to not support loading DTDs in such cases [05:08:00.0000] zcorpan: I could. but picking a HTTP header name and sticking its value in a SAX InputSource is so embarrassingly easy that I feel I should do it for completeness [05:11:00.0000] the harder part is checking that the pre-existing code that expects to see sane URIs doesn't break too much when a URI is missing [05:32:00.0000] hi hsivonen, how was your holiday? [05:45:00.0000] Lachy: the holiday was fine [05:45:01.0000] cool :-) [05:47:00.0000] re POST and Content-Location header, I don't understand how you intend it to be used. Are you expecting clients to send the Content-Location header with their POST request? [05:49:00.0000] and is the HTML file supposed to be posted in the body of the request? [05:49:01.0000] Lachy: yes and yes [05:50:00.0000] ok, but regular web browsers wouldn't send that header. Which clients would you expect to do so? [05:50:01.0000] Lachy: blogging systems, command line tools and such non-browser Web service clients [05:51:00.0000] ok [05:51:01.0000] Lachy: I intend to implement back end support for form POST, too [05:52:00.0000] (but I don't have a satisfactory design for form POST front end UI yet) [06:25:00.0000] the omit-alt comments are fun [06:25:01.0000] hey annevk_zeist [06:26:00.0000] alles goed? [06:28:00.0000] ja, op zich wel [06:28:01.0000] beetje dingen opruimen van vakantie enzo [06:28:02.0000] oke [06:29:00.0000] en nog steeds geen baggage uit Madrid... [06:29:01.0000] still? (or have I misunderstood) [06:29:02.0000] yeah, still no luggage [06:30:00.0000] just not been there to get it, or…? [06:30:01.0000] neh, they're messing it up [06:30:02.0000] /me sighs [06:30:03.0000] it's been too long since I've read such languages [06:30:04.0000] supposedly it would go to my parents, but they haven't received anything yet and trying to reach KLM luggage service on the phone is not really possible [06:31:00.0000] ergh. [06:36:00.0000] anything interesting happened? [06:37:00.0000] annevk_zeist: oh, just one or two flamewars on public-html. not really interesting by WG standards, though [06:38:00.0000] Lachy, yt? [06:38:01.0000] gsnedders, heh [06:38:02.0000] yo [06:38:03.0000] annevk_zeist: mainly on the subject of making @alt optional [06:38:04.0000] Lachy, I think it would be nice if the FAQ became a wiki page [06:39:00.0000] ok. If you make the page, I can set up redirection [06:40:00.0000] k, I'll look into it when I have my laptop again [06:40:01.0000] (it's in Utrecht, not lost with the luggage) [06:45:00.0000] /me really needs some sort of hosting on a stable domain for all the browser tests I'm going to write [06:47:00.0000] you can get firstname.html5.org [06:47:01.0000] meh. geoffrey is a horrible name :) [06:48:00.0000] annevk_zeist: gsnedders would be preferable, but I wouldn't complain with geoffrey [06:48:01.0000] I suppose I could break the convention... [06:48:02.0000] /me ponders [06:51:00.0000] /me has got annevk_zeist pondering. is that safe? :P [06:53:00.0000] as long as you're not here :p [06:58:00.0000] I'll get you gsnedders.html5.org later; need my laptop first [06:58:01.0000] annevk_zeist: yeah, having your own computer would be useful; thanks, though :) [07:11:00.0000] Hixie: Re: offline: Isn't if more Web-like for each app view to have its own URI instead of having one top-level URI and a lot of Ajaxy dynamism on the one "page"? [07:49:00.0000] ah, 2033 new e-mails [08:31:00.0000] hello [08:31:01.0000] everyone having a good labor day? [10:22:00.0000] labour day> [10:23:00.0000] s/>/?/ [10:24:00.0000] gsnedders, apparently it's labor day in the US. I think it's a public holiday [12:30:00.0000] hmm, one angry e-mail to KLM and I suddenly get a call from Spain [12:30:01.0000] /me wonders if they're connected [12:43:00.0000] annevk, what's KLM? [12:43:01.0000] btw, this article seems to be nothing more than FUD http://www.gnucitizen.org/blog/i-dont-think-that-you-understand-firefox3-vulnerable-by-design [12:46:00.0000] the port scanning script is the only one that seems reasonable, but it depends on whether or not readystate ever fires for 3 LOADING when the request hasn't been allowed [12:46:01.0000] airline company [12:47:00.0000] it doesn't go to readyState 3 obviously (that would also allow more than just port scanning) [12:47:01.0000] yeah, I didn't think it would [12:48:00.0000] but restricting browsers from setting the Content-Access-Control header in the request seems reasonable, if over the top [12:49:00.0000] virtuelv_, why would it matter if it was sent as a request header? [12:52:00.0000] Lachy: You're right. It shouldn't [12:52:01.0000] The TRACE method is used to invoke a remote, application-layer loop- [12:52:02.0000] back of the request message. The final recipient of the request [12:52:03.0000] SHOULD reflect the message received back to the client as the [12:52:04.0000] entity-body of a 200 (OK) response. [12:53:00.0000] but, understanding that correctly, offsite TRACE would mostly be impossible anyway [12:53:01.0000] or rather, not [12:53:02.0000] the point being: [12:54:00.0000] (You can theoretically get content back, but the only thing you could possibly steal were the cookies sent to the server in the first place) [12:55:00.0000] IIRC, cookies aren't sent with XHR requests to other domains, are they? [12:58:00.0000] There is exactly one mention: "User agents which implement this specification should take care not to expose other trusted data (cookies, HTTP header data) inappropriately." [12:58:01.0000] whatever that means [12:59:00.0000] if the meaning is that cookies are not to be sent, then I'd say the spec ought to state this explicitly [12:59:01.0000] hmm. I'm not sure, but it would seem crazy if browsers did, since it would open up a huge security risk [12:59:02.0000] headers and content body and such is still a big vague atm I'm afraid [13:05:00.0000] now everyone can fix bugs: http://wiki.whatwg.org/wiki/FAQ [13:06:00.0000] Lachy, you were ok with this, right? [13:07:00.0000] yeah [13:09:00.0000] I'll set up redirection from /faq/ on the blog later [13:10:00.0000] k [13:41:00.0000] jgraham_, found a bug in your tool: http://wordsandpictures.dyndns.org/cgi-bin/tables/table_inspector.py?uri=http%3A%2F%2Fannevankesteren.nl%2F2007%2F09%2Ftmb-overview&algorithm=html4&scope=1&headers=1 [13:41:01.0000] jgraham_, it doesn't respect [13:41:02.0000] jgraham_, or maybe a bug in scope="rowgroup", dunno [13:42:00.0000] jgraham_, it also has encoding issues [13:50:00.0000] It's fascinating how RB claims to be implemented in WebKit and Trident [13:50:01.0000] to see* [14:09:00.0000] I think the section should give some advice on smileys [14:12:00.0000] :-) ? [14:12:01.0000] for instance [14:12:02.0000] /me always wonders whether ASCII art is appropriate there [14:13:00.0000] annevk: What do you expect the behaviour to be? [14:13:01.0000] /me doesn't want to fix the "wrong" problem [14:14:00.0000] jgraham_, I expect stuff like "Day 1" not be repeated until the end of the table, it solely applies to the it's in [14:14:01.0000] annevk: i think it's appropriate. it's what you would use if you didn't use an image, and it's quite common in "plain text" [14:17:00.0000] Oh, I see what you mean [14:25:00.0000] good :) [14:25:01.0000] I was actually wondering if the algorithm could be made even more nice for the lazy author so I could omit scope= there too [14:26:00.0000] scope=rowgroup is implicit if the first row of a rowgroup contains a single header cell [14:28:00.0000] zcorpan, well, there are Unicode smileys... [14:29:00.0000] do homework, or write test cases? hmmm… [14:29:01.0000] ☹☺☻ [14:36:00.0000] annevk: yeah, but they aren't very common in "plain text", probably wasn't what the author typed in, and there are only 3 of them [14:37:00.0000] forums often have dozens of smileys [14:38:00.0000] using exactly what was typed in as alt has the advantage that it round trips copy-and-paste [14:48:00.0000] hmm, specialcasing is ugly [14:48:01.0000] doable, but ugly [14:48:02.0000] indeed [14:48:03.0000] ie already specialcases it, it allows hidden inputs in head [14:48:04.0000] oh [14:49:00.0000] doesn't make it less ugly but proves that it is doable :) [14:49:01.0000] I was thinking that maybe form.elements could be filled up during parsing [14:49:02.0000] yeah, i was pondering about alternative approaches too [16:04:00.0000] annevk: I think the heading information for your table is almost right now [16:05:00.0000] The finalk thing is that the Day 2 has "Day 1" as one of its headings (and so on down the page) [16:05:01.0000] This is because these headers aren't assigned any heading information from the scope algorithm [16:06:00.0000] and HTML 4 says "In the absence of header information from either the scope or headers attribute, user agents may construct header information according to the following algorithm" [16:06:01.0000] how would Day 2 get Day 1? Day 1 has an explicit scope... [16:07:00.0000] From the implicit algorithm. [16:07:01.0000] I do get how Day x gets Location, estimated time, etc. although that's not desired [16:07:02.0000] I think it's an incorrect reading of the HTML 4 spec, but I don't know what the right reading is. [16:08:00.0000] I'm not sure why you think there's absense of scope or headers attribute [16:09:00.0000] I suppose I need something like Day x to override the Location, Height, ... headings [16:09:01.0000] Because, at the moment, my implementation assumes that ""In the absence of header information from either the scope or headers attribute" applies to the cell we are trying to assign a heading to [16:09:02.0000] assuming works like that [16:10:00.0000] jgraham_, yeah, so you look up and find a , but that can't be the header of the header because it has a different scope... [16:10:01.0000] in the case of the cell containing "Day 2" there is no information from any scope or headers attribute that assigns heading information to that cell [16:11:00.0000] annevk: But does HTML 4 actually say that? [16:11:01.0000] not sure [16:11:02.0000] it also seems that the headers given in are not applied to the four columns... [16:12:00.0000] My reading is that if a cell has no heading information supplied from headers or scope you then do the row/column search ignoring scope or headers attributes [16:12:01.0000] this is the case in the HTML5 algorithm though [16:12:02.0000] annevk: agreed [16:12:03.0000] HTML5 actually has exactly how I want it [16:12:04.0000] My imp. of the HTML 5 algorithm seems to get that right [16:12:05.0000] including the scope=rowgroup headers not getting the headers [16:13:00.0000] /me wonders if that always makes sense [16:13:01.0000] Probably not. [16:13:02.0000] My conclusion from playing with a few tables on the net is that nothing always makes sense [16:14:00.0000] You could have a header cell for a rowgroup in a row that contained summary information/totals for the rowgroup [16:14:01.0000] I think I've seen tables like that in print. [16:14:02.0000] I'm not sure if that's correct usage though [16:15:00.0000] correct usage of what? [16:15:01.0000] of HTML tables [16:15:02.0000] Why aren't you? [16:16:00.0000] because it doesn't make much sense to me to put summaries in headers [16:16:01.0000] annevk: I don't see why not. A good example would be demographics. [16:16:02.0000] say you have area then pop in the thead [16:17:00.0000] then you have each rowgroup as a continent with total pop [16:17:01.0000] then you have countries in each rowgroup row [16:17:02.0000] with their respective pop [16:18:00.0000] Don't forget that a td can be a header simultaneously with being a data cell. [16:20:00.0000] that's not actually clear from HTML4 [16:20:01.0000] annevk: yes it is. it's stated in the DTD [16:20:02.0000] is there anything that contradicts that? [16:21:00.0000] the prose doesn't really support that comment [16:22:00.0000] annevk: I think trying to read the comments against the prose doesn't make much sense. Specifications aren't meant to be read to be self-contradicting. :) (They might be self-contradicting by accident, but you don't seem to be arguing that's the case here.) [16:24:00.0000] I'm not sure why it doesn't make sense. Comments, notes, examples, etc. are all non-normative. (Although in this specific case nothing much is normative and the whole thing is rather vague.) [16:26:00.0000] annevk: Actually the prose does say: "Note that it's not always possible to make a clean division of cells into headers or data. You should use the TD element for such cells together with the id or scope attributes as appropriate." Which seems a relatively clear restatement of the principle. [16:26:01.0000] annevk: Yes. But they are all intended to help explain the spec, not contradict it. [16:27:00.0000] therefore trying to read them as a source of contradictions, like two alternative sources for the same thing, is strange [16:27:01.0000] (that quote is from 11.4.1) [16:28:00.0000] annevk: also note the example intended to illustrate the scope attribute which features td with the scope="row" [16:28:01.0000] followed by the text in the prose: "Although the first cell in each row contains data, not header information, the scope attribute makes the data cell behave like a row header cell." [16:29:00.0000] /me is unsure what the benefit is of trying to figure out what the intent of html4 is [16:29:01.0000] isn't it better to focus on figuring out an algorithm for html5 that works with existing tables on the web? [16:29:02.0000] /me is not going to add scope="row" to all his s [16:29:03.0000] euh, s [16:29:04.0000] zcorpan: I'm interested insofar as it it necessary to show people that vauge = bad + probably illogical [16:30:00.0000] (illogical in non-trivial cases, that is) [16:30:01.0000] jgraham_: ok [16:31:00.0000] it's also good to know what use cases HTML4 catered for [16:31:01.0000] annevk: Actually looking through the prose throughout supports that comment. [16:31:02.0000] I hadn't realised just how supported it was. [16:32:00.0000] ? [16:33:00.0000] I can't see how one could construct anything contradicting the comment. [16:33:01.0000] oh [16:34:00.0000] zcorpan: Depends on whether "figuring out an algorithm ... that works with existing tables" without consulting the spec that data table creators used is a realistic task. I suspect it isn't. [16:36:00.0000] (Although I'd certainly say it would be also worth looking at representations of the spec in major unlearning resources like w3schools.) [16:37:00.0000] I'm not sure why it's unrealistic to study actual tables out there [16:39:00.0000] annevk: I didn't say it was. I think that's a very important part of the process too. [16:40:00.0000] annevk: What I am saying is it's unrealistic to /only/ do that. [16:42:00.0000] (because the spec is a guide to well-authored tables that aren't sampled and unlearning resources are a guide to badly authored ones) [16:43:00.0000] /me shrugs and goes to bed [16:43:01.0000] speaking of w3schools... http://w3schools.invisionzone.com/index.php?showtopic=15018 *grin* [16:50:00.0000] I'm hoping that doesn't count as a legitimate use case for [16:50:01.0000] (It's good to see the author has stopped using - now they just need to go a little further and stop using too...) [16:57:00.0000] Given the way how HTML5 defines that browsers should present an image (inside an HTML document) you can theoretically style that page using the Link: HTTP header... [16:57:01.0000] /me adds it to a list of silly things to test 2007-09-04 [17:01:00.0000] ", and to the #mrt crew, the #mrt.no crew, and the cabal for their ideas and support." [17:01:01.0000] lol, I'm pretty sure that read #whatwg before... [20:35:00.0000] jgraham, is the source code for your table inspector available yet, or are you planning to release it soon? [01:12:00.0000] wow. while I was away public-html complaints have broadened to cover b.m.o and bugzilla.webkit.org bug content. [01:12:01.0000] I wonder if Opera's bugs would merit complaints, too, if they were world-readable. :-) [01:13:00.0000] hsivonen: I found those particular complaints to be mind-boggling [01:13:01.0000] especially the complaint about a comment by me on a bugs.webkit.org bug [01:20:00.0000] hsivonen: huh? URL? [01:23:00.0000] virtuelv: http://www.w3.org/mid/00bf01c7e5b9$ccf642f0$582b42ab@Piglet [01:25:00.0000] the comments in those bug reports are even more fun, claiming that IE and Safari support [02:01:00.0000] Lachy: I'm planning to release it Any Minute Now. [02:03:00.0000] zcorpan: which apps convert real (non-entity) no-break spaces to regular spaces on copy/paste? [02:06:00.0000] hsivonen: just tested copying from firefox into notepad on windows, and it became a regular space [02:08:00.0000] well, it seems like we released an experimental build with improved support for , Selectors and the like: http://www.opera.com/products/desktop/next/ (plug) [02:08:01.0000] ah, it's tuesday already [02:08:02.0000] morning zcorpan :p [02:08:03.0000] morning :) [02:12:00.0000] /me installs Opera 9.5.... [02:17:00.0000] /me likes the smooth scroll :D [02:20:00.0000] hmmm... still leaves rendering artifacts in gmail.... [02:24:00.0000] annevk: hi, i am studing your access control TR. Have you seen http://www.gnucitizen.org/blog/i-dont-think-that-you-understand-firefox3-vulnerable-by-design ? is that stuff serious? [02:24:01.0000] hendry, most of it is bogus [02:25:00.0000] annevk: ah, I've seen you responded. no worries [02:25:01.0000] Lachy: looked a bit OTT ;) [02:25:02.0000] what's OTT? [02:26:00.0000] OTT = over the top [02:29:00.0000] changelog: http://snapshot.opera.com/windows/w950a1.html [02:30:00.0000] It doesn't look like he even thought his ideas through... [02:30:01.0000] hmm. why does the URI to the blog entry call it "...opera-9-5-alpha-3", but the it's only alpha 1? http://my.opera.com/desktopteam/blog/2007/09/04/go-and-get-opera-9-5-alpha-3 [02:31:00.0000] he should read the spec, there are method restrictions, there are restrictions on availability of readyState, etc. [02:32:00.0000] Lachy: Maybe they messed up the post two times before getting it right :D [02:36:00.0000] oh nice, they finally fixed this bug "No longer use font-variant: small-caps for acronym elements". I wondered how long they would remain inconsistent with other browsers on that [02:38:00.0000] cool, text-shadow support [02:39:00.0000] othermaciej: something not immediatly evident: We support multiple text shadows, comma-separated [02:39:01.0000] I think the limit is at something like 12 shadows [02:39:02.0000] our limit is one shadow [02:39:03.0000] Lachy: http://html5.googlecode.com/svn/trunk/tables/ [02:39:04.0000] jgraham, thanks [02:40:00.0000] cause that was easier to implement with high performance, and more than one shadow seemed useless [02:40:01.0000] virtuelv had some crazy use case for 8, I think :) [02:40:02.0000] Dashiva: 9 in fact [02:41:00.0000] I used Opera as a rendering engine for some PNG [02:41:01.0000] instead of torturing myself with GIMP [02:41:02.0000] I wonder when we'll be flamed at for implementing some bits of HTML5 [02:41:03.0000] I heard we already implemented

[02:43:00.0000] how dare you speak for the HTML working group! [02:43:01.0000] no final decision has been made on

[02:43:02.0000] /me is mildly surprised about Opera putting resources into text-shadow implementation considering that howcome categorized text-shadow as "excessive" in his thesis [02:44:00.0000] Dashiva: do you work for Opera? [02:44:01.0000] Only in the summer [02:44:02.0000] snapshot.opera.com is responding really slowly for me [02:44:03.0000] Dashiva: ok. I hadn't realized. [02:45:00.0000] I'm just a lowly webapps slave [02:45:01.0000] othermaciej, confirmed :) [02:45:02.0000] I have to benchmark the new beta against Safari 3 [02:45:03.0000] er, new alpha [02:49:00.0000] hmm, does window.resizeTo not work? [02:51:00.0000] I'd guess that's disabled by default, but dunno really [02:51:01.0000] I was trying to type javascript:resizeTo(800,600) to have a consistent testing environment [02:51:02.0000] but I just resized by hand instead [02:55:00.0000] well, the JS is faster than Opera 9.2 [02:55:01.0000] at least on Mac [02:56:00.0000] hmm. there still doesn't appear to be a way to make Find-as-you-type work properly in Opera :-( [02:59:00.0000] How does it not work properly at the moment? [03:00:00.0000] I have to press '/' to activate it. I want it to start finding as soon as I start typing, like I have it configured in FF [03:03:00.0000] How does that interact with one-key shortcuts, though? [03:04:00.0000] I don't care. I don't want one-key shortcuts [03:12:00.0000] wow, I can't imagine having find configured that way [06:56:00.0000] "Fixed canvas locking in the 2dgame context to allow updating when the canvas is locked and fixed the update function to actually work" - aha, sounds like it's no longer utterly useless [06:57:00.0000] http://snapshot.opera.com/unix/u950a1.html has encoding errors in [micro]Torrent's name near the bottom :-( [07:10:00.0000] Hmm, Canvex is broken in O9.5 - if I select "large" then it only draws the top-left quarter of the canvas [07:14:00.0000] encoding error is being fixed [07:15:00.0000] hmm. validator.nu sucks in Opera Mini 4 beta [07:16:00.0000] I wonder if I should make a handheld style sheet [07:17:00.0000] It seems that teaching the world that "Selectors" is not "CSS3 Selectors" is near impossible [07:17:01.0000] http://canvex.lazyilluminati.com/tests/tests/results.html [07:19:00.0000] Cool, looks like quite a lot of bugfixes and a few regressions [07:19:01.0000] will Opera Mini take the handheld CSS if I bother making a separate style sheet? [07:20:00.0000] Hmm... canvex seems to mess up info panel too [07:20:01.0000] I think it will, though given that pages abuse handheld CSS as well it might not... [07:21:00.0000] nm, I missed the commenting out of all those scripts [07:21:01.0000] Dashiva: ? [07:22:00.0000] annevk: is there a media value that says: "I have Opera for Mobile, Opera Mini and S60 Browser for testing, I know what I'm doing." [07:22:01.0000] ? [07:23:00.0000] http://canvex.lazyilluminati.com/misc/physics.html still seems peculiarly slow in Opera :-( [07:24:00.0000] hsivonen, I'd use a media query [07:24:01.0000] hsivonen, see also http://dev.opera.com/articles/view/evolving-the-internet-on-your-phone-des-1/ which does say you can use "handheld" but media queries probably work better with other mobile devices such as the iPhone etc. [07:24:02.0000] annevk: thanks [07:25:00.0000] annevk: testing validator.nu with iPhone probably ain't gonna happen (by me) as long as it isn't available in Europe [07:27:00.0000] /me now has a mobile arsenal of 5 browsers [07:28:00.0000] hsivonen: which ones? [07:29:00.0000] S60 browser, Opera for Mobile, Opera Mini 4 beta, Maemo Browser with Gecko and Maemo Browser with Opera [07:42:00.0000] Nokia is so open-minded in their choice of browser engines [07:45:00.0000] hsivonen: I'd stay away from handheld, and just use media queries too [07:46:00.0000] virtuelv: ok. thanks [07:47:00.0000] othermaciej: resizeTo() has, afair, to be turned on here: opera:config#UserPrefs|Allowscripttoresizewindow [07:49:00.0000] hsivonen: i think you could make it work ok in opera mini 4 without media queries [07:49:01.0000] i.e. media="all" [07:49:02.0000] othermaciej: with the added snag that maximized windows are unresizable [07:50:00.0000] virtuelv: in the end it was easier to just resize manually [07:51:00.0000] (wanted to see how Opera 9.5 did on page load speed benchmarks, which requires a consistent sized content area to be meaningful) [07:51:01.0000] hsivonen: use % for left and right padding on body and fieldset [07:51:02.0000] e.g. 3% [08:04:00.0000] zcorpan: thanks. I made it suck less [08:05:00.0000] zcorpan: I think I'm still going to read about media queries one day and move the labels above the fields on narrow displays [08:06:00.0000] hsivonen: ok. that should be doable (again without mq ;) ) with float and min-width [08:08:00.0000] but perhaps simpler with mq [08:09:00.0000] zcorpan: at least if I use mq I don't need to change markup or retest in IE :-) [08:10:00.0000] @media all and (max-width:15em) { ... } [08:12:00.0000] table, tbody, tr, th, td { display:block; } [08:22:00.0000] hmm. why does the Opera Mini doc talk about device widths instead of the rendering surface width? [08:23:00.0000] pointer? [08:24:00.0000] zcorpan: http://dev.opera.com/articles/view/evolving-the-internet-on-your-phone-des-1/ [08:24:01.0000] should I expect queries relative to the rendering surface to be supported? [08:25:00.0000] hsivonen: such as? [08:25:01.0000] hsivonen: by opera, yes [08:26:00.0000] dunno why one would want to use max-device-width at all [08:26:01.0000] zcorpan: thanks [08:27:00.0000] virtuelv: max-width (as opposed to max-device-width) [08:27:01.0000] hsivonen: I think so, but I'm not entirely sure [08:27:02.0000] I'm trying out Opera's IRC client. Does anyone know if there's a way to make it automatically connect as soon as I launch Opera? [08:28:00.0000] Lachy: save the windows in a session and restore that session on startup [08:28:01.0000] or just let opera remember which tabs were open last time, wfm [08:28:02.0000] zcorpan: that too [08:29:00.0000] virtuelv, how do I do that? [08:29:01.0000] and remember to lock your IRC tabs if you want to prevent yourself from accidentally leaving a channel [08:29:02.0000] Lachy: File->Sessions->Save session [08:30:00.0000] Lachy: and close all other windows before saving the session [08:31:00.0000] ok, I'll see if that worked [08:32:00.0000] wb [08:33:00.0000] ok, that worked. now I need find out how to make it send my freenode password whenever I log into #whatwg [08:33:01.0000] tools, mail and chat accounts [08:35:00.0000] cool, it all works :-) [08:35:01.0000] :) [08:35:02.0000] hmm. Opera on desktop does weird things with max-width media queries :-( [08:35:03.0000] hsivonen: such as? [08:36:00.0000] hmm. I wonder why Opera had the default encoding set to ISO-8859-15? [08:37:00.0000] Lachy: as opposed to utf-8 or iso-8859-1? [08:37:01.0000] yes, in the IRC acct settings [08:37:02.0000] zcorpan: it seems to set the max-width property of body or html. dunno which :-( [08:37:03.0000] in 9.20 [08:38:00.0000] just checking it's using UTF-8 now, this should be a smily face: ☺ [08:39:00.0000] cool, that showed in the logs correctly :-) [08:40:00.0000] hsivonen: do you have a test case? [08:42:00.0000] i don't see it with 9.23 [08:42:01.0000] Lachy: which do you think should be default: utf-8 or iso-8859-1? [08:43:00.0000] for IRC, it should be UTF-8 [08:43:01.0000] that's what chatzilla and xchat use, I believe [08:44:00.0000] Lachy: file a bug? :) [08:46:00.0000] hsivonen: tried in 9.5? [08:48:00.0000] zcorpan: hmm. when I try to minimize the test case, I see neither the problem nor correct behavior... [08:48:01.0000] hsivonen: interesting [08:49:00.0000] zcorpan: test case http://hsivonen.iki.fi/test/max-width-mq.html [08:50:00.0000] hmm. might have been a mistake in my testing or I don't grok the SSR mode in the desktop build [08:50:01.0000] anyway, it turns out that max-width works [08:50:02.0000] but not after window resize without reload [08:50:03.0000] so the query applies at initial load time only [08:51:00.0000] hsivonen: you will need to make the window narrower for the mq to apply, not just enable ssr [08:51:01.0000] hsivonen: in 9.5 it gets applied as you change the window size [08:55:00.0000] zcorpan, bugs.opera.com really needs to have a link to bugs.opera.com/wizard/ - I had to go the long way around to find it through opera.com -> support -> ... [08:57:00.0000] zcorpan, bug-281826 is filed [08:58:00.0000] yay. made validator.nu no longer suck in Opera Mini [08:58:01.0000] Lachy: thanks [08:58:02.0000] still sucks in S60 browser, though [08:58:03.0000] I guess they don't support media queries :-( [08:59:00.0000] hsivonen: nice [09:01:00.0000] hsivonen: they might support "handheld" [09:08:00.0000] if they ever update to a newer WebKit they will [09:08:01.0000] in fact the WebKit media query support was originally written by someone from Nokia [09:15:00.0000] Lachy: it does have a link to te wizard [09:16:00.0000] /me just forwarded the request... :) [09:17:00.0000] hasather, where? [09:18:00.0000] Lachy: bugs.opera.com says "If you are not an Opera employee or partner, but wish to report a bug, please visit the bug report wizard after reading the guidelines." with a link to the wizard [09:19:00.0000] oh, that's not at all obvious. It should be in the toolbar [09:20:00.0000] I tried "Enter new bug" in the toolbar, and that didn't work, so I figured there wasn't another link [09:24:00.0000] hmm. smileys aren't showing as graphics for me, as they're supposed to http://help.opera.com/Windows/9.20/en/chat.html#smileys [09:25:00.0000] Lachy: known, I believe [09:25:01.0000] ok, is it just a bug in the 9.5 alpha? [09:25:02.0000] Lachy: yes [09:26:00.0000] ok [09:26:01.0000] is it possible to fix the nickname completion to use a comma instead of a colon after the name? [09:26:02.0000] I couldn't find any pref for it [09:27:00.0000] Lachy: not that I know of, but I've never looked into it [09:31:00.0000] Lachy: file another bug? :) [09:35:00.0000] zcorpan: I will later. I'm currently trying to work out how to manage my user profile in opera, like I can with Firefox. [09:50:00.0000] hmmm… which is the lesser evil: XHTML, or HTML 3.2? [09:50:01.0000] I wonder if anything can be done to the Apache policy of not putting x- types in mime.types... [09:50:02.0000] seems like a *very* counter-productive policy to me [10:00:00.0000] hmm. I can't figure out how Opera's profile managment works. I want to store the whole profile on my data disk (D:) instead of my system disk (C:). I give up for tonight [10:03:00.0000] Lachy_: this might help http://operawiki.info/OperaProfiles [10:07:00.0000] hasather, thanks. [10:08:00.0000] Opera definitely needs a profile manager like Firefox's though [11:01:00.0000] hsivonen: yt? [11:06:00.0000] aaronlev_: yes. (still catching up on email. sorry.) [11:06:01.0000] hsivonen: np [11:06:02.0000] i probably wrote a similar email twice, sorry about that [11:15:00.0000] Opera 9.5 says: "Insert em tag instead of i tag when using italic execCommand parameter" - that sounds semantically unsound :-( [11:21:00.0000] aaronlev_: I'm reading your mail now, but it will take me a while to think enough before I reply [11:22:00.0000] cool [11:44:00.0000] Philip`: thought so too. Is it for compatibility? [11:45:00.0000] iirc, that's what IE does. Firefox uses and (again, iirc) [12:07:00.0000] /me adds a list of contributors to his draft of tolerant HTTP parsing: Philip` [12:08:00.0000] /me wonders why [12:09:00.0000] Philip`: "why" is answered somewhere on your web space. Don't have the URI off hand. You did it before I was intending to actually formally write the behaviour down. [12:11:00.0000] Hmm, I sort of vaguely remember doing something to test different combinations of \r and \n in headers [12:12:00.0000] Yeah. That. [12:14:00.0000] /me probably ought to sort out a better method of remembering what he's done in the past, since his brain is too leaky to store non-backed-up data in [12:14:01.0000] ergh. apparently RAID HD has failed. yuk. [12:15:00.0000] Philip`: you could do less work... that's the only way i've found [12:15:01.0000] not a particularly fun way of solving the problem though [12:19:00.0000] I was thinking more along the lines of writing stuff down, and not putting everything in "misc" folders :-) [12:19:01.0000] Philip`: pah, google is your friend :-P [12:25:00.0000] but yeah Philip`, you are the list :) [12:27:00.0000] Do I win a T-shirt or badge or something, or is it just fame and glory? [12:29:00.0000] Philip`: just fame and glory for draft -00 [12:37:00.0000] Hmm, I suppose that'll be good enough for now, given that I can barely remember what contribution I made :-p [12:43:00.0000] Philip`: If you care, further testing made it rather clear that how you treat CR is rather irrelevant, as every browser treats it differently [12:49:00.0000] Is any of them sensible enough to use its behaviour in a specification, or is it saner to make up another different behaviour? [12:50:00.0000] Well, I've yet to find anything reliant on any particular behaviour, so I am (for now) treating it as a valid header name/value character [12:51:00.0000] which as the algorithm will be written, is the simplist [12:51:01.0000] but it's also different to everything I've tested [12:51:02.0000] actually, Safari is somewhat like it [12:51:03.0000] Safari's behaviour is more complex when it is surrounded by whitespace in the value, though [12:56:00.0000] http://geoffers.uni.cc/draft-sneddon-http-parsing-00.html is current draft [13:07:00.0000] gsnedders: one thing for the security section of that draft is the need for implementations to follow the spec exactly lest they be vulnerable to content stuffing that abuses differences in parsing algorithms [13:08:00.0000] Hixie: yeah, that was one section I needed to solicit comments on about what to write there :) [13:08:01.0000] looks good so far though [13:09:00.0000] some of the algorithmic text is based off HTML 5 text, so it's not overly amazing that you're saying that [13:09:01.0000] :-) [13:09:02.0000] there was in very early drafts a reference to that, but all the algorithms have been totally rewritten since [13:09:03.0000] (i.e., at least one algorithm was a verbatim copy) [13:09:04.0000] heh [13:09:05.0000] hey Hixie [13:10:00.0000] hey! [13:10:01.0000] wassup? [13:10:02.0000] anything fun while i was in the desert? [13:10:03.0000] the first step ("input"/"position" inheritance) is still verbatim. the rest is totally my own writing, as far as I can see [13:10:04.0000] what were you in the desert for? [13:10:05.0000] gsnedders: yeah i noticed that, i'm all in favour :-D [13:10:06.0000] Lachy: burning man [13:11:00.0000] I implemented the text/html feed sniffing algorithm a few days ago [13:11:01.0000] cool [13:11:02.0000] does it work? [13:11:03.0000] http://html5.lachy.id.au/content-sniffing/ [13:11:04.0000] Hixie: WP:NPOV!11!!11! [13:11:05.0000] I found one problem with the prose, which I should send mail about but havent yet. [13:12:00.0000] Lachy: several have already been sent by both me and kingryan [13:12:01.0000] gsnedders: :-D [13:12:02.0000] Lachy: k [13:12:03.0000] Lachy: was it fairly obvious? [13:12:04.0000] /me is looking for it now... [13:13:00.0000] step 6 says: [13:13:01.0000] 3. Otherwise, increase pos by 1. [13:13:02.0000] 4. Otherwise, return to step 2 in these substeps. [13:13:03.0000] yeah, that's already been sent [13:13:04.0000] Lachy: what's that content-sniffing written in? [13:14:00.0000] gsnedders: ok [13:14:01.0000] kingryan: javascript [13:14:02.0000] Lachy: just an extra "Otherwise", right? [13:14:03.0000] I sent an email about rdf:RDF as well [13:14:04.0000] yes [13:14:05.0000] Hixie: yeah [13:14:06.0000] Lachy: also, did you implement step 10? [13:14:07.0000] no, not yet [13:15:00.0000] k [13:15:01.0000] Hixie: fwiw, I implemented step 10 in a naive way and it seems to work [13:15:02.0000] i'm not sure how to spec it exactly [13:15:03.0000] kingryan: yeah? [13:15:04.0000] regarding step 10: [13:17:00.0000] i think that's in the issues list [13:17:01.0000] yeah, it is [13:17:02.0000] Hixie: yeah, I did what gsnedders' email suggests [13:17:03.0000] just for anyone here not aware of it while discussing it [13:17:04.0000] I don't look for the namespaces [13:18:00.0000] as I said, I've yet to see anything break [13:19:00.0000] well, i'm sure i'll look at this again when i edit that part of the spec :-D [13:20:00.0000] when that time comes, let me know and I can run some stats from our spider to see how well the simple version of step 10 works [13:20:01.0000] Hixie: I'm going to be writing test cases (far more comprehensive than yours) for all sorts of sniffing behaviour. I'll test what I have time to myself, but help is always welcome ;) [13:20:02.0000] gsnedders: cool [13:21:00.0000] I conned anne out of gsnedders.html5.org, which is where they'll be [13:21:01.0000] hah [13:21:02.0000] first person to not have firstname.html5.org :P [13:21:03.0000] gsnedders: we can put the tests in html5lib, too, if you wish [13:22:00.0000] gsnedders: Not the first - there's www.html5.org, and I doubt there's anyone here named www :-) [13:22:01.0000] oh wow! IE doesn't need to see the namespaces put on the start tag for it to sniff as a feed [13:22:02.0000] kingryan: they'll all be MIT licensed, but arguably having tests over hundreds of files isn't that nice for test suites [13:23:00.0000] http://html5.lachy.id.au/content-sniffing/?%3Crdf%3ARDF%3Etest%3C%2Frdf%3ARDF%20xmlns%3D%22http%3A%2F%2Fpurl.org%2Frss%2F1.0%2F%22%20xmlns%3Ardf%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%22%3E [13:23:01.0000] Hixie: btw, do you have data about how many feeds are "text/html;..." but not "text/html; charset=iso-8859-1" or "text/html; charset=ISO-8859-1"? i was wondering if it would be possible to limit the sniffing similarly to text/plain [13:23:02.0000] Philip`: meh. www is the same as without :P [13:23:03.0000] zcorpan: no data at the moment [13:24:00.0000] Hixie: ok [13:26:00.0000] Hixie: oh, and regarding the informative reference to HTML 5 in W3C repo, that's mainly down to needed a stable URI. I'm planning on changing it to the FPWD when that comes (whenever that is, or whether the heart stops beating) [13:26:01.0000] terrible pun, I know. [13:27:00.0000] stable how? [13:28:00.0000] a non-changing URI pointing to the same document. my understanding of the I-D/RFC requirements is for that to be a specific version of the document. [13:29:00.0000] ah [13:29:01.0000] makes sense [13:30:00.0000] and the W3C CVS URIs are the only ones to my knowledge that currently meet that requirement [13:30:01.0000] i'm very interested to see what reaction your draft gets when you submit it [13:31:00.0000] theoretically I don't need that much done to be allowed to submit it, but it'd probably be better to have more done [13:31:01.0000] gsnedders: how much of RFC 2616 are you intending to rewrite? [13:32:00.0000] Lachy: just define the parsing. nothing more. [13:32:01.0000] ok [13:33:00.0000] so you're not redefining what is and is not conforming syntax? [13:33:01.0000] /me wonders where he could get it published if the reaction when submitted is less than ideal [13:34:00.0000] Lachy: conformance requirements for syntax are unchanged. conformance requirements for parsing are. [13:34:01.0000] ok. [13:35:00.0000] I should do my homework that's due for tomorrow… [13:35:01.0000] gsnedders: we can definitely set up an http.whatwg.org thing if the ietf doesn't react favourably [13:36:00.0000] Hixie: you think it was coincidence I mentioned that with you around, and hosting with anne around? :D [13:37:00.0000] hey, gsnedders, in a MIME type for the Content-Type header, is there technically allowed to be whitespace between the semi-colon and paramters? like: text/html;charset=UTF-8? [13:37:01.0000] gsnedders: :-) [13:37:02.0000] Lachy: yes [13:37:03.0000] when I read it yesterday, cause I had to write a regex to validate it, the BNF in the RFC seemed to indicate that it can't [13:38:00.0000] Lachy: the MIME spec allows one spec, IIRC, and any LWS in HTTP is reduced to a single space [13:39:00.0000] really? RFC 2616 says this: [13:39:01.0000] media-type = type "/" subtype *( ";" parameter ) [13:39:02.0000] type = token [13:39:03.0000] subtype = token [13:39:04.0000] parameter = attribute "=" value [13:39:05.0000] attribute = token [13:39:06.0000] value = token | quoted-string [13:39:07.0000] quoted-string = ( '"' *(qdtext | quoted-pair ) '"' ) [13:39:08.0000] qdtext = any TEXT except '"' [13:39:09.0000] quoted-pair = "\" CHAR [13:40:00.0000] yeah, RFC 2045 agrees with no space being allowed [13:40:01.0000] what's a "token"? [13:40:02.0000] my memory is wrong [13:40:03.0000] Hixie: a horribly wrong number of characters [13:40:04.0000] s/wrong/long/ [13:40:05.0000] and token is defined to exclude control chars, spaces and a few other special things [13:40:06.0000] can it start with LWS? [13:40:07.0000] no [13:40:08.0000] k [13:40:09.0000] odd [13:40:10.0000] it's what a header name can be [13:41:00.0000] does *( ... ) imply LWS? [13:41:01.0000] token = 1* [13:41:02.0000] separators = "(" | ")" | "<" | ">" | "@" [13:41:03.0000] | "," | ";" | ":" | "\" | <"> [13:41:04.0000] | "/" | "[" | "]" | "?" | "=" [13:41:05.0000] | "{" | "}" | SP | HT [13:41:06.0000] Lachy: my memory is wrong because it's impossible to implement that as specified :P [13:42:00.0000] yeah, I noticed. I decided to explicitly allow spaces to occur there in my regex [13:42:01.0000] here we go [13:42:02.0000] actually [13:42:03.0000] it is allowed [13:42:04.0000] page 15 [13:42:05.0000] see implied *LWS [13:43:00.0000] it disallows it between the type and subtype, and attribute and vale, but not before the semi-colon [13:43:01.0000] what about between attr=value? [13:44:00.0000] yeah, it's disallowed between attr and value [13:44:01.0000] where does it say that? [13:44:02.0000] page 26 [13:44:03.0000] bottom paragraph [13:45:00.0000] when fetching a HTTP header through JS, is its name case-sensitive? [13:46:00.0000] Lachy: I was sure it was allowed, just couldn't see where straight away. RFC 2616 is like that :) [13:47:00.0000] but it says "linear white space (LWS) can be included ... between adjacent words and separators", so therefore space between attribute and "=" would be allowed [13:47:01.0000] othermaciej: i think i'm convinced by your idea of application="manifest" with the manifest being the identifier for the cache [13:47:02.0000] othermaciej: especially because for single-page apps, it still works to have application="" since we can just say it's a relative URL to the same page [13:48:00.0000] thus making the manifest optional, effectively [13:48:01.0000] Lachy: it also says except where explicitly it is not allowed. page 26 explicitly says between attributes and their values it is not allowed. [13:48:02.0000] hmm, the manifest could also point to the "top" page, so the manifest could be HTML... [13:48:03.0000] hm [13:48:04.0000] Hixie: I'd say the manifest should either be implicit or some format other than HTML [13:49:00.0000] gsnedders: ok [13:49:01.0000] Hixie: in other words, make application="" a special case [13:49:02.0000] oh? [13:49:03.0000] even with the feedback we got from the gears guys that people don't like manifests? [13:50:00.0000] gsnedders: so spaces could occur here: type/subtype LWS ; LWS attribute=value [13:50:01.0000] Hixie: sorry, I might not be expressing myself clearly [13:50:02.0000] i kinda like the idea of making the manifest executable, the way the top page is in the proposal i mentioned, because it allows for the page to talk from its new version to its old version and negotiate things between multiple open pages, etc [13:50:03.0000] Lachy: correct [13:50:04.0000] i have to get lunch, i'll be back shortly [13:50:05.0000] ok, I'll update my regex [13:50:06.0000] I think application with no value or an empty value should be a special case where you get the "implicit manifest" behavior [13:51:00.0000] but in other cases the manifest should be some specific non-executable format [13:51:01.0000] Lachy: or in ABNF, more exactly: type "/" subtype *(LWS ";" LWS parameter) [13:51:02.0000] one of the benefits of a manifest is being able to very quickly check for updates [13:51:03.0000] Lachy: as there can be multiple parameters [13:51:04.0000] you can just do a conditional GET of the manifest [13:52:00.0000] and then further do conditional GETs of the resources listed, possibly only if the manifest indicates their version changed, depending on the format [13:52:01.0000] I don't think that works where your external manifest is an HTML file that executes script [13:52:02.0000] I also think some of the reasons stated for not liking manifests are equally bad problems for an implicit offline cache scheme [13:53:00.0000] if all loads go in the offline cache, then to do valid offline testing you have to blow away your browser cache *and* your offline cache [13:53:01.0000] otherwise you might miss hard dependencies on resources that are not loaded every single time [13:53:02.0000] (that load late on demand, say) [15:08:00.0000] othermaciej: true [15:25:00.0000] /me finally gets to the public-html mail [15:45:00.0000] Hixie: http://tdspodcast.com/archive/2007/09/04/constructive-feedback-lacking-in-opinion-of-at-product.aspx [16:45:00.0000] zcorpan: thanks [16:46:00.0000] Hixie: is it by any chance possible that JAWS might be a piece of software with bad defaults but configurable to be more bearable? [16:46:01.0000] I hear it has lots of prefs [16:46:02.0000] it certainly has bad defaults [16:47:00.0000] but the prefs UI is amongst the worst UI i have ever seen (or heard) [16:47:01.0000] it's worse than the windows registry [16:49:00.0000] /me gets out the JAWS manual to work out how the heck to navigate the Web again [16:53:00.0000] god jaws sucks [16:53:01.0000] i'm at the windows desktop [16:53:02.0000] /me wonders if hixie used jaws with a piece of cloth on his eyes [16:53:03.0000] i turn the screen off [16:53:04.0000] ah good, but I would have shut off my visual sense [16:54:00.0000] it is an interesting experiment [16:54:01.0000] though desktop browsers from what I see from my parents are also very hard to use [16:54:02.0000] i can't close my eyes, with my eyes closed i couldn't read the jaws manual which i need to work out wtf the navigation keys are [16:55:00.0000] /me finally finds "read line" in the manual (Caps Lock + I, obviously) [16:55:01.0000] It's all right, it's all right Hixie, she moves in mysterious ways. [16:55:02.0000] woot, finally launched IE [16:56:00.0000] (yes, I'm getting my own back on all your hidden references to various things) [16:56:01.0000] in my blog you mean? [16:57:00.0000] Hixie: Have you read Surf's Up? [16:57:01.0000] Hixie: oh, just all the references you have to all sorts of things all over the place, in HTML 5, on your blog, and too many other places [16:57:02.0000] heh [16:58:00.0000] it's not really hard to find, though [16:58:01.0000] anyhow, school starts in just under nine hours, time for me to go sleep 2007-09-05 [17:00:00.0000] /me wonders how the mobile IE works on the real web [17:01:00.0000] takkaria: what's the relationship to normal IE codebase-wise? [17:01:01.0000] on this page: [17:01:02.0000] http://www.hixie.ch/tests/adhoc/html/screen-readers/ [17:02:00.0000] it says "Index of /tests/adhoc/html/screen-readers" three times [17:02:01.0000] and says "eighty" twice (at the end of a line each time) [17:02:02.0000] why?!?! [17:02:03.0000] it should say the first thing twice because it is in both title and h1 [17:03:00.0000] hsivonen: I have no idea. I'm getting a windows mobile smartphone tomorrow, though, so I guess I'll see how well it works then... [17:03:01.0000] I guess I can get opera mobile or whatever the portable mozilla browser's called though [17:03:02.0000] http://www.lukew.com/resources/articles/PSactions.asp [17:04:00.0000] webben_: twice i would understand [17:04:01.0000] Hixie: 80? is that the width of the line or something? [17:04:02.0000] (though it's still retarded) [17:04:03.0000] takkaria: maybe? but why does it say it, even then?! [17:05:00.0000] Hixie: What happens in Fox? [17:05:01.0000] nah it is not 80, but "s'ti" in Quebecois. It means something like "geez" [17:06:00.0000] webben_: dunno, don't want to go through the pain of switching browsers yet! [17:06:01.0000] I think part of the problem of screenreaders for the web is that there isn't actually a web-specific screnreader [17:06:02.0000] one of those could do a much better job, I imagine [17:07:00.0000] takkaria: There are. But there shouldn't be any need for such a thing. [17:07:01.0000] takkaria: HTML is in a lot of different applications, don't forget, not just web browsers. [17:07:02.0000] e.g. WebKit is used in Colloquy and Mail [17:08:00.0000] mm, true. but in applications it tends to be slightly different, since they're not browsers [17:08:01.0000] plus the fact that navigating the web is not the only thing [17:08:02.0000] you have to be able to use the desktop as large [17:08:03.0000] and the process of transmuting HTML to a screen reader-navigable DOM is very similar to that for Word files and PDF files and everything [17:09:00.0000] takkaria: There have been many attempts at providing dedicated browsers. But there are major advantages to using the same software as sighted peers. [17:09:01.0000] i tend to agree that there should be a dedicated speech browser rather than a screen reader, but that's a separate problem entirely [17:09:02.0000] fair enough. I can see that [17:10:00.0000] but if HTML5 works out, then I would imagine that a dedicated browser would be much easier than at present [17:10:01.0000] sure wish i knew why it kept saying "ninety eight percent" [17:10:02.0000] Hixie: That's page load information. [17:10:03.0000] i.e. how much of the page has loaded [17:11:00.0000] Hixie: quite possibly that was your 80 earlier too [17:11:01.0000] no, IE is not doing anything [17:11:02.0000] maybe, though i doubt it, it happens in the same place on that page [17:13:00.0000] /me would suggest hixie to learn with a blind user who is using a lot jaws. [17:13:01.0000] Hixie: are you IRCing on the same machine as the one you're using JAWS on? [17:13:02.0000] each category of individuals develops skills with regards to software, and there is always a learning curve [17:14:00.0000] takkaria: no [17:15:00.0000] karlUshi: this is not software that should have a notable learning curve. the target audience includes the learning disabled. [17:15:01.0000] i seem to have entered some mouse-related reading mode [17:15:02.0000] maybe something to do with the cursor settings [17:15:03.0000] cough cough :) wishful thinking :) [17:16:00.0000] Hixie: Heh. So does Windows. :) [17:16:01.0000] karlUshi: this is orders of magnitude harder than it needs to be [17:16:02.0000] i can't work out how to get this out of this strange mode [17:16:03.0000] /me logs out and back in agaain [17:17:00.0000] Hixie: Have you played around with Window-Eyes yet? [17:17:01.0000] no [17:17:02.0000] I've tended to find that less overwhelming than JAWS. [17:17:03.0000] how do *you* know what *needs* to be, again look at my previous comment, spend time with a real user :) and identify the real problem. :) [17:17:04.0000] moving to svgopen [17:19:00.0000] webben_: ah [17:19:01.0000] christ this weird ass mode followed my to the logon box [17:19:02.0000] it's only reading the stuff from the disabled dialog [17:19:03.0000] Hixie: What happens in this mode exactly? [17:20:00.0000] the dialog that's in front telling me my password is wrong is not reading it [17:20:01.0000] s/it// [17:20:02.0000] hsivonen: that forms design post is very interesting, ta [17:20:03.0000] webben_: hard to describe [17:21:00.0000] so "say all" doesn't work in dialogs, i guess [17:22:00.0000] I don't think it would [17:22:01.0000] i hit "say paragraph" and it says "blank" [17:22:02.0000] helpful, thanks jaws [17:22:03.0000] Hixie: try just tabbing around? [17:22:04.0000] (if this is a dialog) [17:22:05.0000] webben_: an alert dialog, i mean [17:23:00.0000] webben_: pressing tab just makes it say "tab". [17:23:01.0000] i can't get it to read me the message again [17:23:02.0000] Hixie: try INSERT + B (read current window) [17:24:00.0000] wait, i've found the bug [17:25:00.0000] (i'm in laptop mode, btw, so i use caps lock instead of insert) [17:25:01.0000] caps lock Y dismisses the alert dialog without telling me [17:25:02.0000] christ is that confusing [17:25:03.0000] Hixie: ah okay. [17:25:04.0000] caps lock - b is a useful command, thanks [17:26:00.0000] yw [17:26:01.0000] i don't understand why caps lock - a isn't the same thing though [17:26:02.0000] why two commands? [17:27:00.0000] Hixie: Judging from http://www.freedomscientific.com/fs_products/JAWSkeystrokes.asp INSERT+A just reads the address bar [17:27:01.0000] capslock+a is say all in laptop mode [17:28:00.0000] Hixie: I suspect say all is specific to buffers [17:28:01.0000] seems so [17:28:02.0000] whereas in dialogs JAWS would be in some sort of mode that more closely follows MSAA [17:28:03.0000] (like forms mode in webpages) [17:30:00.0000] If you have a window which also has a document loaded into a buffer, I guess there is a logic in there being two different commands. [17:32:00.0000] yeah [17:47:00.0000] ok, here's a test case for JAWS: http://www.hixie.ch/tests/adhoc/html/screen-readers/001.html [17:52:00.0000] What's it reading wrong there? [17:53:00.0000] reads everything after "elephants" on the second line in the same voice as "elephants" [17:53:01.0000] Hixie: This is with the Web Rent-A-Crowd scheme or something is it? [17:54:00.0000] yeah [17:57:00.0000] Hixie: what happens if you turn on announcements too? does it think there's more than one link there? [17:59:00.0000] /me hunts for announcements [18:00:00.0000] Hixie: sorry, that's not necessarily the technical term [18:01:00.0000] I just mean where it will say "unvisited link" or whatever before a link [18:02:00.0000] not sure how to enable that, but it does say "visited link" once on that page [18:03:00.0000] well at least it only thinks there's one link [18:03:01.0000] are you sure you've got the voices different enough that you'd be able to tell the difference? [18:03:02.0000] oh yes [18:03:03.0000] one is male and the other female [18:03:04.0000] ah okay [18:04:00.0000] i love the way it reads the first line, too: [18:06:00.0000] "In the following text, only one word left paren the word. Quote elephants quote. Right paren! should be said like a link." [18:06:01.0000] though that depends on the synthesiser [18:07:00.0000] SAPI5 in particular seems to suck. [18:36:00.0000] weird, it'll read certain sentences differently when it's reading the paragraph vs reading just the sentence [19:00:00.0000] second screen reader test case: http://www.hixie.ch/tests/evil/screen-readers/002.html [19:32:00.0000] i'm amused by the alt text discussion [19:32:01.0000] the arguments are all about whether we should allow alt="" to be omitted [19:32:02.0000] the spec already requires alt="" [19:41:00.0000] it does in some cases allow alt to be omitted [19:41:01.0000] "In such cases, the alt attribute may be omitted" [19:42:00.0000] allowing it to be omitted in some cases means conformance checkers can't report failure whenever it is missing [19:42:01.0000] which may have some small effect at the margins [19:42:02.0000] though whether that effect is good or bad is unclear [19:43:00.0000] iirc every case where it says may be omitted is followed by a should-level requirement that it be not omitted [19:44:00.0000] well yes, it's (almost) always strongly encouraged, but it is not 100% mandated [19:45:00.0000] I'm thinking that is probably ok, though it does make JAWS give worse-than-usual results in many cases apparently [19:57:00.0000] Oh no! people are asking for RDFa in HTML :-( http://lists.w3.org/Archives/Public/public-html/2007Sep/0120.html [19:57:01.0000] (btw, how did that sneak into the charter?) [19:59:00.0000] oh good, it says "whether it is also allowed in the classic HTML serialization ... is for the HTML WG to determine." [19:59:01.0000] Lachy: it snuck in there is an example [19:59:02.0000] Lachy: it used to be there as a feature to add [19:59:03.0000] fortunately, the charter doesn't require support for RDFa, but simply encourages a mechanism to support extension [19:59:04.0000] "The HTML WG is encouraged to provide a mechanism to permit independently developed vocabularies *such as* Internationalization Tag Set (ITS), Ruby, and RDFa to be mixed into HTML documents" (emphasis mine) [20:00:00.0000] yay "such as" :) [20:00:01.0000] rdfa++ [20:01:00.0000] karlUshi, I don't believe RDFa is good for anything, it's way too complex and overengineered [20:01:01.0000] surely not [20:01:02.0000] it uses namespaces, it must be good! [20:02:00.0000] yes lachy, you put the key thing here "believe" [20:02:01.0000] it also uses RDF, and we all know that Web authors are rushing to author RDF and are only being stopped by lack of support in browsers [20:02:02.0000] troll fest :) funny [20:03:00.0000] /me is enjoying relax in a comfortable seat [20:03:01.0000] RDF stands for RSS Data Format, right? [20:03:02.0000] hah [20:03:03.0000] othermaciej: you could do better, Really Dat Fucked [20:04:00.0000] /me is shocked at karlUshi's scandalous language [20:05:00.0000] yes I know othermaciej but I'am applying your freedom of expression rule :) I'm just a robot [20:05:01.0000] i'm going to complain to DanC right now! [20:05:02.0000] /me ducks [20:05:03.0000] you should [20:06:00.0000] oh, it also uses CURIEs. that's even better ;-) [20:07:00.0000] isn't that a measurement of radioactivity [20:07:01.0000] I'm trying to come up with something sufficiently righteously angry-sounding to say, but am laughing too hard to think of anything. [20:07:02.0000] Lachy: to see through [20:31:00.0000] hey Hixie, how does your clipboard.cgi script work? Does it just save POSTed data to a text file and then send it back on GET requests? [20:33:00.0000] Hixie, can I get a copy of it to run on html5.lachy.id.au for my own tools? [00:07:00.0000] Lachy_: yes [00:41:00.0000] wow these videos are really interesting [00:43:00.0000] what videos? [00:44:00.0000] http://lists.w3.org/Archives/Public/public-html/2007Sep/0103.html [00:45:00.0000] ah cool [00:45:01.0000] yeah, actual user testing [00:54:00.0000] man this is so interesting [00:55:00.0000] in the first 10 minutes of the table video it seems the biggest problems are with a bug jaws has about colspan/rowspan [00:55:01.0000] also interesting with the budget table is that it's clear that the headers being read out are completely useless [00:55:02.0000] it's not reading the column header [00:57:00.0000] Hixie: also, JAWS has pretty significant trouble with thousand separators that are commonplace [00:59:00.0000] hsivonen: yeah, the number handling is appalling in that instance [00:59:01.0000] notice he goes to the horrific configuration UI [00:59:02.0000] and does far better than I (a sighted user) did when I went there! [01:00:00.0000] i think that revenue table (http://www.wisc.edu/about/facts/budget.php#budgetRev) is an example of a table that is badly marked up with headers="" [01:00:01.0000] "source" shouldn't be on the headers="" list for the data cells [01:00:02.0000] and that table uses abbr="" in a really confusing way, too [01:01:00.0000] "amount state revenue source. 151.8 column 2" is not a useful way of showing that data. [01:04:00.0000] Hixie: what would you do better (apart from striking "source" from the speech)? [01:05:00.0000] "source" is a header for first column, it shouldn't be given as a header for the data cells [01:05:01.0000] headers aren't transitive [01:06:00.0000] arguably the "state revenue" row shouldn't be a header for anything but the first column either [01:06:01.0000] though scope="" can't represent that while still keeping the row table-wide [01:06:02.0000] which is interesting [01:07:00.0000] with VoiceOver, I found that due to lack of easy documentation and due to the aural UI features being undiscoverable without docs, it is really hard for a person who isn't a routine user to check if something works in a sane way [01:07:01.0000] i think you'd want that first data cell read out as "255.1 millions of dollars, general program appropriations, state revenue" [01:08:00.0000] second cell as "-1.7 percent change from previous year, general program appropriations, state revenue" [01:09:00.0000] though how you decide that the top header comes first, then the left header, then the sub-top header, i dunno [01:09:01.0000] on the next table you'd want it the other way around [01:09:02.0000] second data cell on http://broads-authority.gov.uk/boating/navigating/tide-tables.html you'd want to read out as "1.69 meters, high water, wednesday 5th, september" [01:09:03.0000] I've only watched the first two videos so far [01:10:00.0000] and I think they demonstrate that "row" and "column" aren't the real scopes but "right" and "down" [01:14:00.0000] yeah that's basically what html5 does [01:15:00.0000] (though it uses the row/column names) [01:15:01.0000] the federal bank table example is interesting, it's a table that uses scope but that shows jaws7 not supporting it [01:15:02.0000] it also shows that jaws has some heuristics to read out the first column even with no markup for it [01:16:00.0000] woah [01:16:01.0000] the immediate reaction to the first table with summary="" information is "i'm wondering how necessary is that." [01:19:00.0000] also, it shows how the insistence on cultural variance in date and number formats is an accessibility problem [01:21:00.0000] yeah [01:21:01.0000] go

? :) [08:15:01.0000] zcorpan: that could be a good idea for the (X)HTML output [08:17:00.0000] having in the xml format seems good for me, i'm just brainstorming :) [08:18:00.0000] zcorpan: ok. :-) [08:19:00.0000] speaking of
[08:19:01.0000] has safe is it in current browsers and are there forward-compatible open-source canned scripted emulation packages? [08:19:02.0000] s/has/how/ [08:26:00.0000] I wonder if I should add redundant data as a precomputed success/failure/indeterminate verdict even though the client could compute the verdict from the messages [08:32:00.0000] iirc is dropped in some browsers [08:33:00.0000] haven't seen any scripts to emulate
that uses
[08:34:00.0000] thinking about it, reusing
might have a better compat story [08:34:01.0000] but might confuse some ATs [09:53:00.0000] Lachy, you would set up a redirect for http://blog.whatwg.org/faq (try it again here as there's less traffic) [09:54:00.0000] annevk, remind me on Sunday [11:59:00.0000] has anyone seen markp around? [12:16:00.0000] kingryan: you ever have any issues with standalone in the XML declaration with feeds? [12:17:00.0000] hi gsnedders [12:17:01.0000] I'm not sure what you're asking [12:17:02.0000] like [12:17:03.0000] and the fact that standalone=yes [12:17:04.0000] no, not really [12:17:05.0000] not sure I've ever seen that in a feed [12:18:00.0000] /me looks up the bug report he got [12:18:01.0000] /me shrugs [12:18:02.0000] seems to be fixed in the feed [12:19:00.0000] probably no need to set standalone=no in everything [12:19:01.0000] (I await for XMLists to go mad at me for even suggesting that) [12:30:00.0000] /me doesn't even know what standalone is for [12:32:00.0000] kingryan: http://www.w3.org/TR/xml/#sec-rmd [12:41:00.0000] thanks gsnedders. I'm still not sure I understand it, but I think that might be ok [12:42:00.0000] kingryan: read the validity constraint, that basically summarises it [14:23:00.0000] don't forget to fill out http://www.w3.org/2002/09/wbs/35125/TPAC2007/registrants#html if you're going to the f2f btw [15:02:00.0000] anyone familiar with current state of browser support for figure element? [15:03:00.0000] no support anywhere yet afaik (although it degrades pretty well) [15:04:00.0000] fairly...with a bit of css lovin [15:04:01.0000] actually, looks like opera kestral gets it right,,,,,or mostly [15:06:00.0000] the draconian answer is that if you use XHTML5 it will work quite good (given that you add stuff like display:block) [15:07:00.0000] isntf figure supposed to be block (like a

) ? and a legend within a figure should be inline? [15:08:00.0000] yeah, but it's not natively supported yet and the initial value of the display property is inline [15:09:00.0000] not sure about in , I would expect the typical presentation to be block level I think, so that it appears under the image [15:09:01.0000] seems creates an empty element in kestrel that is display:block... pretty much like
[15:09:02.0000] (unless it's in a

that is) [15:10:00.0000] parsing is kind of buggy everywhere... [15:10:01.0000] indeed [15:11:00.0000] certainly is in ff....legend content ends up as figure's content in dom (and no legend in dom) [15:14:00.0000] from you're comment re: .....are you implying that allowing fallback is in html5, rather than 's alt ? [15:17:00.0000] this is what i've been looking at, fwiw:
fallback textcaption text
[15:18:00.0000] what comment regarding are you referring to? [15:19:00.0000] not sure about in ..... [15:19:01.0000] oh, meant in
[15:19:02.0000] ah [15:19:03.0000] my bad [15:20:00.0000] np...you just saved me some re-reading :) [15:22:00.0000] hmm. opera doesn't support display:table-caption on s [15:25:00.0000] seeing some text-shadow and box-shadow oddities in kestrel, too, btw. [15:26:00.0000] haven't come up with a simplified test case yet though [15:27:00.0000] /me will when he gets some more free time [15:27:01.0000] box-shadow? [15:27:02.0000] um....just text-shadow, actually [15:27:03.0000] too bad :) [15:28:00.0000] box-shadow would be nice :) [15:29:00.0000] kinda mostly works on safari beta (win).....a little shaky with border-radius [15:34:00.0000] yeah, the new border stuff creates a lot of edge cases [15:35:00.0000] Was that meant to be a pun? :-p [15:35:01.0000] w/ border bg images, too, still? heh [15:36:00.0000] /me groans [15:38:00.0000] well....tks for the info, folks.....later [15:38:01.0000] keep up the good work! [15:39:00.0000] Philip`: it wasn't :) 2007-09-08 [17:57:00.0000] http://html4all.org/pipermail/list_html4all.org/2007-September/000232.html - "How on earth can Wikis work if all and sundry can change what the previous author has written ?!" [17:57:01.0000] I'd have to agree that, in theory, wikis simply cannot work - the fact that they do work is almost enough to restore one's faith in humanity [17:58:00.0000] (Well, at least until they get flooded with wikispam, and then you return to a more realistic view of the world) [01:20:00.0000] hello. I found this in the wikipedia entry on future firefox versions: "More API's implemented from WHATWG specs, such as the ability to read files from file selection fields without the need to upload" [01:20:01.0000] looking at the WHATWG specs I can't find anything related to that though. could someone point me in the right direction? [02:58:00.0000] Foone2, not yet specified [02:58:01.0000] oh. So what's firefox implementing from? [03:03:00.0000] an idea [03:04:00.0000] well, has anyone written anything down about this idea then? [03:05:00.0000] yeah, there's a bug report with them [03:06:00.0000] it's mostly sketched [03:07:00.0000] basically, you get an "input" / "change" event and then a new member becomes non-null if the user has selected any files [03:07:01.0000] which exposes a list of selected files [03:30:00.0000] /me sighs [03:31:00.0000] /me can't ship the HTML 5 content type sniffing, as so many feeds are served as text/plain [03:33:00.0000] gsnedders: are (m)any of those "text/plain; charset=X" where X is something other than "iso-8859-1" or "ISO-8859-1"? [03:33:01.0000] zcorpan: I haven't yet looked at the specifics [03:34:00.0000] /me is hoping that it will be possible to limit the sniffing so that "text/html; charset=utf-8" and "text/plain; charset=utf-8" are never sniffed [03:34:01.0000] even those are only sniffed to see if they are text/plain or binary data [03:35:00.0000] gsnedders: yeah, i know [03:35:01.0000] but all text/html are sniffed for feeds [03:40:00.0000] /me wonders whether to just ship it, and possibly pull it at a later date if we get too many bug reports [03:41:00.0000] how many of these feeds are discovered using autodiscovery? [03:42:00.0000] annevk: I don't have that many stats readily available [03:42:01.0000] http://macnn.com/podcasts/macnn.rss — there's the first failure I've found just going through the demo feeds [03:43:00.0000] served as "text/plain" [03:44:00.0000] http://web.mac.com/turboderek/iPhoto/top-rides/index.rss — "application/octect-stream" (yuk) [03:45:00.0000] /me wonders how to sniff application/octect-stream [03:46:00.0000] http://youtube.com/rss/global/top_favorites.rss — text/plain [04:04:00.0000] http://www.html5.jp/trans/whatwg_html5faq.html (translation in JP) [04:12:00.0000] annevk - can you please check and see if you can get to http://sideshowbarker.net ? [04:12:01.0000] /me is at the Kuala Lumpur airport and having some problems with DNS on the wireless LAN here [04:13:00.0000] MikeSmith: doesn't seem to load for me [04:15:00.0000] zcorpan - OK, that's what I was afraid of [04:15:01.0000] thanks for checking [04:16:00.0000] nope :( [04:18:00.0000] annevk - k [04:20:00.0000] unfortunately that host also runs my mail server too, and because of DNS problems here, I can't even get to the admin shell to restart it [04:21:00.0000] anyway, very little I can do about it now, and have to catch a plane in 20 minutes [04:24:00.0000] you're complaining about not getting to your e-mail? that's weird, seems like a luxury to me :) [04:28:00.0000] yeah, guess I should appreciate the break [04:30:00.0000] don't miss the plane :) [04:34:00.0000] hey, I've been wondering if anybody is aware of support for the inputmode attribute in any browsers (mobile or desktop or otherwise) [04:35:00.0000] I know Opera Mobile doesn't yet support it [04:35:01.0000] neither do the released versions of Openwave V6 or V7 [04:35:02.0000] though I'm told Openwave v7.2 does [04:36:00.0000] I'm thinking it is probably supported in Access NetFront but have not been able to try it yet [04:37:00.0000] there's a test case here: [04:40:00.0000] http://testfest.openmobilealliance.org/xHTML_3c/Input_Modes/TextInputModeDigits.xhtml [04:41:00.0000] but, um, though it's being server up with an XML/XHTML MIME type, it has the wrong doctype and is also missing the XHTML namespace [04:42:00.0000] so sort of makes it problematic to test with [04:42:01.0000] I do notice though that the Openwave browser displays it in spite of it brokenness [04:43:00.0000] which would seem to confirm that it's just using its HTML parser and ignoring the mime type [04:44:00.0000] anyway, gotta go [06:04:00.0000] Firefox support for getElementsByClassName() seems also quite buggy: http://tc.labs.opera.com/apis/getElementsByClassName/ [06:04:01.0000] Although I think most problems are related to the fact that they don't look for classes on the HTMLHtmlElement [06:05:00.0000] (and for some reason (with g bound to the SVG namespace) doesn't seem to implement SVGElement and therefore class="" doesn't seem to be supported there either) [06:10:00.0000] We're still failing badly too, I see [06:11:00.0000] oh, yes [06:11:01.0000] alpha alpha alpha :p [06:13:00.0000] Oh, another problem is that \f is not seen as whitespace in Firefox iirc [06:17:00.0000] we have a getElementsByClassName patch for WebKit as well [06:18:00.0000] not yet landed [06:18:01.0000] I added a link to the test cases [06:18:02.0000] http://bugs.webkit.org/show_bug.cgi?id=14955 [06:19:00.0000] cool [06:24:00.0000] seems your impl doesn't consider \f either [06:25:00.0000] /me wonders why HTML5 has \f as whitespace char [06:26:00.0000] well, it's not even code reviewed yet. I'm not sure why \f needs to be treated as whitespace in the string parameter though [06:26:01.0000] I'm not sure why it's necessary to consider anything but space, really [06:26:02.0000] it's not like people randomly put form feeds in their scripts [06:28:00.0000] i guess it's for consistency [06:28:01.0000] and it probably works better if you do ele.getElementsByClassName(ele.className) [06:29:00.0000] fair enough [06:35:00.0000] http://james.html5.org/cgi-bin/tables/table_inspector.py?uri=http%3A%2F%2Fhsivonen.iki.fi%2Fthesis%2Fhtml5-conformance-checker.html&algorithm=html5 [06:35:01.0000] the abstract cell is associated with the author label [06:35:02.0000] I wonder if there's a way to implicitly disassociate [06:36:00.0000] /me tries other modes [06:36:01.0000] Smart Colspan is worse [06:37:00.0000] /me wonders if is appropriate for that data [06:38:00.0000] annevk: clearly, it is at least appropriate for everything but the abstract [06:38:01.0000] the HTML4 algorithm is a lot worse btw [06:39:00.0000] annevk: and since there's a row below the abstract, it needs to be one table for the columns to be held together [06:39:01.0000] annevk: besides, the LaTeX and Word templates use tables, so it would be silly to have to do something more complex in HTML [06:40:00.0000] however, one could argue that I should have headers='' on the abstract cell [06:41:00.0000] it's not clear whether headers= is authorative or augmentative [06:41:01.0000] also, one might argue that for this case, the HTML5 algorithm is Good Enough and it is obvious to anyone that Author is not the right header for the abstract if you start listening the abstract [06:42:00.0000] Why doesn't the abstract simply have a
as well? (this is the wrong question to ask, but I'm curious) [06:43:00.0000] annevk: because it wouldn't produce the exact layout required [06:43:01.0000] annevk: most of the layout carefully emulates a known-good traditional LaTeX template [06:44:00.0000] (see comments in the CSS file) [06:48:00.0000] maybe smart colspan should only look at headers which span as much or more headers than the cell they might apply to [06:48:01.0000] s/headers than the cell/cells than the data cell/ [06:51:00.0000] smartcolspan doesn't look to the left otherwise it seems the same as HTML4 [06:51:01.0000] there also seems to be a problem with the second table [06:51:02.0000] but maybe the tool only handles one table correctly [06:55:00.0000] annevk: the second table has the exact sama structure [06:55:01.0000] if a cell spans a column that doesn't have a header cell above the current cell, then the current cell has no column header at all [06:56:00.0000] analogously for rows [06:56:01.0000] I wonder if applying that rule would break anything [07:00:00.0000] shouldn't you look further up as well? [07:26:00.0000] annevk: above as in anywhere above [07:26:01.0000] annevk: I didn't mean only immediately above [07:44:00.0000] "currently I am writing from a mobile phone and for mobile devices the alt-attribute is more than essential." Huh? [07:45:00.0000] OK! [07:45:01.0000] if you want to save being charged ridiculous money, then I guess it is [07:45:02.0000] hsivonen: I imagine to speed up web access people will often disable images. [07:46:00.0000] takkaria: It's not just money, it's also speed. Mobile access is kinda slow. [07:46:01.0000] true enough [07:46:02.0000] /me has a flatrate data plan [07:46:03.0000] i disable images usually when browsing from a phone [07:47:00.0000] no flatrate data plans in nz :( [07:47:01.0000] today, I could get a mobile 1M downlink for less money than I pay for an ADLS 1M downlink [07:48:00.0000] nice [07:48:01.0000] I used to disable images occasionally, though, back when I had a traffic quota for GPRS [07:48:02.0000] but back then I wouldn't have described alt as more than essential [07:51:00.0000] competition and laws that guarantee unlocked carrier-neutral phones are good [07:52:00.0000] hsivonen: Maybe that simply reflects different browsing patterns between you and the author of the quote. (i.e. maybe the sites you were browsing didn't use images for anything important, or maybe they use alt so that you wouldn't necessarily notice) [07:53:00.0000] hsivonen: wish UK had those :( [07:54:00.0000] webben: for me, when browsing using a mobile, the most essential image use case is maps (which don't have reasonable alts) [07:54:01.0000] webben: textual directions are typically provided in page content [07:59:00.0000] /me wonders if Hixie has any data about [16:08:05.0000] ah if only you could enumerate NodeLists [16:08:06.0000] jgraham_: (which is further complicated by the fact that I have gone on about people for over a year) [16:08:07.0000] Hixie: I already use such a thing [16:09:00.0000] good good [16:09:01.0000] just annoying :P [16:09:02.0000] /me is going to end up with an insane number of posts tagged "lust" merging all his blogs into one [16:09:03.0000] gsnedders: Isn't language wonderful. Also why do you need ? Are you expecting anything special from UAs? [16:10:00.0000] jgraham_: or, more just using it as a styling hook :P [16:10:01.0000] s/or/oh/ [16:10:02.0000] gsnedders: use different fonts for different people [16:10:03.0000] deltab: that only helps in visual UAs [16:10:04.0000] Or different colours [16:11:00.0000] (I'm currently using underlining/bold/etc for visual UAs, and using |strong| for all) [16:11:01.0000] thereby relying on context for non-visual UAs [16:12:00.0000] /me wonders if has a compelling usecase [16:12:01.0000] You could have her1 and her2 [16:13:00.0000] Philip`: I thought of that… If I do that, do I start with him1 or him3 though? [16:13:01.0000] him3 is futureproff against sex change operations [16:14:00.0000] That depends on whether you are talking about anyone who is likely to change gender, because that would cause conflicts if you had two distinct numbering systems [16:14:01.0000] I didn't even think of it in that way… [16:15:00.0000] /me wonders whether any of his ex-bfs would ever have a sex change operation [16:16:00.0000] Or you could go URI happy and do her [16:17:00.0000] The resources at the end of the link would be RDF I guess [16:17:01.0000] People can start thinking of themselves as "she" without having an actual operation, and then maybe switch back to "he" a while later, so you can get namespace collisions even if the people involved don't do anything drastic [16:17:02.0000] /me sighs [16:17:03.0000] meaning monosexual would probably simplify this [16:17:04.0000] s/mea/be/ [16:18:00.0000] (I tend to avoid using pronouns in that case, so I don't have to decide which one to apply to the person, which isn't actually too difficult) [16:18:01.0000] I'd use their names, but I'm too secretive about my private life to use names [16:19:00.0000] But names aren't unique either... [16:19:01.0000] (usually) [16:19:02.0000] You could use the SHA-1 of their name [16:19:03.0000] ozamosi: forename + surname is unique enough [16:19:04.0000] Philip`: but collisions? [16:20:00.0000] gsnedders: well... I think forename + surname collisions are more likely than sex changes, actually [16:21:00.0000] /me says hello to the other Philip Taylor in the HTML WG [16:21:01.0000] ozamosi: that's probably true. [16:21:02.0000] Philip`: s/Taylor/TAYLOR/ [16:21:03.0000] You could use their MSN address [16:21:04.0000] Philip`: no, friends would be able to find out who [16:21:05.0000] SHA-1 on MSN address! :) [16:22:00.0000] Philip`: and I've had enough people kill me for spreading their MSN address among one or two people, yet alone the web [16:22:01.0000] You could use the hash of their MSN address, with a prepended salt so other people can't work out who it is [16:22:02.0000] ozamosi: that might work, if I knew all of their MSN addresses [16:22:03.0000] Philip`: a salt wouldn't help [16:22:04.0000] FoaF use SHA-1 on email addresses as UID:s, I think [16:22:05.0000] It would have to be a secret salt which only you know [16:22:06.0000] though maybe that's not a salt any more [16:22:07.0000] Philip`: if you find a string that happens to be the original, which is infinitely unlikely anyway, having a hash wouldn't help [16:23:00.0000] s/hash/salt/ [16:23:01.0000] /me is too tired [16:23:02.0000] but then people couldn't just hash the MSN user database to find out who you're talking about [16:23:03.0000] Philip`: ah. true. [16:23:04.0000] actually, I know all of their bebo usernames… [16:23:05.0000] that's a UID I could use (hash + salt, obviously) [16:24:00.0000] /me points out that more ambiguity = more privacy [16:24:01.0000] jgraham_: some of the names involved are quite rare where I live, and I'm in a relatively small town [16:25:00.0000] I was just saying that y'know /not bothering/ will improve privacy even if it offends your instincts for attaching objects unique identifiers ;) [16:26:00.0000] herf3fbff01d2a29fb88526a6be2f7d3d97c78bc87b is a bit awkward, though [16:26:01.0000] Oh, and per your second question; I think
or
is what you want. [16:27:00.0000]
probably [16:27:01.0000] jgraham_: not bother? me? :) [16:27:02.0000] (looking up bebo username to calculate that hash made me laugh — her username is to do with lust :P) [16:28:00.0000] Base 16 encoding is very inefficient - you should probably be able to do it in base 32768 if you use Unicode characters [16:29:00.0000] /me bursts out laughing [16:30:00.0000] Philip`: wouldn't there be numbers that couldn't be expressed? [16:30:01.0000] surely base 0x1400 would be enough? [16:31:00.0000] kingryan: yeah, that would be an issue [16:32:00.0000] Hixie: ok, out of meeting, reading now [16:32:01.0000] kingryan: Why would that be? [16:32:02.0000] wow, othermaciej fell asleep during his meeting [16:32:03.0000] Philip`: not all unicode code points are assigned [16:32:04.0000] Hixie: Apple is exciting. I thought you knew? :) [16:33:00.0000] hmm. why is it that so many Java libraries implement their own UTF-8 encoding or decoding? [16:33:01.0000] Hixie: no, my IRC client just sucks :-( [16:34:00.0000] You don't need 32K consecutive code points - just pick some subset that doesn't conflict with HTML (like avoid whitespace and control characters), and I assume there's enough allocated code points to manage that [16:39:00.0000] the Xalan XML serializer is surprisingly big [16:39:01.0000] if I had binary data, how would I get it into a state from which I could get a codepoint (I really am too tired)? [16:39:02.0000] and all I wanted was an easily hackable ContentHandler to stream serializer [16:40:00.0000] /me realises [16:40:01.0000] hsivonen: some java libraries (namely lucene) do their own utf-8 encoding b/c they implemented it before the spec was done, IIRC [16:40:02.0000] /me facepalms [16:41:00.0000] kingryan: yeah, there's a lot pre-1.4.2 stuff out there [16:41:01.0000] Hixie: looks good to me [16:42:00.0000] some Java libraries are surprisingly conservative about support for old JDKs [16:42:01.0000] Hixie: I may have feedback on details once I see it in spec form but the basic model seems sound [16:43:00.0000] othermaciej: k [16:43:01.0000] othermaciej: thanks [16:44:00.0000] /me seriously considers writing a non-configurable *simple* UTF-8-only XML serializer [16:45:00.0000] I know that I could write a namespaceless serializer faster than I could familiarize myself with the Xalan codebase [16:45:01.0000] but namespaces will be yucky [16:50:00.0000] Hixie: actually, I'm still not sure how to address login, since with many web apps the main URL normally goes to a login page - perhaps it's ok for a first cut to say the offline API only works with "remember me on this computer" style login [16:54:00.0000] othermaciej: the mail url typically goes to a login page unless you're already logged in [16:54:01.0000] othermaciej: it's trivial for that page to check if you are logged in [16:54:02.0000] numeric subscripts it is, starting at 1 for both male and female. 2007-09-22 [19:20:00.0000] aa: yt? [19:21:00.0000] i'm changing executeSql() to be async [19:22:00.0000] so you do executeSql('update scores set score=? where user=? and score < ?', score, user, score, function (result) { ... }); [19:22:01.0000] but what happens when an error occurs? [19:23:00.0000] should i call the callback anyway, just with an object representing an error? [19:23:01.0000] or should i dispatch an 'error' event to the database? [19:23:02.0000] i guess the former is better... [19:23:03.0000] aa: did you see my email suggestion of how to change ResultSet, which proposes adding errorCode and errror fields? [19:24:00.0000] Hixie: sorry, meant that for you [19:24:01.0000] assuming you're talking to me, yes, that's why i'm asking [19:24:02.0000] letting the callback handle the error seems easier to work with [19:24:03.0000] j [19:24:04.0000] k, even [19:24:05.0000] and you'd also want that for the sync version [19:25:00.0000] and i guess we just say that if you call executeSql() on the database while in a callback that went wrong, you raise an exception? [19:25:01.0000] since that probably indicates you didn't check for errors [19:25:02.0000] or do we just start a new transaction in that case [19:26:00.0000] I'm not sure [19:26:01.0000] are there any errors where it ever makes sense to continue the same transaction? [19:26:02.0000] I'd guess probably not [19:26:03.0000] so exception seems ok [19:26:04.0000] well you can't continue the same transaction [19:26:05.0000] since you've rolled back by then [19:27:00.0000] that's true [19:27:01.0000] but you could start a new one [19:27:02.0000] if we raise an exception, which i think is the better thing to do for catching errors, it means that the only way to then do a new transaction as part of error handling is to have a timeout [19:27:03.0000] to start a new "context" [19:27:04.0000] which is ugly [19:27:05.0000] continuing blindly seems like it could give bad results, on the other hand, the timeout thing to retry is ugly [19:27:06.0000] yeah [19:27:07.0000] exactly [19:28:00.0000] hard to know which is better [19:28:01.0000] you could have a closeTransaction() method on Database [19:28:02.0000] could do [19:28:03.0000] which isn't needed in the normal case, but could be used for retry in a callback [19:28:04.0000] yeah [19:28:05.0000] ok [19:28:06.0000] will do that [19:59:00.0000] i suppose we really want the database version to be set as part of a transaction [19:59:01.0000] oh well [20:00:00.0000] i guess it doesn't matter [20:01:00.0000] /me thinks to himself... . o O ( the upgrading app can set it to a secret value while upgrading, then to the new version when done ) [20:02:00.0000] grr this is going to introduce all kinds of race conditions [20:11:00.0000] hm [20:11:01.0000] how do we handle a commit failing? [20:12:00.0000] we have no way to notify the app [22:51:00.0000] access keys don't seem to work in Opera 9.5 alpha, but they do in 9.2 [22:53:00.0000] pressign Shift+Esc on this page lists all the keys defined, but labels them poorly. http://www.cs.tut.fi/~jkorpela/forms/accesskey.html#ex [22:54:00.0000] shows up as: "(N) (Null)" in the menu [22:54:01.0000] ah, that's probably because there's no