2009-11-01 [17:01:00.0000] hello [17:01:01.0000] i'm implementing a browser automation tool that has a quasi-DOM as part of its API [17:01:02.0000] my idea is to generate that code from the XHTML and/or HTML5 spec, keeping it easy to maintain [17:02:00.0000] at the minimum i'll just need a map of { «tag name»: [«attribute», ...], ... }, but also some type info would be nice (e.g. 'disabled' => boolean) [17:02:01.0000] any tips on where to start or any code that does something similar already would be greatly appreciated [17:03:00.0000] jptix: what happens if you need to automate something involving elements/attributes the browser supports that aren't conforming in HTML5? [17:04:00.0000] webben: probably add it manually or have the user do browser.attributeValue("some-attribute") [17:04:01.0000] s/browser/element [17:05:00.0000] at the moment i'm just playing with the idea.. having at least some part of the code generated from the spec [17:06:00.0000] am i heading down the wrong road here? [17:07:00.0000] it's an interesting idea [17:07:01.0000] not sure how good an idea it is ;) [17:08:00.0000] if worst comes to worst you could extract that programmatically from the spec's source, I guess. [17:08:01.0000] e.g. grab all dl.element instances [17:10:00.0000] yes, that's the least appealing approach :) [17:12:00.0000] i've been looking at the relaxng files in https://whattf.svn.cvsdude.com/syntax/trunk [17:12:01.0000] but wanted to check if anyone here have an opinion [17:13:00.0000] not sure if those are kept up to date [17:13:01.0000] that looks better [17:13:02.0000] they seem to be [17:15:00.0000] jptix: I /think/ those are used by hsivonen's validator, in which case I would assume they're reasonably up-to-date [17:18:00.0000] jptix: out of interest why a "quasi-dom" rather than a dom? [17:19:00.0000] webben: i'm re-implementing an existing API which has a quite large user base [17:21:00.0000] so the "quasi" part is mostly about making it fit nicer to the language (ruby) [17:21:01.0000] but hopefully it will be more accurate if my approach succeeds :) [18:13:00.0000] Ugh, camelCase property values for image-rendering. Can't we just systematically hyphenize, like CSS things are systematically camelCased when they need to be JS identifiers? [18:15:00.0000] Oh, I see, SVG is responsible for introducing zillions of camelCase values for CSS properties? Great. [19:46:00.0000] Hi all! [20:26:00.0000] Ah, hacking in HTML and CSS is so relaxing. [20:29:00.0000] Hacking in HTML, of course. [20:29:01.0000] Injecting tags into forums that allow html. [20:31:00.0000] <ment> btw how does html serialization rutine deal with plaintext? [20:38:00.0000] <ment> because "<plaintext>data" gets serialized as "<plaintext>data</plaintext>" [21:24:00.0000] <ment> hooray [21:24:01.0000] <ment> my html5 parser is finally able to parse it's specification [01:24:00.0000] <Mathias> I have an HTML5 markup-related question [01:25:00.0000] <Mathias> If I was to use HTML5 for this page: http://optiekockerman.be/merken, what would be the best way to mark up the list of brands? (Which is basically the only "content" on that page) [01:25:01.0000] <Mathias> Would it be okay to use a secondary <nav> element? [02:27:00.0000] <gsnedders> ment: It doesn't really cope with plaintext, but the current whacky behaviour is already done and avoids special casing it [03:40:00.0000] <gsnedders> What does "'NoneType' object is unsubscriptable" mean? [03:41:00.0000] <Philip`> x = None; y = x[0] [03:42:00.0000] <gsnedders> When it's throwing on print repr(self.currentToken["name"])? [03:42:01.0000] <Philip`> self.currentToken is None [03:42:02.0000] <gsnedders> Ah, just realized that [03:42:03.0000] <gsnedders> /me facepalms [03:42:04.0000] <Philip`> Don't worry, it's easy to miss when the error message tells you precisely what the error is :-p [03:45:00.0000] <gsnedders> /me finds a fairly major bug in his tokenizer [03:47:00.0000] <jgraham> Philip`: To be fair it would be nicer if it knew what the variable name was [03:53:00.0000] <gsnedders> Where do end tags have their names lowercased? [03:53:01.0000] <gsnedders> (in the tokenizer) [03:54:00.0000] <gsnedders> /me finds a fairly major bug in the test runner [03:55:00.0000] <gsnedders> (we only ever run one test of each test with multiple content model flags) [03:55:01.0000] <gsnedders> Oh well, that's not really relevant any more [03:55:02.0000] <Philip`> gsnedders: Looks like emitCurrentToken lowercases all tag names [03:56:00.0000] <gsnedders> So all tags should go through that? Or everything? [03:56:01.0000] <gsnedders> Currently most doesn't go through that [03:57:00.0000] <Philip`> Looks like all tokens except errors and characters go through that [03:58:00.0000] <gsnedders> Down to 12 test failures… [04:01:00.0000] <gsnedders> Hmm, spec changed with expected result of <xmp>foo</xmp [04:02:00.0000] <Philip`> nonXmlBMPRegexp = re.compile(u'[\x00-,|/|:-@|\\\\[-\\\\^|`|\\\\{-\xb6|\xb8-\xbf|\xd7|\xf7|...') [04:03:00.0000] <Philip`> Am I mistaken, or is that completely bogus? [04:04:00.0000] <Philip`> It's matching characters which are in the range \0 to ',', or '|', or '/', or '|', or ..., or '\', or '\', or in the range '[' to '\', ... [04:04:01.0000] <jgraham> Philip`: Could be [04:06:00.0000] <Philip`> For example, it doesn't match ']' [04:07:00.0000] <Philip`> (whereas it does match '[') [04:09:00.0000] <gsnedders> /me wonders why spec editing stopped on the 27th [04:09:01.0000] <gsnedders> Is there any way to get more on http://html5.org/tools/web-apps-tracker? [04:09:02.0000] <gsnedders> /me guesses the answer is hack the code and ping annevk [04:10:00.0000] <Philip`> gsnedders: Because there were 0 bugs that weren't serious enough to be issues, and therefore the spec was perfect and needed no further editing [04:10:01.0000] <gsnedders> :P [04:11:00.0000] <jgraham> Philip`: Do feel free to fix it btw [04:11:01.0000] <jgraham> Since clearly I am a bozo [04:11:02.0000] <Philip`> I hate how the Google Code issues list intercepts the '/' key to focus the search box [04:11:03.0000] <Philip`> and therefore means I can't do find-in-page like I want to [04:13:00.0000] <jgraham> gsnedders: Issue 96 is irrelevant. The code is never run (it is used to build the incorrect regexp) [04:13:01.0000] <jgraham> It shouldn't block 1.0 [04:14:00.0000] <gsnedders> It wasn't going to block anyway :P [04:14:01.0000] <gsnedders> So RAWTEXT and RCDATA now don't have comments? [04:15:00.0000] <jgraham> gsnedders: That's not what you said in the issue tracker :p [04:15:01.0000] <Philip`> jgraham: Might try to fix it some time; just filed an issue for now [04:15:02.0000] <jgraham> gsnedders: I think that is correct [04:16:00.0000] <gsnedders> Priority-High was stuff I wanted to get in, but not block [04:17:00.0000] <jgraham> gsnedders: It was maked Release-1.0 [04:17:01.0000] <gsnedders> [u'EndTag', u'xmp', False] — how come that has a False explicitly there? [04:18:00.0000] <jgraham> Philip`: Your regexp doesn't work does it? You need to escape special characters like [ surely? [04:18:01.0000] <gsnedders> OK, so two of these test failures I'm pretty sure are spec bugs [04:19:00.0000] <gsnedders> The rest are tests needing updating [04:22:00.0000] <Philip`> jgraham: You only need to escape ']', and '-' if it's not at the start/end of the regexp, and '^' if it's at the start [04:23:00.0000] <Philip`> Oh, and '\' I guess [04:32:00.0000] <gsnedders> /me has a tokenizer that passes all the test cases now! [04:33:00.0000] <gsnedders> HG: changed python/src/html5lib/html5parser.py [04:33:01.0000] <gsnedders> HG: changed python/src/html5lib/inputstream.py [04:33:02.0000] <gsnedders> HG: changed python/src/html5lib/tokenizer.py [04:33:03.0000] <gsnedders> HG: changed python/tests/test_tokenizer.py [04:33:04.0000] <gsnedders> HG: changed testdata/tokenizer/contentModelFlags.test [04:33:05.0000] <gsnedders> HG: changed testdata/tokenizer/escapeFlag.test [04:33:06.0000] <gsnedders> HG: changed testdata/tokenizer/test3.test [04:33:07.0000] <gsnedders> Small commit. [04:33:08.0000] <gsnedders> (There are still two test failures, actually, but they're spec bug) [04:37:00.0000] <gsnedders> Oh, woops, html5parser shouldn't be in that commit [04:40:00.0000] <jgraham> Does anyone have a favourite way to set the idness of the "id" attribute [04:40:01.0000] <gsnedders> DOCTYPEs! [04:40:02.0000] <jgraham> /me thinks DOM3 Element.setIdAttribute might be the way forward [04:41:00.0000] <jgraham> gsnedders: Yeah but injecting false doctypes is bad if we want to preserve the fact that documents with no doctype have no doctype [04:41:01.0000] <gsnedders> /me notes that doesn't help minidom [04:41:02.0000] <jgraham> gsnedders: I think it does [04:42:00.0000] <jgraham> Oh. [04:42:01.0000] <jgraham> It only works if the element already has an attribute with the name "id" [04:43:00.0000] <gsnedders> WHAT!? [04:43:01.0000] <jgraham> Well that is out then [04:43:02.0000] <gsnedders> DOM-- [04:43:03.0000] <jgraham> s/with the name id/with the name you are trying to set as the id attribute name/ [04:44:00.0000] <jgraham> gsnedders: Well if sort of makes sense if you don;t think there should be hidden state [04:44:01.0000] <jgraham> Sadly, what we want right now is hidden state :( [04:47:00.0000] <gsnedders> Where does setIdAttribute come from? [04:47:01.0000] <gsnedders> Ah, it is in core [04:48:00.0000] <gsnedders> I guess all we can do is loop over all elements with @id and set setIdAttribute [04:48:01.0000] <gsnedders> Or, more likely, do it when creating the element with attributes [04:51:00.0000] <jgraham> gsnedders: That is worse than the current behaviour [04:51:01.0000] <gsnedders> jgraham: How so? [04:51:02.0000] <jgraham> Because it leads to surprisin, hard to predict, bugs rather than obvious "this doesn't work at all" bugs [04:51:03.0000] <gsnedders> jgraham: Why? [04:52:00.0000] <jgraham> Speifically if someone adds a node to the document after thay have parsed it then it won't have the idness set right [04:52:01.0000] <jgraham> Or if they add an id attribute to an existing element [04:52:02.0000] <gsnedders> Gah. Yeah. [04:53:00.0000] <gsnedders> then dtd is the only option. [04:53:01.0000] <gsnedders> (w00t) [04:53:02.0000] <jgraham> Yes but it will cause everything to get a DTD when serialized even if it didn't start with one [04:54:00.0000] <gsnedders> Yeah. [04:54:01.0000] <gsnedders> Can we parse with a DTD then replace the DTD via removeChild and document.implementation.createDocumentType and appendChild? [04:55:00.0000] <jgraham> I previously thouht I couldn't dislike DOM more. Now I realise that that was a mee mild distate compared to my current loathing [04:55:01.0000] <jgraham> *mere [04:55:02.0000] <jgraham> *distaste [04:56:00.0000] <jgraham> gsnedders: I have no idea if that will work or do something surprising [04:56:01.0000] <gsnedders> jgraham: Nor do I [04:56:02.0000] <gsnedders> jgraham: Can you think of any other fix? [04:56:03.0000] <jgraham> I suspect any new elements created will not get the idness set [04:58:00.0000] <jgraham> There is a fixed list of doctypes that trigger quirks mode, right? [04:58:01.0000] <gsnedders> No [04:58:02.0000] <gsnedders> It's a list of stuff that if it starts with x… [04:58:03.0000] <gsnedders> RTFS :P [04:59:00.0000] <jgraham> I am but it's slow :( [05:02:00.0000] <jgraham> And makes my computer very hot :( [05:04:00.0000] <jgraham> Anyway we could invent a new quirks-mode doctype and teach our serializer to strip it out [05:05:00.0000] <jgraham> It seems very ugly though :( [05:05:01.0000] <gsnedders> But then how do deal when there are DOCTYPEs in the document? [05:05:02.0000] <gsnedders> How do we get them to round trip? [05:05:03.0000] <jgraham> I thought we could edit them now? [05:05:04.0000] <jgraham> Oh I see [05:05:05.0000] <jgraham> Erm. [05:05:06.0000] <gsnedders> You can only have one DOCTYPE in a document. [05:05:07.0000] <jgraham> Yeah I know [05:06:00.0000] <gsnedders> I guess we could add in the internal subset idness [05:06:01.0000] <jgraham> Indeed [05:06:02.0000] <jgraham> The only quetion is what happens on serialization [05:06:03.0000] <gsnedders> Oh man, this is ugly. [05:06:04.0000] <gsnedders> The seriailizer ignores any internal subset [05:06:05.0000] <jgraham> our serializer would be fine [05:07:00.0000] <jgraham> gsnedders: I suggest we try your approach for the no-doctype case first to see if it works [05:07:01.0000] <gsnedders> Which? Adding doctype and removing it? [05:07:02.0000] <jgraham> gsnedders: yeah [05:07:03.0000] <gsnedders> I'd try that for both cases. [05:07:04.0000] <jgraham> I doubt it will work but you never know [05:07:05.0000] <gsnedders> (But I won't actually, so you do it) [05:08:00.0000] <gsnedders> impl dependant, I bet :P [05:08:01.0000] <gsnedders> Should I push the new tokenizer and break the parser as a whole or just wait for an even bigger push and merge? [05:13:00.0000] <jgraham> in what way break? [05:14:00.0000] <gsnedders> The parser changes content model flag, and that doesn't exist any more. [05:14:01.0000] <gsnedders> So loads parses wrong. [05:19:00.0000] <gsnedders> Also a fair amount of script related changeds [05:19:01.0000] <gsnedders> *changes [05:19:02.0000] <gsnedders> The simple stuff that can be fixed has got us down to 560 test failures [05:20:00.0000] <gsnedders> (five tree builders) [05:20:01.0000] <gsnedders> So 56 test failures [05:23:00.0000] <gsnedders> Quite a lot of broken tests due to no longer having comments [05:24:00.0000] <jgraham> gsnedders: Don't push yet [05:25:00.0000] <gsnedders> What's expected of <script> <!-- </script> --> </script>x now? [05:27:00.0000] <gsnedders> A script whose content is " <!-- " right? [06:06:00.0000] <gsnedders> /me notes buying stuff from a Swedish website when you can't understand the checkout system is hard [06:10:00.0000] <gsnedders> Oh, wait, I don't have a personnummer so I can't buy anything. [06:10:01.0000] <gsnedders> Actuallh, no. [06:11:00.0000] <gsnedders> This is weird. [06:12:00.0000] <gsnedders> Huh. [06:12:01.0000] <gsnedders> Now it didn't ask me for my card details. [06:13:00.0000] <gsnedders> Oh, now it asks for them after you have placed your order, and your order is on hold until you pay. [06:13:01.0000] <gsnedders> Wow. wierd. [06:14:00.0000] <gsnedders> And now my card is refused. Oh dear. [06:15:00.0000] <gsnedders> /me gives up [07:53:00.0000] <TabAtkins> Can anyone join the irc.w3.org:80 server? I wanna know if it's just something to do with the airport wifi killing it, or if the server is having problems. [07:56:00.0000] <Philip`> TabAtkins: I appear to be connected to it [07:56:01.0000] <TabAtkins> Philip`: Thanks. It's something on my end, then. [07:57:00.0000] <Philip`> TabAtkins: Maybe try the normal port, not :80 (since proxies might mangle that one)? [07:57:01.0000] <TabAtkins> Nah, no-port just times out. [07:58:00.0000] <TabAtkins> Eh, I'm stealing wifi anyway. No biggie. I'll just go play some Civ 4. [08:00:00.0000] <jgraham> gsnedders: Which website? [08:54:00.0000] <gsnedders> /me wonders if he has the bandwidth to manage to listen to spotify at the moment [08:54:01.0000] <gsnedders> jgraham: dustinhome.se [09:18:00.0000] <Philip`> /me has dust in his home and never had to go through any online checkout service to get it [09:20:00.0000] <gsnedders> /me realizes he should be testing this in shipping browsers as he has Safari hang [09:20:01.0000] <gsnedders> (and I know Opera 10 hangs) [09:22:00.0000] <gsnedders> /me now has a simple test suite harness that fails to work in all shipping browsers [09:22:01.0000] <gsnedders> (Though the reason why the test harness fails is the tests themselves) [09:23:00.0000] <gsnedders> Oh, and crashes the copy of WebKit I have here. [09:24:00.0000] <gsnedders> This really does reinforce the idea of there being nowhere near enough DOM tests. [09:31:00.0000] <gsnedders> Web DOM Core test suite results: latest shipping Safari and Opera: crash; latest shipping Firefox: FAIL (but completely the test suite!); latest shipping IE: fails almost everything. [09:32:00.0000] <gsnedders> s/ly/s/ [12:38:00.0000] <gsnedders> /me notes updating html5lib once it falls out of sync with the spec is a horrible task [12:39:00.0000] <jgraham> gsnedders: It would be better if you would note a way to make it easier [12:39:01.0000] <gsnedders> jgraham: keep it in sync with a specific revision of the spec [12:39:02.0000] <jgraham> (fwiw I have found the same which is likely why I haven't worked too much on it) [12:39:03.0000] <jgraham> gsnedders: ? [12:39:04.0000] <jgraham> You mean jus never update it? [12:39:05.0000] <gsnedders> at the moment it's basically a copy of the June spec with random things updated from the spec since [12:40:00.0000] <gsnedders> It's the fact it doesn't match any revision of the spec at the moment that is annoying [12:40:01.0000] <gsnedders> I mean I should always be able to say that html5lib implements revision x of the spec. [12:42:00.0000] <jgraham> gsnedders: Generally the best you can do is to say that it passes the tests [12:42:01.0000] <jgraham> It would be good if tests were kept in lockstep with the spec [12:42:02.0000] <gsnedders> The problem is the tests often don't match a specific revision of the spec :P [12:48:00.0000] <gsnedders> the problem with it not matching any version of the spec is having to go through the spec manually with the impl checking that it matches it [12:48:01.0000] <jgraham> That I can agree with. But given that it is impossible to tell which tests need to be updated [12:48:02.0000] <Dashiva> gsnedders: Make separate branches for each rev :D [12:49:00.0000] <jgraham> it is hard to see how you get the tests to match [12:50:00.0000] <gsnedders> Keep them up to date always? [12:51:00.0000] <gsnedders> Yeah, sure, you will probably end up with incorrect expectations at times, but once the impl catches up… [12:53:00.0000] <jgraham> gsnedders: How do you know which tests need to be updated when the spec changed? [12:55:00.0000] <Dashiva> Well, if each test has metadata saying which sections it applies to... and you go through each diff looking at which sections changed (and which were renumbered)... [12:56:00.0000] <gsnedders> jgraham: magic [12:56:01.0000] <jgraham> Dashiva: Each test could depend on dozens of sections. Annotating them all makes writing tests prohibitivly expensive [12:57:00.0000] <Dashiva> Well, if maintenance is too expensive, then consider tests to be throw-away [12:58:00.0000] <jgraham> Eh? [12:58:01.0000] <Dashiva> Mark each with "was valid at rev x" and if it starts failing, either discard it or update it [12:58:02.0000] <gsnedders> jgraham: Seriously though, it may be possible to use regex to find tests effected! [12:58:03.0000] <gsnedders> *affected(?) [13:00:00.0000] <Philip`> Seems like the easiest solution is to keep the implementation always up to date [13:00:01.0000] <Philip`> and always passing all tests [13:00:02.0000] <gsnedders> /me nominates jgraham to keep it up to date [13:01:00.0000] <jgraham> Dashiva: That doesn't seem to fix the underlying problem [13:01:01.0000] <jgraham> You still need to dig through the spec to decide if the test is wrong or the implementation is wrong [13:03:00.0000] <Dashiva> That's what the discard option is for. Then at a later point you can do bulk update/rewrite of related tests [13:04:00.0000] <jgraham> That sounds like a medicine that is worse than the disease. You fail a test you throw away the test rather tahn workin out if it is a real bug or not [13:04:01.0000] <jgraham> Seems to defeat the point of having tests [13:04:02.0000] <Dashiva> You're the one saying updating them is prohitively expensive, though [13:07:00.0000] <jgraham> Dashiva: I'm saying it's prohibitively expensive to create tests where you also have to work out all the section transitions [13:07:01.0000] <jgraham> It's already bad enough with the parse errors [14:30:00.0000] <nicferrier> I have a question about forms [14:30:01.0000] <nicferrier> is this the best place to ask it? [14:30:02.0000] <nicferrier> let me blunder on [14:30:03.0000] <webben> nicferrier: depends what the question is i guess [14:31:00.0000] <nicferrier> what I want to know is whether there is any thinking about server side validation [14:31:01.0000] <nicferrier> the new forms stuff is great [14:31:02.0000] <nicferrier> extra declarative syntax for validation [14:31:03.0000] <nicferrier> but it only affords client side validation [14:31:04.0000] <nicferrier> the validation will have to be repeated on the server side [14:31:05.0000] <nicferrier> and I wondered if anyone was thinking about that [14:31:06.0000] <AryehGregor> I hope so. :) [14:32:00.0000] <webben> nicferrier: It will and they are. [14:32:01.0000] <AryehGregor> HTML5 only specifies a syntax, it doesn't provide an implementation. If you use any client-side validation, obviously you need server-side validation too. [14:32:02.0000] <webben> nicferrier: HTML5 can't make the need for serverside validation disappear. [14:32:03.0000] <AryehGregor> How this actually works in practice is up to you. [14:33:00.0000] <nicferrier> yup, I appreciate it's not *exactly* in the bounds of html 5 [14:33:01.0000] <AryehGregor> webben, yes it can, just mandate that all clients use down-to-the-metal DRM, require servers to reject connections from inappropriately authenticated clients, and only sign the binaries of clients that are written personally by Ian Hickson. Duh. [14:34:00.0000] <webben> lol [14:34:01.0000] <Hixie> if only some people weren't actually doing that kind of thing [14:34:02.0000] <nicferrier> however, we're getting to a point where the rendered form is almost good enough to use as the DRY for an app [14:34:03.0000] <nicferrier> and I've been thinking about that and wondered if anyone else was. [14:35:00.0000] <AryehGregor> What's a DRY? [14:35:01.0000] <nicferrier> dont repeat yourself. [14:35:02.0000] <AryehGregor> The rendered form of what, then? [14:36:00.0000] <webben> nicferrier: well, you /could/ preprocess the form and derive serverside validation rules from the html, I guess, but that would be kinda weird. [14:36:01.0000] <Hixie> nicferrier: i don't think anyone has formally looked at taking html5 client-side markup and using it literally on the server side [14:36:02.0000] <AryehGregor> It's always a pain in web stuff that you're more or less forced to have different code doing server-side and client-side validation. [14:36:03.0000] <nicferrier> I mean that an html 5 form can potentially exist as a single statement of the form, instead of their being another version inside a framework [14:36:04.0000] <Hixie> nicferrier: xforms has been used in this way [14:36:05.0000] <AryehGregor> So you're saying like feed the actual HTML of the form into your abstraction framework, instead of specifying it in some other way? [14:36:06.0000] <webben> only really works for very very simple forms [14:36:07.0000] <AryehGregor> That would work if you had an HTML5 parser handy on the server side . . . [14:36:08.0000] <nicferrier> Hixie: exactly [14:37:00.0000] <AryehGregor> webben, well, presumably you'd have the ability to add extra validation (on client and/or server side) in whatever framework we're talking about. [14:37:01.0000] <nicferrier> I am saying the frameworks model could be generated from the html 5 syntax, yes. [14:38:00.0000] <webben> AryehGregor: well, yes, but then you're repeating yourself. [14:38:01.0000] <nicferrier> no, I'm not [14:38:02.0000] <nicferrier> it's just a representation [14:38:03.0000] <nicferrier> anyway, even if I am I don't have to type it again [14:38:04.0000] <AryehGregor> webben, not if the extra validation is beyond what HTML5 can represent. Then you have each requirement stated only once. [14:38:05.0000] <AryehGregor> nicferrier, I think that's a great idea as soon as all major web programming languages get HTML5 parsing libraries. [14:39:00.0000] <AryehGregor> /me isn't going to hold his breath for PHP on shared hosts [14:39:01.0000] <webben> AryehGregor: Ah, if you generate the client and serverside validation from a single rule definition, yes. [14:39:02.0000] <webben> but then you could just as well generate the HTML form from such rule definitions [14:39:03.0000] <AryehGregor> Yes, of course. [14:39:04.0000] <AryehGregor> That's how MediaWiki does it, where it actually uses such abstractions. [14:40:00.0000] <AryehGregor> (i.e. virtually nowhere, yet) [14:40:01.0000] <nicferrier> but what I'm saying is, that other than the obvious "this member must be in this set" the html5 validation rules are plenty good enough [14:40:02.0000] <webben> I'm not sure how having two types of inputs - rather than just a set of rules - helps. [14:40:03.0000] <nicferrier> for a base form definition. [14:40:04.0000] <nicferrier> the advantage being that forms are a lingua franca [14:41:00.0000] <nicferrier> designers and programmers speak forms. [14:41:01.0000] <webben> yes, but both need to be driven by domain models [14:41:02.0000] <AryehGregor> /me gets suspicious when he hears terms like "domain models" [14:42:00.0000] <nicferrier> :-) [14:42:01.0000] <nicferrier> my designers would disagree [14:43:00.0000] <nicferrier> but anyway, nobody is actively doing anything with this to anyone's knowledge. [14:43:01.0000] <nicferrier> that's cool. thanks people. [14:46:00.0000] <webben> nicferrier: Not /quite/ what you're proposing, but close: http://simonwillison.net/2003/Jun/17/theHolyGrail/ [14:48:00.0000] <nicferrier> yeah, writing the code to do it isn't hard [14:48:01.0000] <nicferrier> deciding on a usable model is a little harder [14:48:02.0000] <webben> nicferrier: usable model in what sense? [14:49:00.0000] <nicferrier> should the form be kept as a separate entity? [14:49:01.0000] <nicferrier> should we talk about documents and xpaths to forms? [14:49:02.0000] <AryehGregor> Let's just have every app reinvent the wheel and write its own form support badly. That's always worked for me. [14:49:03.0000] <webben> ^this ;) [14:49:04.0000] <nicferrier> AryehGregor: :-D [14:49:05.0000] <AryehGregor> /me wishes it weren't true [14:49:06.0000] <webben> nicferrier: "talk about documents and xpaths to forms" ... what would that mean? [14:50:00.0000] <AryehGregor> It's especially bad when you have to cater to shared hosts, in PHP, where lots of the useful libraries are written in C and only installable by root. [14:50:01.0000] <AryehGregor> s/ shared hosts, in//;s/PHP,.*$/PHP./ [14:50:02.0000] <nicferrier> webben: idk... just idle thoughts... maybe form = somedocument.forms["someform"] [14:50:03.0000] <nicferrier> value = form.field.value [14:50:04.0000] <nicferrier> that short of thing [14:51:00.0000] <nicferrier> binding an html5 form into a pl [14:51:01.0000] <webben> nicferrier: oh, you mean, would you keep all forms in an app in a single HTML document? [14:51:02.0000] <nicferrier> just thinking. [14:51:03.0000] <nicferrier> webben: well, I mean how would you keep them [14:51:04.0000] <nicferrier> if I want to pass the form through xslt [14:52:00.0000] <nicferrier> sorry, not expressing this very well [14:52:01.0000] <nicferrier> if the html5 form is authoritative [14:52:02.0000] <nicferrier> then it has to be wholly a resource [14:52:03.0000] <nicferrier> rather than being put together with bits of information from different places [14:52:04.0000] <nicferrier> it has to be an entity of itself [14:53:00.0000] <webben> how would the forms be made? hand edited? built with some sort of gui tool? [14:53:01.0000] <nicferrier> does it matter? [14:53:02.0000] <webben> a bit [14:53:03.0000] <webben> if I was going to hand edit such things, I'd prefer them kept in individual files. [14:53:04.0000] <nicferrier> an html5 form could be constructed by either hand or machine [14:54:00.0000] <nicferrier> hmm [14:54:01.0000] <webben> (just as I split out individual models, or templates, or testcases or whatever into their own individual files [14:54:02.0000] <nicferrier> a dynamic form would require a dynamic validator [14:54:03.0000] <nicferrier> dynamic meaning it depends entirely on the resource [14:55:00.0000] <nicferrier> consider a ticket editor that lets you edit all the tickets of a particular query [14:55:01.0000] <nicferrier> the http resource is the query [14:55:02.0000] <nicferrier> the representation is an html 5 entity with a single form [14:55:03.0000] <nicferrier> with fieldsets for each ticket [14:55:04.0000] <nicferrier> we can change a bunch of tickets to closed and then press submit [14:57:00.0000] <webben> nicferrier: hmm. in that scenario aren't you generating the form from a model, and if not that, how? [14:57:01.0000] <nicferrier> webben: well, yes. tricky. [14:59:00.0000] <webben> nicferrier: I guess you could build a two way system. That is, a system that can take a form as input and generate models and validation rules; or take a model as input and generate forms and validation rules? [15:00:00.0000] <webben> that way, for example, the designers could hand you a form, you could express the form in HTML, the system would generate a model and validation rules. [15:00:01.0000] <nicferrier> is the only thing that would ever change for a dynamic form the number of fieldsets? [15:01:00.0000] <webben> No? [15:01:01.0000] <webben> Even if you consider bugzilla tickets, the form varies depending on the lifecycle stage of the ticket. [15:02:00.0000] <webben> e.g. if a ticket has been CLOSED you have to REOPEN it before you can ASSIGN it. [15:02:01.0000] <nicferrier> but those are different forms [15:02:02.0000] <nicferrier> true [15:02:03.0000] <webben> depends what you mean by different form I guess. [15:02:04.0000] <webben> they are a little bit different [15:02:05.0000] <nicferrier> not different resources tho, you are right [15:02:06.0000] <nicferrier> in a RESTfull sense, same resource 2009-11-02 [16:37:00.0000] <Hixie> what's the rule that hsivonen refers to regularly regarding how a technology fragments into the same number of independent components as there are working groups designing it? [16:38:00.0000] <Hixie> Conway's Law, nevermind [16:38:01.0000] <Dashiva> Either that or n^2 interfaces :) [17:02:00.0000] <Dashiva> How does the "new XML specs should not define named entities" jive with MathML? [04:34:00.0000] <erlehmann> haha, randall munroe made i GIANT chart [04:36:00.0000] <jgraham> i? [04:37:00.0000] <gsnedders|work> UnexpectedPronounException [04:39:00.0000] <jgraham> erlehmann: I assume you mean http://xkcd.com/657/large/ which is rather cool [04:39:01.0000] <erlehmann> jgraham, i and a are right next to each other [04:40:00.0000] <erlehmann> jgraham, now that he has proven he'll do huge pointless charts, you can ask him ;) [04:40:01.0000] <erlehmann> although i think we might just relabel the "primer" thingy :D [04:44:00.0000] <jgraham> We should wait until CR though [04:44:01.0000] <jgraham> Or at least until there are a couple of shipping implementations [04:44:02.0000] <jgraham> Otherwise the chart will be quickly wrong [04:45:00.0000] <gsnedders|work> /me hopes the parser spec doesn't change too much from hereon to avoid the problems discussed last night [04:46:00.0000] <hsivonen> /me wishes Opera didn't implement stuff like XML 1.1, xml:id, entities for RDFa doctype and entities for innerHTML setter in XML [04:47:00.0000] <jgraham> hsivonen: It would be nice if we could just make all XML applications recognise all HTML5 entities [04:47:01.0000] <hsivonen> instability in interop in this area consumes resources while IE just ignores it all and doesn't need to put in similar effort [04:48:00.0000] <hsivonen> jgraham: if we rock the boat like that, I think we should go full XML5 [04:48:01.0000] <hsivonen> instead of rocking the boat several times [04:51:00.0000] <gsnedders|work> /me wonders how come we support entities in XHTML+RDFa [04:51:01.0000] <gsnedders|work> Do we just support entities in all application/xhtml+xml? [04:53:00.0000] <hsivonen> gsnedders|work: you don't [04:54:00.0000] <jgraham> hsivonen: A one-step XML5 would have the lowest cost / best benefits if people would go with it. However pragmatically it requires even more buy-in and so has a bigger risk of total failure [04:54:01.0000] <gsnedders|work> hsivonen: We currently just use our HTML parser for innerHTML regardless of whether we're in XML, FYI [04:54:02.0000] <gsnedders|work> hsivonen: That's why we support entities there [04:54:03.0000] <hsivonen> gsnedders|work: oh. that's a sensible reason [04:55:00.0000] <gsnedders|work> hsivonen: I guess we won't once we move to using XML parser for it [04:55:01.0000] <hsivonen> gsnedders|work: would be useful to have these data points in the thread on the list [04:57:00.0000] <gsnedders|work> /me emails about innerHTML [04:57:01.0000] <Philip`> data:application/xhtml+xml,<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html><b>test</b></html> [04:57:02.0000] <Philip`> Opera puts HTML styles on those elements [04:58:00.0000] <Philip`> and puts them in the XHTML namespace [04:58:01.0000] <Philip`> but doesn't if you remove the doctype [04:58:02.0000] <gsnedders|work> Philip`: You filed a bug on that? [04:58:03.0000] <gsnedders|work> Oh, no, not you. But we have a bug on that. [04:59:00.0000] <gsnedders|work> It's because we act too much like a validating parser, obviously. Yay. [05:01:00.0000] <gsnedders|work> We imply namespaces for XHTML 1.0 (all three DTDs), XHTML 1.1, XHTML-MP 1.0 (as application/xhtml+xml) and WML 2 (application/xml+xml), but not for XHTML Basic 1.0 and 1.1 and XHTML-MP 1.2 [05:01:01.0000] <zcorpan_> do we support entities in basic, 1.1 and mp? [05:02:00.0000] <gsnedders|work> Dunno. I'm just reading the bug report. :) [05:03:00.0000] <Philip`> I hypothesise that you support entities/etc if the public id is one of: [05:03:01.0000] <gsnedders|work> zcorpan_: Comment by, uh, zcorpan_imples we do :) [05:03:02.0000] <Philip`> -//W3C//DTD XHTML 1.0 Strict//EN -//W3C//DTD XHTML 1.0 Transitional//EN -//W3C//DTD XHTML 1.0 Frameset//EN -//W3C//DTD XHTML 1.1//EN -//W3C//DTD SVG 1.1//EN -//W3C//DTD SVG 1.1 Basic//EN -//W3C//DTD SVG 1.1 Tiny//EN -//W3C//DTD SVG 1.0//EN [05:03:03.0000] <Philip`> or the system id is one of: [05:03:04.0000] <Philip`> http://www.w3.org/TR/xhtml11/DTD/xhtml11-flat.dtd http://www.wapforum.org/DTD/xhtml-mobile10-flat.dtd http://www.wapforum.org/DTD/wml_1_1.dtd http://www.wapforum.org/DTD/wml12.dtd http://www.wapforum.org/DTD/wml13.dtd http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat.dtd http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd http://www.w3.org/TR/SVG10/DTD/s [05:04:00.0000] <Philip`> /me curses truncation [05:04:01.0000] <zcorpan_> gsnedders|work: ok [05:04:02.0000] <gsnedders|work> Philip`: Where are you looking? [05:04:03.0000] <Philip`> http://www.w3.org/TR/SVG10/DTD/svg10.dtd http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd http://www.wapforum.org/DTD/wml20.dtd http://www.wapforum.org/DTD/xhtml-mobile10.dtd [05:04:04.0000] <Philip`> though I could be wrong, but some quick testing seems to agree with that list [05:04:05.0000] <Philip`> gsnedders|work: "strings opera" [05:05:00.0000] <gsnedders|work> "strings opera"? [05:05:01.0000] <Philip`> http://unixhelp.ed.ac.uk/CGI/man-cgi?strings [05:05:02.0000] <gsnedders|work> Ah [05:06:00.0000] <zcorpan_> /me tries subscribing to commit-watchers but doesn't get a confirmation email [05:07:00.0000] <Philip`> Hmm, seemingly not the SVG ones [05:07:01.0000] <zcorpan_> oh wait [05:07:02.0000] <Philip`> nor the WML 1.* ones [05:07:03.0000] <zcorpan_> i did get confirmation email [05:07:04.0000] <Philip`> (I guess those trigger different special behaviours) [05:08:00.0000] <erlehmann> i'm trying to get german parliamentary video channel techs to consider moving from embedded flash movies to <video> with flash fallback. anyone here has tips for doing this? [05:09:00.0000] <gsnedders|work> Philip`: We imply for SVG, and that's unlikely to change (due to content deployed when Adobe SVG Viewer didn't require it) [05:09:01.0000] <zcorpan_> erlehmann: tips for convincing them or tips for implementing it? [05:11:00.0000] <erlehmann> zcorpan_, its about convincing. i already met the woman in charge at a "how to make government data more open" session, she referred me to the techs. [05:12:00.0000] <Philip`> erlehmann: Why would it be worthwhile for them to switch? [05:17:00.0000] <gsnedders|work> "RAW DATA NOW"? [05:17:01.0000] <erlehmann> gsnedders|work, something like that. [05:19:00.0000] <gsnedders|work> Then remember the RDF graphs too. [05:20:00.0000] <erlehmann> Philip`, the government has its own data in some encumbered formats. we get laws as untagged PDF, videos as flash. in the end, it's all about accessability. [05:20:01.0000] <erlehmann> but i don't really know how to deal with government types [05:21:00.0000] <gsnedders|work> /me wouldn't call PDF encumbered, as there are plenty of readers and there is an open standard [05:21:01.0000] <gsnedders|work> erlehmann: I guess the first thing you need to work out is whether it is the government or whether it is civil servants making the decisions [05:22:00.0000] <erlehmann> gsnedders|work, the decision is one of bureaucracy [05:22:01.0000] <gsnedders|work> erlehmann: But who made the decision to use the formats currently used? [05:22:02.0000] <gsnedders|work> (This does have a real affect about how to go about getting things done) [05:23:00.0000] <erlehmann> interesting question. [05:24:00.0000] <gsnedders|work> You can _try_ and get civil servants (or rather, more generally, government officials) to change things, but they will tend to take the solution that is the least work for them (and may have their own agenda). [05:24:01.0000] <Philip`> erlehmann: If the idea is just about unencumbered formats, it sounds like they could just provide a download link to an .ogv or .mp4 file, and there's no need to mess around with using <video> [05:24:02.0000] <jgraham> gsnedders|work: AIUI the problem with pdf is not that it is encumbered per-se it is that extracting information is typically very difficult [05:25:00.0000] <gsnedders|work> If that fails, you have to push those who the non-elected officials are meant to obey [05:25:01.0000] <gsnedders|work> It's all one big ball-game basically [05:25:02.0000] <gsnedders|work> jgraham: Indeed, but it's certainly got quite a lot better [05:26:00.0000] <erlehmann> Philip`, valid response. but if you have the encoded files, <video> is simple [05:26:01.0000] <erlehmann> and you can always have flash fallback [05:27:00.0000] <Philip`> I guess the simpleness depends on how well the fallback works in practice, and how well <video> works in practice, and how easy it is to copy-and-paste the right markup for it [05:27:01.0000] <jgraham> gsnedders|work: "better" in the sense that it is now theoretically possible to produce PDF files in which getting the text out isn't a major undertaking? [05:27:02.0000] <jgraham> It doesn't really count as better unless people actually do it [05:27:03.0000] <gsnedders|work> jgraham: I think it is easier once you have a parsed copy of the file now [05:28:00.0000] <Philip`> /me wishes he could copy-and-paste text from PDFs without getting "fi" ligatures as single characters [05:28:01.0000] <jgraham> and having a format where it is easier to do the wrong thing than the right thing means that people will typicalloy do the wrong thing even if there are laws and stuff saying you should do the right thing [05:29:00.0000] <erlehmann> gsnedders|work, as far as i know the head of that thingy came to the open government session out of personal interest. she readily admitted that some systems are barely usable and was looking for input from local hackers and parliamentary informaticians. [05:29:01.0000] <jgraham> gsnedders|work: eaiser than what? Also what do you mean "parsed copy of the file"? [05:29:02.0000] <erlehmann> Philip`, technical things can be solved easily. its about getting the process into motion [05:29:03.0000] <gsnedders|work> jgraham: You convert the PDF file to an internal representation before drawing. [05:30:00.0000] <gsnedders|work> jgraham: Easier than it used to be [05:30:01.0000] <gsnedders|work> (I could be wrong, I've not looked that much at text extraction) [05:30:02.0000] <Philip`> gsnedders|work: Easier than it used to be for exactly the same input that was used before, or easier for new inputs that use new features? [05:30:03.0000] <gsnedders|work> Philip`: The latter, I think. [05:32:00.0000] <jgraham> gsnedders|work: That is exactly the problem. If these documents are being produced by some person using word or whatever and "export to pdf" does the wrong thing regardless of how they wrote the document, you have already lost because all the regulation in the world won't stop untagged documents getting produced [05:32:01.0000] <jgraham> erm [05:33:00.0000] <jgraham> by "regardless" I think I mean something quite unlike regardless [05:33:01.0000] <erlehmann> jgraham, our administration has secretaries with word using the print function. absolutely hatable, if there are two columns [05:34:00.0000] <jgraham> Why I'm trying to say is that it has to work for any authoring style, not just for people who use e.g. the styles and formatting feature [05:34:01.0000] <jgraham> (which is approximately no-one) [05:34:02.0000] <Philip`> jgraham: "irregardless"? [05:35:00.0000] <jgraham> iirespective [05:35:01.0000] <jgraham> but with the right number of each letter [05:35:02.0000] <jgraham> in the right order [05:37:00.0000] <jgraham> No that's still not right [05:37:01.0000] <jgraham> Oh dear [05:38:00.0000] <gsnedders|work> erlehmann: As I understand it, they're meant to be moving away from Word, at least :P [05:38:01.0000] <Philip`> How can it not be right when you're allowing any combination of any letters? [05:39:00.0000] <Philip`> unless it's something that can only be expressed through gestures [05:39:01.0000] <erlehmann> gsnedders|work, i can't see that happen. [05:40:00.0000] <gsnedders|work> erlehmann: Several ministries have moved away from Word already, to my knowledge [05:40:01.0000] <Philip`> What have they moved to? [05:40:02.0000] <gsnedders|work> OpenOffice :P [05:40:03.0000] <Philip`> Oh, not Emacs? :-( [05:40:04.0000] <erlehmann> its nanowrimo [05:40:05.0000] <erlehmann> use nano(1) [05:40:06.0000] <erlehmann> the ministry of the interior is big with free software, but they are reviled almost universally in tech circles [05:41:00.0000] <erlehmann> also some cities have switched [05:41:01.0000] <Philip`> /me likes nano, it's the only text editor he can understand how to use [05:41:02.0000] <erlehmann> but i, as a consumer of data, am more interested in free formats [05:41:03.0000] <workmad3> Philip`: I feel like that too :) [05:55:00.0000] <jgraham> Understanding your text editor is overrated. The only real criterion is that pressing tab should produce a reasonable indentation much of the time. And not, I repeat not, try to insert a tab character. Ever. [05:56:00.0000] <zcorpan_> hsivonen: afaict opera doesn't support the xhtml+rdfa doctype [05:58:00.0000] <hsivonen> zcorpan_: ok. I guess I should test every allegation myself without trusting anything that has been said in the thread. sorry. [07:17:00.0000] <Philip`> "once we start to add predefined entities, where do we stop?" - we stop once we've reached XML5 [07:18:00.0000] <hsivonen> how do we stop the MathML folks from minting more and more entities? [07:19:00.0000] <jgraham> More to the point who thought it was a good idea to let validators accept a superset of wht UAs accepted in the first place? [07:19:01.0000] <hsivonen> jgraham: you'll find that V.nu accepts a subset by default [07:21:00.0000] <hsivonen> doing a hg clone where the target is an AFP share is insanely slow [07:22:00.0000] <Dashiva> I don't understand this entity stuff at all. What is the rationale for allowing documents to change just depending on whether the parser validates or not? [07:22:01.0000] <Philip`> I don't like how Sourceforge's current design consists almost entirely of colours with >50% brightness, which look indistinguishable from white when I view my monitor from a slight angle [07:22:02.0000] <jgraham> hsivonen: I'm far from surprised that you are doing something sane [07:22:03.0000] <Dashiva> It seems like it's just asking for interop failures [07:23:00.0000] <jgraham> Dashiva: Yes [07:23:01.0000] <Dashiva> At least with draconiainness there was a _perceived_ benefit [07:24:00.0000] <Philip`> Dashiva: Not at all - it ensures your content has maximum interoperability with the specification [07:24:01.0000] <hsivonen> Dashiva: optional features in specs are the collection of unresolved disputes that the WG threw over the fence for the entire world to deal with [07:25:00.0000] <hsivonen> next time I want to back up a hg repo to AFP I'll use tar or something [07:25:01.0000] <Dashiva> Related, what is the term for a document using invalid entities? It's still well-formed, I assume [07:26:00.0000] <hsivonen> Dashiva: well-formedness depends on whether the parser processed external entities [07:27:00.0000] <Dashiva> So a validating parser can make a non-well-formed document into a well-formed one [07:27:01.0000] <Dashiva> *? [07:29:00.0000] <gsnedders|work> What WFC depends upon whether it is validating or not? [07:29:01.0000] <gsnedders|work> For entities, undeclared entities are a well-formedness error iff standalone='yes' [07:29:02.0000] <gsnedders|work> (when dealing with a non-validating processor) [07:31:00.0000] <Dashiva> I think I was asking if <root>&bogus;</root> is well-formed or not [07:32:00.0000] <gsnedders|work> It is well-formed for a non-validating parser, not for a validating one [07:33:00.0000] <Philip`> The definition of well-formedness appears to be just based on the textual object, not the parser [07:33:01.0000] <gsnedders|work> Indeed [07:33:02.0000] <gsnedders|work> So that is not well-formed, but only a validating parser will notice it is not [07:34:00.0000] <Dashiva> So that's not even an XML document [07:34:01.0000] <gsnedders|work> Maybe a non-validating one would because it hasn't got a DTD [07:35:00.0000] <gsnedders|work> That is not well-formed, so all UAs will throw a fatal error [07:35:01.0000] <Philip`> gsnedders|work: Why is a well-formedness error? [07:35:02.0000] <gsnedders|work> Philip`: Well-formedness constraint: Entity Declared [07:35:03.0000] <Philip`> I only see relevant things mentioned as validity constraints [07:36:00.0000] <Philip`> Oh, okay [07:37:00.0000] <Dashiva> But if there was a DTD with an external entity declaration... then it would become valid _only_ in validating parsers? [07:37:01.0000] <gsnedders|work> No, the document would be valid. [07:37:02.0000] <Dashiva> Well-formed, I mean [07:38:00.0000] <gsnedders|work> That document is always not well-formed [07:38:01.0000] <gsnedders|work> That's wrong [07:38:02.0000] <gsnedders|work> Yes, it would then always be valid if the external DTD defined &bogus; IIRC [07:39:00.0000] <Dashiva> But it would look non-well-formed to a non-validating parser [07:39:01.0000] <Dashiva> Should it not then refuse to process it? [07:39:02.0000] <gsnedders|work> No, it would look well-formed to a non-validating parser [07:39:03.0000] <gsnedders|work> It just has an unknown entity [07:39:04.0000] <Dashiva> But you said that was a well-formedness requirement earlier? [07:39:05.0000] <gsnedders|work> It isn't. [07:40:00.0000] <gsnedders|work> I was wrong [07:40:01.0000] <Dashiva> Oh, okay [07:41:00.0000] <gsnedders|work> "Certain well-formedness errors, specifically those that require reading external entities, may fail to be detected by a non-validating processor. Examples include the constraints entitled Entity Declared, Parsed Entity, and No Recursion, as well as some of the cases described as forbidden in 4.4 XML Processor Treatment of Entities and References." [07:41:01.0000] <rollandburn> i wonder if someone could give some advice.... I am tasked with creating an overview of our company's accessibility policies and I have done a bit of research on WAI and WCAG2.0 which is apparently the standard to which one should hold their site against... the problem is that I am coming across a lot of conflicting info about the real-world usefulness or attainability of WCAG2.0 and am not... [07:41:02.0000] <rollandburn> ...sure if there is another standard or body of guidelines that would be better suited to modern developers [07:42:00.0000] <jgraham> gsnedders|work: So what are you expected to do in those cases? [07:42:01.0000] <gsnedders|work> jgraham: Your choice. [07:42:02.0000] <jgraham> Seriously? [07:42:03.0000] <gsnedders|work> jgraham: Yeah. [07:42:04.0000] <jgraham> sigh [07:42:05.0000] <Dashiva> XML is great [07:43:00.0000] <Dashiva> Are there any well-known apps or similar that use validating parsers? [07:43:01.0000] <gsnedders|work> Dashiva: http://validator.w3.org is well-known, I guess. [07:43:02.0000] <Philip`> Dashiva: All the ones that hammer w3.org for DTDs [07:43:03.0000] <rollandburn> i guess if I nutshell that huge question - is there anything more recognized or applicable than WCAG2.0 ? [07:43:04.0000] <jgraham> rollandburn: This is probably the wrong place to ask. However WCAG has a techniques document with some practical advice. It is not allup to date wrt HTML5 and other new technologies though [07:44:00.0000] <Philip`> Dashiva: and the ones that broke when Netscape took down the RSS DTD [07:44:01.0000] <Philip`> I guess [07:44:02.0000] <Dashiva> Philip`: So basically validators and bad ideas? :) [07:45:00.0000] <rollandburn> yes ok, not really looking for techniques so much as confirmation that as far as accessibility is concerned WCAG is God [07:45:01.0000] <gsnedders|work> jgraham: No, it's the informative documents that relate to HTML 4.01 and XHTML 1.0 that aren't up to date [07:45:02.0000] <Dashiva> rollandburn: Some people consider it god. Not everyone. [07:45:03.0000] <jgraham> gsnedders|work: Yeah Techniques for WCAG 2.0 is one such document [07:45:04.0000] <rollandburn> ok, are there other guidelines that are similar [07:45:05.0000] <jgraham> Which is the one I meant [07:46:00.0000] <Philip`> Dashiva: I'm not personally aware of any applications that use validating parsers for good reasons [07:46:01.0000] <Dashiva> Sounds like a way forward [07:46:02.0000] <gsnedders|work> But for XHTML 1.0 and RSS (0.91-Netscape) you need to cope with entities. [07:46:03.0000] <Philip`> Dashiva: though partly that's because I don't care about XML except when I can break it, so there might be good uses somewhere [07:46:04.0000] <jgraham> rollandburn: I don't know if there are other documents. It's more that some of the advice given by WCAG may be misguided or the documents may be too hard to read [07:46:05.0000] <Dashiva> DTDs are too weak for real validation anyhow, so just discard the validating parser concept in XML5? [07:47:00.0000] <gsnedders|work> Dashiva: Yeah, just totally get rid of DTDs. [07:47:01.0000] <rollandburn> oh ok, i'm not finding it hard to read... just never got into following any 'guideline' in order to 'conform' before, wanted to make sure I was following the right lead [07:47:02.0000] <rollandburn> thanks! [07:47:03.0000] <rollandburn> (btw... what is the main focus of this channel?) [07:48:00.0000] <Philip`> Dashiva: What about all the people who use DTDs for default attribute values, or for localisation of text in XML files? [07:49:00.0000] <Philip`> DTDs aren't necessarily a good solution for those things, but people rely on them in certain situations and wouldn't be happy if XML5 didn't support that [07:49:01.0000] <rollandburn> got it...the development of HTML and APIs needed for Web applications. [07:49:02.0000] <Dashiva> Philip`: So they can make their content break in non-validating parsers? [07:49:03.0000] <rollandburn> thanks,,,, cya [07:50:00.0000] <Philip`> Dashiva: So they can use off-the-shelf XML parsers (and validators and editing tools etc) for application-specific data files where interoperability isn't so important and they know they're using a validating parser themselves [07:50:01.0000] <gsnedders|work> Dashiva: Indeed. The Universal Feed Parser docs are an example of such a thing (they are written in DocBook, and rely upon external DTDs, but are distributed as HTML/PDF/etc.) [07:50:02.0000] <Dashiva> Philip`: Then they can just keep using a validating XML1 parser? [07:51:00.0000] <Philip`> Dashiva: And all XML parser developers would have to maintain two parallel versions or modes of operation? [07:52:00.0000] <Philip`> and everyone wanting to use an XML parser would have to learn about and understand the difference and make a reasoned choice? [07:52:01.0000] <Dashiva> No, they'd just use XML5 [07:52:02.0000] <Dashiva> Just like we don't expect people to make a reasoned choice between HTML5 and SGML [07:52:03.0000] <gsnedders|work> But SGML is awesome! [07:53:00.0000] <Dashiva> And I'm sure validating XML parsers are awesome too [07:53:01.0000] <Philip`> Dashiva: There aren't a billion tempting SGML tools they could pick up and use without realising it was obsolete [07:54:00.0000] <Dashiva> There are plenty of tagsoup libs for HTML4, though [07:55:00.0000] <Philip`> Indeed [07:55:01.0000] <Philip`> and lots of people use them [07:55:02.0000] <Philip`> and it's likely to be hard to stop people from using them [07:55:03.0000] <Philip`> and it's not likely that Python will deprecate and remove sgmllib any time soon [07:55:04.0000] <Dashiva> We don't have to stop them, they'll stop themselves as the web corpus gradually becomes influenced by HTML5 [07:56:00.0000] <Philip`> In the meantime it causes confusion and uninteroperability when people unintentionally choose the older version instead of the newer version, and means there's twice as much code to maintain [07:57:00.0000] <jgraham> Philip`: Presumably there were once lots of SGML tools and people who had invested in the SGML toolchain. But it was still worthwhile to simplfy out the good bits and make XML [07:58:00.0000] <jgraham> Now seems like a good time to do the same with XML with a particular focus on the web [07:58:01.0000] <Philip`> so it seems it'd be a better approach in many ways if backward compatibility was not lost and the old tools were simply upgraded to support the new spec, without having to maintain the old ones too [07:58:02.0000] <Dashiva> You can't maintain backwards compatability when one of the changes is removing a misfeature [07:58:03.0000] <Philip`> You can keep the misfeature [07:59:00.0000] <Dashiva> That's perpetuating the problem, rather than suffering a transitory period [07:59:01.0000] <jgraham> Of course. But then we would still have SGML [07:59:02.0000] <Philip`> Dashiva: You sound like you should be in the XHTML2 WG [07:59:03.0000] <jgraham> The question is "is there a path from here to there"? [08:00:00.0000] <Dashiva> Philip`: No, they wanted to change interoperable content [08:00:01.0000] <Dashiva> This is about content that's non-interoperable to begin with [08:00:02.0000] <hsivonen> gsnedders|work: you are right. the text in "Include if Validating" isn't labeled as a WFC even though implementations treat it as such [08:00:03.0000] <jgraham> We haven't discovered a path away from HTML yet even though people have tried [08:00:04.0000] <Dashiva> Your own example specified that, "application-specific data files where interoperability isn't so important" [08:00:05.0000] <Philip`> Dashiva: They wanted a transitory period of suffering rather than perpetuating the problem [08:01:00.0000] <Philip`> so you'd fit in just fine :-) [08:01:01.0000] <Dashiva> Yeah, and so did the people who introduced two-button mice [08:01:02.0000] <Dashiva> Methinks you're overreaching :) [08:01:03.0000] <jgraham> But there might be a path away from XHTML to XML5 if you could specify XML5 so that existing implementations wouldn't break too many XHTML pages if they moved to having just XML5 parsers [08:03:00.0000] <hsivonen> http://www.w3.org/TR/REC-xml/#wf-entdeclared isn't exactly easy to read [08:04:00.0000] <gsnedders|work> Most of the XML spec when it comes to entities isn't exactly easy to read. [08:07:00.0000] <Philip`> /me inherited some code which used Xerces and DTDs specifying default attribute values, but got so fed up with Xerces after a few years that he just rewrote it to use libxml2 instead and dropped all the DTDs, which was a good move [08:07:01.0000] <hsivonen> according to Tim Bray's annotated XML spec, browsers weren't supposed to read DTDs [08:08:00.0000] <Philip`> Why did browsers start doing this magical entity-mapping thing? [08:08:01.0000] <Philip`> Were there original browsers that did load DTDs, and hence content that relied on it? [08:08:02.0000] <gsnedders|work> Because there was a bug report. [08:09:00.0000] <hsivonen> Philip`: I'd expect the blame to go to a MathML-motivated bug filed against Gecko [08:09:01.0000] <Philip`> So it was just somebody trying to help users write pages? [08:09:02.0000] <Dashiva> "The validator says &nbsp; is valid" [08:09:03.0000] <Dashiva> Something like that? [08:10:00.0000] <jgraham> Not having entities in MathML is a big deal [08:11:00.0000] <jgraham> It changes it from "difficult to hand author" [08:11:01.0000] <jgraham> to "impossible to hand author" [08:11:02.0000] <hsivonen> whoa. looks like I have been part of the problem: https://bugzilla.mozilla.org/show_bug.cgi?id=113400 [08:11:03.0000] <gsnedders|work> Blatantly you just need a keyboard will all the various mathematical symbols on it [08:12:00.0000] <Dashiva> Skeletons in the closet [08:12:01.0000] <hsivonen> Sorry. [08:12:02.0000] <erlehmann> jgraham, is that so? can't i just use UTF8? [08:13:00.0000] <erlehmann> i mean i have αζγ all right here on my mod4 [08:13:01.0000] <erlehmann> or what is it that not having entities forbids [08:13:02.0000] <gsnedders|work> erlehmann: How do you type the symbol for union of two sets? [08:13:03.0000] <jgraham> erlehmann: Of course. But good luck finding a convenient way to enter the utf-8 codepoint for counterclockwise contour integral [08:13:04.0000] <gsnedders|work> Or do you know the Unicode codepoint and can use numeric entities? [08:13:05.0000] <hsivonen> gsnedders|work, jgraham: the world needs a math IME [08:13:06.0000] <hsivonen> something like what Mathematica has on the app layer [08:13:07.0000] <gsnedders|work> It's called LaTeX. [08:14:00.0000] <jgraham> hsivonen: That probably exists. But it is a deficiency in the technology if it screws up something that TeX got right years ago [08:14:01.0000] <Philip`> http://www.columbia.edu/acis/history/dmkeyboard.jpg [08:15:00.0000] <hsivonen> jgraham: didn't TeX get just about everything right except the Rule of Least Power? [08:15:01.0000] <jgraham> (actually I'm pretty sure LaTeX-IME exists so you can write \cccint or whatever it happens to be and get the right symbol) [08:15:02.0000] <erlehmann> gsnedders|work, i use lyx :p [08:15:03.0000] <Philip`> Seems they'd solved the problem back in 1978 [08:15:04.0000] <Dashiva> I suppose if everyone starts using keyboards with programmable LED keys [08:16:00.0000] <Philip`> http://www-lipn.univ-paris13.fr/~saiu/apl-keyboard/apl-keyboard-2.jpg is the lower-tech form of programmable keys [08:16:01.0000] <jgraham> hsivonen: Possibly it sacrified on the rule of least power in order to get everything else right [08:16:02.0000] <Dashiva> I can't speak for TeX, but latex manages to get all kinds of things wrong [08:17:00.0000] <jgraham> Yeah it's true that "everything" is a big overstatement [08:17:01.0000] <jgraham> but simple things tend to be simple and complex things are often possible [08:17:02.0000] <erlehmann> this helps http://detexify.kirelabs.org/classify.html [08:19:00.0000] <Dashiva> I suspect there's more copypaste content in latex than in HTML, even :) [08:19:01.0000] <Philip`> jgraham: Sounds like Perl's design principle [08:19:02.0000] <erlehmann> jgraham, i ener unicode codepoints with holding shift + strg + u and then input the number, works fine ∳ [08:20:00.0000] <Philip`> s//one of/; s//s/ [08:20:01.0000] <Philip`> erlehmann: The hard part is knowing the number [08:21:00.0000] <erlehmann> Philip`, now that is taken of. i looked it up and now i can produce counterclockwise countour integrals [08:21:01.0000] <erlehmann> its 2233 :) [08:21:02.0000] <erlehmann> U+2233 [08:21:03.0000] <Philip`> I suppose you can't use MathML entities without looking them up first, but at least you've got a hope of remembering them for the next few days [08:21:04.0000] <erlehmann> thats what i mean. also, it is called “ANTICLOCKWISE” [08:21:05.0000] <erlehmann> weird [08:21:06.0000] <Philip`> Why is that weird? [08:22:00.0000] <Philip`> Seems like proper English to me [08:22:01.0000] <erlehmann> i would say counterclockwise [08:22:02.0000] <Philip`> Weird [08:22:03.0000] <erlehmann> but i am by no means a native speaker [08:23:00.0000] <hsivonen> is anti-clockwise an en-GB thing? [08:23:01.0000] <Philip`> Sadly most Americans aren't native speakers either and so they all make the same mistake :-( [08:23:02.0000] <gsnedders|work> hsivonen: Yes [08:23:03.0000] <hsivonen> /me learned "counter-clockwise" [08:24:00.0000] <gsnedders|work> hsivonen: Then you don't speak proper English. [08:24:01.0000] <gsnedders|work> /me hides [08:25:00.0000] <erlehmann> gentlemen [08:26:00.0000] <erlehmann> ┌─┐ [08:26:01.0000] <erlehmann> ┴─┴ [08:26:02.0000] <erlehmann> ಠ_̼ರೃ [08:26:03.0000] <erlehmann> teatime !! [08:26:04.0000] <gsnedders|work> What? [08:26:05.0000] <gsnedders|work> /me shakes head [08:27:00.0000] <erlehmann> /me is gonna help himself to some tea [08:28:00.0000] <Philip`> gsnedders|work: I believe it is merely japes [08:28:01.0000] <zcorpan_> "I only hope it doesn't cause problems later on." - hsivonen in https://bugzilla.mozilla.org/show_bug.cgi?id=113400 [08:29:00.0000] <gsnedders|work> Truth hurts. [08:32:00.0000] <TabAtkins> erlehmann: I *love* those faces. They're so awesome. [08:36:00.0000] <Philip`> /me wonders if they would be more awesome if his font had the right glyphs [08:39:00.0000] <erlehmann> TabAtkins, i like how different charsets breed different smilie styles, like ヽ(`Д´)ノ [08:44:00.0000] <Philip`> http://webaim.org/projects/screenreadersurvey2/ - "The vast majority of respondents updated their primary screen reader within the previous year" - that sounds more positive than the impression I've often got about adoption rate [08:47:00.0000] <jgraham> Philip`: Maybe the majority of screenreader users don't take geeky surveys [08:48:00.0000] <jgraham> (note the heavy weighting to self-reporting as advanced users) [08:51:00.0000] <jgraham> Seems like these screenreader users generally don't like longdesc [08:53:00.0000] <jgraham> And we should put much less time into markup for tables and much more time into markup for captchas or their replacement [08:53:01.0000] <Philip`> I don't think CAPTCHAs are a markup problem [08:55:00.0000] <jgraham> Well nor do I really but it's not clear that there is nothing that could be done at the paltform level to at least make the experience more bearable [08:55:01.0000] <jgraham> /me hates captchas and he can see them [08:56:00.0000] <Philip`> (The problem is the server wants to verify the client has certain capabilities which are closely correlated with being a human, but humans are sufficiently diverse that the correlation can never be really good) [08:56:01.0000] <jgraham> well specifically those silly "here is some hard to read text" ones [08:57:00.0000] <Philip`> (and the server has to err on the side of false negatives, because if it allows any false positives then a million people will start exploiting the false positive they found) [08:57:01.0000] <Philip`> ((or one person a million times)) [11:52:00.0000] <bugfux> I have some lines that are stroked and they are being drawn in front of some arcs (even though the arcs are drawn last) [11:52:01.0000] <bugfux> any way I can force the arcs to the front [11:53:00.0000] <Philip`> bugfux: Hmm, not quite sure what you mean [11:53:01.0000] <Philip`> Whatever's drawn last ought to appear in the front [11:54:00.0000] <bugfux> wait what defines drawn [11:54:01.0000] <Philip`> The stroke()/fill() calls [11:54:02.0000] <Philip`> (which draw everything since the last beginPath()) [11:54:03.0000] <bugfux> yeah okay so I am definately filling the arcs last because they are filled on a hover event [11:54:04.0000] <bugfux> and all the lines are drawn on render [11:55:00.0000] <bugfux> does restore() count as a draw? [11:55:01.0000] <Philip`> restore() does not affect the current path in any way [11:55:02.0000] <Philip`> beginPath is the only way to start a new path [11:56:00.0000] <bugfux> hmm okay [11:56:01.0000] <Philip`> Do you have an example of code that demonstrates the problem? [11:58:00.0000] <bugfux> i mean its not much help because it just shows the library [11:58:01.0000] <bugfux> http://danvk.org/dygraphs/tests/grid_dot.html [11:58:02.0000] <bugfux> but that higlights the problem [11:58:03.0000] <bugfux> those arcs are drawn on mouseover [11:58:04.0000] <bugfux> yet they are drawn behind almost everything [12:01:00.0000] <Philip`> bugfux: There are two <canvas>es there [12:01:01.0000] <bugfux> oh really? [12:01:02.0000] <Philip`> and the graph is drawn on the second one, and the mouseover circles are drawn on the first one [12:01:03.0000] <bugfux> oh crap, your awesome [12:01:04.0000] <Philip`> /me just looked at it in Firebug :-) [12:01:05.0000] <bugfux> no i know, but i didnt even think of htat [12:02:00.0000] <bugfux> and I have been knee deep in this library for days [12:04:00.0000] <bugfux> can I give a canvas a z-index or does that make it blow up [12:05:00.0000] <Philip`> That ought to work the same as with any other element [12:06:00.0000] <bugfux> hmm it seems to mess with hover nad stuff [12:06:01.0000] <bugfux> oh well [12:07:00.0000] <Philip`> Ah, yes, that might happen [12:08:00.0000] <Philip`> /me doesn't know if there's a way to avoid that being a problem [12:08:01.0000] <Philip`> (other than catching mouse events on the foremost object) [12:13:00.0000] <bugfux> hmmm [12:13:01.0000] <bugfux> so if i draw the canvas with the dots first, it will always be on the bottom, correct? [12:17:00.0000] <Philip`> If you don't change z-index, then yes [12:49:00.0000] <TabAtkins> AryehGregor: You around? [13:45:00.0000] <gsnedders> /me does like how HTML5 is off-topic in #html [13:45:01.0000] <gsnedders> There's something badly wrong with that. [14:02:00.0000] <jarib> anyone reading the implementors list? just realized i made the first post in months [14:03:00.0000] <MikeSmith> jarib: yeah, people do read that list [14:03:01.0000] <Philip`> I'm subscribed to it, but it's so low-traffic that I've never even bothered setting up any mail filters for it [14:03:02.0000] <jarib> ah, that's a good thing then :) [14:06:00.0000] <gsnedders> jarib: Most browsers automatically create the actual interface code from IDL (though normally each in their own proprietary format) then have the actual implementation of the interface separate [14:07:00.0000] <gsnedders> On a somewhat related note, is Watir 2.0 going to be API compatible with prior releases? [14:07:01.0000] <jarib> probably not 100% [14:08:00.0000] <gsnedders> (I ask that primarily with Opera hat on with a view of OperaWatir) [14:08:01.0000] <jarib> ah [14:09:00.0000] <jarib> it'll be mostly compatible, but more "compliant" if my IDL idea works out [14:09:01.0000] <jarib> i met Deniz from Opera at GTAC [14:09:02.0000] <jarib> Watir 2.0 will be built on WebDriver [14:10:00.0000] <gsnedders> Yeah, he's the guy who does most of the work on OperaWatir, so he probably has more clue than me :P [14:10:01.0000] <jarib> we're meeting in Oslo soon to work on the ruby bindings [14:10:02.0000] <jarib> but you're saying I could find IDLs in the browsers? [14:11:00.0000] <jarib> that's interesting [14:11:01.0000] <jarib> perhaps I should ask Deniz about this [14:12:00.0000] <gsnedders> At least in their codebase, it's gone before it even gets compiled [14:12:01.0000] <jarib> i'll look into that, thanks [14:13:00.0000] <gsnedders> WebIDL even has a defined mapping to Java :P [14:14:00.0000] <gsnedders> (Which I guess if you're going to use WebDriver is relevant) [14:14:01.0000] <jarib> nope, not using Java [14:15:00.0000] <jarib> i have ruby bindings that implement the WebDriver API (talking directly to the browser extensions) [14:15:01.0000] <gsnedders> ah [14:16:00.0000] <jarib> so for opera, we'll just use Deniz' ruby implementaation of STP0 (and perhaps do STP1 down the road) [14:17:00.0000] <gsnedders> /me doesn't really know how much about OperaWatir he can say, which is rather annoying [14:18:00.0000] <gsnedders> How much did Deniz tell you, at a fairly high level? [14:19:00.0000] <jarib> he didn't say much, just that the documentation for the protocol is outdated :) [14:19:01.0000] <gsnedders> Yeah. It's awesome documentation. [14:20:00.0000] <jarib> but his java driver for WebDriver is almost ready to ship I think, so will use that as a reference for the ruby bindings [14:21:00.0000] <gsnedders> Ah, so you do indeed know that is Java. OK. That's what I was really wondering. [14:21:01.0000] <jarib> ah, yes [14:22:00.0000] <jarib> i think his main concern was having to maintain both OperaDriver and OperaWatir, so he's pretty happy Watir 2 will be built on webdriver [14:22:01.0000] <gsnedders> My understanding is that his impl relies upon things only added to Scope after 2.2, so it's highly unlikely to ship until we have at least a public release of desktop with 2.4 [14:23:00.0000] <jarib> could be, he said he has WebDriver impls using both STP0 and STP1 [14:25:00.0000] <jarib> we have a wave about it, if you're on Wave and interested to join in [14:26:00.0000] <gsnedders> I do, though I have looked at Wave once. :) [14:26:01.0000] <gsnedders> geoffers, if you want to add me [14:26:02.0000] <jarib> will do. Wave really showed its potential at GTAC [14:28:00.0000] <gsnedders> /me really wants totally offline clients [14:29:00.0000] <jarib> /me looks at .idl files from WebKit [14:30:00.0000] <jarib> so i guess these are written by hand [14:30:01.0000] <gsnedders> Right, they will be [14:31:00.0000] <gsnedders> Probably primarily down to the fact there are about five different forms of IDL [14:31:01.0000] <gsnedders> (All of which are incompatible with one another) [14:31:02.0000] <jarib> hmm [14:32:00.0000] <ment> gsnedders: almost any modern browser has "offline mode" [14:32:01.0000] <gsnedders> ment: That doesn't mean I have absolutely all my data offline in a form I can readily export [14:33:00.0000] <erlehmann> full stop !! dump the databases !!! everyone uses sqlite, rite? [14:34:00.0000] <gsnedders> That's still fairly evil. [14:34:01.0000] <ment> gsnedders: oh yeah, that sqlite-in-javascript-in-browser concept [14:34:02.0000] <gsnedders> And only works if the web site stores all the data in a local database, which is might not (it is highly likely it'll only download a subset, like the most recent 100) [14:35:00.0000] <ment> client-side sql-injection, here i come! [14:38:00.0000] <gsnedders> jarib: Hmm, I'll probably ping Deniz about one or two things tomorrow at work [14:39:00.0000] <jarib> gsnedders: ok. do you work on anything related to this? [14:39:01.0000] <gsnedders> jarib: Not really, I've used OperaWatir a bit internally, and I've been dealing with one or two STP things recently [14:40:00.0000] <gsnedders> jarib: Probably going to spend a fair amount of time doing stuff with it next month, though [14:40:01.0000] <jarib> i see [14:41:00.0000] <jarib> if you have any suggestion as to what idls would be best fit to my purpose, i'd love to hear [14:42:00.0000] <gsnedders> Hmm, I appear to have created three blank messages in Wave accidently. [14:42:01.0000] <gsnedders> Hmm, empty messages that can't be deleted. Great. [14:42:02.0000] <gsnedders> Oh, they can be [14:44:00.0000] <gsnedders> jarib: If you're starting with something today, I'd use WebIDL. [14:45:00.0000] <jarib> gsnedders: so when you mentioned there being five different formats, are any of the open source browsers using plain WebIDL? [14:46:00.0000] <gsnedders> jarib: WebIDL is only just now becoming stable, but will almost certainly become what is widely used, so no browser uses it internally yet. [14:47:00.0000] <jarib> i see [14:47:01.0000] <jarib> what's the format used in WebKit? looks pretty similar [14:47:02.0000] <gsnedders> I dunno, I haven't looked at that for a while [14:48:00.0000] <jarib> ok, thanks again. this is exactly what i need. [14:48:01.0000] <gsnedders> as far as I know it's their own custom format. Asking in #webkit is probably a better bet. [14:48:02.0000] <jarib> will do [14:48:03.0000] <gsnedders> I'm a mere QA guy, what do I know? ;P [14:49:00.0000] <jarib> hehe, so am i :) [14:49:01.0000] <gsnedders> Anyhow, I really need to sleep 2009-11-03 [00:08:00.0000] <Creap> While images are at the top of my list of desired medium types in a WWW browser, I don’t think we should add idiosyncratic hooks for media one at a time. [00:08:01.0000] <Creap> love that quote [00:08:02.0000] <Creap> http://diveintomark.org/archives/2009/11/02/why-do-we-have-an-img-element [00:58:00.0000] <virtuelv> mpilgrim: yt? [03:01:00.0000] <hober> Is there more recent <head profile> data than http://code.google.com/webstats/2005-12/pageheaders.html ? [03:13:00.0000] <zcorpan_> http://philip.html5.org/data/profile-values-2.txt [03:13:01.0000] <zcorpan_> http://philip.html5.org/data/profile-values.txt [03:33:00.0000] <AryehGregor> Awesome post: http://diveintomark.org/archives/2009/11/02/why-do-we-have-an-img-element [03:37:00.0000] <virtuelv> It is [04:26:00.0000] <Omnipotent> Hey, where can I find an example for a complete (basic) HTML5 document? [04:27:00.0000] <jcranmer> <!DOCTYPE html> [04:27:01.0000] <jcranmer> that should be complete, IIRC [04:27:02.0000] <gsnedders|work> You need title too [04:27:03.0000] <gsnedders|work> <!doctype html><title></title> [04:27:04.0000] <Omnipotent> Not doctype, document. [04:27:05.0000] <jgraham> gsnedders|work: Damn you. Too fast [04:27:06.0000] <gsnedders|work> jgraham: All your fingers are belong to me. [04:27:07.0000] <jcranmer> funny, I always seemed to be able to get pages working w/o titles [04:27:08.0000] <jgraham> jcranmer: They won't validate [04:27:09.0000] <gsnedders|work> jcranmer: That's not conforming though [04:28:00.0000] <jcranmer> should be :-P [04:28:01.0000] <jgraham> Omnipotent: You might want to tighten up your specification [04:28:02.0000] <jgraham> Like what do you mean by "complete (basic) document"? [04:29:00.0000] <gsnedders|work> Omnipotent: What we've given you is a conforming HTML 5 document. That fact that it only has a DOCTYPE and a title is beside the point. :P [04:29:01.0000] <gsnedders|work> Omnipotent: It's basic, I think. [04:29:02.0000] <jgraham> Omnipotent: (like a complete basic HTML5 blog page is quite different from a complete basic HTML5 email client) [04:29:03.0000] <Omnipotent> if I asked that for an HTML4 document, the answer world probably be something like: <!doctype ><html><head><title>blah</title></head><body><h2>header</h2><p>paragraph</p></body></html> [04:30:00.0000] <Omnipotent> Only with linebreaks and more readability :P. [04:30:01.0000] <gsnedders|work> You don't need html, head, or body tags. [04:30:02.0000] <jcranmer> html and head are definitely optional [04:30:03.0000] <jgraham> gsnedders|work: But there is no harm in having them [04:30:04.0000] <gsnedders|work> <!doctype html><title>Magic</title><h1>Really magic</h1><p>Not that magic [04:30:05.0000] <jgraham> You seem to be confusing "basic" with "minimal" [04:30:06.0000] <Omnipotent> Yeah, I think they do. [04:30:07.0000] <gsnedders|work> jgraham: Indeed. But minimal is basic. :P [04:31:00.0000] <gsnedders|work> jgraham: (Although they are not synonymous) [04:31:01.0000] <Omnipotent> I mean something that will be actually used for a website? [04:31:02.0000] <jgraham> gsnedders|work: That seems like a big leap [04:31:03.0000] <Omnipotent> With CSS and all? [04:31:04.0000] <jgraham> There is quite a deal of additional complexity to grasp when you miss out tags [04:31:05.0000] <gsnedders|work> <!doctype html><style>body {background:pink; color:blue;}</style><title>Ponies</title><h1>I &lt;3 ponies</h1> [04:31:06.0000] <jgraham> (even <tbody>) [04:32:00.0000] <gsnedders|work> That's got CSS and all! [04:32:01.0000] <jcranmer> I prefer #abcdef; and #fedcba; [04:32:02.0000] <jgraham> Omnipotent: A basic HTML5 page looks like a basic HTML4 page. Basically. [04:32:03.0000] <gsnedders|work> /me tries to remember what he was actually working on [04:33:00.0000] <Omnipotent> How about new elements like section and article? [04:37:00.0000] <jgraham> Omnipotent: <!doctype html><title>My Blog!</title><body><h1>My Blog!</h1><article><h1>My first post</h1>This is a post<section><h1>This I link about this post</h1>Nothing</section></section></body> [04:37:01.0000] <jgraham> s/link/like/ [04:38:00.0000] <jgraham> Oh and one of those </section>s should have been a </article> [04:40:00.0000] <Omnipotent> Ty. [04:58:00.0000] <hsivonen> http://www.mtv3.fi/uutiset/verot.shtml/arkistot/verot/2009/11/984114 [04:58:01.0000] <hsivonen> tables being evil taken too far [04:58:02.0000] <hsivonen> (view source) [05:03:00.0000] <Philip`> I like how the three columns don't actually line up properly [05:04:00.0000] <gsnedders|work> /me is guilty of doing similar things himself in the past [05:06:00.0000] <payman> jgraham: forgot </html> [05:06:01.0000] <Philip`> payman: It was no more forgotten than the <html> [05:07:00.0000] <payman> right, my bad [05:08:00.0000] <gsnedders|work> payman: Go learn HTML. [05:08:01.0000] <Philip`> /me isn't sure whether they were both forgotten or both intentionally omitted [05:08:02.0000] <Philip`> seeing as <body> wasn't omitted [05:08:03.0000] <payman> lol, ok! [05:10:00.0000] <jgraham> Both intentionally omitted [05:10:01.0000] <jgraham> Due to laziness but wanting to put all the sectioning elements in [05:10:02.0000] <Philip`> Why not omit <body> then? [05:11:00.0000] <jgraham> <body> is a sectioning element, no? [05:11:01.0000] <Philip`> It's not an element, it's a tag [05:11:02.0000] <Philip`> Also, I missed the latter half of your explanation [05:12:00.0000] <jgraham> pedant [07:07:00.0000] <zcorpan_> importScripts doesn't have the same-origin restriction, right [07:08:00.0000] <Dashiva> Is that a script? [07:08:01.0000] <zcorpan_> web workers [07:11:00.0000] <annevk2> nope [07:27:00.0000] <Dashiva> http://twitter.com/marcosc/status/5384964417 [07:28:00.0000] <Philip`> http://twitter.com/fsasaki/statuses/5378611343 - what's i28n? [07:28:01.0000] <Philip`> /me 's dictionary doesn't have any matches :-( [07:28:02.0000] <annevk2> dunno, but the gist of that discussion was that they wanted xml:lang to influence the element language as well [07:29:00.0000] <annevk2> xml:lang in no namespace that is [07:33:00.0000] <Dashiva> Philip`: It's intergalacticalnationalization [07:35:00.0000] <beowulf> preciated [07:36:00.0000] <beowulf> wrong window, though the first letter got into the right window... [07:37:00.0000] <Philip`> Where did the second letter go? [07:37:01.0000] <beowulf> Philip`: presumably it switched the windows? [07:37:02.0000] <beowulf> magic irssi p keystroke [07:38:00.0000] <Philip`> Ah [07:38:01.0000] <Philip`> Odd [07:38:02.0000] <Philip`> My irssi has the 'p' key bound to the action of inserting a p in my message [07:38:03.0000] <beowulf> probably just my finger mashing typing style :) [07:38:04.0000] <Dashiva> I wonder if mrlastweek wants to be found. Some kind of desperate cry for affection. [07:42:00.0000] <annevk2> it seems mrlastweek is actually a fan: http://twitter.com/realmrlastweek [07:43:00.0000] <Dashiva> Oh indeed [07:43:01.0000] <Dashiva> Or maybe he's both of them [07:44:00.0000] <Philip`> Maybe they're both fakes [07:45:00.0000] <Dashiva> It looks like the blog links to the twitter account, though [07:45:01.0000] <Philip`> A cunning ruse [07:49:00.0000] <Dashiva> In what way? [07:58:00.0000] <jgraham> Philip`: Did you ever look at popular javascript libraries in the dotbot (or any other) data? [08:16:00.0000] <Philip`> Dashiva: It's so cunning that I don't know [08:16:01.0000] <Philip`> jgraham: Not in any detail (though I do have a file listing all the <script src> values from all the pages) [08:20:00.0000] <jgraham> Philip`: That sounds like an interesting file [08:20:01.0000] <Philip`> It's a 200MB file so I don't really fancy uploading it [08:21:00.0000] <gsnedders|work> Get a quicker internet connection [08:22:00.0000] <jgraham> Get better compression [08:22:01.0000] <Philip`> It's still 30MB gzipped [08:22:02.0000] <jgraham> That sounds much more bearable depending on what type of connection you are on [08:22:03.0000] <jgraham> bzip2 would presumably be smaller still [08:22:04.0000] <jgraham> But may not complete [08:23:00.0000] <jgraham> by the heat death of the universe [08:23:01.0000] <Philip`> I shouldn't need to use my connection since none of the data is on my computer [08:24:00.0000] <Philip`> bzip2 is less than 2MB smaller [08:24:01.0000] <jgraham> Disappointing [08:24:02.0000] <jgraham> So are you willing to upload a 28-30 megabyte file [08:24:03.0000] <jgraham> ? [08:25:00.0000] <Philip`> Most of the effort is in trying to work out how to copy files between two computers [08:26:00.0000] <Philip`> Hmm, maybe I could use a fourth computer and rsync [08:30:00.0000] <jgraham> As in the old adage "there's no problem involving three computers that can't be solved by adding a fourth"? [08:32:00.0000] <Philip`> Hmm, it downloaded to the fourth machine at about 10MByte/sec, but uploading to Dreamhost is incredibly slow [08:33:00.0000] <jgraham> Don't you have some cam.ac.uk space somewhere? [08:33:01.0000] <jgraham> presumably you have a fast connection to that [08:33:02.0000] <jgraham> *.cam.ac.uk I guess [08:34:00.0000] <Philip`> Yes but it's probably got silly quotas and stuff [08:34:01.0000] <Philip`> and I have a more proper server anyway (the aforementioned fourth machine) [08:34:02.0000] <Philip`> but I don't want to fragment my HTML5-related data onto more domains than it's already on [08:35:00.0000] <Philip`> http://philip.html5.org/data/script-src-raw.txt.7z [08:36:00.0000] <Philip`> (Just all the attribute values seen when parsing, with no particular order and no grouping) [08:36:01.0000] <jgraham> Philip`: Thanks [08:37:00.0000] <jgraham> Philip`: It is being served as text/plain btw [08:37:01.0000] <Philip`> jgraham: Blame Dreamhost [08:37:02.0000] <jgraham> Dreamhost: it is being served as text/plain btw [08:37:03.0000] <Philip`> Also, can't you decode LZMA in your head? [08:38:00.0000] <jgraham> /me wonders what he needs to open that file [08:38:01.0000] <Philip`> 7zip [08:38:02.0000] <gsnedders|work> On a real OS? [08:39:00.0000] <Philip`> or a hex editor and the 7zip file format specification [08:39:01.0000] <Philip`> It might be called p7zip on some weirdo systems [08:41:00.0000] <jgraham> /me is sutiably impressed with it working in file-roller as soon as he installs the package [08:52:00.0000] <GPHemsley> Hixie: For the record, I second tjeddo's proposal of rel="citation" on <a> [08:52:01.0000] <Hixie> amount of support doesn't matter, only the strength of the arguments for or against :-) [08:53:00.0000] <GPHemsley> Hixie: Well, read the e-mail. :) [08:53:01.0000] <Hixie> will do :-) [09:23:00.0000] <zcorpan_> var x; try { importScripts('data:text/javascript,x=1','data:text/javascript,}'); } catch(e) {} [09:23:01.0000] <zcorpan_> x should be 1, right? [09:24:00.0000] <Hixie> i think so [09:24:01.0000] <Hixie> don't see what else it could be [09:24:02.0000] <zcorpan_> in firefox it's undefined [09:25:00.0000] <zcorpan_> maybe firefox joins the scripts together into one script and then compiles it all at once? [09:25:01.0000] <Hixie> seems unlikely, but you can test that theory easily [09:25:02.0000] <Hixie> split a script in two [09:26:00.0000] <Hixie> and see if it works [09:26:01.0000] <Hixie> e.g. var x; try { importScripts('data:text/javascript,x={','data:text/javascript,}'); } catch(e) {} [09:26:02.0000] <Dashiva> Maybe it detects parse errors in a separate stage, before executing anything [09:27:00.0000] <Hixie> also easy to test [09:27:01.0000] <Hixie> e.g. var x; try { importScripts('data:text/javascript,x=1','data:text/javascript,throw 0'); } catch(e) {} [09:28:00.0000] <gsnedders|work> Can someone change http://www.w3.org/Bugs/Public/show_bug.cgi?id=8143 to critical? (as it ought to get into html5lib 1.0) [09:28:01.0000] <Dashiva> Also, doesn't hurt to verify that the error is what you except :) [09:29:00.0000] <hober> zcorpan_: thanks [09:29:01.0000] <Dashiva> *expect [09:29:02.0000] <Philip`> Looking at the code, it loads (downloads/compiles) all the scripts, then verifies them all and aborts on failure, then executes them all [09:29:03.0000] <Hixie> gsnedders|work: ask MikeSmith to give you rights [09:29:04.0000] <Hixie> (i set it) [09:29:05.0000] <Philip`> (and aborts on the first one where execution fails) [09:29:06.0000] <Hixie> gsnedders|work: what's your deadline? [09:29:07.0000] <Hixie> gsnedders|work: i.e. how urgent is this [09:30:00.0000] <gsnedders|work> Hixie: By Friday [09:30:01.0000] <Hixie> k [09:30:02.0000] <Hixie> can you help me understand the problem? half my brain is listening to this meeting so i can't page in the entire parser model [09:30:03.0000] <zcorpan_> var x; try { importScripts('data:text/javascript,x={','data:text/javascript,}'); } catch(e) {} // x is undefined [09:31:00.0000] <zcorpan_> var x; try { importScripts('data:text/javascript,x=1','data:text/javascript,throw 0'); } catch(e) {} // x is 1 [09:31:01.0000] <gsnedders|work> Hixie: You had with the content model flags a EOF case there, now you don't [09:31:02.0000] <Hixie> zcorpan_: they yeah, they syntax check then compile [09:31:03.0000] <Hixie> zcorpan_: what does the spec say to do? [09:31:04.0000] <Philip`> gsnedders|work: Why can't you edit it? Bugzilla seems to indicate you have editbugs permission [09:31:05.0000] <Hixie> gsnedders|work: can you say that again in english and with more detail? assume i'm not paying attention. :-) [09:31:06.0000] <zcorpan_> Hixie: "For each argument in turn, in the order given, starting with the first one, run these substeps:" [09:32:00.0000] <Hixie> zcorpan_: file a bug on them :-) [09:32:01.0000] <gsnedders|work> Hixie: Hey, I have other work-work to do :) [09:33:00.0000] <MikeSmith> gsnedders|work: you should be able to set it yourself now [09:33:01.0000] <gsnedders|work> MikeSmith: Yeah, I appear to be able to now, thx [09:33:02.0000] <Dashiva> s/importScripts/importScript/ and the problem disappears ;) [09:34:00.0000] <gsnedders|work> Hixie: Basically, you read rawtext end tag name state, and eventually you have in temporary buffer "xmp", and then you hit EOF. When you hit EOF, we should have a case in that state in the parser which just reprocesses the EOF character in the data state [09:36:00.0000] <Hixie> gsnedders|work: oh you want the characters _not_ emitted? [09:36:01.0000] <gsnedders|work> Hixie: Yeah [09:36:02.0000] <gsnedders|work> Hixie: To match all browsers and the spec before you removed content model flags :) [09:38:00.0000] <Hixie> gsnedders|work: k, can do [09:39:00.0000] <gsnedders|work> Hixie: That's the only issue I've found caused by the content model flag removal, so congrats :) [09:40:00.0000] <Hixie> cool [09:42:00.0000] <Hixie> so "<style><" is the same as "<style><</style>", "<style></" is the same as "<style></</style>", "<style></s" is the same as "<style></style>", and "<style></stylex" is the same as "<style></style>", but "<style></stylex>" is the same as "<style></stylex></style>"? [09:42:01.0000] <Hixie> that seems weird [09:46:00.0000] <zcorpan_> surely content doesn't rely on characters not being emitted [09:47:00.0000] <zcorpan_> can't we do what's sane here? [09:47:01.0000] <gsnedders|work> We already have interop [09:47:02.0000] <gsnedders|work> It seems risky to change [09:47:03.0000] <zcorpan_> ok [09:48:00.0000] <zcorpan_> gsnedders|work: will you fix the html5lib tests? [09:48:01.0000] <gsnedders|work> zcorpan_: They already expect that behaviour because that's what the spec said before the content model flag was removed [09:48:02.0000] <zcorpan_> gsnedders|work: tests16.dat doesn't [09:48:03.0000] <gsnedders|work> zcorpan_: This doesn't effect script data modes [09:48:04.0000] <zcorpan_> oh [09:49:00.0000] <gsnedders|work> RCDATA and RAWTEXT [09:49:01.0000] <gsnedders|work> (Though I guess I probably take a look at script data too) [09:49:02.0000] <gsnedders|work> But yeah, I'll update them if need be [09:49:03.0000] <zcorpan_> so <script></s means <script></s</script> while <style></s means <style></style>? [09:49:04.0000] <gsnedders|work> That seems bad [09:49:05.0000] <gsnedders|work> I guess we should change script data too [09:56:00.0000] <Hixie> i'd much rather make the spec always return the full string unless the end tag was fully recognised [09:56:01.0000] <Hixie> i.e. same as the spec now except making EOF be a parse error [10:10:00.0000] <Hixie> gsnedders|work: i think i prefer the way the spec is now than what you're asking for [10:11:00.0000] <gsnedders|work> Hixie: It was deliberately changed to what I was asking for before the content model flag changes [10:12:00.0000] <gsnedders|work> Hixie: Changing it back just because you made a mistake in a zero-black-box changes change seems bad [10:12:01.0000] <Hixie> do you remember what convinced me that was a good idea? [10:12:02.0000] <gsnedders|work> No [10:12:03.0000] <Philip`> It must have been a good argument, else you wouldn't have changed it [10:13:00.0000] <Hixie> hard to argue that [10:13:01.0000] <Hixie> but without knowing what it was, maybe it no longer applies [10:13:02.0000] <Philip`> It doesn't matter what the argument actually was, it just matters that it exists [10:13:03.0000] <Lachy> JohnResig, yt? [10:13:04.0000] <Hixie> Philip`: it matters because it might have been predicated on assumptions that no longer apply [10:14:00.0000] <Hixie> Philip`: e.g. gsnedders might have bribed me to make one change, but without saying that i couldn't change it back, and so the argument would only work again if he bribed me again. [10:15:00.0000] <Lachy> JohnResig, join irc.w3.org:6665 channel #webapps if you want to catch the selectors api discussion soon [10:15:01.0000] <gsnedders|work> /me passes Hixie a wad (sp?) of cache [10:15:02.0000] <gsnedders|work> *cash [10:15:03.0000] <gsnedders|work> Silly homophones when I'm sleepy [10:58:00.0000] <Dashiva> "Consider removing X", with no rationale given. Smells like success. [11:03:00.0000] <Hixie> Dashiva: that's probably a bug i filed as a note to myself [11:03:01.0000] <Hixie> during a meeting [11:04:00.0000] <hsivonen> can't i18n use lang in n namespace instead of xml:lang in no namespace [11:05:00.0000] <hsivonen> @lang works already [11:10:00.0000] <Hixie> hsivonen: "it doesn't work in pure xml workflows, for example xpath's language support in xslt only looks at xml:lang in xml namespace" [11:11:00.0000] <tantek> what does "pure xml" mean? [11:12:00.0000] <hsivonen> Hixie: how does xml:lang in no namespace help, then? [11:13:00.0000] <AryehGregor> Presumably for treatment as a polyglot? [11:13:01.0000] <tantek> hsivonen, do we then also include xml:id[1] by the same reasoning? [1] http://www.w3.org/TR/xml-id/ [11:13:02.0000] <hsivonen> Hixie: they should be running the V.nu parser in the mode that maps lang in no namespace to lang in the http://www.w3.org/XML/1998/namespace namespace [11:13:03.0000] <hsivonen> tantek: what reasoning? [11:13:04.0000] <tantek> to include xml:lang [11:14:00.0000] <hsivonen> tantek: no, xml:id got voted off the island [11:14:01.0000] <tantek> and xml:lang did not? (for the same reasons) [11:14:02.0000] <hsivonen> tantek: xml:lang already got in [11:15:00.0000] <hsivonen> lang in the http://www.w3.org/XML/1998/namespace namespace that is [11:15:01.0000] <hsivonen> tantek: I think we shouldn't give into i18n on xml:lang in no namespace [11:15:02.0000] <tantek> hsivonen - that's my point. I think I am agreeing with your position. [11:16:00.0000] <hsivonen> xml:lang is so har to talk about (xml:lang in no namespace vs. lang in the http://www.w3.org/XML/1998/namespace namespace) [11:17:00.0000] <tantek> hsivonen - from a web authoring perspective, I'd prefer no form of "xml:lang" - just use "lang" as defined in HTML. [11:17:01.0000] <hsivonen> tantek: me too [11:18:00.0000] <hsivonen> tantek: but I still rpovide software that lets people write thei XML pipelines as if the were dealing with lang in the http://www.w3.org/XML/1998/namespace namespace when the source says lang="..." [11:18:01.0000] <hsivonen> *provide [11:18:02.0000] <hsivonen> *their [11:18:03.0000] <hsivonen> *they [11:18:04.0000] <hsivonen> typo++ [11:24:00.0000] <Hixie> hsivonen: they were saying they didn't want to serialise to text/html, they just wanted to output a polyglot document [11:24:01.0000] <Hixie> hsivonen: the argument against it, i think, would be to say that we don't want to encourage polyglot documents, but in that case we should also drop xmlns, />, etc [11:26:00.0000] <hsivonen> Hixie: I don't buy "don't want" as a strong reason [11:26:01.0000] <hsivonen> Hixie: is there a "can't" about using a text/html serializer? [11:27:00.0000] <Hixie> dunno, i didn't get into this much [11:28:00.0000] <hsivonen> I always wonder if people who say they want polyglot doc for XSLT/XPath have tried my XSLT4HTML sample app [11:30:00.0000] <Hixie> gsnedders|work: i'm gonna reject the bug for now, but let me know if you can find the reason why we changed it in the first place. [11:46:00.0000] <TabAtkins> What's shepazu's email address? [11:51:00.0000] <roc> "Doug Schepers" <schepers⊙wo>, [11:51:01.0000] <TabAtkins> Danke, roc. [11:54:00.0000] <Hixie> hsivonen: where did you see the language thing btw? [11:58:00.0000] <AryehGregor> TabAtkins, FWIW, I'm often not around in the day now (I'm at school), but I can respond when I get home if you leave a message. Also, BTW, your gradient syntax is awesome. [11:59:00.0000] <AryehGregor> background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#0AE), to(white)); background-image: linear-gradient(#0AE, white); <http://aryeh.name/css/main.css> [11:59:01.0000] <TabAtkins> AryehGregor: Heh, k. I couldn't recall if you knew any Hebrew, and we were having a discussion that could have used some experience with Hebrew typographic conventions yesterday in the csswg. [11:59:02.0000] <AryehGregor> Yes, I know Hebrew. [11:59:03.0000] <AryehGregor> What's the question? [12:00:00.0000] <TabAtkins> Okay, this is a touch confusing, so follow closely. [12:00:01.0000] <TabAtkins> You have an element. Half is in Latin, half is in Hebrew. (any rtl language would work, but Hebrew's the main one that comes to mind) [12:00:02.0000] <TabAtkins> You've got white-space:pre, overflow:hidden, and text-overflow:ellipsis. [12:01:00.0000] <MikeSmith> hsivonen: what's XSLT4HTML? [12:01:01.0000] <TabAtkins> The element is wide enough to contain all of the latin text, and only half of the hebrew text. [12:01:02.0000] <TabAtkins> What part of the hebrew text is rendered, what is cut off, and where is the ellipsis placed? [12:01:03.0000] <Philip`> MikeSmith: An HTML5 parser and an XSLT processor and an HTML5 serializer, if I rememberr correctly [12:01:04.0000] <Philip`> s/rr/r/ [12:01:05.0000] <AryehGregor> Well, I can give you an example. Look at my own website's <title> when the tab width is too small for all of it to display: http://aryeh.name/ [12:02:00.0000] <Philip`> in a handy command-line form [12:02:01.0000] <AryehGregor> Both Chrome and Firefox cut off the last logical word of the Hebrew, even though it would display further to the left normally. [12:02:02.0000] <roc> the first visual half of the Hebrew text (the second logical half) should be rendered, the rest cut off [12:02:03.0000] <AryehGregor> Chrome puts the ellipsis in the middle, between the RTL and LTR text, while Firefox 3.7 nightly puts it all the way to the right. [12:02:04.0000] <TabAtkins> The last *logical* word? So the part that's in the visual center of the span? [12:03:00.0000] <AryehGregor> Yes. [12:03:01.0000] <roc> Firefox doesn't support text-overflow [12:03:02.0000] <TabAtkins> roc: That's what I and others think is most reasonable/sane. [12:03:03.0000] <roc> our "Hebrew guy" agreed [12:03:04.0000] <roc> way back when we discussed this long ago [12:03:05.0000] <TabAtkins> roc: But some think that it's best to stick to logical order and have ellipses in the middle. Which makes things crazy. [12:03:06.0000] <roc> yes, it does [12:03:07.0000] <AryehGregor> Well, I would defer to an Israeli, since they read more mixed-text stuff than I do. [12:03:08.0000] <roc> crazy: bad [12:04:00.0000] <TabAtkins> We really want to make text-overflow a purely rendering-time construct, not something that gets applied during layout-time. [12:04:01.0000] <AryehGregor> roc, Firefox 3.7 doesn't seem to behave the way you describe for <title>s in tabs. [12:04:02.0000] <roc> TabAtkins: right [12:04:03.0000] <TabAtkins> You should just be able to layout text normally, then at render-time chop out the overflowing bits and swap an ellipsis in. [12:04:04.0000] <roc> AryehGregor: yeah, well that's different, and probably wrong [12:05:00.0000] <TabAtkins> We've established that browsers currently do things that are probably bad for text-overflow. [12:05:01.0000] <AryehGregor> I dunno, Chrome's behavior (truncate last logical word and put ellipsis in the visual middle) seems nicest to me. But it seems arguable. [12:05:02.0000] <roc> I'm quite sure that XUL's text-overflow-alike feature was not designed with the niceties of mixed-direction text in mind [12:06:00.0000] <TabAtkins> We had a similar example with hebrew first and latin second, and we all agreed that the first logical part of the Latin text should be cut off and ellipsized on the left side. [12:06:01.0000] <AryehGregor> Opera seems to act insane. I see only the two letters לע before the ellipsis, which aren't present anywhere consecutively in the text being truncated, either logically or visually. [12:06:02.0000] <AryehGregor> At least not in that order. [12:06:03.0000] <AryehGregor> TabAtkins, you mean when the dominant direction is RTL? Then why should it be different going the other way? [12:07:00.0000] <AryehGregor> /me concludes mixed-direction text is crazy, next question please [12:07:01.0000] <TabAtkins> Aryeh: Yes, the document was rtl. And it wouldn't be different - it would be the exact same behavior we *want* for hebrew being cut off in a ltr doc. [12:07:02.0000] <TabAtkins> And yes, bidi is crazy all over the place. [12:07:03.0000] <AryehGregor> Okay, the basic options are 1) truncate the last visual part, 2) truncate the last logical part. [12:07:04.0000] <TabAtkins> Yes. We want (1). [12:07:05.0000] <AryehGregor> Either makes sense, I guess, depends how you look at it. [12:07:06.0000] <AryehGregor> Okay, well, then you agree with Mozilla's Hebrew guy (who is he, BTW?), so then that's settled? [12:08:00.0000] <TabAtkins> Because (2) means that text-overflow affects layout directly, and most reasonably produce ellipses in the middle of the text. [12:08:01.0000] <AryehGregor> Yes. [12:08:02.0000] <TabAtkins> Aryeh: Yup, looks so. Woo! [12:08:03.0000] <jwalden> I'm guessing smontagu [12:08:04.0000] <TabAtkins> s/most/must/ [12:08:05.0000] <AryehGregor> That's what Chrome does in my tab, an ellipsis in the middle. I think it looks kind of cool. :) [12:09:00.0000] <AryehGregor> I'm not sure what "affects layout directly" means. [12:09:01.0000] <AryehGregor> Surely you have to at least know where letter and word boundaries are at the point where you do text-overflow. [12:11:00.0000] <TabAtkins> AryehGregor: In the examples I discussed, if there is no text-overflow, then the first logical part of the hebrew is cut off. Making it act differently when text-overflow:ellipsis is present would be it affecting layout. [12:12:00.0000] <TabAtkins> Yeah, you have to know about character/whatever boundaries to know how much to back off so you can put the ellipsis in, but that can be done at render-time and doesn't affect anything else. [12:12:01.0000] <roc> it means that elements, even elements other than text, can be moved by text-overflow [12:16:00.0000] <TabAtkins> Also, the (2) behavior is crazy when you mix it with overflow:scroll (which is already *wrong* in all browsers, but at least there's no question about how to fix that). [12:16:01.0000] <roc> it's also crazy when you resize [12:17:00.0000] <TabAtkins> Correct, basically identical issue. [12:17:01.0000] <TabAtkins> And without the crazy behavior that browsers currently give for text-overflow:ellipsis;overflow:scroll; [12:19:00.0000] <TabAtkins> Even worse: latin-hebrew-latin, with the element wide enough to cut halfway through the hebrew. I don't think it's possible to define a sane way to present that even ignoring scroll/resize with (2) behavior. [12:19:01.0000] <TabAtkins> If you did resize, you'd have to add hebrew into the middle of the text until it was done, then add latin back onto the end of the text. Crazy. [12:27:00.0000] <AryehGregor> I'm unclear about the XML entities discussion. Is it proposed that XHTML5 mandate processing of entities always, or only for certain old non-conforming doctypes? 2009-11-04 [17:55:00.0000] <JonathanNeal> So, the <header> element isn't necessary for the root <body> element, but can exist within <section> elements, is that right? [17:56:00.0000] <MikeSmith> JonathanNeal: yeah, it can be a child of a section [17:56:01.0000] <MikeSmith> and it's not required anywhere [17:57:00.0000] <JonathanNeal> Groovy, in the company-home demo, I noticed that the page's main navigation existed within the <header> element, is that recommended that the "global"-like navigation for a site exist within the <header> ? [18:25:00.0000] <JonathanNeal> Did that make sense. Maybe I asked the question poorly? [18:42:00.0000] <JonathanNeal> Either the question sucked, or MikeSmith took off. [18:43:00.0000] <MikeSmith> JonathanNeal: I'm still here [18:44:00.0000] <MikeSmith> just in a meeting at the moement [18:44:01.0000] <MikeSmith> moment [18:44:02.0000] <MikeSmith> what you describe sounds perfectly fine [18:45:00.0000] <MikeSmith> as far as the intended use of header and nav goes [18:45:01.0000] <MikeSmith> I think one of the examples in the spec actually does what you describe [18:46:00.0000] <MikeSmith> JonathanNeal: have you looked at the HTML5 spec itself? or are you working from one of the tutorials or articles? [18:46:01.0000] <MikeSmith> it's worth looking through the spec and the examples in it [18:46:02.0000] <JonathanNeal> I did, and I noticed a consistancy of the main <nav> being placed inside the <header> along with the <hgroup>/<h1>/etc [18:53:00.0000] <MikeSmith> JonathanNeal: that sounds the same as what you described above [18:56:00.0000] <JonathanNeal> Yes, basically ... the header inevitably contains my global heading, and I'm trying to intelligently group my outline, but the header element isn't part of the "outline algorithm", but navs do, but those navs don't have their own headers <h1> [18:56:01.0000] <MikeSmith> I see [18:58:00.0000] <JonathanNeal> <header><h1>My Site</h1><nav><ul><li>Page 1</li><li>Page 2</li></ul></header> ... trying to follow the spec, I don't feel sure whether or not I'm saying that the <nav> a piece of the <header> but has no outline itself, even an example with a <header> and <nav> @ http://www.whatwg.org/specs/web-apps/current-work/multipage/sections.html#the-header-element produces a headerless "section", per the description of a sectio [18:58:01.0000] <JonathanNeal> n. [19:01:00.0000] <JonathanNeal> Well, not to mention that the example doesn't have any closing </li>'s [19:03:00.0000] <JonathanNeal> Unless they're not required. I swear I'm American and educated, even though my sentences would indicate otherwise :-( [19:04:00.0000] <MikeSmith> JonathanNeal: the closing tags for <li> are not required in the HTML syntax [19:05:00.0000] <MikeSmith> they have never been required in the HTML syntax, since the very begining of HTML [19:05:01.0000] <MikeSmith> they are only required in XHTML [19:07:00.0000] <JonathanNeal> Oh, brilliant. I never knew that. Maybe this helps explain my problem @ http://gsnedders.html5.org/outliner/process.py?url=http%3A%2F%2Fsandbox.thewikies.com%2Fhtml5-outline-question [19:07:01.0000] <JonathanNeal> With the source @ http://sandbox.thewikies.com/html5-outline-question/ [19:09:00.0000] <MikeSmith> JonathanNeal: I have to drop off [19:09:01.0000] <MikeSmith> but you are asking in the right place [19:09:02.0000] <JonathanNeal> Okay, thanks for your time though. [19:09:03.0000] <MikeSmith> cheers [19:20:00.0000] <JonathanNeal> Hey, anybody else about? [19:24:00.0000] <jcranmer> nope, we're all dead [19:26:00.0000] <JonathanNeal> jcranmer, I'm sorry for your losses. [19:27:00.0000] <jcranmer> I'm not sorry for my loss [19:29:00.0000] <JonathanNeal> well, everyone else who died, apparently :-) [21:01:00.0000] <oojacoboo> so, are all you guys coding in strictly HTML5 now? [21:20:00.0000] <JonathanNeal> In an outline, is it okay to have untitled sections? Like in a <nav> ? [23:11:00.0000] <TabAtkins> JonathanNeal: Yeah, it is. You should generally try to avoid it, but there's nothing *wrong* with it. [23:29:00.0000] <TabAtkins> Can anyone point me to the quirks-mode flowchart? [23:49:00.0000] <jgraham> TabAtkins: Which quirks mode flowchart? There is an IE8-pecific one: http://hsivonen.iki.fi/doctype/ie8-mode.png [23:49:01.0000] <jgraham> *specific [23:50:00.0000] <TabAtkins> That's the one I was looking for, thanks. [00:32:00.0000] <erlehmann> jgraham, that thing makes me unhappy [00:43:00.0000] <hsivonen> erlehmann: and I haven't even added Chrome Frame to the flowchart yet [00:44:00.0000] <erlehmann> hsivonen, DONT [00:44:01.0000] <erlehmann> just dont [00:44:02.0000] <erlehmann> nuke redmond from orbit [00:45:00.0000] <erlehmann> its the only way to be sure [01:21:00.0000] <jgraham> erlehmann: It seems unfair to blame me :) [01:21:01.0000] <erlehmann> shoot the messenger :D [01:22:00.0000] <erlehmann> it worked in ye olde timeth [02:05:00.0000] <jgraham> /me is disappointed that no one has yet pointed out how close the <h1 src=""> proposal is to the <include> and <a include> proposals from 1993 that mpilgrim recently blogged [02:40:00.0000] <zcorpan_> hsivonen: the spoon feed bug is about the xml parser [02:40:01.0000] <zcorpan_> hsivonen: innerHTML says to feed the xml parser the string of a start tag and an end tag, iirc [02:51:00.0000] <hsivonen> zcorpan_: ok. oops. [02:54:00.0000] <zcorpan_> wow validator.w3.org seems to say that anything is valid html5 [02:54:01.0000] <zcorpan_> way to go [02:58:00.0000] <jgraham> def validate(document): return True [02:59:00.0000] <jgraham> why did that take hsivonen so long? [02:59:01.0000] <jgraham> I mean I know java is verbose, but even so... [02:59:02.0000] <jgraham> ;) [03:02:00.0000] <zcorpan_> now it's confirmed that html5 makes tag soup legal [03:02:01.0000] <zcorpan_> and D.E, too [03:03:00.0000] <jgraham> Hmm seems to wfm in that I get errors reported [03:03:01.0000] <jgraham> (using Text Field) [03:04:00.0000] <zcorpan_> you need detect automatically [03:05:00.0000] <zcorpan_> and a doctype that triggers html5 validation [03:06:00.0000] <jgraham> Erm, I may have been using validator.nu rahter than validator.w3.org. I lose. [03:08:00.0000] <krisives> hi all! [03:08:01.0000] <zcorpan_> hi krisives [03:08:02.0000] <krisives> Has anyone ever talked about private/public hashing for INPUT tags for HTML5 ? [03:09:00.0000] <krisives> I'm about to write out my idea into a blog post, but wanted to know if anyone else had started work or proposal on this type of thing [03:09:01.0000] <webben> krisives: Maybe ... what sort of hashing? for what? [03:09:02.0000] <zcorpan_> <input value=#> [03:10:00.0000] <krisives> Most people use Javascript right now to do client-side hashing of things like passwords [03:10:01.0000] <krisives> Like sending some salt and then doing MD5 in Javascript [03:10:02.0000] <krisives> To avoid sending the password over the wire [03:10:03.0000] <webben> right like this: http://drupal.org/node/36793 ? [03:11:00.0000] <krisives> I haven't seen that, but from scanning it sounds like what I'm talking about [03:11:01.0000] <krisives> I see it re-created all the time and thought it deserves a non-scripting solution [03:12:00.0000] <webben> I remember various discussion of hashing like http://www.blooberry.com/indexdot/html/tagpages/k/keygen.htm but I don't recall a discussion of singling out a field and converting it to a hash before sendng. [03:12:01.0000] <webben> ah ha [03:12:02.0000] <webben> krisives: http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-August/012385.html [03:12:03.0000] <webben> so yes, it has been discussed [03:13:00.0000] <krisives> one important thing is that it should be capable of doing salt [03:13:01.0000] <webben> so I guess search the archives for related discussion :) [03:13:02.0000] <Philip`> /me guesses that the conclusion of the discussion was "if you care about security at all, use HTTPS" [03:14:00.0000] <krisives> Thanks I'm reading the mailing list now [03:14:01.0000] <krisives> HTTPS is broken [03:14:02.0000] <Philip`> Less broken than HTTP :-) [03:14:03.0000] <krisives> I can sign PayPals cert... [03:14:04.0000] <krisives> Its obfustication now IMO [03:15:00.0000] <webben> HTTPS does mean you aren't sending unencrypted traffic over the wire. [03:15:01.0000] <webben> It just doesn't guarantee you aren't sending unencrypted traffic to the wrong destination. [03:15:02.0000] <webben> (in practice) [03:16:00.0000] <webben> so ... wouldn't one have the same problem with a salted password? [03:16:01.0000] <webben> /me is not a security expert, I should hasten to add. [03:19:00.0000] <Philip`> /me vaguely remembers the issues with fake cert signing simply being about MD5, which is easily solved by using better hashing algorithms (which already work perfectly well in HTTPS) [03:19:01.0000] <krisives> The failures aren't the same [03:20:00.0000] <krisives> When SSL fails you get the plain text password [03:20:01.0000] <krisives> (Because it was transmitted) [03:20:02.0000] <krisives> If this is broken you at best get a subset of what the password could have been, if you wasted enough FLOPS to break the hash [03:20:03.0000] <krisives> Which also assumes you busted the salting technique [03:21:00.0000] <Philip`> With HTTP, an attacker can easily intercept the response and send you a version of the HTML page that doesn't have the hashing enabled on the password input [03:21:01.0000] <Philip`> and so you type your password in and the attacker gets it in plain text [03:21:02.0000] <webben> krisives: But, if the endpoint is using (say) an MD5 hash to authenticate, and a middleman grabs your MD5 hash, can't the middleman use that to authenticate? [03:21:03.0000] <krisives> Philip`: You can't use old technology to justify not creating new technology [03:22:00.0000] <webben> krisives: You can if the proposed new technology doesn't solve problems the old one doesn't. [03:22:01.0000] <webben> *old one does. [03:22:02.0000] <webben> or doesn't solve any new problems. [03:22:03.0000] <krisives> webben: In my proposal the salt would actually not be transmitted over the wire but would be a truely private key, such as when the user registered [03:23:00.0000] <webben> krisives: what would be sent over the wire? what would prevent a middleman sending the same thing over the wire? [03:23:01.0000] <krisives> Philip`'s scenario would keep the new technology from being created because the old technology can enable a flaw. The old (unsecure) tech should be deprecated [03:24:00.0000] <krisives> webben: All that would be sent over the wire is a hash of the INPUT data and a salt [03:33:00.0000] <Philip`> krisives: It would keep new technology from being created when its purpose is undermined by flaws in the current technology that it relies on and that hasn't been replaced yet [03:35:00.0000] <krisives> I think you're on a logically slippery slope there [03:36:00.0000] <gsnedders|work> /me falls flat on his face [03:37:00.0000] <krisives> A neat solution for that attack would be to force the salt to be based on the content delivered [03:37:01.0000] <krisives> (or part of a composite salt) [03:38:00.0000] <krisives> So the server delivers you content and saves the salt of the content delivered in server session for later verification [03:41:00.0000] <Philip`> What is "the content"? [03:42:00.0000] <krisives> the document [03:42:01.0000] <Philip`> If you're using an insecure protocol like HTTP, the attacker could just replace the content of an external script that your page includes, to make it send the user's password to them [03:42:02.0000] <Philip`> even if the page itself can't change [03:43:00.0000] <krisives> By "replace the content of an external script", do you mean change a script on my host? [03:44:00.0000] <Philip`> I mean change the content delivered to the user in response to their request for the script [03:45:00.0000] <Philip`> (as a MITM attack) [03:46:00.0000] <krisives> The hashing wouldn't be done in a script [03:46:01.0000] <krisives> Thats the point of this "proposal" [03:47:00.0000] <Philip`> I mean change the script to do "onload = function () { document.getElementById('hashed-password').removeAttribute('hash'); }" or similar [03:48:00.0000] <Philip`> so that the user's browser won't hash the password [03:49:00.0000] <krisives> And instead submit to the attacker [03:49:01.0000] <Philip`> Yes, or send it unencrypted to the original server so the attacker can read it, or whatever [03:50:00.0000] <Philip`> (I'm assuming the attacker can read and modify all unencrypted content passing between the client and server) [03:51:00.0000] <Dashiva> If the attacker can control the content, you've already lost [03:53:00.0000] <Philip`> Not really, because you can use encryption to know that you're talking to the server and not the attacker [03:53:01.0000] <Philip`> but it seems unlikely to work unless the entire session is encrypted [03:54:00.0000] <Philip`> (and also you need some way to verify identities of servers, which doesn't work so well nowadays) [03:55:00.0000] <krisives> If something like this was adopted I would expect browsers to warn when sending unencrypted passwords more violently [03:55:01.0000] <zcorpan_> if you care about security, you should hand over the password in person [03:55:02.0000] <krisives> Or deprecated/remove the behaviour [03:56:00.0000] <Dashiva> Philip`: How can you verify anything when the attacker can just MITM anything? [03:56:01.0000] <Philip`> Dashiva: The attacker can't MITM anything, unless they put your brain in a vat and control all your sensory inputs [03:56:02.0000] <Dashiva> Any client-side code is provided by the attacker [03:56:03.0000] <krisives> Either way I find it hard to justify keeping the behaviour of sending the password as (obfusticated) text [03:57:00.0000] <Dashiva> Philip`: They can MITM anything on the client end of the browsing session [04:00:00.0000] <Philip`> Dashiva: They can MITM your internet connections for some period of time, but it's reasonable to assume that e.g. they didn't alter your installation of CD of Windows, and that means they didn't alter your OS's root certificate store, and you assume they didn't get Microsoft to install fake certificates, etc [04:00:01.0000] <Philip`> s/of CD/CD/ [04:00:02.0000] <Dashiva> Philip`: Unsecure connection was a premise here, wasn't it? [04:00:03.0000] <Philip`> and you assume certificate authorities are perfect [04:01:00.0000] <krisives> I understand where everyone is going with this, but does it really justify continuing to send passwords as obfuscated plain text ? [04:02:00.0000] <Philip`> Dashiva: I think the premise was a combination of insecure and secure parts of the connection (e.g. sending the password 'securely') [04:02:01.0000] <Dashiva> I thought the premise was trying to do secure communication on an insecure connection [04:03:00.0000] <Philip`> TCP is an insecure connection but you can do secure communication over it using SSL [04:03:01.0000] <Dashiva> Because you control the code on your endpoint [04:03:02.0000] <krisives> Dashiva: Philip` believes that a more secure password authentication that doesn't send the password over the wire, and instead sends a hash, is not worth having because the MITM can just rely on deprecated behaviour [04:03:03.0000] <Dashiva> With a webpage, you're using code provided by an unknown party [04:04:00.0000] <krisives> Philip`: I remind you again that SSL is broken [04:04:01.0000] <Philip`> krisives: I don't think it justifies that, but I think the point is it doesn't justify spending effort on a solution that doesn't actually solve the problem in practice (due to flaws in the underlying technology) - the effort would be better spent on a solution that has a much better chance of working and isn't fundamentally broken, like SSL [04:05:00.0000] <krisives> I disagree, because we'll be putting faith once again in another technology like SSL, that when/if broken will give access to plaintext passwords again. [04:05:01.0000] <Philip`> (Uh, I mean that something like SSL isn't fundamentally broken) [04:05:02.0000] <Philip`> (and didn't mean to imply the opposite) [04:06:00.0000] <Philip`> Dashiva: You're using code provided by your favourite browser vendor, who might be able to implement features that ensure communication is secure [04:06:01.0000] <Philip`> in theory [04:07:00.0000] <Philip`> (though in practice there's so much flexibility allowed to scripts that the only solution that seems feasible is to encrypt the entire session) [04:08:00.0000] <zcorpan_> maybe the attacker could modify the browser and push it onto the user with autoupdate [04:08:01.0000] <krisives> Again though, "doesn't actually solve the problem in practice" only because of deprecated old technology [04:09:00.0000] <Philip`> "deprecated old technology" is what exists in practice so we have to deal with it :-) [04:09:01.0000] <Philip`> zcorpan_: Autoupdates are signed [04:09:02.0000] <Philip`> or at least I hope they are, because browser developers can't be idiots [04:10:00.0000] <Philip`> so they're guaranteed to be safe by the person who you originally trusted to download the browser from [04:11:00.0000] <gsnedders|work> Philip`: I'm an idiot. [04:11:01.0000] <Philip`> gsnedders|work: I mean collectively, not each individual [04:12:00.0000] <krisives> /me is probably dumber [04:12:01.0000] <krisives> STUPID WAR! [04:15:00.0000] <zcorpan_> gsnedders|work: you're not a browser developer [04:15:01.0000] <gsnedders|work> zcorpan_: True. [04:15:02.0000] <gsnedders|work> zcorpan_: I just find their mistakes. [04:17:00.0000] <zcorpan_> have you found any autoupdate mistakes? [04:17:01.0000] <gsnedders|work> YEs [04:17:02.0000] <gsnedders|work> *Yes [04:19:00.0000] <Philip`> Were you responsible for finding the mistake that autoupdate didn't exist? [04:21:00.0000] <gsnedders|work> No [04:21:01.0000] <Philip`> I suppose that was a subtle one and easy to miss [04:30:00.0000] <jgraham> Philip`: He didn't say he missed it just that he didn't have responsibility for noticing it [06:47:00.0000] <gsnedders|work> /me decides on domain for his new website [06:48:00.0000] <Rik`> gsnedders|work: someone told me that your outliner should give hints about where are "Untitled sections" [06:49:00.0000] <gsnedders|work> Rik`: I have plans to deal with a lot of the ambiguity. It just so happens that it also involves rewriting the entire thing :) [06:51:00.0000] <gsnedders|work> Rik`: And it also means being careful in IE about infinite loops :( [06:51:01.0000] <Rik`> in IE ? [06:52:00.0000] <gsnedders|work> Rik`: New impl will be JS based [06:52:01.0000] <Rik`> oh [06:52:02.0000] <gsnedders|work> Rik`: IE can create circular DOMs. [06:52:03.0000] <Rik`> why JS based ? [06:53:00.0000] <gsnedders|work> Rik`: A lot of the features people have been asking for are very hard to do without modifying the source document in some way, or are only possible with scripting that can touch that document [06:54:00.0000] <Rik`> I can has a textarea to copy/paste ? [06:54:01.0000] <gsnedders|work> Rik`: Yeah, I guess I'll allow that [06:56:00.0000] <zcorpan_> gsnedders|work: there's a js implementation already [06:56:01.0000] <Rik`> thanks ! :) [06:57:00.0000] <gsnedders|work> zcorpan_: But does it have an über-cool UI? [06:57:01.0000] <zcorpan_> gsnedders|work: no [06:57:02.0000] <zcorpan_> but you can implement your own ui for it [06:58:00.0000] <gsnedders|work> zcorpan_: Where is the impl? [07:00:00.0000] <zcorpan_> gsnedders|work: http://d.hatena.ne.jp/amachang/20090915/1252999677 [07:02:00.0000] <jgraham> zcorpan_: No licensing information that I can see [07:03:00.0000] <gsnedders|work> zcorpan_: Also, IRC logs from before have me concluding that doesn't protect itself from IE [07:04:00.0000] <gsnedders|work> Also: I want decent blog software [07:04:01.0000] <zcorpan_> who cares about ie [07:04:02.0000] <zcorpan_> gsnedders|work: me too, and a pony [07:05:00.0000] <gsnedders|work> Habari claims to include a pony, but it still isn't decent. [07:05:01.0000] <jgraham> /me doesn't want a pony [07:05:02.0000] <gsnedders|work> (but is nevertheless used on gsnedders.com) [07:05:03.0000] <gsnedders|work> (but is PHP and so is evil) [07:05:04.0000] <jgraham> They seem like a lot of effort to look after and in any case I am probably too tall to ride one [07:05:05.0000] <gsnedders|work> (w00t for languages without Unicode support) [07:06:00.0000] <jgraham> So it seems like it would mostly be a drag [07:06:01.0000] <jgraham> After the initial cuteness wore off [07:06:02.0000] <gsnedders|work> /me thinks, then realizes it was a horse he rode a couple of years back [07:34:00.0000] <hsivonen> /me reads Noah Mendelsohn's slides [07:34:01.0000] <hsivonen> no 'con' about proprietary lock-in [07:35:00.0000] <hsivonen> also, is the implied assumption that HTML, SVG and Math WGs shouldn't have to coordinate? [07:36:00.0000] <annevk2> not sure [07:36:01.0000] <annevk2> I wonder how that panel will go [07:36:02.0000] <annevk2> starts in an hour [07:38:00.0000] <hsivonen> not many people on #tpac [07:38:01.0000] <hsivonen> is the session going to be IRC-minuted [07:40:00.0000] <annevk2> there's #tpac, #tp, and #tpac09 [07:40:01.0000] <annevk2> #tpac seems most popular but only #tp has a topic [07:41:00.0000] <annevk2> not sure about minutes, but given how things went last year I'd assume so [07:41:01.0000] <annevk2> last year there was a live video channel as well I think [07:41:02.0000] <Dashiva> There were some sessions minuted in #webapps [07:44:00.0000] <hsivonen> I'm always puzzled when W3C specs like SVG and MathML are put forward as decentralized extensions without coordination [07:44:01.0000] <hsivonen> surely they are centralized at the W3C and should be coordinated [07:45:00.0000] <hsivonen> annevk2: thanks. I joined all those channel [07:45:01.0000] <hsivonen> s [07:45:02.0000] <hsivonen> I didn't find a link to a video or audio feed [07:46:00.0000] <annevk2> me neither [07:46:01.0000] <annevk2> I'm sure some more W3C staff will be around on IRC later [07:46:02.0000] <annevk2> they can prolly help out [07:46:03.0000] <gsnedders|work> I don't think there was any video last year [07:47:00.0000] <gsnedders|work> (And if there was, I guess it was incomplete due to losing power during the keynote) [07:47:01.0000] <hsivonen> I've been to a TPAC where there was audio and the captioner couldn't keep up with TimBL [07:48:00.0000] <gsnedders|work> 07, no? [07:49:00.0000] <hsivonen> maybe [14:20:00.0000] <gsnedders> Hmm, debit card failing, yet bank says it is still active. [14:38:00.0000] <dglazkov> have we pulled datagrid from html5? [14:38:01.0000] <dglazkov> is it gone-gone or just moved to another spec? [14:38:02.0000] <annevk2> it was commented out [14:38:03.0000] <annevk2> it was not stable enough [14:38:04.0000] <annevk2> I believe dhyatt is toying with an alternate design for it [14:39:00.0000] <dglazkov> annevk2: good to know. [14:40:00.0000] <dglazkov> thanks [14:41:00.0000] <JonathanNeal> So it's commented out of the html5 spec? [14:43:00.0000] <annevk2> yes [14:43:01.0000] <annevk2> maybe it is no longer in the source either; I forgot [14:44:00.0000] <annevk2> it's still there [14:44:01.0000] <annevk2> v2datagrid 2009-11-05 [16:00:00.0000] <MikeSmith> hendry: you there? [16:00:01.0000] <MikeSmith> I wanted to ask about the sed expression in your vim validator script [16:00:02.0000] <MikeSmith> what the purpose of it is [16:30:00.0000] <annevk2> Hixie, do you know anyone that looked at http://www.w3.org/2005/Incubator/MashSSL/charter ? [16:50:00.0000] <annevk2> hmm, I still don't see how http://sites.google.com/site/guestxhr/maciej-challenge works [16:51:00.0000] <abarth> Hixie: there isn't an allow-plugins for @sandbox? [16:51:01.0000] <annevk2> oh, hmm [17:50:00.0000] <ojan> anyone know the state of the css3 paged media spec? [17:50:01.0000] <ojan> are the editors still working on it? [17:52:00.0000] <annevk2> to some extent, I think [17:52:01.0000] <MikeSmith> https://bug-21288-attachments.webkit.org/attachment.cgi?id=42473 [17:52:02.0000] <MikeSmith> https://bugs.webkit.org/show_bug.cgi?id=21288 [17:57:00.0000] <AryehGregor> Isn't the web lovely, where you have to have a separate domain for every attachment to get any kind of security. [17:58:00.0000] <GPHemsley> :P [18:05:00.0000] <ojan> annevk2: thx. we're getting requests to implement parts of it and trying to evaluate which parts make sense to move forward with [18:08:00.0000] <ojan> /me still gets confused which mailing lists, etc to use for what specs. [18:11:00.0000] <annevk2> ojan, www-style [18:11:01.0000] <ojan> annevk2: heh. that seems obvious in retrospect [18:12:00.0000] <othermaciej> annevk2: I think CORS should document the "Don't Be a Deputy" programming discipline in the Security Considerations section [18:12:01.0000] <othermaciej> annevk2: (maybe after people have had a chance to review it to see if it is sound) [18:13:00.0000] <annevk2> I agree [18:13:01.0000] <annevk2> we should have some of your diagrams as well to introduce the problem space [18:15:00.0000] <abarth> i don't understand the allow-same-origin directive of the sandbox attribute [18:16:00.0000] <abarth> if we allow-same-origin, can't the frame just remove the sandbox attribute altogether? [18:16:01.0000] <abarth> Hixie: ^^^ [18:17:00.0000] <abarth> oh, i see [18:17:01.0000] <abarth> scripting will be disabled [18:17:02.0000] <abarth> i'm not used to thinking about a world without script..... ignore me :) [18:18:00.0000] <othermaciej> abarth: did you see Mike+Tyler's GuestXHR-based cross-site access proposal, and my comments on it? [18:18:01.0000] <abarth> not yet, but i'll look at it now [18:18:02.0000] <othermaciej> abarth: would appreciate sanity check on the latter and analysis on the former [18:18:03.0000] <abarth> i got excited by the sandbox attribute patch for webkit [18:18:04.0000] <othermaciej> there's a sandbox attribute patch for WebKit? [18:18:05.0000] <othermaciej> hot! [18:19:00.0000] <othermaciej> pointer? [18:19:01.0000] <abarth> othermaciej: https://bugs.webkit.org/show_bug.cgi?id=21288 [18:19:02.0000] <abarth> i don't know the contributor [18:19:03.0000] <abarth> the patch is quite good [18:19:04.0000] <abarth> although some details can be improved [18:28:00.0000] <abarth> othermaciej: i like point 6 of your argument [18:29:00.0000] <abarth> his argue is basically that by providing developers less rope, we hope they'll build bridges out of steel instead of hanging themselves [18:29:01.0000] <othermaciej> abarth: it was more a series of comments than an argument, but thanks [18:30:00.0000] <othermaciej> abarth: another thing I thought of - if you have CORS it's easier to make the shared secret be time-limited or use-limited without violating the "AJAX UI" requirement, thus further mitigating the risk of revealing it [18:31:00.0000] <abarth> i don't think guest XHR handles the basic use case of "almost public" data, like timely stock ticker information that might be licensed for use only for certain sites [18:32:00.0000] <abarth> e.g., if Google Finance lets Acme Finance CORS+XHR for timely stock ticker data by checking the Origin [18:32:01.0000] <abarth> in a guest XHR world, ACME needs to either proxy [18:32:02.0000] <abarth> or talk to Google on the back end [18:33:00.0000] <abarth> this scenario is interesting because it doesn't fit our usual notions of confidentiality because [18:33:01.0000] <abarth> an attacker can always proxy the information from the main Google Finance site [18:34:00.0000] <abarth> but that's different than access the data directly from the user's browser [18:35:00.0000] <othermaciej> GuesXHR could handle that by having a pre-arranged shared secret between Google Finance and Acme Finance [18:36:00.0000] <othermaciej> actually I guess not, since to avoid revealing it you need to use server-to-server communication either to actually get the data or to generate a one-time token for the client side [18:36:01.0000] <abarth> yes [18:36:02.0000] <abarth> you can do it with crypto [18:36:03.0000] <abarth> by using the long-lived key to mac a sequence number or something [18:37:00.0000] <othermaciej> true [18:37:01.0000] <abarth> ok, let me think about his protocol [18:38:00.0000] <othermaciej> his protocol does have a flaw which I'm not sure can be easily fixed, which is putting the shared secret in a URL [18:38:01.0000] <abarth> in earlier designs, he's used the fragment identifier for that [18:38:02.0000] <abarth> and cleared the fragment using javascript [18:39:00.0000] <othermaciej> I'm not sure that prevents all the ways the secret-bearing URL might get leaked [18:39:01.0000] <othermaciej> (e.g. browser history sync) [18:39:02.0000] <abarth> http://w2spconf.com/2008/papers/s4p2.pdf [18:40:00.0000] <abarth> the /grant URL in this protocol [18:40:01.0000] <abarth> needs to be protected from CSRF [18:40:02.0000] <abarth> otherwise the attacker can cause A to grant to whatever B he likes [18:41:00.0000] <othermaciej> abarth: the "got" URL needs to be protected from CSRF too [18:41:01.0000] <othermaciej> or an attacker can overwrite A's valid key [18:41:02.0000] <othermaciej> and since the "got" URL is actually accessed cross-site, that requires an Origin check or a pre-arranged shared secret [18:42:00.0000] <othermaciej> er, an attacker can overwrite *B*'s valid key (to A) [18:42:01.0000] <abarth> i don't understand how to prevent that [18:42:02.0000] <abarth> how does B distinguish A from the attacker? [18:43:00.0000] <othermaciej> it can distinguish A from an attacker by looking at the Cookie (indicating a valid A user in an actual browser) and the Origin header [18:43:01.0000] <othermaciej> or by having a pre-arranged shared secret with B that must be included with all "got" requests [18:43:02.0000] <abarth> i don't see how the cookie helps [18:43:03.0000] <abarth> B gets B's cookies, not A's [18:44:00.0000] <abarth> we're imagining a world without Origin [18:44:01.0000] <othermaciej> the user would have to be logged into B for this to work [18:44:02.0000] <abarth> so we can't use that [18:44:03.0000] <othermaciej> right, that's why I dismiss the Origin-based defense [18:44:04.0000] <othermaciej> which leaves only a pre-arranged shared secret [18:44:05.0000] <abarth> so, that means this isn't the whole protocol [18:45:00.0000] <abarth> presumably you can't use a long-lived secret [18:45:01.0000] <abarth> because it bounces to the client [18:45:02.0000] <othermaciej> well, the protocol as specified appears to have a CSRF vulnerability [18:45:03.0000] <abarth> and the attacker can learn it by being the client in one instance [18:45:04.0000] <abarth> he'll say that grant is protected [18:45:05.0000] <abarth> because of the s=.... [18:45:06.0000] <abarth> part [18:45:07.0000] <abarth> but I don't see how got is protected based on the diagram [18:46:00.0000] <abarth> also, the protocol violates the HTTP spec [18:46:01.0000] <othermaciej> true, it can't be a long-lived secret, it would have to be arranged between A and B on demand [18:46:02.0000] <abarth> because a GET request is changing state on server B [18:46:03.0000] <abarth> so that would have to be a POST [18:46:04.0000] <othermaciej> true [18:46:05.0000] <abarth> which means the redirect would have to be a 307 [18:46:06.0000] <abarth> which means a dialog in Firefox [18:47:00.0000] <abarth> and that [18:47:01.0000] <abarth> it doesn't work at all in Safari [18:47:02.0000] <othermaciej> and that would reveal the contents of the form submitted to B [18:47:03.0000] <othermaciej> 307 does work in Safari at least with WebKit ToT [18:47:04.0000] <othermaciej> (not sure if it does in shipping) [18:47:05.0000] <abarth> oh, nice [18:47:06.0000] <othermaciej> you should send any comments to the list that I didn't already send in one of my many emails [18:47:07.0000] <abarth> ok, will do [18:47:08.0000] <abarth> collin is here, i'll ask him to look at it too [18:48:00.0000] <othermaciej> in particular I claimed the CSRF vulnerability on "got" is patchable with a pre-arranged shared secret, but as you pointed out, you can't use a long-lived shared secret [18:48:01.0000] <abarth> then why not transfer secret123 on the back end? [18:49:00.0000] <othermaciej> the requirements he's trying to satisfy include "no server-to-server communication required" [18:50:00.0000] <othermaciej> (and also "no bilateral prior arrangement between the servers such as a pre-arranged shared secret") [18:50:01.0000] <othermaciej> I'm not sure this protocol can be patched to fix the CSRF and still meet those requirements, without using Origin somewhere [18:51:00.0000] <abarth> You probably can do it by bouncing requests back to A to make sure it wanted to send the got request [18:51:01.0000] <abarth> you need something like the 4-way handshake in 802.11i [18:51:02.0000] <abarth> or NSL with a final confirmation message [18:52:00.0000] <abarth> is probably the better way to think about it [18:52:01.0000] <othermaciej> I'm not familiar with the protocols you refer to but it sounds plausible [18:53:00.0000] <othermaciej> all right, I'm gonna head out for now but I'll be back online later [18:53:01.0000] <abarth> i'll send an email to the list with citations [18:53:02.0000] <abarth> ttyl [19:52:00.0000] <othermaciej> hi all [19:58:00.0000] <gsnedders> Because I couldn't quite resist: http://thereshouldbenored.com/ [20:01:00.0000] <othermaciej> ? [20:02:00.0000] <gsnedders> Just look at the page. If there's one thing I had to do with that domain, at least temporarily, that is it. [20:03:00.0000] <othermaciej> I can see that the page is red [20:03:01.0000] <othermaciej> but I don't get it [20:03:02.0000] <othermaciej> oh [20:03:03.0000] <othermaciej> CSS test case joke? [20:03:04.0000] <gsnedders> Not really [20:03:05.0000] <gsnedders> Well, yeah [20:03:06.0000] <gsnedders> But not really specifically CSS [20:44:00.0000] <cedricv> gsnedders: hehe funny, but there should be no title either no? [22:06:00.0000] <JonathanNeal> Hi everybody \o/ [00:27:00.0000] <zcorpan> is the plan for mathml to drop support for xlink:href at some point? [05:44:00.0000] <Philip`> Dashiva: You know it's an automatic namespace file because you load it as part of the automatic namespace file loading process [05:44:01.0000] <Philip`> so it's the same as how you know an image is an image when loading it in <img> [05:45:00.0000] <Dashiva> But it could contain other contents [05:45:01.0000] <Dashiva> Images require sniffing, after all [05:46:00.0000] <Philip`> So you sniff it based on the element names [05:46:01.0000] <Dashiva> But surely a new technology shouldn't require sniffing [05:46:02.0000] <Dashiva> Especially not one based on XML [05:46:03.0000] <Philip`> If it's got <ns><element><name>... then you process it, otherwise you ignore unexpected elements [05:48:00.0000] <zcorpan_> you don't need to sniff, you can just try to apply it and if it fails (because it contains something else), ignore it (or whatever error handling is defined) [05:48:01.0000] <Philip`> Dashiva: So you're advocating in favour of using namespaces everywhere, even when they're not needed for their practical benefits like mixing independently-developed vocabularies? [05:49:00.0000] <Dashiva> The contents might be XML that happens to use <ns> and <element> and such without being a ns file [05:49:01.0000] <Philip`> (or for benefits like backward compatibility with existing content and specs etc) [05:50:00.0000] <Philip`> Dashiva: Why is that a problem, other than being a security risk? [05:50:01.0000] <Dashiva> Isn't that problem enough in itself? [05:50:02.0000] <Philip`> No [05:51:00.0000] <Philip`> It's no more of a problem than a text file that happens to be a valid PNG, and I might use it in <img> on my page and it could display something unintentionally rude [05:51:01.0000] <Dashiva> It would also be problematic to handle those files with generic XML tools, when you don't access the file via an explicit reference as a ns file [05:51:02.0000] <Dashiva> Philip`: No, it's worse [05:51:03.0000] <Dashiva> It might turn a bogus:script element into xhtml:script [05:52:00.0000] <Philip`> If I don't want it to be processed in that way, and/or don't trust the server it's hosted on, then I don't include an explicit link to it from my page [05:52:01.0000] <Dashiva> And maybe bogus:script is just example code, not intended to actually be run [05:53:00.0000] <Dashiva> Philip`: But the proposal practically begs people to link other people's ns files, to avoid recreating everything themselves [05:53:01.0000] <Philip`> Dashiva: Extensibility is centralized in practice, so they'd just link to w3.org, and everyone trusts the W3C already [05:54:00.0000] <Dashiva> But if everyone's going to use the same file we should just skip the file completely [05:54:01.0000] <Philip`> unless you're IBM and you host a copy yourself [05:55:00.0000] <Philip`> Dashiva: http://www.w3.org/2009/Talks/08-quin-balisage-namespaces/ does suggest skipping the file and having a default be supplied by the application [05:57:00.0000] <Dashiva> And then we're just one step away from letting the default be supplied by the specification [05:57:01.0000] <Dashiva> Coming full circle to <svg> in HTML5 [05:58:00.0000] <Philip`> Indeed, except it's in XML not HTML [05:58:01.0000] <Philip`> and there's a syntax for expressing the <svg> etc rules, which generic XML processors could use [06:00:00.0000] <Philip`> (and the rules just get applied when parsing, so there's no need to complicate the internals of applications so they handle context-sensitive semantics of elements, since it just sees the normal namespaceURI/localName that everyone loves) [06:00:01.0000] <Dashiva> Although we skipped this part: <Dashiva> It would also be problematic to handle those files with generic XML tools, when you don't access the file via an explicit reference as a ns file [06:01:00.0000] <Philip`> You pass a reference to the ns file as an extra argument to the parser [06:01:01.0000] <Dashiva> No, the ns file itself [06:01:02.0000] <Philip`> You pass a reference to the ns file as an extra argument to the parser and it downloads the file itself [06:02:00.0000] <Philip`> or you pass the file itself to it [06:02:01.0000] <Philip`> although I'm probably confused [06:02:02.0000] <Dashiva> Just processing ns file as a standalone XML file, for editing or XSLT presentation or whatnot. [06:02:03.0000] <jgraham> /me isn't reading but solutions that rely on extra files, particularly ones that have to be fetched across the network, for interpretation are bad [06:02:04.0000] <Philip`> Do you mean processing the ns files in isolation, just as plain standalone XML files? [06:03:00.0000] <jgraham> So browsers would have to use the built-in file approach [06:03:01.0000] <Philip`> There's zillions of unnamespaced XML formats in the world and tools must work fine with them [06:03:02.0000] <Dashiva> jgraham: We covered that part, apparently the files won't really exist in practice [06:03:03.0000] <Dashiva> Oh, they work, but you lose the knowledge of what the file is [06:03:04.0000] <Philip`> X3D made a whole ISO standard without bothering with a namespace [06:04:00.0000] <jgraham> Dashiva: The proposal explicitly says that they will exist at some level as it vaugely mentions browsers updating them once a year [06:04:01.0000] <Dashiva> jgraham: Even those files are purely internal, so they'll probably be optimized away [06:05:00.0000] <AryehGregor> The proposal looks to me like "Okay, let's basically do what HTML5 is doing with namespaces, except in a way that lets non-browsers be told how to handle stuff in a standard fashion without needing to know about HTML specifically." [06:05:01.0000] <Philip`> Perhaps you could view it as a way of encoding http://whatwg.org/html5#parsing-main-inforeign and related rules in an easily-understandable easily-modifiable declarative format [06:05:02.0000] <jgraham> Right so the file "exists" insofar as it is expected to be an independently modifiable part of the browser [06:06:00.0000] <Philip`> so it can be extended without having to dive into the huge complexity of the HTML5 parsing algorithm [06:06:01.0000] <AryehGregor> Incidentally, I like how this page has all the visual annoyance of framesets without the ability to right-click and open the actual content in its own page. [06:06:02.0000] <Dashiva> It kinda ruins the extensibility part, though [06:06:03.0000] <jgraham> But I haven't yet worked out whether that is actually a sensible idea or not. Say html6 invents some new elements. Is it good or necessary to update existing browsers [06:06:04.0000] <Philip`> /me needs to be very careful when talking about parsing because his 'p' key intermittently fails to work [06:06:05.0000] <jgraham> ? [06:06:06.0000] <Dashiva> Since it has to hardcode every element name and attribute name [06:06:07.0000] <AryehGregor> No, because for extensibility you provide an explicit file. [06:07:00.0000] <Philip`> AryehGregor: I just disabled stylesheets on that page [06:07:01.0000] <AryehGregor> I mean, for distributed extensibility. [06:07:02.0000] <AryehGregor> For centralized extensibility it can be hardcoded, avoiding exposure of namespaces to authors. [06:07:03.0000] <Dashiva> AryehGregor: So in practice a certain fraction of authors will have to deal with two kinds of namespaces at once [06:07:04.0000] <jgraham> (or alternatively let's assume that HTML6 allows direct embedding of some fictional Midi Markup Language) [06:08:00.0000] <AryehGregor> Dashiva, no, because no one will actually use decentralized extensibility. [06:08:01.0000] <Dashiva> AryehGregor: We don't actually say that out loud [06:08:02.0000] <jgraham> What are the advantages of putting MML elements in the right namespace in some fraction of existing browsers where MML doesn't work anyway [06:08:03.0000] <AryehGregor> I thought we can in the #whatwg cabal, we only have to be diplomatic on public-html. [06:09:00.0000] <AryehGregor> /me reads the proposal [06:09:01.0000] <Dashiva> AryehGregor: lastweek is watching! [06:09:02.0000] <gsnedders|work> AryehGregor: AFAIK MLW hasn't added you to the cabal [06:09:03.0000] <AryehGregor> :( [06:09:04.0000] <Dashiva> You can have my spot, AryehGregor [06:09:05.0000] <Dashiva> I'm really too much of an outsider to be part anyhow [06:10:00.0000] <gsnedders|work> Dashiva just lurks around here and distracts us [06:10:01.0000] <Dashiva> I'm not even employed by a browser maker [06:10:02.0000] <Philip`> "it has to hardcode every element name and attribute name" - which "it" do you mean? (I might have lost track of the conversation) [06:11:00.0000] <gsnedders|work> (any more) [06:11:01.0000] <Dashiva> Philip`: The ns file [06:12:00.0000] <Dashiva> Related question, how does it handle having both xhtml:href and xlink:href in the same document? [06:13:00.0000] <Philip`> Dashiva: I think it only has to encode the root elements of differently-namespaced subtrees, like <html> and <svg> and <foreignObject> [06:14:00.0000] <Philip`> and it's rare that that list of elements will change [06:15:00.0000] <AryehGregor> "Once HTML 5 becomes a W3C Recommendation one might reasonably expect to see implementations" I guess they haven't looked at the timetables? [06:15:01.0000] <Philip`> Don't ask me how <foreignObject> would actually be encoded in the ns proposal [06:16:00.0000] <Philip`> (I guess it should not change its own namespace, but make its children default to the HTML namespace, and then you could use a <math> root if you want embedded maths instead of HTML?) [06:16:01.0000] <Dashiva> What about the hrefs? :) [06:16:02.0000] <Philip`> xhtml:href doesn't exist so that's not a problem [06:16:03.0000] <Philip`> and nobody should invent new attributes in namespaces [06:17:00.0000] <Dashiva> null:href, then [06:18:00.0000] <Dashiva> That is, what does <xhtml:a href="" xlink:href=""> look like with ns files? [06:18:01.0000] <jgraham> Doesn't MathML 3 have href and xlink:href on the same elements? [06:18:02.0000] <AryehGregor> This proposal actually seems extremely practical and reasonable. [06:18:03.0000] <AryehGregor> "in fact, the restriction is that the browser must not claim such a resource to be a well-formed XML document, but, once it is not XML it is outside the scope of the XML specification, and error recovery is perfectly acceptable, as long as no claim is made that the original document is itself XML." [06:18:04.0000] <Philip`> Dashiva: Don't allow both in the same vocabulary [06:18:05.0000] <AryehGregor> O RLY? [06:19:00.0000] <Dashiva> The extensibility is centralizing :) [06:19:01.0000] <Philip`> Dashiva: Anyway, replacing xlink:href with automatic href would break copy-and-paste of existing SVG XML so that's not going to be accepted [06:19:02.0000] <AryehGregor> http://www.w3.org/TR/2008/REC-xml-20081126/#dt-fatal [06:20:00.0000] <AryehGregor> Any XML processor that can handle errors sanely is not conforming. [06:21:00.0000] <Philip`> AryehGregor: I'd be interested in what they propose browsers should do instead of rejecting the document [06:21:01.0000] <AryehGregor> "They" who? [06:21:02.0000] <Philip`> Anybody [06:21:03.0000] <AryehGregor> This Liam Quin guy seems to think it would be fine for browsers to just implement HTML5-style error handling for XML. [06:21:04.0000] <Philip`> or anybody who says draconian error handling isn't a problem with XML, it's just browser developers being stupid [06:22:00.0000] <Philip`> and stupidly following the spec instead of doing something else [06:22:01.0000] <Philip`> and I'm wondering what the something else is [06:22:02.0000] <AryehGregor> Which seems to be totally contrary to the XML spec, but hey, he's XML Activity Lead and I'm some guy who to whom "robustness, accuracy, error detection and correctness are relatively unimportant". [06:22:03.0000] <Philip`> (and I'm assuming the something else must be clearly specified somewhere so it can be interoperably implementable) [06:23:00.0000] <Dashiva> AryehGregor: This proposal decentralizedly extends XML in a new and bold manner [06:23:01.0000] <AryehGregor> That's the tricky part. [06:23:02.0000] <AryehGregor> That's why XML says "fail horribly", AFAICT, so that you have consistent behavior. [06:24:00.0000] <AryehGregor> If you say "Well, it's no longer XML, so feel free to do whatever you want with it", you've just completely lost interoperability. [06:24:01.0000] <Dashiva> But if it isn't well-formed, then it isn't an XML document, by definition [06:24:02.0000] <Philip`> In any case, the proposal is about modifying XML and therefore largely irrelevant, because nobody uses XHTML [06:25:00.0000] <AryehGregor> /me votes for HTML5 syntax to be generalized a bit, called "Robust Markup Language" or something, moved to its own spec, and pushed as an XML successor [06:25:01.0000] <Philip`> AryehGregor: Please don't [06:25:02.0000] <Philip`> AryehGregor: HTML5 is horrid syntax [06:25:03.0000] <Dashiva> AryehGregor: Sounds like it could be taken under the mantle of XML5 [06:25:04.0000] <Philip`> and shouldn't be pushed beyond where it's currently required [06:25:05.0000] <AryehGregor> Philip`, right, except we might be able to shut up the namespace partisans. [06:25:06.0000] <AryehGregor> I mean, with respect to no one using XHTML. [06:26:00.0000] <jcranmer> so basically we replace XML with a mixed-XML-and-SGML successor? [06:26:01.0000] <jcranmer> yuck [06:26:02.0000] <Philip`> unless by "generalized" you mean removing basically all of it and just leaving some simple consistent error-handling behaviour [06:26:03.0000] <AryehGregor> With respect to an HTML5-based syntax, okay, granted. But something that has well-defined error handling should replace XML. [06:26:04.0000] <Philip`> XML has well-defined error handling [06:26:05.0000] <jcranmer> I prefer the "you messed up, screw you" error handling [06:26:06.0000] <Philip`> (Well, as long as you're not one of the XML proponents who pretends it doesn't) [06:26:07.0000] <AryehGregor> Well-defined and *sane* error handling, fine. [06:27:00.0000] <Philip`> (and claims that as an advantage) [06:27:01.0000] <gsnedders|work> Philip`: No, it doesn't have well-defined error handling. Just look at handling of unknown entities in non-validating parsers. [06:27:02.0000] <jgraham> There is a vauge idea for XML5 [06:27:03.0000] <AryehGregor> XML was designed to be easily machine-readable. It's not, you need a slow and bloated library to use it anyway. So we may as well make it more human-friendly at the expense of more implementation complexity. [06:28:00.0000] <Philip`> jcranmer: The problem is that in practice it's commonly "somebody involved in the development of this site which you're trying to look at messed up, screw you" [06:28:01.0000] <gsnedders|work> jgraham: Vague idea? annevk has prototype spec and impl [06:28:02.0000] <AryehGregor> Although I grant that HTML5's baroque error handling is way too web-specific to sanely saddle anyone with. [06:28:03.0000] <gsnedders|work> http://code.google.com/p/xml5/ [06:28:04.0000] <AryehGregor> CSS is maybe a better model for good error handling. [06:28:05.0000] <jgraham> gsnedders|work: Yeah but no real traction. [06:28:06.0000] <gsnedders|work> Last commit: [06:28:07.0000] <gsnedders|work> Oct 21, 2007 [06:29:00.0000] <AryehGregor> Did anyone else notice that the XML proposal by the XML Activity Lead contains malformed XML in an example? <element src="eacml.ns /> [06:29:01.0000] <Philip`> AryehGregor: That's not malformed XML [06:30:00.0000] <Philip`> It's not well-formed XML, so it's not XML at all [06:30:01.0000] <Dashiva> No true scotsman [06:30:02.0000] <AryehGregor> Draconian error handling is fine for things that are basically always written by hand. Like programming languages. [06:30:03.0000] <AryehGregor> For data formats it's completely unreasonable. [06:30:04.0000] <Dashiva> It's fine for cases where the error can be detected _at authoring time_ [06:31:00.0000] <AryehGregor> Which it can't if the markup is built by a script. [06:31:01.0000] <Philip`> I think it's fine for data formats as long as it's easy to generate non-erroneous output [06:31:02.0000] <AryehGregor> Which any general-purpose data markup language has to handle. [06:31:03.0000] <AryehGregor> Yes, I'll agree with that too. [06:31:04.0000] <AryehGregor> Draconian error handling for JSON is fine because it's so simple. [06:32:00.0000] <Dashiva> Eh? [06:32:01.0000] <AryehGregor> (although I don't know what JSON's error handling is actually like) [06:32:02.0000] <AryehGregor> Eh what? [06:32:03.0000] <Dashiva> Have you seen all the broken JSON out there? [06:32:04.0000] <Philip`> and the problem with XML as a data format is not that it's draconian, but that the draconianness applies in lots of weird complex ways, like certain forbidden characters and certain forbidden element and attribute names and attribute values [06:32:05.0000] <Dashiva> There's a lot of JSON that isn't actually JSON, it's serialized javascript source [06:32:06.0000] <AryehGregor> So what happens to it? [06:32:07.0000] <Dashiva> It works because you use Javascript eval() to parse it [06:33:00.0000] <Dashiva> But it isn't JSON [06:33:01.0000] <Philip`> It's pretty trivial to get correctly nested tags and quotes around attribute values, so I think it's fine for a format to require that [06:33:02.0000] <AryehGregor> Interesting. [06:33:03.0000] <AryehGregor> Philip`, well, I don't want my site to die unnecessarily because of a typo that would be reasonably correctable by the client. [06:34:00.0000] <AryehGregor> Fail-fast isn't a good idea except if you'd prefer death to unknown errors. [06:34:01.0000] <Philip`> but it's really hard to avoid problems like how http://www.rddl.org/rddl2rdf.xsl applied to http://www.w3.org/XML/1998/namespace gives non-well-formed output [06:34:02.0000] <Philip`> and so it's bad for that kind of unexpected situation to cause death [06:35:00.0000] <AryehGregor> I'd argue that misnesting tags isn't as trivial to avoid as you think. [06:35:01.0000] <Dashiva> Remember, well-formed XML runs our national security infrastructure [06:35:02.0000] <Dashiva> One error and the nukes fly [06:35:03.0000] <AryehGregor> MediaWiki has some known tag misnesting bugs that have sat around for years because they'd require a remarkable amount of effort to fix. [06:36:00.0000] <AryehGregor> It depends on how you're generating your output. [06:36:01.0000] <zcorpan_> /me notes that othermaciej and julian have gotten the xhtml namespace wrong [06:36:02.0000] <Philip`> I'd argue that I've seen lots of XML sites and serializers that break because of funny characters or incorrect namespace declarations, and none that break because user input can cause them to emit misnested tags [06:36:03.0000] <AryehGregor> I don't think any syntax error should be fatal in remotely complicated data formats. If in any data formats at all. [06:37:00.0000] <AryehGregor> Philip`, counterexample: MediaWiki serving an XML MIME type. :) [06:37:01.0000] <AryehGregor> I doubt it's unique, either. [06:37:02.0000] <AryehGregor> Although maybe not typical. [06:37:03.0000] <Philip`> ...except for all the sites that display unescaped user input directly, but they're just as broken and insecure with text/html [06:37:04.0000] <AryehGregor> Philip`, with text/html they're vulnerable only to malice. With an XML MIME type the site could be taken down by ignorance. [06:38:00.0000] <AryehGregor> Ignorance is a lot more prevalent than malice. [06:38:01.0000] <AryehGregor> Especially since even XML gurus are liable to typo sometimes. [06:38:02.0000] <AryehGregor> Oops, guess you can't reach the edit button for your post (if there is one). [06:39:00.0000] <Dashiva> Edit another page, modify the URL :) [06:41:00.0000] <Philip`> Just stick an XML5 parser/serializer in there, to correct the nesting [06:41:01.0000] <Philip`> (and other typos) [06:42:00.0000] <Philip`> That's hard to do nowadays with XML, because XML is too complex and so serializers have bugs and produce ill-formed output [06:43:00.0000] <Philip`> (I think I remember getting ill-formed output out of Xalan and the validator.nu serializer and GenX) [06:44:00.0000] <AryehGregor> So you clean up bad markup on the server side rather than the client? What's the point? That just moves the complexity to a place that's less likely to implement it correctly. [06:45:00.0000] <zcorpan_> if it's well-formed, it can be parsed *really fast* [06:45:01.0000] <zcorpan_> unlike html tag soup which takes ages to parse because error correction is slow [06:47:00.0000] <Philip`> (Sadly Tim Bray (of Genx) seems to have forgotten his "$500 reward for each significant bug reported that would allow someone to use the API as documented but produce non-well-formed output." :-( ) [06:56:00.0000] <Dashiva> zcorpan_: Can it really? [06:57:00.0000] <Dashiva> I'm guessing you were sarcastic, but still [06:57:01.0000] <Dashiva> Even an XML processor has to detect invalid input, so all the checks happen even if the input is valid [06:59:00.0000] <gsnedders|work> Dashiva: Yeah, it makes absolutely no difference [06:59:01.0000] <Philip`> It makes a difference to code size [06:59:02.0000] <Philip`> which will have a non-zero effect on performance [07:00:00.0000] <Philip`> (Potentially a huge effect if it makes your methods too big for HotSpot) [07:00:01.0000] <Dashiva> Can't that be handled by just making more methods? [07:01:00.0000] <Philip`> I assume HTML parsers also have to carry around and update some state that wouldn't be needed if there wasn't any complex error correction [07:02:00.0000] <Philip`> But the differences are probably negligible compared to the cost of I/O [07:03:00.0000] <zcorpan_> /me was being sarcastic, but notes he has heard that argument several times [07:03:01.0000] <gsnedders|work> running git svn clone is fairly slow on the webapps repo [07:04:00.0000] <gsnedders|work> (Sorry, but I want to run blame, to see when stuff changed, so I can dig up the commit message) [07:13:00.0000] <gsnedders|work> <atom:link rel="self" href=""/> fulfils the SHOULD requirement in Atom for atom:link@rel='self', right? [07:15:00.0000] <zcorpan_> isn't the point of rel='self' to include the absolute url? [07:15:01.0000] <zcorpan_> in case the feed's url gets lost somewhere in the chain of whatever is done with the feed [07:15:02.0000] <gsnedders|work> Yeah, basically. But I'm wondering how I can deal with a feed that doesn't really have a URL [07:17:00.0000] <zcorpan_> if it doesn't have a URL, that seems like a valid reason to violate the SHOULD [07:17:01.0000] <gsnedders|work> Yeah, it does. But it seems fun to do weird things to comply with the spec as much as possible. [07:18:00.0000] <gsnedders|work> /me has plans for thereshouldbenored.com [07:19:00.0000] <zcorpan_> will you make it html/js/css/atom polyglot? [07:19:01.0000] <zcorpan_> /me should patent the technique [07:20:00.0000] <gsnedders|work> Nah [07:20:01.0000] <gsnedders|work> Though that is an idea [07:21:00.0000] <gsnedders|work> /me wonders how to pull off HTML/Atom [07:21:01.0000] <zcorpan_> http://simon.html5.org/dump/html+js+css+atom.html [07:22:00.0000] <gsnedders|work> No DOCTYPE :( [07:22:01.0000] <zcorpan_> need quirks mode [07:22:02.0000] <zcorpan_> for css [07:22:03.0000] <Philip`> Why should there be nored? [07:22:04.0000] <gsnedders|work> That sux. [07:22:05.0000] <zcorpan_> also it wouldn't validate as html5 anyway because it uses bogus comments [07:22:06.0000] <Philip`> /me is incapable of reading that URL as having a space after "no" [07:23:00.0000] <gsnedders|work> Philip`: Why? [07:23:01.0000] <Philip`> gsnedders|work: I don't know - it's just how I read it, given the lack of punctuation [07:24:00.0000] <zcorpan_> there.should.be.no.red [07:24:01.0000] <gsnedders|work> /me should have blatantly tried for there.should.be.no.red [07:24:02.0000] <Philip`> I think red.com might already be registered [07:24:03.0000] <zcorpan_> but not no.red [07:24:04.0000] <gsnedders|work> .ed doesn't exist :( [07:24:05.0000] <Philip`> Oh [07:24:06.0000] <gsnedders|work> there.should.be.red.no [07:25:00.0000] <Philip`> red.there.should.be.no then it'll sound like Yoda [07:25:01.0000] <zcorpan_> you can mint new TLDs nowadays, no? [07:25:02.0000] <zcorpan_> be.no is taken [07:26:00.0000] <gsnedders|work> No, you can't [07:26:01.0000] <zcorpan_> bummer [07:26:02.0000] <gsnedders|work> there.should.be.no.red.info [07:27:00.0000] <gsnedders|work> dammit, red.info taken [07:27:01.0000] <Philip`> red.there.shouldnt.be is taken too [07:27:02.0000] <Philip`> and shouldn’t.be is apparently not allowed [07:27:03.0000] <Philip`> (though shouldn’t.eu claims to be allowed) [07:28:00.0000] <Dashiva> your.tests.are.totally.inaccessible.info [07:28:01.0000] <gsnedders|work> taken [07:33:00.0000] <tantek> /me prefers PHP/JS biglot: http://cassisproject.com/ [07:37:00.0000] <zcorpan_> /me wrote a js file that was polyglot helper function for a web worker and a helper function for normal <script> inclusion last night [07:38:00.0000] <zcorpan_> sadly i ended up commenting out the web worker code path because the web worker implementations suck too much [07:39:00.0000] <Philip`> /me isn't particularly attracted by the idea of a language subset in which you can't even declare variables [07:42:00.0000] <Dashiva> Philip`: Don't you do haskell? [07:42:01.0000] <jgraham> Hmm? Haskell lets you declare variables [07:43:00.0000] <jgraham> For some meaning of variables [07:43:01.0000] <Dashiva> Some meaning, yes [07:43:02.0000] <Philip`> Dashiva: No, but anyway that's different because all variables have local scope [07:43:03.0000] <Philip`> whereas JS without 'var' means every variable is global [07:44:00.0000] <jgraham> /me doesn't really understand the point of hacking javascript and php into the same file [07:44:01.0000] <zcorpan_> if it can be done, someone will do it [07:45:00.0000] <jgraham> It seems like anything you gain from code reuse will be lost in the fact that it is an enormous hack [07:45:01.0000] <jgraham> zcorpan_: That's not really a point. At least not a point of suggesting it as a sensible approach [07:48:00.0000] <hsivonen> Philip`: whoa! Did Tim Bray have a $500 bounty on WF bugs in GenX and didn't pay you? [07:48:01.0000] <hsivonen> /me sensibly doesn't have the confidence to promise money bounties to Philip` [07:49:00.0000] <Dashiva> hsivonen: Promise bounties redeemable in person only, and stop going to TPAC [07:50:00.0000] <hsivonen> I may have promised a drink bounty before the previous TPAC, but I forget if I did but at least there was no one to claim it [07:51:00.0000] <Philip`> hsivonen: He said in http://www.tbray.org/ongoing/When/200x/2004/01/11/PostelPilgrim that he would have a bounty, and later said he'd start it once he thought Genx was reasonably stable [07:52:00.0000] <Philip`> but that was in 2004 and then I don't think he ever said he'd start offering bounties at a particular point in time [07:52:01.0000] <hsivonen> Philip`: I conclude genx isn't reasonably stable [07:52:02.0000] <jgraham> Did he actually know you broke it> [07:53:00.0000] <jgraham> s/>/?/ [07:54:00.0000] <Philip`> jgraham: Yes [07:54:01.0000] <Philip`> http://lists.w3.org/Archives/Public/www-archive/2009Mar/0060.html (and he replied saying he'd look into it) [07:55:00.0000] <Philip`> http://www.tbray.org/ongoing/When/200x/2004/02/20/GenxStatus - "2004/07/25 ... I think we’re close. If someone sends me one more story about Genx being in real production somewhere, I’ll take the “beta” stamp off and announce the rewards-for-bugs program." [07:56:00.0000] <jgraham> So you just need to prove that someone did that ;) [07:56:01.0000] <hsivonen> I guess I should have sent a story of Genx in "production" if a hobby script counts as production [07:57:00.0000] <hsivonen> later, though, I've regretted using Genx, because there's no Ubuntu package for it, so I've been unable to migrate the script to a host that doesn't have gcc [07:57:01.0000] <hsivonen> and all the -dev packages [07:57:02.0000] <hsivonen> and I haven't bothered setting up another box just for compiling pygenx [07:57:03.0000] <jgraham> Has the bug been fixed? [07:58:00.0000] <hsivonen> speaking of pygenx, is there a pure python substitute these days? [07:59:00.0000] <jgraham> (If the bug hasn't been fixed I suggest you put gnex into production somewhere and email with the notice of production at the top and the repeated bug report at the bottom ;) [08:00:00.0000] <Philip`> jgraham: http://www.tbray.org/ongoing/genx/ indicates no updates released since 2004 [08:00:01.0000] <Philip`> jgraham: But that would require me to put known-buggy software into production, which would be terribly irresponsible [08:01:00.0000] <jgraham> You could patch the bug locally [08:03:00.0000] <Philip`> How can I trust that it's not riddled with other bugs? [08:03:01.0000] <Philip`> (other than knowing that I spent a while looking through the source code and didn't see any other bugs) [08:49:00.0000] <JonathanNeal> Goodmorning Everyone! \o/ [08:49:01.0000] <daedb> Good evening [08:50:00.0000] <cardona507> good morning [09:55:00.0000] <Dashiva> I wonder what happened here: http://twitter.com/marcosc/status/5435533789 [10:39:00.0000] <othermaciej> abarth: I think you may have overstated your case about the issue with Tyler's protocol [11:22:00.0000] <Hixie> is toby inkster here? [11:23:00.0000] <gsnedders|work> No, maybe in #microformats though? [11:23:01.0000] <tantek> alias: tobyink [11:31:00.0000] <gsnedders|work> /me could remember it was something similar to his name, just not the exact string [11:32:00.0000] <jgraham> hsivonen: I agree with the observation that requiring an extra HTTP request to get namespace bindings is a non-starter (and was considering saying as much) [11:50:00.0000] <nessy1> hsivonen: are you around? [11:50:01.0000] <hsivonen> nessy: yes [11:51:00.0000] <nessy> we're currently discussion aria role usage and the influence on validating a html5 document in #aapi [11:51:01.0000] <nessy> I was looking for you thoughts [11:51:02.0000] <Hixie> #aapi on irc.w3.org [11:55:00.0000] <hsivonen> nessy: I'm going to hit time zone barriers soon :-( [11:55:01.0000] <nessy> bummer - just thought it would be good to get your input [11:55:02.0000] <nessy> of course you can always contribute more later [11:56:00.0000] <nessy> just discussing your statement now :) [12:29:00.0000] <JonathanNeal> Happy Afternoon!!! \o/ [12:59:00.0000] <Philip`> http://lists.w3.org/Archives/Public/public-rdf-in-xhtml-tf/2009Nov/0013.html - "We don't trust [XML] 5th Edition." [13:00:00.0000] <Philip`> Is anybody adopting it yet? [13:02:00.0000] <gsnedders> libxml 2.7 [13:08:00.0000] <Philip`> Does it have a 4th Edition option? [13:08:01.0000] <gsnedders> dunno [13:09:00.0000] <Philip`> If not, I guess it's impossible to implement a conforming XHTML or RDFa processor with libxml 2.7 [13:09:01.0000] <Philip`> Hooray for redefining well-formedness [13:09:02.0000] <gsnedders> How come? [13:09:03.0000] <gsnedders> Because it won't properly refuse not well-formed content [13:10:00.0000] <gsnedders> ? [13:10:01.0000] <Philip`> Yes [13:10:02.0000] <Philip`> so it will extract data that it shouldn't extract [13:14:00.0000] <gsnedders> Philip`: Know of any good Python XML serializer? [13:14:01.0000] <Philip`> gsnedders: print [13:15:00.0000] <gsnedders> Philip`: That I can rely upon to output well-formed XML? [13:15:01.0000] <Philip`> That's easy [13:15:02.0000] <Philip`> print "<example/>" [13:15:03.0000] <gsnedders> Philip`: :P [13:15:04.0000] <Philip`> That's always going to output well-formed XML [13:15:05.0000] <gsnedders> Philip`: With arbitrary content? [13:16:00.0000] <Philip`> Like you give it a tree containing arbitrary strings and it corrects errors and outputs XML? [13:16:01.0000] <gsnedders> Yeah [13:16:02.0000] <Philip`> No [13:16:03.0000] <gsnedders> Oh. Oh well then. [13:52:00.0000] <gsnedders> /me adds some JS to http://thereshouldbenored.com/ so it could be green [13:55:00.0000] <Lachy> Hixie, ping [13:56:00.0000] <Dashiva> Can Math.random() * 100 actually be 42... [13:56:01.0000] <gsnedders> When rounded, yes [13:56:02.0000] <Philip`> How is it rounded? [13:57:00.0000] <gsnedders> Math.round(Math.random() * 100) [13:57:01.0000] <Dashiva> True [13:57:02.0000] <Dashiva> I for some reason ignored the round [13:57:03.0000] <Dashiva> So let's deal with that question instead [13:57:04.0000] <gsnedders> (even when not rounded it could be 42, it's just quite unlikely) [13:58:00.0000] <Dashiva> To the last floating point bit? [13:58:01.0000] <jgraham> It could be 42 in Javascript [14:02:00.0000] <JonathanNeal> Definitely maybe. [14:04:00.0000] <gsnedders> Definitely. [14:04:01.0000] <Philip`> Dashiva: Looks like it can be exactly 42 [14:04:02.0000] <Philip`> but only if you use double-precision numbers [14:04:03.0000] <jgraham> Javascript only has a single numbe type [14:05:00.0000] <Dashiva> But that one type is double [14:05:01.0000] <Hixie> Lachy: pong [14:05:02.0000] <Dashiva> So I guess it's possible [14:05:03.0000] <Philip`> Compare perl -le'print 100*(unpack f => pack f => 42/100)-42' vs perl -le'print 100*(unpack F => pack F => 42/100)-42' [14:05:04.0000] <Philip`> (First (single precision) says -1.31130218505859e-06, second (double precision) says 0) [14:05:05.0000] <Lachy> Hixie, nevermind. Was just wondering whether you were going to be coming to this meeting [14:05:06.0000] <jgraham> Dashiva: Right, I mean there is only one type, not that it is single precision [14:06:00.0000] <jgraham> Oh wait my argument is wrong [14:06:01.0000] <jgraham> listen to Philip` [14:07:00.0000] <gsnedders> jgraham: Well, of course, Philip`'s argument is inevitably better. [14:09:00.0000] <Philip`> It could be wrong, though [14:10:00.0000] <gsnedders> Indeed [14:11:00.0000] <Dashiva> Nobody will notice, though. That's how good your argument is. [14:12:00.0000] <Philip`> I just like using Perl's fat comma [14:21:00.0000] <Philip`> http://www.google.co.uk/search?q=%22your+comma%27s+so+fat%22 - hmm, a sadly missed opportunity for Perl syntax related humour [14:46:00.0000] <remysharp> quick daft question, if I want to quote my attributes, is it <video controls="controls"> or <video controls="true"> [14:46:01.0000] <remysharp> or it doesn't make any difference? [14:49:00.0000] <Dashiva> remysharp: The attribute works just by being present [14:49:01.0000] <remysharp> that's what I figured [14:49:02.0000] <remysharp> is there a "best practise" for quoted attribs - [14:49:03.0000] <Dashiva> I think that's using the attribute name [14:49:04.0000] <remysharp> I thought it was to repeat the key in the value [14:50:00.0000] <remysharp> or "xhtml" type sytnax [14:53:00.0000] <Philip`> remysharp: <video controls=""> [14:53:01.0000] <remysharp> really? that doesn't look very "xhtml"ly [14:53:02.0000] <Philip`> is equivalent to <video controls> and therefore works and is allowed [14:53:03.0000] <remysharp> sure [14:54:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attributes [14:54:01.0000] <TabAtkins> remysharp: If you're doing HTML syntax, just do the plain name. It's the easiest and works great. [14:54:02.0000] <remysharp> I'm looking for the syntax that matches the <option selected="selected"> type of syntax from xhtml [14:54:03.0000] <remysharp> /me checking your link [14:54:04.0000] <TabAtkins> <option selected> [14:54:05.0000] <Philip`> "If the attribute is present, its value must either be the empty string or a value that is an ASCII case-insensitive match for the attribute's canonical name, with no leading or trailing whitespace." [14:54:06.0000] <remysharp> cool [14:54:07.0000] <remysharp> thanks for that [14:55:00.0000] <remysharp> so it's either "" or controls="controls" [14:55:01.0000] <Philip`> Yep [14:55:02.0000] <remysharp> ta :) [14:55:03.0000] <TabAtkins> If you need a value, yeah. [14:55:04.0000] <Philip`> or controls="CoNtRoLs" if you fancy [14:55:05.0000] <nessy> lol [14:56:00.0000] <TabAtkins> <p leettext="lEeTtExT"> [14:58:00.0000] <annevk2> note that you can write selected="" in XHTML too [14:58:01.0000] <annevk2> way shorter [15:34:00.0000] <j^> hi, why does the html sanitizer from http://code.google.com/p/html5lib/source/browse/python/src/html5lib/sanitizer.py [15:34:01.0000] <j^> not include html5 tags [15:35:00.0000] <j^> like video and audio 2009-11-06 [16:16:00.0000] <annevk2> Hixie, can I publish your old CSSValues proposal? [16:17:00.0000] <Hixie> publish? [16:18:00.0000] <annevk2> make it public somehow [16:18:01.0000] <annevk2> not sure where to put it [16:18:02.0000] <Hixie> isn't it already public [16:18:03.0000] <annevk2> no it's member only [16:18:04.0000] <Hixie> url? [16:18:05.0000] <annevk2> http://lists.w3.org/Archives/Member/w3c-css-wg/2002OctDec/0264.html [16:18:06.0000] <Hixie> yes go ahead [16:26:00.0000] <annevk2> http://lists.w3.org/Archives/Public/www-archive/2009Nov/0007.html [16:26:01.0000] <annevk2> hopefully I didn't make any mistakes when copying [16:26:02.0000] <annevk2> oh, line wrapping, but who cares [16:51:00.0000] <JonathanNeal> Goodnight everybody!!! -_- [21:35:00.0000] <othermaciej> hello everyone [21:52:00.0000] <Hixie> dbaron: your blog post has a typo in the last paragraph (they're/their) [21:53:00.0000] <dbaron> Hixie, fixed, thanks [21:53:01.0000] <Hixie> np [23:27:00.0000] <cardona507> hello -anyone awake? [23:27:01.0000] <Hixie> vaguely [23:28:00.0000] <othermaciej> sort of [23:32:00.0000] <cardona507> i am interested in the 3d tomorrow morning [23:34:00.0000] <cardona507> what browser are they showing it in? [23:35:00.0000] <othermaciej> dunno! [23:35:01.0000] <othermaciej> something that supports WebGL presumably [23:38:00.0000] <cardona507> my hotel's web connection sux - :-/ [23:47:00.0000] <hsivonen> how is X3D+JS different from any script-specific markup? [23:48:00.0000] <hsivonen> e.g. the the stuff Bespin uses to initialize its layout [23:48:01.0000] <hsivonen> or Ubiquity XForms [00:06:00.0000] <othermaciej> it's different from Bespin in that there is a pre-existing format with which they wish to be compatible [00:06:01.0000] <othermaciej> (though not different from a script-base XForms impl in that way) [00:31:00.0000] <peslafk> http://twitter.com/fronteers09/statuses/5474171543 [00:36:00.0000] <othermaciej> an optimist! [00:42:00.0000] <peslafk> It seems that Douglas is having a rant on html5 and the W3C at the Fronteers congres [01:10:00.0000] <hsivonen> Crockford? [01:12:00.0000] <hsivonen> what's the right way to make MacPorts guntar the default tar on Snow Leopard? [01:13:00.0000] <hsivonen> IIRC, earlier I just have the gnu stuff installed and it took precedence without me touching files that belong to the system or to macports [01:14:00.0000] <hsivonen> hmm. MacPorts has edited my .profile twice [01:15:00.0000] <hsivonen> apparently gnutar in macports is now called 'gnutar' instead of 'tar' [01:16:00.0000] <hsivonen> grr. is this some kind of GPL hate on Apple's part? not shipping gnutar by default [01:16:01.0000] <hsivonen> it's like on ancient Solaris system where you had to ask for gnutar instead of the lousy tar [01:16:02.0000] <hsivonen> *systems [01:18:00.0000] <hsivonen> woohoo. at last some action on enabling Java profiling in Eclipse on Mac OS X: http://wiki.eclipse.org/Agent_Controller_on_MAC_OS [01:26:00.0000] <othermaciej> what is Fronteers? [01:27:00.0000] <othermaciej> and why does Doug hate HTML5? [01:27:01.0000] <othermaciej> hsivonen: Apple leans towards BSD userland utilties when they are not grossly deficient comapred to the GNU version [01:28:00.0000] <hsivonen> othermaciej: as I understand it, he doesn't like the way Same Origin works when you include different-Origin scripts [01:28:01.0000] <hsivonen> othermaciej: that is, if you include a mashup script from another site, it gets to run in your Origin [01:29:00.0000] <othermaciej> hsivonen: that was indeed a grave error in the long-ago past that we now can't fix... [01:29:01.0000] <peslafk> hsivonen: Crockford, yes [01:29:02.0000] <peslafk> othermaciej: It's a dutch frontend engineering club [01:30:00.0000] <peslafk> othermaciej: http://twitter.com/#search?q=fronteers09%20crockford [01:31:00.0000] <peslafk> And all this is happening @ http://fronteers.nl/congres/2009/information [01:33:00.0000] <othermaciej> I've been busy this week at TPAC trying to influence what's in HTML5 instead of sniping from the sidelines [01:35:00.0000] <othermaciej> hsivonen: does he really seriously think it's in any way feasible to change that at this point? [01:35:01.0000] <othermaciej> hsivonen: I mean, I guess it would be cool to have *a* way to have scripts from a foreign site that don't run in your origin, but HTML5 has sandboxed iframes for that [01:36:00.0000] <hsivonen> othermaciej: I think it's better if I don't try to speculate what he really believes. [01:36:01.0000] <othermaciej> fair enough [01:37:00.0000] <peslafk> It was a bit of a rant, with non-argumented oneliners [01:41:00.0000] <erlehmann> peslafk, so why does he hate it ? after all, who could be better HTML devs than browser people ? [01:41:01.0000] <hsivonen> http://diveintomark.org/archives/2008/02/21/the-bolero-of-troll [01:42:00.0000] <peslafk> erlehmann: I failed to really see his points, as html5 is only a spec and the browser vendors are the ones implementing. Ranting should really be aimed at them [01:43:00.0000] <peslafk> erlehmann: He stated that the more complicated the DOM is, the more insecure it'll be. And "html5 adds stuff to the DOM". [01:45:00.0000] <hsivonen> I've been reading http://www.amazon.co.uk/Coders-Work-Reflections-Craft-Programming/dp/1430219483 [01:45:01.0000] <hsivonen> in that book, Crockford gets some book space for talking about his ideals for the Web [01:45:02.0000] <hsivonen> but he doesn't propose a realistic path for getting there [01:46:00.0000] <Philip`> Does he propose an unrealistic path? [01:46:01.0000] <othermaciej> adding features to the Web (whether DOM or not) is always a potential security risk [01:46:02.0000] <othermaciej> but the alternative is stagnation [01:48:00.0000] <hsivonen> Philip`: "make it smaller" [01:48:01.0000] <jgraham> Your approach to the future of the web will fail because: (x) It requires a mass migration of existing content to fit the new model [01:48:02.0000] <jgraham> You're right, we need a chart [01:48:03.0000] <hsivonen> (the whole thing felt quite out of place in the book, btw) [01:50:00.0000] <peslafk> http://twitter.com/pesla/status/5475096734 [01:51:00.0000] <peslafk> Thanks for the URL hsivonen. [01:51:01.0000] <hsivonen> peslafk: you're welcome [02:00:00.0000] <erlehmann> peslafk, what does he want instead ? [02:00:01.0000] <peslafk> erlehmann: There is no counter proposal [02:01:00.0000] <erlehmann> so its more liek U ALL SUCK LOL [02:13:00.0000] <Philip`> http://www.w3.org/TR/REC-xml/ - "Names beginning with the string "xml", or with any string which would match (('X'|'x') ('M'|'m') ('L'|'l')), are reserved for standardization in this or future versions of this specification." [02:13:01.0000] <Philip`> http://www.w3.org/TR/xml-names/ - "A namespace (or more precisely, a namespace binding) is declared using a family of reserved attributes. Such an attribute's name must either be xmlns or begin xmlns:." [02:13:02.0000] <Philip`> That seems a bit contradictory [02:14:00.0000] <Philip`> given that "this or future versions of this specification" != "any XML related specification" [02:30:00.0000] <zcorpan_> /me can't connect to http://www.mail-archive.com/whatwg⊙lwo/msg18335.html [02:31:00.0000] <zcorpan_> /me uses google cache [04:59:00.0000] <Dashiva> "It would be nice if there were audio or video [from TPAC]". [04:59:01.0000] <Dashiva> Have we learned nothing? [05:00:00.0000] <jgraham> Dashiva: Where is that from? [05:01:00.0000] <Dashiva> http://lists.w3.org/Archives/Public/public-html/2009Nov/0154.html [05:04:00.0000] <csarven1> Consider <dl><dt>Full name</dt><dd>Toby Inkster</dd></dl> <dl><dt>Location</dt><dd>UK</dd></dl> vs. <span>Toby Inkster</span> <span>UK</span>, does the context help the screen reader user? [05:04:01.0000] <Dashiva> Which context? [05:05:00.0000] <csarven> Full name, Location [05:05:01.0000] <jgraham> csarven: Depending on what you are asking, I doubt it [05:05:02.0000] <csarven> Presumably one would know that 'Toby Inkster' is a person because it suggests 'Full name' [05:05:03.0000] <Dashiva> UK isn't completely obvious [05:05:04.0000] <csarven> Ok.. say.. "Texas" [05:06:00.0000] <csarven> <span>Texas</span> <span>Texas</span> [05:06:01.0000] <jgraham> csarven: Presumably one would know that in the same way that a non-screenreader user would [05:06:02.0000] <jgraham> By the general context of the page [05:06:03.0000] <jgraham> If it's not obvious from the general context then yes it is better to be explicit [05:06:04.0000] <csarven> It is a profile page [05:07:00.0000] <jgraham> It seems quite easy to decide. Just read the page aloud to someone and see if they understand it [05:07:01.0000] <csarven> well, when you have several data piled up, it gets harder [05:08:00.0000] <csarven> It is like saying "foo bar baz" [05:08:01.0000] <jgraham> I don't understand why this would be any harder for a screenreader user than anyone else [05:08:02.0000] <hsivonen> /me neither [05:08:03.0000] <jgraham> (apart from the general difficulty of having to use a screenreader) [05:08:04.0000] <csarven> Because the information is read linearly [05:09:00.0000] <erlehmann> csarven, use a microdata facility for that? [05:09:01.0000] <jgraham> Are you saying that there are significant visual clues that would help disambiguate? [05:09:02.0000] <csarven> erlehmann I don't want to leave out microformats/microdata/rdfa discussion [05:09:03.0000] <csarven> Just plain HTML [05:10:00.0000] <erlehmann> did you mean: i WANT to leave out [05:10:01.0000] <csarven> jgraham I think so. [05:10:02.0000] <erlehmann> just sayin … [05:10:03.0000] <csarven> erlehmann Oops :) [05:10:04.0000] <csarven> Yes, I want to leave that out for now [05:10:05.0000] <jgraham> Anyway, I stand by what I said. Read it aloud to someone. If they understand then it is fine. If not then it is not fine [05:10:06.0000] <csarven> heh [05:11:00.0000] <hsivonen> /me gathers the courage to look at nested document.write line numbers again [05:12:00.0000] <gsnedders> hsivonen, You'll regret it :P [05:12:01.0000] <hsivonen> hmm. what's a good way to cause a script error that doesn't stop the execution of the script [05:13:00.0000] <hsivonen> or warning [05:13:01.0000] <jgraham> hsivonen: document.all in gecko [05:13:02.0000] <hsivonen> jgraham: thanks! [05:14:00.0000] <hsivonen> /me downgrades the test case to quirks mode [05:19:00.0000] <hsivonen> sigh. my line number patch is still horribly wrong [09:18:00.0000] <JonathanNeal> Goodday everybody! \o/ [09:30:00.0000] <nessy> moring [13:41:00.0000] <yoshu> I'm second guessing my implementation of HTML5, would anyone care to comment the markup of this page http://beta.tucsonlabs.com/articles ?? [13:42:00.0000] <JonathanNeal> yoshu, I will. [13:42:01.0000] <yoshu> JonathanNeal: thanks [13:43:00.0000] <yoshu> I wasn't sure if I should separate each entry into a section or if it would work as is [13:43:01.0000] <JonathanNeal> What's this about NON_INITIAL_DOT_SEGMENT [13:44:00.0000] <JonathanNeal> I haven't seen that before. [13:44:01.0000] <JonathanNeal> I'm wondering if it is because of your /./ in the url? [13:45:00.0000] <JonathanNeal> It's up to you whether or not you want to wrap your header, aside, and article into a single section or article. [13:45:01.0000] <yoshu> JonathanNeal: I took the /./ out - didn't realize that was a problem [13:46:00.0000] <TabAtkins> Has anyone seen Lachy yet today? Is he still alive? [13:46:01.0000] <yoshu> JonathanNeal: thanks, I thought I could do without the extra markup, but wasn't sure if it was correct [13:47:00.0000] <JonathanNeal> Your usage of h3.excerpt is kinda weird to me. [13:48:00.0000] <yoshu> JonathanNeal: that's left over from my previous design, I'll probably be replacing it with <p> [13:48:01.0000] <JonathanNeal> By sticking your heading in the aside, your article doesn't have a heading itself. Whereas I might have wrapped the whole <header>, <aside>, and <article> in one larger <article>, replacing the inner <article> with something else. [13:49:00.0000] <Hixie> TabAtkins: he was on irc briefly earlier [13:49:01.0000] <JonathanNeal> I really didn't look it over too carefuly, but I always check against http://html5.validator.nu/ http://validator.w3.org/ and http://gsnedders.html5.org/outliner/ [13:49:02.0000] <TabAtkins> Hixie: Did he seem okay? [13:49:03.0000] <Hixie> he didn't talk [13:49:04.0000] <JonathanNeal> I don't design to meet thoses tests, but I use those as guides to help me. [13:49:05.0000] <Hixie> so no.... [13:49:06.0000] <TabAtkins> Well, he was alive enough to get on IRC. Hrm. [13:50:00.0000] <gsnedders_> /me ought to update that [13:50:01.0000] <yoshu> JonathanNeal: the header isn't inside the aside, but thanks for the help, and I'll check out those links [13:50:02.0000] <JonathanNeal> yoshu, I said I would move them all into one <article> [13:50:03.0000] <gsnedders_> You can get at contentDocument of an iframe regardless of whether it's cross-origin, right? [13:50:04.0000] <gsnedders_> iframe interaction has no limitations based on origins, right? [13:50:05.0000] <gsnedders_> (both ways) [13:51:00.0000] <JonathanNeal> and by "your heading in the aside" I meant the h3, not the <header><h1> [13:52:00.0000] <yoshu> JonathanNeal: yeah it would probably make more sense to do that. - gotcha on the h3 tag [13:53:00.0000] <JonathanNeal> :-) it looks good though, yea. [13:53:01.0000] <yoshu> JonathanNeal: thanks :) [13:54:00.0000] <jgraham> gsnedders_: There are some cross origin restrictions on iframes [13:55:00.0000] <gsnedders_> jgraham: What? [13:55:01.0000] <jgraham> Well a child iframe can't read properties from a different origin parent [13:55:02.0000] <annevk2> TabAtkins, he's okayish [13:55:03.0000] <annevk2> Lachy, ^^ [13:55:04.0000] <jgraham> I don't recall what the restrictions the other way are but I guess there must be some [13:56:00.0000] <jgraham> Otherwise you could load a site into an iframe and read the DOM which could contain arbitary sensitive data [13:57:00.0000] <jgraham> /me wonders what is wrong with Lachy [13:57:01.0000] <gsnedders_> Section 6.3.1? [13:57:02.0000] <gsnedders_> /me guesses effects of drink [13:57:03.0000] <Lachy> jgraham, I was a little sick last night. I'm getting better now [13:57:04.0000] <TabAtkins> annevk2: Thanks, that's reassuring. [13:57:05.0000] <jgraham> gsnedders_: I don't have the spec open right now [13:57:06.0000] <Lachy> I suspect it was food poisening [13:58:00.0000] <Lachy> annevk2, was there something specific you were pointing me at? [13:58:01.0000] <jgraham> /me decides it is too late at night to try and understand imaginary namespaces [13:58:02.0000] <annevk2> da question [13:58:03.0000] <annevk2> try to understand unicorns [13:58:04.0000] <annevk2> it's the key to TPAC [13:58:05.0000] <annevk2> at least this year [13:59:00.0000] <gsnedders_> jgraham: You don't have the spec open? Wow. What's wrong with you? :P [13:59:01.0000] <Dashiva> Has anyone found lastweek yet? [13:59:02.0000] <annevk2> well, or narwhals if you're Hixie [13:59:03.0000] <TabAtkins> UnicornML is the breakout technology of TPAC. [13:59:04.0000] <Dashiva> Or rather, the fake one [13:59:05.0000] <annevk2> only the real [13:59:06.0000] <jgraham> gsnedders_: I have to keep rebooting my laptop and it is slow to load [13:59:07.0000] <Lachy> /me isn't sure which question [13:59:08.0000] <Dashiva> annevk2: Was he under the couch? [14:00:00.0000] <gsnedders_> jgraham: Seemingly you can access the frames attribute, which is odd [14:00:01.0000] <annevk2> let me just say that it was not pretty [14:01:00.0000] <gsnedders_> jgraham: So you can get at sibling browsing contexts, but only do anything with them if they're same-origin. Wow. [14:01:01.0000] <gsnedders_> That's screwy. [14:02:00.0000] <gsnedders_> Hmm, I can't see what doesn't forbid contentWindow from working. [14:04:00.0000] <jgraham> gsnedders_: You can get at the browsing context but you can't read the properties [14:04:01.0000] <gsnedders_> So you can't get at the document, for example? [14:05:00.0000] <jgraham> So I guess if you have A -> B -> C whre A and C are same origin than A can read C's DOM but not B's [14:05:01.0000] <gsnedders_> So I can't do var f = document.createElement("iframe"); f.location="http://example.com"; f.contentDocument.getElementByTagName("html")[0]? [14:05:02.0000] <jgraham> gsnedders_: iirc no [14:06:00.0000] <jgraham> gsnedders_: I think it would be a security hole if you could [14:06:01.0000] <jgraham> because I could load your.bank.example in an iframe and transfer money to my account, for example [14:07:00.0000] <jgraham> (assuming an existing session and no extra prevention measures on the banks side) [14:08:00.0000] <gsnedders_> Right, I guess that's true [14:12:00.0000] <gsnedders_> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cbody%3E%3Ciframe%3E%3C%2Fiframe%3E%0A%3Cscript%3E%0Avar%20iframe%20%3D%20window%5B0%5D%3B%0Aiframe.location%20%3D%20'http%3A%2F%2Fexample.com'%0Aiframe.onload%20%3D%20function()%7B%0Aw(%22Foo%22)%0A%7D%0A%3C%2Fscript%3E%0A [14:12:01.0000] <gsnedders_> How come that outputs nothing to log? [14:12:02.0000] <gsnedders_> Oh, duh [14:20:00.0000] <zcorpan> Philip`: can i forward http://krijnhoetmer.nl/irc-logs/whatwg/20091106#l-305 to the xml core wg? [14:27:00.0000] <Dashiva> I wonder if krijnh has stats on who annotates the logs [14:30:00.0000] <zcorpan> i do [14:30:01.0000] <zcorpan> there you go, a datum [14:30:02.0000] <Dashiva> annotations(zcorpan,all time) > 0 [14:31:00.0000] <Dashiva> That's so useful! [14:33:00.0000] <Philip`> zcorpan: Feel free to do so, if it seems worth caring about [14:35:00.0000] <Dashiva> zcorpan: I would be interested in hearing their non-response, at least [14:35:01.0000] <zcorpan> sent [15:03:00.0000] <zcorpan> Dashiva: got a reply [15:09:00.0000] <Dashiva> So they augment it in a completely optional way [15:10:00.0000] <Philip`> They agument it in such a way that they are either the XML spec, or are a future version of it? [15:10:01.0000] <Philip`> s/gu/ug/ [15:12:00.0000] <Dashiva> Imagine there's a set of XML n.5th editions, which is XML nth edition + namespaces (delta spec) [15:15:00.0000] <Philip`> Dashiva: 5th edition? Nooooo! [15:16:00.0000] <Philip`> Oh, whoops, n.5th [15:24:00.0000] <gsnedders> How do you reorder windows in irssi? [15:33:00.0000] <Philip`> gsnedders: /quit and then restart and open the windows in the right order [15:33:01.0000] <mpilgrim> can someone answer an html5lib question? [15:33:02.0000] <gsnedders> Are we talking Python or Ruby or PHP? [15:33:03.0000] <Philip`> gsnedders: or, like, /win move 10 or something [15:34:00.0000] <mpilgrim> parsing this file: http://hg.diveintopython3.org/hgweb.cgi/raw-file/tip/index.html [15:35:00.0000] <mpilgrim> triggers the end-tag-too-early-ignored {'name': 'form'} on line 16 [15:35:01.0000] <gsnedders> /me notes the impl isn't up to date with the spec (but hopefully will be by the end of this weekend) [15:35:02.0000] <mpilgrim> i don't understand what that error means, or how to fix it [15:35:03.0000] <mpilgrim> the file validates (according to validator.nu), so i'm confused [15:37:00.0000] <zcorpan> mpilgrim: from the message it looks like html5lib didn't expect your </form> tag [15:37:01.0000] <Philip`> mpilgrim: That markup seems quite inconsistent - most whitespace is optional so you should get rid of all those newlines that are wasting precious bytes [15:39:00.0000] <gsnedders> mpilgrim: I guess if it is valid that is a bug in html5lib [15:41:00.0000] <mpilgrim> Philip`: the newlines are stripped out during the publication process [15:41:01.0000] <mpilgrim> compare: http://diveintopython3.org/ [15:44:00.0000] <zcorpan> mpilgrim: how many new lines are stripped? you can have 86 new lines and remove the comment at the top and have the same total number of bytes [15:46:00.0000] <zcorpan> maybe with gzip you could have less bytes if you use newlines without the comment [15:46:01.0000] <Philip`> You could save even more bytes by deleting a chapter [15:47:00.0000] <Philip`> Get rid of, I don't know, maybe the "XML" chapter and then you'll get like a 5% immediate saving [15:49:00.0000] <Rik`> mpilgrim: http://gsnedders.html5.org/outliner/process.py?url=http%3A%2F%2Fdiveintohtml5.org%2Fexamples%2Fblog-html5.html "Untitled section" for the <nav> 2009-11-07 [16:12:00.0000] <gsnedders> mpilgrim: I guess the best answer is to see if that still exists once I finish and commit and push the changes to bring html5lib up-to-date with the spec [16:25:00.0000] <Dashiva> Rik`_: That's a failure of the outliner, technically [16:25:01.0000] <Rik`_> Dashiva: oh ? [16:26:00.0000] <Dashiva> The spec recommends useful defaults for stuff like <nav> [16:26:01.0000] <Dashiva> Since the element already specifies the semantics of the content [16:27:00.0000] <gsnedders> Dashiva: I don't want to implement any heuristics beyond what the spec requires in the outliner though [16:28:00.0000] <Dashiva> gsnedders: "User agents should provide default headings for sections that do not have explicit section headings." [16:28:01.0000] <Dashiva> And then goes on to used "Navigation" in the example [16:28:02.0000] <Dashiva> -d [16:28:03.0000] <zcorpan> "Untitled section" is a default heading [16:29:00.0000] <gsnedders> Dashiva: I'm well aware of what the spec says :) [16:29:01.0000] <gsnedders> Dashiva: And as zcorpan says, there is a default :) [16:29:02.0000] <Dashiva> gsnedders: Well, you're going ... the opposite of beyond ... what the spec does :P [16:31:00.0000] <Dashiva> It's not like it's more than a element name -> section name dict [16:31:01.0000] <cardona507> TabAtkins - did you have any slides or a url from your css gradient talk? [16:34:00.0000] <Hixie> ok between lachy yesterday and anne choking himself just now, y'all are just _trying_ to take yourselves out [16:34:01.0000] <Hixie> wtf [16:35:00.0000] <gsnedders> I'm still alive! [16:35:01.0000] <annevk2> /me was reading http://twitter.com/sgalineau/status/5493563264 [16:35:02.0000] <gsnedders> /me facepalms [16:35:03.0000] <cardona507> haha [16:35:04.0000] <gsnedders> (But has a SMIL come to his face too) [16:36:00.0000] <Hixie> /me puts his drink down before reading that msg [16:36:01.0000] <Hixie> heh [17:09:00.0000] <Dashiva> gsnedders: Do you know enough Norwegian to construct that pun on your own? [17:10:00.0000] <gsnedders> But maNo. [17:11:00.0000] <gsnedders> *no [19:10:00.0000] <gantrixx> I'm curious to know the latest on the HTML5 <video> tag [19:10:01.0000] <gantrixx> this is desperately needed [19:11:00.0000] <gantrixx> I'm tired of trying to get video to work using conflicting plugins [20:03:00.0000] <TabAtkins> /me is on the plane home from TPAC. [02:55:00.0000] <zcorpan_> /me wonders what triple-equality checking is [02:59:00.0000] <zcorpan_> i understand that anne means ===, but first it sounded like checking == three times [03:04:00.0000] <Philip`> It's possible a cosmic ray will invert the output of == [03:04:01.0000] <Philip`> so you need to check it several times if you want to be really really sure [03:32:00.0000] <gsnedders> /me realies he left headphones in the office. Gah. [04:00:00.0000] <zcorpan_> /me looks at a bug for <table><form> and sees that it has a number of dups [04:00:01.0000] <zcorpan_> clearly what opera does is not good enough for web compat [04:07:00.0000] <gsnedders> /me remembers looking at those bugs [07:30:00.0000] <Dashiva> http://www.flickr.com/photos/25541021%40N00/3706760751/in/set-72157620803945238/ [07:30:01.0000] <Dashiva> That's a lot of empty accounts [07:47:00.0000] <erlehmann> ohmigawd [07:47:01.0000] <erlehmann> the german parliamentary tv guy wrote back [07:47:02.0000] <erlehmann> ant asked stuff like „can the video element do rtmp“ [07:48:00.0000] <erlehmann> and attributed HTML5 solely to the W3C [07:48:01.0000] <erlehmann> *double facepalm* [07:54:00.0000] <jgraham> Dashiva: Looking at that twitter stream, I am impressed by the ratio of design goodness to insightfulness [07:54:01.0000] <jgraham> Because there is a lot of the former and almost none of the latter [07:55:00.0000] <jgraham> e.g. almost the flight fatality data he has deals with absolute numbers rather than per journey [07:55:01.0000] <jgraham> Which makes it useless for understanding pretty much anything interesting [08:03:00.0000] <Philip`> Dashiva: Is there really a precise 50% male/female split on Twitter, or did he just make that up? [08:08:00.0000] <Dashiva> :iiam: [11:44:00.0000] <gsnedders> /me opens up text editor to try and fight html5lib into matching the spec [11:49:00.0000] <gsnedders> /me reaches "in body" and sighs [11:58:00.0000] <jgraham> gsnedders: Up. Tommorrow. Yes [11:58:01.0000] <gsnedders> jgraham: So num += 2? [11:58:02.0000] <gsnedders> or only 1? [11:59:00.0000] <jgraham> yes [11:59:01.0000] <jgraham> 2 [12:22:00.0000] <Dashiva> That canvas focus box thing made me think about flash [12:22:01.0000] <Dashiva> In many cases it's possible to use tab to focus the active areas [12:23:00.0000] <Dashiva> But in some cases that actually ruins the flash, games where you aren't supposed to know where to click. [12:23:01.0000] <Dashiva> I wonder if it's possible to play such a game using AT [13:32:00.0000] <Philip`> "assuming the people of the future are at least halfway sane" [13:32:01.0000] <Philip`> That's a dangerous assumption [13:32:02.0000] <Philip`> since I think many of the people of the past and present aren't [13:36:00.0000] <gsnedders> Such as Philip` [13:48:00.0000] <jgraham> Philip`: Maybe the futre here means "a far future in which genetic engineering has boosted average intelligence to remarkable levels" [14:02:00.0000] <gsnedders> Weee, 1500 test failures in html5lib [14:02:01.0000] <gsnedders> I guess that's what I get for having a whole insertion mode not implemented at all [14:05:00.0000] <Trede> Do i interpret the draft correctly that a websocket server can return multiple "websocket-protocol" header names only when a client did not specify any protocol ?. [14:11:00.0000] <gsnedders> Why on earth do we implement the scripting enabled case in html5lib anyway? [14:14:00.0000] <Trede> its quite sad that a draft is allowed to be written so poorly such as the websocket one by ian is. its hardly on the level you expect from something on ietf.org [14:17:00.0000] <gsnedders> zcorpan_: How kind do you feel at the moment? [14:22:00.0000] <zcorpan_> gsnedders: hmm? [14:29:00.0000] <gsnedders> zcorpan_: You know how you wrote all those TCs for <script>? Could you go through all the other test inputs in the tree construction tests that contain <script and update them? :) [14:29:01.0000] <gsnedders> I'll buy you lunch if you do. :) [14:33:00.0000] <Philip`> jgraham: I'm not sure intelligence has much link to sanity [14:34:00.0000] <Philip`> Otherwise there wouldn't be so many mad professors [14:35:00.0000] <Philip`> and TV has taught me that there's a lot of them [14:36:00.0000] <gsnedders> <!doctype html></html> <head> should result in a text node " " under body, right? [14:38:00.0000] <zcorpan_> gsnedders: wasn't the spec changed to ignore end tags there? [14:39:00.0000] <gsnedders> zcorpan_: If I read the spec right (unlikely) then no [14:40:00.0000] <zcorpan_> hmm bash says cvs is not a command :( [14:40:01.0000] <gsnedders> 'An end tag whose tag name is one of: "head", "body", "html", "br"' takes you through all the steps to create the doc, then you end up in after-after-body [14:41:00.0000] <zcorpan_> /me tries smartcvs [14:41:01.0000] <zcorpan_> but now i don't remember what my passphrase is [14:43:00.0000] <gsnedders> /me is amazed at the number of bugs in his tokenizer update code [14:44:00.0000] <TabAtkins> Philip`: It's a better assumption than that the future people will be completely sane. [14:45:00.0000] <TabAtkins> And, I think, is also a better assumption than that the future people will be stupider than us. [14:45:01.0000] <gsnedders> jgraham: 15:15 just inside the cinema tomorrow. [14:46:00.0000] <Trede> like humanity ever improves / [14:47:00.0000] <gsnedders> zcorpan_: Want to see Up in English tomorrow? [14:48:00.0000] <zcorpan_> gsnedders: maybe [14:49:00.0000] <gsnedders> zcorpan_: Just tell me yes/no sometime before I go and buy the tickets tomorrow morning :) [14:53:00.0000] <Philip`> /me thought Up was surprisingly sad [14:55:00.0000] <zcorpan_> oh now i remembered my passphrase [15:47:00.0000] <Philip`> /me never knew that commenting on a spec could be so fraught with difficulties [15:48:00.0000] <Philip`> Looks like there's been more comments commenting on the process of commenting on the MathML spec, than there were comments on the spec [15:51:00.0000] <AryehGregor> Hmm, it seems like someone has checked in RDFa support to MediaWiki. [15:51:01.0000] <Philip`> What does "support" mean? [15:52:00.0000] <AryehGregor> RDFa attributes on elements seem to be whitelisted in user input. Although I haven't looked very hard: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/58712 [15:52:01.0000] <AryehGregor> I'm not sure this actually allows valid RDFa to be output, since it's not namespaced or anything? [15:53:00.0000] <gsnedders> Valid RDFa? It relies upon namespaces, how can it be valid when it relies upon a DTD? :) [15:53:01.0000] <AryehGregor> Eh? [15:53:02.0000] <AryehGregor> Conformant RDFa, if you like. I didn't mean valid in the XML sense. [15:54:00.0000] <gsnedders> I know what you mean, but I'm just being silly about the whole problem with validity and RDFa :) [15:55:00.0000] <Philip`> "RDFa properties allow URIs" - um, no they don't [15:56:00.0000] <Philip`> (except about and resource) [15:56:01.0000] <Philip`> (which don't allow only URIs) [15:58:00.0000] <Philip`> Also: using a regep to detect 'unsafe' attribute values that might run scripts? [15:58:01.0000] <Philip`> *regexp [15:58:02.0000] <AryehGregor> Yes, I commented on that separately. [15:59:00.0000] <gsnedders> html5lib's sanitizer does that too [15:59:01.0000] <AryehGregor> MediaWiki already has a whitelist of safe URL protocols, that should be used if anything is. [15:59:02.0000] <AryehGregor> Regex is fine, just it needs to be whitelist-based, not blacklist. [15:59:03.0000] <AryehGregor> That's assuming any of these URLs can actually be activated by the user, though, which I doubt. 2009-11-08 [16:02:00.0000] <Philip`> http://www.w3.org/TR/rdfa-syntax/#rdfa-attributes lists what the attributes are meant to contain [16:02:01.0000] <AryehGregor> Well, the implementation basically allows any contents. [16:02:02.0000] <AryehGregor> The comment is misleading. [16:03:00.0000] <AryehGregor> My question is, does this actually allow conformant RDFa documents to be generated? [16:03:01.0000] <AryehGregor> I'm not sure. You don't need namespace declarations or other fancy stuff? [16:03:02.0000] <Philip`> You do need namespace declarations [16:03:03.0000] <AryehGregor> Where does it say that? [16:03:04.0000] <Philip`> Most of the stuff uses CURIEs, which require you to declare prefixes [16:03:05.0000] <gsnedders> They just make RDFa 120% more sexy. [16:04:00.0000] <AryehGregor> It seems like CURIEs are optional, you can just use the full URL if you feel like it? [16:04:01.0000] <Philip`> You can't (except in about and resource) [16:04:02.0000] <gsnedders> You can only use the full URL if you have e.g., xmlns:http="http:" [16:04:03.0000] <AryehGregor> Can you give me a link to that in the spec so I can object properly? :) [16:04:04.0000] <AryehGregor> This is freaking long. [16:04:05.0000] <Philip`> http://www.w3.org/TR/rdfa-syntax/#P_curie [16:04:06.0000] <Philip`> is the syntax for CURIEs [16:05:00.0000] <Philip`> which applies to rel/rev/property/datatype/typeof attributes [16:06:00.0000] <gsnedders> RDFa is a wonderly well-designed. [16:06:01.0000] <webben> AryehGregor: http://www.w3.org/TR/rdfa-syntax/#col_Metainformation says the meta attribs must (mostly) use curies [16:06:02.0000] <Philip`> property="http://..." will get interpreted as a prefix "http" and reference "//..." [16:06:03.0000] <Philip`> and not as a proper URL [16:08:00.0000] <Philip`> The script-detection thing seems both useless (browsers aren't going to execute the URLs identified by RDFa attributes) and insufficient (if browsers did execute them, you could write <div xmlns:foo="jav" foo:property="ascript:alert('oops')"> [16:08:01.0000] <Philip`> ) [16:09:00.0000] <Philip`> Um [16:09:01.0000] <Philip`> That's totally wrong [16:09:02.0000] <Philip`> <div xmlns:foo="jav" property="foo:ascript:alert('oops')"> [16:09:03.0000] <Philip`> (perhaps with more percent-encoding to be strictly legal) [16:11:00.0000] <AryehGregor> To allow microdata, we'd just have to permit the item* attributes, right? [16:13:00.0000] <Philip`> Yes [16:16:00.0000] <Philip`> AryehGregor: An unrelated probably bug: Looks like the code is trying to filter 'bad' rel/rev values, but rel/rev aren't allowed by the attribute whitelist anyway so that's pointless [16:16:01.0000] <Philip`> *probable [16:17:00.0000] <Philip`> Anyway, the xmlns: thing kind of kills it unless you only want to use prefixes that are already declared in the page template [16:17:01.0000] <AryehGregor> We could whitelist xmlns:* if we really wanted to. [16:17:02.0000] <AryehGregor> I, of course, will argue we should support microdata instead. :) [16:18:00.0000] <Philip`> Why "of course"? [16:18:01.0000] <AryehGregor> Why not "of course"? [16:18:02.0000] <AryehGregor> I'm not sure why we need either, actually. [16:18:03.0000] <AryehGregor> He didn't give a reason. [16:18:04.0000] <AryehGregor> /me is also trying to persuade someone in #wikimedia-tech to turn on HTML5 output for Wikipedia already, but they all claim they want to go to sleep [16:18:05.0000] <AryehGregor> (maybe tomorrow) [16:20:00.0000] <Philip`> AryehGregor: Why support a new and largely untested technology with precisely zero consumer support, like microdata? [16:21:00.0000] <gsnedders> </body><title>foo</title> creates the title in the body element, right? [16:21:01.0000] <AryehGregor> Why support RDFa if it might die to microdata? [16:21:02.0000] <AryehGregor> Why support any of this stuff? I'm not sure what the use-case is for us. [16:21:03.0000] <Philip`> I don't think you should support either :-) [16:21:04.0000] <gsnedders> Philip`: Go look at that for me. [16:21:05.0000] <Philip`> gsnedders: No [16:22:00.0000] <gsnedders> Philip`: Pretty please? [16:22:01.0000] <gsnedders> Philip`: With a cherry on top? [16:22:02.0000] <Philip`> AryehGregor: Seems better to argue against RDFa due to lack of justification of the complexity it'll introduce [16:23:00.0000] <AryehGregor> See, I don't know why he's introducing it at all. [16:23:01.0000] <JonathanNeal> Hi everyone! \o/ [16:24:00.0000] <Philip`> rather than due to a preference for microdata [16:24:01.0000] <TabAtkins> Hi! \o/ [16:24:02.0000] <Philip`> Argh, stop being so happy >:-( [16:24:03.0000] <Philip`> gsnedders: I don't like cherries [16:26:00.0000] <Philip`> AryehGregor: (By "complexity" I suppose I'm thinking of the complexity of trying to support it properly, rather than badly hacking in a few attributes into a whitelist, though I'm not really sure what "properly" would mean) [16:26:01.0000] <AryehGregor> Philip`, the support here is just letting people add it, i.e., not stripping it out as unrecognized. Not very complicated. [16:30:00.0000] <gsnedders> /me thinks one of zcorpan's tests is wrong [16:30:01.0000] <gsnedders> /me blames zcorpan [16:30:02.0000] <gsnedders> <script><!--<script --></script> --- how much of that is script contents? [16:31:00.0000] <gsnedders> html5lib and me agree that the content is <!--<script --> [16:37:00.0000] <AryehGregor> http://www.mediawiki.org/wiki/Special:Code/MediaWiki/58712#c4406 [16:41:00.0000] <AryehGregor> Hmm, looks like the use-case might be something like outputting EXIF data for images in structured format, stuff like that. [16:41:01.0000] <AryehGregor> That could be legitimate. [16:41:02.0000] <AryehGregor> Meaning we would have to actually make a decision on RDFa vs. microdata. [16:44:00.0000] <JonathanNeal> Philip`, I'm sorry for being so happy. I'll be more sad, just for you. [16:44:01.0000] <JonathanNeal> /me moans because he never feels secure using the <section> tag. [00:59:00.0000] <jgraham> gsnedders: OK. Did you ask Gerald? [01:02:00.0000] <jgraham> AryehGregor: I assume that one of the requirements for "distributed extensibility" is that it not require support from browser makers [01:03:00.0000] <jgraham> So I asume a gol is that I can take something like SVG and implement it in something like IE using something like Flash + Javascript [01:03:01.0000] <jgraham> *goal [01:03:02.0000] <danbri> hi folks. should html5 video element work in Safari 4.0.3? testing here suggests not - http://svn.foaf-project.org/foaftown/buttons/html5/playertest.html# [01:04:00.0000] <danbri> /me trying to wire it to a remote on my iphone via xmpp [01:04:01.0000] <jgraham> Without the IE team having to add in explicit support themselves [01:05:00.0000] <jgraham> danbri: wfm in 4.0.2 [01:06:00.0000] <jgraham> danbri: (on 10.5) [01:06:01.0000] <danbri> /me in osx 10.5.8 [01:09:00.0000] <jgraham> danbri: 10.5.8 here [01:15:00.0000] <jgraham> danbri: Oh it's an ogg ile. You'll need the Xiph quicktime bits installed for that to work in Safari [01:15:01.0000] <jgraham> *file [01:28:00.0000] <krijnh> Dashiva: nope, I don't [01:32:00.0000] <danbri> thanks jgraham! [01:40:00.0000] <danbri> jgraham, that fixed it yep... [01:48:00.0000] <gsnedders> jgraham: No [01:49:00.0000] <gsnedders> jgraham: But I don't have any way of asking him [02:46:00.0000] <jgraham> gsnedders: OK Maybe we should phone him or something then [02:47:00.0000] <jgraham> /me is going to the shop [02:52:00.0000] <gsnedders> /me was going to buy tickets soon... [02:53:00.0000] <gsnedders> Before heading over to Tornby, but I think it's probably too late to safely o I want there [02:55:00.0000] <gsnedders> /me has one known issue in his html5lib update [02:55:01.0000] <gsnedders> Concecutive text nodes [03:00:00.0000] <gsnedders> /me snarls at people who use other people's phones thereby breaking caller id [03:57:00.0000] <gsnedders> /me hopes he correctly managed to buy tickets [03:58:00.0000] <gsnedders> (Actually, I don't really doubt it) [04:12:00.0000] <jgraham> gsnedders: As long as we got the English version [04:12:01.0000] <jgraham> There is also a Swedish version at 15:30 [04:13:00.0000] <gsnedders> jgraham: Yes [04:14:00.0000] <gsnedders> jgraham: You get any idea how to deal with adjacent text nodes in html5lib? [04:16:00.0000] <jgraham> gsnedders: Not without looking at the code [04:16:01.0000] <jgraham> What is the problem? That we should get multipl text nodes in some cases? [04:17:00.0000] <gsnedders> yes [04:19:00.0000] <gsnedders> It's the reason for the only test failure I have here now [04:19:01.0000] <jgraham> In general it's not something that we support [04:19:02.0000] <jgraham> Since e.g. elementtree has no way to represent it [04:19:03.0000] <jgraham> But obviously DOM does [04:20:00.0000] <gsnedders> Right [04:20:01.0000] <jgraham> Oh I see you just filed a bug on that [04:20:02.0000] <gsnedders> I meant to a while ago [04:20:03.0000] <jgraham> /me would prefer if the parser always created normalised text nodes [04:21:00.0000] <jgraham> i.e. never created adjacent ones [04:21:01.0000] <gsnedders> hsivonen was against that on perf grounds,IIRC [04:21:02.0000] <jgraham> I think that is a bit of a silly argument given how fast parsing ypically is compared to layout [04:21:03.0000] <jgraham> +t [04:22:00.0000] <gsnedders> Indeed, and in html5lib's case it would be slower [04:22:01.0000] <gsnedders> It suits one implementation strategy, and only one [04:24:00.0000] <jgraham> gsnedders: So it is quite easy to see how to prevent html5lib always coalescing adjacent text nodes [04:24:01.0000] <jgraham> But I guess the prolem is to prevent it happening only sometimes? [04:24:02.0000] <gsnedders> In the way the spec wants? [04:24:03.0000] <jgraham> gsnedders: No [04:24:04.0000] <jgraham> I expect [04:25:00.0000] <gsnedders> You want to create a single text node when the text node was the last thing inserted into the document [04:25:01.0000] <gsnedders> Gah. git blame source is slow. [04:26:00.0000] <jgraham> gsnedders: We could have a flag in the treebuilder I guess [04:26:01.0000] <jgraham> But it seems ugly :( [04:26:02.0000] <gsnedders> But then we need to make sure it is always right [04:26:03.0000] <gsnedders> And that's ugly and slow. [04:26:04.0000] <jgraham> Yes [04:26:05.0000] <gsnedders> I think the correct solution is bitch at the spec. [04:26:06.0000] <jgraham> I tebnd to agree [04:26:07.0000] <jgraham> *tend [04:31:00.0000] <gsnedders> http://html5.org/tools/web-apps-tracker?from=1333&to=1334&context= [04:32:00.0000] <gsnedders> Date: Tue Mar 4 07:25:17 2008 +0000 [04:34:00.0000] <gsnedders> Ah, it's Philip`'s fault [04:34:01.0000] <gsnedders> http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-March/014148.html [04:37:00.0000] <gsnedders> No, that's not the change. [04:38:00.0000] <danbri> video question , ... if i'm playing a video, then .js alters the src= url to point to another ... what's the proper way to get the new video playing? [04:39:00.0000] <gsnedders> http://html5.org/tools/web-apps-tracker?from=2123&to=2124&context=10 [04:39:01.0000] <gsnedders> There's the change. [04:40:00.0000] <gsnedders> Date: Fri Aug 29 09:24:33 2008 +0000 [04:41:00.0000] <gsnedders> http://lists.w3.org/Archives/Public/public-html/2008Aug/0890.html [04:44:00.0000] <gsnedders> danbri: It should start playing once there is enough data [04:46:00.0000] <danbri> ah ok, not super snappy then [04:46:01.0000] <danbri> /me wired my iphone up as a remote [04:48:00.0000] <danbri> doing this: [04:48:01.0000] <danbri> var avElement = document.getElementById('content'); [04:48:02.0000] <danbri> avElement.src = trailers[ix]['file']; [04:48:03.0000] <danbri> avElement.play(); [04:48:04.0000] <danbri> } [05:11:00.0000] <Dashiva> Oh my [05:11:01.0000] <Dashiva> This gives an interesting result in Firefox: javascript:alert((function(){ return 2 * 3; }).toString()) [05:17:00.0000] <gsnedders> I wonder how I can redesign gsnedders.com to not make it suck [05:17:01.0000] <Dashiva> Drop shadows [05:18:00.0000] <Dashiva> And a font that isn't all pixely [05:18:01.0000] <gsnedders> That's not quite what I was thinking of. [05:19:00.0000] <gsnedders> I'm kinda tempted to finally use http://stuff.gsnedders.com/tri.html [05:41:00.0000] <gsnedders> Setting HTMLMediaEelent.src should cause the new src to load, right? [05:42:00.0000] <Dashiva> "If a src attribute of a media element is set or changed, the user agent must invoke the media element's media element load algorithm." [05:43:00.0000] <gsnedders> Yeah, which makes me think it should [05:43:01.0000] <gsnedders> Then why in both Safari and Firefox does it require .load() to do anything? [05:43:02.0000] <gsnedders> /me guesses a spec change seeming they both fail the same way [05:45:00.0000] <danbri> thanks for debugging this gsnedders! [05:45:01.0000] <danbri> i can now turn over html5 videos using my handheld apple remote, or my iphone :) [05:46:00.0000] <gsnedders> So your handheld apple remote, or your handheld apple remote? :) [05:46:01.0000] <danbri> (the former with an apple-event/xmpp bridge running on laptop) [05:46:02.0000] <danbri> /me has two hands [05:46:03.0000] <gsnedders> But which is quicker? :P [05:47:00.0000] <danbri> the physical remote has huge advantage you can use it without looking where your thumb is [05:47:01.0000] <danbri> sure someone will eventually invent screens that change physical texture to show button areas with lumps [05:47:02.0000] <danbri> at which point html will need more APIs again :) [05:47:03.0000] <gsnedders> And patent it. [05:49:00.0000] <danbri> there must be something existing already ,it's too obvious [05:49:01.0000] <danbri> but a screen that could mutate shapes and be multi-touch, ... tough one [05:49:02.0000] <Dashiva> Do you need to implement something to get a software patent for it? [05:49:03.0000] <danbri> i think so (cf. perpetual motion machines etc) [05:50:00.0000] <danbri> ianal & idwtbal [05:50:01.0000] <Dashiva> Real patents, yes, but software has no physical object as result [05:53:00.0000] <danbri> now i need more ogg videos to test with! [05:53:01.0000] <danbri> i guess deep linking with these things is considered more obnoxious even than with images [05:53:02.0000] <Philip`> jgraham: The "perf grounds" are about worst-case performance, which is an important issue since we'd probably want to avoid DOS attacks on the parser [05:54:00.0000] <Philip`> (so the typical speed of parsing is not relevant) [05:54:01.0000] <Philip`> because if you coalesce all adjacent text nodes, in a language with immutable strings, it can give quadratic performance in the size of the input, which is bad [05:55:00.0000] <gsnedders> e.g., <table>a<table>b<table>c<table>d... [05:56:00.0000] <danbri> (is the spinny thing in the middle of firefox html5 video trying to tell me the video is still loading?) [05:56:01.0000] <gsnedders> (I was wondering that too, and guessing that) [05:57:00.0000] <gsnedders> /me guesses jgraham is about to leave his flat for the cinema [05:57:01.0000] <gsnedders> /me guesses he ought to go too, expecially seeming he has all the tickets [05:58:00.0000] <gsnedders> (I wonder, seeming they are showing this in both English and Swedish, whether the English version will have Swedish subtitles or not.) [06:00:00.0000] <gsnedders> /me heads off [06:15:00.0000] <AryehGregor> jgraham, you can implement SVG in IE using JavaScript and Flash. Demonstrably. So if that's the use-case, problem solved. :) [06:16:00.0000] <AryehGregor> AFAICT, the "decentralized" part of "decentralized extensibility" is mainly a) avoid naming conflicts, b) discoverability of the specification, and (depending on who you ask) c) use XML namespaces. [06:16:01.0000] <AryehGregor> Happily, the proposal satisfies (a) and (c). [06:16:02.0000] <AryehGregor> (b) could be done too, probably, somehow, without actually affecting people from real life who only use things like HTML. [06:48:00.0000] <AryehGregor> Philip`, it looks like the use-case for RDFa in MediaWiki is allowing license metadata. [06:49:00.0000] <AryehGregor> Since Google and CC are behind RDFa for that. [06:57:00.0000] <Philip`> AryehGregor: For images, like what I assume http://googlewebmastercentral.blogspot.com/2009/08/specifying-images-license-using-rdfa.html says except apparently that information is idiotically only available as a video so I've got no idea what it says? [06:58:00.0000] <Philip`> I assume it says something like what the first part of http://webbackplane.com/mark-birbeck/blog/2009/08/using-rdfa-to-provide-license-information-to-google-image-search says [06:59:00.0000] <Philip`> (and I guess the latter part of that blog post may be mistaken because it's based on the assumption that Google actually has a proper RDFa parser) [07:07:00.0000] <AryehGregor> I think Google allows either RDFa or microformats. [07:07:01.0000] <AryehGregor> But CC advocates RDFa. [07:07:02.0000] <AryehGregor> (I do mean microformats, not microdata . . . yay confusing names) [07:08:00.0000] <TabAtkins> Just encode your microformats using microdata. Problem solved. ^_^ [07:12:00.0000] <Philip`> AryehGregor: http://www.google.com/support/webmasters/bin/answer.py?answer=99170 is pseudo-RDFa plus microformats, but that's not for licensing information [07:12:01.0000] <AryehGregor> Google does check for licensing somehow. [07:12:02.0000] <AryehGregor> For its image search. [07:14:00.0000] <AryehGregor> /me wonders how public-html-request got CCd on the ARIA roles discussion [07:15:00.0000] <TabAtkins> Yeah, dunno, I got an auto-message from it. Pretty weird. [07:37:00.0000] <AryehGregor> Some Wikipedia vandals are pretty entertaining. http://en.wikipedia.org/w/index.php?title=Comparison_of_Microsoft_Windows_versions&diff=prev&oldid=324528354 [07:47:00.0000] <erlehmann> i'm just watching a lecture from 23C3, bert bos on CSS … will there be something from browser / whatwg people on 26C3 ? [08:06:00.0000] <Dashiva> I wonder what browser "1.10" is [08:09:00.0000] <Philip`> Maybe it's a new tactic to stop people doing UA sniffing for specific browsers [08:09:01.0000] <Philip`> by not giving the UA a name at all, just a version number [08:17:00.0000] <TabAtkins> AryehGregor: Heh. [09:46:00.0000] <Dashiva> gsnedders: Hva you considered a phone that is a phone, and not a tiny general-purpose computer? [09:53:00.0000] <AryehGregor> Personally, I've come to dislike electronic devices that aren't general-purpose computers. [09:54:00.0000] <AryehGregor> Like I don't use an alarm clock anymore. It was too tiresome to set it by hand every day. [09:54:01.0000] <AryehGregor> I just use cron, at, and beep(1). [09:55:00.0000] <AryehGregor> I'm waiting for a phone I can install Ubuntu on, then maybe I'll get a cell phone. [09:56:00.0000] <Philip`> AryehGregor: You could always get an alarm clock which automatically goes off at the same time every day [09:56:01.0000] <Philip`> I don't think that's a rare and highly advanced feature [09:57:00.0000] <AryehGregor> The problem is, I don't get up at the same time every day. [09:58:00.0000] <AryehGregor> 35 7 * * sun /home/aryeh/bin/alarm [09:58:01.0000] <AryehGregor> 30 6 * * mon /home/aryeh/bin/alarm [09:58:02.0000] <AryehGregor> 5 7 * * tue,thu,fri /home/aryeh/bin/alarm [09:58:03.0000] <AryehGregor> 40 6 * * wed /home/aryeh/bin/alarm [09:58:04.0000] <AryehGregor> 0 8 * * sat /home/aryeh/bin/alarm [09:58:05.0000] <AryehGregor> In a similar vein, any text field that's not vim aggravates me. [10:00:00.0000] <AryehGregor> /me was very annoyed just now that he couldn't use Ctrl-V to remove the timestamps from /exec crontab -l output in his IRC client [14:12:00.0000] <gsnedders> Dashiva: That is the sort of phone I am considering. 2009-11-09 [17:34:00.0000] <JonathanNeal> Hi!!! \o/ [17:37:00.0000] <TabAtkins> You get more excited every time I see you. [17:38:00.0000] <JonathanNeal> TabAtkins, yea, well it's fun. [17:39:00.0000] <JonathanNeal> Sometimes I get so excited writing a jquery plugin, I'll include a themesong. [17:46:00.0000] <TabAtkins> I can relate to that, JonathanNeal. jQuery plugins are exciting things to write! [17:46:01.0000] <Dashiva> Write the jQuery national anthem [17:46:02.0000] <Dashiva> Played with an audio element whenever the script is loaded [17:56:00.0000] <JonathanNeal> Actually because you mentioned that [17:56:01.0000] <JonathanNeal> I just wrote a yayQuery theme song for their upcoming podcast. [18:11:00.0000] <JonathanNeal> http://jquery.thewikies.com/swfobject/ <-- theme song is on the main page. [18:11:01.0000] <JonathanNeal> New version released too :P [18:18:00.0000] <Dashiva> Nice tune [18:23:00.0000] <JonathanNeal> thanks Dashiva :-) [18:23:01.0000] <TabAtkins> That's... interesting. ^_^ [23:04:00.0000] <hsivonen> gsnedders: IIRC, it was Philip who pointed out a time complexity problem with coalescing all text nodes (including the foster-parented case) [23:05:00.0000] <hsivonen> the V.nu/Gecko HTML5 parser has bugs in this area [23:05:01.0000] <hsivonen> it sometimes splits a text node even where it shouldn't per spec [23:35:00.0000] <mdrphp> does anyone here have a moment to test out a wysiwyg script i have, and see what you think of it? [23:40:00.0000] <hsivonen> was this printed by a Microsoft employee? http://www.flickr.com/photos/8554702@N05/4080900839/in/set-72157622749234808/ [23:56:00.0000] <gsnedders> hsivonen: Indeed, if you look further in the logs you'll see I found the email from Philip` that changed it. [00:01:00.0000] <jgraham> Well like I said there's no posible way we can split text in about half our backends since they don't have the concept of text nodes [00:01:01.0000] <jgraham> And I think it will be an enormous pain to get this right for the other half of our backends (the useless ones) [00:04:00.0000] <gsnedders> Indeed. [00:05:00.0000] <gsnedders> And implementations in lower level languages, such as those used in browsers, can simply support mutable strings and just have O(n) behaviour. [00:10:00.0000] <jgraham> gsnedders: Well that seems like a rather unfair requirement since browsers could have chosen to use immutable strings already [00:12:00.0000] <jgraham> (In principle if you can change the string implementation, you could do something like http://bugs.python.org/issue1569040 although note that patch hasn't been accepted :( ) [00:12:01.0000] <othermaciej> hsivonen: I don't know who printed it but I do believe Paul Cotton brandished it at some points [00:12:02.0000] <othermaciej> jgraham: is there a requirement in the HTML5 parser to sometimes have multiple adjacent text nodes? [00:20:00.0000] <hsivonen> othermaciej: IIRC, it's at least permitted when text is foster-parented [00:21:00.0000] <hsivonen> othermaciej: ok. good enough supporting evidence for the rumor that MS employees like to print specs. [00:21:01.0000] <othermaciej> hsivonen: I was not aware of such a rumor [00:22:00.0000] <gavin> I have a colleague who likes to print unified diffs that he needs to review [00:22:01.0000] <gavin> he reviews them with a pen! [00:25:00.0000] <roc> if developers used the online version, people could mine the whatwg.org logs to figure out what was being implemented [00:36:00.0000] <MikeSmith> /me is on a train back to Shinjuku, checking the logs to see if he's missed anything interesting [00:37:00.0000] <gsnedders> MikeSmith: Everything. [00:40:00.0000] <jgraham> othermaciej: http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#insert-a-character Note the example [00:41:00.0000] <jgraham> specifically the <table>A<tr>B one [00:41:01.0000] <othermaciej> that's some wacky examples [00:50:00.0000] <MikeSmith> fwiw, I think it was one of the X3D guys who printed out the copy of the spec, and for benign reasons (not for purposes of it being used as a prop) [00:51:00.0000] <othermaciej> I don't think the use as a prop was malicious [00:52:00.0000] <MikeSmith> /me is finding that the certain eyboard eys on his aptop don't wor any onger after train went around a curve and beverage spashed down on his eyboard [00:59:00.0000] <MikeSmith> othermaciej: btw, I guess you saw that the ruby support got committed [00:59:01.0000] <othermaciej> MikeSmith: yep [01:00:00.0000] <MikeSmith> /me having a hard time wording things without using characters between i and m [01:04:00.0000] <MikeSmith> othermaciej: I'm wondering what my chances are of convincing somebody to become editor for the CSS Ruby spec so that we can move that forward faster and get it supported too [01:04:01.0000] <othermaciej> MikeSmith: don't look at me :-) [01:04:02.0000] <MikeSmith> heh [01:05:00.0000] <danbri> ghjkl;'\ [01:05:01.0000] <danbri> there you go, copy/pastable [01:05:02.0000] <danbri> /me used to google for ~ when first got an italian keyboard mac [01:06:00.0000] <MikeSmith> maybe I can as Mr, Steiner [01:06:01.0000] <MikeSmith> he understands the issues better than anybody by now, perhaps [01:09:00.0000] <gsnedders> MikeSmith: Ruby support got committed into what? WebKit? [01:10:00.0000] <MikeSmith> gsnedders: yeah [01:10:01.0000] <hsivonen> does WebKit support Ruby as an addition to CSS or as a non-CSS extension to layout? [01:11:00.0000] <MikeSmith> hsivonen: I thin it does not support CSS Ruby yet at all [01:11:01.0000] <hsivonen> ok [01:11:02.0000] <MikeSmith> gsnedders: already in Webkit nightlies [01:11:03.0000] <MikeSmith> dunno about Chrome [01:14:00.0000] <MikeSmith> (thanks to danbri for the the l's and k's) [01:14:01.0000] <danbri> careful, don't use 'em all at once [01:20:00.0000] <MikeSmith> heh [01:20:01.0000] <MikeSmith> I have a new appreciation for them [01:20:02.0000] <MikeSmith> the letter 'j' in contrast seems mostly unnecessary [01:57:00.0000] <zcorpan_> /me has now updated http://www.w3.org/XML/Group/2009/09/xml-stylesheet.html (member-only link, sorry) [02:10:00.0000] <jgraham> /me discovers that hsivonen already sent an email saying the same things he just wrote [02:37:00.0000] <gsnedders> /me despises websites taht require www. [02:39:00.0000] <annevk2> whoa, MathML comments thread is still ongoing [02:39:01.0000] <annevk2> and it is long [02:39:02.0000] <annevk2> geez [02:39:03.0000] <zcorpan> we don't have consensus on whether we need to have consensus on comments [02:41:00.0000] <gsnedders> /me think he's going to have fun when he gets around to catching up on email [02:45:00.0000] <annevk2> zcorpan, new laptop? [02:45:01.0000] <zcorpan> annevk2: no [02:46:00.0000] <zcorpan> annevk2: well, at least not the past year or so [02:49:00.0000] <annevk2> there was this message ID ending in macbook.local from you [02:49:01.0000] <annevk2> didn't know you had a MacBook [02:50:00.0000] <gsnedders> It's not as if he had it at the engineering eminar :) [02:50:01.0000] <annevk2> did he? [02:51:00.0000] <zcorpan> i only used it on the last day, probably after anne had left [02:51:01.0000] <gsnedders> /me shrugs shoulders [02:51:02.0000] <gsnedders> You left it before we went back to Linkoping [02:52:00.0000] <annevk2> I'm just saying it because the only laptop I can remember zcorpan having is one with a somewhat broken screen [02:52:01.0000] <zcorpan> that one doesn't boot anymore [02:52:02.0000] <zcorpan> or at least not last time i tried [02:52:03.0000] <gsnedders> /me stops playing around on Facebook and gets back to trying to do uni application stuff [03:39:00.0000] <jgraham> anyone fancy mentioning html5lib on http://news.ycombinator.com/item?id=930717 ? [03:40:00.0000] <Philip`> jgraham: The original poster of that story stole your name :-( [03:42:00.0000] <jgraham> Philip`: I don't have the spare "c" lying around though [03:57:00.0000] <jgraham> BTW I just reran the parsing speed tests that Ian Bicking did and I get html5lib elementtree / lxml = 35 compared to 50 that he got [03:58:00.0000] <jgraham> So either we are faster or the test isn't that reliable or my machine is sufficiently different from his to make the comparison meaningless or my lxml is slower [03:58:01.0000] <jgraham> Or something else [04:01:00.0000] <Philip`> I think there were quite a few speedups of html5lib since those results were originally published, so it seems likely that that's the cause of the relative improvement [04:01:01.0000] <jgraham> Yeah, I was expecting some speedup. But I also made things slower again [04:02:00.0000] <jgraham> So I'm not totally sure what the net change is [04:02:01.0000] <Philip`> I think most of the slowness was in the tokeniser and I couldn't find any easy way to make that faster in pure Python [04:02:02.0000] <jgraham> (in particular all the namespace support makes things slower) [04:03:00.0000] <jgraham> Philip`: I think there are a number of microoptimisations that one could make [04:03:01.0000] <jgraham> But I don't know if any of them would have a significant effect [04:05:00.0000] <Philip`> I experimented a tiny bit with writing loops to just extract tag names from input like "aaaa<foo>test<etc>", and none were significantly faster than the entire html5lib tokeniser [04:05:01.0000] <jgraham> (in fact there was a whole thread on python-discuss about how html5lib was clearly written by a bunch of idiots becuase we didn't make every posssible optimisation and dared to use if statements rather than dictionary lookups + function calls) [04:06:00.0000] <jgraham> (note: iirc we weren't actually ever called a bunch of idiots) [04:06:01.0000] <annevk2> though we clearly are [04:06:02.0000] <jgraham> (also we did get one useful patch out of it which was nice) [04:06:03.0000] <Philip`> If I remember correctly, almost all the time is spent in the data state and attribute value states [04:07:00.0000] <annevk2> jgraham, seems a bit pointless to waste a thread on that indeed [04:07:01.0000] <annevk2> jgraham, if Python had a decent HTML parser we would not have to write one... [04:08:00.0000] <Philip`> annevk2: By "decent" you mean "implements the HTML5 spec precisely"? [04:09:00.0000] <Philip`> Python seems to have a good excuse in that case, since HTML5 didn't exist when its standard library parsers were written [04:10:00.0000] <jgraham> Philip`: If by decent you mean "usable for common tasks" and by "python" you mean "the python standard library" it seems like a fair comment irrespective of HTML5 conformance [04:11:00.0000] <jgraham> (note the fact that the blog post author from the ycombinator article above was complaining that someone used regexps because they were better than the stdlib) [04:11:01.0000] <Philip`> So if Python had a standard usable HTML-parsing library (that didn't follow the HTML5 spec) then nobody would have written html5lib? [04:11:02.0000] <annevk2> Philip`, naturally [04:11:03.0000] <jgraham> I would have written html5lib still [04:11:04.0000] <jgraham> Because the goal for me was to understand that part of the spec not to produce the best possible tool [04:12:00.0000] <gsnedders|work> What difference does processing textarea in the "text" insertion mode make? [04:12:01.0000] <jgraham> The fact that I incidentially produced a tool that I now use all the time is happy coincidence [04:12:02.0000] <jgraham> too many incidences [04:12:03.0000] <gsnedders|work> As the tokenizer is in RCDATA mode, the only end tag that can be outputted is textarea, so it should make none [04:16:00.0000] <Philip`> (By the way, removing parse error support would probably make html5lib measurably faster (like 5% or something), since line-counting in the input stream was a bit slow when I last checked) [04:17:00.0000] <gsnedders|work> I thought we only did line-counting upon throwing an error, now [04:18:00.0000] <Philip`> How could that work? It would have thrown away all the input data by that point, and it'd be too late to count [04:20:00.0000] <Philip`> Oh, it computes the position at the end of every chunk, then adds counts from the current chunk when there's an error [04:21:00.0000] <Philip`> I don't think it did that when I last looked :-p [04:21:01.0000] <jgraham> I think that was one of the results of the python-discuss thread [04:21:02.0000] <Philip`> Was that a recent thread? [04:21:03.0000] <jgraham> Philip`: Sometime over the summer iirc [04:22:00.0000] <Philip`> I thought you meant some thread I vaguely remembered from many years ago [04:22:01.0000] <jgraham> (that issue wasn't discussed on the thread because people were too busy getting upset at the use of if statements) [04:27:00.0000] <Philip`> Maybe html5lib should come with a set of benchmarks, and if somebody suggests an optimisation then tell them to demonstrate it has a real effect first [04:28:00.0000] <gsnedders|work> Philip`, There's an if statement in that sentence. [04:28:01.0000] <jgraham> http://mail.python.org/pipermail/python-list/2009-July/187459.html [04:28:02.0000] <jgraham> Philip`: Seems reasonable [04:29:00.0000] <jgraham> Then we could track perf too :) [04:30:00.0000] <Philip`> Hmm, is he suggesting additions to the Python language in order to help performance? [04:30:01.0000] <Philip`> I thought experience with JavaScript indicates you can make dynamic languages zillions of times faster without changing the language itself [04:31:00.0000] <jgraham> It suggests that you can make jsvascript faster without changing the language [04:31:01.0000] <gsnedders|work> It'd be interesting to download a copy of unladen swallow and benchmark using that [04:31:02.0000] <jgraham> I'm not clear how well it generalizes [04:32:00.0000] <jgraham> (like I'm sure you can make it faster but does the lack of __getattr__, for example, make javascript easier to optimize) [04:32:01.0000] <Philip`> Psyco indicates you can make Python a lot faster [04:32:02.0000] <Philip`> without changing the language [04:32:03.0000] <jgraham> s/)/?)/ [04:32:04.0000] <jgraham> Sure. I don't doubt that it can be faster. I'm less clear whether you can get the same factor speedups as for javascript in the general case [04:33:00.0000] <jgraham> (rather than for special cases like code that does a lot of arithmetic operations) [04:33:01.0000] <Philip`> JS engines don't give you the same factor speedup in the general case [04:34:00.0000] <Philip`> They optimise for programs that have lots of static features like classes (objects with the same structure) and don't use crazy JS features (like with and eval) [04:34:01.0000] <Philip`> and presumably you could do the same for Python [04:35:00.0000] <jgraham> Hopefully [04:36:00.0000] <Philip`> Python doesn't even have prototypes to mae property access complex [04:36:01.0000] <Philip`> s//k/ [04:37:00.0000] <Philip`> Maybe someone should profile CPython running html5lib [04:41:00.0000] <Philip`> "There's a comment in the code that it would be useful to run a few billion lines of HTML through an instrumented version of the parser to decide in which order the IF statements should be executed. You shouldn't have to do that." - you don't have to do that, because you could get a representative sample with a few hundred pages, and it because it makes pretty much zero difference in practice [04:43:00.0000] <jgraham> /me thought he had removed that comment [04:43:01.0000] <zcorpan> maybe it would also still be useful to do even though python was fast [04:58:00.0000] <zcorpan> what should happen for onclick = 1; per html5? [04:58:01.0000] <zcorpan> should getting onclick return 1 or null? [05:01:00.0000] <zcorpan> /me means the IDL attribute [05:03:00.0000] <zcorpan> "Event handler IDL attributes, on setting, must set the corresponding event handler to their new value, and on getting, must return whatever the current value of the corresponding event handler is (possibly null)." [05:03:01.0000] <hsivonen> do the top 5 browsers all use libpng and the IJG's JPEG decoder? [05:08:00.0000] <zcorpan> /me can't make sense out of webidl [05:16:00.0000] <jgraham> /me thinks it should throw TypeError [05:17:00.0000] <jgraham> Following the rules in http://dev.w3.org/2006/webapi/WebIDL/#es-interface [05:18:00.0000] <zcorpan> oh ie throws [05:18:01.0000] <zcorpan> opera sets it to null [05:18:02.0000] <zcorpan> firefox sets it to 1 [05:19:00.0000] <zcorpan> and chrome sets it to null [05:20:00.0000] <zcorpan> thanks jgraham [05:41:00.0000] <gsnedders|work> Is there anyway to use grep to search for U+0008? [05:43:00.0000] <Philip`> gsnedders|work: grep -P '\x08' [05:43:01.0000] <gsnedders|work> Philip`, Thx [05:46:00.0000] <Philip`> Why would a third-party power adapter cause my laptop to work fine except that the touchpad is unreliable (the cursor moves stickily) when it's plugged in? [05:46:01.0000] <Philip`> (It works fine with the official adapter, or when it's unplugged) [05:47:00.0000] <jgraham> Philip`: Depends in some odd way on the precise voltage? [05:47:01.0000] <jgraham> Or the stability of the voltage? [05:49:00.0000] <Philip`> I suppose that's possible, but it seems a bit odd [05:50:00.0000] <jgraham> Well it seems a bit odd that there would be a problem at all [05:51:00.0000] <Philip`> Indeed [05:51:01.0000] <Philip`> When it first happened I wondered if my fingers were broken [05:51:02.0000] <Philip`> and had stopped emitting whatever signals the touchpad picks up [05:52:00.0000] <Philip`> but it's definitely a problem that occurs when (and only when) I have this adapter plugged in [05:57:00.0000] <danbri> /me finds http://neosmart.net/blog/2009/watch-youtube-videos-in-html5/ [05:57:01.0000] <danbri> oh http://www.youtube.com/html5 :) [06:00:00.0000] <TabAtkins> If I've already installed a webkit nightly, and I'm staring at its folder right now, what do I click to make it run again? [06:00:01.0000] <TabAtkins> /me has tried FindSafari and run-nightly-webkit [06:01:00.0000] <Rik|work> TabAtkins: run-nightly-webkit should work [06:01:01.0000] <Rik|work> (if you have Safari installed) [06:02:00.0000] <TabAtkins> Yeah, I ran this particular nightly already. It keeps erroring out with a generic windows crash message, though. ;_; [06:06:00.0000] <Rik|work> oh, then I won't know [06:06:01.0000] <Rik|work> TabAtkins: is it the latest nightly ? [06:07:00.0000] <TabAtkins> No, from a few days back. Probably Tuesday. [06:07:01.0000] <Rik|work> then I'll suggest trying the latest nightly and if it still doesn't work, file a bug [06:09:00.0000] <TabAtkins> Doing so now. [06:10:00.0000] <Dashiva> How did I miss this for five months: http://technology.todaysbigthing.com/2009/06/25 [06:14:00.0000] <hsivonen> Dashiva: that's rather depressing from the point of view of browser competition [06:16:00.0000] <erlehmann_> can a safari user test this ? data:text/html;,<video src="http://c13014-o.d.core.cdn.streamfarm.net/13014bundestag/ondemand/3777parlamentsfernsehen/archiv/app144277506/145293313/381248/381248_h264_720_576_2000kb_de_2192.mp4"> [06:19:00.0000] <Rik|work> erlehmann_: what do you want to test ? [06:19:01.0000] <erlehmann_> Rik|work, does it work with safari ? i heard there were some weird issues regarding h.264 profiles [06:20:00.0000] <Rik|work> it works in the nightly [06:20:01.0000] <hsivonen> erlehmann_: WFM in Safari 4 on SL if I add the controls attribute [06:20:02.0000] <erlehmann_> nice. [06:20:03.0000] <Rik|work> yeah, I add to add the controls attribute too [06:21:00.0000] <Rik|work> had [06:21:01.0000] <hsivonen> erlehmann_: now if Bundestag provided Theora video... [06:21:02.0000] <erlehmann_> Rik|work, now i'll just add that to something. wait. [06:22:00.0000] <erlehmann_> hsivonen, i'm doing a proof of concept right now and going to send that to the technician. [06:26:00.0000] <Philip`> erlehmann_: Make it work on an iPhone [06:26:01.0000] <Philip`> Then everyone will think it's really cool [06:27:00.0000] <erlehmann_> wait. i'm nearly done [06:28:00.0000] <erlehmann_> Philip`, hsivonen, Rik|work http://daten.dieweltistgarnichtso.net/src/bundestag-html5-demo/od_player.html [06:28:01.0000] <erlehmann_> video with two source elements and flash fallback [06:28:02.0000] <erlehmann_> theora, h.264 [06:28:03.0000] <erlehmann_> does it work everywhere? [06:29:00.0000] <Philip`> Works in Firefox on Linux [06:29:01.0000] <gsnedders|work> Not in IE without Flash installed. [06:29:02.0000] <Philip`> (3.5) [06:30:00.0000] <Rik|work> erlehmann_: I can't really tell, I have the quicktime ogg plugin installed [06:30:01.0000] <Philip`> Works in Chromium on Linux too [06:30:02.0000] <erlehmann_> gsnedders|work, that's intented, you insensitive clod. ;) [06:30:03.0000] <hsivonen> erlehmann_: have you tested your embedding sample code from a different Origin? [06:30:04.0000] <Philip`> (playing the .ogv) [06:30:05.0000] <hsivonen> /me predicts it won't work [06:30:06.0000] <gsnedders|work> erlehmann_, You asked if there was anywhere it wouldn't work. [06:30:07.0000] <erlehmann_> hsivonen, there are no origin headers. why are you asking ? [06:31:00.0000] <hsivonen> erlehmann_: your demo page itself works in Minefield and Safari for me [06:31:01.0000] <erlehmann_> i salute all of you then :) [06:31:02.0000] <erlehmann_> lets hope the bundestag tech department also sees the merit of it. [06:31:03.0000] <hsivonen> erlehmann_: unless you use CORS to permit cross-Origin use of the .ogv video, I expect it not to work in Firefox cross-origin [06:32:00.0000] <Philip`> erlehmann_: What merit? [06:32:01.0000] <Philip`> erlehmann_: I assume their Flash version already works, and is easier to set up since there's fewer encodings :-) [06:33:00.0000] <erlehmann_> it does. but it is clunky and cumbersome. we'll see. [06:33:01.0000] <hsivonen> Philip`: video without the plug-in prison! [06:33:02.0000] <erlehmann_> playable with elinks and vlc-nox !! [06:34:00.0000] <Philip`> I don't know many prisons where 98% of the world are voluntary inmates, so that's not a perfect analogy [06:34:01.0000] <Philip`> (NB: I just made that number up) [06:34:02.0000] <hsivonen> Philip`: is Flash a voluntary inmate? [06:34:03.0000] <gsnedders|work> 99.98% of all statistics are made up on the spot. [06:35:00.0000] <workmad3> Philip`: I think adobe advertises about a 95% install percentage of flash players in general [06:35:01.0000] <Philip`> Oh, it's a prison for technologies rather than for users? [06:35:02.0000] <gsnedders|work> workmad3, I think Adobe have an interest in that number being ficticously high [06:36:00.0000] <hsivonen> Philip`: as I understand it, when Adobe evangelists say "plug-in prison", they mean Chrome's or Safari's on SL out-of-process plug-in host [06:36:01.0000] <workmad3> gsnedders|work: true... they could be monitoring just sites which require flash installed ;) [06:36:02.0000] <hsivonen> Philip`: maybe I've understood their terminology wrong [06:36:03.0000] <Philip`> hsivonen: I assumed you were using the term in the sense of locking users into proprietary plugins [06:37:00.0000] <erlehmann_> Philip`, open standards are a minority right [06:37:01.0000] <Philip`> I do very much like how the browsers have right-click save-video-as commands [06:37:02.0000] <Philip`> which is a compelling advantage over Flash for a user [06:37:03.0000] <Rik|work> Philip`: is it ? [06:37:04.0000] <Philip`> though perhaps a disadvantage for video publishers [06:38:00.0000] <Philip`> Rik|work: Well, for some users at least :-) [06:38:01.0000] <Philip`> Rik|work: particularly the ones who use all these tools and extensions and services for downloading Youtube videos [06:38:02.0000] <Rik|work> Philip`: safari doesn't have that menu and there's a lot of easy to use tools to get the videos [06:38:03.0000] <Philip`> The tools are hard to use, because you have to find them and install them [06:38:04.0000] <hsivonen> Rik|work: I think it's a bug in Safari [06:39:00.0000] <Philip`> which takes a lot more effort than right-clicking [06:39:01.0000] <Rik|work> hsivonen: I think so too [06:40:00.0000] <erlehmann_> Rik|work, safari probably doesnt have a save menu for image either, amirite? [06:40:01.0000] <gsnedders|work> It does [06:40:02.0000] <Rik|work> erlehmann_: no you're wrong :) [06:41:00.0000] <erlehmann_> damn controc freaks [06:41:01.0000] <gsnedders|work> /me guesses it's more just nobody-bothered-to-implement-this [06:41:02.0000] <hsivonen> /me wonders if there's a law requiring German sites to have an "Impressum" or whether it's just a custom that everyone honors [06:42:00.0000] <erlehmann_> hsivonen, its required, at least for commercial sites [06:42:01.0000] <hsivonen> erlehmann_: ok. [06:42:02.0000] <erlehmann_> people got sued for it [06:42:03.0000] <Rik|work> "Impressum" ? [06:42:04.0000] <erlehmann_> though WHOIS is that function, in a way [06:42:05.0000] <erlehmann_> stupid legislators [06:43:00.0000] <crash\> Rik|work: imprint [06:43:01.0000] <Rik|work> well, I've learned a new word in both English and German [06:43:02.0000] <crash\> erlehmann_: domain whois is one thing [06:44:00.0000] <erlehmann_> crash\, the people who got sued were in almost all cases those who owned the domain. [06:44:01.0000] <erlehmann_> we have weird laws in here, well. [06:45:00.0000] <crash\> why that's wired? [06:45:01.0000] <crash\> only .de domain whoises contain personal data [06:46:00.0000] <crash\> it good for customers to check, which company own a website [06:46:01.0000] <crash\> so I think an imprint is a good thing [09:15:00.0000] <Philip`> The <base> proposal sounds pretty much exactly like xmlns prefixes and CURIEs [09:15:01.0000] <Philip`> (only for resolvable resources, rather than for identifiers) [09:16:00.0000] <Philip`> (and with different syntax) [09:16:01.0000] <Philip`> GPHemsley: People shoot down almost every single proposal because almost every single proposal deserves to be shot down ;-) [09:17:00.0000] <GPHemsley> meh :P [09:17:01.0000] <Philip`> The alternative would be accepting more proposals, thus making HTML far more complex than it already is [09:18:00.0000] <GPHemsley> "more complex" == "more useful", sometimes [09:18:01.0000] <Philip`> Sometimes, but rarely [09:19:00.0000] <Philip`> Few proposals are for features that can't already be implemented relatively straightforwardly with different syntax or with some scripting [09:20:00.0000] <Philip`> so they're not trying to make HTML more powerful, just trying to make it easier to use for certain cases [09:20:01.0000] <GPHemsley> perhaps, but I don't think every new feature should be off-loaded on a script [09:22:00.0000] <jgraham> They're not. For example no one has suggested using script rather than <video> [09:23:00.0000] <Philip`> GPHemsley: Nor do I, but features that are only useful to a tiny fraction of people will result in less global complexity if they're implemented in script by each of those people rather than being part of the standardised language [09:37:00.0000] <TabAtkins> hsivonen: The rumor is true. At least the MS guy I was around most of the time prints CSS specs. [09:52:00.0000] <TabAtkins> In current browsers, if I have two valid background rules for the same element the first (modulo specificity) will be discarded before it requests the image in it, right? [09:53:00.0000] <TabAtkins> (I'm wondering if I can switch on current gradient support while still falling back to a generated gradient image, without the generated image being requested in browsers that can do native gradients. [09:56:00.0000] <JonathanNeal> TabAtkins, you could use Modernizr [09:56:01.0000] <JonathanNeal> http://www.modernizr.com/ [09:57:00.0000] <TabAtkins> Hmm, good idea. I'd have to ask if they're testing for FF gradients yet, though (probably not). [09:58:00.0000] <TabAtkins> Also: it actually still wouldn't answer my original question, because I'd have do something like "foo{ background:url()} .gradients foo { background:linear-gradient();}" [09:58:01.0000] <JonathanNeal> Tab_Atkins, Paul Irish, the guy who works a lot on it spends a good deal of time in the #jquery channel, you could ask him, but also http://github.com/Modernizr/Modernizr/commit/c36a886b4fec36a7461ba8d96174986bf4dc41be [09:59:00.0000] <TabAtkins> And I'm not certain that the browsers will toss away the former before making the request. [09:59:01.0000] <TabAtkins> JonathanNeal: Ah, thanks for the link. They do indeed test, then. [10:01:00.0000] <TabAtkins> (I'd use :not(.gradients) foo for the former, but that would defeat the purpose of making it useable in downlevel clients.) [10:02:00.0000] <TabAtkins> Alternately, I could just read wtf Modernizr actually does, and notice right on the front page that it would put *either* .gradients or .no-gradients on, so I can actively test for either. [10:02:01.0000] <JonathanNeal> :-) [10:10:00.0000] <JonathanNeal> he's alive! [10:13:00.0000] <paul_irish> TabAtkins: basically you set all the vendor specific css gradent css strings.. you apply them to an element.. and then you read whats in elem.style.backgroundImage .. if it contains the text 'gradient', you assume support [10:13:01.0000] <TabAtkins> paul_irish: Yeah, no confusion there. My question was related to whether or not a rule is discarded (when a more specific rule applies) before any resources requested in the first rule are requested. [10:14:00.0000] <TabAtkins> But Modernizr is set up so that I don't have to explicitly rely on specificity, so the question is moot at the moment. [10:14:01.0000] <paul_irish> i dig. [10:18:00.0000] <ment> hi [10:19:00.0000] <TabAtkins> Hi. [10:50:00.0000] <JonathanNeal> hi [11:11:00.0000] <TabAtkins> /me is convinced by a single example that we should be using asymmetric delimiters for our strings. [11:12:00.0000] <TabAtkins> /me believes, thusly, that all existing programming languages are badwrong. [11:12:01.0000] <TabAtkins> Except Lisp, and anything else with the equivalent of read-macros. [11:12:02.0000] <virtuelv> TabAtkins: and what is that single example? [11:12:03.0000] <TabAtkins> Something on a mailing list. Basically this code: [11:13:00.0000] <TabAtkins> (print <I'm a string containg <html> code.>) [11:13:01.0000] <TabAtkins> As long as you balance your delimiters within the string, no escaping is required. [11:16:00.0000] <roc> intriguing [11:18:00.0000] <Hixie> /me notes perl supports that [11:19:00.0000] <TabAtkins> You can't claim support for a syntax feature when every possible sequence of bytes is a valid program. ^_^ [11:19:01.0000] <Hixie> print qq<I'm a string containg <html> code.\n>; [11:19:02.0000] <Hixie> ...works as you want it to [11:19:03.0000] <Hixie> "qq" is an operator meaning "the next character is the start of a double-quoted string" [11:20:00.0000] <Hixie> so qq<...> is a stirng [11:20:01.0000] <Hixie> string [11:20:02.0000] <TabAtkins> Yeah, got that. [11:20:03.0000] <Hixie> if the first character is one of <, [, (, or {, then the close character is the matching one, and nested quotes are allowed [11:21:00.0000] <TabAtkins> I just used (make-string-reader #\< #\>) (the code for the function is trivial if you understand read-macros) and it was done. [11:21:01.0000] <TabAtkins> Erm, ignore the alien face if you see it. Should be a > followed by a ). [11:23:00.0000] <TabAtkins> But I suppose Perl slips in with "the equivalent of read-macros" for this case, since it *is* a language construct changing the parsing of subsequent code. [11:23:01.0000] <Hixie> qq< is just the same as " [11:23:02.0000] <Hixie> one uses this a lot with regexps [11:24:00.0000] <Hixie> s/.../.../ is the same as s"..."..." or s<...><...> or s&...&...& [11:24:01.0000] <TabAtkins> I do very much enjoy the ability to change the regexp delimiter. [11:25:00.0000] <Hixie> (you have to have spaces around there if the character you want to quote is a letter, so it doesn't get confused for an identifier, but going there is just silly.) [11:25:01.0000] <TabAtkins> I didn't know about the details of the third one, though (s<…><…>). [11:25:02.0000] <TabAtkins> I've used s|…|…| before, when working with paths. [11:26:00.0000] <Hixie> yeah i use | a lot [11:30:00.0000] <virtuelv> I'll grant you the "intriguing" [11:31:00.0000] <virtuelv> incidentally, this ambiguity, together with the hard-to-type proper English quotation marks is why I'm trying to abandon said quotation marks in text [11:31:01.0000] <virtuelv> and stick to guillemets for all languages [11:31:02.0000] <virtuelv> lack of ambiguity, even [11:32:00.0000] <Hixie> i think mjs and i just fell for the same trick [11:32:01.0000] <TabAtkins> I'm actually about to go assign the curly quotes to my keyboard. AltGr is useful. [11:32:02.0000] <Hixie> mikesmith's e-mail has reply-to: public-html, but he asks for replies to him [11:32:03.0000] <TabAtkins> So what's the trick? [11:34:00.0000] <Hixie> the reply-to [11:35:00.0000] <TabAtkins> I may be parsing your sentence differently than you intend me to. Was it a trick, or just a mistake? [11:35:01.0000] <Hixie> mike tricked us into making am istake [11:37:00.0000] <TabAtkins> Do you presume it to be an intentional trick? [11:37:01.0000] <gsnedders|work> Yes, MikeSmith is pure evil. [11:37:02.0000] <TabAtkins> kk, will keep that in mind. [11:38:00.0000] <TabAtkins> /me thought that anybody with a cowboy hat can't be *all* evil… [11:40:00.0000] <TabAtkins> /me is also annoyed that javascript isn't a true functional language, so he can't easily pass operators as arguments to functions. [11:42:00.0000] <TabAtkins> Oh! Also, anyone who interacted with me on Friday should be aware that I was coming down with a head-cold at the time. It's nothing serious, but also not very comfortable. [11:42:01.0000] <roc> oh please [11:42:02.0000] <roc> very few functional languages support passing operators as arguments to functions [11:43:00.0000] <TabAtkins> Yes, which is what annoys me. I've gotten used to it. [11:43:01.0000] <roc> because in statically typed languages, overloading issues get in the way [11:43:02.0000] <TabAtkins> Haskell is statically typed and is fine with it. [11:44:00.0000] <roc> good for them [11:44:01.0000] <TabAtkins> The issue is probably languages with insufficiently advanced static typing. I don't use those languages. [11:47:00.0000] <TabAtkins> /me doesn't use languages with sufficiently advanced static typing either, fwiw. Strong dynamic typing rox my sox. [11:50:00.0000] <Dashiva> TabAtkins: Is it that different from passing a function pointer instead? [11:51:00.0000] <TabAtkins> Dashiva: Not materially. [11:51:01.0000] <TabAtkins> But you have to create a function that mimics the operator first. [11:51:02.0000] <Dashiva> Isn't that a 10-character lambda? [11:51:03.0000] <TabAtkins> Slightly longer, generally, in js, but yes. [11:52:00.0000] <TabAtkins> It just annoys me to have to throw wrapper lambdas around when I've got the function right in front of me, but the language's syntax doesn't allow me to use it. [12:06:00.0000] <Philip`> /me likes it when language syntaxes are optimised for the common case, rather than being equally average for writing all imaginable code [12:07:00.0000] <TabAtkins> Oh, agreed, certainly. My common case is passing around everything as a function. [12:08:00.0000] <TabAtkins> Which is why I was annoyed. Not saying it's wrong to do otherwise. [12:09:00.0000] <Philip`> Sounds like you need to spend more time calling functions and less time just passing them around everywhere ;-) [12:10:00.0000] <TabAtkins> Bah. Nothing wrong with wanting to do [1,2,3].reduce(+);. ^_^ [12:11:00.0000] <Philip`> I prefer 1+2+3 [12:11:01.0000] <Philip`> Actually I'd just write 6 [12:12:00.0000] <TabAtkins> Nice when you can do so. [12:12:01.0000] <Philip`> Or I'd write sum(numbers) [12:12:02.0000] <TabAtkins> Not so much when you have an array you need to sum. (Or in the more general case, when you have an array you need to do something arbitrary to.) [12:14:00.0000] <TabAtkins> I'd probably write a sum function as well. But I'd prefer to implement it with fast functional forms, because they're so easy. [12:14:01.0000] <TabAtkins> But anyway, I was just whinging about preferences. Not making technical points. [13:00:00.0000] <virtuelv> /me reads hixie's mail to public-device-apis [13:00:01.0000] <virtuelv> and notes that Opera's long-standing strawman proposal meets every requirement [13:00:02.0000] <virtuelv> and that also is able to treat archives transparently as if they were folders [13:01:00.0000] <virtuelv> (useful for reading (open-)office documents [13:24:00.0000] <TabAtkins> Where's the note that devices without sufficient resources to, frex, play videos can just *not* play the video? [13:24:01.0000] <TabAtkins> I'm certain there's a generic note to that effect, but I'm having trouble finding it. [13:25:00.0000] <TabAtkins> (can do so without being nonconformant, that is) [13:25:01.0000] <Philip`> The one about arbitrary resource limitations which basically means you can disregard the entire spec and still be conforming? [13:28:00.0000] <TabAtkins> Yes. [13:30:00.0000] <Philip`> http://www.whatwg.org/specs/web-apps/current-work/multipage/infrastructure.html#conformance-requirements [13:31:00.0000] <Philip`> "User agents may impose implementation-specific limits on otherwise unconstrained inputs, e.g. to prevent denial of service attacks, to guard against running out of memory, or to work around platform-specific limitations." ? [13:32:00.0000] <TabAtkins> Okay, that was the line I thought it might be, but I wasn't entirely clear on it. [13:32:01.0000] <TabAtkins> I'm guessing that sort of thing falls under "platform-specific limitations". [14:51:00.0000] <Hixie> my package has been "out for delivery" for 10 hours now [14:51:01.0000] <Hixie> exactly how long can it take to deliver packages from one truck to places around the town? [14:52:00.0000] <JonathanNeal> You'll find out. [14:53:00.0000] <Hixie> i'm skeptical the package exists [14:53:01.0000] <Hixie> it's the third one i've ordered, the previous two being canceled for being "out of stock" after 4 weeks each [15:07:00.0000] <JonathanNeal> Moon People 2 ? [15:07:01.0000] <Philip`> You should parallelise by ordering three at once, then getting a refund if more than one arrives [15:21:00.0000] <Hixie> Philip`: sending stuff back is a huge pain 2009-11-10 [17:24:00.0000] <cardona507> TabAtkins - Hello - hows it goin? - have you had a chance to post the CSS video you filmed at TPAC? [17:36:00.0000] <TabAtkins> cardona507: Hey, thanks for reminding me! TBL sent me the raw video on Saturday, so now I need to rerecord my screencapture to go along with it, then send it back to him for editting. [17:36:01.0000] <TabAtkins> I'll do that tonight. [17:40:00.0000] <cardona507> cool [19:46:00.0000] <MikeSmith> Hixie: I'm at the IETF hybi session, getting ready to talk [19:47:00.0000] <MikeSmith> Ian Fette's here too, and john fallows [19:47:01.0000] <MikeSmith> also Chris Blizzard [19:48:00.0000] <MikeSmith> so.. I'm not planning to say much but instead will let them do most of the talking [19:49:00.0000] <MikeSmith> I have only a 15-minute slot [19:50:00.0000] <MikeSmith> wasn't thinking I could skype you in if you wanted [19:50:01.0000] <MikeSmith> so ping me when you're back around [19:52:00.0000] <Hixie> MikeSmith: here, but no skype [19:52:01.0000] <MikeSmith> Ok [19:53:00.0000] <MikeSmith> well, I may try to post some notes here during the session [19:55:00.0000] <Hixie> MikeSmith: i'm listening to the audio stream [19:55:01.0000] <MikeSmith> ah great [19:55:02.0000] <othermaciej> hey MikeSmith [19:55:03.0000] <MikeSmith> othermaciej: hey [19:56:00.0000] <Hixie> and i'm on the jabber channel [19:56:01.0000] <othermaciej> MikeSmith: if no one else mentions it (even though I told a number of people), you can tell them that Apple supports the formation of a Working Group for the WebSocket Protocol and would be willing to join [19:57:00.0000] <othermaciej> I sadly have to head out now but perhaps I shall join jabber if things are still going in an hour [19:57:01.0000] <MikeSmith> othermaciej: cool, ok, will do [19:57:02.0000] <Hixie> according to the agenda they'll have barely gotten started in an hour [19:57:03.0000] <othermaciej> /me feels a little overloaded on standards, especially on bickering about them, after the TPAC week [19:58:00.0000] <Hixie> yeah really [19:58:01.0000] <Hixie> /me is gonna take a few days off [19:59:00.0000] <othermaciej> in retrospect I should have stayed out of the mailing list kerfuffles right after [21:20:00.0000] <Michelangelo> back [22:20:00.0000] <MikeSmith> hi tkent [23:24:00.0000] <hsivonen> scary. my screen just went pink. [23:24:01.0000] <hsivonen> then I touched the DVI cable and it became normal again [23:24:02.0000] <hsivonen> how can a digital connection have that kind of failure mode? [23:25:00.0000] <Hixie> DVI is also analogue [23:25:01.0000] <Hixie> maybe your monitor is using the analogue signal [23:26:00.0000] <hsivonen> I very much doubt Apple would do that [23:26:01.0000] <hsivonen> I have an Apple display connected to a Mac using Apple cables [23:57:00.0000] <jgraham> hsivonen: Different colour channels seem to be on different pins so it doesn't seem like an impossible failure mode [00:05:00.0000] <hsivonen> jgraham: ok. makes sense [00:19:00.0000] <hsivonen> I'm confused about the X3D folks talking about text/html and EXI simultaneously [00:19:01.0000] <hsivonen> are X3D models typically small enough to fit in text/html or big enough to need EXI? [00:19:02.0000] <hsivonen> or do they come in both sizes? [00:38:00.0000] <hsivonen> what does it mean to be a member of the accessibility TF compared to being just a WG participant? [00:39:00.0000] <hsivonen> ah 6 to 8 hours per month [00:53:00.0000] <Hixie> othermaciej: any idea why the screensaver might have started asking for "the name and password of a user in the "(null)" group"? (and then not accepting any user names and passwords?) [00:55:00.0000] <othermaciej> Hixie: no idea [00:56:00.0000] <othermaciej> Hixie: I assume you mean the OS X screensaver? [00:56:01.0000] <ment> why is "&notis;" tokenized as "&not;is;" and not like any other non-defined entity name? (just copying "&notis;" to output) [00:57:00.0000] <gsnedders|work> There's no such entity as notis; [00:57:01.0000] <hsivonen> ment: because of backwards compat with &not [00:57:02.0000] <gsnedders|work> And there is an entity not [00:58:00.0000] <gsnedders|work> So the longest matching entity of "notis;" is "not". [00:58:01.0000] <ment> hmm, so good-bye hash-tables, hello tries [00:58:02.0000] <Hixie> othermaciej: yeah [00:59:00.0000] <hsivonen> ment: this area is a bit of a pain and indeed hashtables won't work [00:59:01.0000] <Hixie> othermaciej: no idea how to fix it, but it means a hard-reboot whenever my screensaver triggers [00:59:02.0000] <Hixie> or any time i unsuspend [00:59:03.0000] <hsivonen> /me should get around to implementing this as a trie [00:59:04.0000] <hsivonen> a trie with suspendable search [00:59:05.0000] <hsivonen> and that makes sense as both Java and C++ [01:02:00.0000] <gsnedders|work> PHP html5lib basically uses a trie [01:03:00.0000] <jgraham> /me wonders if it is alarmingly ignorant not to know what a trie is [01:03:01.0000] <hsivonen> wikipedia to rescue [01:04:00.0000] <othermaciej> Hixie: try turning password locking off and back on perhaps? [01:04:01.0000] <othermaciej> Hixie: also: are you using fast user switching by any chance? [01:04:02.0000] <othermaciej> (wild-ass guessing here) [01:04:03.0000] <Hixie> not using fast-user switching, though i did try toggling that to see if it had an effect [01:04:04.0000] <Hixie> the password locking checkbox appears to be permanently disabled [01:04:05.0000] <Hixie> probably some sort of corporate policy [01:05:00.0000] <othermaciej> do you not have admin rights on your machine? [01:05:01.0000] <Hixie> i do but that checkbox is still disabled [01:05:02.0000] <othermaciej> I did not know that was possible [01:05:03.0000] <Hixie> me either [01:06:00.0000] <Hixie> i discovered it about 10 seconds before you suggested toggling it :-) [01:06:01.0000] <Philip`> /me did entity matching in C++ just as a repeated binary search into a sorted array of entity strings [01:06:02.0000] <Hixie> this machine has some weird stuff going on [01:06:03.0000] <Hixie> e.g. it has two guest accounts [01:06:04.0000] <Hixie> and if i disable login for one, the other one becomes enabled [01:06:05.0000] <Hixie> it's quite odd [01:07:00.0000] <ment> hsivonen: i'm thinking more of a static trie represented as sparse matrix and then packing it into a small table to avoid trie construction in runtime [01:08:00.0000] <hsivonen> ment: I was thinking of packing the data in an int[] in Java [01:08:01.0000] <hsivonen> which would be ugly in C++ but would work there, too [01:08:02.0000] <ment> hsivonen: hmm what do you mean by that? [01:09:00.0000] <hsivonen> ment: using an int[] as memory where pointers are indeces into the array (maybe more than one array for clarity) [01:10:00.0000] <hsivonen> (avoiding run-time data structure construction in a way that works in both Java and C++ leads to quite some ugliness) [01:11:00.0000] <Philip`> hsivonen: In this case, might it be less ugly to write separate code for Java and C++? [01:11:01.0000] <hsivonen> Philip`: maybe [01:11:02.0000] <ment> hsivonen: ah, you mean using base + index instead of pointers [01:11:03.0000] <hsivonen> ment: right [01:12:00.0000] <ment> hsivonen: you still get about ~80 branches before you get to desired charref :) [01:12:01.0000] <hsivonen> the construction of the entity tables has probably drawn the most complaints about any part of the C++ version of the parser [01:13:00.0000] <hsivonen> ment: not if you use the character as an index and waste memory by having a lot of empty slots [01:14:00.0000] <Philip`> Just special-case &nbsp; and then everything else is very rare and doesn't need to be fast :-) [01:14:01.0000] <hsivonen> I've also considered using binary search plus then linear search outwards from the index binary search found [01:14:02.0000] <ment> hsivonen: you don't if you pack the transition matrix (256 * number of state) into smaller ones with overlapping states [01:14:03.0000] <hsivonen> as a way to establish the search window in a naive table [01:15:00.0000] <ment> let's make a competition :) faster lookup algorithm wins [01:15:01.0000] <hsivonen> you don't need to make it 256 wide [01:17:00.0000] <ment> btw, http://ibawizard.net/~thement/pth/html5/ [01:19:00.0000] <hsivonen> ment: where do you keep the data on which entities require ;? [01:19:01.0000] <ment> hsivonen: uh, come again? [01:20:00.0000] <ment> ah, the ';' [01:20:01.0000] <hsivonen> ment: where do you keep data on which entities require a trailing semicolon [01:21:00.0000] <ment> i had no idea there was such a case [01:25:00.0000] <Philip`> "&alphax &gtx" = "&alphax >x" [01:25:01.0000] <Philip`> I hope you weren't expecting a modicum of consistency here [01:26:00.0000] <hsivonen> ment: you didn't notice that the entity table has duplicates of some entities but with a trailing semicolon? [01:26:01.0000] <hsivonen> and some only have the version with the semicolon [01:26:02.0000] <ment> hsivonen: no, i didn't go through them one-by-one [01:26:03.0000] <hsivonen> so longest match won't match unless there's the semicolon [01:27:00.0000] <pradalvr> Hi crink !!! over here [01:28:00.0000] <ment> hsivonen: i thought that the ref regex was \&[a-zA-Z]+;? [01:28:01.0000] <ment> hsivonen: with parser error when semicolon is missing [01:28:02.0000] <hsivonen> ment: everything is more complicated than it first seems [01:28:03.0000] <crink> pradalvr: yes [01:30:00.0000] <pradalvr> whats this channel about [01:30:01.0000] <ment> hsivonen: thanks for pointing that out btw [01:31:00.0000] <crink> pradalvr: The Web Hypertext Application Technology Working Group (WHATWG) is a growing community of people interested in evolving the Web. It focuses primarily on the development of HTML and APIs needed for Web applications. [01:32:00.0000] <pradalvr> damn that was smart [01:32:01.0000] <jgraham> pradalvr, ment See /topic (for quite different reasons) [01:33:00.0000] <ment> ... is growing community of people reverse-engineering current browsers. It focuses primarily on the development of more realistic standards. [01:54:00.0000] <pradalvr> I am having a problem with my blog [01:54:01.0000] <pradalvr> damn it all to hell [01:54:02.0000] <pradalvr> i cant get my sideshow to work [01:56:00.0000] <pradalvr> then again.. maybe not.. y'alls site have Result: 49 errors / 3 warnings [02:00:00.0000] <annevk> oh, hybi was last night? makes sense I suppose [02:01:00.0000] <annevk> oh well, I was too jetlagged anyway [02:01:01.0000] <hsivonen> was there any conclusion at hybi? [02:04:00.0000] <annevk> not sure [02:05:00.0000] <hsivonen> does the X3D WebGL JS library have any check for native support of X3D? [02:07:00.0000] <Hixie> othermaciej: turns out it was some internal google thing that screwed up my config [02:07:01.0000] <othermaciej> Hixie: that explains it [02:08:00.0000] <annevk> all I can find is https://datatracker.ietf.org/meeting/76/materials.html#wg-hybi [02:08:01.0000] <Hixie> all fixed now [02:08:02.0000] <othermaciej> hsivonen: did you see the discussion in the X3D bug Sam filed? [02:08:03.0000] <othermaciej> hsivonen: (not that this will answer your question) [02:09:00.0000] <hsivonen> othermaciej: yes [02:10:00.0000] <othermaciej> hsivonen: do you think either of Sam's suggestions are a good idea? [02:11:00.0000] <othermaciej> I'm still not entirely sure why X3D inline in a Web page is a super interesting use case, cause I went to the other session in parallel with that one [02:11:01.0000] <pradalvr> Result: 49 errors / 3 warnings [02:12:00.0000] <pradalvr> on you guys site [02:12:01.0000] <annevk> pradalvr, pointer? [02:13:00.0000] <pradalvr> aww, fixed [02:14:00.0000] <hsivonen> /me tries to work out what two suggestions Sam has made [02:15:00.0000] <pradalvr> Now can someone help me with mine PLEASE [02:16:00.0000] <hsivonen> othermaciej: I think neither suggestion is a good idea [02:17:00.0000] <hsivonen> othermaciej: I'm not particularly interested in deoptimizing any part of the parser for the sake of a most-favored JS library [02:17:01.0000] <hsivonen> othermaciej: and I don't want to add more interned string footprint and get complaints from other Gecko devs due to me adding too many interned strings [02:20:00.0000] <Philip`> Sounds like HTML5's approach for integrating SVG and MathML is not sufficiently scalable for future centralised extensibility [02:20:01.0000] <hsivonen> SVG and MathML were grandfathered [02:21:00.0000] <hsivonen> future centralized extensibility should happen within the constraints of HTML, IMO [02:21:01.0000] <othermaciej_> sorry I got disconnected for a sec [02:21:02.0000] <othermaciej> /me checks logs [02:22:00.0000] <othermaciej> hmm looks like my comments got lost [02:23:00.0000] <othermaciej> hsivonen: seems like those both refer to the "special case X3D like SVG" suggestion? [02:23:01.0000] <annevk> hsivonen, even with those constraints you'd get more interned strings, no? [02:23:02.0000] <othermaciej> hsivonen: or was one of them about the "tag with uppercase letter and xmlns attribute triggers magic XML-like mode" suggestion? [02:24:00.0000] <hsivonen> othermaciej: the upper case trigger was what I meant by "deoptimizing" [02:24:01.0000] <othermaciej> hsivonen: I see, cause you'd have to scan every tag? (or at least every tag with an xmlns attribute present) [02:24:02.0000] <hsivonen> annevk: potentially, yes. [02:26:00.0000] <hsivonen> othermaciej: if the first letter of a tag name is in upper case, how do I know if the name is going to be a known one? [02:26:01.0000] <othermaciej> with the HTML5 solution, you could in theory only lazily intern the strings for vocabularies that you can only enter via a unique root element [02:27:00.0000] <othermaciej> hsivonen: I suppose with Sam's proposal, you would not know what element to create until you parse the attributes [02:27:01.0000] <Philip`> /me notes that making the language partially case-sensitive seems a horrid idea [02:27:02.0000] <hsivonen> othermaciej: not knowing until then is very unattractive [02:27:03.0000] <othermaciej> it's probably worth adding this fact-based information to the bug [02:28:00.0000] <Philip`> (in terms of complexity and inconsistency in the language itself, regardless of implementation concerns) [02:28:01.0000] <othermaciej> adding a completely X3D-specific hook seemed unappealing to me, but I hadn't thought through the effects of the case hack [02:31:00.0000] <hsivonen> /me heads away from the computer [02:33:00.0000] <jgraham> /me tends to agree with Philip` [02:34:00.0000] <jgraham> Irrespective of the practial problems with implementation the usability issues with the proposal seem overwhelming [02:38:00.0000] <Philip`> Usability issues (positive or negative) should take priority over implementation issues anyway, so it seems more important to focus on the former [02:46:00.0000] <jgraham> /me wonders if HTMLWG charter really allows for a task force that requires attendance of telecons [02:56:00.0000] <Lachy> jgraham, no, the HTML WG's charter doesn't [04:03:00.0000] <annevk> I think a hook for structured clones might be useful regardless of whether we split out <canvas> [04:04:00.0000] <annevk> It might be somewhat useful to be able to construct a FormData object in the UI thread and pass it to a network worker when you're done. [04:05:00.0000] <Philip`> Can't it be sent as a classless object containing more primitive types? [04:07:00.0000] <annevk> in that case the worker would have to convert it [04:07:01.0000] <Philip`> If you could send an array of Blobs and DOMStrings then it sounds easy enough [04:07:02.0000] <Philip`> (or whatever the more primitives types are) [04:08:00.0000] <annevk> i guess [04:08:01.0000] <Philip`> and then implementors wouldn't have to worry about how to efficiently transfer the more complex mutable structure across threads [04:08:02.0000] <annevk> FormData is not mutable [04:08:03.0000] <annevk> at least not currently [04:08:04.0000] <annevk> actually, it is mutable I suppose [04:09:00.0000] <annevk> mu [04:09:01.0000] <Philip`> "The FormData object will get a single method called append()" - append sounds like mutation :-) [04:09:02.0000] <Philip`> /me wonders if there's a description of FormData anywhere other than annevk's blog [04:09:03.0000] <annevk> some email on public-webapps [04:10:00.0000] <annevk> /me is adding it to XHR2 as a short break of CSSOM activities [04:14:00.0000] <virtuelv> in looking at the (w3) editors draft of html5, I see there is no actual description of channel messaging [04:16:00.0000] <annevk> chapter 8.3? [04:17:00.0000] <virtuelv> yes [04:17:01.0000] <virtuelv> the interfaces are more than adequately described, but the purpose and use for channel messaging is not [04:19:00.0000] <hsivonen> so it looks like Closure adds its own custom attributes without prefixing them with data- [04:24:00.0000] <virtuelv> speaking of custom attributes [04:24:01.0000] <virtuelv> palm pre with its x-mojo attributes [04:25:00.0000] <virtuelv> does anyone know if the framework uses those to generate dom, or whether it just renders native widgets in-place? [04:25:01.0000] <virtuelv> (and on 8.3: http://www.w3.org/Bugs/Public/show_bug.cgi?id=8255 ) [07:01:00.0000] <annevk> Philip`, FormData is now a concept in an editor's draft as well [07:04:00.0000] <cardona507> good morning all [07:05:00.0000] <annevk> I guess I should spec a rough draft of timeouts as well [07:21:00.0000] <zcorpan_> hmm, setting onclick to a string in ie doesn't throw, but then doesn't do anything magic (like in opera) [07:21:01.0000] <zcorpan_> setting onclick to 1 throws in ie [07:32:00.0000] <JonathanNeal> Really? Beautiful HTML? [07:45:00.0000] <JonathanNeal> http://css-tricks.com/examples/CleanCode/Beautiful-HTML.png <-- it may not be required, but isn't a heading still fitting here? [07:56:00.0000] <JonathanNeal> not beautiful :-| [07:56:01.0000] <annevk> hmm, should timeout dispatch on .upload too? [08:34:00.0000] <annevk> I don't really like the FileReader API [08:39:00.0000] <jgraham> annevk: link? [08:40:00.0000] <annevk> http://dev.w3.org/2006/webapi/FileAPI/#dfn-filereader [08:45:00.0000] <jgraham> It seems... odd. [08:45:01.0000] <jgraham> I don't know if it is good or bad [10:12:00.0000] <ment> are there any test suites for html5? [10:13:00.0000] <Philip`> For any particular parts of it? [10:14:00.0000] <ment> just to test the parser & tokenizer to check if i've missed anything [10:14:01.0000] <Philip`> http://code.google.com/p/html5lib/source/browse/#hg/testdata [10:15:00.0000] <Philip`> Format is documented at http://wiki.whatwg.org/wiki/Parser_tests [10:15:01.0000] <Philip`> ('tokenizer' and 'tree-construction' directories are relevant) [10:15:02.0000] <ment> nice, thanks [10:17:00.0000] <ment> hmm does html5 parser have to be error-reporting? [10:19:00.0000] <Philip`> No [10:19:01.0000] <Philip`> The spec doesn't put any requirements on parsers at all [10:19:02.0000] <Philip`> only on things like browsers and validators, which may use parsers [10:20:00.0000] <Philip`> (Validators have to report parse errors (I think), but browsers don't, and if you're using a parser in a standalone context then you can do whatever you feel like) [10:20:01.0000] <ment> yes, validators should be error-reporting :) [10:53:00.0000] <zcorpan_> http://forums.whatwg.org/viewtopic.php?t=4164 (about canvas) [12:43:00.0000] <dw> hi there. is there some way to force immediate update of the canvas element? i'm drawing to it rapidly from a setInterval(), and it seems, if i add another unrelated setInterval() that updates another part of the element, it stops drawing entirely [12:44:00.0000] <dw> it seems to be coalescing updates. if i disable the second setInterval, things work as expected [12:45:00.0000] <TabAtkins> It *will* coalesce updates, if I recall correctly, as an automatic optimization. I'm not certain how to force a redraw, though. [12:48:00.0000] <dw> i seem to remember something about pushstate/popstate. might investigate that [12:49:00.0000] <Philip`> dw: What browser are you testing in? [12:49:01.0000] <dw> safari and firefox on os x [12:50:00.0000] <dw> actually, there might be some interference between the drawing functions and the context state [12:50:01.0000] <Philip`> As far as I'm aware, they should redraw the canvas whenever it's been changed and no scripts are currently running [12:50:02.0000] <Philip`> (Opera sometimes redraws in the middle of a script, after a certain time period) [12:50:03.0000] <dw> aha! stupid.. [12:50:04.0000] <dw> globalCompositeOperation was not being reset [12:51:00.0000] <dw> sorry, false alarm :) [12:51:01.0000] <Philip`> No problem :-) [12:51:02.0000] <dw> thank you! [14:43:00.0000] <mpilgrim> got this question from someone at my presentation, didn't know the answer: [14:43:01.0000] <mpilgrim> "is it possible to start playing <video> from the middle without loading it from begining to this point?" [14:46:00.0000] <Lachy> mpilgrim, I don't think that's possible yet, but I recall there was some work being done on that issue [14:47:00.0000] <Lachy> mpilgrim, there's a thread about that here. http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-April/019516.html [14:49:00.0000] <Lachy> I think there were other threads too [14:50:00.0000] <Dashiva> Isn't that just up to the user agent? [14:50:01.0000] <Dashiva> The spec covers seeking [14:51:00.0000] <mpilgrim> lachy: thanks [14:51:01.0000] <mpilgrim> dashiva: i couldn't even work out the proper events to get the video to play from a specific time [14:51:02.0000] <mpilgrim> i set the video.currentTime property [14:51:03.0000] <mpilgrim> and called video.play() [14:51:04.0000] <mpilgrim> but i couldn't seem to do all that at the right time [14:51:05.0000] <mpilgrim> not sure what the coverage of video API events is [14:52:00.0000] <Dashiva> Many things that could go wrong [14:52:01.0000] <mpilgrim> indeed [14:52:02.0000] <Dashiva> Lack of seeking support in the network, lack of seeking support in the UA, low resolution on the seekable sections, bugs... [14:54:00.0000] <mpilgrim> ok, i followed up with them on twitter, and pointed them to the thread lachy gave [14:54:01.0000] <mpilgrim> i was surprised by how many good questions there were from the audience [14:54:02.0000] <mpilgrim> this was at the Google Developer Day in Moscow [14:55:00.0000] <Dashiva> Is the test page you're using open? [14:55:01.0000] <mpilgrim> it was just a local page [14:55:02.0000] <mpilgrim> i could publish it if you want to debug it [14:56:00.0000] <mpilgrim> (surprised, only because at other conferences, i've gotten minimal questions. in moscow i couldn't even finish my slides, and we spent another 45 minutes in the hallway answering followup questions. it was awesome) [14:56:01.0000] <Dashiva> Hehe [14:56:02.0000] <Dashiva> Just curious, and not curious enough to create my own test page [14:56:03.0000] <mpilgrim> heh [14:56:04.0000] <mpilgrim> yeah, i think i'm gonna call it a night soon [14:56:05.0000] <mpilgrim> i'm not even sure what time it's supposed to be right now [14:56:06.0000] <Dashiva> I'm guessing 2 or 3 am [14:57:00.0000] <mpilgrim> i woke up in moscow, now i'm in prague [14:57:01.0000] <Dashiva> Oh [14:57:02.0000] <mpilgrim> no, i think it's closer to midnight [14:57:03.0000] <Dashiva> Then it's just midnight [14:57:04.0000] <mpilgrim> did you know they have hotels inside the airport? [14:57:05.0000] <mpilgrim> this is the best invention ever [14:58:00.0000] <ttepasse> The Mark Pilgrim World Tour? [14:59:00.0000] <mpilgrim> oh, my trip was trivial compared to some of the google wave guys [14:59:01.0000] <mpilgrim> they've been traveling non-stop for over a month [14:59:02.0000] <ttepasse> Ouch. [15:00:00.0000] <Dashiva> Media elements are probably going to be a huge source of questions in the future as well [15:00:01.0000] <mpilgrim> something like 6 countries in 4 weeks [15:00:02.0000] <mpilgrim> that's just insane [15:00:03.0000] <Dashiva> Considering stuff like a play() algorithm that doesn't have a single step that actually mentions starting to play [15:00:04.0000] <mpilgrim> video sucks [15:00:05.0000] <mpilgrim> we should all go back to animated gifs [15:00:06.0000] <ttepasse> http://code.google.com/intl/de/events/developerday/2009/ doesn't look so full. [15:01:00.0000] <Dashiva> motion jpeg [15:01:01.0000] <Dashiva> wave audio [15:01:02.0000] <mpilgrim> ttepasse: no, there were other events, not just GDD [15:01:03.0000] <ttepasse> Replacing JPEGs with AJAX. [15:01:04.0000] <mpilgrim> trust me, they've been on the Google Wave World Tour [15:02:00.0000] <ttepasse> Yeah, i just could't found some information on that. [15:07:00.0000] <Dashiva> Aren't there enough people in the know to split up? [15:09:00.0000] <mpilgrim> dunno [15:09:01.0000] <mpilgrim> but presenting is a skill. people tend to specialize [15:09:02.0000] <mpilgrim> these are relatively high-profile presentations [15:09:03.0000] <mpilgrim> google i/o had 1000 people [15:09:04.0000] <mpilgrim> GDD Prague had about 900 [15:09:05.0000] <mpilgrim> GDD Moscow had over 1500 [15:14:00.0000] <mpilgrim> http://www.youtube.com/watch?v=v_UyVmITiYQ has been watched over 6 million times [15:14:01.0000] <mpilgrim> or at least started (it's 80 minutes long) 2009-11-11 [16:25:00.0000] <cardona507> mpilgrim - thanks for diveintohtml5.org - its great [00:21:00.0000] <JonathanNeal> hola. [00:22:00.0000] <Hixie> othermaciej: is there a page anywhere with an up to date list of the current issues with pending change proposal deadlines? [00:23:00.0000] <othermaciej> Hixie: no - I was just thinking earlier today that we need one like that [00:23:01.0000] <Hixie> it's getting difficult to keep track [00:23:02.0000] <othermaciej> Hixie: more generally a list of issues indicating current state (CfC to close, waiting for proposal, proposal in hand and waiting for response, etc) [00:23:03.0000] <othermaciej> yes I know [00:24:00.0000] <othermaciej> it's hard for me too [00:24:01.0000] <othermaciej> in fact I think we have some CfC's to close things etc which we are not properly tracking [00:24:02.0000] <othermaciej> I am glad Shelley made a concrete proposal [00:24:03.0000] <othermaciej> I can't say I like <fltcap> as a name [00:25:00.0000] <othermaciej> should I ask her to describe how to spec her proposed <fltcap> element or do you think it's ok for her proposal to mostly leave that undefined? [00:27:00.0000] <Hixie> i'm not up to date on list mail [00:27:01.0000] <Hixie> so i've no idea what you are talking about :-) [00:27:02.0000] <othermaciej> ah [00:27:03.0000] <JonathanNeal> So when writing <header><h1>Foo</h1><nav>...this and that...</nav></header> the nav section has an implied heading of Foo, right? [00:28:00.0000] <othermaciej> Shelley sent a Change Proposal for the dt/dd reuse issue [00:28:01.0000] <othermaciej> and proposed <fltcap> as a new element to use as the caption for both <figure> and <dialog> [00:29:00.0000] <Hixie> JonathanNeal: no, it has no heading (and an implied heading "navigation" maybe, that's up to the UA) [00:30:00.0000] <Hixie> othermaciej: i think the idea of inventing a new element to mean the same as <caption>/<legend>/<dt>/<th>/<h1>/etc is pretty well-understood [00:30:01.0000] <othermaciej> mmkay [00:31:00.0000] <hsivonen> /me fails to guess where 'lt' comes in <fltcap> without reading the proposal [00:31:01.0000] <othermaciej> given that she proposed a specific name, I won't be picky about the lack of detail since presumably the behavior is pretty clear [00:31:02.0000] <Hixie> lack of detail is preferred, imho [00:31:03.0000] <Hixie> since any detail we have will end up requiring another Decision to change when we find it is a problem [00:33:00.0000] <JonathanNeal> Hixie, so should nav have a heading? [00:33:01.0000] <JonathanNeal> In that case, Hixie? [00:33:02.0000] <Hixie> JonathanNeal: it may [00:34:00.0000] <hsivonen> maybe I should make V.nu complain about rel=profile before I get around to supporting the rel registry in general [00:34:01.0000] <hsivonen> to remove the validator aspect from the profile discussion [00:35:00.0000] <hsivonen> (since now it looks like rel=profile has the advantage over @profile that it validates) [00:38:00.0000] <Hixie> has anyone told you what rel=profile is for, yet? [00:39:00.0000] <hsivonen> Hixie: yes, but not what the point is compared to @profile [00:39:01.0000] <Hixie> oh good, what is it for? [00:40:00.0000] <hsivonen> Hixie: the purpose is that extension A and extension B can both use syntax foo [00:40:01.0000] <hsivonen> Hixie: and then you use the profile to decide if foo should be processed according to A or B [00:40:02.0000] <Hixie> in the same document? [00:40:03.0000] <hsivonen> Hixie: as I understand it, as drafted, you don't get to use A and B in the same document [00:41:00.0000] <Hixie> why can't you just use the two extensions without the rel=profile then? [00:41:01.0000] <hsivonen> Hixie: because then you don't know if foo should be processed according to A or B [00:42:00.0000] <hsivonen> (no, I don't know what happens if you use foo and specify profiles for both A and B) [00:42:01.0000] <Hixie> is there a concrete example of this? i'm not really following. [00:43:00.0000] <hsivonen> Hixie: I'm not aware of any example in the past where this was needed [00:43:01.0000] <hsivonen> Hixie: but I can try to contrive a "concrete" example [00:44:00.0000] <hsivonen> Hixie: RDFa x.y says that the property attribute takes a CURIE [00:44:01.0000] <JonathanNeal> It seems each person I ask has a different take on HTML5 and particularly header, footer, and nav. Examples in the draft almost always show a headless nav. [00:46:00.0000] <hsivonen> Hixie: RDFa z.å says that the property attribute takes another kind of value whose lexical space matches CURIE but that needs totally different processing [00:47:00.0000] <hsivonen> Hixie: then you use profile to decide which set of processing rules to apply [00:47:01.0000] <hsivonen> Hixie: or [00:48:00.0000] <hsivonen> Hixie: plausible examples are so hard to come up with [00:48:01.0000] <Hixie> ...or, you could not change your language in a backwards-incompatible way, and thus not need it [00:48:02.0000] <hsivonen> Hixie: right [00:49:00.0000] <hsivonen> Hixie: so another scenario would be this (non-concretely): [00:49:01.0000] <hsivonen> IBM intranet uses foo for something [00:49:02.0000] <hsivonen> and Boeing intranet unaware of this uses foo for something else [00:49:03.0000] <hsivonen> then Google deploys a third foo on the Web [00:49:04.0000] <hsivonen> now clients that see both the public Web and one of the intranets needs to deal [00:50:00.0000] <Hixie> and so they need to go and update every page to say profile="ibm"? [00:50:01.0000] <Hixie> wouldn't it be just as easy to just change the pages to use ibm-foo instead? [00:50:02.0000] <hsivonen> Hixie: something like that [00:51:00.0000] <Hixie> this seems rather poorly thought through [00:51:01.0000] <hsivonen> Hixie: maybe they use profile='http://www42.ibm.com/2009/11/11/fooml' from get-go, so there's nothing to update [00:51:02.0000] <hsivonen> Hixie: you don't say [00:51:03.0000] <Hixie> if they knew to make their stuff unique, they wouldn't use "foo", they could just use "ibm-foo" [00:52:00.0000] <hsivonen> maybe the three letters ibm aren't globally as unique as http://www42.ibm.com/2009/11/11/fooml [00:52:01.0000] <hsivonen> Hixie: maybe Manu could explain this better than I can [01:02:00.0000] <jgraham> /me notes that Shelley's change proposal actually contains two competing change proposals a) drop figure and details and b) use a new element instead of <dd> and <dt> inside <figure> and <details> [01:02:01.0000] <Hixie> hsivonen: if in practice "foo" has been globally unique enough, "ibm-foo" seems plenty enough [01:03:00.0000] <jgraham> Which seems problematic because I can live with b) or c) (maintain the staus quo) but cannot live with a) [01:03:01.0000] <jgraham> So I can't meaningfully have an opinion on the change proposal as a whole [01:04:00.0000] <jgraham> (and without the "what to do about <figure> and <details> bits the change propoal doesn't make any sense even though those changes are pitched as "ancillary") [01:05:00.0000] <jgraham> (but with a more correct spelling of "ancilliary") [01:09:00.0000] <hsivonen> Hixie: it seems that more disambiguation than that is some kind of Holy Grail [01:10:00.0000] <hsivonen> Hixie: However, I predict that optional disambiguation will fail [01:10:01.0000] <Hixie> no ned to predict it [01:10:02.0000] <Hixie> just look at profile="" [01:11:00.0000] <hsivonen> Hixie: my prediction applies to rel=profile [01:11:01.0000] <hsivonen> Hixie: I postdict the same for @profile [01:11:02.0000] <othermaciej> hsivonen, Hixie: tantek promoted rel=profile as a superior alternative because you could scope it (I guess by using <a rel="profile">?) [01:12:00.0000] <hsivonen> othermaciej: I'll comment on that when I see a concrete proposal for scoping [01:12:01.0000] <hsivonen> othermaciej: however, if the whole concept is flawed, scoping won't help it [01:12:02.0000] <othermaciej> <link rel="profile"> does not seem to provide for that, assuming <link> is disallowed in the body [01:12:03.0000] <othermaciej> I explained to Tantek the canonical reasons for thinking head@profile is a bad thing over lunch at TPAC [01:12:04.0000] <hsivonen> othermaciej: Manu's and Julian's proposal explicitly prohibits <a rel=profile> [01:13:00.0000] <hsivonen> I have to admit I'm rather puzzled by tantek's profile advocacy considering that Microformats are the premier case study of @profile not working [01:13:01.0000] <othermaciej> he mentioned that a considerable amount of Microformat publishing is accompanied by a profile, though much is not; and said he knew of a total of 1 non-validator Microformats tools that respect @profile [01:14:00.0000] <hsivonen> othermaciej: was that Cognition? [01:14:01.0000] <hsivonen> Cognition doesn't pay attention to @profile by default [01:14:02.0000] <othermaciej> I told him that, since a wise tool should ignore @profile, then it's a waste of time to authors to add it, and therefore a waste of time for validators to tell authors to add it even as a warning (I think it is a SHOULD for many microformats) [01:14:03.0000] <othermaciej> he mentioned that it was a mode, and I am not sure he named the tool but he said it was by Toby Inkster (I think) [01:15:00.0000] <hsivonen> if profile were working why would Cognition's default be to ignore it? [01:15:01.0000] <hsivonen> I think Toby Inkster is the developer of Cognition [01:15:02.0000] <othermaciej> anyway, he still seemed to think there was value in nagging authors (at a non-mandatory level) to add profile when validating Microformats, even though many won't, and nearly all tools ignore it [01:16:00.0000] <Hixie> yes, Cognition was the tool in question [01:16:01.0000] <Hixie> anyway, bed time for me [01:16:02.0000] <Hixie> nn [01:16:03.0000] <hsivonen> how do Microformat validators work anyway, when the formats lack clear authoring conformance criteria? [01:17:00.0000] <hsivonen> nn [01:22:00.0000] <Philip`> hsivonen: I guess the idea is that validator developers make their own decisions about what is useful to warn users about, and can compete on the basis of who has the most useful warnings (i.e. makes it easiest for authors to write content that works in all consumers) [01:24:00.0000] <hsivonen> Philip`: so profile is just one thing thrown out there that validator developers could warn users about or not warn users about? [01:24:01.0000] <hsivonen> Philip`: if warning about it is optional, what upside is there for warning about it? [01:25:00.0000] <hsivonen> I'm glad I'm not on a team implementing OOXML: https://twitter.com/jirkakosek/statuses/5614612516 [01:25:01.0000] <hsivonen> MS must be delighted for letting ISO bikeshed their format. [01:27:00.0000] <Philip`> Maybe there are believed to be some consumers either now or in the future, which would require the profile attribute, and it has approximately zero cost to add so it's considered worthwhile [01:28:00.0000] <hsivonen> it's not a zero cost to have e.g. 10% of authors wondering if they should use a profile and if yes which one(s) [01:32:00.0000] <Philip`> /me 's experience with OOXML is largely limited to people sending messages to his college mailing list saying "sorry, this is .docx, hope you can open it" [01:34:00.0000] <Philip`> Real quote: "Therefore, please find attached further information . They are in docx format so hopefully you can all open the attachment !!" [01:35:00.0000] <Philip`> It's always nice when the defining feature of a file format is its incompatibility [01:36:00.0000] <hsivonen> from twitter, it looks like the defining feature of OOXML Strict is to be incompatible--again [01:36:01.0000] <Philip`> That seems okay as long as nobody uses it [01:37:00.0000] <hsivonen> I expect vendors to praise the virtues of OOXML Strict to governments and then selling them OOXML non-Strict systems [01:37:01.0000] <hsivonen> s/selling/sell/ [01:38:00.0000] <Philip`> "Reason for namespace change was to prevent data loss when you open document w/new features in oldapp" - by making it so you lose access to *all* the data when you only have an old app? [01:38:01.0000] <hsivonen> Philip`: my reaction, too [01:39:00.0000] <MikeSmith> hmm, didn't know Rob Pike was at Google now [01:39:01.0000] <hsivonen> IIRC, he has been there for quite a while now [01:40:00.0000] <MikeSmith> yeah, seems so [01:40:01.0000] <MikeSmith> e-mail address is r⊙gc [01:40:02.0000] <othermaciej> re tantek and profile, I did not get a very clear explanation as this seems out of alignment with his positions on most matters, and I was mostly trying to advise him on how to fruitfully make his case in favor of profile [01:42:00.0000] <hsivonen> sometimes I've thought the purpose of @profile for microformats is to have something so that when the RDF folks go "OMG! You don't have URI-based extensibility.", the Microformat community can point at @profile [01:42:01.0000] <hsivonen> and others should just politely ignore it [01:43:00.0000] <jgraham> What's the right word to use when you want to say that something should be an action that takes a system from a fully functional state A to another fully functional state A' rather than to an incomplete state B requiring subsequent actions to reach A' [01:43:01.0000] <jgraham> "atomic" seems close [01:44:00.0000] <Philip`> You could say it "should take a system from a fully functional state A to ... etc" [01:44:01.0000] <Philip`> Then everyone would know what you mean [01:45:00.0000] <jgraham> I could. But I thought there was a word for such a thing. That everyone would know if htey saw it but I couldn't remember going the other way [01:45:01.0000] <Philip`> Maybe call it a "complete change" for short, or something [01:46:00.0000] <hsivonen> transaction? [01:46:01.0000] <Philip`> /me can't think of a word either [01:46:02.0000] <Philip`> "Consistency" is probably the database terminology, for transactions that go from one valid state to another [01:47:00.0000] <Philip`> (as in ACID) [01:47:01.0000] <jgraham> "Complete consistent change" sounds nice [01:47:02.0000] <jgraham> Dunno if it is technically right [01:48:00.0000] <Philip`> It's just words, it can mean whatever you want [02:08:00.0000] <krisives> http://santiance.com/2009/11/better-html-form-cryptography/ ? [03:54:00.0000] <MikeSmith> are there any widely deployed browsers that render XML PIs in text/html documents? [03:55:00.0000] <MikeSmith> I'm reading http://www.w3.org/TR/xhtml-media-types/#C_1 [03:56:00.0000] <jgraham> MikeSmith: zcorpan may well know, when he's around [03:56:01.0000] <MikeSmith> OK [03:56:02.0000] <hsivonen> MikeSmith: http://lists.w3.org/Archives/Public/public-xhtml2/2008Sep/0000.html [03:56:03.0000] <hsivonen> "Namely some crappy mobile browsers, AFAIK. [03:56:04.0000] <hsivonen> " [03:57:00.0000] <MikeSmith> ah [03:57:01.0000] <hsivonen> says zcorpan there [03:59:00.0000] <MikeSmith> I notice his comment about IE6 there [03:59:01.0000] <MikeSmith> the presence of the XML declaration puts IE6 into quirks mode? [04:01:00.0000] <MikeSmith> hmm, yeah, I see that it does [04:05:00.0000] <gsnedders|work> MikeSmith, Yeah, I think that'd far more of a concern. [04:05:01.0000] <MikeSmith> yeah [04:06:00.0000] <gsnedders|work> /me replies to oolllldddd email [04:06:01.0000] <hsivonen> there probably a crappy mobile browser that breaks for every feature one might think of [04:11:00.0000] <jgraham> gsnedders|work: There's a difference between html5lib having a crappy implementation that has O(N^2) behaviour and the spec mandating O(N^2) behaviour (given the constraint that you can't change your platform string implementation) [04:11:01.0000] <gsnedders|work> The spec wouldn't mandate O(n^2) though. [04:11:02.0000] <jgraham> And your solution doesn't work for incremental parsing [04:12:00.0000] <gsnedders|work> It would mandate O(n^2) no more than it already does for a</x>a [04:13:00.0000] <jgraham> gsnedders|work: How do you fix O(N^2) behaviour for the <table> case without giving up incremental parsing? [04:13:01.0000] <jgraham> And with simple immutable strings> [04:13:02.0000] <jgraham> argh s/>/?/ [04:14:00.0000] <jgraham> s/parsing/rendering/ [04:15:00.0000] <gsnedders|work> How do adjacent text nodes help with the incremental rendering case? You still might need to re-render in the case you find more text, the spec only defines black-box behaviour so if you want to do incremental rendering you could always insert a text node when you hit table to have something (hopefully right) to render. [04:18:00.0000] <annevk2> jgraham, associate multiple strings with one text node? [04:19:00.0000] <jgraham> annevk2: Yeah I guess if you can change the DOM implementation that works [04:19:01.0000] <jgraham> /me notes that doesn't work for html5lib\ [04:19:02.0000] <annevk2> fair enough [04:20:00.0000] <jgraham> (it also adds complexity for browsers since you can't necessarily drop the new parser in to the old browser once you have to change other modules) [04:21:00.0000] <annevk2> isn't there some other limit browsers typically hit why most have multiple strings per text node impls? [04:21:01.0000] <annevk2> maybe I'm mistaken [04:21:02.0000] <gsnedders|work> Opera is the only I know of that currently creates multiple text nodes [04:22:00.0000] <gsnedders|work> (and those nowadays are all edge-cases) [04:22:01.0000] <jgraham> Dunno. If browsers already allow multiple string objects to represent a single text node in the DOM then we should revert the spec for sure [04:22:02.0000] <gsnedders|work> /me is being stupid agian [04:22:03.0000] <gsnedders|work> *agian [04:22:04.0000] <gsnedders|work> *again [04:22:05.0000] <gsnedders|work> ignore what I said above, I have no idea if it is right [04:22:06.0000] <gsnedders|work> (not even in the Opera case) [04:23:00.0000] <annevk2> keep it up and you might not have a choice next summer :p [04:23:01.0000] <gsnedders|work> When have I ever done anything apart from be stupid? :P [04:24:00.0000] <gsnedders|work> /me has never been able to read IRC closely to know what he's actually responding to and normally responds to something that wasn't said [04:24:01.0000] <hsivonen> /me think the perf characteristics of the hard requirements of the parsing algorithm should be optimized for languages that have mutable character buffers [04:24:02.0000] <gsnedders|work> (my answer about was referring to multiple text nodes, not how a single text node is represented internally) [04:25:00.0000] <jgraham> /me disagrees with hsivonen :) [04:25:01.0000] <hsivonen> (since high-performance implementations will use low-level languages anyway) [04:25:02.0000] <jgraham> Go is a low level language with immutable strings [04:25:03.0000] <gsnedders|work> /me thinks they should make sense for both, but favour low-level languages when a choice has to be made [04:25:04.0000] <gsnedders|work> But nobody uses Go. [04:25:05.0000] <hsivonen> I can sympathise with immutable strings in the tree representation [04:26:00.0000] <gsnedders|work> (at least for HTML parsing) [04:26:01.0000] <gsnedders|work> (much) [04:26:02.0000] <jgraham> gsnedders|work: Yet [04:26:03.0000] <hsivonen> but the tree builder's internal buffer shouldn't be immutable in a sane low-level language [04:26:04.0000] <jgraham> gsnedders|work: (for all you know Google have a HTML5 parser in Go) [04:27:00.0000] <jgraham> hsivonen: I'm not sure I agree that sanity -> mutable string type [04:28:00.0000] <gsnedders|work> In Go you would just use slices, as far as I can tell [04:28:01.0000] <hsivonen> if you don't have arrays, I think the language doesn't count as low-level :-) [04:29:00.0000] <gsnedders|work> It has both slices and arrays, and slices are normally used [04:29:01.0000] <jgraham> Right, we could use arrays in python too but it is not very obvious as an approach [04:30:00.0000] <jgraham> (and the data you get out at the other end has to be a string for compatibility with the rest of the world) [04:30:01.0000] <hsivonen> How does Go compare to Sawzall? [04:30:02.0000] <jgraham> (and the case that we care about is very close to the other end) [04:30:03.0000] <jgraham> (since it is about appending data to an existing string in a DOM node) [04:31:00.0000] <jgraham> (and you don't necessarily get a free choice of how your DOM implementaion works) [04:31:01.0000] <gsnedders|work> hsivonen, Do you actually gain anything in Gecko by having adjacent text nodes? [04:31:02.0000] <hsivonen> gsnedders|work: not having to check if there's an adjacent node at insertion time [04:31:03.0000] <hsivonen> that's about it [04:32:00.0000] <gsnedders|work> I guess cases like a</x>a are all fine because of mutable strings [04:32:01.0000] <gsnedders|work> So it's only the foster parenting case that is at all interesting in the low-level case [04:32:02.0000] <hsivonen> and maybe AAA [04:33:00.0000] <hsivonen> or maybe getting it wrong in AAA is just my fault [04:33:01.0000] <gsnedders|work> When do you do string concat in AAA? [04:33:02.0000] <hsivonen> I flush character at the start of the AAA [04:33:03.0000] <hsivonen> which may be bogus [04:34:00.0000] <hsivonen> then I have if (entryPos < listPtr) { [04:34:01.0000] <hsivonen> flushCharacters(); [04:34:02.0000] <hsivonen> } [04:34:03.0000] <hsivonen> in reconstructTheActiveFormattingElements [04:34:04.0000] <hsivonen> which may be bogus, too [04:35:00.0000] <hsivonen> gsnedders|work: it a Gecko integration-level bug that text nodes don't join between document.writes [04:35:01.0000] <hsivonen> *it's [04:36:00.0000] <hsivonen> basically, currently text nodes never join [04:36:01.0000] <hsivonen> once text leaves the tree builder [04:37:00.0000] <gsnedders|work> ah, OK, so not applicable to the general case [04:37:01.0000] <hsivonen> the HTML5 parser in Gecko has a lazily flushed buffer in the tree builder [04:37:02.0000] <hsivonen> like WebKit appears to have if black box behavior is any indication [04:38:00.0000] <hsivonen> except for IE and spec compat, I flush trailing text on document.write [04:38:01.0000] <hsivonen> well, not on trunk yet [04:38:02.0000] <hsivonen> since I haven't been able to land stuff [04:38:03.0000] <gsnedders|work> Why not? [04:39:00.0000] <hsivonen> lack of superreview on the first patch in my queue [04:41:00.0000] <gsnedders|work> /me guessed that, so nothing interesting [05:07:00.0000] <hsivonen> does anyone happen to have an alphabetized copy of the HTML5 entity list with non-MathML entities colored differently? [05:08:00.0000] <hsivonen> /me wants to work out how often *common* entities share a prefix longer than 2 characters with another entity (where the other entity may be a MathML entity) [05:10:00.0000] <hsivonen> /me wishes the mathml entities didn't have some many shared prefixes [05:11:00.0000] <hsivonen> lots of entities starting with "Double", "Left", "Down", etc. [05:12:00.0000] <hsivonen> grr. lots of entities starting with 'lt' [05:12:01.0000] <hsivonen> and 'gt', too [05:13:00.0000] <hsivonen> so much for making the common case easy *and* fast [05:13:01.0000] <hsivonen> things are brighter for amp and nbsp [05:14:00.0000] <Philip`> Someone should measure how common each entity name is [05:14:01.0000] <hsivonen> I think it's safe to assume that lt is common [05:14:02.0000] <hsivonen> so the search strategy shouldn't suck for lt [05:15:00.0000] <Philip`> gsnedders|work: "the following would equally lead to O(n^2) behaviour given the above conditions (i.e., a immutable string type like that of Python)" - no it shouldn't [05:16:00.0000] <gsnedders|work> it shouldn't [05:16:01.0000] <Philip`> The vague idea was that your "insert text node" function should not insert a text node but should build up a list of strings, and your "insert anything except a text node" function should concatenate and flush the list of strings [05:17:00.0000] <gsnedders|work> Right, I know [05:17:01.0000] <hsivonen> gsnedders|work: doesn't html5lib have a lazily-flushed accumulation buffer? [05:17:02.0000] <Philip`> so it would handle the "a</x>a" case because </a> wouldn't cause anything to get inserted, so you wouldn't flush the list [05:17:03.0000] <gsnedders|work> hsivonen, No [05:17:04.0000] <hsivonen> gsnedders|work: whoa. that's bad. [05:17:05.0000] <jgraham> gsnedders|work: We can add one pretty easilly though [05:17:06.0000] <gsnedders|work> jgraham, Indeed. [05:18:00.0000] <jgraham> hsivonen: Not really [05:18:01.0000] <jgraham> It doesn't show up in any profiling runs I remember [05:19:00.0000] <jgraham> (I guess it is bad if someone tries to DOS a html5lib instance but really you can do that jus by feeding it a really long document so I'm not that bothered) [05:19:01.0000] <hsivonen> the HTML5 spec is the DoS use case :-) [05:19:02.0000] <Philip`> /me reads the rest of gsnedders|work's email and see that he mentions this stuff already [05:21:00.0000] <Philip`> jgraham: My (ill-informed) view of DOS attacks is that we should fix any situations where the attacker does not have to do an amount of work proportional to the work the parser will perform [05:21:01.0000] <Philip`> You can feed it a really long document but that means you have to use your own time and bandwidth [05:22:00.0000] <gsnedders|work> hsivonen, Most of the profiling we've done is with the spec :P [05:22:01.0000] <Philip`> whereas you can trigger O(n^2) behaviour with a very small amount of input and cause a very large amount of processing in the parser [05:22:02.0000] <Philip`> (where n is the length of the input) [05:23:00.0000] <gsnedders|work> I just don't see the need to have the list of strings _and_ adjacent text nodes when the former can cope with all the problems that html5lib will come across [05:23:01.0000] <Philip`> If you guarantee O(n) behaviour, then it's easy to e.g. limit your input to 1MB and be pretty sure your parser isn't going to take forever or eat all your memory [05:25:00.0000] <Philip`> (That's useful in non-intentional-attack cases like crawling random web pages, too) [05:27:00.0000] <Philip`> ...And that doesn't seem like an unreasonable guarantee to provide, if the parser is just careful about string concatenation and limits the formatting reconstruction clone depth [05:30:00.0000] <Philip`> /me decides he probably ought to read and understand emails before commenting on them [05:50:00.0000] <TabAtkins> Just got my Wave invitation. Anyone interested in me sending them an invite? [05:51:00.0000] <jgraham> /me has several invites and no friends [05:51:01.0000] <jgraham> Or at least no friends that are interested in using a pre-release version of a new communication platform [05:51:02.0000] <TabAtkins> Hehe. [05:54:00.0000] <hsivonen> when does wave offer invites for sending? [05:55:00.0000] <hsivonen> among my friends from the university, there's a shortage of wave invites and an oversupply of spotify invites [05:56:00.0000] <annevk2> sigh [05:56:01.0000] <annevk2> we should just add MathML entities to XML and be done with it [05:56:02.0000] <jgraham> hsivonen: Dunno, I just got them when I signed up [05:56:03.0000] <jgraham> s/signed up/got my account/ [05:56:04.0000] <jgraham> and got more later [05:57:00.0000] <hsivonen> /me didn't get any invites to send out as part of getting his wave account [05:57:01.0000] <hsivonen> or maybe I'm just too inept to figure out the UI for invites [05:58:00.0000] <jgraham> hsivonen: I got a wave called "Invite others to Google Wave" [05:58:01.0000] <TabAtkins> hsivonen: Yeah, I just have a wave with an invite app in it. [05:58:02.0000] <jgraham> Which has a counter of invitations and a box for email address [05:59:00.0000] <hsivonen> ok. I didn't get such a wave [05:59:01.0000] <hsivonen> but now the inbox view went crazy [05:59:02.0000] <hsivonen> even though I'm using the same browser build as earlier today [06:00:00.0000] <TabAtkins> My wave tab is still claiming I have a single unread update. This is a lie. And it's affecting my OCD. >_< [06:00:01.0000] <jgraham> Yeah it is really buggy still [06:00:02.0000] <jgraham> And kinda slow for large waves [06:01:00.0000] <hsivonen> it annoyes me that Google sniffs Minefield as not Firefox [06:01:01.0000] <hsivonen> *annoys [06:01:02.0000] <jgraham> /me mumbles something about Opera support [06:10:00.0000] <TabAtkins> annevk2: What's the holdup? The fact that we'd be changing the XML spec as well? [06:11:00.0000] <TabAtkins> Also, Wave has insufficient keyboard accessibility right now. I can't scroll in a wave using up and down. [06:14:00.0000] <jgraham> TabAtkins: wfm [06:14:01.0000] <jgraham> (somewhat) [06:14:02.0000] <TabAtkins> jgraham: ?_? [06:14:03.0000] <jgraham> TabAtkins: I can scroll in a wave using up and down [06:14:04.0000] <TabAtkins> Hrm. [06:14:05.0000] <jgraham> It is not exactly smooth though [06:15:00.0000] <TabAtkins> I can use page-up and -down, but not the arrows. [06:15:01.0000] <annevk2> TabAtkins, the holdup is routing through the XML Core WG and all stakeholders of XML [06:15:02.0000] <annevk2> i.e. a pretty big holdup [06:15:03.0000] <annevk2> anyway, really gotta leave [06:16:00.0000] <jgraham> TabAtkins: You need to get the focus on a message first [06:16:01.0000] <TabAtkins> Makes sense. Also, there's that argument about new predefined entities borking current custom entities. [06:16:02.0000] <jgraham> up/down moves the focus between messages which also causes scrolling [06:16:03.0000] <TabAtkins> jgraham: Nah, I've definitely got the message focused. It has a green border and everything. [06:16:04.0000] <jgraham> TabAtkins: Which browser [06:17:00.0000] <TabAtkins> Chrome 3.0.195.27 [06:22:00.0000] <TabAtkins> Hm, got the erroneous "new update" thing to disappear by filling in my profile. [06:24:00.0000] <hsivonen> what features does Wave use that Opera doesn't have? [06:25:00.0000] <jgraham> hsivonen: AFAICT the problem is that each browser has a specific codepath that uses proprietry features in that browser [06:25:01.0000] <jgraham> s/each/each supported/ [06:26:00.0000] <TabAtkins> That would be automagic from GWT. [06:26:01.0000] <hsivonen> jgraham: :-( I'd have hoped Google knew better than writing to browsers instead of spec features [06:27:00.0000] <gsnedders|work> We don't fire mutation events in designMode documents is the only actual bug of ours [06:27:01.0000] <TabAtkins> Wave was written in Java, though - there is no 'browser' involved. Browsers are just a compilation target. [06:27:02.0000] <hsivonen> so does GWT put a lock on the browser market by effectively preventing new entrants? [06:28:00.0000] <TabAtkins> Probably doesn't help. [06:28:01.0000] <gsnedders|work> It doesn't just prevent new entrants, it blocks existing browsers too [06:28:02.0000] <hsivonen> or do new entrants 'simply' need to fully clone one of the existing engines and spoof its UA string? [06:28:03.0000] <gsnedders|work> hsivonen, That would work [06:28:04.0000] <TabAtkins> I'd call that an effective prevention. [06:28:05.0000] <gsnedders|work> hsivonen, But effectively amounts to the same [06:29:00.0000] <gsnedders|work> hsivonen, It relies upon specific stacktrace formats too! [06:29:01.0000] <hsivonen> why? [06:30:00.0000] <jgraham> hsivonen: Because it can I guess [06:30:01.0000] <gsnedders|work> It somewhat absurd the level of detail it relies upon [06:30:02.0000] <jgraham> If this is typical of the sort of code that GWT produces I would be loathe to use it in production [06:30:03.0000] <hsivonen> /me has a hard time coming up for a use case why the run time needs to examine stack traces [06:31:00.0000] <hsivonen> the GWT compiler is pretty cool though [06:31:01.0000] <jgraham> Since there seems to be a high chance of the site breaking with new releases of the same browser, let alone new browsers [06:31:02.0000] <hsivonen> too bad the framework has unhealthy characteristics [06:32:00.0000] <gsnedders|work> The concept is kinda cool, but it's a terrible implementation [06:32:01.0000] <TabAtkins> That's the problem with building a high-level abstraction on top of *another* high-level abstraction. [06:33:00.0000] <TabAtkins> If you move sufficiently far away from the original, you enter the realm of horrifying hacks. [06:33:01.0000] <hsivonen> TabAtkins: well, they *could* feature-sniff it they weren't so concerned about minimizing the .js download sizes [06:33:02.0000] <TabAtkins> True, that much at least would work. [06:33:03.0000] <TabAtkins> And jeez, not like feature-sniffing code is large or anything. [06:34:00.0000] <Philip`> Does there exist a non-web-based Wave client (like in Python or something)? [06:34:01.0000] <TabAtkins> In theory there does. [06:34:02.0000] <jgraham> There is a ruby one [06:34:03.0000] <jgraham> But I think s/client/library/ [06:34:04.0000] <jgraham> I don't think it has a UI or anything [06:34:05.0000] <gsnedders|work> /me mumbles something about LysKOM being nearly identical [06:34:06.0000] <Philip`> Not necessarily one that works fully, just one where I could see what happens when sending bogus XML to it [06:34:07.0000] <hsivonen> how does ruby deal with Wave plug-ins? [06:34:08.0000] <Philip`> s/it/the server/ [06:34:09.0000] <gsnedders|work> Philip`, hah [06:35:00.0000] <gsnedders|work> Philip`, I should've guessed :) [06:35:01.0000] <hsivonen> does Wave use XML as the message format? [06:35:02.0000] <gsnedders|work> hsivonen, XMPP, IIRC [06:35:03.0000] <gsnedders|work> Yeah, it uses XMPP + extensions [06:36:00.0000] <hsivonen> ah. so that's why they use a new domain name in the address [06:36:01.0000] <hsivonen> to mint separate XMPP ids for Gmail chat and Wave [06:38:00.0000] <jgraham> /me looks at the profile of html5lib he did ealier and notes that inserting text is now a noticable operation in the profile [06:38:01.0000] <jgraham> So maybe it is worth optimising at last [06:38:02.0000] <zcorpan> why isn't "The public identifier is set to: "-//W3O//DTD W3 HTML Strict 3.0//EN//"" instead "The public identifier starts with: "-//W3O//DTD W3 HTML Strict 3.0//""? [06:39:00.0000] <zcorpan> and "-/W3C/DTD HTML 4.0 Transitional/EN" [06:39:01.0000] <mpilgrim> there are no clients for google wave [06:39:02.0000] <mpilgrim> yet [06:39:03.0000] <TabAtkins> I think I will call it "gwave", and try to pronounce it like that without giggling. [06:39:04.0000] <mpilgrim> all the work on standardizing the protocol ( http://www.waveprotocol.org/ ) is about building your own server [06:39:05.0000] <mpilgrim> not your own client [06:40:00.0000] <mpilgrim> the way the client communicates with the server is currently undefined [06:40:01.0000] <mpilgrim> or rather, is defined solely by the web-based implementation [06:40:02.0000] <mpilgrim> this is a TODO [06:40:03.0000] <jgraham> How can you build a server if the way the client communicates with it is undefined? [06:41:00.0000] <Philip`> mpilgrim: When I said "client" I may have meant "server" [06:41:01.0000] <mpilgrim> you can build servers that communicate with other servers [06:41:02.0000] <mpilgrim> it's a federated protocol (like XMPP that it builds on) [06:42:00.0000] <Philip`> since I meant whatever it is that can communicate with Google's code over XMPP [06:42:01.0000] <mpilgrim> i understand about half the words i just typed [06:42:02.0000] <mpilgrim> i'm mostly repeating what i learned at the google developer day talk about wave earlier this week [06:42:03.0000] <jgraham> Servers that don't talk to clients don't sound all that interesting. But maybe there is some magic in the word "federated" that makes them interesting [06:42:04.0000] <gsnedders|work> So basically you're as ignorant as all of us? :P [06:42:05.0000] <mpilgrim> i may be missing something important [06:43:00.0000] <Philip`> I probably should have asked: Does there exist a vaguely usable open-source implementation of the Google Wave Federation Protocol? [06:43:01.0000] <mpilgrim> but i have been told that non-googlers have successfully deployed servers that talk to google's server [06:43:02.0000] <mpilgrim> i'm just not sure what they talk about [06:43:03.0000] <Philip`> jgraham: You build the server and the client [06:43:04.0000] <Philip`> jgraham: and don't need a standard between them [06:44:00.0000] <mpilgrim> philip`: that would be available at http://www.waveprotocol.org/ [06:44:01.0000] <Philip`> jgraham: but you do have a standard between servers and servers, so clients can talk to each other [06:44:02.0000] <hsivonen> jgraham: you can substitute a Novell server [06:44:03.0000] <mpilgrim> which, apparently, links to http://code.google.com/p/wave-protocol/source/checkout [06:44:04.0000] <mpilgrim> and now you know more than i do [06:44:05.0000] <hsivonen> jgraham: but the way your browser talks to the Novell or Google servers is an implementation detail, I guess [06:45:00.0000] <Philip`> mpilgrim: I was hoping there was one that wasn't Java :-) [06:45:01.0000] <mpilgrim> ah [06:45:02.0000] <mpilgrim> you realize it was written in java, yes? [06:45:03.0000] <Philip`> and also I failed to notice there was a Java one [06:45:04.0000] <Philip`> (even though I already downloaded that code months ago) [06:45:05.0000] <Philip`> (and then forgot) [06:45:06.0000] <mpilgrim> hsivonen: the way your browser talks to the Novell or Google servers is, currently, an undefined implementation detail, yes [06:45:07.0000] <hsivonen> whenever I watch a Google presentation on anything Java-related, it all always looks more patterny than what I've even handled [06:46:00.0000] <Philip`> mpilgrim: I realise that one was written in Java, but hoped someone else might have made a nice simple easily-hackable one in Python or something [06:46:01.0000] <mpilgrim> google has publicly stated that we plan to document it [06:46:02.0000] <mpilgrim> i don't think i've ever heard a timeline for that, though [06:46:03.0000] <hsivonen> s/even/ever/ [06:46:04.0000] <TabAtkins> /me just realized that mpilgrim works for Google. [06:46:05.0000] <gsnedders|work> TabAtkins, You slow old man :P [06:47:00.0000] <hsivonen> GWT apps seem to be incredibly patterny [06:47:01.0000] <mpilgrim> /me reserves comment, since i don't know who most of you work for either [06:47:02.0000] <hsivonen> it's a bit intimidating [06:47:03.0000] <gsnedders|work> Well, I'm at work. [06:47:04.0000] <hsivonen> (being patterny--not not knowing who works for whom) [06:47:05.0000] <TabAtkins> And I work for someone irrelevant. [06:47:06.0000] <zcorpan> gsnedders|work: go back to doing work [06:47:07.0000] <gsnedders|work> zcorpan, Sorry Daddy. [06:48:00.0000] <mpilgrim> /me also... wisely... reserves comment on GWT in general [06:48:01.0000] <zcorpan> gsnedders|work: good boy [06:48:02.0000] <mpilgrim> this conversation has taken a disturbing turn [06:48:03.0000] <gsnedders|work> zcorpan, Now you go back to doing work too. [06:49:00.0000] <zcorpan> good point [06:50:00.0000] <mpilgrim> paul_irish: what are your post-1.0 plans for modernizr? [06:51:00.0000] <paul_irish> hey mpilgrim [06:51:01.0000] <paul_irish> lemme pull up those for ya [06:51:02.0000] <TabAtkins> paul_irish keeps his plans in a vault. [06:51:03.0000] <paul_irish> :) i just committed tests for localstorage, webworkers, and applicationcache. [06:52:00.0000] <paul_irish> additionally we now have tests for video/audio formats.. Modernizr.video.mp4 etc [06:52:01.0000] <mpilgrim> hooray [06:52:02.0000] <jgraham> In a well, if he's pulling them up [06:52:03.0000] <paul_irish> input placeholders and autofocus are also in [06:52:04.0000] <mpilgrim> /me checks his notes too [06:52:05.0000] <paul_irish> as well as plugin mechanism for adding new tests [06:52:06.0000] <gsnedders|work> How do you cope with CSS3 properties that are prefixed in implementations? Do you have to manually add each prefixed version of each property? [06:52:07.0000] <paul_irish> yup. [06:52:08.0000] <gsnedders|work> Ow. [06:53:00.0000] <mpilgrim> how about <input required> ? [06:53:01.0000] <mpilgrim> <input autocomplete> ? [06:53:02.0000] <mpilgrim> and <input pattern> ? [06:53:03.0000] <gsnedders|work> Seeming people will probably use out of date versions of Modernizr for far too long, if we add -o-amazing-new property and it only checks for -moz-amazing-new-property then we keep using a non-native version, which sucks [06:54:00.0000] <paul_irish> mpilgrim: no we don't have some form stuff that i still want. required/pattern/autocomplete are not in, but i'll add autocomplete to the ticket to track. [06:55:00.0000] <paul_irish> also there's a lot of demand for svg tests.. svg clip paths and such. that'd be a nice addition to 1.5 [06:55:01.0000] <gsnedders|work> /me wonders how well just having a list like, "-moz-", "-o-", "-webkit-" etc. would work and trying all of them [06:55:02.0000] <hsivonen> /me much prefers Modernizr to GWT's macro-level handful of code paths [06:55:03.0000] <gsnedders|work> That might break when the spec changes under the prototype impls though [06:55:04.0000] <mpilgrim> btw, loved your recent post about defeating the FOUT [06:55:05.0000] <hsivonen> URL? [06:55:06.0000] <paul_irish> and then the other ones i'm tracking are postMessage / open/webDatabase, hashchange support, and html54 drag n drop [06:56:00.0000] <gsnedders|work> hsivonen, Likewise, as all browsers get the same code path and should be able to change over time [06:56:01.0000] <mpilgrim> http://paulirish.com/2009/fighting-the-font-face-fout/#defeatthefout [06:56:02.0000] <hsivonen> /me would prefer WebKit just fixing their @font-face behavior [06:56:03.0000] <hsivonen> mpilgrim: thanks [06:56:04.0000] <mpilgrim> /me would actually prefer that firefox change their implementation to match webkit [06:56:05.0000] <paul_irish> gsnedders|work: http://github.com/Modernizr/Modernizr/blob/master/modernizr.js#L120 we test all the vendor specific as well as the non-prefixed [06:56:06.0000] <mpilgrim> but neither seems likely [06:57:00.0000] <hsivonen> oh. it's doing the opposite that I want [06:57:01.0000] <gsnedders|work> paul_irish, Ah, OK, I meant by what I asked earlier if you did that [06:57:02.0000] <hsivonen> I get complaints that my site is slow to become readable in WebKit [06:57:03.0000] <hsivonen> since all the fonts are @font-face [06:57:04.0000] <mpilgrim> dude, your site is slow because you have like 5 MB of fonts [06:58:00.0000] <mpilgrim> subsetting a little wouldn't kill you [06:58:01.0000] <paul_irish> yah the mozilla bug tracking FOUT is leaning in a direction that text will be invisible, but it'll go to fallback font if it thinks the delay will be "long" [06:58:02.0000] <paul_irish> no patches landed yet [06:58:03.0000] <hsivonen> mpilgrim: then I'd have to re-subset when I write something with a new character [06:58:04.0000] <gsnedders|work> paul_irish, I'd add all the prefixes now listed in CSS 2.1 [06:58:05.0000] <hsivonen> mpilgrim: works for me in Fennec even [06:58:06.0000] <gsnedders|work> paul_irish, http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords [06:59:00.0000] <paul_irish> gsnedders|work: oh nice! hot tip. thank you [06:59:01.0000] <mpilgrim> on diveintohtml5.org, i subset to A-Za-z0-9 plus a few punctuation characters and other fancy typographical characters [06:59:02.0000] <mpilgrim> shaved quite a bit off of the font sizes [07:01:00.0000] <mpilgrim> specifically, these characters: http://hg.diveintohtml5.org/hgweb.cgi/file/tip/fonts-original/chars [07:01:01.0000] <TabAtkins> /me is satisfied to see … on that list. [07:01:02.0000] <paul_irish> mpilgrim: http://github.com/Modernizr/Modernizr/blob/master/modernizr.js is the latest.. i think it now picks up all the remaining tests from your detect chapter. [07:01:03.0000] <mpilgrim> yay [07:01:04.0000] <mpilgrim> release it and i'll update the text [07:02:00.0000] <mpilgrim> you have until december 11th [07:02:01.0000] <mpilgrim> then we're freezing for print [07:02:02.0000] <paul_irish> certainly. you'll be the first to know. [07:02:03.0000] <paul_irish> Oh excellent. we can do that. [07:03:00.0000] <mpilgrim> excellent [07:03:01.0000] <mpilgrim> i love it when a plan comes together [07:03:02.0000] <mpilgrim> now if you'll excuse me, i need to go spend 8 hours on a plane [07:03:03.0000] <mpilgrim> seeing as how i am (STILL!) on the wrong side of the atlantic [07:03:04.0000] <paul_irish> enjoy [07:03:05.0000] <TabAtkins> You should have gotten on those wifi planes. [07:03:06.0000] <TabAtkins> Then you could be with us forever. [07:04:00.0000] <Philip`> hsivonen: Subsetting to exactly the characters used on your pages seems like a very 1990s notion, when Win-1252 fonts were unbearably large :-) [07:05:00.0000] <Philip`> Now you can just strip out Greek and Cyrillic and CJK and whatever, and get large savings without losing anything useful [07:06:00.0000] <jgraham> /me wonders what will happen if hsivonen ever wants to use a non-BMP character [07:06:01.0000] <Philip`> Then it can use the fallback font [07:06:02.0000] <hsivonen> I have some Polish content on my site [07:06:03.0000] <jgraham> But it will look ugly! [07:07:00.0000] <hsivonen> so I'd have to cover that [07:07:01.0000] <hsivonen> in general, subsetting and failing to include all Latin characters actually used leads to mighty ugliness [07:07:02.0000] <hsivonen> using a fallback font for a random math symbol might be bearable [07:09:00.0000] <Philip`> That's easy to solve by including all Latin characters [07:11:00.0000] <hsivonen> is the current story of inherent security vs. policy-dependance for DAP deliverables documented somewhere? [08:20:00.0000] <TabAtkins> Are the latest firefox nightlies 3.6b2, or 3.7a1? [08:21:00.0000] <karlcow> TabAtkins: http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/ [08:22:00.0000] <TabAtkins> Danke. I never find that page easily when I google for it. Bookmarking now. [08:41:00.0000] <GPHemsley> <3 HTML5 validator, which actually complains about things that are important [08:41:01.0000] <GPHemsley> (and tells you why) [08:42:00.0000] <ment> like "It seems you are trying to parse JPEG image." ? [08:50:00.0000] <GPHemsley> and stuff like "this row only had 2 cells, but it should have had 4" [08:51:00.0000] <GPHemsley> though I am wondering what it means by "at this point" regarding attributes that aren't allowed [08:52:00.0000] <GPHemsley> "end tag for element "HEAD" which is not open" vs. "Stray end tag head." is nice [09:03:00.0000] <TabAtkins> Oh god how am I freezing FF with this I don't even know. [09:03:01.0000] <TabAtkins> Or wait - yes I do. Silly me. [09:12:00.0000] <Philip`> "most programmers do not want draconian error handling where automatic recovery might be possible. Thus why, for instance, assert() is usually a no-op in production builds." - I thought assert was a no-op in production builds primarily because of (unjustified) performance concerns [09:15:00.0000] <TabAtkins> Well, that *too*, but really, do you *want* your production builds to error out on a bad assertion? [09:16:00.0000] <Philip`> Yes [09:16:01.0000] <Philip`> since failed assertions sometimes lead to security vulnerabilities [09:22:00.0000] <Philip`> /me is reminded of the people who made invalid pointer reads (in C/C++ programs) return 0 instead of crashing, and found that most programs worked fine with that kind of error recovery [09:22:01.0000] <Philip`> but the idea hasn't really caught on [09:23:00.0000] <Philip`> C++ compilers have been adding more draconian features, in fact [09:23:01.0000] <Philip`> like checking for stack corruption [09:23:02.0000] <Philip`> and enabling it by default in production builds [09:45:00.0000] <jgraham> /me hopes someone else will explain that XML parsers/serializers are observed to have bugs and that the oppertunity cost of making your site bulletproof against XML errors is rather poor given that it has almost no tangible benefits v just using HTML [09:49:00.0000] <Philip`> But what if you're using your web page for financial transactions and are too lazy to include a checksum? [09:50:00.0000] <jgraham> You are an idiot? [09:50:01.0000] <jgraham> And likely have bigger problems [09:51:00.0000] <Philip`> Also, how's that relevant for XML vs HTML, given that random errors are likely to occur in content and not cause syntax errors? [09:51:01.0000] <jgraham> That example? [09:51:02.0000] <jgraham> No idea [09:58:00.0000] <Philip`> /me supposes public-html doesn't really need another draconianness debate in any case [11:13:00.0000] <Philip`> gsnedders: You might want to update http://wiki.whatwg.org/wiki/Parser_tests if you changed the test format [12:54:00.0000] <jgraham> gsnedders: yt? [13:42:00.0000] <annevk2> hmm, short URL fail: http://bit.ly/4e1BSG [13:42:01.0000] <hamcore> why fail? [13:43:00.0000] <hamcore> it goes to http://html5.org/ [13:43:01.0000] <annevk2> because it's longer, not shorter [13:43:02.0000] <annevk2> duh [13:44:00.0000] <annevk2> oh lolz [13:44:01.0000] <annevk2> someone is yet again bringing up the stupid bank example in relation to the merits of draconian error handling [13:45:00.0000] <Steve^> is that the stupid [bank example] or the [stupid bank] example? [13:46:00.0000] <hamcore> annevk2 oh, sure. [13:46:01.0000] <ment> jgraham: where is the go html5 parser? all i see is some weird xml/html4 parser [13:48:00.0000] <annevk2> Steve^, the former [13:49:00.0000] <annevk2> the flaws with the example have been discussed to some extent on http://www.tbray.org/ongoing/When/200x/2007/01/30/XML-2 [13:49:01.0000] <annevk2> of course since it has been given since like '97 it is understandable not everyone has caught up with this yet [13:55:00.0000] <Hixie> annevk2: ignore DATAGRID_ERR [13:55:01.0000] <Hixie> if we redo datagrid i'll reassign a number for it [13:56:00.0000] <annevk2> kk [13:57:00.0000] <annevk2> i dislike the way XHR does exceptions btw [13:57:01.0000] <annevk2> throwing for non-author errors makes for such a lame API [14:01:00.0000] <Steve^> one wonders why a bank would send transactions in HTML [14:01:01.0000] <Hixie> or unsigned XML [14:02:00.0000] <Hixie> if the message can get truncated, it can probably also get modified [14:02:01.0000] <Steve^> maybe if we swapped from <> to [] people wouldn't compare so much [14:03:00.0000] <annevk2> or moreover, unvalidated XML [14:03:01.0000] <annevk2> validation seems like a pretty basic requirement if you really want to make sure it is the right message [14:04:00.0000] <Hixie> dude if you're transferring millions of euros, you had better be signing the data or doing some other kind of reliability guarantee [14:05:00.0000] <Hixie> well-formedness isn't going to cut it [14:06:00.0000] <Steve^> /me wonders if the HTML5 draft gets signed before being sent to important people [14:09:00.0000] <Dashiva> Is the bank also using RDFa to authenticate and authorize the transaction, I wonder :) [14:09:01.0000] <Philip`> Steve^: It gets sent through loads of preprocessing steps on loads of servers that are of unascertained security, before being sent to any people at all, so it'd be pretty easy to sneak something into the published document [14:10:00.0000] <Steve^> Philip`, what's the password? [14:11:00.0000] <Philip`> Steve^: It's not *that* easy :-p [14:12:00.0000] <Steve^> Philip`, I hoped you'd be celebrating beer wednesday or something. worth a shot [14:12:01.0000] <Dashiva> "Given high enough density of hashmarks almost anything is valid Perl" [14:24:00.0000] <TabAtkins> Steve^: I'll get Philip` to celebrate Liquor Friday with me. Hit him up then. [15:27:00.0000] <MikeSmith> as far as the parsing algorithm, an element with a plus sign in it is not an error, right? [15:28:00.0000] <Dashiva> In it? In the element name? [15:28:01.0000] <MikeSmith> Dashiva: yeah [15:29:00.0000] <MikeSmith> e.g., <foo+bar> [15:29:01.0000] <Dashiva> It is [15:29:02.0000] <MikeSmith> ah [15:29:03.0000] <Philip`> MikeSmith: http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#tag-name-state says it's not a parse error [15:29:04.0000] <Philip`> or, rather, doesn't say it is a parse error [15:29:05.0000] <Hixie> it shouldn't be a _parse_ error, no [15:30:00.0000] <Hixie> 'course since there's no foo+bar element, it's still an error [15:30:01.0000] <Dashiva> Right, that's a much more useful answer [15:30:02.0000] <MikeSmith> OK [15:42:00.0000] <Philip`> MikeSmith: (I do hope you're not planning to use + in an element name) [15:43:00.0000] <MikeSmith> Philip`: I was asking in context of a message Jonathan Rees posted to www-tag yesterday [15:46:00.0000] <MikeSmith> http://lists.w3.org/Archives/Public/www-tag/2009Nov/0015.html [15:47:00.0000] <Philip`> Ah [15:47:01.0000] <MikeSmith> this part: [15:47:02.0000] <MikeSmith> [[ [15:47:03.0000] <MikeSmith> For example, one might say that addition of new elements and [15:47:04.0000] <MikeSmith> attributes is likely to happen, but not changes in the lexical syntax [15:47:05.0000] <MikeSmith> such as the addition of something like <% .... %> or allowing + in [15:47:06.0000] <MikeSmith> element names. [15:47:07.0000] <MikeSmith> ]] [15:50:00.0000] <MikeSmith> seems like he was stating that as a example of a type of syntax restriction [15:52:00.0000] <MikeSmith> maybe part of the answer should be, there are no existing arbitrary syntax restrictions like that -- instead there are only things that generate parse errors and things that are do not [15:52:01.0000] <MikeSmith> -are [15:52:02.0000] <Hixie> there are some arbitrary restrictions [15:52:03.0000] <Hixie> like unquoted attributes can't contain ` [15:52:04.0000] <Hixie> because of potential security problems with IE [15:52:05.0000] <MikeSmith> I see [15:53:00.0000] <MikeSmith> so maybe I can make up a list of those [15:54:00.0000] <MikeSmith> that seems in part at least to be what he's wondering about [15:54:01.0000] <MikeSmith> that is, the bounds on what can be changed in the syntax and what can't be [15:56:00.0000] <Hixie> i dunno [15:56:01.0000] <Hixie> we can probably add new syntax [15:56:02.0000] <Hixie> it'd just be somewhat painful [15:57:00.0000] <Hixie> and we can add anything that is currently a bogus comment pretty easily [15:57:01.0000] <Hixie> e.g. we could add <% ... %> so long as "..." can never be ">" [15:58:00.0000] <Hixie> we could add <!start range selection> ... <!end range selection> [15:58:01.0000] <Hixie> so other things like that [15:58:02.0000] <MikeSmith> Hixie: I realize the first two points. but it seems like things such as the restriction on unquoted attribute values containing ' that really can't be changed practically changed at this point [15:58:03.0000] <Hixie> unquoted attribute values only can't contain ' because it's confusing [15:59:00.0000] <MikeSmith> eh? I thought you just said it was an IE security issue? [15:59:01.0000] <Hixie> that's ` [15:59:02.0000] <Dashiva> That was ` [15:59:03.0000] <Hixie> not ' [15:59:04.0000] <MikeSmith> ah 2009-11-12 [16:00:00.0000] <MikeSmith> /me needs to get better fonts.. or bigger ones.. or better eyes [16:01:00.0000] <Hixie> a lot of these restrictions are there purely for compatibility with xml [16:02:00.0000] <Hixie> if it wasn't for staying roughly compatible with xml, we could make some pretty good changes [16:02:01.0000] <MikeSmith> so maybe it could help if I wrote up an informational document about those [16:02:02.0000] <MikeSmith> unless somebody else already has [16:02:03.0000] <MikeSmith> on the wiki or somewhere [16:03:00.0000] <Hixie> help how? [16:03:01.0000] <Philip`> Help who? [16:04:00.0000] <Philip`> (Oh, are there really no more anagrams for "how"? :-( ) [16:04:01.0000] <MikeSmith> heh [16:04:02.0000] <MikeSmith> help people who want to put together documents that are going to be processing as they'd expect without having side effects they don't want [16:04:03.0000] <Hixie> i don't follow [16:04:04.0000] <MikeSmith> e.g, the reason why you should not put an XML declaration in a document served as text/html [16:05:00.0000] <MikeSmith> well, one of the reasons [16:05:01.0000] <MikeSmith> the most important one being that it will put IE6 into quirks mode [16:05:02.0000] <MikeSmith> most people don't know that [16:05:03.0000] <Hixie> isn't that basically the only reason? [16:05:04.0000] <MikeSmith> or don't remember it [16:06:00.0000] <MikeSmith> Hixie: I guess another reason would be that it doesn't otherwise have any effect [16:06:01.0000] <MikeSmith> e.g., if you try to use it set encoding, it's not going to do anything [16:06:02.0000] <Philip`> MikeSmith: Like a subset of HTML5's conformance criteria, but only for compatibility concerns, ignoring all the issues of good taste and readability and accessibility and whatever? [16:06:03.0000] <MikeSmith> yeah, pretty much [16:07:00.0000] <MikeSmith> just listing things that are "gotchas", I guess [16:07:01.0000] <MikeSmith> I occasionally get questions about this kind of stuff off-list [16:07:02.0000] <Hixie> MikeSmith: then there's a lot of other crap we should make illegal :-) [16:07:03.0000] <Hixie> like xmlns="" [16:07:04.0000] <Hixie> and /? [16:07:05.0000] <Hixie> er /> [16:08:00.0000] <MikeSmith> well, yeah [16:08:01.0000] <Hixie> the only reason they're allowed is to make polyglots possible [16:08:02.0000] <Hixie> though personally i wish we could go in the other direction [16:08:03.0000] <Hixie> far, far in the other direction [16:09:00.0000] <MikeSmith> Hixie: I know but that position seems to be out of sync with the range of authors/content providers who say they want to do it and seem to feel pretty strongly about it [16:10:00.0000] <Hixie> most of them think that they're doing stuff simple enough that it won't be a problem [16:11:00.0000] <Hixie> and i think (a) they're likely to either be wrong already or soon will be, and (b) they are misleading others into thinking they are in a similar situation [16:11:01.0000] <MikeSmith> I don't know about most but I am sure many [16:11:02.0000] <Hixie> those who don't think they're doing stuff simple enough that it won't be a problem are unlikely to want to do it, since by definition they think they'd have a problem :-) [16:12:00.0000] <MikeSmith> I think point (b) is the more important one [16:13:00.0000] <Hixie> the xml/html dichotomy is worse than the c/C++ dichotomy [16:13:01.0000] <MikeSmith> perhaps we should require that people who believe they know what they are doing should include a disclaimer in their content along the lines of "Trained professional driver. Don't try this as home." [16:13:02.0000] <MikeSmith> of course then others would just cargo-cult copy that disclaimer too [16:14:00.0000] <MikeSmith> we clearly need some certification/regulation here [16:15:00.0000] <MikeSmith> what we have now is more kinda like the gun-control (or lack of gun-control) situation in the US [16:15:01.0000] <Hixie> sam's the only person whose source i have examined whom i know has done this seriously enough to really be considered a train professional driver [16:15:02.0000] <Hixie> and he recommends against it [16:15:03.0000] <MikeSmith> right [16:15:04.0000] <Hixie> but i'm tired of arguing this point, if people want to do it, then fine [16:16:00.0000] <MikeSmith> yeah [16:16:01.0000] <MikeSmith> so to get back to the context for my original question, my motivation is just my own general laziness [16:16:02.0000] <Philip`> Don't bother with certification, just make the technology as complex as possible then charge people $1500 for a three-day course on it [16:16:03.0000] <Philip`> Saves all the effort of printing proper certificates [16:17:00.0000] <MikeSmith> yeah, that seems to be working well for a lot of technologies/standards [16:17:01.0000] <MikeSmith> we must raise the barrier for entry [16:17:02.0000] <MikeSmith> make it much more painful [16:17:03.0000] <MikeSmith> people learn best from pain [16:18:00.0000] <MikeSmith> I know I do [16:20:00.0000] <MikeSmith> anyway, I would just rather be able to point people to "list of stuff that you really should not be doing even though you think it should be OK" doc instead of answering (or attempting to answer) the same kinds of questions in private e-mail repeatedly [16:22:00.0000] <MikeSmith> or instead of people using reading docs like http://www.w3.org/TR/xhtml-media-types/ and assuming they actually reflect real-world best practices [16:24:00.0000] <MikeSmith> I can see that there are sections of that doc that simon pointed out specific problems with more than a year ago but for which no changes were ever made [16:25:00.0000] <MikeSmith> /me apologizes for the monologue [17:00:00.0000] <AryehGregor> Hixie, FWIW, MediaWiki serves HTML5 as well-formed XML by default now because some people screen-scrape with bots that use XML parsers. [17:00:01.0000] <AryehGregor> Of course, they should be using our bot API anyway, but oh well. [17:07:00.0000] <Hixie> did they use such parsers before you used XHTML? [17:11:00.0000] <AryehGregor> MediaWiki has always used XHTML, as far as I know. [17:12:00.0000] <AryehGregor> If we hadn't, I assume they would have just done it with regex, which is worse by most standards. [17:14:00.0000] <AryehGregor> Hmm, no, it looks like it started as 4.01. [17:14:01.0000] <AryehGregor> But it's been XHTML for years. [17:20:00.0000] <AryehGregor> http://svn.wikimedia.org/viewvc/mediawiki?view=rev&revision=3087 [17:20:01.0000] <AryehGregor> Since April 2004. [17:31:00.0000] <AryehGregor> http://validator.nu/?doc=http://en.wikipedia.org/wiki/ [17:31:01.0000] <AryehGregor> Hurrah. [17:32:00.0000] <AryehGregor> Now we just need to convince people to clean up their cruddy table markup. :) [17:32:01.0000] <AryehGregor> /me will e-mail the list when he's reasonably certain the change won't be reverted [17:33:00.0000] <AryehGregor> I think this now gives HTML5 a few orders of magnitude more web deployment than any XHTML beyond 1.0 ever had. *Maybe* not 1.1, dunno. [17:34:00.0000] <Hixie> i guess if you'd never used xhtml, people might be using the api :-) [17:34:01.0000] <AryehGregor> Well, we first supported XHTML a few years before we had an API. [17:35:00.0000] <AryehGregor> Anyway, no. From experience, people would screen-scrape with regex. [17:35:01.0000] <AryehGregor> An amazing number do that even when we use XHTML. [17:35:02.0000] <AryehGregor> (which we're no longer doing as of six minutes ago) [17:35:03.0000] <AryehGregor> (although still serving well-formed XML, so it amounts to the same for this) [17:37:00.0000] <Hixie> yeah fair point [17:39:00.0000] <AryehGregor> Actually, to be fair to bot authors, most of the screen-scraping bots date to back when we didn't have a good bot API. [18:15:00.0000] <mpilgrim> boy, that old discussion on tbray's blog brings back some memories [18:18:00.0000] <AryehGregor> Error: syntax error [18:18:01.0000] <AryehGregor> Source File: http://en.wikipedia.org/w/index.php?useskin=monobook&title=User%3ASimetrical%2FTest%20Twinkle&action=submit [18:18:02.0000] <AryehGregor> Line: 1, Column: 1 [18:18:03.0000] <AryehGregor> Source Code: [18:18:04.0000] <AryehGregor> <!doctype html> [18:18:05.0000] <AryehGregor> Um, yay? [18:39:00.0000] <AryehGregor> Okay, so apparently nobody noticed or cared to point out that switching to <!doctype html> will cause all XHR to fail with a syntax error? [18:40:00.0000] <AryehGregor> At least, that's what I'm seeing. [18:47:00.0000] <AryehGregor> Ah, it has to be <!DOCTYPE html> for well-formedness. Now they tell me. [19:17:00.0000] <AryehGregor> . . . that just leaves the fact that named entities are syntax errors. [19:19:00.0000] <AryehGregor> Okay, so apparently if you use <!DOCTYPE html>, named entities become XML well-formedness errors, so it's impossible to use XMLHttpRequest. [19:19:01.0000] <AryehGregor> This seems like a pretty significant problem. Is there any way around it? If not, can some other kind of doctype be allowed that doesn't trigger it? [19:20:00.0000] <AryehGregor> /me looks at Hixie [19:20:01.0000] <othermaciej> or don't use named entities [19:20:02.0000] <othermaciej> or don't use XML, and just parse your results as HTML (for example by putting in an iframe) [19:20:03.0000] <AryehGregor> Okay, let's assume that I'm not willing to find every single use of named entities in an application that's several hundred thousand LOC with gigabytes of content in the database. [19:21:00.0000] <AryehGregor> So you're saying don't use XHR, make people use <iframe>s instead? [19:21:01.0000] <AryehGregor> Surely that must have some disadvantages? To begin with, it breaks all legacy codebases that expect XHR to work, so it's sort of out of the question for me right now. [19:21:02.0000] <AryehGregor> I thought <!doctype html> was chosen so that it had no significant compat issues. [19:22:00.0000] <AryehGregor> It seems like there's no way to have a valid HTML5 document that contains a named entity and works with XHR? [19:22:01.0000] <MikeSmith> doesn't the spec allow HTML4 and XHTML1 doctypes too? [19:23:00.0000] <AryehGregor> MikeSmith, doesn't seem like it: http://www.whatwg.org/specs/web-apps/current-work/multipage/syntax.html#the-doctype [19:23:01.0000] <othermaciej> it makes them work - I don't think it makes them conforming [19:23:02.0000] <othermaciej> AryehGregor: you could use XHR and inject into an iframe to get HTML parsing, is what I'm saying [19:24:00.0000] <othermaciej> AryehGregor: I don't think anyone though of the compat issue around named entities, and in fact what browsers do there for XML is weird [19:24:01.0000] <AryehGregor> So in other words do XHR, but instead of using requestXML, create an iframe and stick requestText into its innerHTML or such. [19:24:02.0000] <othermaciej> yeah [19:24:03.0000] <MikeSmith> the conforming-but-obsolete section allows them, I think [19:24:04.0000] <MikeSmith> or did [19:24:05.0000] <othermaciej> although if it were me I would sooner sacrifice HTML5 conformance in the XHR-transmitted content than do that [19:25:00.0000] <AryehGregor> Well, consider this some real-world experience with trying to move to HTML5. It lasted under two hours before being disabled due to blocker compatibility problems. [19:25:01.0000] <AryehGregor> othermaciej, yep. [19:25:02.0000] <AryehGregor> Of course, XHR-transmitted content is potentially any page on the site, so. [19:25:03.0000] <AryehGregor> Oh, hmm: http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#obsolete-permitted-doctype [19:26:00.0000] <othermaciej> is processing XHTML via XHR a common use case? (I have no idea) [19:26:01.0000] <othermaciej> I guess any XHTML you send as XML, if you have to fix entities, that's a big stumbling block to migrating [19:26:02.0000] <othermaciej> file a bug IMO [19:26:03.0000] <AryehGregor> othermaciej, I know it took less than thirty minutes for me to receive a report of a widely-used tool on Wikipedia breaking. [19:26:04.0000] <AryehGregor> I was thinking I'd post to the list. [19:27:00.0000] <othermaciej> oh, obsolete permitted doctype [19:27:01.0000] <MikeSmith> a bug on this would be great [19:27:02.0000] <AryehGregor> In the W3C bug tracker? I'm not sure I have an account. [19:27:03.0000] <othermaciej> do those trigger a warning or error? it's not clear [19:27:04.0000] <TabAtkins> AryehGregor: XHR will parse HTML properly in the future. It's there in the XHR2 spec. [19:27:05.0000] <othermaciej> anyone can make a W3C bugzilla account [19:27:06.0000] <othermaciej> same as any other bugzilla [19:28:00.0000] <AryehGregor> othermaciej, it says obsolete but conforming, so I assume that means it's conforming. [19:28:01.0000] <MikeSmith> AryehGregor: http://www.w3.org/Bugs/Public/ [19:29:00.0000] <MikeSmith> yeah, that obsolete-permitted-doctype thing is only in the full (implementor) view [19:29:01.0000] <MikeSmith> not in the author view [19:29:02.0000] <MikeSmith> seems like it should be in the Writing HTML section too [19:30:00.0000] <MikeSmith> anyway, I think the intent was for those to trigger a warning, not an error [19:30:01.0000] <MikeSmith> I don't think v.nu has been updated yet to reflect that [19:32:00.0000] <MikeSmith> yeah, section 12.1.1 explicitly says they should trigger warnings [19:38:00.0000] <karlcow> /me is wondering if html5 mandates Accept headers depending on the tag (html) or property (css) used. [19:38:01.0000] <karlcow> for now, it's kind of nightmarish and create issues for Web development. [19:47:00.0000] <AryehGregor> http://www.w3.org/Bugs/Public/show_bug.cgi?id=8268 [19:48:00.0000] <AryehGregor> Okay, I'm going to bed. [19:48:01.0000] <MikeSmith> karlcow: example? [19:48:02.0000] <MikeSmith> AryehGregor: thanks man [19:48:03.0000] <MikeSmith> (for filing the bug) [19:49:00.0000] <AryehGregor> Shall I post to the list too? [19:49:01.0000] <AryehGregor> Not many people follow Bugzilla. [19:54:00.0000] <karlcow> MikeSmith: once/when the html file is downloaded by the browser, other resources are being requested by an HTTP GET [19:54:01.0000] <karlcow> Let's say in the case of IMG [19:55:00.0000] <karlcow> <img src="http://example.net/toto"/> [19:55:01.0000] <MikeSmith> karlcow: ah, content negotation stuff? [19:56:00.0000] <karlcow> Firefox sends Accept: image/png,image/*;q=0.8,*/*;q=0.5 [19:56:01.0000] <karlcow> which is cool [19:56:02.0000] <karlcow> but webkit seems to send "*/*" [19:57:00.0000] <MikeSmith> /me nods [19:57:01.0000] <karlcow> and Opera [19:57:02.0000] <karlcow> and Opera text/html, application/xml;q=0.9, application/xhtml+xml, application/x-obml2d, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 [19:57:03.0000] <thedj> karlcow: you should see what some mobile browsers send. that will kill you on the spot :D [19:57:04.0000] <karlcow> the issue popped up last week end in a real case [19:58:00.0000] <karlcow> and killed one of our site [19:58:01.0000] <karlcow> The <img src="http://example.net/toto"/> was on a very high trafic Web site. [19:59:00.0000] <karlcow> unfortunately the URI was an html resource and not an image. [19:59:01.0000] <karlcow> ooops [19:59:02.0000] <karlcow> s/and not an image/but an image/ [19:59:03.0000] <karlcow> rha [19:59:04.0000] <karlcow> tired [19:59:05.0000] <karlcow> unfortunately the URI was an html resource and not an image. [20:00:00.0000] <karlcow> so the little site sent thousands of html file by minutes [20:00:01.0000] <karlcow> and eventually died [20:01:00.0000] <AryehGregor> What does Accept have to do with this? [20:01:01.0000] <AryehGregor> Do web servers even pay attention to Accept in normal configuration? [20:01:02.0000] <karlcow> One of the way to avoid it would have been when you see this "Accept: image/*" and the URI is known to be html, reply with a "406 Not Acceptable" [20:02:00.0000] <AryehGregor> Mostly things just ignore content negotiation. [20:02:01.0000] <AryehGregor> Probably better to, um, not put a large HTML page as an image src? [20:02:02.0000] <karlcow> AryehGregor: the big site with high trafic was not under the control of the little guy. [20:03:00.0000] <karlcow> Basically it creates a (not voluntary) DDOS [20:03:01.0000] <AryehGregor> So I guess your point is that forums and so on allow people to post <img>, so people could do that maliciously on a really big file. [20:03:02.0000] <AryehGregor> Thus DDoS. [20:03:03.0000] <AryehGregor> Interesting thought. [20:03:04.0000] <karlcow> :) [20:03:05.0000] <AryehGregor> I dunno if Accept is the way to do it. [20:04:00.0000] <AryehGregor> Maybe ask some browser vendors why they have */* at the end there instead of image/*. [20:04:01.0000] <karlcow> Accept could have been a way but not in the state of implementations so far [20:05:00.0000] <karlcow> in Rails it took only 2 minutes to implement the method to filter on the Accept and URI combinations, but was working only with firefox [20:07:00.0000] <AryehGregor> /me sends an e-mail to the list about his doctype issue [20:08:00.0000] <AryehGregor> Oh, looks like MikeSmith echoed it to public-html already. [20:08:01.0000] <AryehGregor> Oh well. [00:15:00.0000] <Hixie> AryehGregor: was your question earlier about doctypes for xml or html? [00:19:00.0000] <othermaciej> Hixie: his question was about xml (well, really polyglot documents) [00:20:00.0000] <othermaciej> apparently in the context of Wikipedia, which serves HTML but would like to continue to work with screen-scraping clients that read its content via XMLHttpRequest, but at the same time does not want to stop using HTML named entities [00:20:01.0000] <annevk2> so the scraping clients all use overrideMimeType ? [00:20:02.0000] <annevk2> or does Wikipedia actually serve its contents as XML? [00:20:03.0000] <othermaciej> (conclusion being that <!DOCTYPE html> does not work for them) [00:20:04.0000] <othermaciej> I have no idea, didn't get that far [00:21:00.0000] <othermaciej> it must be either overrideMimeType or they serve conditionally somehow [00:21:01.0000] <Hixie> now i'm even more confused than before [00:21:02.0000] <othermaciej> if every Wikipedia document is well-formed XML then I am truly amazed [00:21:03.0000] <annevk2> XML5 would solve this :) [00:22:00.0000] <annevk2> XHR2 solves it too, though if people use overrideMimeType they're still screwed [00:22:01.0000] <othermaciej> yeah, responseHTML (or whatever) would solve it [00:24:00.0000] <annevk2> it's called responseXML as well [00:24:01.0000] <annevk2> I'm treating responseXML as a misnomer for responseDocument [00:25:00.0000] <othermaciej> fair enough (although that means you can't feature-test for it) [00:25:01.0000] <othermaciej> (which might suck if you want to decide to use overrideMimeType or send different Accept headers based on its presence) [00:26:00.0000] <annevk2> for overrideMimeType it would work [00:26:01.0000] <annevk2> if(this.responseXML == null) { this.overrideMimeType(...) ... } [00:27:00.0000] <othermaciej> so UAs are supposed to respect overrideMimeType even if you set it after the fact? [00:27:01.0000] <othermaciej> /me wonders if that actually works [00:27:02.0000] <annevk2> it might not work that way in Firefox [00:27:03.0000] <annevk2> i think it does in WebKit [00:27:04.0000] <annevk2> I think I copied WebKit [00:28:00.0000] <othermaciej> it looks like it would not work in WebKit if you ask for responseXML first [00:28:01.0000] <othermaciej> from code inspection (didn't test) [00:29:00.0000] <othermaciej> when you first ask for responseXML in the DONE state, it sets the createdDocument flag to true, even if it returned null due to a bad MIME type [00:34:00.0000] <annevk2> interesting [00:34:01.0000] <annevk2> XHR2 does not have that flag currently [00:34:02.0000] <annevk2> we can add it I suppose [00:34:03.0000] <ment> hsivonen: btw, i had a discussion with you about entity lookup implementation for html5; i doubt you can do better than this: http://ibawizard.net/~thement/ent/ [00:34:04.0000] <annevk2> though that imposes other requirements... [00:35:00.0000] <othermaciej> well I have no idea if that was a deliberate decision or just an accident of our implementation [00:35:01.0000] <ment> hsivonen: (for example, try ./state "notinx") [00:35:02.0000] <othermaciej> we could just as easily set it only in the case where you create a document, or clear it if overrideMimeType is called, or whatever [00:35:03.0000] <annevk2> kk [00:37:00.0000] <hsivonen> ment: will you have incremental trie lookup in the tokenizer? [00:37:01.0000] <hsivonen> ment: is your tokenizer suspendable after any input character? [00:38:00.0000] <ment> hsivonen: ad incremental trie: i'm thinking about it, but it's not an issue now. [00:39:00.0000] <ment> hsivonen: ad suspendability: my tokenizer seeks in input anyway, so no (but the lookup algorithm is suspendable) [00:46:00.0000] <hsivonen> ment: ok. [00:47:00.0000] <hsivonen> ment: I take it that you aren't designing your tokenizer to be used in an environment that has document.write. [00:50:00.0000] <ment> hsivonen: no, but that could be easily fixed [01:15:00.0000] <Hixie> /me accidentally takes his server down [01:15:01.0000] <Hixie> can't blame dreamhost this time [01:16:00.0000] <Hixie> though of course as soon as i do this the tools i need to fix it get flaky [01:24:00.0000] <BenGerrissen> Hey peeps, I can ask questions concerning html5 here right? =P [01:25:00.0000] <annevk2> you can certainly try [01:26:00.0000] <BenGerrissen> I'm currently writing a document about semantic html for our developers and am looking at the W3C specs and fail to spot good semantic guidelines for elements (for example Tables) [01:27:00.0000] <BenGerrissen> Should semantic guidelines be present in the W3C spec for HTML5? [01:28:00.0000] <BenGerrissen> Like in a dictionary, context of a word [01:28:01.0000] <annevk2> what exactly is missing under the definition of the table element? [01:28:02.0000] <BenGerrissen> Usage context [01:29:00.0000] <BenGerrissen> My description of a table for my newbie document is: [01:29:01.0000] <BenGerrissen> Tables are used for tabular data where columns and rows have meaning and more important, each iteration of a column has the same meaning as the next/previous and the same for each iteration of a row. [01:30:00.0000] <BenGerrissen> Was checking specs to see if that description is actually right and am seeing it can still be interpeted for wrong usage [01:30:01.0000] <annevk2> it doesn't seem correct [01:31:00.0000] <gsnedders> jgraham: I'm here now [01:31:01.0000] <hsivonen> on balance, using tables for layout is less bad that authors trying to use non-<table> markup for stuff that should be a table [01:32:00.0000] <annevk2> Hixie, tables seem to have the issue of author content pointing into UA content [01:33:00.0000] <annevk2> Hixie, e.g. the definition of "table" is in an impl-marked section [01:33:01.0000] <Hixie> annevk2: yeah, what should i do about it? [01:34:00.0000] <annevk2> presumably the first part of the processing model be for both authors and implementors [01:34:01.0000] <annevk2> just like writing and parsing html you could have writing and parsing a table [01:34:02.0000] <annevk2> I suppose [01:36:00.0000] <Hixie> file a bug [01:36:01.0000] <gsnedders> Hixie: You need to go back to fixing bugs though :P [01:36:02.0000] <Hixie> next week i'm on vacation [01:36:03.0000] <Hixie> we'll see after that :-) [01:37:00.0000] <gsnedders> Going anywhere nice? [01:37:01.0000] <Hixie> staying at home [01:37:02.0000] <Hixie> just not dealing with all the process BS of standards [01:38:00.0000] <annevk2> nice :) [01:38:01.0000] <gsnedders> /me goes back to reading the BS [01:38:02.0000] <hsivonen> Hixie: are you going to be working but without Process? :-) [01:39:00.0000] <BenGerrissen> appologies, just found http://www.w3.org/TR/html4/appendix/notes.html#notes-tables >.< [01:42:00.0000] <Hixie> hsivonen: nah, probably gonna be working on a game [01:42:01.0000] <Hixie> either writing or playing [01:42:02.0000] <Hixie> probably writing [01:43:00.0000] <Hixie> maybe i'll see if i can write a websocket server in pascal for fun [01:43:01.0000] <Hixie> i've never written pascal code on unix [01:43:02.0000] <Hixie> heck i haven't written any pascal in about a decade [01:44:00.0000] <hsivonen> why would you write pascal for fun? [01:45:00.0000] <hsivonen> (sorry if that was offensive. pascal just doesn't strike me as a "for fun" language) [01:45:01.0000] <Hixie> object pascal [01:46:00.0000] <Hixie> not the stuff of olde days [01:46:01.0000] <hsivonen> /me is still bitter at textbook authors who used 1-based indeces [01:46:02.0000] <Hixie> pascal in any sane environment is always 0-based [01:48:00.0000] <Hixie> object pascal (the stuff borland used to ship, and now the stuff of the FreePascal project) bears about the same resemblance to the "textbook pascal" as visual basic does to basic [01:49:00.0000] <Hixie> except the starting point is about six orders of magnitude better [01:51:00.0000] <jgraham> /me injects the tangentially related fact that many "famous" scientific codes written in C use deliberately 1 based indexing for arrays simply by leaving index 0 empty [01:54:00.0000] <ment> jgraham: that's mostly because many formulas work only with 1-based indexing [01:55:00.0000] <ment> jgraham: (for example, index of parent node in binary heaps stored in array) [01:56:00.0000] <annevk2> so if we get a local sandboxed file system per origin why should localStorage support File too? [01:56:01.0000] <Philip`> /me injects the note that Perl lets you dynamically change between 0-based and 1-based and n-based array indexing [01:57:00.0000] <annevk2> Perl sounds awesome [01:57:01.0000] <MikeSmith> gun, meet foot [01:58:00.0000] <jgraham> ment: I have no idea how a formula could only work with 1 based indexing. You just need to subtract 1 to get a zero based index [01:58:01.0000] <jgraham> ment: I was under the impression that people did this because a) fortran uses 1 based indexing [01:58:02.0000] <gsnedders> http://krijnhoetmer.nl/irc-logs/html-wg/20071219#l-609 [01:59:00.0000] <jgraham> and b) most textbooks use 1 based indexing for vectors [01:59:01.0000] <Hixie> Philip`: even the perl documentation says "we don't talk about that" [01:59:02.0000] <jgraham> So the formulae look more familar [01:59:03.0000] <gsnedders> But I guess they're stuck with it for compat [02:01:00.0000] <jgraham> ment: Also I wasn't suggesting that there actually was a HTML5 parser written in Go, only that there could be [02:03:00.0000] <jgraham> (I guess I have no evidence that there isn't except that it seems unlikely; for all I know each google employee was given a party bag when they left work on Friday containing a small black book entitled "How to be evil" and a 5.25" floppy disk containing a conforming HTML5 parser implemented in Go) [02:06:00.0000] <ment> jgraham: i was only pointing out, that the reason for using 1-based indeces is not only matter of habit [02:06:01.0000] <hsivonen> http://www.schleef.org/blog/2009/11/11/theora-on-ti-c64x-dsp-and-omap3/ [02:07:00.0000] <ment> jgraham: 0-based indeces are natural to computer because of pointer arithmetic, but some algorithms for computing positions in array work only with 1-based indeces because of various properties of number one [02:08:00.0000] <ment> jgraham: one example is the heap (you need 3x more arithmetic operation for computing parent with 0-based indeces), i have dozen more examples in combinatorical algorithms textbook [02:24:00.0000] <hsivonen> what's the situation of data: URIs working with XHR? [02:26:00.0000] <annevk2> not same-origin so won't work [02:26:01.0000] <hsivonen> ah. [02:26:02.0000] <hsivonen> thanks [02:26:03.0000] <virtuelv> fairly absurd, though [02:27:00.0000] <hsivonen> yet another case of specs making it harder to write test cases [02:29:00.0000] <othermaciej> data: URIs are surprisingly complex in terms of their security implications [02:29:01.0000] <annevk2> we could make them work [02:29:02.0000] <annevk2> but the idea was rejected iirc [02:29:03.0000] <othermaciej> in XHR? or in general? [02:29:04.0000] <annevk2> in XHR [02:29:05.0000] <annevk2> by also allowing URLs whose scheme is data [02:30:00.0000] <othermaciej> it would be sad (and only really useful for test cases I think) for XHR to be different from the rest of the Web platform on this [02:30:01.0000] <virtuelv> is the situation any different from in canvas? [02:30:02.0000] <annevk2> yes [02:30:03.0000] <othermaciej> I think it might be possible to make data: URIs same-origin with their opener/parent, like about:blank, but then you have to forbid anyone but the opener or parent frame navigating a window to a data: URI [02:30:04.0000] <annevk2> images with data URLs are considered same-origin [02:31:00.0000] <annevk2> (forgot how that worked again in detail) [02:31:01.0000] <othermaciej> or track whether the data: load was initiated by something that is same-origin as the current parent or whatever [02:31:02.0000] <annevk2> I believe we special case data URLs currently in XSLT to allow for easy tests... [02:31:03.0000] <annevk2> though what's next, special casing E4X too? [02:32:00.0000] <othermaciej> in <img> it's clearly not a security hole, though I think that is also true for XHR [02:32:01.0000] <othermaciej> for frames, the security risk if you treat it like about:blank is that an attacker will navigate one of your subframes to an evil data: URI [02:33:00.0000] <othermaciej> there are ways to fix it up, but so far no one has decided data: URIs are useful enough [02:33:01.0000] <othermaciej> javascript: URIs have to be handled the way data: URIs would be sorta [02:33:02.0000] <othermaciej> you can't navigate a frame you don't own to a javascript: URI [02:33:03.0000] <annevk2> yeah, nobody liked handling javascript: for XHR [02:33:04.0000] <annevk2> so I dropped the idea [02:34:00.0000] <othermaciej> I don't think handling data: for XHR would require handling javascript:, I'm just saying if you wanted data: <iframes> to be same-origin with their parent (so you could use it as a replacement for src="about:blank" / document.write or src="javascript:'contents here'") [02:35:00.0000] <othermaciej> then you would have to handle data: sort of the same as javascript: [03:15:00.0000] <hsivonen> gotta love how data: URLs seem so simple but are a can of worms for Same Origin [03:17:00.0000] <Philip`> If someone redesigned the web with no legacy constraints, is there a better security model than Same Origin that they should use? [03:27:00.0000] <jgraham> Philip`: Security people seem to love object capability models these days [03:28:00.0000] <jgraham> /me notes he doesn't have the level of understanding needed to have a useful discussion about whether that would actually be better [03:33:00.0000] <othermaciej> "If someone redesigned the web with no legacy constraints" is such a huge hypothetical that you could imagine almost everything [03:33:01.0000] <othermaciej> it does kind of seem like same-origin evolved somewhat accidentally [03:46:00.0000] <krisives> Philip`: Did I show you http://santiance.com/2009/11/better-html-form-cryptography/ ? [03:47:00.0000] <krisives> Philip`: Anything you would like to add about the subject would be excellent [03:49:00.0000] <krisives> My post isn't very good, but it's a start [04:07:00.0000] <hsivonen> is sync xhr supposed to call into the readystate handler? [04:12:00.0000] <hsivonen> hmm. a quick look at the spec suggests that it doesn't [04:19:00.0000] <gsnedders> hsivonen: There was a long discussion on the moz bug about that with anne about what the spec should say, AFAIK that's where most of the discussion was [04:20:00.0000] <hsivonen> gsnedders: was there a conclusion? [04:20:01.0000] <gsnedders> I think so. [04:20:02.0000] <hsivonen> as far as I can tell, Gecko doesn't fire progress events [04:20:03.0000] <gsnedders> That's true, I know that much [04:21:00.0000] <hsivonen> writing test cases that try to be evil shows how little I know about the evil parts of the platform [04:21:01.0000] <hsivonen> I've never used sync XHR for real work, so this all is a surprise to me [04:21:02.0000] <gsnedders> /me wonders what the non-evil parts of the platform are [04:25:00.0000] <othermaciej> depends on what you consider evil [04:26:00.0000] <othermaciej> personally I think being the biggest distributed infosystem in the world gives the Web a lot of points in the "good" column [04:26:01.0000] <othermaciej> to the point that it seems petty to nitpick the oddities [04:27:00.0000] <jgraham> good: it works bad: everyone is surprised [04:31:00.0000] <Philip`> krisives: Why do you say SSL is "in shambles"? [04:32:00.0000] <hsivonen> othermaciej: I consider spinning nested event loops evil [04:32:01.0000] <Philip`> krisives: Also, what exactly is "the old technology, which should be deprecated, and eventually removed"? [04:33:00.0000] <Philip`> hsivonen: "to avoid regressing the parsing performance of existing XHTML 1.0 pages" - do you have any data on how much of a difference the number of entities makes? [04:34:00.0000] <othermaciej> hsivonen: seems more stupid than evil to me (though perhaps using it is slightly morally blameworthy) [04:34:01.0000] <hsivonen> Philip`: no data, just guessing [04:34:02.0000] <hsivonen> Philip`: the mathml DTD is larger, so I'd assume it to take longer to parse [04:34:03.0000] <Philip`> /me can't imagine it making a significant difference, with a suitable data structure [04:35:00.0000] <Philip`> Hmm, is this in the context of browsers or other XML tools? [04:35:01.0000] <hsivonen> Philip`: I don't mean lookup time. I mean DTD parse time. [04:35:02.0000] <hsivonen> Philip`: in the context of the current Gecko/expat setup [04:35:03.0000] <hsivonen> Philip`: that doesn't do fancy optimizations inside expat [04:35:04.0000] <Philip`> Seems silly to parse an unchanging DTD for every page [04:35:05.0000] <hsivonen> Philip`: but actually parses a bogo-DTD [04:36:00.0000] <hsivonen> Philip`: maybe [04:36:01.0000] <othermaciej> krisives: submitting a salted hash of the password is an interesting idea (though you can do that "by hand" with client-side JS if you really want) [04:36:02.0000] <Philip`> It should be hard-coded or cached or something [04:36:03.0000] <hsivonen> Philip`: hacking expat would be smarter if you believe it is worthwhile to polish the XML code path [04:37:00.0000] <krisives> othermaciej: I think a novel solution could use a composite hash with the salt also containing a hash of the document payload [04:37:01.0000] <othermaciej> krisives: it seems like a fair criticism that over HTTPS, this won't be very effective against the man-in-the-middle attack vector [04:37:02.0000] <hsivonen> Philip`: anyway, the concern applies to any implementation that uses a vanilla XML processor [04:37:03.0000] <krisives> othermaciej: As I tried to stress as much as possible in the article, this is primarily to STOP SENDING PLAINTEXT PASSWORDS [04:38:00.0000] <hsivonen> Philip`: Gecko happens to be such an impl. at the moment [04:38:01.0000] <othermaciej> a password sent over SSL (or really nowadays TLS) is not being sent in plaintext [04:38:02.0000] <krisives> othermaciej: It's plain text is sent, it's obscured, but it's sent [04:38:03.0000] <othermaciej> it's sent encrypted [04:38:04.0000] <krisives> The fact of the matter is that the data is there, when it doesn't need to be [04:39:00.0000] <krisives> Security isn't really a sliding scale, you're either secure or not secure. Sending such information is what opens this vulnerability. [04:40:00.0000] <Philip`> hsivonen: Hmm, I suppose the concern makes sense then [04:40:01.0000] <othermaciej> if the vulnerability is man-in-the-middle attack against SSL (presumably using a "self-signed" cert) then your proposed fix does not fix it [04:40:02.0000] <Philip`> Incidentally, "entity resolver" is a horribly confusing name [04:40:03.0000] <Philip`> I'd expect it to be the thing that resolves character entities [04:40:04.0000] <hsivonen> Philip`: the XML spec uses 'entity' in multiple confusing ways [04:41:00.0000] <jgraham> /me suggests that security is exactly a sliding scale [04:41:01.0000] <othermaciej> and yes, security is a sliding scale [04:41:02.0000] <hsivonen> Philip`: your vocabulary has been poisoned by HTML. You need to think in SGML terms. [04:41:03.0000] <jgraham> Like pulling my network cable out would dramatically increase security. But it would have downsides too [04:41:04.0000] <krisives> othermaciej: A MITM attack today will yield your plain-text password if carried out successfully. A MITM attack with this system would at best give you a very local and useless hash [04:41:05.0000] <othermaciej> the binary conception of security may apply to a scenario with a determined attacker with unlimited resources, but in that case you almost certainly will lose [04:41:06.0000] <othermaciej> but most attackers are opportunistic [04:41:07.0000] <Philip`> jgraham: Then you'd be using wireless which is even less secure [04:42:00.0000] <othermaciej> krisives: an MITM attacker against SSL can send you different content, or even a modified version of the supplied content [04:42:01.0000] <krisives> This isn't going anywhere really, and it appears that this discussion continiously gets side tracked as some kind of "end all" to security, usually with HTTPS, SSL, etc. being dragged into the mix. So here is my response: Can anyone tell me a good reason why we are including the plain-text password over the wire when it's not needed? [04:42:02.0000] <jgraham> Philip`: I don't have a wireless capability in this computer [04:43:00.0000] <othermaciej> krisives: your idea might be effective as a defense against passive network listeners finding passowrds in non-SSL traffic (which the user may have also unwisely used ona s ecure site) [04:43:01.0000] <Philip`> jgraham: Oh, okay [04:43:02.0000] <krisives> I'm not really interested in the argument that old technology is what "breaks" the idea [04:43:03.0000] <othermaciej> krisives: if you claim a change defends against a security vulnerability, you can expect people will investigate and possibly question that claim [04:44:00.0000] <krisives> othermaciej: I don't think I made any claims [04:44:01.0000] <Philip`> krisives: Sending plain-text passwords is easier, so there needs to be an adequately compelling reason to do something more complex [04:45:00.0000] <othermaciej> krisives: personally, I get very suspicious of anyone promoting a security idea who gets defensive when you apply analysis [04:45:01.0000] <krisives> Philip`: That's drivel. I'm sorry, but it's not compelling in any way. [04:45:02.0000] <Lachy> krisives, are you concerned about 3rd parties obtaining the plain text password (which SSL protects against), or are you concerned that the site itself, to which an SSL connection is made, can ultimately read the submitted password? [04:46:00.0000] <othermaciej> krisives: is your scheme safe against replay attacks using the hashed password? [04:46:01.0000] <krisives> Firstly, this has nothing to do with SSL. I mearly mentioned it, since we've all put our eggs into a now broken basket. [04:46:02.0000] <krisives> othermaciej: I have no format scheme yet [04:46:03.0000] <krisives> othermaciej: However, yes, it would be tolerant to a replay attack with proper salting and server-side components [04:46:04.0000] <othermaciej> if your threat model is man-in-the-middle attack, then your scheme does not really do anything, regardless of the transport protocol [04:47:00.0000] <jgraham> /me still doesn't understand why SSL is being described as "broken" [04:47:01.0000] <krisives> othermaciej: This is to stop the sending of plain-text passwords, not prevent MITM attacks [04:47:02.0000] <othermaciej> if your threat model is passive listener, then I think your scheme could be helpful, if it's made safe against replay attacks [04:47:03.0000] <krisives> jgraham: You can sign your own certs for other authorities? Is this not broken ? [04:47:04.0000] <othermaciej> (but I think not really helpful in the case of SSL, since it doesn't seem vulnerable against passive listeners) [04:48:00.0000] <krisives> Can anyone answer the question of why we're sending the sensitive details to begin with? [04:48:01.0000] <othermaciej> krisives: browsers are starting to take a harder line on rejecting self-signed certs (or at least letting sites opt into stricter security using something like STS) [04:49:00.0000] <Philip`> MD5 is broken but SSL is moving to better hashes [04:49:01.0000] <othermaciej> krisives: you're asking the wrong question - if you propose making a change for security, it's up to you to justify it, and only then is it even relevant for anyone to argue the other side [04:49:02.0000] <othermaciej> Philip`: there are two serious problems with SSL, one a UI issue and one a social/business issue [04:49:03.0000] <othermaciej> 1) when you get certain kinds of bogus certs, the UI in many browsers is just an "OK/Cancel" dialog [04:50:00.0000] <krisives> othermaciej: So, I haven't justified that we shouldn't be sending a password? [04:50:01.0000] <krisives> Let's try it this way: If the password was to NOT be sent, then an attacker would never have it. [04:50:02.0000] <othermaciej> so an attacker that can control your DNS can pose as a valid secure site and the user's only defense is a clickthrough dialog that they won't read [04:51:00.0000] <othermaciej> 2) it's way too easy to get a low-grade cheap SSL cert, and the process of some CAs may not do a good job at preventing people from obtaining valid certs for domains they do not own [04:52:00.0000] <jgraham> krisives: You seem to be saying X is a problem. I assert Y solves X. Then people say how does Y cope with Z, you reply "I already justified that X is a problem" [04:52:01.0000] <krisives> Solve for X, Y, and Z please? [04:52:02.0000] <othermaciej> krisives: encryption is one way to protect a password, a cryptographically strong hash (with a salt and a nonce) is another [04:53:00.0000] <jgraham> krisives: e.g. X == "sending plain text passwords" Y == "your hasing scheme" and Z == "replay attacks" [04:53:01.0000] <othermaciej> krisives: to show that adding cryptographic hashing over an encrypted channel is worthwhile, one would need to propose a threat model where the hashing will defend you even if the encryption fails [04:53:02.0000] <krisives> jgraham: Did you read my posting ? [04:54:00.0000] <jgraham> krisives: No, I'm just following the discussion here [04:54:01.0000] <othermaciej> I don't think it's accurate to describe transmission over an encrypted channel as "sending plain text passwords" [04:54:02.0000] <othermaciej> ciphertext is not plaintext [04:55:00.0000] <krisives> Imagine we need to test a safe way to launch people 30ft into the air and have them land without being harmed. I'm basically saying we should be using a test dummy, while others are saying "Don't worry" we'll just build a strong enough test-suite and they won't be harmed. SSL here being the "strong enough" suite, that we hope won't break and kill our friend plummeting from 30ft. [04:55:01.0000] <jgraham> (It is possible that you do address these issues in the post, or that I have not been understanding the discussion) [04:56:00.0000] <othermaciej> when analyzing the security of a system, the first question should always be, "what's the threat model?" [04:56:01.0000] <othermaciej> once you answer that, you can then meaningfully investigate whether various defenses are likely to be effective [05:03:00.0000] <Philip`> othermaciej: I was assuming krisives was referring to http://www.win.tue.nl/hashclash/rogue-ca/ [05:04:00.0000] <othermaciej> Philip`: that is indeed yet another weakness in SSL [05:05:00.0000] <krisives> Philip`: SSL broken or not doesn't warrant sending my passphrase, IMO [05:31:00.0000] <krisives> Philip`: Thanks for that link, it's awesome [05:56:00.0000] <hsivonen> hmm. is <script src=""> magic like <img src="">? [05:56:01.0000] <hsivonen> or will it just resolve to the doc itself? [05:57:00.0000] <gsnedders> It will just resolve to the doc itself [05:57:01.0000] <gsnedders> (que weird things like zcorpan's HTML/JS file) [05:57:02.0000] <hsivonen> thanks [05:58:00.0000] <hsivonen> /me is a bit disoriented trying to grok how Gecko deals with "" vs. absent attribute in this case [05:59:00.0000] <AryehGregor> Hixie, othermaciej, annevk2: I'm talking about text/html that also happens to be well-formed XML. Yes, currently almost every page on Wikipedia is well-formed XML -- there are a few known bugs so this isn't true in corner cases, but it's true very reliably. And yes, XHR uses do overrideMimeType(). [06:00:00.0000] <annevk> I wonder how that works in IE... [06:00:01.0000] <annevk> Or does IE always parse as XML regardless of the media type? [06:02:00.0000] <AryehGregor> It's possible these user scripts don't work in IE. [06:03:00.0000] <thedj> lemme check that. [06:04:00.0000] <annevk> anyway, once XHR2 is more widely deployed they could stop using overrideMimeType and things will work fine [06:04:01.0000] <thedj> nah, IE is not supported (as with most complicated JS tools we use) [06:04:02.0000] <annevk> at least the bit of XHR2 that makes resonseXML work for text/html resources [06:04:03.0000] <AryehGregor> But this is a problem for any XML-parsing tool, I assume. There are others that are implemented in other languages and use those languages' XML libraries to parse the pages. [06:04:04.0000] <hsivonen> annevk: I wonder how many scripts that breaks... [06:05:00.0000] <AryehGregor> One of the goals of our switch to HTML5 was to continue serving well-formed XML so as not to break those tools. [06:05:01.0000] <AryehGregor> Which seems to be harder than I thought, since XML well-formedness is a lot stupider than I thought . . . [06:05:02.0000] <hsivonen> AryehGregor: it's a bit amazing that there's existence proof of someone *actually* using real XML tools with XHTML-as-text/html [06:05:03.0000] <annevk> hsivonen, I don't see how it would break anything [06:05:04.0000] <AryehGregor> hsivonen, well, it's ubiquitous on Wikipedia. [06:06:00.0000] <AryehGregor> Because Wikipedia is reliably well-formed XML. [06:06:01.0000] <jgraham> /me wonders why XHTML entities work in Real XML Tools [06:06:02.0000] <annevk> (well, as with all changes I can dream up something theoretical, but nothing quite obvious) [06:06:03.0000] <AryehGregor> jgraham, maybe they don't, and some hack is used which would cause it to not break on <!doctype html> either. I can hope. [06:06:04.0000] <hsivonen> jgraham: Real XML Tools could hit w3.org :-) [06:06:05.0000] <annevk> Yeah, most XML tools would choke on Wikipedia XML [06:07:00.0000] <hsivonen> the only reason why I've parser wikipedia as XML has been benchmarking the HTML parser vs. Xerces [06:07:01.0000] <hsivonen> s/I've parser/I've parsed/ [06:08:00.0000] <AryehGregor> Do most XML tools really refuse to work with named entities even if a proper DTD is given (which Wikipedia does)? [06:09:00.0000] <hsivonen> AryehGregor: no, they work until the w3.org DoS control mechanism blacklists their IP address :-) [06:10:00.0000] <jgraham> (assuming they download the DTD) [06:10:01.0000] <jgraham> (which you would hope they don't by default) [06:10:02.0000] <jgraham> (hope is not always matched by reality though) [06:11:00.0000] <hsivonen> jgraham: hope indeed doesn't match reality here [06:11:01.0000] <hsivonen> for XML awesomeness try this: [06:11:02.0000] <hsivonen> put the entire enterprise behing a single firewall IP to the public Internet [06:11:03.0000] <hsivonen> batch parse XML [06:12:00.0000] <hsivonen> try to get work done that requires reading w3.org in a browser [06:13:00.0000] <Philip`> (Are there specific examples of that being a real problem?) [06:14:00.0000] <hsivonen> Philip`: various JDK/Xerces releases [06:15:00.0000] <Philip`> /me means specific examples of enterprises, rather than of parsers [06:19:00.0000] <jgraham> /me confirms that lxml dies when parsing http://en.wikipedia.org/wiki/Main_Page [06:19:01.0000] <jgraham> XMLSyntaxError: Entity 'nbsp' not defined, line 390, column 50 [06:23:00.0000] <jgraham> (although I guess there is some way to make it use the DTD) [06:35:00.0000] <thedj> /me reading up more about responseXML [06:38:00.0000] <MikeSmith> krijnh: you there? [06:39:00.0000] <MikeSmith> wanted to ask if you can add a new channel to your IRC logger [06:48:00.0000] <hsivonen> does anyone happen to remember if SVG is supposed to treat xlink:href="" the same way as absent attribute? [06:48:01.0000] <hsivonen> (maybe I should locate an SVG channel) [06:48:02.0000] <hsivonen> (or read the spec) [06:50:00.0000] <annevk> unless otherwise indicated "" is a valid reference so should work [06:50:01.0000] <hsivonen> /me is trying to find out if SVG indicates otherwise [06:52:00.0000] <hsivonen> grr. the SVG Tiny 1.2 spec crashes my browser [07:13:00.0000] <AryehGregor> MikeSmith, why aren't all new bug reports echoed to public-html subscribers automatically? [07:14:00.0000] <jgraham> AryehGregor: Can't wikipedia convert entities on output [07:14:01.0000] <MikeSmith> AryehGregor: because of the comment box, and people fucking around using that [07:14:02.0000] <jgraham> to real UTF8? [07:14:03.0000] <MikeSmith> the comment box in teh spec I mean [07:14:04.0000] <Philip`> or to &#nnn; [07:15:00.0000] <AryehGregor> jgraham, &nbsp; in real UTF-8 is very confusing. :) Numbered entities are also annoying. [07:15:01.0000] <AryehGregor> Also, it's a lot of code to audit. [07:16:00.0000] <jgraham> The lot of code to audit I can agree with\ [07:16:01.0000] <gsnedders> /me wonders how hard it is to make Wikipedia not well-formed XML [07:16:02.0000] <AryehGregor> Sticking with a legacy DOCTYPE seems like am ore sensible solution. [07:16:03.0000] <gsnedders> /me doubts it's that hard [07:16:04.0000] <jgraham> But the other issues don't seem like real issues [07:16:05.0000] <jgraham> At least utf-8 is less confusing for non-whitespace characters [07:16:06.0000] <AryehGregor> gsnedders, https://bugzilla.wikimedia.org/show_bug.cgi?id=209 [07:17:00.0000] <gsnedders> AryehGregor: But you still have the issue with XML tools using a legacy DOCTYPE, as if they are validating parsers and check the document for conformance, and you use new HTML 5 stuff [07:17:01.0000] <jgraham> and you could transform whitespace characters to numeric codepoints [07:17:02.0000] <jgraham> s/codepoints/entities/ [07:17:03.0000] <jgraham> and it is only the final output, not something that people typically edit [07:17:04.0000] <AryehGregor> gsnedders, you can get non-well-formed XML fairly trivially if you're an admin, since some messages are still raw HTML. As a user, there are a few known parser bugs that will misnest tags or such in weird circumstances. [07:18:00.0000] <AryehGregor> gsnedders, validation errors aren't necessarily fatal, though. [07:18:01.0000] <AryehGregor> jgraham, maybe, but remember that I have to convince the Wikimedia sysadmins of all this, and they aren't as enthusiastic about HTML5 as I am. [07:19:00.0000] <gsnedders> AryehGregor: Validation errors can be fatal, likewise not having read an external entity and not knowing what &nbsp; is can be fatal. [07:19:01.0000] <thedj> AryehGregor: we could use a request specific doctype.... since we will know most tools that use responseXML, we could easily adapt them to add responseXML=yes to the url request. [07:19:02.0000] <AryehGregor> gsnedders, if a parser dies on encountering an unknown attribute, then we're in a situation where it's either ignore that parser or refuse to add any new HTML features to Wikipedia ever. [07:19:03.0000] <gsnedders> /me also thinks PHP in general is not a good language for making sure you are well-formed in [07:20:00.0000] <AryehGregor> gsnedders, s/ for making sure.*$// [07:20:01.0000] <gsnedders> AryehGregor: You could use the HTML 5 DTD, as it should work then :) [07:20:02.0000] <gsnedders> *XML [07:20:03.0000] <gsnedders> (As making sure you don't have characters like U+FFFD isn't fun in PHP) [07:20:04.0000] <gsnedders> *FFFF [07:20:05.0000] <AryehGregor> thedj, that's something of a thought. We could let $wgHtml5/$wgWellFormedXml be overridden on a per-request basis. [07:22:00.0000] <gsnedders> That means double the amount of cached data [07:22:01.0000] <thedj> if used by normal people, but this is used by editors who change pages. [07:22:02.0000] <AryehGregor> Well, a lot of the stuff screen-scrapers want is uncacheable anyway. [07:23:00.0000] <thedj> exactly [07:23:01.0000] <AryehGregor> Either because it's stuff like edit pages, or (as thedj points out) because it's being runned by a logged-in user. [07:23:02.0000] <AryehGregor> But that's something to keep in mind, yeah. [07:23:03.0000] <AryehGregor> I think going with a legacy doctype is the safest way for now. [07:23:04.0000] <thedj> /me too [07:23:05.0000] <AryehGregor> Example of malformed XML in MediaWiki: https://bugzilla.wikimedia.org/show_bug.cgi?id=13909 [07:25:00.0000] <AryehGregor> It's actually not that easy. [07:25:01.0000] <AryehGregor> But there are some bugs. [07:32:00.0000] <thedj> anyway, perhaps this "quirk" should at least be mentioned/warned about in the spec ? [07:33:00.0000] <gsnedders> That entities might not work? [07:33:01.0000] <AryehGregor> thedj, I've suggested that XHTML1 Strict should be a second conforming, non-obsolete doctype that authors should only use if necessary. [07:33:02.0000] <AryehGregor> I'll wait for feedback on that before changing MediaWiki's doctype. [07:33:03.0000] <gsnedders> We already have in 10.1 [07:33:04.0000] <AryehGregor> (again) [07:33:05.0000] <gsnedders> 'According to the XML specification, XML processors are not guaranteed to process the external DTD subset referenced in the DOCTYPE. This means, for example, that using entity references for characters in XHTML documents is unsafe if they are defined in an external file (except for &lt;, &gt;, &amp;, &quot; and &apos;).' [07:34:00.0000] <thedj> gsnedders: perhaps add a note about XHR1 +responseXML there ? [07:34:01.0000] <gsnedders> There's nothing special about that case [07:35:00.0000] <gsnedders> It's no different to the normal case [07:36:00.0000] <hsivonen> thedj: on the list there were opinions against documenting the entity reality in the HTML5 spec itself [07:36:01.0000] <hsivonen> (the list being public-html in this case, not the whatwg list) [07:39:00.0000] <AryehGregor> hsivonen, that was for the XML MIME type case, though, right? [07:40:00.0000] <hsivonen> AryehGregor: for XML parsing case [07:40:01.0000] <hsivonen> AryehGregor: which is what this XHR issue is about [07:40:02.0000] <hsivonen> it's the same magic list [07:41:00.0000] <AryehGregor> I seriously hate XML. [07:42:00.0000] <thedj> hehe [07:43:00.0000] <gsnedders> /me notes html5lib has a module called ihatexml [07:43:01.0000] <gsnedders> Also, html5lib has bugs caused by not using that module enough [07:43:02.0000] <jgraham> And caused by that module being wrong [07:43:03.0000] <jgraham> hence the name [07:51:00.0000] <Philip`> AryehGregor: "a lot of code" - just stick a nice simple HTML-tidying proxy in front of all the servers and then you won't have much to change :-) [07:51:01.0000] <AryehGregor> Philip`, we do run HTML Tidy, actually. [07:51:02.0000] <AryehGregor> It would be possible, I guess. [07:52:00.0000] <thedj> grah, no HTML tidy. [07:52:01.0000] <AryehGregor> Assuming there are no *other* XML well-formedness gotchas around? [07:52:02.0000] <thedj> i messes with whitespace [07:52:03.0000] <hsivonen> performance FTW! [07:53:00.0000] <Philip`> By "HTML-tidying" I don't mean actually HTML Tidy, just something that tidies HTML [07:53:01.0000] <Philip`> like an HTML5 parser + an HTML5 serialiser configured to not emit named entities [07:53:02.0000] <Philip`> (and to emit XML-compatible slashes and whatever) [07:53:03.0000] <hsivonen> Philip`: itym an (X)HTML5 polyglot serializer [07:54:00.0000] <Philip`> hsivonen: I wouldn't use the term "polyglot" since that suggests impossible things [07:54:01.0000] <Philip`> (since it can't produce identical DOMs when the input contains stuff like <pre>) [07:55:00.0000] <hsivonen> Philip`: sure it can as long as it zaps leading LFs [07:55:01.0000] <Philip`> It just needs to be a serialiser that emits well-formed XML that is also valid HTML5 [07:55:02.0000] <hsivonen> server-side dataloss FTW! [07:55:03.0000] <Philip`> hsivonen: Well, okay, and it could also just return an empty document regardless of the input :-p [07:55:04.0000] <Philip`> /me was assuming no dataloss when the output is parsed as HTML5 [07:56:00.0000] <Philip`> s/also valid HTML5/also identical to the input when parsed as HTML5/ [08:00:00.0000] <AryehGregor> thedj, do you know of any non-JS-based frameworks that use XML parsers? [08:00:01.0000] <AryehGregor> Do they actually work with named entities, and if so, how? [08:00:02.0000] <thedj> i have no idea. [08:00:03.0000] <thedj> AzaToth might know. [08:01:00.0000] <gsnedders> So if I want to get the spec changed nowadays do I need a full change proposal? [08:01:01.0000] <AryehGregor> gsnedders, only if the editor disagrees with you. [08:01:02.0000] <gsnedders> Hixie: You shall never disagree with me. [08:03:00.0000] <AryehGregor> thedj, where does he usually hang out? [08:03:01.0000] <thedj> uses nick AzaTht today it seems [08:11:00.0000] <Philip`> "[Genx] doesn't barf when you try to write out an element and pass NULL as the name" - actually it's passing ":" as the name, and NULL as the namespace (which is the proper way of saying no namespace) [08:11:01.0000] <Philip`> but I'm not going to bother posting to public-html just to say that [08:13:00.0000] <jgraham> /me just bothered posting to point out he wasn't saying "don't use a library" [08:13:01.0000] <erlehmann> gsnedders, any chance theres going to be a public html5lib serializer service where you can try out things? or is hixies dom viewer that already for every reasonable purpose ? [08:14:00.0000] <jgraham> erlehmann: Already exists [08:14:01.0000] <erlehmann> jgraham, where ? [08:14:02.0000] <AryehGregor> You were saying "don't use XML because it's fragile even with a library". :) [08:15:00.0000] <erlehmann> i use XML, you insensitive clod. but gsnedders is right, my blog breaks when someone searches for U+FFFF [08:15:01.0000] <jgraham> There are a couple based on the validator.nu parser and one (possibly broken) based on a (very old version of) html5lib [08:15:02.0000] <erlehmann> wordpress is so ugly. maybe i should really try out habari next. [08:15:03.0000] <Philip`> erlehmann: What if someone writes U+FFFF in a comment? [08:16:00.0000] <erlehmann> i'll try that [08:16:01.0000] <Philip`> Libraries that fatally abort instead of outputting ill-formed content aren't any less fragile than print()ing content, because they just shift the error from client-side to server-side [08:17:00.0000] <jgraham> Philip`: In theory you can deal with that somehow [08:18:00.0000] <Philip`> You could use libraries that automatically clean the input (delete invalid characters etc) instead [08:19:00.0000] <Philip`> Then it's extremely unlikely you'll encounter fatal errors [08:19:01.0000] <Philip`> (since bugs are rare) [08:20:00.0000] <AryehGregor> On the other hand, why not just do that on the client side? [08:20:01.0000] <AryehGregor> Like, you know, HTML5 does? [08:20:02.0000] <TabAtkins> /me just realized that he duplicated a helper array independently less than a screen-height from each other. [08:20:03.0000] <Philip`> so fragility doesn't seem like a practical argument against that; a better argument is that few people can be bothered to use such libraries, because print() is far easier [08:20:04.0000] <zcorpan> you could reject any comment that is not "LOL", which makes sure it'll be well-formed [08:21:00.0000] <Philip`> (and you can avoid fragility of print() by putting error-correction on the client) [08:21:01.0000] <TabAtkins> That has the nice side effect of guaranteeing the quality of your comments. [08:22:00.0000] <TabAtkins> And eliminating spam! [08:24:00.0000] <jgraham> Have I horribly misunderstood something or would XML5 mainly be targetted at the web? [08:24:01.0000] <jgraham> and not pitched as a replacement for all possible uses of XML? [08:25:00.0000] <Lachy> re the XHTML character entity thread, is the proposal just to support entities for known legacy XHTML DOCTYPEs (like XHTML 1.0, etc), but XHTML5 with no DOCTYPE or <!DOCTYPE html> will continue not supporting them? [08:25:01.0000] <TabAtkins> My understanding aligns with yours. [08:25:02.0000] <MikeSmith> jgraham: it's targeted toward financial-transaction systems mainly [08:26:00.0000] <TabAtkins> And I'm not sure why Cowan is talking at all if he doesn't have an opinion about web-based languages. [08:26:01.0000] <MikeSmith> jgraham: and for nuclear-weapons targeting systems [08:26:02.0000] <Lachy> some of the replies I've read seem to be confused about that point, and seem to be making arguments against supporting them in XHTML5, which I hope isn't the case anyway. [08:26:03.0000] <AryehGregor> Lachy, that's what I understood too. [08:26:04.0000] <jgraham> MikeSmith: heh [08:26:05.0000] <AryehGregor> jgraham, I don't why XML5 shouldn't be a general XML replacement. [08:26:06.0000] <AryehGregor> XML brittleness can't be a problem only on the web. [08:27:00.0000] <TabAtkins> To be fair, I like draconian-ness in things that I have direct control over. [08:27:01.0000] <Philip`> When you call it "XML5", it shouldn't be surprising if people think you're trying to replace all XML [08:29:00.0000] <erlehmann> AryehGregor, you obviously a verb [08:30:00.0000] <MikeSmith> maybe it should be called fuXML [08:30:01.0000] <erlehmann> 5 is the magic number :) html5, url5, xml5 — what about safari 5 ? [08:30:02.0000] <TabAtkins> erlehmann: ?_? There's no verb missing. [08:30:03.0000] <Lachy> XML5 should be completely backwards compatible with XML 1.0 (not sure about 1.1), so there's no reason it shouldn't simply replace it [08:30:04.0000] <Philip`> TabAtkins: Yes there is - AryehGregor said he didn't why [08:30:05.0000] <AryehGregor> erlehmann, well, we should have Chrome 5 within two weeks or so at the current rate. [08:31:00.0000] <TabAtkins> ... Wow that flew past me. [08:31:01.0000] <AryehGregor> Philip`, I would look up "why" in the OED and try to find a verb meaning for it, but I really can't be bothered. [08:31:02.0000] <Philip`> Chrome will have to slow down version increments else they'll hit double digits and break UA sniffing [08:31:03.0000] <erlehmann> AryehGregor, chrome is weirding me out on so many levels o.0 [08:31:04.0000] <MikeSmith> Lachy: you're clearly not thinking about the dangers carefully -- the malformed telegrams that result in financial ruin for rail barons, etc. [08:32:00.0000] <Philip`> AryehGregor: The OED says "why, adv. (n., int.)" [08:32:01.0000] <erlehmann> Philip`, break it? you've seen their version string. nothing to break, all broken. [08:32:02.0000] <Philip`> so it doesn't include any verbish meanings [08:32:03.0000] <annevk> it's also compatible with XML 1.1 afaict [08:32:04.0000] <AryehGregor> Philip`, aw. [08:34:00.0000] <Philip`> http://www.layer7tech.com/main/products/xml-firewall.html - you can get whole boxes that protect against XML parsing attacks [08:35:00.0000] <Philip`> Not sure how that's relevant to the discussion but never mind [08:35:01.0000] <Philip`> (Maybe http://www.f5.com/glossary/xml-firewall.html is a better link) [08:36:00.0000] <Lachy> MikeSmith, XML5 processors should still be able to abort on fatal errors if they choose, just like HTML5 allows in some cases. The difference is that if they choose to recover, the recovery procedure should be defined [08:36:01.0000] <Philip`> Maybe the relevance is that changing XML across the entire world is hard [08:36:02.0000] <Lachy> so rail barons relying on well formed telegrams can still abort [08:36:03.0000] <AryehGregor> Lachy, the difference is that they should be allowed to recover period; and on top of that, the recovery procedure should be well-defined. [08:37:00.0000] <MikeSmith> "WSDL poisoning" [08:37:01.0000] <AryehGregor> Right now they're forbidden from recovering. [08:37:02.0000] <Lachy> AryehGregor, right. that's effectively what I said. [08:38:00.0000] <AryehGregor> Speaking of which, by total coincidence (not?) I received an error report in another chat today: https://jira.toolserver.org/plugins/servlet/streams?key=10301&os_authType=basic&maxResults=10 [08:38:01.0000] <AryehGregor> Three cheers for XML! Hurrah, hurrah, hurrah! [08:38:02.0000] <TabAtkins> That's behind an authent wall. [08:38:03.0000] <Lachy> AryehGregor, what's the password? [08:39:00.0000] <Philip`> What's the username? [08:39:01.0000] <AryehGregor> Oh, there's a password? [08:39:02.0000] <AryehGregor> Oh well. [08:39:03.0000] <AryehGregor> "Error occured getting activity: The data &quot;&lt;p&gt;Here is the public key.&lt;/p&gt;&lt;div class=&quot;thunmbnails&quot;&gt;&lt;a href=&quot;https://jira.toolserver.org/secure/attachment/10823/%1B%5BA.pub&quot; &gt;.pub&lt;/a&gt;&lt;/div&gt;&quot; is not legal for a JDOM character content: 0x1b is not a legal XML character." [08:39:04.0000] <Philip`> https://jira.toolserver.org/plugins/servlet/streams?key=10301&maxResults=10 [08:39:05.0000] <annevk> I think certain classes of products should be required to recover [08:40:00.0000] <Philip`> That's surprisingly easy authentication to sidestep [08:40:01.0000] <annevk> though I suppose you can leave that up to market forces [08:40:02.0000] <TabAtkins> Philip`: Hahahahahaha [08:41:00.0000] <AryehGregor> Philip`, that's pretty sad. [08:41:01.0000] <MikeSmith> I think I need to get my a piece of this XML Firewall business.. maybe we can sell fuXML/XML5 to the XML business community as something that provides new business opportunities -- they can provide new types of XML Firewalls that prevent XML non-well-formedness attacks [08:42:00.0000] <MikeSmith> their is a pot of gold waiting under the rainbow of every new poorly designed technology [08:44:00.0000] <Philip`> /me wonders what fuXML is [08:44:01.0000] <Philip`> http://www.fuxml.de/index.php?option=com_content&task=view&id=3 - Ubiquitous Learning ! [08:44:02.0000] <TabAtkins> MikeSmith's name suggestion for "the good bits of XML". [08:45:00.0000] <MikeSmith> damn, somebody beat me to the fuxml domain name [08:45:01.0000] <MikeSmith> /me tries effyouXML [08:46:00.0000] <gsnedders> Oh MikeSmith... [08:46:01.0000] <annevk> I like it [08:46:02.0000] <gsnedders> Still, I own thereshouldbenored.com, so I win :P [08:47:00.0000] <annevk> i think that site ought to host the picture of the toilet at the engineering seminar [08:47:01.0000] <TabAtkins> The Re Should Be Nored. [08:47:02.0000] <TabAtkins> ^-- my first reading of the domain name. [08:47:03.0000] <annevk> you're obviously not in QA [08:47:04.0000] <Philip`> gsnedders: You should be more optimistic, and call it thereisnored.com [08:47:05.0000] <Philip`> which can also be misread interestingly [08:47:06.0000] <AryehGregor> gsnedders, Chrome won't let me input U+FFFF into the search box. :( [08:48:00.0000] <gsnedders> /me notes the phrase "thre should be no red" has been said in this room around ten times today [08:48:01.0000] <gsnedders> AryehGregor: Then type something else in and change the query string to contain %EF%BF%BF [08:48:02.0000] <Dashiva> What's the accessible version of no red? [08:48:03.0000] <gsnedders> AryehGregor: Then send someone a link to that URI. [08:48:04.0000] <Lachy> does that test pass about 1 out of every 100 times? [08:48:05.0000] <gsnedders> Lachy: Yes. [08:49:00.0000] <AryehGregor> gsnedders, when I try that in Chrome, the URL bar becomes empty. :D [08:49:01.0000] <gsnedders> (given a perfect distribution over the range) [08:49:02.0000] <annevk> I was just about to say, some poor QA dude that made that site [08:49:03.0000] <AryehGregor> But it looks like Wikipedia can also be made non-well-formed that way. [08:49:04.0000] <gsnedders> annevk: Why? Because it fails so often? [08:50:00.0000] <Lachy> yay, I got green once [08:51:00.0000] <gsnedders> /me has never actually seen it green [08:51:01.0000] <Philip`> javascript:s='';for(i=0;i<100;++i)s+='<iframe src=http://thereshouldbenored.com/ width=20 height=20></iframe>';s [08:52:00.0000] <Lachy> clearly, the test is meant to ensure that the Math.rand() function is written like this: [08:52:01.0000] <Lachy> function rand() { [08:52:02.0000] <Lachy> return 0.42; [08:52:03.0000] <Lachy> } [08:53:00.0000] <Dashiva> It could be 0.4201 too [08:53:01.0000] <Philip`> With 1000 iframes, 6 were green [08:53:02.0000] <Dashiva> Silly Philip [08:53:03.0000] <Lachy> sure, the decimals after the 3rd decimal place are irrelevant [08:54:00.0000] <Dashiva> No [08:54:01.0000] <gsnedders> I've seen it green! [08:54:02.0000] <Dashiva> It also applies to 3rd place [08:54:03.0000] <Dashiva> Since 0.421 passes, but 0.428 doesn't [08:54:04.0000] <Lachy> so 0.4248908 should work too. But 0.425 would fail [08:55:00.0000] <Lachy> Dashiva, right. I did say after the 3rd, not from the 3rd. [08:56:00.0000] <Dashiva> Yes, and sine 3rd place matters your definition of the test is invalid :) [08:56:01.0000] <Dashiva> *since [08:56:02.0000] <Lachy> or the test could be faulty, and should instead use Math.floor() [08:56:03.0000] <gsnedders> Hence Lachy is a fail. [08:56:04.0000] <Philip`> /me wonders why Gmail thinks gsnedders' latest email is spam [08:56:05.0000] <gsnedders> Philip`: Because it contained <script>? [08:57:00.0000] <Dashiva> http://dashiva.net/test/nored.html [08:57:01.0000] <Dashiva> For your testing pleasure [08:58:00.0000] <Lachy> Dashiva, I seem to be getting green about 4 times each reload [08:58:01.0000] <Dashiva> Yeah, I've getting low valuestoo [08:58:02.0000] <gsnedders> /me watches as the bandwidth on his VPS shoots up [08:58:03.0000] <Lachy> oh, I got a 5! [08:58:04.0000] <Dashiva> Clearly the random function is broken [08:58:05.0000] <gsnedders> /me watches as his irssi connection slows down [08:59:00.0000] <Dashiva> It isn't giving 0.42 nearly often enough [08:59:01.0000] <Lachy> I wonder how long it would take for someone to get all 100 squares green, and whether or not that is actually possible given the pseudo-random number generators in browsers [09:00:00.0000] <Lachy> oh, 400 squares [09:00:01.0000] <Lachy> that explains why I'm averaging about 4 green squares [09:00:02.0000] <Lachy> oh, I got 7 :-) [09:00:03.0000] <Dashiva> Eh? [09:01:00.0000] <Dashiva> It's supposed to be 400 green squares [09:01:01.0000] <Dashiva> Says so in the test URL! [09:02:00.0000] <Philip`> No it doesn't [09:02:01.0000] <Philip`> There's lots of colours that are not red [09:03:00.0000] <Philip`> For example, blue [09:03:01.0000] <gsnedders> It's just not as cool as green [09:04:00.0000] <Lachy> Dashiva, write a script that randomly sets one of the squares to blue after they've all loaded [09:05:00.0000] <Lachy> (or just load bikeshed.com in one of the frames) [09:05:01.0000] <Dashiva> Should green be CSS gree or CSS lime? Discuss [09:06:00.0000] <Dashiva> (Also, why can't I spell anymore) [09:06:01.0000] <gsnedders> "anymore"? [09:06:02.0000] <Lachy> technically, the CSS 'lime' value is green, and 'green' is a darker green [09:07:00.0000] <Lachy> so it should use 'lime' [09:09:00.0000] <Philip`> ""Everything's shiny, Cap'n. Not to fret!" Unfortunately, you'll need to refresh. Wanna tell Dr. Wave what happened?" [09:09:01.0000] <Philip`> Hmm, the Wave web client doesn't like me putting funny characters into messages 2009-11-13 [16:12:00.0000] <annevk> /me wonders what the cleverer approach is [16:14:00.0000] <othermaciej> it sounds like "given a tree to work with" is not aiming at the same use case [16:15:00.0000] <annevk> yeah, didn't sound like it would be backwards compatible with XML 1.x [16:16:00.0000] <othermaciej> it also doesn't sound like it would address surface syntax well-formedness errors, given that description [16:16:01.0000] <annevk> I'm somewhat annoyed people just throw out assertions like that without at least a little information [16:16:02.0000] <annevk> I wonder if he means http://conferences.idealliance.org/extreme/html/2007/Thompson01/EML2007Thompson01.html [16:16:03.0000] <annevk> but that seems schema-based [16:20:00.0000] <annevk> I guess I should outline XML5 on the list as Tony suggested [16:21:00.0000] <annevk> but not today, well, this hour of today [16:25:00.0000] <othermaciej> I suppose XML5 is an alternate path to getting Distributed Extensibility + Tolerant Error Handling in the same syntax [16:26:00.0000] <Philip`> Assuming XML Namespaces is sufficient for Distributed Extensibility [16:28:00.0000] <othermaciej> most of the proposals we have heard seem predicated on that assumption [16:29:00.0000] <Philip`> It could be a wrong assumption, depending on what the requirements of DE are [16:30:00.0000] <Dashiva> It's actually namespaces + draconian error handling + ambiguity about whether external entities are considered or not [16:30:01.0000] <Philip`> e.g. it might be reasonable to want extensions to degrade gracefully and behave like standard elements when not supported, which isn't something namespaces support [16:35:00.0000] <othermaciej> Philip`: my proposal for vendor-prefixed attributes would handle that kind of use case better I think [03:01:00.0000] <Philip`> /me wonders why people and/or mail clients still send smileys using the Wingdings font [03:01:01.0000] <Philip`> Are they aware it gets rendered as "J" for many people? [03:05:00.0000] <jgraham> /me thinks Philip` gets more "exciting" email than he does [03:06:00.0000] <Dashiva> I can't say I've noticed any such mail [03:06:01.0000] <Philip`> See the latest one on public-html [03:07:00.0000] <Philip`> ...assuming you see the HTML version of it, not the plain text version [03:08:00.0000] <Philip`> (Also see http://blogs.msdn.com/oldnewthing/archive/2006/05/23/604741.aspx etc) [03:12:00.0000] <Dashiva> This one? http://lists.w3.org/Archives/Public/public-html/2009Nov/0356.html [03:12:01.0000] <Philip`> Yes [03:12:02.0000] <Philip`> (but the HTML version of it) [03:13:00.0000] <Philip`> (e.g. as shown by Gmail) [03:13:01.0000] <jgraham> plain text email ++ [03:14:00.0000] <Philip`> <p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size: 10.0pt;font-family:Arial'>Maybe something like this is already in progress&nbsp;</span></font><font size=2 face=Wingdings><span lang=EN-GB style='font-size:10.0pt;font-family: Wingdings'>J</span></font><font size=2 face=Arial><span lang=EN-GB style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></p> [03:14:01.0000] <Philip`> jgraham: I've not been able to find a way to make Gmail always show the plain text variant :-( [03:15:00.0000] <jgraham> You could use a different mail client [03:15:01.0000] <Philip`> I do use a different mail client too [03:16:00.0000] <Philip`> but Gmail is a much more convenient interface [03:16:01.0000] <Dashiva> That's a lot of bytes of markup [03:16:02.0000] <Philip`> Dashiva: At least Word takes care to optimise it by omitting needless quotes [03:23:00.0000] <hsivonen> Philip`: regarding the requirements of DE, I believe the requirements are that you need to use colons and URIs [03:26:00.0000] <Dashiva> Are you sure XML isn't a requirement? Other alternatives seem to face the "But we already have lots of stuff using XML and namespaces, why invent something new?" argument. [03:31:00.0000] <hsivonen> Dashiva: it seems to me that it's not a requirement to use an XML parser for text/html. [03:32:00.0000] <Philip`> I thought it was usually a requirement that you could process DEed text/html with an XML parser [03:33:00.0000] <Philip`> just like you can with XHTML today [03:33:01.0000] <Dashiva> If not a requirement, at least a goal [03:33:02.0000] <Philip`> even if browsers do some weird crazy hacky thing instead of using an XML parser [03:33:03.0000] <Philip`> but never mind what they do, because you can just use XML [03:33:04.0000] <hsivonen> the recent wikipedia case shows how hard that is [03:34:00.0000] <Dashiva> That's only because browsers sabotage it on purpose [03:34:01.0000] <hsivonen> but I concede that that's a goal. I meant it isn't a requirement to make browsers process text/html using an XML parser. [03:35:00.0000] <hsivonen> I think XML Core has sabotaged &nbsp; in XML on its own [03:44:00.0000] <jgraham> The goal seems to be that everything is XML+colons+URIs and that tag soup is a dim and forgotten memory [03:44:01.0000] <jgraham> But the goal is not necessarily achievable :) [03:47:00.0000] <Dashiva> hsivonen: Unless you assume that external entities are just candy to silence objectors, and that the real expectation was that everyone would ignore them :) [03:50:00.0000] <gsnedders> RDFa 1.1 is apparently going to support raw URIs as well as CURIEs [03:51:00.0000] <jgraham> backcompat++ [03:51:01.0000] <Dashiva> And the CURIEs will remain unsafe? [03:51:02.0000] <jgraham> /me wonders if you will have to put a version attribute somewhere to make them work [03:51:03.0000] <hsivonen> Dashiva: I suspect that external entities were allowed as optinal to resolve an otherwise unresolved difference of opinion in the original XML WG, but I haven't read the archives to confirm or refute my guess [03:52:00.0000] <hsivonen> Dashiva: and then it backfired due to MathML and &nbsp; [03:53:00.0000] <Philip`> jgraham: Sounds like they do want to add versioning [03:54:00.0000] <Dashiva> It seems a bit silly to introduce incompatible versions before there's even a relevant deployed corpus [03:54:01.0000] <jgraham> Dashiva: But millions of sites already use RDFa! [03:55:00.0000] <hsivonen> Dashiva: RDFa is already deployed by the biggest players: U.S. and U.K. gov'ts, Google, Y! and Drupal!111!!11!! [03:56:00.0000] <Dashiva> Indeed, but it's all generated, so they just have to change a script or two [03:56:01.0000] <hsivonen> /me wonders if the IBM and Boeing intranets already have millions of RDFa pages [03:56:02.0000] <jgraham> Well allegedly lots of people are using RDFa to make better search result listings on Yahoo or whatever [03:57:00.0000] <jgraham> And they might have tediously coded every instance by hand [03:58:00.0000] <jgraham> hsivonen: Do you really think that streamability is essential in XML5 under error conditions? [03:59:00.0000] <hsivonen> jgraham: yes [03:59:01.0000] <jgraham> So you couldn't go back and adjust, say, the attributes on a previous element [03:59:02.0000] <Philip`> If you can't support streamability under error conditions, you can't support it at all [04:00:00.0000] <hsivonen> I think the worst problem is that you close the root element and find start tags after [04:00:01.0000] <Philip`> since you'll have already streamed the output before you found the error condition [04:00:02.0000] <hsivonen> Philip`: I meant supporting only the kind of error correction where the parser has a fixed finite amount of internal state [04:00:03.0000] <jgraham> Philip`: You can require streaming parsers to stop, like HTML5 does [04:01:00.0000] <hsivonen> Philip`: and anything the parser reports to the app has been committed to [04:01:01.0000] <hsivonen> I'm envisioning the HTML5 tokenizer [04:01:02.0000] <hsivonen> and a tree builder that commits to its actions on a per-token basis [04:02:00.0000] <hsivonen> even if the resulting fixups can't be as fancy as the AAA or foster-parenting [04:02:01.0000] <Philip`> jgraham: It seems bad to design a language so that people have to choose between performance (streaming) and robustness (non-streaming, error-correcting) and non-conformance (streaming, error-correcting-in-a-different-way) [04:03:00.0000] <hsivonen> as far as I can tell, the main problem is that if you happen to close the root element, all the subsequent non-comment tokens have to be discarded [04:03:01.0000] <hsivonen> (of course, PIs should be tokenized as PIs) [04:03:02.0000] <hsivonen> but I'd be inclined to kill the internal subset [04:04:00.0000] <Philip`> (which are the three choices the validator.nu SAX parser offers) [04:04:01.0000] <jgraham> Philip`: It depends how much worse the error correction has to be to support the SAX case [04:04:02.0000] <jgraham> For the web the sax case seems less important because typical UAs are required to build trees anyway [04:05:00.0000] <hsivonen> jgraham: XML content doesn't have fancy legacy fixup requirements [04:05:01.0000] <hsivonen> jgraham: I don't expect XML5 parsers to ever work as general-purpose text/html parser [04:05:02.0000] <hsivonen> s [04:05:03.0000] <jgraham> hsivonen: Sure. I don't know in practice how big the tradeoffs are you would have to make to get streaming support [04:05:04.0000] <hsivonen> since you'd want an XML5 parser support non-html root elements [04:06:00.0000] <Philip`> Would offloading parsing into a separate thread become much easier if the parser was streaming? [04:06:01.0000] <hsivonen> basically the rule is this: [04:06:02.0000] <hsivonen> if you get a start tag, create and insert the element [04:06:03.0000] <hsivonen> if you get an end tag, and there's a matching start on the stack, pop up to and including the latest start [04:06:04.0000] <hsivonen> if not, ignore the end tag [04:06:05.0000] <jgraham> But given something that dealt gracefully with more errors vs something that supported streaming it is not obvious to me that streaming should always win for all values of "more" and "gracefully" [04:07:00.0000] <hsivonen> and once root is closed, throw away non-comment tokens [04:07:01.0000] <hsivonen> then there's the issue of needing a non-Draconian Namespace layer on top of this thing [04:08:00.0000] <Philip`> hsivonen: It sounds like you can't do that with a fixed finite amount of internal state, since you have to maintain an unbounded stack of open elements [04:09:00.0000] <hsivonen> Philip`: true. the stack is allowed to be infinite [04:09:01.0000] <Philip`> I suppose you could put it behind an XML firewall that prevents DOS attacks by limiting the nesting depth [04:10:00.0000] <Dashiva> The stack size is limited to input size / 3 at least :) [04:10:01.0000] <Dashiva> What do you do on EOF with non-empty stack? [04:11:00.0000] <hsivonen> Dashiva: pop the whole stack [04:11:01.0000] <hsivonen> i.e. generate endElement callbacks for each stack item [04:11:02.0000] <Dashiva> What about the last text node, is that emitted? [04:12:00.0000] <Dashiva> Seems kind of brittle if the input can be truncated [04:12:01.0000] <Philip`> jgraham: How would you define "gracefully"? Would it be something like: consider a list of errors people make when producing XML (weighted by likelihood), and work out what output they wanted, and the error correction is more graceful if it gives that output? [04:12:02.0000] <jgraham> Philip`: Something like that [04:12:03.0000] <Philip`> rather than just being the simplest thing that doesn't abort and doesn't lose all subsequent data when there's any error [04:13:00.0000] <hsivonen> I was thinking of this from the POV of never throwing a fatal error and then just taking the simplest tree-builder-level recoveries [04:13:01.0000] <hsivonen> and using HTML5 tokenizer behaviors just in order to be able to copy and paste code [04:14:00.0000] <hsivonen> in fact, I once made a parser like this just in order to measure the cost of the HTML5 tree building part [04:15:00.0000] <jgraham> Priority of constituencies :) [04:15:01.0000] <Philip`> hsivonen: A fatal error isn't any better for users than a stray </html> near the top of the page causing the rest of the page to vanish [04:17:00.0000] <Dashiva> Exception: Don't emit the root element close tag until EOF, even if you see it earlier [04:17:01.0000] <Philip`> It seems more non-draconian if you at least keep all the text content; e.g. ignore root element close tags entirely [04:18:00.0000] <hsivonen> I thought it was a requirement not to change the parser output for doctypeless XML 1.0 documents [04:18:01.0000] <Philip`> Nobody's going to notice if comments-after-root-element change :-) [04:19:00.0000] <hsivonen> Philip`: people who write CSS whitespace handling test case notice changes in getting trailing ws getting hoisted into root element [04:19:01.0000] <hsivonen> *cases [04:20:00.0000] <Philip`> People who write test cases don't count :-p [04:21:00.0000] <hsivonen> the worst part of hoisting trailing WS is that you can't write round-trippable documents that don't cause diff to whine about lack of newline at the end of file [04:21:01.0000] <Dashiva> Philip`: I noticed that whitespace after </html> changed :) [04:21:02.0000] <hsivonen> Dashiva: are you a person who writes test cases? :-) [04:22:00.0000] <Dashiva> No, I write scripts that depend on body.lastChild [04:22:01.0000] <Philip`> In XML documents? [04:23:00.0000] <Dashiva> Sure, why not [04:23:01.0000] <Philip`> hsivonen: Couldn't you just omit </html>, and then diff and round-trippers will be happy? [04:24:00.0000] <Dashiva> Sounds like you could just do away with an explicit root [04:24:01.0000] <hsivonen> Philip`: good idea [04:25:00.0000] <hsivonen> Philip`: anyway, you'd still get a newline at the end of body in your CSS ws test cases [04:25:01.0000] <hsivonen> (the alternative, of course, is not to set non-default ws handling on body) [04:26:00.0000] <hsivonen> however, there's existence proof for everything on the Web [04:26:01.0000] <hsivonen> I recall seeing a bug report about a Web page that changed ws handling on body in CSS [04:26:02.0000] <hsivonen> fortunately, that site wasn't sensitive to trailing ws [04:27:00.0000] <Philip`> gsnedders: Gmail thinks every one of your coalescing emails is spam :-( [04:28:00.0000] <Philip`> (and nobody else's) [04:28:01.0000] <gsnedders> Great. [04:28:02.0000] <gsnedders> gsnedders: the infamous spammer! [04:28:03.0000] <Dashiva> It's your name [04:28:04.0000] <Dashiva> It's obviously made-up [04:29:00.0000] <gsnedders> Much like Dashiva. [04:29:01.0000] <Dashiva> I don't use that in email [04:29:02.0000] <gsnedders> How am I to know? You don't post on real mailing lists. [04:30:00.0000] <Dashiva> Oh, but I do [04:30:01.0000] <Dashiva> You just don't notice. See previous statement. [04:30:02.0000] <jgraham> /me wonders if gsnedders watches all mailing lists [04:31:00.0000] <Philip`> /me assumed it was German for The Hiva [04:32:00.0000] <jgraham> For example Dashiva might post in the My Little Pony lovers list list ilove⊙mc under his real name on a daily basis [04:32:01.0000] <Dashiva> There is a German Dashiva out there. I think he plays counterstrike [04:34:00.0000] <Philip`> /me played CS once, but 10% of it involved running around not knowing where anyone was, and 90% of it involved waiting to respawn in the next round [04:34:01.0000] <Philip`> so I don't trust anybody who claims to like it [04:35:00.0000] <davidhund> can anybody (hsivonen maybe?) enlighten me on Aria roles on the section element? validator.nu says it's not allowed, but http://www.whatwg.org/specs/web-apps/current-work/multipage/content-models.html#annotations-for-assistive-technology-products-%28aria%29 says it is :-) [04:35:01.0000] <webben> davidhund: Draft spec trumps validator. [04:35:02.0000] <Dashiva> Philip`: You're supposed to cheat and look through walls [04:35:03.0000] <davidhund> webben that's what I thought :-) [04:49:00.0000] <Philip`> /me supposes someone ought to write evil parser test cases, to make sure parsers gracefully handle deep nesting and long names and text coalescence etc without crashing or taking forever [05:24:00.0000] <gsnedders> And ones where the deep nesting is caused by AAA [05:27:00.0000] <gsnedders> When do you hit 'Insert last node into node, first removing it from its previous parent node if any.' in AAA? [05:41:00.0000] <Philip`> gsnedders: Try putting a 'raise' in the part of html5lib that implements that step, then run the tests, and hope someone already wrote a test for it :-) [05:45:00.0000] <zcorpan_> hsivonen: is the *[irrelevant] used anywhere? [05:47:00.0000] <gsnedders> <cite><b><cite><i><cite><i><cite><i><div>X</b>TEST [05:47:01.0000] <gsnedders> Or simply: [05:47:02.0000] <gsnedders> <DIV> abc <B> def <I> ghi <P> jkl </B> [05:52:00.0000] <hsivonen> zcorpan_: not sure [05:53:00.0000] <jgraham> gsnedders: <div>abc<b>def<i>ghi<p>jki</p></i></b><i><p>ghi</i></p> [05:53:01.0000] <jgraham> or something? [05:54:00.0000] <gsnedders> http://pastebin.com/m6568f05d [05:54:01.0000] <gsnedders> But I don't care atm about the final result [05:55:00.0000] <jgraham> /me is wrong anyway [06:04:00.0000] <gsnedders> Huh [06:04:01.0000] <zcorpan_> hsivonen: anyway, it was renamed to hidden and ie6 will drop the ruleset because there's an attribute selector [06:05:00.0000] <gsnedders> So the above fragment runs through AAA twice [06:05:01.0000] <hsivonen> zcorpan_: good point. I didn't consider the renaming. [06:15:00.0000] <gsnedders> hsivonen: Why would you need to keep track of why a text nodef was flushed and foster-parented? [06:16:00.0000] <hsivonen> gsnedders: if foster-parenting normally doesn't coalesce [06:16:01.0000] <hsivonen> gsnedders: and if I flush at the end of a packet boundary [06:17:00.0000] <gsnedders> Ah [06:24:00.0000] <hsivonen> gsnedders: thanks for looking at the AAA [06:32:00.0000] <TabAtkins> argleblarg I hate windows that can go behind things but don't put an entry in the taskbar. [06:53:00.0000] <hsivonen> http://www.dabs.com/ is incompatible with what's currently specced about defer scripts [06:54:00.0000] <hsivonen> whee! [06:55:00.0000] <gsnedders> hsivonen: I now have an A4 piece of paper with scribbles of me trying to find something that would create adjacent text nodes all over it :) [06:56:00.0000] <Lachy> hsivonen, does the site have other, non-deferred scripts relying on the variables set inside the deferred script? [06:59:00.0000] <hsivonen> Lachy: I haven't investigated [06:59:01.0000] <hsivonen> Lachy: the script is https://seal.globalsign.com/SiteSeal/gs_image_100-50_en.js [06:59:02.0000] <hsivonen> whose purpose seems to be merely to write a Verisign badge [07:00:00.0000] <Lachy> oh, I didn't see the document.write() in there before. I thought it was just declaring a few variables and a function [07:00:01.0000] <hsivonen> argh. they even sniff for Firefox 3.5 [07:00:02.0000] <hsivonen> and assume "and higher" has the same behavior as 3.5 [07:00:03.0000] <hsivonen> great [07:02:00.0000] <gsnedders> jgraham: I want to talk to you about html5lib sometime, FYI [07:05:00.0000] <hsivonen> ooh. It's because I have a browser that implements defer but doesn't have Firefox in the UA string [07:05:01.0000] <hsivonen> *sigh* [07:08:00.0000] <hsivonen> Web authors should know that the moment they look for "Firefox" or "Safari" in the UA string, they are writing a bug [07:11:00.0000] <hsivonen> I'm annoyed at sites that check for "Firefox", but this is way worse than the usual stuff that e.g. Google does [07:12:00.0000] <hsivonen> at least Wave and Google Maps still let me click through [08:49:00.0000] <jgraham> """There is a broad consensus not to accept any well-formedness violations and to reject any document that violates well-formedness instead of trying to fix the error. [08:49:01.0000] <jgraham> However, there are some exceptions where it can be both necessary and safe to repair well-formedness violations, as long as this occurs not at the receiving side (XML parser) but at the generating side (XML generator)""" [08:50:00.0000] <jgraham> I guess you can't upset too many people and get your paper published at the same time :) [08:50:01.0000] <AryehGregor> Where is this from? [08:54:00.0000] <Philip`> How does it matter which side of the pipe you correct errors on? [08:54:01.0000] <TabAtkins> Cost to repair. [08:54:02.0000] <Philip`> (in terms of necessity and safety) [08:55:00.0000] <TabAtkins> If you repair once at the generator, it's better than repairing many times at every receiver. [08:59:00.0000] <AryehGregor> Except that at least for the web, there are vastly more generators than receivers, so repairing at the receiver makes a lot more sense. [09:00:00.0000] <TabAtkins> I don't understand, Aryeh. It seems to me that there are far more browsers than servers, generally. [09:00:01.0000] <AryehGregor> There are only about five browsers. [09:00:02.0000] <AryehGregor> With four layout engines between them. [09:00:03.0000] <AryehGregor> Parsing, layout, whatever. [09:00:04.0000] <TabAtkins> No, I wasn't talking implementation cost. I was talking processor cost. [09:01:00.0000] <AryehGregor> I doubt processor cost is a big deal here. [09:01:01.0000] <TabAtkins> I'm just saying, it's a factor. [09:02:00.0000] <Philip`> Client CPU cycles are cheaper than server CPU cycles [09:03:00.0000] <Philip`> because clients have quad-core 3GHz processors at 0% load, and they can do a bit of parsing without breaking a sweat [09:06:00.0000] <AryehGregor> Most clients don't have quad-core 3 GHz processors just yet. [09:06:01.0000] <Philip`> I might be exaggerating but only a little bit :-p [09:16:00.0000] <AryehGregor> Someone has just pointed out to me that MediaWiki doesn't actually output named entities in most cases. [09:16:01.0000] <AryehGregor> Now that's a very interesting data point. [09:17:00.0000] <AryehGregor> Basically the only ones are hardcoded in the skin or such. [09:19:00.0000] <jgraham> AryehGregor: http://conferences.idealliance.org/extreme/html/2004/Siefkes01/EML2004Siefkes01.html [09:22:00.0000] <AryehGregor> Extreme Markup Languages® 2009-11-16 [10:02:00.0000] <gsnedders> /me wonders what university in GB he has any chance at getting in to for CS [10:03:00.0000] <gsnedders> /me waits for other people in this room to stab him for asking that again [10:04:00.0000] <jgraham> Virtual room or physical room? [10:04:01.0000] <jgraham> You have a list...\ [10:04:02.0000] <jgraham> We made one [10:04:03.0000] <gsnedders> Both [10:04:04.0000] <gsnedders> And seeming there's only one other person in both this physical room and virtual room... [10:05:00.0000] <gsnedders> Well, actually, there's only one other person in this physical room anyway [10:05:01.0000] <jgraham> /me thinks that bringing up Godel in a discussion of specifications is just silly [10:06:00.0000] <gsnedders> Also, the list only had four places on it [10:13:00.0000] <gsnedders> There was some sort of conclusion along the lines of applying somewhere which was somewhere that on paper I shouldn't get in to, but most of those places are so absolutely solid with their entrance requirements it's entirely futile applying [10:14:00.0000] <jgraham> You only need 5 places and we listed 4 [10:14:01.0000] <jgraham> So you only have one choice left to make [10:15:00.0000] <gsnedders> But isn't it harder to make a final choice than a first choice? [10:15:01.0000] <jgraham> And it probably doesn't matter all that much anyway [10:15:02.0000] <gsnedders> Probably [10:15:03.0000] <gsnedders> But I'm still me :P [10:15:04.0000] <jgraham> gsnedders: Just do it, dammit [10:15:05.0000] <gsnedders> jgraham: You've said that before. [10:15:06.0000] <gsnedders> I still haven't done anything. [10:15:07.0000] <jgraham> gsnedders: Just do it, dammit [10:15:08.0000] <gsnedders> /me is a pathetic excuse of a kid [10:47:00.0000] <Guest_878> I can't believe you killed rel="feed". [10:48:00.0000] <Guest_878> because I could use it for inline links to the rss [10:48:01.0000] <annevk2> what's wrong with using <a rel=alternate type=application/atom+xml href=...> ... </a> ? [10:49:00.0000] <Guest_878> am I allowed to use that currently? [10:49:01.0000] <Guest_878> for example, a user's RSS feed link in their sidebar and footer. [10:50:00.0000] <zcorpan_> sure, but it's possible implementations only support <link>s [10:51:00.0000] <Guest_878> Maybe a rel="alternate" href="/rssfeed.xml" title="RSS Feed"> [10:52:00.0000] <annevk2> you need to use type as well [10:52:01.0000] <Guest_878> does the html5 allow for type="" on inline links? [10:52:02.0000] <Guest_878> html5 validator* [10:53:00.0000] <annevk2> yes [10:53:01.0000] <annevk2> HTML4 does too [10:54:00.0000] <zcorpan_> if you don't care about autodiscovery of the link, just use <a href="/rssfeed.xml"> [10:54:01.0000] <zcorpan_> (e.g. if you also have a <link> for autodiscovery) [10:54:02.0000] <Guest_878> Can rel="author" specify the author of the page's content. Say, there's a video or audio tag of content from the author, and the rel="author" could link to that author's profile? [15:28:00.0000] <TabAtkins> Heh. As long as they maintain the current minimum distance between enemies, I think I could stand against an infinite wave of the strongest creeps. [15:28:01.0000] <TabAtkins> /me loves tower defense games. [15:35:00.0000] <Philip`> TabAtkins: The creeps ought to just stay out of range and lay siege to your tower until you starve or die from dysentery [15:35:01.0000] <TabAtkins> Nah, I've got banana plantations for food. [15:36:00.0000] <TabAtkins> There's actually a decent chance I could stand against an infinite wave with *0* separation between creeps - just one giant infinite stack. In fact, it's very likely this is true. [15:37:00.0000] <Philip`> You can't live off bananas forever [15:37:01.0000] <Philip`> You'll devolve into monkeys [15:37:02.0000] <TabAtkins> I am monkeys, so it's all right. [15:49:00.0000] <jwalden> hum, figure > legend finally went away, wonder when I missed that [15:54:00.0000] <TabAtkins> jwalden: About two months ago, I think? [15:58:00.0000] <jwalden> too much not paying attention to the mailing list, I guess 2009-11-17 [16:01:00.0000] <TabAtkins> jwalden: Yup. There were several nice threads about it (or more properly, about the problems still inherent in the current approach). [16:02:00.0000] <jwalden> heh [16:02:01.0000] <jwalden> I might have noticed sooner if html5.validator.nu were fully up to date (not actually a complaint, more of a wink wink nudge nudge ;-) ) [16:03:00.0000] <jwalden> /me is fully aware he gets what he pays for [16:37:00.0000] <roc> what's the right mailing list to ask CORS questions? [16:38:00.0000] <roc> /me goes with public-webapps [16:55:00.0000] <othermaciej> roc: that would be the right list [16:55:01.0000] <roc> ta [19:16:00.0000] <miketaylr> was there ever an <eventsource> element? [19:18:00.0000] <miketaylr> /me is not sure why it's in remy's html5 shiv script [19:19:00.0000] <inimino> it's not supposed to have content anyway right? [19:21:00.0000] <miketaylr> yeah [19:22:00.0000] <inimino> and it was event-source [19:22:01.0000] <inimino> http://www.whatwg.org/specs/web-apps/2007-10-26/multipage/section-scripting0.html#the-event-source [19:22:02.0000] <miketaylr> aha, thx inimino [23:58:00.0000] <hsivonen> Does SPDY work with http: URLs via some triggers in a plain initial GET? or does it require a new URL scheme? [00:04:00.0000] <othermaciej> I asked the Google folks about it some time ago and they said their intention was to allow some form of negotiation (so you could use http: URLs) but that wasn't implemented yet; not sure what the current state is [00:05:00.0000] <othermaciej> one thing I don't understand is whether SPDY is symmetrically bidirectional and therefore whether it could address some of the use cases for the WebSocket protocol [00:05:01.0000] <MikeSmith> the whitepaper doesn't seem to mention anything about it either way [00:06:00.0000] <othermaciej> some people in the HyBi list seemed to think it had some sort of bidirectional nature, which seemed surprising to me, but I don't understand it in enough detail to comment [00:07:00.0000] <MikeSmith> othermaciej: it is bidirectional [00:09:00.0000] <hsivonen> It seems to me that the chances of success would be greater if it used an existing URL scheme and upgraded somehow [00:09:01.0000] <othermaciej> the server can create a stream, but I imagine that would not arise in the course of normal HTTP processing and there's no clear suggestion for how the client would reflect such a thing [00:10:00.0000] <hsivonen> though they are using SSL, so to avoid a lot of overhead, it would need to bootstrap from https: [00:10:01.0000] <othermaciej> yes, I think that is a potentially important deployment issue [00:10:02.0000] <othermaciej> otherwise, if some clients support SPDY and others do not, sites would have to duplicate their content to use it [00:11:00.0000] <hsivonen> also to cut through firewalls, you'd want to bootstrap from an existing port [00:11:01.0000] <othermaciej> worse yet, they would have to duplicate all links in the outside world, which is not possible [00:11:02.0000] <hsivonen> duplicating outside links seems like a fatal flaw if SPDY has the flaw [00:11:03.0000] <hsivonen> I'm surprised it isn't in their FAQ [00:11:04.0000] <hsivonen> it's the first question that pops to my mind [00:12:00.0000] <othermaciej> it was one of the first questions that popped into my mind too [00:20:00.0000] <hsivonen> interesting. the captioning at http://www.spreadfirefox.com/5years/en-US/ is can move away from the browser-native video controls but the captions don't show up when loading the video in a stand-alone browsing context [00:21:00.0000] <hsivonen> /me wonders if moving away is a mouseover trick with hard-coded Firefox native controls size [00:21:01.0000] <hsivonen> looks like a scripted overlaid HTML element [00:50:00.0000] <hsivonen> hmm. so the XStandard guy chose html4all as the forum for promoting his 'Why do WYSIWYG editors hate HTML5' article... [00:51:00.0000] <hsivonen> (as opposed to, say, posting about problems to public-html) [00:54:00.0000] <zcorpan_> "Each element, or in some cases the attribute of an element, requires a button or a list box on a WYSIWYG editor toolbar." - don't see any reason for that [00:55:00.0000] <zcorpan_> would probably make a pretty bad UI [00:57:00.0000] <zcorpan_> on my mom's site's admin UI, i have three "buttons": paragraph, heading, image [00:57:01.0000] <zcorpan_> actually i think i have link too but she hasn't used it [00:59:00.0000] <zcorpan_> the <footer>s are in the hand-written templates, not in the wysiwyg toolbar [01:02:00.0000] <zcorpan_> <time pubdate> is also in the template, with the date autogenerated when an article is written [01:50:00.0000] <MikeSmith> hsivonen, zcorpan_ - I added checking for all obsolete attributes to v.nu [01:50:01.0000] <MikeSmith> checked in, and synced up http://qa-dev.w3.org:8888/ [01:50:02.0000] <MikeSmith> so can test there [01:51:00.0000] <MikeSmith> I did not test every single attribute [01:51:01.0000] <MikeSmith> because there are so many of them [01:52:00.0000] <MikeSmith> but I smoke-tested it and it seems to be working as expected [01:52:01.0000] <hsivonen> MikeSmith: thanks. I'll redeploy [01:52:02.0000] <gsnedders> MikeSmith: Smoking is bad for you, have you not learnt? [01:52:03.0000] <MikeSmith> heh [01:52:04.0000] <MikeSmith> hsivonen: thanks [01:54:00.0000] <zcorpan_> MikeSmith: <a coords> gives two errors [01:55:00.0000] <zcorpan_> MikeSmith: <table bgcolor> doesn't give an obsolete message [01:55:01.0000] <MikeSmith> damn.. [01:57:00.0000] <MikeSmith> zcorpan_: thanks -- I'll take a look at it in a bit and see what I muffed up [01:57:01.0000] <MikeSmith> need to get some dinner first [01:57:02.0000] <MikeSmith> hsivonen: the diff for the Assertions.java change is here: [01:58:00.0000] <MikeSmith> http://whattf.browse.cvsdude.com/syntax/trunk/non-schema/java/src/org/whattf/checker/schematronequiv/Assertions.java?r1=475&r2=482 [01:59:00.0000] <MikeSmith> I'm not sure that's the ideal way to do it, so I'm happy to change it if you see any issues with doing it that way [01:59:01.0000] <MikeSmith> ah geez, looking at the diff I see what I missed [01:59:02.0000] <gsnedders> n00b [01:59:03.0000] <MikeSmith> heh [02:00:00.0000] <MikeSmith> well, I see why there's no error message from bgcolor at least [02:00:01.0000] <hsivonen> MikeSmith: instead of Arrays.asList, I suggest using Arrays.binarySearch on the raw array [02:00:02.0000] <MikeSmith> hsivonen: I figured you might say that :) [02:00:03.0000] <MikeSmith> hsivonen: OK, I will change that later [02:01:00.0000] <MikeSmith> hsivonen: I guess that should be significantly faster? [02:01:01.0000] <hsivonen> MikeSmith: other than that, looks good [02:01:02.0000] <hsivonen> MikeSmith: yes [02:01:03.0000] <MikeSmith> OK [02:01:04.0000] <MikeSmith> thanks [02:01:05.0000] <hsivonen> I ran the deployment script, but it seems the new version didn't actually replace the old process [02:01:06.0000] <hsivonen> I'll look into that after lunch [02:02:00.0000] <MikeSmith> hai [02:08:00.0000] <zcorpan_> <body alink> now validates [02:09:00.0000] <zcorpan_> <a methods> uses the relaxng error message [02:10:00.0000] <zcorpan_> <embed name> too [02:11:00.0000] <zcorpan_> <a urn> too [02:11:01.0000] <zcorpan_> <input usemap> too [02:13:00.0000] <zcorpan_> <object archive> [02:14:00.0000] <zcorpan_> <object code> [02:16:00.0000] <zcorpan_> <embed align> [02:17:00.0000] <zcorpan_> <input align> [02:17:01.0000] <zcorpan_> <img align src=x> now validates [02:18:00.0000] <zcorpan_> hspace and vspace on img validate too [02:20:00.0000] <zcorpan_> on object too [02:21:00.0000] <zcorpan_> and lots of other attributes that now validate [02:24:00.0000] <zcorpan_> test case http://tinyurl.com/yjvmofs [03:21:00.0000] <jgraham> /me hopes Mozilla plan to take http://limi.net/articles/resource-packages to a standards body [03:23:00.0000] <gsnedders> Does HTTP pipelining not solve most of the issues? [03:24:00.0000] <jgraham> If by solve you mean "theoretically solve but not actually work in the real world" then yes [03:24:01.0000] <gsnedders> jgraham: We do HTTP pipelining today. [03:24:02.0000] <gsnedders> jgraham: And have been shipping it for years. [03:25:00.0000] <hsivonen> /me wonders how resource packages and SPDY compare for real-world scenarios [03:25:01.0000] <jgraham> Yeah but I wonder how complex our heuristics have to be for detecting broken proxies / servers / etc. [03:25:02.0000] <hsivonen> in performance, in deployment ease, in maintenance ease and in implementability [03:25:03.0000] <jgraham> Or if we just break in those cases [03:25:04.0000] <Philip`> Why do they want a separate manifest file, rather than making browsers a bit cleverer so they download the file table at the end of the zip? [03:25:05.0000] <hsivonen> and backwards compat [03:25:06.0000] <gsnedders> We have heuristics. I could never find out/work out what they are when I was working on HTTP parsing. [03:26:00.0000] <jgraham> Philip`: Possibly an encoding issue? Or streamability? [03:26:01.0000] <jgraham> gsnedders: Right, and having [magic goes here] as part of a solution is bad [03:27:00.0000] <gsnedders> jgraham: The problem is more old severs that are dying out, AFAIK [03:28:00.0000] <gsnedders> ZIP means relying upon content-type magic, which seems bad [03:28:01.0000] <gsnedders> Also ZIP seems bad seeming most HTTP clients already have GZIP impls [03:29:00.0000] <jgraham> gsnedders: gzip only works on single files [03:29:01.0000] <annevk> /me wonders how to spec CaretPosition [03:30:00.0000] <Philip`> jgraham: Hmm, encoding sounds fun, given that zip doesn't require UTF-8 or anything [03:30:01.0000] <Philip`> and (if I remember correctly) different OSes and zip programs encode names in different ways [03:30:02.0000] <Philip`> (I think this was an issue with widgets, or something?) [03:30:03.0000] <jgraham> Philip`: You do remember correctly [03:30:04.0000] <gsnedders> Philip`: Yes [03:30:05.0000] <Philip`> gsnedders: Zip and gzip use the same compression algoritm [03:31:00.0000] <Philip`> gsnedders: Zip just adds a load of headers [03:31:01.0000] <jgraham> (yes it is an issue with widgets which suggests that there is at least prior art for solving it)\ [03:31:02.0000] <gsnedders> Philip`: Ah true, I always forget that Zip uses deflate [03:34:00.0000] <Philip`> /me never forgets, since after months of fruitless investigation he happened to realise that Age of Empire's main data file looked very much like the content of a zip file, and eventually realised they were using zlib to deflate it [03:37:00.0000] <Philip`> s/Empire's/Empires'/ [04:02:00.0000] <gsnedders> http://rebuildingtheweb.com/en/why-do-wysiwyg-editors-hate-html5/ [04:09:00.0000] <hsivonen> also from the same site: http://rebuildingtheweb.com/en/is-html5-good-for-app-developers/ [04:09:01.0000] <hsivonen> http://rebuildingtheweb.com/en/html-spec-failure/ [04:10:00.0000] <Philip`> Some of the comments don't sound very sympathetic [04:10:01.0000] <hsivonen> also from the same author: http://xhtml.com/en/future/x-html-5-versus-xhtml-2/ [04:11:00.0000] <gsnedders> Indeed, I did remember that last article [04:17:00.0000] <annevk> /me is not too impressed with the more features = more buttons [04:17:01.0000] <hsivonen> looks like the issue of "our language is more important than yours, your language needs to change" is a central part of the DE/XML5 discussion [04:18:00.0000] <hsivonen> judging from Jirka's response [04:18:01.0000] <hsivonen> but Sam told me and Liam not to pursue discussing that aspect [04:18:02.0000] <Lachy> the more features = more buttons approach is complete crap, considering about half the buttons on that toolbar he showed should be dropped anyway [04:18:03.0000] <annevk> I'm not sure why Jirka thinks I want XML namespaces [04:19:00.0000] <gsnedders> Because XML namespaces are the hot hot sex. [04:19:01.0000] <Lachy> and it's ironic how he's whinging about the alt attribute mess, considering that much of the debate about why alt should be optional centered around making it easier for authoring tools to cope with bad or missing user input [04:20:00.0000] <Lachy> although, admittedly, the spec did get pushed into an overly complex state where conformance is dependant on a range of factors [04:21:00.0000] <hsivonen> I thought I commented on the authoring tool complexity aspect [04:21:01.0000] <hsivonen> but I didn't track if Hixie changed the spec based on my feedback [04:24:00.0000] <hsivonen> maybe I should have filed a bug for improved trackability [04:24:01.0000] <hsivonen> but I try to avoid poking the alt discussion too much. it might flare up again [04:35:00.0000] <jgraham> The fundamental problem with authouring tools is that no one has made a usable (for the average Word user) UI that rewards the correct use of elements rather than just rewarding the right presentation [04:35:01.0000] <jgraham> I don't think this situation is any worse for HTML5 [04:36:00.0000] <annevk> so far it hasn't really been shown to be possible either [04:37:00.0000] <jgraham> Indeed. That's what I mean [04:37:01.0000] <jgraham> It is beyond the state of the art in UI design. It may in fact be impossible (though I would not like to bet either way) [04:37:02.0000] <Philip`> It sounds like Vlad Alexander's goal is not to make a usable document-editing UI for average users that happens to output HTML, but to make a UI specifically for editing arbitrary HTML documents [04:38:00.0000] <Philip`> (hence needing UI features for all HTML features, etc) [04:39:00.0000] <zcorpan> i thought xstandard was supposed to be plugged into a cms, which in my world doesn't need to and shouldn't have ui for all features [04:40:00.0000] <jgraham> Philip`: A text editor is a UI for editing arbitary HTML documents [04:40:01.0000] <jgraham> It doesn't need to have any specific buttons [04:42:00.0000] <jgraham> (the article totally ignores the need for backward compatibility. Given a green field it is surely possible to design something more elegant. But we don't have a green field) [04:43:00.0000] <Philip`> We don't need backward comatibility for <time>, and could design that more elegantly [04:44:00.0000] <annevk> hmm, nuking views [04:44:01.0000] <annevk> yumyum [04:44:02.0000] <hsivonen> jgraham: the "fundamental problem" is the fundamental problem of "semantic" markup [04:44:03.0000] <Philip`> s//p/ [04:44:04.0000] <jgraham> Philip`: Yes we do, to the extent that it must not be disruptive in legacy browsers [04:45:00.0000] <jgraham> hsivonen: Indeed [04:45:01.0000] <annevk> also, caretRangeFromPoint is now caretPositionFromPoint in http://dev.w3.org/csswg/cssom-view/ [04:45:02.0000] <Philip`> jgraham: Okay, but that's fairly easy to satisfy since new elements are ignored in legacy browsers, and complex conformance requirements are irrelevant to compatibility [04:46:00.0000] <jgraham> Philip`: So if you have a better design that fufils the constraint, I suggest proposing it [04:46:01.0000] <jgraham> (the suggestions in the article mainly seem to be missing or ignore back-compat) [04:47:00.0000] <annevk> I think I'll nuke AbstractView and DocumentView (though not their members) and define things as extensions to Document and Window instead [04:48:00.0000] <Philip`> I don't have a proposal myself; I just think the issues identified with <time> in the article are not required by backward compatibility, and so the problem is that he's not proposing an alternative (not that he's ignoring backward compatibility there) [04:50:00.0000] <Philip`> (although where he does propose an alternative (for headings) he's ignoring backward compatibility, since <heading> won't be a heading in old UAs) [04:51:00.0000] <Philip`> /me thinks he is probably agreeing with jgraham [04:58:00.0000] <annevk> /me wonders why some stuff is dom-location and others dom-window-toolbar [04:58:01.0000] <annevk> /me thought there was naming scheme [06:19:00.0000] <annevk> XHR content-type fixup is a mess :/ [06:20:00.0000] <hsivonen> s/XHR// [06:21:00.0000] <Philip`> s/content-type fixup/everything/ [06:29:00.0000] <annevk> there's less to spec on the greater mess for me specifically [07:27:00.0000] <annevk2> hmm, the problem with treating text/plain resources as text/html resources is that fragment identifiers for text/plain resources will not function [07:27:01.0000] <annevk2> at least in theory [07:27:02.0000] <annevk2> the same goes (in theory again) for video resources etc. loaded directly [07:27:03.0000] <annevk2> or images [07:27:04.0000] <annevk2> hmm [07:35:00.0000] <Philip`> "Already then we knew that for dissenting opinions usually a good solution is to include both ways things can work and a switch." [07:35:01.0000] <Philip`> (about the design of XML) [08:45:00.0000] <Lachy> the parse="lax" idea doesn't seem particularly useful. It should be left entirely up to the needs of the application to determine whether to use draconian error handling, or more graceful recovery [08:47:00.0000] <Lachy> also, adding <?xml parse="lax"?> would cause a well-formedness error in XML 1.0 parsers [08:49:00.0000] <jgraham__> Yeah that part of the proposal doesn't really fly [08:52:00.0000] <annevk2> letting content authors decide seems like a bad idea [08:53:00.0000] <annevk2> except maybe in the case where you can get some perf benefits as is the case with "use strict" in ES5, but even that seems dubious [10:38:00.0000] <hsivonen> yeah, letting authors decide draconian vs. not makes no sense, as demonstrated by pages that opt into XML only in Firefox but have later added ill-formed stuff and apparently have only been tested in other browsers for the additions [11:35:00.0000] <roc> hang on [11:36:00.0000] <roc> W3C XML fans are explicitly advocating that browsers implement lax XML parsing, and furthermore that 1990s-HTML "everyone does their own thing" error recovery is just fine? [11:37:00.0000] <othermaciej> kinda weird, isn't it? [11:37:01.0000] <othermaciej> but I think if you have non-well-formed XML you are supposed to show an error somewhere [11:37:02.0000] <roc> I'm reeling [11:53:00.0000] <Philip`> othermaciej: Do you mean where it says "fatal error: An error which a conforming XML processor MUST detect and report to the application"? [11:53:01.0000] <Philip`> which is different from saying you need to make the user aware of the error [11:53:02.0000] <othermaciej> Philip`: I'm talking about interpretations of the XML spec, not the XML spec itself [11:53:03.0000] <Philip`> Oh, okay [11:54:00.0000] <othermaciej> I didn't really understand the interpretations though [11:54:01.0000] <Philip`> Following specs is clearly overrated [11:54:02.0000] <Philip`> XML would be much better if those pesky browsers went and did their own thing instead of dragging XML down with them [11:57:00.0000] <hsivonen> roc: as I understand it, the logic is that after the first WF error, it's not XML, so XML rules don't apply and anything goes [11:57:01.0000] <hsivonen> rather revisionist [11:58:00.0000] <Philip`> I don't think it's about "after" - if the document is not well-formed XML then it's not XML, regardless of whether a parser has parsed it and found the WF error [11:59:00.0000] <Philip`> If you could magically detect well-formedness errors without parsing the document, you wouldn't have to start parsing it with an XML-compliant parser [11:59:01.0000] <Philip`> and could process it in whatever non-XML way you fancy [12:00:00.0000] <Philip`> "They are free to do *almost* whatever they want -- they can't claim it was well-formed XML." - hmm, so what if I write <html xmlns="http://www.w3.org/1999/xhtml"><script>alert('This document is well-formed XML');</script><bogus markup></html>? [12:00:01.0000] <othermaciej> that would be the document, not the browser, claiming that [12:01:00.0000] <roc> I understand the position, but it's nonsense [12:02:00.0000] <roc> I don't understand the change in psychology that seems to have occurred here [12:02:01.0000] <othermaciej> it seems to go against what appeared to be the stated intent of the XML WG at the time [12:03:00.0000] <hsivonen> othermaciej: like I said, revisionist [12:03:01.0000] <roc> I have always assumed that implementing lax XML parsing in browsers would bring the wrath of W3C gods down upon our heads [12:04:00.0000] <Philip`> I imagine the gods are divided [12:04:01.0000] <hsivonen> wrath if you do, wrath if you don't [12:05:00.0000] <Philip`> You should write a patch and put it in an alpha release just to see what side people end up on [12:05:01.0000] <roc> I wonder if these lax parsing advocates understand that if browsers start accepting lax XML then there will be a race to the bottom where many or most XML processors will be forced to follow suit [12:06:00.0000] <roc> whether or not browsers claim "this is well-formed XML", authors and users who see it rendered on their screens will assume it is [12:06:01.0000] <hsivonen> /me prefers race to XML5 rather than "bottom" :-) [12:08:00.0000] <Philip`> That sounds like it would only matter if people used XML parsers to parse web pages [12:08:01.0000] <Philip`> They could instead use non-XML parsers, like they have to do today to parse web pages [12:08:02.0000] <Philip`> so it doesn't seem worse than now [12:11:00.0000] <roc> it would affect anything that browsers can render [12:11:01.0000] <roc> SVG for example [12:12:00.0000] <roc> yes, of course we should race to XML5 [12:19:00.0000] <othermaciej> if XML already gives you the freedom to do lax parsing then it seems like there should be no problem with a spec that defines a way to do it [12:19:01.0000] <Philip`> "Having unified error recovery will be excuse for content producers and can lead to producing more and more non-well-formed content." - certainly, if you have non-unified error recovery then producers will be very careful to produce valid content to guarantee interoperability, just like in HTML [12:20:00.0000] <Philip`> If HTML had always had unified error recovery rules then maybe 98% of content would be invalid, rather than merely 95% [12:34:00.0000] <jgraham> It is slightly bemusing that the official line seems to be that interoperability isn't a problem as long as you don't dare call anything malformed XML [12:37:00.0000] <roc> off-label XML [12:38:00.0000] <Philip`> Interoperability between things that don't claim to be XML processors is not a problem for XML to solve [12:40:00.0000] <Philip`> (or for things that contain an XML processor but don't claim to be using it for that document) [12:41:00.0000] <Philip`> If it's not well-formed XML, it's as irrelevant as HTML or PNG as far as the XML spec is concerned [13:19:00.0000] <Lachy> of course, that position is utter nonsense. It's just a cop out to avoid conceding the fact that well-defined error recovery for XML is needed. [13:22:00.0000] <Philip`> AryehGregor: "there would be an algorithm to make it into XML" - that's not compatible with what XML5 does [13:22:01.0000] <Philip`> e.g. for <!-- -- --> it produces a DOM that could never be produced by parsing XML [14:46:00.0000] <annevk2> /me is meanwhile happy jgraham took over the whether-or-not-to-specify-compat-crap thread [14:50:00.0000] <jgraham> I guess I should have mentioed that Mozilla's perspecive might be somewhat influenced by the fact that they have a relatively high marketshare and a relatively mature engine [14:51:00.0000] <jgraham> So theissues I mentioned wouldn't be so much of a problem unless they ditched tracemonkey and started over [14:51:01.0000] <jgraham> (which they might want to do one day of course) [14:51:02.0000] <jgraham> anyway, time for sleeping now I think [14:56:00.0000] <annevk2> I totally agree with Brendan you can reverse engineer too much [14:56:01.0000] <annevk2> and I think Opera has done that in some cases [14:57:00.0000] <annevk2> well, we reverse engineered the wrong evil [14:57:01.0000] <annevk2> in the beginning; we're doing a lot better the last couple of years [14:59:00.0000] <othermaciej> it does seem like Mozilla is feeling their market power and therefore working with somewhat different motivations [14:59:01.0000] <othermaciej> it also seems to me like Brendan was a bit hasty to tar everything on the wiki page with the same brush [15:03:00.0000] <annevk2> You'd think that Mozilla of all organizations out there would like to make it as easy as possible to let other players enter the market, yet I see surprisingly little effort in that direction from them... [15:03:01.0000] <roc> well [15:04:00.0000] <roc> the whole thing about video codecs is about making it possible for anyone to implement [15:04:01.0000] <roc> if we didn't care, we'd just buy an H.264 license and move on [15:08:00.0000] <annevk2> True, though I suspect that's also because of the "free" angle attached to it [15:09:00.0000] <roc> I also think that out of all the major browsers, we have been the most resistant to adding random hacks for IE compat, which I like to think is because we prefer to push Web authors in the right direction [15:10:00.0000] <annevk2> I meant more in the area of properly specifying legacy features everyone has to implement (e.g. DOMParser), converging on details of legacy features (e.g. XMLHttpRequest)... [15:10:01.0000] <roc> ok [15:10:02.0000] <annevk2> We're reverting our IE hacks and replace them with Gecko hacks :) [15:10:03.0000] <roc> I will also point out we took significant pain to get rid of getBoxObjectFor [15:11:00.0000] <annevk2> I noticed that, much appreciated! [15:11:01.0000] <roc> I don't seem to be subscribed to wherever your discussion is, so I can't really comment on what Brendan said [15:12:00.0000] <annevk2> It's on public-script-coord [15:12:01.0000] <annevk2> http://lists.w3.org/Archives/Public/public-script-coord/2009OctDec/ [15:12:02.0000] <annevk2> bedtime for me though, ttyl [15:12:03.0000] <roc> ta 2009-11-18 [17:03:00.0000] <othermaciej> annevk: for WebKit we've always leaned more towards Gecko hacks than Trident hacks [23:05:00.0000] <MikeSmith> zcorpan_: I fixed the problems with obsolete-attribute checking you found yesterday [23:05:01.0000] <MikeSmith> when you have time, please check again and let me know if find anything else I've missed [23:06:00.0000] <MikeSmith> on http://qa-dev.w3.org:8888/ [23:06:01.0000] <MikeSmith> hsivonen: http://whattf.browse.cvsdude.com/syntax/trunk/non-schema/java/src/org/whattf/checker/schematronequiv/Assertions.java?r1=483&r2=486 [23:06:02.0000] <MikeSmith> lemme know if there are any other refinements I should make to that [23:20:00.0000] <zcorpan_> MikeSmith: <embed name> still gives the relaxng error [23:21:00.0000] <zcorpan_> MikeSmith: and <a urn> [23:21:01.0000] <MikeSmith> zcorpan_: thanks [23:22:00.0000] <zcorpan_> MikeSmith: and <input usemap> [23:22:01.0000] <MikeSmith> I didn't have those in my list at all [23:22:02.0000] <MikeSmith> zcorpan_: are you working from a list, or from memory? [23:22:03.0000] <zcorpan_> MikeSmith: http://krijnhoetmer.nl/irc-logs/whatwg/20091117#l-293 [23:23:00.0000] <MikeSmith> /me looks now [23:24:00.0000] <MikeSmith> OK [23:24:01.0000] <MikeSmith> I was working from annevk HTML4-HTML5 differences doc [23:25:00.0000] <zcorpan_> html5 lists some attributes as obsolete that were already obsolete or not even mentioned in html4 [23:25:01.0000] <MikeSmith> ok [23:26:00.0000] <MikeSmith> I will go through your test case and add everything that's missing [23:27:00.0000] <zcorpan_> /me reserves the right to have made mistakes in his testcase and suggests MikeSmith looks at the spec from which the test was created [23:27:01.0000] <MikeSmith> hai [00:28:00.0000] <MikeSmith> zcorpan_: embed was never officially part of any published version of HTML before HTML5, right? [00:28:01.0000] <Hixie> right [00:33:00.0000] <MikeSmith> just wondering about whether v.nu actually should report name and align attributes on it as obsolete [00:33:01.0000] <MikeSmith> but I guess it should [00:33:02.0000] <MikeSmith> given that despite it not being part of any published standard, we still want to give useful warnings about it [00:36:00.0000] <zcorpan_> MikeSmith: btw, the spec has suggestions for what to use instead, would be cool if the validator used them in the messages [00:36:01.0000] <zcorpan_> sorry if i'm stating the obvious :) [00:37:00.0000] <MikeSmith> zcorpan_: yeah, I see that now. but would rather wait til later to add that. it would take significantly more time to add it right now [00:38:00.0000] <zcorpan_> ok [01:10:00.0000] <MikeSmith> zcorpan_: OK, please try again when you have time [01:10:01.0000] <MikeSmith> on http://qa-dev.w3.org:8888/ [01:10:02.0000] <MikeSmith> I don't actually know how to run your test case myself [01:11:00.0000] <MikeSmith> because I don't know how to make v.nu use data: URIs [01:11:01.0000] <annevk2> /me curses people with loud car/door/something alarms [01:12:00.0000] <annevk2> and especially those that let them go off so many times people can no longer sleep [01:13:00.0000] <MikeSmith> zcorpan_: I get an error on the console, "unsupported protocol: 'data'" [01:16:00.0000] <zcorpan_> MikeSmith: i just copied the text into the textarea [01:19:00.0000] <zcorpan_> MikeSmith: i still get the relaxng error for <input usemap> [01:20:00.0000] <MikeSmith> shit [01:20:01.0000] <MikeSmith> lemme check [01:21:00.0000] <MikeSmith> ah yeah [01:22:00.0000] <zcorpan_> MikeSmith: maybe the messages should say "The foo attribute on element bar is obsolete" instead of just "The foo attribute is obsolete" since e.g. <link target> is obsolete but <a target> isn't [01:22:01.0000] <gsnedders> /me finds a page which behaves differently with %26 and & in the URI [01:22:02.0000] <MikeSmith> there's not a single attribute pattern for the input element in the scheme [01:22:03.0000] <MikeSmith> *schema [01:23:00.0000] <MikeSmith> zcorpan_: yeah, I guess we should have it do that [01:23:01.0000] <zcorpan_> the schema adds attributes depending on what type is, doesn't it? [01:23:02.0000] <zcorpan_> for input [01:23:03.0000] <MikeSmith> yeah [01:24:00.0000] <MikeSmith> so that means I have to add it to 20 different patterns [01:24:01.0000] <zcorpan_> isn't there input.attrs.common or so? [01:24:02.0000] <MikeSmith> maybe [01:24:03.0000] <MikeSmith> I can't remember.. I'll look [01:25:00.0000] <zcorpan_> i guess usemap was only valid for type=image anyway [01:25:01.0000] <zcorpan_> so you could just add it to type=image and leave the rest [01:26:00.0000] <MikeSmith> yeah, true [01:27:00.0000] <zcorpan_> s/valid/used/ [01:27:01.0000] <MikeSmith> anyway, fwiw, there is no input.attrs.common pattern (or equivalent) -- I guess because there are no attributes common to all input elements that aren't also common too all form attributes (or that aren't global on all elements) [01:28:00.0000] <othermaciej> isn't "type" common to all form elements? [01:28:01.0000] <othermaciej> er, to all inputs I mean, but not other form elements? [01:29:00.0000] <zcorpan_> othermaciej: yes, but since the schema has different patterns depending on type, that's not particularly helpful in this case [01:29:01.0000] <annevk2> depends, all form elements do have a type IDL attribute [01:29:02.0000] <othermaciej> /me has no idea what the context is, just sayin' [01:32:00.0000] <zcorpan_> MikeSmith: also <object code> [01:33:00.0000] <MikeSmith> zcorpan_: that one I omitted intentionally.. because afaict no published spec ever allowed code on object anyway [01:33:01.0000] <MikeSmith> do people actually use code on object? [01:33:02.0000] <MikeSmith> I thought it was just for applet [01:33:03.0000] <MikeSmith> I wasn't sure if it was included in the list intentionally or not [01:33:04.0000] <zcorpan_> MikeSmith: dunno, maybe the spec is wrong in listing <object code> as obsolete [01:34:00.0000] <zcorpan_> same for <param type>? [01:35:00.0000] <MikeSmith> /me checks on <param type> [01:36:00.0000] <zcorpan_> MikeSmith: also align on input [01:36:01.0000] <MikeSmith> ah yeah [01:36:02.0000] <zcorpan_> MikeSmith: gives 2 messages [01:37:00.0000] <MikeSmith> that I will need to add to a lot more patterns [01:38:00.0000] <jgraham> hsivonen: I wouldn't expect the DOM to depend on network packet boundaries [01:38:01.0000] <zcorpan_> hmm, html4 doesn't have <input align> [01:39:00.0000] <zcorpan_> oh but html 3.2 does [01:41:00.0000] <jgraham> /me wonders if we have reached any conclusion about coalescing text nodes in general [01:41:01.0000] <zcorpan_> MikeSmith: maybe the message for <img border=1> and <script language=vbscript> should advice to use the preferred alternative instead of advicing to alter the value [01:43:00.0000] <MikeSmith> zcorpan_: the warnings for those cases basically come directly from what's mandated in the spec [01:43:01.0000] <MikeSmith> I think [01:43:02.0000] <MikeSmith> it looks like html4 loose allowed <param type> [01:43:03.0000] <zcorpan_> MikeSmith: yes, but if you have <script language=vbscript>, you don't want to change that to <script language=javascript> [01:44:00.0000] <zcorpan_> MikeSmith: because presumably the script was vbscript and language is still obsolete so changing the value still won't silence the validator [01:44:01.0000] <zcorpan_> MikeSmith: it should advice to use <script type=text/vbscript> [01:44:02.0000] <MikeSmith> zcorpan_: right, I see what you're saying now [01:44:03.0000] <MikeSmith> please file a bug on that one if you have time [01:49:00.0000] <zcorpan_> MikeSmith: no message for <ul><li type> and <ol type> and <ul type> [01:53:00.0000] <MikeSmith> hmm, that one's weird [01:57:00.0000] <MikeSmith> zcorpan_: no clue on that one yet.. code seems right [01:58:00.0000] <MikeSmith> but I'll check in the other changes shortly [01:58:01.0000] <MikeSmith> ah, found it [01:59:00.0000] <MikeSmith> (dumb mistake) [02:17:00.0000] <annevk2> http://www.w3.org/mid/JACATK.TNKL0CLX3OQC⊙ac is somewhat interesting [02:17:01.0000] <annevk2> browser vendors abused the SVG WG [02:17:02.0000] <annevk2> heard it here first [02:26:00.0000] <othermaciej> cause we're mean [02:27:00.0000] <MikeSmith> the SVG WG was guilty of self-abuse [02:45:00.0000] <othermaciej> Opera supports the uDOM? [02:46:00.0000] <annevk2> unfortunately yes [02:46:01.0000] <annevk2> hopefully nobody else adds it [02:47:00.0000] <othermaciej> seems like it is on the active disinterest list for WebKit and Gecko at least [02:49:00.0000] <annevk2> yeah [02:49:01.0000] <othermaciej> SVG Tiny 1.2 is a REC? now that's an implementation report I gotta read [02:50:00.0000] <annevk2> not sure how that worked either; hopefully now more browsers are involved the next SVG will be better [02:50:01.0000] <zcorpan_> "The only way to have features put into SVG or any other W3C [02:50:02.0000] <zcorpan_> spec is to participate in the group, attend teleconferences, [02:50:03.0000] <zcorpan_> face to face meetings and back your cause." [02:51:00.0000] <othermaciej> hmm the implementation report doesn't seem to include even a single implementation passing all the tests [02:52:00.0000] <othermaciej> ah, I see [02:52:01.0000] <othermaciej> their "two implementations" requirement is per test [02:53:00.0000] <zcorpan_> so i can write an implementation that passes one test, and it would count? [02:55:00.0000] <annevk2> you'd need another [02:55:01.0000] <jgraham> Allowing partial implementations as evidence that the spec as a whole is implementable seems like it has obvious flaws [02:56:00.0000] <annevk2> i guess in the trade-off perfection vs moving forward they picked moving forward [02:56:01.0000] <othermaciej> "The CR exit criteria were a minimum of two implementations passing each test in the test suite, of which at least one must be running on a mobile platform." [02:56:02.0000] <zcorpan_> /me writes an impl that does nothing but showing "PASS", which magically passes lots of tests [02:57:00.0000] <othermaciej> that first clause is ambiguous [03:00:00.0000] <othermaciej> I don't see why they tested Firefox or Safari (they only "passed" two tests total) but it looks like they needed all of the other 8 implementations tested to meet their CR exit criteria [03:03:00.0000] <othermaciej> interesting to see Microsoft following SVG [03:05:00.0000] <Philip`> /me wonders if anyone has worked out the historical correlation between Microsoft commenting on details of specs and them implementing it in the next version of IE [03:08:00.0000] <MikeSmith> zcorpan_: I checked in several changes and I think fixed the misses you've reported so far [03:09:00.0000] <MikeSmith> except for object/@code, which I'm still not sure whether that's in the list intentionally or inadvertently [03:10:00.0000] <zcorpan_> MikeSmith: file a spec bug on object code [03:10:01.0000] <MikeSmith> OK [03:10:02.0000] <MikeSmith> I'm looking for MAMA on that one too [03:12:00.0000] <MikeSmith> no @code in http://dev.opera.com/articles/view/mama-plug-ins/#object [03:13:00.0000] <MikeSmith> but then, @codetype didn't make that list either [03:16:00.0000] <Philip`> I see several <object codetype>s in dotbot data [03:17:00.0000] <Philip`> and zero <object code>s [03:17:01.0000] <Philip`> (By "several" I mean about a dozen sites) [03:25:00.0000] <Philip`> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cbody%3E%0A%3Cobject%20id%3Do%3E%3C%2Fobject%3E%3Cscript%3Edocument.getElementById%28%27o%27%29.code%3D1%3C%2Fscript%3E - hmm, browsers support it [03:26:00.0000] <Philip`> http://google.com/codesearch?q=%3Cobject%5B%5E%3E%5D%2A%5Cscode%3D - some people use it [03:35:00.0000] <gsnedders> Anyone know what sort of feedback MS have been sending on SVG? I heard a bit from ed over lunch, but anyone know what sort of stuff specifically? General technical issues? Stuff you'd find during implementing? [03:35:01.0000] <MikeSmith> Philip`: thanks. I moved the bug to resolved=invalid [04:00:00.0000] <hsivonen> the SVG post is interesting [04:05:00.0000] <annevk2> https://bugzilla.mozilla.org/show_bug.cgi?id=526491#c5 hmm, Brendan seems somewhat pissed off with our specs :/ [04:47:00.0000] <jgraham> annevk2: No, really? [04:49:00.0000] <zcorpan_> /me notes that his suggestion of prefixing x3d elements with "x" would result in an element called <xbox> [04:54:00.0000] <othermaciej> the latest Editor's Draft of Web IDL does seem to specify that there should be a "constructor" property, but it's not very specific about location [04:56:00.0000] <othermaciej> (last WD does not mention it) [04:56:01.0000] <othermaciej> in any case I'd doubt Blake even looked there [04:57:00.0000] <othermaciej> I am not sure why Brendan seems to have a bee in his bonnet lately [04:58:00.0000] <annevk2> btw, jgraham told me in some other channel we did actually recently reverse engineer Date parsing to improve compatibility [04:58:01.0000] <annevk2> gotta love that [04:58:02.0000] <Dashiva> I'm more surprised you didn't do it earlier [04:58:03.0000] <Dashiva> Since that's one of the worst parts of the es3 spec [04:59:00.0000] <othermaciej> I'm sure JavaScriptCore is full of reverse engineering hackery on that front [04:59:01.0000] <gsnedders> We didn't reverse-engineer it in a massive amount of detail though [04:59:02.0000] <othermaciej> Brendan has long cited it as an example of something that should not be spec'd at all ever (back to the ES3.1 vs ES4 days) [04:59:03.0000] <annevk2> Dashiva, I'm sure we did it several times [04:59:04.0000] <Dashiva> btw: Do you really need to reverse engineer, considering both FF and Safari are open source? :) [04:59:05.0000] <othermaciej> I never quite grasped his explanation of why though [05:00:00.0000] <annevk2> dhyatt claimed for a while that defining the HTML parser would not be possible [05:00:01.0000] <Dashiva> othermaciej: Maybe he's in the "Only specify good and decent behavior" camp? [05:00:02.0000] <annevk2> (and it is indeed somewhat insane) [05:01:00.0000] <othermaciej> Dashiva: the thing is, he's been on the "face the lame reality" side in other cases [05:02:00.0000] <othermaciej> hyatt was very nearly right! [05:03:00.0000] <Dashiva> But impossible just means it takes longer :P [05:03:01.0000] <othermaciej> it seems like the most ES-like thing to do would be for the constructor property to be on the prototype [05:05:00.0000] <othermaciej> that's what happens for built-in objects and for objects created by JS-implemented constructors [05:41:00.0000] <Dashiva> >Flight to #TPAC09: $3300, Hotel: $1800 [05:41:01.0000] <Dashiva> That's... a lot more than I would expect [05:42:00.0000] <annevk2> those are not the real numbers I think [05:42:01.0000] <annevk2> I hope so anyway! [05:45:00.0000] <Lachy> annevk2, if you add up the costs of all the hotels we stayed in for the whole time in the US, it comes fairly close to $1800 for the 3 of us [05:46:00.0000] <Lachy> same for our combined flight costs [05:49:00.0000] <annevk2> oh, combined [05:50:00.0000] <annevk2> it should say flights then [05:50:01.0000] <annevk2> etc. [05:54:00.0000] <annevk2> lol [05:54:01.0000] <annevk2> http://vimeo.com/6985053 [05:54:02.0000] <annevk2> check two minutes in [06:12:00.0000] <gsnedders> annevk2: I can't watch that. It needs Flash. Can you give me a version which I can view? [06:13:00.0000] <annevk2> no [06:14:00.0000] <gsnedders> Then you fail. [06:15:00.0000] <Philip`> gsnedders: On the contrary, it seems to be you who is experiencing the failure [06:18:00.0000] <murr4y> "you shall go to the pub, cinderella" [06:18:01.0000] <murr4y> pure gold :D [06:26:00.0000] <jgraham> Dashiva: Where are those numbers from? [06:26:01.0000] <annevk2> twitter [06:34:00.0000] <MikeSmith> that mack from brucel presentation should become the official logo for HTML5 [06:34:01.0000] <MikeSmith> "HTML5: HTML, but with more pimp cane" [06:35:00.0000] <murr4y> /me agrees [06:54:00.0000] <MikeSmith> zcorpan_: error messages for obsolete attributes now also include the element names [06:54:01.0000] <MikeSmith> per your suggestion [07:00:00.0000] <zcorpan_> MikeSmith: cool [07:07:00.0000] <MikeSmith> zcorpan_: so I want to also implement your suggestion about the error messages including suggestions about what to use instead, but I need to figure out how best to do it [07:08:00.0000] <zcorpan_> MikeSmith: for <script language> or in general? [07:08:01.0000] <MikeSmith> in general [07:08:02.0000] <MikeSmith> right now the obsolete-attributes stuff is in a hash table where the attribute name is the key and the array of elements on which it's obsolete is the value [07:09:00.0000] <MikeSmith> so what I'd need to do is also associate a string with the suggestion about what to use instead [07:10:00.0000] <zcorpan_> MikeSmith: <p align> says "The align attribute on the p element is obsolete. Use CSS instead." [07:10:01.0000] <MikeSmith> zcorpan_: yeah.. is that wrong? [07:10:02.0000] <zcorpan_> no [07:11:00.0000] <zcorpan_> how is the "Use CSS instead." implemented? [07:11:01.0000] <MikeSmith> it's just boilerplate for the case of all attributes that are presentational [07:12:00.0000] <zcorpan_> can you use a similar approach for other groups of attributes? [07:13:00.0000] <MikeSmith> the code has broad conditions (two separate hash tables): one for the set of "presentational" attributes, and one for the others [07:13:01.0000] <MikeSmith> the others don't really fall into any recognizable patterns/groups [07:14:00.0000] <zcorpan_> ok [07:14:01.0000] <MikeSmith> so would need to have some message string associated for each attribute [07:15:00.0000] <MikeSmith> even then, that'd also assume that the "what to use instead" suggestion is one-to-one the same for a particular attribute, regardless of what the element is.. which I'm not sure is actually the case [07:15:01.0000] <MikeSmith> anyway, I'll look at it some more [07:16:00.0000] <MikeSmith> it would be worthwhile to try to capture/report all the info/suggestions that's available in the spec [07:17:00.0000] <zcorpan_> the spec doesn't seem to have different suggestions for attributes with the same name [07:17:01.0000] <MikeSmith> Ok, that's good at least [07:18:00.0000] <MikeSmith> that makes it a lot easier [07:23:00.0000] <MikeSmith> I guess I could just use two separate hash tables for each attribute: one table that associates each attribute with a list of one or more elements on which it's obsolete, and another table that associates each attribute with a "what to use instead" message [07:24:00.0000] <MikeSmith> /me looks around for hsivonen [07:24:01.0000] <hsivonen> /me looks at the scrollback [07:25:00.0000] <hsivonen> is what to use instead unique by attribute name or do you need both the attribute and the element name? [07:25:01.0000] <MikeSmith> hsivonen: just by attribute name [07:25:02.0000] <hsivonen> ok. I guess hashtables like that will work [07:27:00.0000] <hsivonen> /me leaves the computer having blogged about http://hsivonen.iki.fi/speculative-html5-parsing/ [07:27:01.0000] <Philip`> <ul type> [07:28:00.0000] <Philip`> <param type> [07:28:01.0000] <Philip`> Spec gives different suggestions for those [07:28:02.0000] <zcorpan_> ul type is in the presentational bucket [07:29:00.0000] <Philip`> Ah [07:29:01.0000] <zcorpan_> but it does mean that MikeSmith can't combine the currently presentational hashtable and the-rest hashtable into one [07:29:02.0000] <MikeSmith> right [07:30:00.0000] <MikeSmith> I did it that way because the spec makes that same high-level distinction [07:30:01.0000] <MikeSmith> as does annevk2 differences doc [07:30:02.0000] <MikeSmith> and because it seems like a useful broad distinction [07:30:03.0000] <Philip`> /me imagines it would be nice if the validator gave more specific advice for common situations, like if people do ugly <object> plugin stuff then it should suggest specific equivalent non-obsolete markup to achieve the same effect [07:30:04.0000] <Philip`> /me wonders if that kind of thing could be possible [07:31:00.0000] <Philip`> (Ideally it would give specific CSS suggestions for presentational attributes, too) [07:32:00.0000] <Philip`> (because otherwise it's really hard trying to remember what the equivalent of <table cellpadding=0 cellspacing=0 border=1> is) [07:32:01.0000] <zcorpan_> "Use CSS instead" could be a link to http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes [07:33:00.0000] <MikeSmith> that's doable, I think [07:34:00.0000] <MikeSmith> (the link, I mean) [07:34:01.0000] <MikeSmith> specific suggestions for each one is less doable [07:34:02.0000] <MikeSmith> ..because there are shitload of these [07:35:00.0000] <Philip`> Maybe not for all of them, just for the ones that turn out to be common and that cause people to post on forums saying "The validator says my code's wrong but I don't understand its scary messages, what should I do instead?" [07:36:00.0000] <MikeSmith> "suck it in" [07:36:01.0000] <MikeSmith> "get a clue" [07:36:02.0000] <Philip`> I'm assuming you want to actually help users, but I could be mistaken :-) [07:36:03.0000] <zcorpan_> "follow the link in the message" [07:36:04.0000] <MikeSmith> "give up and go back to developing is visual basic" [07:50:00.0000] <pixeL`MBP> is 2x <aside></aside> [07:50:01.0000] <pixeL`MBP> allowed? [07:58:00.0000] <zcorpan_> pixeL`MBP: yes [07:58:01.0000] <pixeL`MBP> ok [09:55:00.0000] <zcorpan_> gsnedders: does it work in ie? [09:55:01.0000] <Philip`> http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx [09:55:02.0000] <gsnedders> zcorpan_: Yes, because IE displays fall-back content as it doesn't support SVG :P [09:57:00.0000] <Philip`> Looks like IE9 JS performance is no longer an order of magnitude off everybody else's [09:58:00.0000] <zcorpan_> gsnedders: hmm. i'm pretty sure there are sites that depend on the ie behavior of <object> scoping [09:58:01.0000] <gsnedders> I think we're screwed either way [09:59:00.0000] <zcorpan_> yes [09:59:01.0000] <zcorpan_> OTW [10:01:00.0000] <TabAtkins> otw? [10:02:00.0000] <zcorpan_> http://my.opera.com/downloadthefuture/blog/show.dml/2241145 [10:03:00.0000] <zcorpan_> uh, seems like http://my.opera.com/community/openweb/info/ is the appropriate reference [10:05:00.0000] <gsnedders> zcorpan_: bratell already filed [10:10:00.0000] <GPHemsley> Hixie: Out of curiosity, when does work on Acid4 begin? (Feel free to use the abstract HTML5 timeline as a reference point.) [10:12:00.0000] <zcorpan_> "Acid3 tests about 100 aspects of different technologies (many still in the “working draft” stage of standardization)" [10:13:00.0000] <zcorpan_> i thought it only tested things from specs that were in CR a few years ago [10:13:01.0000] <GPHemsley> zcorpan_: A commenter makes a note of that [10:15:00.0000] <gsnedders> GPHemsley: Once IE passes Acid4 [10:15:01.0000] <gsnedders> *Acid3 [10:15:02.0000] <GPHemsley> gsnedders: Somehow, I doubt that. [10:15:03.0000] <gsnedders> GPHemsley: What, the Acid4? :P [10:16:00.0000] <GPHemsley> -_- [10:17:00.0000] <GPHemsley> (that was a glare, BTW) [10:19:00.0000] <gsnedders> Yeah, we'll write Acid4 once IE passes it! [10:19:01.0000] <gsnedders> Why not? [10:19:02.0000] <gsnedders> :P [10:20:00.0000] <GPHemsley> lol [10:22:00.0000] <AryehGregor> Philip`, well, the point is that I was trying to see if everyone was okay with XML5 as long as we didn't claim it was XML. Whether you could actually output equivalent XML in all cases is somewhat academic. [10:24:00.0000] <AryehGregor> It seems like nobody actually cares about well-formedness as long as you avoid the term "XML". [10:25:00.0000] <AryehGregor> jgraham, flat-screen monitors were invented when they managed to get the dwarfs to go on a diet. It's true. [10:27:00.0000] <zcorpan_> "Not XML"? [10:27:01.0000] <AryehGregor> YML would be appropriate, since Y > X. However, it might be confused with YAML. Perhaps ZML? Z is almost as cool as X. [10:28:00.0000] <zcorpan_> Z for zcorpan? [10:28:01.0000] <AryehGregor> Maybe if you write the spec. [10:29:00.0000] <AryehGregor> /me is impressed that the IE Blog is honest enough to include other browsers' nightly builds in their blog post -- almost nobody does that [10:29:01.0000] <AryehGregor> "Hey, look, our bleeding-edge code is better than our competitors were six months ago!" [10:30:00.0000] <gsnedders> /me is amazed they got that post past middle-management [10:30:01.0000] <AryehGregor> (Or worse than our competitors were a year ago, in this case. But only slightly.) [10:30:02.0000] <gsnedders> The fact the developers are willing to admit they are behind and are playing to catch up having not had a browser under development for five years is quite obvious just speaking to any of them. [10:32:00.0000] <AryehGregor> It should be scary to everyone else, of course. IE5-6 clobbered the competition by leveraging vast sums of money so nobody could compete. Although monetarily, Google and Apple will be a lot tougher to outspend than Netscape, especially since they share a lot of the effort. [10:32:01.0000] <AryehGregor> /me foresees major benefits to consumers -- yay competition! [10:32:02.0000] <AryehGregor> /me refrains from drawing any kind of analogy to contentious political issues of the moment [10:33:00.0000] <zcorpan_> hmm, <applet> is scoping in firefox, but </span> still closes applet [10:35:00.0000] <zcorpan_> do we need to make span magic? [10:37:00.0000] <zcorpan_> <object> is scoping in webkit but </h3> still closes object [10:37:01.0000] <zcorpan_> should we make h1-h6 magic instead? [11:04:00.0000] <zcorpan_> gsnedders: ie7 actually doesn't show fallback for that page [11:04:01.0000] <zcorpan_> gsnedders: does ie8? [12:08:00.0000] <foolip> where did the WHATWG name come from? I seem to recall reading minutes from http://www.w3.org/2004/04/webapps-cdf-ws/ where Hixie asks something like "what working group will develop HTML?" Is that where it came from? [12:10:00.0000] <Philip`> foolip: That was on his blog [12:10:01.0000] <foolip> href? [12:11:00.0000] <Philip`> http://ln.hixie.ch/?start=1086387609&count=1 [12:12:00.0000] <foolip> thanks [12:12:01.0000] <Philip`> That was the same day the WHATWG was announced [12:12:02.0000] <Philip`> so I assume the name came earlier [12:12:03.0000] <foolip> given the italics, seems like it wasn't a coincidence at all [12:13:00.0000] <Philip`> Given the lack of "?" too [12:14:00.0000] <foolip> Philip`: no plan on upgrading http://philip.html5.org/demos/microdata/demo.html ? [12:16:00.0000] <Philip`> It's not something I have a plan to work, and not something I plan to plan to work on either, since it doesn't really seem worthwhile [12:16:01.0000] <Philip`> and since hopefully someone else will write a better one ;-) [12:18:00.0000] <foolip> may I copy paste at will? [12:19:00.0000] <Philip`> Please do [12:21:00.0000] <Philip`> though I disclaim all responsibility if someone uses anything derived from my code to parse microdata in order to remotely control an army [12:24:00.0000] <foolip> Philip`: naturally [12:46:00.0000] <zcorpan_> "There's only one rule for making speculative loads of linked scripts, style sheets and images succeed" - https://developer.mozilla.org/en/Optimizing_your_pages_for_speculative_parsing [12:46:01.0000] <zcorpan_> that's not quite true, since <link rel=" stylesheet" ...> fails [14:27:00.0000] <Lachy> annevk, if I'm reading the XML5 algorithm correctly, it seems that whitespace at the beginning of a file would trigger parse errors in the start phase of tree construction. I'm assuming that's unintentional [14:39:00.0000] <annevk> I would not waste time on XML5 [14:39:01.0000] <annevk> there's far more important things to worry about [15:31:00.0000] <cying> http://toki-woki.net/p/scroll-clock/ [15:44:00.0000] <roc> uh [15:44:01.0000] <TabAtkins> Haha, awesome. 2009-11-19 [16:56:00.0000] <roc> /me is fascinated that Microsoft is endorsing Acid3 [16:58:00.0000] <othermaciej> kinda crazy... [17:05:00.0000] <AryehGregor> It didn't look to me like they were endorsing it. I heard something like "We're trying to focus on what web developers really want to see, not Acid3". They're mentioning it, but it doesn't look like they're committing to actually passing it. [17:06:00.0000] <Philip`> They give it legitimacy by mentioning it [17:07:00.0000] <AryehGregor> Yes, it's quite interesting exactly how they phrase things. [17:10:00.0000] <Philip`> Be careful not to read too much into exactly how they phrase things :-) [17:15:00.0000] <AryehGregor> Rats, dglazkov just quit. I wanted to talk to him. [17:31:00.0000] <MikeSmith> AryehGregor: dglazkov is back [17:31:01.0000] <AryehGregor> Yeah, thanks. I'm talking to him in #chromium. [17:35:00.0000] <roc> by mentioning their Acid3 score, without trashing Acid3, they're implicitly endorsing it [17:41:00.0000] <AryehGregor> They did trash Acid3. ". . . even with some shortcomings. . . . many still in the “working draft” stage . . . including many edge cases and error conditions. . . . A more meaningful (from the point of view of web developers) example of standards support involves rounded corners. [17:41:01.0000] <AryehGregor> " [17:41:02.0000] <AryehGregor> Also note "the score will continue to go up", not "we ever plan to reach 100". [17:42:00.0000] <AryehGregor> Translation: we don't think Acid3 is a good test and won't pass it. [17:42:01.0000] <AryehGregor> We can't be bothered to implement SVG, but IE9 supports rounded corners! Yay! [17:47:00.0000] <roc> they didn't trash it enough [17:49:00.0000] <AryehGregor> I bet it's because they don't want to be seen as anti-standards. [17:49:01.0000] <AryehGregor> Just being diplomatic. [17:50:00.0000] <othermaciej> AryehGregor: Microsoft folks have been posting on the SVG list - I would guess they have some interest [17:51:00.0000] <AryehGregor> Hmm, that's good to hear. [17:51:01.0000] <othermaciej> also, rounded corners are tasty low-hanging fruit [17:51:02.0000] <othermaciej> I wouldn't criticize them for that sort of thing [17:51:03.0000] <othermaciej> (assuming they did it with border-radius) [17:51:04.0000] <TabAtkins> othermaciej: They did. [17:52:00.0000] <AryehGregor> I can't complain too much, anyway. IE8 has excellent CSS 2.1 support. MediaWiki doesn't have a CSS fixes file for it -- the first IE version ever that actually works with our standard markup. [17:52:01.0000] <AryehGregor> Actually, we have no CSS fixes for the latest version of any browser, last I checked. [17:52:02.0000] <othermaciej> Microsoft is definitely stepping their game up [17:52:03.0000] <AryehGregor> The world is a lovely interoperable place now. [17:52:04.0000] <TabAtkins> AryehGregor: Next time you run into an IE employee, tell them that. They love hearing that IE8 isn't a backwater anymore. [17:52:05.0000] <TabAtkins> s/IE8/IE/ [17:53:00.0000] <AryehGregor> The problem with IE6 and 7 wasn't that they didn't implement enough standards, it's that they got them horribly wrong. [17:53:01.0000] <AryehGregor> IE8 doesn't implement much, but what it does implement, it largely gets right. [17:53:02.0000] <AryehGregor> So you can't use fancy new features, but you can serve the same code to everyone. [17:53:03.0000] <AryehGregor> Which is the most important thing. [17:53:04.0000] <AryehGregor> At least, as far as CSS goes. [17:53:05.0000] <TabAtkins> Yup, that's been my experience. I don't have to throw any special CSS at IE anymore. [17:54:00.0000] <AryehGregor> I've heard the JavaScript situation isn't as cheerful. [17:54:01.0000] <jcranmer> you mean DOM [17:54:02.0000] <TabAtkins> Eh, jQuery makes that a non-issue for me, for the most part. [17:54:03.0000] <AryehGregor> I don't do JS much, I don't really know the difference between it and DOM in practice. [17:54:04.0000] <AryehGregor> And true, JS has libraries, so in-browser support isn't essential. [17:55:00.0000] <AryehGregor> This is a neat site: http://a.deveria.com/caniuse/ [17:55:01.0000] <TabAtkins> *That's* the site I was trying to remember during my developer day talk! [17:55:02.0000] <TabAtkins> /me bookmarks it now. [17:56:00.0000] <AryehGregor> "Conclusion: Not ready. Waiting for Firefox 4 to expire" [17:56:01.0000] <AryehGregor> Eh? [17:57:00.0000] <TabAtkins> Heh, automated message obviously. I guess FF4 hasn't yet announced full webforms support? [17:57:01.0000] <AryehGregor> FF4 doesn't exist, the successor to 3.6 is 3.7. [17:57:02.0000] <AryehGregor> At least last I heard. [17:58:00.0000] <TabAtkins> Yeah, I think he's counting anything that's past 3.6 as 4. [17:59:00.0000] <AryehGregor> I haven't seen any Web Forms progress in Gecko, though, no. https://bugzilla.mozilla.org/show_bug.cgi?id=344614 [18:00:00.0000] <AryehGregor> WebKit has been doing a bunch of stuff lately, and of course Opera has a pretty much complete implementation (of an older spec version). [18:00:01.0000] <AryehGregor> That was one of the things that was supposed to be enabled along with HTML5 on Wikipedia the other day, before it bombed horribly and had to be shut off. [18:00:02.0000] <TabAtkins> What about it bombed?\ [18:01:00.0000] <TabAtkins> The XHR thing? [18:01:01.0000] <AryehGregor> Yeah, XML. [18:02:00.0000] <AryehGregor> I now think that suppressing all named entities might be feasible. [18:02:01.0000] <AryehGregor> We already do it for user input, it's only the interface that's an issue. [18:02:02.0000] <TabAtkins> Yeah, didn't you say they're only in the templates? [18:02:03.0000] <TabAtkins> Cool. [18:02:04.0000] <TabAtkins> Just switch over to unicode characters. [18:02:05.0000] <AryehGregor> Not templates, those are something totally different in MediaWiki. [18:02:06.0000] <AryehGregor> Yeah, that's what we do for outputting wikitext. [18:02:07.0000] <TabAtkins> Eh, your terminology is irrelevant. ^_^ [18:02:08.0000] <AryehGregor> Saves bytes, too. [18:05:00.0000] <AryehGregor> There's a lot of hardcoded stuff, though . . . [18:05:01.0000] <AryehGregor> $ git grep '&nbsp;' phase3/ extensions/ | wc -l [18:05:02.0000] <AryehGregor> 1335 [18:05:03.0000] <TabAtkins> That's weird. Why are they using nbsps so much? I hardly ever use them. [18:06:00.0000] <AryehGregor> "they"? [18:06:01.0000] <TabAtkins> People who wrote that code. [18:06:02.0000] <AryehGregor> I don't know, I use them pretty often. [18:06:03.0000] <TabAtkins> For what? [18:06:04.0000] <AryehGregor> For . . . spaces. [18:07:00.0000] <AryehGregor> In MediaWiki you have &nbsp; used all over the place where you want spaces between things. [18:07:01.0000] <AryehGregor> Most of them could probably be replaced with regular spaces. [18:07:02.0000] <TabAtkins> But why nbsp when spaces would do? [18:07:03.0000] <TabAtkins> Yeah. [18:07:04.0000] <AryehGregor> Well, so it doesn't break, I guess. [18:07:05.0000] <AryehGregor> Or because you want more space. [18:07:06.0000] <TabAtkins> Then... using white-space? [18:07:07.0000] <TabAtkins> Or padding/margins? [18:07:08.0000] <AryehGregor> <td>&nbsp;</td> [18:07:09.0000] <AryehGregor> Does that do anything appreciably different from <td> </td>? [18:07:10.0000] <TabAtkins> I've *never* understood that. [18:08:00.0000] <TabAtkins> No. [18:08:01.0000] <TabAtkins> I cargo-culted it when I first started coding for some reason. [18:08:02.0000] <TabAtkins> But I stopped. [18:08:03.0000] <AryehGregor> extensions/Data/SpecialData.php: $s .= " &nbsp; <input type='hidden' name='revision' value='{$revision}' />" ; [18:08:04.0000] <AryehGregor> I guess that creates slightly more space. [18:08:05.0000] <TabAtkins> … [18:08:06.0000] <TabAtkins> Before a hidden input. [18:08:07.0000] <AryehGregor> . . . [18:08:08.0000] <AryehGregor> You're right, it's hidden. [18:08:09.0000] <AryehGregor> Heh. [18:09:00.0000] <AryehGregor> extensions/FlaggedRevs/svggraph/svgGraph.html:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of decimal places to show for Y axis tags.</TD> [18:09:01.0000] <AryehGregor> That one actually doesn't matter, since it's a .html. [18:09:02.0000] <AryehGregor> .js also doesn't matter, and i18n can be fixed by filtering at message-output time. [18:09:03.0000] <AryehGregor> See, the thing is, I can certainly do some automatic filtering on messages or whatnot to close some of the holes. [18:10:00.0000] <AryehGregor> But I don't know if everyone will be happy with me manually removing all this stuff and telling them they can't use named entities anywhere without breaking user scripts all over the place. [18:10:01.0000] <AryehGregor> I guess I'll post to wikitech-l. [18:12:00.0000] <AryehGregor> We have lots of &bull; too. [18:12:01.0000] <TabAtkins> You can just replace all of those with unicode characters. [18:13:00.0000] <TabAtkins> Especially &bull;, since it's at least obvious. [18:13:01.0000] <AryehGregor> Yes, except 1) those are harder to edit, 2) what if someone adds some more? [18:13:02.0000] <TabAtkins> • [18:13:03.0000] <AryehGregor> How is it obvious? [18:13:04.0000] <TabAtkins> It's obvious that it's not a normal ascii character? [18:13:05.0000] <TabAtkins> I mean, it's a bullet -->• [18:13:06.0000] <TabAtkins> Unlike nbsp, which looks like a normal space. [18:13:07.0000] <AryehGregor> Oh, I see, yes. [18:14:00.0000] <AryehGregor> nbsp is a pain. [18:14:01.0000] <TabAtkins> Replace nbsp with its unicode escape [18:14:02.0000] <TabAtkins> Then it's still visibly different, but won't fuck with xml. [18:15:00.0000] <AryehGregor> So, other than nbsp, and leaving aside messages that can be automatically fixed (I hope), we don't seem to have *too* many issues. [18:15:01.0000] <TabAtkins> Cool. [18:15:02.0000] <AryehGregor> The problem is mainly that this would add evil and hard-to-notice bugs. [18:15:03.0000] <TabAtkins> Yeah, that'll be a problem until XHR2 gets adopted. [18:15:04.0000] <AryehGregor> For not much perceptible gain, compared to switching to an XHTML1 Strict doctype. [18:16:00.0000] <AryehGregor> Bleh, it's 9:23 already. [18:17:00.0000] <miketaylr> fwiw, here's a more fine grained support page for html5 forms, AryehGregor: http://www.miketaylr.com/code/input-type-attr.html [18:17:01.0000] <miketaylr> (saw the above conversation) [18:17:02.0000] <AryehGregor> Neat, range is supported in currentish WebKit. But it claims it also supports number and color, but those have no actual interface. [18:18:00.0000] <miketaylr> yeah, no native UIs yet [18:18:01.0000] <TabAtkins> iirc, their range support is also a bit iffy [18:18:02.0000] <AryehGregor> Well, it has a UI, anyway. [18:19:00.0000] <TabAtkins> Yeah, it works normally. I believe it just doesn't handle defaults and invalid values correctly. [18:19:01.0000] <TabAtkins> If I'm recalling my testing correctly. [18:19:02.0000] <TabAtkins> I filed a bug on them, at any rate. [18:33:00.0000] <AryehGregor> It looks like Python's xml.sax also hardcodes magical DTDs. [18:34:00.0000] <AryehGregor> Oh, dear, no. [18:34:01.0000] <AryehGregor> It actually retrieves the DTD? [18:35:00.0000] <AryehGregor> Yeah, it does. [18:35:01.0000] <AryehGregor> Lovely. [18:35:02.0000] <TabAtkins> Hope it likes blacklisting. [18:35:03.0000] <AryehGregor> So, I don't know how to justify changing everyone's &nbsp; to &#160;. [18:36:00.0000] <AryehGregor> It's a real pain and is only needed because of the lack of a DTD. Theoretically named entities are unreliable even with an XHTML doctype, but in practice it seems they aren't. [18:36:01.0000] <AryehGregor> So I guess it's an XHTML 1.0 Strict doctype for us. [18:37:00.0000] <TabAtkins> Hex is inherently more beautiful. [18:40:00.0000] <AryehGregor> "Great! Cannot wait to use 96 point Gabriola on all my sites and rest assured that there won't be jaggies! That was on the top of my list of wants for IE9!" lol. [18:40:01.0000] <TabAtkins> Heh. For serious, though, prettier font rendering is a necessity in pretty much everywhere. [18:40:02.0000] <AryehGregor> But the avoiding jaggies thing is only really relevant at very large font sizes, surely. [18:41:00.0000] <TabAtkins> No, gods no. [18:41:01.0000] <TabAtkins> It's very important at small sizes. [18:41:02.0000] <TabAtkins> Perhaps *more* important. [18:41:03.0000] <AryehGregor> Really? [18:41:04.0000] <AryehGregor> The font has to be one pixel thick at normal sizes anyway, right? [18:41:05.0000] <AryehGregor> How can that be jagged? [18:41:06.0000] <TabAtkins> Yeah. Rendering fancy fonts at small sizes using whole pixels is ugly. [18:42:00.0000] <TabAtkins> Subpixel rendering is a requirement. [18:43:00.0000] <TabAtkins> It's the whole reason fonts can look better in an image than rendered directly - the image software can use subpixel information to shade better, even if it's still coloring entire pixels. [18:43:01.0000] <TabAtkins> s/rendered directly/rendered directly by most modern browsers/ [18:47:00.0000] <AryehGregor> I'm interested by how many people in the IEBlog comments emphasize HTML5 as well as CSS3. [18:48:00.0000] <TabAtkins> Yeah, html5 is a big buzzword these days. [18:48:01.0000] <TabAtkins> Viral marketing ftw. [18:49:00.0000] <AryehGregor> /me wtfs at someone giving a long list of predictions for IE9 and adding "no SPDY support" [18:50:00.0000] <AryehGregor> Really, who'd have thought? [18:50:01.0000] <TabAtkins> I need to go look up just wtf spdy is. [18:50:02.0000] <AryehGregor> It's a Google proposal to replace a large chunk of HTTP in a reasonably practical way. [18:50:03.0000] <AryehGregor> To attain better performance, obviously. [18:51:00.0000] <AryehGregor> The idea is that it could be deployed transparently as long as both browser and web server support it, with no detectable change to applications elsewhere in the stack. [18:51:01.0000] <AryehGregor> They've got an experimental implementation based on Chrome, but it's all extremely experimental at this point. [18:51:02.0000] <AryehGregor> /me goes to bed [18:53:00.0000] <TabAtkins> Yup, just googled it. Cool. [01:03:00.0000] <gsnedders> zcorpan: I dunno what version of IE I was looking at, ask bratell :P [02:06:00.0000] <hsivonen> Intranet exploring: http://stackoverflow.com/questions/1624433/intranet-and-ie8-render-mode [02:10:00.0000] <roc> IE9 will bring a whole new level of excitement to mode-setting [02:12:00.0000] <jgraham> /me wonders how the number of states in hsivonen's flowchart will scale with the number of IE releases [02:13:00.0000] <Philip`> It seems like they could reasonably drop the IE8 mode [02:13:01.0000] <roc> I think the IE team must be asking themselves the same question right about now [02:14:00.0000] <roc> I got a pretty strong impression that they were promising to have an IE8 mode in all future releases [02:14:01.0000] <roc> but maybe they'll drop it if they think they can get away with it [02:15:00.0000] <Philip`> They added the modes for real compatibility concerns, not just for fun, and it seems unlikely there'd be significant IE8->IE9 compatibility issues, since they're not redesigning the whole CSS implementation or anything [02:15:01.0000] <Philip`> and since there hasn't been so many years for legacy content to rely on the old behaviour [02:16:00.0000] <hsivonen> Philip`: I wouldn't be too surprised if IE9 had substantial compat-sensitive DOM changes [02:16:01.0000] <roc> I commented somewhere, perhaps on my own blog, that conditionalizing all your bug-fixes on modes would be nasty, but someone from Microsoft (Chris Wilson?) said "eh, it won't be that bad" [02:16:02.0000] <roc> my memory is crap [02:17:00.0000] <gsnedders> hsivonen: From where it had improved on Acid3, DOM bucket itself wasn't much improved, HTML DOM was [02:18:00.0000] <hsivonen> gsnedders: ah. [02:18:01.0000] <hsivonen> gsnedders: my guesswork is based on rumors about SVG [02:18:02.0000] <hsivonen> which suggests they'd have some more Level 2 stuff in there [02:18:03.0000] <gsnedders> Yeah, I was hearing rumours about that back at TPAC last year for IE9 or IE10 [02:20:00.0000] <Rik`> in one of the video, they're talking about DOM2 and that Acid3 testcases are not a good fit for unit testing [02:20:01.0000] <gsnedders> I guess DOM will happen in IE9, though [02:20:02.0000] <gsnedders> I expect IE9 will probably more lay the groundwork for stuff like SVG in IE10 [02:20:03.0000] <gsnedders> But that's pure blind guesses [02:21:00.0000] <Rik`> Direct2D seems a step in canvas and SVG [02:21:01.0000] <gsnedders> Indeed. A step, not nessisarily all the way in one release. [02:21:02.0000] <hsivonen> I expect Acid3 to become a problem for XML5 eventually [02:22:00.0000] <Philip`> If it's a problem, just release an Acid3.1 [02:23:00.0000] <hsivonen> Philip`: let's hope it works out that way [02:23:01.0000] <hsivonen> Acid2 causes a permanent parsing quirk where otherwise the list of parsing quirks could have been given to zarro [02:27:00.0000] <Philip`> Why doesn't someone fix Acid2, or release Acid2.1? [02:30:00.0000] <zcorpan> the quirk was already interoperably implemented [02:31:00.0000] <zcorpan> i suggested relatively early on to change acid2 and the spec [02:48:00.0000] <MikeSmith> zcorpan: obsolete-attribute error messages now include "Use Foo instead" suggestions [02:49:00.0000] <MikeSmith> can test at qa-dev [02:49:01.0000] <MikeSmith> hsivonen: http://whattf.browse.cvsdude.com/syntax/trunk/non-schema/java/src/org/whattf/checker/schematronequiv/Assertions.java?r1=493: [02:49:02.0000] <MikeSmith> oops [02:50:00.0000] <MikeSmith> http://whattf.browse.cvsdude.com/syntax/trunk/non-schema/java/src/org/whattf/checker/schematronequiv/Assertions.java?r1=493&r2=494 [02:51:00.0000] <zcorpan> MikeSmith: cool [02:54:00.0000] <MikeSmith> hsivonen: about http://krijnhoetmer.nl/irc-logs/whatwg/20091118#l-487 [02:54:01.0000] <MikeSmith> <zcorpan_> "Use CSS instead" could be a link to http://wiki.whatwg.org/wiki/Presentational_elements_and_attributes [02:56:00.0000] <MikeSmith> ..I don't see how I could make the current err() do that [02:56:01.0000] <MikeSmith> (that is, include hyperlinks or markup in the message text) [02:58:00.0000] <jgraham> /me wonders why public-html-testsuite needs conference calls [03:00:00.0000] <zcorpan> MikeSmith: quotes are replaced with <code> markup at some point [03:02:00.0000] <MikeSmith> huh? [03:02:01.0000] <MikeSmith> which quotes? [03:03:00.0000] <zcorpan> MikeSmith: the parser does something like err("stray tag \u2021foo\u2022.") which is later replaced with "stray tag <code>foo</code>" [03:03:01.0000] <MikeSmith> ah [03:04:00.0000] <MikeSmith> in the text output they remain as quotes [03:05:00.0000] <MikeSmith> but I guess we could add something similar to generate actual hyperlinks [03:05:01.0000] <MikeSmith> anyway, train just arrived at Shinjuku station and I got to drop off [03:05:02.0000] <MikeSmith> back later [03:07:00.0000] <zcorpan> "The archive attribute on the object element is obsolete. Use the data and type attributes to invoke plugins. To set parameters with these names in particular, the param element can be used." - should be rephrased to use singular, since the message is talking about one attribute [03:07:01.0000] <Philip`> jgraham: There have not been conference calls in the past, and there has been no progress in an official HTML WG testsuite [03:07:02.0000] <Philip`> Therefore conference calls might help [03:08:00.0000] <jgraham> Philip`: s/conference calls/email discussion/ and you get the same conclusion [03:09:00.0000] <zcorpan> MikeSmith: 2 messages for <object code> :) [03:09:01.0000] <Philip`> Email discussion might help too [03:09:02.0000] <jgraham> It is hard to imagine that a conference call will encourage people to sink time into writing a testsuite when they can't even be bothered to write an email [03:10:00.0000] <gsnedders> But telecons are just that much more awesome! [03:10:01.0000] <zcorpan> eating ice cream might help too [03:11:00.0000] <gsnedders> Well, that's inevitable. We all know that ice cream is the solution to everything. [03:12:00.0000] <gsnedders> zcorpan: Happy berfday! [03:13:00.0000] <zcorpan> gsnedders: thanks! [03:13:01.0000] <zcorpan> i mean, fanks! [03:13:02.0000] <gsnedders> Ah cannae spill [03:14:00.0000] <jgraham> /me tries to resist the temptation to reply proposing monthly ice-cream meetings [03:15:00.0000] <gsnedders> jgraham: Don't resist. Accept the inevitable. [04:37:00.0000] <gsnedders> Anyone able to find the thread from a while ago about treatment of form in table? [04:43:00.0000] <hsivonen> gsnedders: it's in bugzilla [04:43:01.0000] <hsivonen> the W3C bugzilla [04:52:00.0000] <Lachy> hsivonen, wouldn't you expect XML5 parsers to at least set the "bozo bit", and at least let the application know about the error? [04:53:00.0000] <hsivonen> Lachy: In practice I would, but that's not part of the thought experiment here. [04:53:01.0000] <Lachy> ok [05:02:00.0000] <hsivonen> Does HTML5 say which script global object applies if a script has been moved to anther document before the parser runs it? [05:02:01.0000] <Philip`> On the subject of draconian parsing, a lot of RDFa implementations seem to try to parse their input with an XML parser (regardless of content-type etc) and if it fails then they re-parse with a tag-soup parser (html5lib etc) [05:04:00.0000] <Philip`> so they combine the features of: a single error can trigger huge changes in the parsing of the whole document; users are never aware of errors and can't report them to producers; they have all the implementation complexity of both XML and HTML; they conform to neither XML nor HTML; etc [05:06:00.0000] <Philip`> Also fun: Boost now ships with the http://rapidxml.sourceforge.net/ XML parser, which aims for "reasonable W3C compatibility" [05:08:00.0000] <hsivonen> am I just bad at reading the spec or is the spec vague on which script global object to use when the owner document of the script and the document of the creator parser of the script differ? [05:13:00.0000] <Philip`> (Hmm, it doesn't seem to say what "reasonable" exactly means, other than ignoring doctypes (and internal subsets) and "a number of other, minor incompatibilities") [05:13:01.0000] <Philip`> (But it's fast, which is all that matters) [05:14:00.0000] <hsivonen> ignoring the internal subset sure seems reasonable :-) [05:14:01.0000] <hsivonen> ignoring the external subset especially :-) [05:17:00.0000] <Philip`> As far as I can see, it doesn't even check for invalid codepoints [05:38:00.0000] <zcorpan> hsivonen: doesn't the spec have an example of that case in the parser error intro section? [05:39:00.0000] <hsivonen> zcorpan: about script global object? I can't locate the example. [05:40:00.0000] <hsivonen> It's unclear to me who Liam is (humorously) implying to be an asshole or a moron [05:41:00.0000] <hsivonen> XML advocates who try to read around the intent of the writers of the spec? [05:42:00.0000] <Lachy> my understanding was that your reading of the spec, or in this case, in what XML advocates have said, with a fine tooth comb, trying to find a loophole that supports XML5, makes you fit into the Asshole category [05:42:01.0000] <zcorpan> hsivonen: "Scripts that modify the page as it is being parsed" [05:43:00.0000] <Lachy> but, regardless of what he meant, it wasn't a productive answer and not worth responding to [05:44:00.0000] <hsivonen> Lachy: well, I was trying to point out that *their* reading, if elaborated on, was of the kind of reading the spec in a way that subverts the intent of the spec [05:45:00.0000] <hsivonen> whoa. that was a bogus sentence [05:45:01.0000] <hsivonen> let's try that again [05:45:02.0000] <Lachy> I understand what you mean [05:45:03.0000] <hsivonen> Lachy: well, I was trying to point out that *their* reading twists the letter of the spec to subvert the intent of the spec [05:48:00.0000] <hsivonen> zcorpan: thanks. [05:48:01.0000] <hsivonen> zcorpan: that example defies my intuition of script global object [05:50:00.0000] <Philip`> "This proposal would require an XML-conformant application, when confronted with a WF error, to refuse to proceed until a human user had been notified of the error and explicitly authorized error recovery. [...] this proposal did get serious consideration" [05:51:00.0000] <Philip`> Usability engineers would have loved that [05:52:00.0000] <Philip`> I suppose you could make it more user-friendly by popping up a dialog box that just says: "Do you want this web page to work? [Yes] [No]" [05:56:00.0000] <hsivonen> Do you want this browser to work (Don't Work) ((Work)) [x] Remember my decision [05:56:01.0000] <Philip`> That'd be a terrible violation of the spec [05:56:02.0000] <Dashiva> This page requires your permission to work. [Make it work] [Uninstall this impudent browser for daring to accomodate bad markup] [05:58:00.0000] <hsivonen> whee! down the multilingualism rathole we go [05:58:01.0000] <hsivonen> (or rather, the rathole is dealing with it automatically) [05:59:00.0000] <Dashiva> Make sure the dialog box asking "Do you want to display this in <foreign language>" is in that same foreign language [05:59:01.0000] <MikeSmith> krijnh: you around? wanted to ask about logging a new channel [06:02:00.0000] <Philip`> Dashiva: Make the dialog box ask loudly and slowly, like "Do. You. Want. To. ...", and then foreigners will understand it more easily [06:03:00.0000] <ttepasse> hsivonen, would you know why the W3C HTML 5 validator checks differently between validation by uri and by direct input? [06:06:00.0000] <MikeSmith> ttepasse: because there's a bug in it [06:06:01.0000] <MikeSmith> it's a known issue [06:06:02.0000] <ttepasse> Ah, thanks. [06:06:03.0000] <Philip`> /me wonders what the difference is [06:07:00.0000] <MikeSmith> the difference is that it runs the input through a perl script before actually passing it on to the v.nu instance [06:08:00.0000] <ttepasse> And validation by uri is the ?correct? variation? [06:11:00.0000] <MikeSmith> ttepasse: dunno.. I guess the way to confirm is to check against the behavior you get with using validator.nu directly [06:12:00.0000] <MikeSmith> or if against http://qa-dev.w3.org:8888 if you want [06:13:00.0000] <MikeSmith> that's an unstable instance that gets updated whenever a change is checked in [06:13:01.0000] <ttepasse> Ok, thanks, I just won an argument. ;) [06:13:02.0000] <MikeSmith> excellent [06:13:03.0000] <MikeSmith> I hope you got a beer or something out of it [06:14:00.0000] <ttepasse> Geographical distance is in the way as usual. [06:14:01.0000] <hsivonen> MikeSmith: ah. you are back. I had a look at your commit diffs and they looked good. [06:15:00.0000] <MikeSmith> hsivonen: OK, thanks [06:16:00.0000] <MikeSmith> hsivonen: someday I should actually learn how to program in Java [06:17:00.0000] <Dashiva> I need to learn how to catch jvm crashes [06:17:01.0000] <Philip`> /me writes Java primarily using ctrl+space [06:17:02.0000] <Dashiva> I can't seem to find any web tutorials on it [06:17:03.0000] <Philip`> Dashiva: Build a debug version of the JVM then run it in gdb? [06:18:00.0000] <Dashiva> Oh, I don't care about the crash itself [06:18:01.0000] <hsivonen> Philip`: ctrl/command+space is awesome [06:18:02.0000] <Dashiva> But I want to detect that a crash happened and relaunch the app with a compat setting [06:20:00.0000] <Philip`> Oh [06:20:01.0000] <Philip`> Check the exit code? [06:21:00.0000] <Dashiva> That's the concept I'm working on. But then I have to launch a java program from inside another java program, and I don't know if the user running this has the java binary in path or anything... [06:23:00.0000] <Philip`> You could run it always with the compat setting [06:23:01.0000] <Philip`> Or fix the crash bug [06:23:02.0000] <Dashiva> It's a driver bug, so I can't fix it [06:23:03.0000] <Philip`> Can't you work around it? [06:24:00.0000] <Dashiva> That's the compat setting. Makes the app suck, but work at least [06:24:01.0000] <MikeSmith> me wants to find time to try again to make a gcj build of jing plus whattf datatype lib plus whatever other needed v.nu dependencies [06:24:02.0000] <Philip`> /me wonders if Java supports fork() [06:24:03.0000] <Dashiva> I don't want the majority of users with good drivers to get a sucky app [06:24:04.0000] <Dashiva> And I can't reliably detect whether the driver is sucky or not [06:25:00.0000] <Philip`> You could get the user to manually restart the application, and if it sees a file indicating it didn't shut down successfully last time then it can give them choice of trying again or running in safe mode [06:25:01.0000] <Philip`> s//a / [06:26:00.0000] <Dashiva> Yeah, that's the current mode of operation. "If the program suddenly disappears, check if there's a HS_ERR_PID file and we'll tell you what to do" [06:26:01.0000] <Dashiva> But if it could be done automatically, I think we'd lose fewer users :) [06:26:02.0000] <Philip`> Do the checking automatically when they start it the next time [06:27:00.0000] <Dashiva> It's actually more complicated, since there are several different driver bugs, each with their own compat setting [06:27:01.0000] <Philip`> Oh, fun [06:27:02.0000] <Dashiva> But yes, I guess some of them could be done auto [06:28:00.0000] <Dashiva> Like setting a flag on startup and clearing it on successful shutdown [06:28:01.0000] <hsivonen> Philip`: as I understand it, pure Java doesn't support true fork on the JVM. You can run other programs, though, which I guess has to be implemented as fork on some level on Unix. [06:28:02.0000] <Philip`> Dashiva: Do you need to be portable across OSes? [06:29:00.0000] <Dashiva> Windows, mac and linux [06:29:01.0000] <Dashiva> We ditched solaris >_> [06:29:02.0000] <hsivonen> yay for Run Anywhere .sh and .bat files for bootstrapping Java [06:30:00.0000] <Philip`> If it was just Windows I guess you could do something like set an unhandled exception filter inside JNI to detect the driver crash and log/report/etc the problem [06:33:00.0000] <Dashiva> I don't suppose there's a simple way to launch apps that are already installed with javaws [06:35:00.0000] <Philip`> You could always rewrite your application in a proper language, like C++ [06:37:00.0000] <jgraham> lisp! [07:04:00.0000] <Philip`> Collada is fun [07:05:00.0000] <Philip`> /me wrote a Collada importer which had to explicitly check whether the file came from 3ds Max or XSI, and do slightly different computations and apply slightly different hacks in each case [07:51:00.0000] <Philip`> http://www.bbc.co.uk/blogs/magazinemonitor/2009/11/your_letters_795.shtml - "I don't get the Monitor either, it's to do with Internet Explorer 8. You have to run it in compatibility view to see everything properly." - hooray for compat view [14:49:00.0000] <TabAtkins> Heck, that's the same reason I started participating in CSSWG, and now I'm an invited expert actively steering things to benefit my group. [14:52:00.0000] <foolip> Sleep for me [15:01:00.0000] <Dashiva> Angry Young Men [15:02:00.0000] <Dashiva> And something about white and not having any american representatives [15:04:00.0000] <TabAtkins> What are you *talking* about, Dashiva [15:05:00.0000] <Dashiva> I was thinking about nicknames for whatwg [15:05:01.0000] <TabAtkins> It still has to have WHAT as an acronym. [15:06:00.0000] <Dashiva> Nickname, not backronym [15:06:01.0000] <TabAtkins> Obviously, you should start it with White. Then presumably Hateful American Terrorists [15:06:02.0000] <TabAtkins> Nicknames aren't fun if they're not backronyms. [15:07:00.0000] <Dashiva> White Hateful Arrogant Terrible Web Guys [15:07:01.0000] <Dashiva> Happy now? [15:07:02.0000] <TabAtkins> Actually, no. Hateful sounds weird. Hate-filled is better. [15:07:03.0000] <Dashiva> How about haughty? [15:07:04.0000] <TabAtkins> And mlw called us American. [15:08:00.0000] <Dashiva> White Haughty Angry Treasonous Web Guys [15:09:00.0000] <ttepass-> s/Angry/Arrogant [15:09:01.0000] <TabAtkins> Haughty *and* Arrogant. Damn. [15:09:02.0000] <Dashiva> H could be Hitler [15:09:03.0000] <ttepass-> Heteronormative. [15:10:00.0000] <JonathanNeal> WhatWG Hates Acronyms, Tropologically With Glee [15:10:01.0000] <TabAtkins> White Hitler-Adulating Terrorist Working Group. [15:10:02.0000] <Dashiva> I'm not budging on Web Guys [15:11:00.0000] <TabAtkins> I like how sad Mat_t always looks when I see his quit message. [15:11:01.0000] <Dashiva> I suppose it's missing something about hating accessibility [15:12:00.0000] <TabAtkins> Whites Hating Accessibility Tools [15:12:01.0000] <Dashiva> No, we hate accessibility itself, not the tools [15:13:00.0000] <TabAtkins> We Hate Accessibility Too [15:14:00.0000] <TabAtkins> I don't understand why this superpreview thing is taking so long to load my website. [15:14:01.0000] <Dashiva> Something like this then (We Hate Accessibility Too) Haughty American Terrible Web Guys [15:15:00.0000] <TabAtkins> (WHAT)HATWG [15:15:01.0000] <Dashiva> The W is a subcronym [15:15:02.0000] <TabAtkins> That's not even a word. [15:16:00.0000] <Dashiva> It is now [15:16:01.0000] <TabAtkins> Okay, granted. [15:23:00.0000] <TabAtkins> Wow, man I was dumb when I wrote this app. Look at all these plaintext passwords. [15:26:00.0000] <TabAtkins> Also: I probably shouldn't offer dates going back to 1950 if I'm storing them a timestamp in an unsigned integer. [15:26:01.0000] <TabAtkins> /me boggles that he had enough skill to actually do this project, given the shameful practices on display. [15:26:02.0000] <Dashiva> Standard epoch is for sissies [15:29:00.0000] <Philip`> Wear Hats At The Weekends, Guys [15:31:00.0000] <TabAtkins> That's a backronym I can get behind. [15:32:00.0000] <Dashiva> Wear Hats At The W3C Gatherings [15:32:01.0000] <TabAtkins> I can only hope this spawns a hat craze in the WHATWG. [15:32:02.0000] <TabAtkins> /me crosses fingers. [15:52:00.0000] <Philip`> http://googleblog.blogspot.com/2009/11/releasing-chromium-os-open-source.html - wow, it's an Ubuntu with a web browser :-o [15:53:00.0000] <JonathanNeal> sans the Ubuntu [15:54:00.0000] <Philip`> It looks like it still has the Ubuntu [15:55:00.0000] <Philip`> give how e.g. http://sites.google.com/a/chromium.org/dev/chromium-os/building-chromium-os/build-instructions talks about Ubuntu a lot 2009-11-20 [16:06:00.0000] <Dashiva> Whoa, this XML thread is such a trainwreck [16:06:01.0000] <Dashiva> "You only have to follow the XML spec if you claim to follow the XML spec" [16:06:02.0000] <Dashiva> I realize I'm 3 days late [16:11:00.0000] <roc> they seem to be giving browsers permission to destroy any value in XML [16:11:01.0000] <roc> maybe we should just go ahead [16:18:00.0000] <Dashiva> Pretty much [16:18:01.0000] <Dashiva> Then again, what else would you expect from the One True Scotsman standard [16:53:00.0000] <Dashiva> So now Twitter parses RT... [22:56:00.0000] <MikeSmith> othermaciej: seems like the iframe sandbox patch will land soon [22:57:00.0000] <othermaciej> MikeSmith: cool [22:58:00.0000] <MikeSmith> cool to see rel=noreferrer got into nightlies recently too [23:00:00.0000] <MikeSmith> which reminds me, I think we need to re-start discussion of publishing an Origin header spec through IETF [23:00:01.0000] <MikeSmith> I guess on the http wg mailing list [00:13:00.0000] <zcorpan> hsivonen: it seems v.nu has two bugs with datalist [00:14:00.0000] <zcorpan> hsivonen: one parser bug where "any other end tag" doesn't imply </option> [00:14:01.0000] <zcorpan> hsivonen: and list=foo doesn't work [00:14:02.0000] <hsivonen> zcorpan: is that a spec bug also or is the parser out of sync with the spec here? [00:15:00.0000] <hsivonen> zcorpan: thanks [00:15:01.0000] <zcorpan> hsivonen: afaict from the spec </option> should be implied [00:16:00.0000] <zcorpan> there's no entry for "datalist" end tag, so it gets handled by "any other end tag" [00:16:01.0000] <zcorpan> whose steps run through once without doing anything but changing "node" to the next in the stack [00:17:00.0000] <zcorpan> and then returns to step 2 which generates implied end tags [00:17:01.0000] <hsivonen> If things go well, I intend to update the parser to spec next week [00:18:00.0000] <zcorpan> cool [00:20:00.0000] <zcorpan> feel free to curse me for the double escape dash dash stuff :) [00:23:00.0000] <hsivonen> zcorpan: I intend to implement that last after the other spec changes... [00:24:00.0000] <zcorpan> ok [00:35:00.0000] <MikeSmith> hsivonen: I hope the datatype-warning patch I e-mailed you isn't too buffoonish [00:36:00.0000] <hsivonen> MikeSmith: I'll try to get to it soonish [00:36:01.0000] <hsivonen> (today) [00:36:02.0000] <zcorpan> bugzilla.validator.nu doesn't load for me [00:37:00.0000] <hsivonen> zcorpan: weird. it loads for me [00:37:01.0000] <MikeSmith> wmf too [00:38:00.0000] <hsivonen> web-sniffer reaches it, too [00:38:01.0000] <zcorpan> hmm now it works [00:40:00.0000] <MikeSmith> hsivonen: about the patch, no rush.. from testing in the messageEmitterAdapter part, I can already see that the patch isn't making isWarning() available (though I don't know why).. and in the mean time, I'm working my way through the messageEmitterAdapter part [00:41:00.0000] <zcorpan> filed a bug [00:43:00.0000] <MikeSmith> ah wait, yeah, I did at least manage to get isWarning() set correctly [00:44:00.0000] <MikeSmith> baby steps [00:47:00.0000] <MikeSmith> someday I will write a book: How to hack Java code even while having serious lack of cluefulness [00:49:00.0000] <MikeSmith> my strategy is basically to turn a bunch of knobs at random until the picture clears up [00:49:01.0000] <othermaciej> MikeSmith: I raised the idea with the IETF of making a working group for HTTP Extensions for the Browsable Web, which could include Cookies, Origin, Strict Transport Security, sniffing, and other things along those lines [00:49:02.0000] <MikeSmith> ah yeah [00:49:03.0000] <othermaciej> MikeSmith: in lieu of a WG for just HTTP State [00:49:04.0000] <othermaciej> MikeSmith: I think I should pursue that further [00:49:05.0000] <MikeSmith> yeah, please to [00:49:06.0000] <MikeSmith> othermaciej: you talked about this with Lisa? [00:50:00.0000] <othermaciej> a little bit, yes [00:50:01.0000] <othermaciej> or rather, I talked to people who talked to her and she sent me mail [00:50:02.0000] <zcorpan> it seems like liam's first goal is already possible and that he's suggesting a purely editorial change to html5 [00:50:03.0000] <hsivonen> is there yet any indication about how Google intends to proceed with SPDY as far as standardization goes? [00:50:04.0000] <othermaciej> I gave higher priority to the getting the Decision Policy done shortly after suggesting the idea [00:51:00.0000] <MikeSmith> othermaciej: yeah, understood [00:51:01.0000] <othermaciej> hsivonen: I think they are interested in having it be a standard once it is fully baked [00:51:02.0000] <othermaciej> hsivonen: some of us from Apple are meeting with the Google folks who worked on it in two weeks [00:51:03.0000] <othermaciej> hsivonen: I sent them some preliminary questions, one was about whether they intended it to be used via https: or a new protocol [00:51:04.0000] <othermaciej> hsivonen: they said https: but I don't think they have worked out how the upgrade would go yet [00:52:00.0000] <zcorpan> as for his second point... it seems like namespace mashups and user-defined namespaces would require writing a namespace definition file, which seems like at least as much overhead as using namespace syntax [00:52:01.0000] <hsivonen> othermaciej: OK. (I expect the IETF WG for it to be "fun".) [00:52:02.0000] <othermaciej> I don't understand what a "namespace mashup" is [00:52:03.0000] <othermaciej> hsivonen: for whatever reason, IETF people seem to respond more positively to SPDY than things like WebSocket protocol... [00:53:00.0000] <othermaciej> hsivonen: I'm a little uncertain about the upgrade story btw because it seems like there's no way to make it work right without losing at least a bit of the performance benefit of using SPDY in the first place... [00:54:00.0000] <MikeSmith> othermaciej: if you follow up with Lisa directly, you maybe also ask/remind her if Alexey Melinkov (the other IETF area director that some of this stuff relates to) should be brought into the loop on the discussion (if he's not been already). and feel free to Cc me too if you want (I talked with Lisa and Alexey both in Hiroshima and have had some e-mail discussion about other stuff after) [00:54:01.0000] <othermaciej> MikeSmith: ok [00:54:02.0000] <hsivonen> othermaciej: odd (about SPDY vs. Web Socket) [01:33:00.0000] <krijnh> MikeSmith: I am now [01:35:00.0000] <MikeSmith> krijnh: can you consider setting up logging for #html-a11y on irc.w3.org? there's no activity there so far, but we will be using it going forward [01:35:01.0000] <krijnh> Sure :) [01:40:00.0000] <zcorpan> Philip`: you forgot about <input type=color value=#c0ee0e> [01:40:01.0000] <krijnh> MikeSmith: logging now, I'll set everything else up later [01:41:00.0000] <MikeSmith> krijnh: cheers -- much appreciated [01:41:01.0000] <krijnh> Np [01:42:00.0000] <Philip`> zcorpan: Oh, I kind of ignored that since it wasn't using colour keywords at all [01:42:01.0000] <Philip`> and also because I forgot :-( [02:25:00.0000] <zcorpan> have microsoft said what from html5 ie9 will support? afaict they didn't mention one thing but still everyone says it'll "support html5" [02:42:00.0000] <Philip`> http://lists.w3.org/Archives/Public/public-html-testsuite/2009Nov/0009.html - hmm, when I first saw that big gap my immediate assumption was that it was an embedded YouTube video and I didn't have Flash enabled [02:42:01.0000] <Philip`> which is probably not a good assumption :-( [02:43:00.0000] <zcorpan> maybe jgraham fell asleep on the enter key [02:49:00.0000] <jgraham> Actually I had something stuck in my spacebar key which is had to hold down space to remove. But thunderbird was "helpfully" in html-compose mode and so collapsed all the spaces into one displayed space [02:49:01.0000] <jgraham> so I didn't realise that all the space characters were there :( [02:51:00.0000] <jgraham> Did the email make any sense apart from the huge gap? [02:53:00.0000] <Philip`> Is the idea to work out which bits of the spec don't have tests yet? Or to work out which tests are made invalid when the spec changes? Or both? [02:54:00.0000] <jgraham> Philip`: Both seem useful [02:56:00.0000] <Philip`> For the latter case, is it not sufficient just to update implementations and see what tests start failing? (and have multiple independent implementations to be more sure neither introduced a bug) [02:56:01.0000] <Philip`> That's basically a way of automating the determination of what tests are affected by spec changes [02:57:00.0000] <Philip`> and seems more practical than automatically determining which tests *might* be affected, and then having a human check every single one of them to see if they really are affected [02:57:01.0000] <zcorpan> if the spec changes and no tests start failing after fixing impl, it's an indication of lack of tests [02:58:00.0000] <Philip`> Indeed [02:59:00.0000] <Philip`> or a bug in the test harness :-) [03:01:00.0000] <jgraham> Right, that is basically what we have done so far [03:02:00.0000] <jgraham> But it is quite hard to be confident that one has updated the implementation correctly if you have a "fix the implementations then fix the test" approach [03:03:00.0000] <Philip`> That's why you have more than one implementation [03:03:01.0000] <jgraham> (and hence hard to be sure that you updated all the relevant tests) [03:04:00.0000] <Philip`> I don't think it's an ideal solution, though [03:04:01.0000] <jgraham> Philip`: Taking it to an extreme, why bother writing tests at all? Why not just fuzz input to different implementations and panic when they disagree [03:04:02.0000] <Philip`> but I'm not sure how it could be made better, and requiring more human effort per test case doesn't seem better [03:05:00.0000] <jgraham> Philip`: Agreed. [03:05:01.0000] <Philip`> jgraham: That's basically what I did with the automatically-generated tokeniser tests - generate a load of inputs, and if html5lib disagreed then I checked its implementation and my implementation to work out which was wrong [03:08:00.0000] <Philip`> (Random inputs would be unlikely to get good coverage of the spec, but I had a systematic way of doing it which seemed to work okay) [03:08:01.0000] <zcorpan> the problem is making sure the coverage of the fuzzer is good enough [03:09:00.0000] <jgraham> I don't think fuzzing HTML is particularly difficult [03:09:01.0000] <jgraham> At least for the tree construction part [03:10:00.0000] <jgraham> Because there are basically a finite number of possible tokens at each point [03:10:01.0000] <jgraham> (that shopuld have observable differences in behaviour) [03:10:02.0000] <jgraham> The only problem is that some states would be quite rare [03:11:00.0000] <jgraham> Like getting exactly <table><colgroup>x [03:12:00.0000] <jgraham> (You could of course base your fuzzer on the spec somewhat so that it picked things that were "more likely" to be interesting given the previous n tokens [03:12:01.0000] <jgraham> i.e. an order n Markov-chain) [03:14:00.0000] <Philip`> My tokeniser thing was based on looking at the spec's transitions for the current state, and then picking a few representative characters for that transition [03:14:01.0000] <Philip`> and then occasionally pruning inputs that lead to the same state [03:14:02.0000] <Philip`> or something like that [03:14:03.0000] <Philip`> so I guess the same idea could work for tree construction, except with tags instead of characters [03:38:00.0000] <roc> zcorpan: I don't recall anything specific so far [03:39:00.0000] <hsivonen> people developing fuzzers for HTML5 parsing may want to coordinate with Jesse Ruderman [03:41:00.0000] <gsnedders> Philip`: But it didn't check stuff like whether all characters in Unicode class White_Space acted as whitespace in tokensization, for example, which is worth checking [03:44:00.0000] <jgraham> hsivonen: Is he doing that in particular [03:44:01.0000] <jgraham> ? [03:44:02.0000] <Philip`> gsnedders: It could be relatively easily extended to do that, I think [03:45:00.0000] <Philip`> It has a function to return interesting strings given a tokeniser transition condition, so it does stuff like "IsConsumedCharacter c -> [ [c]; [c-1]; [c+1] ]" [03:45:01.0000] <Philip`> and it could say if c=0x20 then try some other whitespacey characters too [03:45:02.0000] <Philip`> but that would require a human to think to test that [03:46:00.0000] <Philip`> so it's going to be far from perfect coverage of all possible bugs [03:46:01.0000] <hsivonen> jgraham: I'm not sure if he is doing it actively right now, but at least he was planning to [03:47:00.0000] <gsnedders> Philip`: Equally attribute values starting with other quote chars, etc. [03:48:00.0000] <gsnedders> Philip`: I think given a model of the tokenizer and some human specified things about interesting stuff we can probably get quite a long way [03:49:00.0000] <gsnedders> /me started work on DOCTYPE quirks mode tests, but then I realized doubling the number of parser tests just for that might not be overly loved [03:53:00.0000] <zcorpan> roc: hmm? about what? [03:53:01.0000] <zcorpan> oh he disconnected [03:53:02.0000] <hsivonen> zcorpan: about IE9 maybe? [03:56:00.0000] <zcorpan> ah [04:59:00.0000] <gsnedders> heh. apparently W3C is at fault according to one comment on the IE9 blog post for never removing obsolete features. [04:59:01.0000] <gsnedders> HTML 4.01 doesn't contain NEXTID or PLAINTEXT! :P [05:02:00.0000] <Lachy> wow, several commenters there think MS should adopt webkit for IE [05:03:00.0000] <jcranmer> I vote no to that opinion [05:03:01.0000] <Lachy> don't they get that reducing competition in the browser market would suck? [05:03:02.0000] <gsnedders> That's not news [05:03:03.0000] <gsnedders> That's been going on since work on IE resumed [05:03:04.0000] <Lachy> I've heard many comments over the years suggesting that they should adopt Gecko. It's interesting that it's now swung over to WebKi [05:03:05.0000] <Lachy> *WebKit [05:04:00.0000] <jcranmer> they would switch, but they need to port webkit to Visual Basic first :-) [05:04:01.0000] <Philip`> Yeah, Microsoft should adopt WebKit and then compete with Apple and Google purely on user interface design [05:04:02.0000] <Lachy> haha [05:04:03.0000] <jgraham> Don't they get that the Microsoft board would sooner eat faeces than let their company adopt ${third party layout engine} [05:05:00.0000] <gsnedders> http://tech.slashdot.org/comments.pl?threshold=2&mode=nested&commentsort=0&op=Change&sid=1450088 [05:05:01.0000] <jcranmer> no, they can beat Chrome on stability [05:44:00.0000] <hsivonen> how many factual errors can you spot in this article? http://www.peachpit.com/articles/article.aspx?p=1409807&seqNum=2 [05:46:00.0000] <hsivonen> "This chapter is from the book [05:46:01.0000] <hsivonen> Designing with Web Standards, 3rd Edition" [05:46:02.0000] <hsivonen> says the page [05:48:00.0000] <Dashiva> "RDF controls, menus, and toolbars" [05:48:01.0000] <Dashiva> What? [05:48:02.0000] <jgraham> wtf is HTML<sub>5</sub> and why did they steal our name? [05:54:00.0000] <hsivonen> jgraham: our name? [05:54:01.0000] <Dashiva> Hixie's name, surely [05:54:02.0000] <Philip`> That could really do with some technical review from someone who actually understands this stuff [05:54:03.0000] <gsnedders> WTF is an RDF control? [05:54:04.0000] <gsnedders> A method of editing triples? [05:55:00.0000] <hsivonen> Philip`: indeed [05:55:01.0000] <Dashiva> Are there any major errors, though? Technicalities aren't so important in a text meant for the uninitiated [05:55:02.0000] <Dashiva> (I didn't read it closely) [05:55:03.0000] <jgraham> hsivonen: Well clearly whatever they are describing there isn't HTML5 [05:55:04.0000] <jgraham> It is this weird HTML<sub>5</sub> thing [05:57:00.0000] <jgraham> Dashiva: Pretty much every verifyable statement in the article seems to be wrong [05:58:00.0000] <jgraham> e.g. Hixie doesn't chair WHATWG or HTMLWG [05:59:00.0000] <jgraham> Some things just make no sense "HTML and XHTML are document languages that contain outline structure but no hint of page structure" [05:59:01.0000] <gsnedders> We have a chair? [06:00:00.0000] <Dashiva> gsnedders: Surely Hixie doesn't sit on the floor when he edits the spec [06:00:01.0000] <hsivonen> Dashiva: my vague recollection is that I've seen Hixie edit the spec sitting on the floor [06:01:00.0000] <gsnedders> Dashiva: I'm of the understanding he normally edits the spec sitting on a sofa [06:01:01.0000] <gsnedders> But yes, I too think I have seen Hixie editing the spec on a floor. [06:02:00.0000] <Philip`> Dashiva: It seems to basically be "Brief history with loads of technical errors. HTML5 has some new structural elements so you don't have to use div. Some comedy based on a technical error. Some more history. IE8's standards mode toggle was controversial but I'm not going to say what the outcome was. Advertisement for WSP and Dreamweaver and Expression. Validation is good." and that's about it [06:03:00.0000] <Philip`> so it doesn't have major errors because it does really make any major points or arguments [06:03:01.0000] <Philip`> s/does/doesn't/ [06:04:00.0000] <Philip`> s/error/misunderstanding/ maybe [06:06:00.0000] <Philip`> I suppose Apple people might be unhappy that it only mentions Mozilla and Opera as the members of WHAT (sic) [06:06:01.0000] <Philip`> and mentions Apple only in the context of being more secretive than Microsoft [06:06:02.0000] <gsnedders> image/svg+xml is never sniffed? [06:07:00.0000] <gsnedders> Yeah, that's true [06:07:01.0000] <Philip`> (So secretive that they hide most of their browser development in plain sight in a public SVN repository) [06:18:00.0000] <Philip`> Also, now that I think about it (which is probably an unwise move), the comedy reference doesn't even make any sense at all [06:18:01.0000] <Philip`> and has no relevance to what it's attempting to have relevance to [06:21:00.0000] <Philip`> http://www.zeldman.com/2009/11/13/mission-of-promo/#comment-49680 - maybe he could get all the other errors fixed too [06:22:00.0000] <jgraham> /me wonders if he is the only one who is annoyed by attension-seeking "follow me" links [06:23:00.0000] <jgraham> *attention [06:24:00.0000] <TabAtkins> I sort of hope that's not really an excerpt from Zeldman's book. [06:24:01.0000] <hsivonen> jgraham: formatted for print maybe? [06:24:02.0000] <TabAtkins> But it is. Sigh. [06:24:03.0000] <hsivonen> TabAtkins: me, too, mut the link Philip gave seems to indicate it's genuine [06:26:00.0000] <zcorpan> maybe he should have used mpilgrim's approach and write the book online, so people could point out errors before printing the book [06:26:01.0000] <Philip`> /me wonders if anyone is going to bother telling Zeldman [06:26:02.0000] <mpilgrim> i don't think that would have helped [06:27:00.0000] <hsivonen> which reminds me I should report a minor factual error to mpilgrim [06:27:01.0000] <hsivonen> oh. he is here [06:27:02.0000] <mpilgrim> /me is listening [06:27:03.0000] <hsivonen> mpilgrim: IIRC, you stated a number for standards-mode doctypes [06:27:04.0000] <TabAtkins> Your book's out, right, mpilgrim? [06:27:05.0000] <hsivonen> mpilgrim: they are infinite [06:28:00.0000] <mpilgrim> tabatkins: it's still a work-in-progress at http://diveintohtml5.org/ [06:28:01.0000] <jgraham> Philip`: You should [06:28:02.0000] <mpilgrim> brought to you by carls jr. [06:28:03.0000] <mpilgrim> hsivonen: really? why? [06:28:04.0000] <TabAtkins> Darn, I wanted to buy it for my sister for Xmas. [06:28:05.0000] <zcorpan> (quirky and almost-quirky doctypes are also infinite) [06:28:06.0000] <hsivonen> zcorpan: true [06:28:07.0000] <mpilgrim> no, won't be out on dead trees until feb. at the earliest [06:28:08.0000] <TabAtkins> ;_; [06:28:09.0000] <Philip`> html5.org is a pretty boring page, why should I bother diving into it? [06:28:10.0000] <mpilgrim> i'm told there will be a kindle edition too [06:29:00.0000] <mpilgrim> for maximum irony [06:29:01.0000] <hsivonen> mpilgrim: if the doctype doesn't match the quirky rule or the almost standards rule, the 'anything else' case is standards [06:29:02.0000] <mpilgrim> hey, at least it's not "Dive Into HTML<sub>5</sub>" [06:29:03.0000] <Philip`> (html5.org has awesome subdomains though) [06:29:04.0000] <zcorpan> mpilgrim: <!doctype html public "a"> is standards mode, and you can append anything and any number of characters after "a" and it'll still be standards mode [06:29:05.0000] <hsivonen> and has been even when the quirky list wasn't infinite [06:29:06.0000] <mpilgrim> i did not know that [06:29:07.0000] <zcorpan> except " [06:30:00.0000] <mpilgrim> i'll try to find a clever way of phrasing that [06:30:01.0000] <hsivonen> mpilgrim: of course, authors shoudn't rely on this knowledge [06:30:02.0000] <zcorpan> for quirks mode it's similar; any doctype with a name other than "html" triggers quirks mode [06:30:03.0000] <hsivonen> so it's better to state it so that it isn't factually incorrect but it might be a good idea not to highlight the state of affairs [06:31:00.0000] <zcorpan> and almost standards doctypes can use trailing garbage or any system identifier [06:31:01.0000] <mpilgrim> looks like the point i was trying to make with the numbers was that quirks mode expanded over time [06:31:02.0000] <mpilgrim> so i'll just remove the bit about how many standards mode doctypes there are [06:31:03.0000] <mpilgrim> and call it a day [06:32:00.0000] <hsivonen> sounds like a good fix [06:32:01.0000] <TabAtkins> Tangent: I love stackoverflow and want to have its babies. [06:32:02.0000] <mpilgrim> we need a random doctype generator [06:33:00.0000] <zcorpan> print "<!doctype" + random() + ">" [06:33:01.0000] <jgraham> TabAtkins: If you do that try to keep the children away from the obnoxius advertising that has been the downfall of their father [06:34:00.0000] <TabAtkins> I will endeavor to this end, jgraham. [06:34:01.0000] <TabAtkins> zcorpan: Your random doctypes are dull and boring. [06:35:00.0000] <zcorpan> TabAtkins: why? [06:35:01.0000] <TabAtkins> Who wants a random number in the doctype? They need adventure and excitement! [06:36:00.0000] <zcorpan> maybe random() doesn't return a number but adventure and excitement? [06:37:00.0000] <TabAtkins> I doubt this, unless you have a truly surprising implementation of random(). [06:37:01.0000] <Philip`> print "<!doctype ", (pack L => rand 2**32), ">" [06:38:00.0000] <Philip`> That'll rarely give you numbers [06:39:00.0000] <jgraham> Personally I implement random() as a call to a webservice that buys me a ticket to vegas, whereon I roll a fair die, fly home and enter the result. It has bto be async to keep the UI responsive though [06:39:01.0000] <jgraham> *wherein [06:39:02.0000] <TabAtkins> I'm glad the webservice does the buying. Could get pricey otherwise. [06:40:00.0000] <zcorpan> it sends the bill to TabAtkins [06:40:01.0000] <TabAtkins> DAMMIT [06:40:02.0000] <jgraham> Sure, I use your account details [06:40:03.0000] <Philip`> It's lucky that the ticket is the only possible expense that could conceivably occur while you're in Vegas, otherwise it could indeed get pricey [06:41:00.0000] <TabAtkins> zcorpan: Do you need the "a" in the standards-mode doctype, or will any starting letter suffice? [06:41:01.0000] <jgraham> Huh? I don't gamble, I just think the dice in vegas are more fair [06:41:02.0000] <zcorpan> TabAtkins: could be anything so long as you don't end up with something that triggers quirks mode [06:42:00.0000] <mpilgrim> /me finally finished reading that atrocious zeldman/marcotte article [06:42:01.0000] <Philip`> TabAtkins: Make sure you don't put DOCTYPE NETSC inside the aaaaa... string, else IE will go into quirks mode [06:44:00.0000] <mpilgrim> i think zeldman has a different definition of "dead end" than i do [06:44:01.0000] <TabAtkins> http://www.xanthir.com/etc/doctype.php [06:45:00.0000] <Philip`> TabAtkins: Should be "PUBLIC" for XML compatibility, I think [06:45:01.0000] <hsivonen> Philip`: XML compat also requires a system id [06:46:00.0000] <Philip`> Oh, actually it should be "SYSTEM" [06:46:01.0000] <TabAtkins> That'll keep standards? [06:46:02.0000] <Philip`> or what hsivonen said [06:46:03.0000] <TabAtkins> /me knows nothing about doctypes. [06:46:04.0000] <hsivonen> TabAtkins: unless your random generator collides with the one magic IBM doctype [06:46:05.0000] <hsivonen> IBM intranet FTW! [06:46:06.0000] <TabAtkins> So <!DOCTYPE html SYSTEM "foo">? [06:46:07.0000] <Philip`> TabAtkins: I think so, since that's what the about:legacy-compat doctype uses [06:47:00.0000] <TabAtkins> kk [06:47:01.0000] <TabAtkins> Done. [06:48:00.0000] <zcorpan> who cares about xml compat [06:48:01.0000] <zcorpan> <!doctype html system "" LOL> [06:48:02.0000] <hsivonen> Philip`, apparently [06:48:03.0000] <gsnedders> zcorpan: That's quirks, no? [06:48:04.0000] <zcorpan> no [06:48:05.0000] <gsnedders> zcorpan: because the correctness flag is false from parser? [06:48:06.0000] <TabAtkins> It's just a good thing I already had a big list of colors and animals. I'm not sure why. [06:49:00.0000] <zcorpan> gsnedders: garbage after system identifier is ignored [06:49:01.0000] <gsnedders> zcorpan: So it seems. Odd. [06:49:02.0000] <zcorpan> firefox compat [06:49:03.0000] <Philip`> zcorpan: Maybe Wikipedia would switch to the PUBLIC "lightgreen-hedgehog" doctype without realising it'll break XML consumers [06:50:00.0000] <zcorpan> (pages have doctypes that end with /> and expect standards mode) [06:50:01.0000] <TabAtkins> I like my "snow-crow" doctype. [06:50:02.0000] <zcorpan> Philip`: indeed, the xhtml 1.0 strict fpi is needed for entities [06:50:03.0000] <TabAtkins> I want to use it from now on. [06:51:00.0000] <TabAtkins> Though, to be consistent, I should probably just grab whatever the doctype of the moment is whenever i create a new page. [06:51:01.0000] <zcorpan> TabAtkins: you might get random 404s from validating xml parsers [06:52:00.0000] <TabAtkins> Good thing I don't care. [06:52:01.0000] <TabAtkins> I already get random 404s from some spider that can't read unicode in urls anyway. [06:52:02.0000] <TabAtkins> And just tosses the characters. [06:52:03.0000] <mpilgrim> also, different definitions of "parent organization," "RDF," "page structure," "tolerance," "clean," "structured," "semantic," "chair," and "comedy" [06:54:00.0000] <Philip`> TabAtkins: You should limit it to combinations that mostly rhyme, like snow-crow and purple-turtle and peru-gnu and, um, salmon-salmon and teal-teal [06:55:00.0000] <TabAtkins> That would be far more work than is worth it. The five minutes I spent assembling it is too much work already. [06:56:00.0000] <mpilgrim> surely there's an RDF-enabled rhyming dictionary somewhere? [06:56:01.0000] <hsivonen> zcorpan: /> on doctypes is sad [06:56:02.0000] <Philip`> Finding rhymes is hard :-( [06:56:03.0000] <TabAtkins> mpilgrim: That would also require me to care about RDF. [06:56:04.0000] <Philip`> I'm glad I'm not a poet [06:58:00.0000] <Philip`> magenta-centaur? [06:59:00.0000] <TabAtkins> Are you trying to rhyme, or did you just get that? [07:00:00.0000] <TabAtkins> Because they don't rhyme unless you *really* rhoticize the magenta into magentar. [07:00:01.0000] <Philip`> I'm trying [07:00:02.0000] <Philip`> but it's hard :-( [07:06:00.0000] <hsivonen> it seems a bit sad that there doesn't seem to be all-round agreement that two browsers using sqlite don't constitute two independent interoperable implementations [07:06:01.0000] <TabAtkins> /me likes the <small> tag, and is glad it made it in. [07:06:02.0000] <TabAtkins> Are they implementing sqlite interoperably? [07:06:03.0000] <hsivonen> TabAtkins: I don't know. It fails at the "independent" step. [07:06:04.0000] <TabAtkins> … What? [07:07:00.0000] <hsivonen> TabAtkins: If browser S and browser O both use sqlite, the sqlite part is not independently implemented twice. it's implemented only once. [07:07:01.0000] <TabAtkins> That... that doesn't make any sense. [07:08:00.0000] <hsivonen> TabAtkins: how so? [07:08:01.0000] <hsivonen> if the same code is used, it's not independent code [07:08:02.0000] <hsivonen> it's the same code [07:08:03.0000] <Philip`> Presumably two independent browsers running on the same platform would be okay [07:08:04.0000] <TabAtkins> Sure, if you're talking about the sqlite spec. But not if you're talking about some spec that happens to use sqlite (which I assume you were). [07:09:00.0000] <Philip`> even though the platform code is shared [07:09:01.0000] <Philip`> so where is the distinction between platform features and browser features? [07:09:02.0000] <hsivonen> TabAtkins: I'm not talking about a spec called sqlite. I'm talking about a piece of software called sqlite. [07:09:03.0000] <Philip`> s/features/code/g [07:09:04.0000] <TabAtkins> Okay, yes. Two browsers both implementing the same sqlite code do not count as independent implements of sqlite. [07:10:00.0000] <TabAtkins> s/implements/implementations/ [07:10:01.0000] <Philip`> If everyone uses libpng, ddoes that mean there aren't two independent implementations of e.g. toDataURL('image/png')? [07:10:02.0000] <hsivonen> Philip`: yes [07:10:03.0000] <Philip`> s/dd/ [07:10:04.0000] <Philip`> s/$/d\// [07:11:00.0000] <hsivonen> Philip`: are all Web-compatible browsers using libpng and the IJG libjpeg? [07:11:01.0000] <Philip`> Don't know, but it doesn't seem unlikely [07:11:02.0000] <hsivonen> Philip`: at least I don't have data showing that either PNG or JPEG decoding has two independent Web-compatible implementations [07:12:00.0000] <Philip`> hsivonen: Do you consider that to be a problem? [07:12:01.0000] <hsivonen> Philip`: not a severe one [07:13:00.0000] <Philip`> It doesn't stop people writing new browsers, because they can just use libpng [07:13:01.0000] <hsivonen> Philip`: as long as they are willing to call into code written in C [07:13:02.0000] <hsivonen> Philip`: it would suck if one day someone wrote a browser in a memory-safe language and found that there's secret sauce to decoding PNG that isn't in the PNG spec [07:14:00.0000] <Philip`> Should that block specs that depend on PNG from fulfilling their two-interoperable-implementation Rec criteria? [07:14:01.0000] <hsivonen> Philip`: probably not [07:15:00.0000] <Philip`> Should a similar situation with SQLite? [07:16:00.0000] <hsivonen> Philip`: yes, given that sqlite is different from libpng in the sense that it doesn't have a Web-compatible maintenance story [07:16:01.0000] <Philip`> /me doesn't think the SQLite thing is good, but isn't sure how to clearly define why it's a problem [07:17:00.0000] <hsivonen> Philip`: also, I tend to see PNG and JPEG more as grandfathered parts of the platform than as something that you can use to reason about independent impls. [07:18:00.0000] <hsivonen> (and maybe MS has independent impls or PNG and JPEG and I'm just unaware) [07:18:01.0000] <hsivonen> (and maybe the pure Java impls of PNG are actually truly interoperable) [07:19:00.0000] <Philip`> /me notes that the two APNG implementations are not interoperable [07:19:01.0000] <hsivonen> (also, having read the PNG spec, it seems credible that it actually describes the libpng impl) [07:19:02.0000] <hsivonen> I have more doubts about the spec quality of JFIF [07:20:00.0000] <mpilgrim> Philip`: it's OK to raise our standards over time [07:21:00.0000] <mpilgrim> lots of stuff in the first 20 years of the web was hackish and underdocumented [07:21:01.0000] <mpilgrim> doesn't mean we can't demand more from future standards [07:22:00.0000] <mpilgrim> (for the record, i agree with mozilla's concerns about an underspecified SQL language, but i don't think it'll make a difference in the long run) [07:22:01.0000] <hsivonen> mpilgrim: why no difference in the long run? [07:23:00.0000] <mpilgrim> apple isn't just going to remove their implementation [07:23:01.0000] <mpilgrim> google has publicly committed to implementing it in chrome in 2010 [07:23:02.0000] <mpilgrim> i think market pressure will eventually force mozilla to implement it too [07:24:00.0000] <mpilgrim> but that doesn't make it a good standard, that's just the reality of the marketplace [07:24:01.0000] <Philip`> Are the SQLite developers interested in helping web use? [07:25:00.0000] <mpilgrim> dunno [07:25:01.0000] <hsivonen> on the bright side, SQLite doesn't have a more restrictive license than libpng or libjpeg, so in that sense, they are in the same category [07:26:00.0000] <webben> Are the distinct requirements of use by web browsers - as opposed to other uses - written down somewhere? [07:27:00.0000] <hsivonen> webben: the main difference the Web brings are stricter security requirements and stricter backwards compat requirements [07:28:00.0000] <hsivonen> (assuming that we aren't even talking about whether SQL in general is a bad choice for browsers and CouchDBesque solutions would be better) [07:30:00.0000] <webben> i see [07:33:00.0000] <Philip`> By "SQL in general" do you mean the syntax, or the relational model? [07:34:00.0000] <hsivonen> Philip`: both the relational model and a query language vaguely like the vagueness that is SQL [07:35:00.0000] <hsivonen> at this point, for all practical purposes, the relational model and SQL go hand-in-hand [07:35:01.0000] <hsivonen> doesn't really make sense to have one without the other [07:38:00.0000] <hsivonen> Wow. the P part of DAP is worse than I thought [07:39:00.0000] <hsivonen> /me just read http://www.w3.org/mid/7789133a0911191522y510c0e5cubbfa43f7a148943e⊙mgc [07:40:00.0000] <Philip`> hsivonen: Lots of libraries provide the relational model (with selects and joins and columns and keys and indexes and constraints and query optimisers and whatever) without any SQL syntax, hiding it behind things that look like normal programming [07:40:01.0000] <Philip`> e.g. LINQ [07:41:00.0000] <hsivonen> Philip`: good point [07:43:00.0000] <Philip`> A different syntax would likely be more usable and prevent stupid SQL injection bugs and would isolate web content from some of the details of SQL (since every SQL database has quite different syntax for the same concepts) [07:43:01.0000] <Philip`> but would also take effort to design and be harder to learn for people who already know SQL [07:43:02.0000] <Dashiva> /me waves to auto_increment [07:44:00.0000] <Philip`> but it seems like it should be part of any discussions about SQLite vs alternatives [07:54:00.0000] <Philip`> /me likes streaming HD TV programmes but wishes they didn't turn into awful mush when showing forests or swarms of insects [07:56:00.0000] <zcorpan> http://diveintomark.org/archives/2009/11/18/expense-reports#comments makes me think of http://xkcd.com/386/ [08:17:00.0000] <TabAtkins> Heh. We have amusing quotes so regularly on the whatwg stats page. [08:17:01.0000] <gsnedders> From the wonders of JS in the real world: 'try{ // this is needed for now since the above regexp parsing needs more test verification' [09:02:00.0000] <gsnedders> If there are any masochists who take pleasure from HTML regexps: http://www.mkyong.com/regular-expressions/10-java-regular-expression-examples-you-should-know/ [09:05:00.0000] <Dashiva> Oh joy, yet another broken email regexp [09:06:00.0000] <Dashiva> And a file filter that doesn't support .jpeg files... [12:03:00.0000] <incluye> Which of the new tags are inline by default? [12:03:01.0000] <incluye> Like, <aside> for instancew. [12:03:02.0000] <incluye> *instance. [12:06:00.0000] <annevk> see section 11.2.2 [12:06:01.0000] <annevk> <aside> is block [15:32:00.0000] <Philip`> "Opera [...] keeping the modified testsuite in our local VCS" - I thought your local VCS was CVS, so you couldn't get away from it and save your sanity that easily :-) [15:32:01.0000] <jgraham> Philip`: Not for tests [15:33:00.0000] <Philip`> Oh, okay [15:34:00.0000] <jgraham> Mainly I am just wildly opposed to anything that makes me use CVS ever again [15:34:01.0000] <jgraham> But I think there is also a legitimate reason to prefer hg [15:34:02.0000] <Philip`> I wonder how insane it would be to try to use Hg for dealing with review status [15:35:00.0000] <jgraham> How? [15:35:01.0000] <jgraham> /me is much less worried about reviewing tests than merely having tests in the first place [15:36:00.0000] <Philip`> e.g. people submit random tests by publishing a repository, people review and accept tests by pulling them into their own reviewed repository, then someone pulls them into the main official repository at some point [15:36:01.0000] <Philip`> That might be not possible and/or far more effort than is necessary [15:36:02.0000] <jgraham> That sounds quite insane, yes :) [15:37:00.0000] <jgraham> Assuming each tests has a unique id we can have a simple flat file database (or text file or XML document or JSON file or whatever) that adds any metadata to tests [15:37:01.0000] <Philip`> (RDF!) [15:38:00.0000] <jgraham> Sure as long as I don't have to produce or consume it :) [15:39:00.0000] <Philip`> What do you think should be done with tests that are generated (by a possibly complex process) from some source data? Should the source get checked in, or the runnable output, or both, or neither? [15:39:01.0000] <jgraham> Both [15:40:00.0000] <jgraham> like Canvas/testsuite_name/src and Canvas/testsuite_name/tests [15:40:01.0000] <Philip`> I suppose I'm mainly thinking of canvas tests where people should use the YAML/Python to edit tests but don't want to bother if they're just running tests [15:40:02.0000] <Philip`> so that's probably sensible [15:41:00.0000] <jgraham> Yeah I've done similar things [15:41:01.0000] <Philip`> There are bugs in the tests that I haven't fixed for ages because I'm too lazy to run the script and upload the new files again :-( [15:41:02.0000] <jgraham> /me should go to sleep now [15:43:00.0000] <Philip`> You should, but will you? 2009-11-21 [02:15:00.0000] <MikeSmith> hsivonen: in the message-emitter code, I don't see that there's currently any way to change the type of a MessageType [02:15:01.0000] <MikeSmith> I see the getSuperType method, but no setSuperType [02:17:00.0000] <MikeSmith> I assume I'll need to add a property and method to each of the message type classes? [03:44:00.0000] <annevk2> /me should really sleep some more but is amusing himself with public-html email [06:03:00.0000] <murr4y> is there a reason why the w3c html5 validator doesn't recognize <meta charset="utf-8">, other than that it's experimental? [06:10:00.0000] <hsivonen> murr4y: bug in the Perl front end [06:12:00.0000] <murr4y> aha [06:12:01.0000] <hsivonen> (already reported) [06:13:00.0000] <hsivonen> MikeSmith: I don't have the source code or an svn client on this computer, so I'm going from memory [06:14:00.0000] <hsivonen> in MessageEmitterAdapter, trace the call tree from error(SAXException) down to message(Type,...) [06:15:00.0000] <hsivonen> in the method highest in the tree (maybe error() itself, I forget) that first calls message(Type, ...) with an Error subclass of Type as the argument, do the following [06:16:00.0000] <hsivonen> use instanceof the check if the SAXException is a RELAX NG error sbclass that wraps DataTypeExceptions [06:16:01.0000] <hsivonen> if t is, itereate over the DataTypeExceptions and use instanceof to see if any one of them is an Html5DatatypeException [06:16:02.0000] <karlcow> http://dev.w3.org/cvsweb/validator/httpd/cgi-bin/check?rev=1.719&content-type=text/x-cvsweb-markup [06:17:00.0000] <hsivonen> on Html5DatatypeExceptions, call isWarning() [06:18:00.0000] <hsivonen> if you mamage to get a return value true from even one Html5DatatypeException by doing this, call the message method with Warning as the Type argument [06:18:01.0000] <hsivonen> otherwise, use Error as Type the way it's used now [06:18:02.0000] <hsivonen> that should be about it [06:18:03.0000] <hsivonen> the instanceof code will look ugly :-( [06:19:00.0000] <hsivonen> MikeSmith! [06:19:01.0000] <hsivonen> MikeSmith: I just tried to answer you question [06:19:02.0000] <MikeSmith> hsivonen: hey [06:19:03.0000] <MikeSmith> I think I got it figured out [06:20:00.0000] <MikeSmith> oh [06:20:01.0000] <MikeSmith> didn't see it [06:20:02.0000] <hsivonen> MikeSmith: did you arrive at the same conclusion as what I just wrote in the log? [06:20:03.0000] <MikeSmith> I'll take a look at the logs now.. hang on [06:20:04.0000] <hsivonen> http://krijnhoetmer.nl/irc-logs/whatwg/20091121#l-167 [06:21:00.0000] <hsivonen> s/mamage/manage/ [06:21:01.0000] <hsivonen> /me also doesn't have a proper keyboard on this computer [06:37:00.0000] <MikeSmith> hsivonen: sorry, got distracted of a bit [06:38:00.0000] <MikeSmith> hsivonen: so the part about tracing the call tree I had figured out [06:38:01.0000] <MikeSmith> so that part was fine [06:39:00.0000] <MikeSmith> but the part about calling the message method with Warning as the type -- I can't see how to actually do that [06:39:01.0000] <MikeSmith> because the call to message is way further down [06:39:02.0000] <TabAtkins> Hahaha, my random doctypes are already spreading like a virus! [06:40:00.0000] <hsivonen> MikeSmith: you need to downcast [06:40:01.0000] <Dashiva> TabAtkins: Random doctypes? [06:40:02.0000] <TabAtkins> http://www.xanthir.com/etc/doctype.php [06:40:03.0000] <TabAtkins> Triggers standards mode. [06:41:00.0000] <Dashiva> <!DOCTYPE html SYSTEM "crimson-wombat"> [06:41:01.0000] <hsivonen> if (dte instanceof Html5DatatypeException) { Html5DatatypeException hdte = (Html5DatatypeException)dte; if (hdte.isWarning()) {...}} [06:41:02.0000] <TabAtkins> I got someone to cargo-cult "mediumorched-mynah bird" in their page. ^_^ [06:41:03.0000] <hsivonen> and the same pattern for the SAXException itself [06:41:04.0000] <TabAtkins> s/orched/orchid/ [06:42:00.0000] <MikeSmith> hsivonen: ah, OK [06:48:00.0000] <MikeSmith> hsivonen: so not knowing, what I had ended up doing was adding setSuperType and setSubType and setPresentationName methods to the MessageType class, and then I changed all the subclasses so that their contents are just a constructor that sets the superType and subType and presentationName [06:50:00.0000] <MikeSmith> hsivonen: I'll pastebin the patch so you can see what I mean [06:54:00.0000] <MikeSmith> hsivonen: http://pastebin.ca/1680958 [06:55:00.0000] <MikeSmith> oops [06:56:00.0000] <MikeSmith> hsivonen: minus the stuff at lines 31-33 of the diff [06:56:01.0000] <MikeSmith> (that's just some clumsy debugging I had added earlier and forgot to revert) [07:07:00.0000] <hsivonen> MikeSmith: the Type instances were supposed to be immutable singletons, IIRC. [07:07:01.0000] <hsivonen> MikeSmith: so adding setters isn't geed [07:07:02.0000] <hsivonen> good [07:07:03.0000] <MikeSmith> OK [07:07:04.0000] <Lachy> I find it ironic that a proposed solution to the level of indirection problems inherent to xmlns and prefixes, is to add another level of indirection on top with the unobtrusive namespace proposal. [07:08:00.0000] <hsivonen> can you hoist the instanceof stuff into the method that call message with a Type argument? [07:08:01.0000] <hsivonen> and pass a different singleton argument there? [07:08:02.0000] <TabAtkins> Lachy: That's not inherently a bad approach. It may be that the xmlns style of indirection is confusing and/or inadequate, but a different style of indirection is more natural. [07:09:00.0000] <TabAtkins> Lachy: Not saying that Liam's suggestion is good; I still don't have a real opinion of it. [07:09:01.0000] <TabAtkins> What was the issue that needed a change proposal that basically said "Keep the status quo"? [07:12:00.0000] <Lachy> In Krzysztof's latest reply, he's now suggesting that browsers would simply recognise URIs of known namespace definition files, so they wouldn't need to request them [07:13:00.0000] <Lachy> that effectively makes the namespace definition files themselves useless, and it's just reinventing profile="" [07:13:01.0000] <TabAtkins> Indeed. [07:14:00.0000] <Lachy> though, of course the problems I outlined in my previous mail would still exist for unrecognised URIs, assuming the idea is still for browsers to request them. (If not, then it doesn't really solve any sort of distributed extensibility problems) [07:15:00.0000] <Lachy> basically, the whole underlying concept behind the unobtrusive namespace proposal is fundamentally flawed, no matter how you look at it. [07:16:00.0000] <TabAtkins> I'd probably agree. It's as flawed as DTDs, and look where that ended up. [07:17:00.0000] <MikeSmith> hsivonen: no, I'm not sure how I can. That's the problem -- there are conditionals earlier in the main message() method that check to see whether the exception is an error or a warning, then calls to messageWithExact, etc., get made after that [07:17:01.0000] <MikeSmith> /me is about to run out of battery power [07:21:00.0000] <Philip`> Lachy: I don't think the proposals were trying to solve the problem of levels of indirection, they were just trying to solve the problem "HTML people don't like XML namespaces" by making anything that's not quite the same as XML namespaces in the hope that people will like it more [07:23:00.0000] <Philip`> and not directly addressing the fundamental concerns about indirection and complexity and desirability of extensions etc [07:25:00.0000] <hsivonen> MikeSmith: I think you need the instanceof on SAXException in two places [07:26:00.0000] <hsivonen> in the current place and higher up when the Type object is chosen [07:28:00.0000] <MikeSmith> hsivonen: OK [07:28:01.0000] <MikeSmith> I think I see now what I can do 2009-11-22 [17:08:00.0000] <Huvet> hi everyone! I'm playing around with the html5lib 0.11 python implementation, and is wondering if I might have hit a bug: http://dpaste.com/hold/123513/ [17:08:01.0000] <Huvet> I'm parsning the HTML of swedish newspapers, which seems to we one of the worst messes in the world :( [17:09:00.0000] <Huvet> or, I could be doing something wrong, it would not be the first time :) [17:34:00.0000] <Huvet> the same error occurs on www.unt.se, and www.uhp.se too [03:40:00.0000] <Philip`> Huvet: 0.11 is very old - you should try it with the latest source version [03:47:00.0000] <Huvet> thanks, I will [04:14:00.0000] <Huvet> gah, "hg" needed to download the latest source version? what happened to the good old svn days :( [04:17:00.0000] <Philip`> The good old svn days turned into the better new hg days [04:18:00.0000] <Philip`> It's basically the same as SVN except you use the command "hg" instead of "svn" :-) [04:18:01.0000] <Philip`> ...although I suppose it might be a bit more painful on Windows [04:27:00.0000] <Huvet> well, not really, seems to work exactly like it should [04:29:00.0000] <Huvet> hmm... strange, it checked out the whole tree, even though I requested a subdirectory [04:33:00.0000] <Huvet> hmm... "... you cannot check out only one directory of a repository" [04:39:00.0000] <Huvet> hmm... I guess I can't clone the default repository and use that? seems that is 0.11 still. Maybe the 0.2 branch? *figures out how to clone a branch* [04:43:00.0000] <Huvet> is that the latest version? or should I look into some other branch? [04:46:00.0000] <Huvet> ah, fuck it, beautifulsoup seems deprecated anyways [04:47:00.0000] <Philip`> Huvet: Yeah, Hg doesn't support partial checkouts - you just clone the entire repository [04:47:01.0000] <Huvet> yeah, I figured that out [04:47:02.0000] <Philip`> which includes all the branches and everything [04:47:03.0000] <Huvet> ah [04:48:00.0000] <Huvet> how do I know which the latest branch is? [04:48:01.0000] <Philip`> You should just use the default branch [04:48:02.0000] <Huvet> ok [04:48:03.0000] <Philip`> since the others were for temporary experiments [04:49:00.0000] <Philip`> I think the BS code is still included and should work better than the 0.11 release, though I could be wrong about that [04:50:00.0000] <Huvet> seems I still get the same error there [04:50:01.0000] <Philip`> but there are fundamental problems in BS that mean it can't work properly in html5lib, and nobody has been interested in spending a great deal of effort on it [04:50:02.0000] <Huvet> but with an extra DataLossWarning [04:50:03.0000] <Huvet> I'll just use something else then I guess [04:51:00.0000] <Philip`> Okay, so maybe it doesn't work much better than the 0.11 release :-( [04:52:00.0000] <Philip`> lxml is usually the recommended treebuilder [04:53:00.0000] <Huvet> ok, i saw the remark in the docs about lxml being an "excellent library" :) [04:53:01.0000] <Huvet> or something in those terms [05:00:00.0000] <Huvet> oh great, the lxml parser crashes on those sites too :( [05:00:01.0000] <Philip`> Hmm, seems to work okay for me with lxml [05:01:00.0000] <Philip`> (I can't test BS yet since I don't have it installed) [05:01:01.0000] <Huvet> are you parsning http://www.allehanda.se ? [05:02:00.0000] <Huvet> http://dpaste.com/123628/ [05:02:01.0000] <Philip`> No, because that timed out when I first tried downloading it [05:02:02.0000] <Philip`> but now I see the problem :-/ [05:04:00.0000] <Philip`> ihatexml.py lives up to its name [05:04:01.0000] <Huvet> heh, great name for a file, what does it do? [05:07:00.0000] <Philip`> http://code.google.com/p/html5lib/issues/detail?id=125 [05:07:01.0000] <Huvet> ah, that seems it [05:07:02.0000] <Philip`> It tries to modify the names returned by the HTML parser so they're compatible with APIs that enforce XML's name requirements [05:08:00.0000] <Philip`> (and similar things) [05:12:00.0000] <Philip`> Huvet: <a><div><div><a> seems to be the pattern the BS treebuilder dislikes [05:13:00.0000] <Huvet> heh, I can understand that [05:15:00.0000] <Philip`> Huvet: It's the same as http://code.google.com/p/html5lib/issues/detail?id=80 [05:15:01.0000] <Huvet> ah, good detective work [05:16:00.0000] <Philip`> /me should have remembered it sooner because he looked into that bug when it was new [05:17:00.0000] <Philip`> (At least that's the problem on www.unt.se, I assume the others are the same) [12:50:00.0000] <Huvet> heh, next horrendous HTML that crashes the html5 parser: http://7-harad.nu/ [12:51:00.0000] <Philip`> What error message do you get? [12:51:01.0000] <Huvet> http://dpaste.com/123783/ [12:54:00.0000] <Philip`> Hmm [12:54:01.0000] <Philip`> What treebuilder are you using? [12:54:02.0000] <Huvet> dom [12:55:00.0000] <Huvet> beautifulsoup crashed on some sites, lxml on some other ones, so I'm on dom now :) [12:56:00.0000] <Huvet> I guess it's all the advertising code on these sites that make them so badly formatted [12:56:01.0000] <Philip`> http://code.google.com/p/html5lib/issues/detail?id=123 sounds like it could be relevant [12:57:00.0000] <Philip`> but I'm not really sure [12:57:01.0000] <Philip`> It'd be good if you could produce a minimal testcase [12:57:02.0000] <Huvet> yeah, I'm not sure how to go about that... save the sourcecode locally and start stipping stuff out? [12:57:03.0000] <Philip`> by starting with the markup from the site that causes problems, then deleting half of it and seeing if the problem is still there, else delete the other half instead, and repeat until there's not much left [12:58:00.0000] <Philip`> Yeah, basically what you said :-) [12:58:01.0000] <Huvet> ok, I'll get to work right away [12:58:02.0000] <Huvet> :) [13:19:00.0000] <Huvet> oh, there's a new error [13:19:01.0000] <Huvet> http://dpaste.com/123797/ [13:20:00.0000] <Huvet> but one thing at the time [13:22:00.0000] <Philip`> Testing on real content is a good way to find bugs :-) [13:23:00.0000] <Philip`> /me wonders how many pages Huvet is running through it [13:23:01.0000] <Huvet> 351 :) [13:23:02.0000] <Huvet> I'm scaping swedish news sites for RSS urls [13:24:00.0000] <Huvet> seems that's a bit harder than I first thouht :P [13:24:01.0000] <Huvet> seems that's a bit harder than I first thouht : [13:25:00.0000] <Huvet> this is the smallest I can get it: <table><td><span><font></span><span> [13:25:01.0000] <Huvet> first one [13:27:00.0000] <Huvet> ehm... strange... the other error is if I have a file with just <table> in it :) [13:31:00.0000] <Philip`> That's quite minimal :-) [13:35:00.0000] <Philip`> Huvet: I think you could fix the processEOF easily by removing the 'token' in html5parser.py lines 1689, 1692 (the processEOF declaration/call) [13:36:00.0000] <Philip`> but it'd be good to post a new issue on the Google Code site, so someone can add a test case and fix the code and make sure it works [13:37:00.0000] <Philip`> and also for the other bug (which looks like a scary adoption agency thing) [13:38:00.0000] <Huvet> I will [13:56:00.0000] <Huvet> here's the first bug: http://code.google.com/p/html5lib/issues/detail?id=126 [14:01:00.0000] <Huvet> and here's the other one: http://code.google.com/p/html5lib/issues/detail?id=127 [14:04:00.0000] <AryehGregor> "Such a subset does not, in general, include inline script elements." [14:04:01.0000] <AryehGregor> Why can't you include inline script in polyglots? Can't you fudge things using <!CDATA[ or whatnot? [15:01:00.0000] <Huvet> yay, another bug :) [15:02:00.0000] <Huvet> I'll do the drill [15:05:00.0000] <Dashiva> Yours is the drill that will pierce bugzilla [15:09:00.0000] <Huvet> :) [15:09:01.0000] <Huvet> <form><table></form><form></table></form> [15:09:02.0000] <Huvet> wonderful code [15:09:03.0000] <Huvet> I'll post a bug for it [15:09:04.0000] <Huvet> "ValueError: list.remove(x): x not in list" [15:14:00.0000] <Huvet> Here's the bug, for those interested: http://code.google.com/p/html5lib/issues/detail?id=128 2009-11-23 [02:05:00.0000] <Huvet> have someone tried to write a test generator that takes random html and sends it through html5lib? [02:05:01.0000] <Huvet> sounds like it could be able to find some bugs perhaps [02:07:00.0000] <jgraham> Huvet: Yeah I did that a while ago but not recently [02:07:01.0000] <jgraham> Obviously we regressed somewhat since then :) [02:07:02.0000] <Huvet> heh :) [02:07:03.0000] <jgraham> Huvet: Thanks for all the bug reports though, they are great [02:08:00.0000] <Huvet> np, I'm glad to help [02:09:00.0000] <jgraham> The fact that the table handling has some problems is not so surprising because that is one of the scariest parts of the parser and one that has changed a bit recently [02:09:01.0000] <Philip`> It's easy to get hundreds of thousands of real pages and send them through, and see what happens [02:09:02.0000] <Philip`> though perhaps a little bit slow [02:09:03.0000] <jgraham> s/easy/slow :) [02:09:04.0000] <jgraham> AH, you beat me [02:10:00.0000] <Huvet> even better would be a program that makes minimal testcases from a crash [02:10:01.0000] <Huvet> shouldn't be that much work [02:10:02.0000] <jgraham> Huvet: Google jesse lithium [02:11:00.0000] <jgraham> It does basically what you want [02:12:00.0000] <Huvet> well, I'm not thinking about it for my sake, but for html5libs :) [02:12:01.0000] <jgraham> Huvet: Right, the main problem we have had is that we haven't found the bugs in the first place :) [02:13:00.0000] <Huvet> yeah, so a major crawl of the web, and then a reduction script that reports minimal bugs as it finds them [02:13:01.0000] <jgraham> That could work [02:17:00.0000] <Huvet> hmm... I see that at leaste this bug was fixed recently (http://code.google.com/p/html5lib/issues/detail?id=127), but when I do "hg up", I don't get any updates [02:17:01.0000] <Huvet> C:\Emils\Nerladdat\html5lib>hg up [02:17:02.0000] <Huvet> 0 files updated, 0 files merged, 0 files removed, 0 files unresolved [02:17:03.0000] <jgraham> hg pull [02:18:00.0000] <Huvet> ah, I should read up on hg [02:18:01.0000] <jgraham> (up updates from the local respository, pull pulls from a different repository) [03:10:00.0000] <Huvet> hmm... should the parser be able to handle strange encodings? [03:10:01.0000] <Huvet> <meta name=”robots” content=”noodp”> [03:10:02.0000] <Huvet> seems to crash on that [03:11:00.0000] <Huvet> (note the strange quotes) [03:11:01.0000] <jgraham> That seems.. bad [03:11:02.0000] <Huvet> new bug? [03:12:00.0000] <jgraham> Sure [03:13:00.0000] <jgraham> (btw for simple bugs, the best way to report them is to give the parse.py command line like [03:13:01.0000] <jgraham> python parse.py '<meta name=”robots” content=”noodp”>' and the error [03:13:02.0000] <Huvet> ah, good idea [03:13:03.0000] <jgraham> since that is the easiest way to try and reproduce them) [03:14:00.0000] <jgraham> (but things that can be run in a python repl are fine too) [03:15:00.0000] <Huvet> I think I need a separate file for this one... the windows cmd prompt converts the quotes to proper ones when I paste them there :) [03:16:00.0000] <Huvet> strange feature [03:19:00.0000] <jgraham> Fair enough [03:21:00.0000] <Huvet> http://code.google.com/p/html5lib/issues/detail?id=129 [05:11:00.0000] <jgraham> Huvet: Oops, looks like I checked in part of another patch by mistake [05:11:01.0000] <jgraham> Try deleting the line with finalize on it [05:19:00.0000] <gsnedders> jgraham: Did I break the parser a fair bit? [05:21:00.0000] <jgraham> gsnedders: I don't know if it's your fault [05:21:01.0000] <jgraham> Probably not :) [05:21:02.0000] <Philip`> jgraham: You should blame him anyway [05:23:00.0000] <jgraham> Philip`: I blame you for not fixing bugs that were obiously mine in ihatexml.py :) [05:23:01.0000] <jgraham> *obviously [05:25:00.0000] <Huvet> jgraham: no worries, it doesn't happen when parsning, only halfway through minimizing a testcase [05:26:00.0000] <Huvet> so I'll keep it broken [05:26:01.0000] <jgraham> Huvet: since it is a one line deletion I will push the fix in a moment [05:31:00.0000] <jgraham> Huvet: done [05:31:01.0000] <Huvet> thx [05:32:00.0000] <Huvet> works perfectly [06:30:00.0000] <Lachy> hsivonen, I believe this error from your validator is incorrect: "Error: When the attribute lang is specified, the element must also have the attribute lang in the XML namespace present with the same value." [06:31:00.0000] <Lachy> I can't see anywhere in the spec that says I have to specify xml:lang="" in an XHTML document if I specifiy lang="". It just says that if both are present, then they must have the same value. [06:46:00.0000] <hsivonen> Lachy: whoa. something has regressed [06:49:00.0000] <hsivonen> /me is puzzled [06:51:00.0000] <hsivonen> /me is even more puzzled [06:51:01.0000] <hsivonen> the string that I find in the source code makes sense: [06:51:02.0000] <jgraham> hsivonen: Welcome to my world [06:51:03.0000] <hsivonen> When the attribute \u201Cxml:lang\u201D in no namespace is specified, the element must also have the attribute \u201Clang\u201D present with the same value. [06:52:00.0000] <Lachy> so you can't find the error I quoted above in the source? [06:52:01.0000] <hsivonen> Lachy: right [06:52:02.0000] <hsivonen> Lachy: I do see it on the site [06:52:03.0000] <Lachy> huh, weird. [06:54:00.0000] <hsivonen> ok, now I see it [06:55:00.0000] <Lachy> was that error based on an old requirement in the spec, presumably since removed? [06:55:01.0000] <hsivonen> I don't recall the spec ever having had such a req [06:57:00.0000] <hsivonen> blame shows I wrote that line [06:58:00.0000] <Lachy> at one point, it seems lang="" was HTML only and xml:lang was XHTML only, according to this snapshot of the spec. http://www.whatwg.org/specs/web-apps/2007-10-26/#the-lang [06:58:01.0000] <hsivonen> ah. ok [06:59:00.0000] <gsnedders> /me wonders how much would break if lang parsed to xml:lang in HTML [06:59:01.0000] <gsnedders> (or rather, it parsed to namespaceURI "http://www.w3.org/1998/xml", prefix null, localName, "lang" [07:00:00.0000] <hsivonen> gsnedders: if you really want to know, you could hack the Java to C++ translator not to remove that feature and compile Gecko with that feature enabled [07:00:01.0000] <Lachy> JohnResi1, yt? I have a question about your selectors-api tests [07:01:00.0000] <gsnedders> I mean, would that break anything apart from a script that checked the namespaceURI of it? [07:01:01.0000] <hsivonen> actually, there's an easier way to test it [07:01:02.0000] <hsivonen> without hacking the translator [07:02:00.0000] <hsivonen> maybe I should make a batch of builds with that feature one of these days [07:02:01.0000] <gsnedders> I can't think how it should break anything [07:02:02.0000] <gsnedders> And it would make HTML/XHTML DOMs more consistent [07:03:00.0000] <hsivonen> gsnedders: it could break pages that try to change an existing lang attribute using setAttribute [07:03:01.0000] <gsnedders> Ah [07:03:02.0000] <hsivonen> so that's what would break [07:03:03.0000] <Lachy> gsnedders, it would break attribute selectors that use [lang], I think [07:04:00.0000] <hsivonen> unless you start hacking special cases into the DOM [07:04:01.0000] <hsivonen> probably not worth the trouble [07:04:02.0000] <gsnedders> Yeah, I don't want to add a special case to the DOM [07:05:00.0000] <Lachy> I think it's best to just discourage people from using xml:lang at all in XHTML, and only use lang [07:06:00.0000] <Lachy> that way, there are no DOM differences to worry about [07:09:00.0000] <hsivonen> Lachy: I agree [07:35:00.0000] <hsivonen> Lachy: Fixed. thanks [13:06:00.0000] <Hixie> /me returns from vacation and finds he has a LOT of e-mail [13:07:00.0000] <Hixie> /me goes to work to read it tall [13:07:01.0000] <othermaciej_> hello Hixie! [13:07:02.0000] <othermaciej_> welcome back [13:23:00.0000] <TabAtkins> I was wondering why Hixie wasn't being active in chat lately. Wb, Hixie. [14:10:00.0000] <danbri> /me imagines google has a server-cluster set aside for hixie's vacation inbox [14:20:00.0000] <jlebar> Hixie: ping [15:50:00.0000] <Hixie> jlebar: pong [15:50:01.0000] <Hixie> so, what's been going on while i've been away [15:50:02.0000] <Hixie> any decisions made? :-) [15:51:00.0000] <jlebar> I didn't know you were away. Welcome back! [15:51:01.0000] <jlebar> I wanted to ask about the title parameter in push/replaceState. Can we nix it? [15:53:00.0000] <Hixie> why would we nix it? [15:54:00.0000] <jlebar> Well, in the last e-mail about it, you said you wanted the title to be separate from document.title, but shown in the drop-down list of history entries (the one that shows up when you click the down button next to the forward button). But if we're creating the notion of a per-history-entry title separate from document.title, that seems orthogonal from push/replaceState. [15:56:00.0000] <jlebar> (Put another way: If I just want to change that title, does it really make sense for me to call replaceState?) 2009-11-24 [16:20:00.0000] <Hixie> jlebar: yeah, i could see an argument along those lines. Is there mail about it? [16:22:00.0000] <jlebar> Hixie: Yes, but it's hidden. :) Thread titled "AJAX History Concerns". Mail from me (justin.lebar⊙gc) on Nov 13. [16:23:00.0000] <Hixie> in that case i should get to it in due course [16:23:01.0000] <Hixie> is it urgent? [16:24:00.0000] <Hixie> i can move it up the list if it's urgent, though i'm swamped with mail right now so it'll still be a while [16:25:00.0000] <jlebar> Hixie: I think we're going to land pushstate soon, and although I've been saying that for a few months now, I finally have a few reviews done on it, so I think it might actually happen in the near future. It would be nice not to change it after we land it. [16:25:01.0000] <Hixie> ah, ok [16:26:00.0000] <Hixie> let me see, hold on [16:26:01.0000] <jlebar> I can go ahead and just take out the title parameter. We certainly don't have to have the replacement specified when we land pushstate. [16:27:00.0000] <jlebar> * by "the replacement", I mean the functionality for changing the history entry title by other means than push/replaceState. [16:31:00.0000] <Hixie> i need to start writing down my stack [16:31:01.0000] <Hixie> /me pops back down to jlebar's request [16:54:00.0000] <Hixie> jlebar: replied to your e-mail [16:56:00.0000] <jlebar> Hixie: Thanks. [17:01:00.0000] <miketaylr> brb [17:37:00.0000] <jlebar> Hixie: I just replied, but I'm going to get dinner now. [18:12:00.0000] <Hixie> http://wiki.whatwg.org/wiki/FAQ#What_are_the_various_versions_of_the_spec.3F [18:12:01.0000] <Hixie> ! [18:30:00.0000] <TabAtkins> Hixie: Are you surprised that someone put it together? [18:32:00.0000] <Hixie> no, i just did [18:32:01.0000] <Hixie> i'm just surprised as to how long it turned out [18:35:00.0000] <TabAtkins> It is pretty damned long, I must admit. [18:35:01.0000] <TabAtkins> Clearly there are many representations of that resource. ^_^ [18:36:00.0000] <Hixie> or there are many resources generated from the same source document :-P [18:37:00.0000] <Hixie> and it doesn't even include the out-of-date versions like the /TR/ page [19:24:00.0000] <jlebar> Hixie: The < in the example you just added with updating the title each second doesn't come through right. [20:35:00.0000] <Hixie> jlebar: fixed, thanks [00:26:00.0000] <hsivonen> gsnedders: what's the situation with the html5lib test suite and the state of the spec? are the tests up-to-date? [00:32:00.0000] <hsivonen> http://html5.org/tools/web-apps-tracker times out for me [00:33:00.0000] <hsivonen> is Dreamhost dreaming againg? [00:34:00.0000] <hsivonen> awesome. dreamhoststatus.com doesn't load in a reasonable time, either. [00:34:01.0000] <hsivonen> http://twitter.com/dhstatus/status/6002999309 [01:07:00.0000] <jgraham> hsivonen: AFAIK gsnedders went and changed html5lib to match current spec so the tests should be up to date [01:08:00.0000] <jgraham> No promises and certainly no suggestion that all the intersting changed cases are covered [01:09:00.0000] <hsivonen> jgraham: ok. thanks [01:43:00.0000] <gsnedders> hsivonen: It's also quite likely that I missed some bits of the spec that had changed [01:47:00.0000] <gsnedders> Is it just me or is hixie.ch down? [01:47:01.0000] <gsnedders> Oh, DH network failure. Great. [01:48:00.0000] <hsivonen> gsnedders: ok. thanks [02:34:00.0000] <Hixie> dreamhost is back up for people who were complaining [02:35:00.0000] <hsivonen> great [02:35:01.0000] <hsivonen> doesn't look like it [02:35:02.0000] <hsivonen> html5.org and whatwg.org don't respond [02:36:00.0000] <Hixie> the network is back up [02:36:01.0000] <Philip`> What about for people who weren't complaining? [02:36:02.0000] <Hixie> the machines seem to be overloaded [02:36:03.0000] <Hixie> but they respond to ping [02:36:04.0000] <Hixie> and can be sshed into [02:36:05.0000] <Hixie> Philip`: i wasn't telling those people :-) [02:37:00.0000] <Hixie> hm, ssh broke [02:37:01.0000] <Hixie> still responding to pings though [02:45:00.0000] <Hixie> http seems to be back [02:49:00.0000] <Philip`> Hixie: In case you don't read it in IRC logs: SVN is inaccessible, and http://svn.whatwg.org/ gives a "Forbidden" error [02:49:01.0000] <Hixie> yeah, already reported it to them [02:49:02.0000] <Hixie> no idea why [02:49:03.0000] <Hixie> i created another repo and that one works fine [02:53:00.0000] <jgraham> /me wonders if dreamhost were imagining the kind of dream where you are being chased by monsters inexplicably wearing your pyjamas when they chose their name [02:54:00.0000] <Lachy> jgraham, they would have called themselves Nightmarehost if that was the case. [06:14:00.0000] <hsivonen> has <body> in 'after head' always set frameset-ok to 'not ok'? [06:16:00.0000] <annevk2> Hixie, you should look into fixing http://svn.whatwg.org/ [06:16:01.0000] <annevk2> Hixie, if you're back and all [06:16:02.0000] <annevk2> Hixie, hmm, guess you're asleep now [06:20:00.0000] <Philip`> annevk2: He said he'd contacted Dreamhost about it already [06:21:00.0000] <annevk2> coolio [07:40:00.0000] <Lachy> I need to decide whether or not to incorporate any of these tests into the selectors api test suite, which is now mostly complete http://www.hixie.ch/tests/adhoc/dom/selectors/001.html [07:40:01.0000] <Lachy> the only tests that are failing are in WebKit, which has a strange NodeList implementation [07:41:00.0000] <Lachy> nodelist.elementid returns an element in the list with that ID, if it exists. (see tests 011 and 082) [07:42:00.0000] <Lachy> I'm not sure why it does that, but the NodeList behaviour doesn't really seem to be in scope of selectors api [07:42:01.0000] <Lachy> (beyond the list being static, rather than live) [07:48:00.0000] <Philip`> It seems "in scope" in the sense that it is a bug which could be encountered by an author who is using the Selectors API [07:48:01.0000] <Philip`> and so it's directly beneficial to the Selectors API if the bug is identified and fixed [11:00:00.0000] <hsivonen> Is there a way to track the Google Desktop integration story? (the HTML5 parser currently breaks an API that was introduced for Google Desktop) [11:04:00.0000] <hsivonen> oops wrong window 2009-11-25 [16:03:00.0000] <ezyang> How painful is it to change all refs on google code from one email address to another? [16:03:01.0000] <ezyang> I want to ditch my old google code account, but my html5lib bits are still on it [17:13:00.0000] <karlcow> /me wonders what is happening with David Storey [17:13:01.0000] <karlcow> http://twitter.com/dstorey/status/6035181550 [17:13:02.0000] <karlcow> >I'm announcing now I'm leaving Opera. They like to be the good gu nut that is 100% bull shit. [17:27:00.0000] <roc> perhaps someone hacked his account [17:28:00.0000] <karlcow> roc: that could be a possibility indeed. [17:45:00.0000] <Hixie> othermaciej: is there a list of pending deadlines for change proposals? [17:45:01.0000] <othermaciej> Hixie: I'm working on one and will post it by tomorrow - all current due dates are either Dec 3 or Dec 17 I believe [17:46:00.0000] <othermaciej> Hixie: specifically I think Dec 3 might be the date for counter-proposals for the "split Microdata" issue [17:49:00.0000] <Hixie> k [17:49:01.0000] <Hixie> i'm drowning in e-mail from my vacation, so i was worried about missing something [17:55:00.0000] <othermaciej> there was quite a bit of public-html email recently [18:00:00.0000] <Hixie> i noticed [18:00:01.0000] <Hixie> bbiab [18:08:00.0000] <TabAtkins> othermaciej: That list would be awesome - I was asking around for one a day or two ago, because I wanted to write some counterproposals. [18:11:00.0000] <othermaciej> all right, let me see if I can throw one together quickly [19:47:00.0000] <othermaciej> Hixie: are you around? [19:47:01.0000] <Hixie> yup [19:48:00.0000] <Hixie> othermaciej: what's up? [19:49:00.0000] <othermaciej> Hixie: is this sufficiently detailed and informative to be a Change Proposal, in your opinion: http://lists.w3.org/Archives/Public/public-html/2009Nov/0153.html [19:49:01.0000] <othermaciej> I assume it is intended to be for ISSU-56 urls-webarch [19:49:02.0000] <Hixie> i think a change proposal is unnecessary for that topic, since the editor hasn't rejected anything yet as far as i'm aware [19:50:00.0000] <Hixie> in fact quite the opposite [19:51:00.0000] <othermaciej> I didn't think so either (though technically we do have an ISSUE, but it seems like one we could resolve it by amicable resolution assuming you now have what's needed) [19:52:00.0000] <Hixie> i don't yet have what's needed; the change proposal's first sentence is "assuming those requirements are met", which they aren't yet [19:52:01.0000] <Hixie> so the change proposal similarly isn't ready to be considered yet [19:52:02.0000] <Hixie> i don't think there's anything controversial here [19:53:00.0000] <othermaciej> if the requirements are not met, could you reply with specifics? [19:53:01.0000] <othermaciej> I'm looking at this because I'm trying to complete the issue status page [19:53:02.0000] <Hixie> the iri working group doesn't exist yet [19:53:03.0000] <Hixie> the requirements are to be met by the iri working group [19:54:00.0000] <Hixie> i'm sure larry and i will work together over the coming months to address the issues [19:54:01.0000] <othermaciej> ok [19:54:02.0000] <Hixie> i don't think anything process-related needs to be invoked yet [19:54:03.0000] <othermaciej> I'm a little confused about what Larry intended with his proposal [19:55:00.0000] <Hixie> i dunno [19:56:00.0000] <othermaciej> since I'm making the list, I don't want to just drop that one on the floor [19:57:00.0000] <othermaciej> I'm not sure if he's asking to reference algorithms that are not yet defined in an IRIBIS draft, if he thinks everything needed is defined already, or if this proposal is intended to be considered once the relevant IETF WG forms and the draft is in a suitable state [19:58:00.0000] <Hixie> the latter, i think, given the first sentence [19:58:01.0000] <othermaciej> you mean the last of my options? [19:58:02.0000] <Hixie> yeah [20:02:00.0000] <othermaciej> wow, the draft charter calls for WG LC by January 2010 [20:04:00.0000] <Hixie> IRI? [20:04:01.0000] <Hixie> the htmlwg charter calls for WG LC by June 2008, so I don't know that charters mean much [20:05:00.0000] <othermaciej> so, I have a table giving status and next applicable deadline for issues going through the Change Proposal process [20:06:00.0000] <othermaciej> trying to figure out where to post it [20:06:01.0000] <othermaciej> I'm not sure if the HTML WG wiki is sufficiently flexible about formatting [20:06:02.0000] <Hixie> doesn't it have an html mode? [20:09:00.0000] <othermaciej> the wiki's table support does headers as a <td><p><strong>... instead of a <th> [20:11:00.0000] <Hixie> nice [20:12:00.0000] <othermaciej> I guess I'll just check it into cvs [20:19:00.0000] <othermaciej> Hixie, TabAtkins: http://dev.w3.org/html5/status/issue-status.html [20:24:00.0000] <othermaciej> Hixie: does that contain all the info about deadlines and such that you need? [20:25:00.0000] <Hixie> it would be ideal for my purposes if it was sorted by deadline, but yes, that's awesome [20:25:01.0000] <othermaciej> I left out the ISSUE-56 thing for now but I may add it depending on Larry's response [20:26:00.0000] <Hixie> (td, th { vertical-align: top; } would be nice also) [20:27:00.0000] <othermaciej> oh, I forgot issue-7 [20:27:01.0000] <othermaciej> I'll add that style change too [20:35:00.0000] <Hixie> /me is tempted to just say yes to bugs 8365 and 8368 and see what happens [20:41:00.0000] <othermaciej> removing section 6 would break the spec pretty bad [20:43:00.0000] <othermaciej> section 8 could probably be removed or split without undue hassle, but it is one of the few HTML5 features implemented by all the browsers [20:43:01.0000] <Hixie> i'm tired of people filing bugs that are fantastically bad ideas (like those two) [20:43:02.0000] <othermaciej> (or at least the postMessage part is if I recall correctly) [20:44:00.0000] <Hixie> and then being bitched at when i say "no" [20:44:01.0000] <Hixie> so i think i might just say "yes" and be bitched at for that instead [20:44:02.0000] <Hixie> if those bugs are still open by the time i get to them [20:45:00.0000] <Hixie> it would be a nice change [20:45:01.0000] <othermaciej> has anyone complained about a bug resolution lately (other than to escalate to the tracker)? [20:46:00.0000] <Hixie> i havne't done anything lately [20:46:01.0000] <Hixie> so no [20:46:02.0000] <othermaciej> I assume Shelley filed these so she could make an ISSUE of them [20:46:03.0000] <othermaciej> the last instance I recall of someone getting upset over a negative resolution was a summary-related bug where John Foliot was unhappy [20:47:00.0000] <othermaciej> that was in September, before the official bureaucratic process [20:59:00.0000] <Hixie> /me stares at 136 e-mails on xml in html and sighs [20:59:01.0000] <Hixie> do i have to read this all [21:16:00.0000] <GPHemsley> Hixie: Was that a rhetorical question? [21:20:00.0000] <GPHemsley> Hixie: Because, if not, I'll say no. Just to see what happens. ;) [21:51:00.0000] <Hixie> i read it after all [21:54:00.0000] <TabAtkins> I knew you would. [21:54:01.0000] <TabAtkins> Unrelated: how was your vacation? [22:01:00.0000] <Hixie> relaxing. [22:01:01.0000] <Hixie> i wrote the beginnings of a MUD using WebSockets [22:07:00.0000] <TabAtkins> Interesting. [00:45:00.0000] <Philip`> /me wonders if it is safe to prophesy that the bugs about removing sections from the spec will be closed as WONTFIX and then escalated as issues and then the whole discussion can start all over again on the mailing list for a month and then start again when there's a vote and then it will be rejected [00:49:00.0000] <hsivonen> Philip`: maybe. and the Process will have cost a lot in terms of time of the employees and contractors of W3C Member companies. [00:52:00.0000] <hsivonen> othermaciej: thanks for fixing the Change Proposal timetable [00:52:01.0000] <othermaciej> hsivonen: thanks for pointing out the bug [00:54:00.0000] <hsivonen> Hixie: why does the 'table scope' algorithm name 'html in the HTML namespace' specifically? [00:55:00.0000] <Hixie> no idea [00:55:01.0000] <hsivonen> hmm. I see the spec has qualified the 'in scope' algorithms with "in the HTML namespace" [00:55:02.0000] <hsivonen> I wonder if that's a necessary qualification [00:56:00.0000] <hsivonen> hmm. maybe it is, because the MathML HTML containers aren't scoping [00:56:01.0000] <hsivonen> like foreignObject [00:56:02.0000] <hsivonen> sigh [00:57:00.0000] <hsivonen> Hixie: is it by design, that the 'in scope' algorithms aren't sensitive to the local names in the MathML or SVG namespaces for legacy content magic? [00:57:01.0000] <Hixie> no idea [00:58:00.0000] <Hixie> i have paged that algorithm to long term memory at the moment [00:58:01.0000] <hsivonen> /me wonders if the interesting local names break out of foreign lands anyway [00:58:02.0000] <hsivonen> maybe I should make a note to check if the namespace check can be optimized away [02:22:00.0000] <hsivonen> sigh. krijnh missed the interesting data [02:23:00.0000] <othermaciej> he needs a better connection! [02:23:01.0000] <othermaciej> want me to repaste it? [02:24:00.0000] <jgraham> http://dev.opera.com/articles/view/mama-phrase-block-list/ suggests <spacer> is more popular than <blink> [02:25:00.0000] <hsivonen> othermaciej: I can rephrase for my bug reports, so no need to repaste [02:25:01.0000] <othermaciej> as long as there's a permanent record [02:26:00.0000] <hsivonen> jgraham: is that counting tags or pages? [02:27:00.0000] <hsivonen> hmm. WBR is more rare than SPACER according to MAMA [02:31:00.0000] <hsivonen> looks like Adobe GoLive 4 has generated <spacer> elements [02:32:00.0000] <jgraham> hsivonen: Not sure [02:32:01.0000] <jgraham> I think tags [02:34:00.0000] <jgraham> Actually given the most popular elements are all roughly as frequent as pages it must be pages [02:34:01.0000] <jgraham> s/as/as there are/ [02:35:00.0000] <webben> hsivonen: you've probably already seen this, but in case you haven't, more grist for the dtds-as-single-point-of-failure mill at http://support.microsoft.com/kb/973687 [02:36:00.0000] <hsivonen> webben: I hadn't seen that one. thanks [02:39:00.0000] <MikeSmith> hsivonen: see final comment at http://bugzilla.validator.nu/show_bug.cgi?id=640#c7 [02:40:00.0000] <hsivonen> MikeSmith: doesn't 'redundant' mean that the language was previously registered but the same string can be derived from the new registration system by other means? [02:40:01.0000] <MikeSmith> yeah, that is what it means, afaik [02:41:00.0000] <MikeSmith> but there are some cases in the registry where those redundant entries are also marked as deprecated [02:41:01.0000] <MikeSmith> so even though they are derived tags, I guess what they are saying is, don't use them [02:42:00.0000] <hsivonen> ah ok [02:42:01.0000] <hsivonen> I filed https://bugzilla.mozilla.org/show_bug.cgi?id=531030 [02:42:02.0000] <hsivonen> I'll file a spec bug if it gets WONTFIXed [02:42:03.0000] <hsivonen> afk [02:43:00.0000] <MikeSmith> /me hopes that now these changes are committed, he will not have to spend any time studying the IANA language tag registry again for a long. long time [02:58:00.0000] <Philip`> othermaciej: The page with the list of pages is two years old, so the pages probably changed [02:58:01.0000] <Philip`> The newer data seems to indicate a similar percentage usage [03:31:00.0000] <hsivonen> Hixie: wouldn't it be a safe bet to parse <spacer> as a void element even if non-Gecko browsers didn't support it in layout [03:32:00.0000] <hsivonen> Hixie: after all, the rendering section is optional but the parsing section is mandatory [03:51:00.0000] <gsnedders> Is there any reason why outerHTML isn't on Node? [03:51:01.0000] <gsnedders> Well, I guess it doesn't make sense on Document and DocumentFragment [03:51:02.0000] <gsnedders> and innerHTML doesn't make sense on comment/ProcessingInstruction/DocumentType [03:54:00.0000] <smaug_> or on Attr node :) [03:55:00.0000] <jgraham> Attr node doesn't make much sense :) [03:58:00.0000] <Dashiva> outerHTML: Element, innerHTML: Element, Document, DocumentFragment? [03:58:01.0000] <hsivonen> is the 'table text' insertion mode there only because Hixie didn't want to spec an explicit accumulation buffer for all insertion modes? [03:59:00.0000] <jgraham> hsivonen: Yes [03:59:01.0000] <hsivonen> jgraham: thanks. I think I'll leave it out [03:59:02.0000] <hsivonen> unless I later find I need it for SAX correctness or something [04:03:00.0000] <hsivonen> Hixie: why doesn't 'form' in 'in table' inspect the form pointer (and ignore the token if the form pointer is non-null)? [04:04:00.0000] <hsivonen> Hixie: and why doesn't 'form' in 'in table' set the form pointer? [04:28:00.0000] <gsnedders> /me is now mixing up Python and Javascript when he tries to write Python. Gah. [04:30:00.0000] <Philip`> They're similar enough that that should cause less problems than mixing up many other pairs of languages [04:32:00.0000] <Dashiva> I mix in Japanese when I try to speak German [04:58:00.0000] <gsnedders> Hixie: I've been told to tell you. [05:03:00.0000] <payman> gsnedders: I assumed u would try to find out _what_ to tell Hixie! [05:07:00.0000] <gsnedders> payman: I thought you could just tell him yourself though :P [05:10:00.0000] <payman> gsnedders: You didn't, otherwise you wouldn't ping him at all. [05:11:00.0000] <gsnedders> Philip`: Until you hit things like foo = { a: b }, which has very different meanings [05:12:00.0000] <jgraham> Not that different [05:12:01.0000] <gsnedders> Different enough to cause errors in Python [05:12:02.0000] <Philip`> Just use foo = { "a": b } everywhere [05:15:00.0000] <Philip`> I quite like how Perl uses the => operator to automatically quote the word on its left [05:15:01.0000] <gsnedders> eww, Perl [05:15:02.0000] <Philip`> so { a => $b } is equivalent to { 'a', $b } [05:15:03.0000] <Philip`> and (pack LL => 123, 456) is equivalent to (pack 'LL', 123, 456) etc [05:16:00.0000] <jgraham> This must be some new meaning of the word "like" that I don't understand [05:17:00.0000] <Philip`> It seems better than the autoquotiness being dependent on further-removed syntax like whether you're inside a {...} declaration [05:17:01.0000] <Philip`> and better than it being indistinguishable from a block of code containing a label and an expression [05:18:00.0000] <jgraham> What's wrong with just putting in quote characters? [05:20:00.0000] <Philip`> Putting in quote characters is a fine alternative [05:20:01.0000] <Philip`> TIMTOWTDI [05:21:00.0000] <jgraham> (BSOTAUCAHTR) [05:21:01.0000] <jgraham> (But Several Of Those Are Unnecessarilly Confusing And Hard To Read) [06:03:00.0000] <webben> hsivonen: http://code.google.com/p/google-web-toolkit/issues/detail?id=2069 claims to be FIXED - is the compiled JS mentioned at http://blog.whatwg.org/html5-live-dom-viewer now hosted online somewhere? [06:05:00.0000] <hsivonen> webben: http://livedom.validator.nu/ [06:08:00.0000] <webben> hsivonen: ta [06:22:00.0000] <gsnedders> Anyone know of a good Java tutorial? [06:24:00.0000] <zcorpan> http://lmgtfy.com/?q=good+Java+tutorial [06:25:00.0000] <murr4y> the official sun one, tbh [06:25:01.0000] <gsnedders> /me notes Google isn't a very recommendation engine [06:26:00.0000] <gsnedders> /me could Google, "Good music", and hate all of it [06:26:01.0000] <zcorpan> google sucks [06:26:02.0000] <gsnedders> Yeah, Bing ftw! [06:27:00.0000] <hsivonen> "good Foo tutorial" is a hard question, because people who'd be competent to review if a tutorial on Foo is bogus have been doing Foo long enough not to read tutorials [06:27:01.0000] <zcorpan> bing actually has sun's java tutorial at #1 [06:27:02.0000] <jgraham> http://letmebingthatforyou.com/?predicate=good%20java%20tutorial [06:27:03.0000] <Philip`> I had "Teach Yourself Java in 21 Days", but I can't recommend it since it took about five years before I learnt Java [06:28:00.0000] <hsivonen> Philip`: I had roughly the same experience [06:28:01.0000] <jgraham> So it was wrong by a factor of almost 90 [06:28:02.0000] <jgraham> Impressive [06:29:00.0000] <gsnedders> I wonder who did the QA on the book [06:29:01.0000] <gsnedders> I guess the problem is you need a new QA for which draft, as they know Java by the end of it... hopefully. [06:29:02.0000] <hsivonen> speaking of books and QA, Zeldman did ask for reviews: http://www.zeldman.com/2009/11/23/reviewers-needed/ [06:29:03.0000] <zcorpan> Philip` wouldn't have bought it at all and thus never learned java if it said "Teach Yourself Java in 38325 Days" [06:30:00.0000] <Philip`> I think the book started with a Hello World applet which seemed to require far too much code and too many tools, so I went back to QuickBASIC [06:30:01.0000] <Philip`> hsivonen: Amazon reviews, not technical reviews [06:31:00.0000] <zcorpan> s/38325/1825/ [06:32:00.0000] <hsivonen> http://norvig.com/21-days.html [06:32:01.0000] <jgraham> The intent of the two seems quite different... [06:32:02.0000] <Philip`> (It's easier to get started if you don't do applets, because then the only inexplicable magic is the "public static void main(String[] args)" bit which you can safely ignore for a few weeks) [06:33:00.0000] <hsivonen> the mistake *everything* about early Java did (books included) was talking about applets [06:35:00.0000] <Philip`> zcorpan: You're forgetting leap years [06:35:01.0000] <zcorpan> Philip`: yeah, i know [06:35:02.0000] <Philip`> Also, it might have been seven years [06:41:00.0000] <hsivonen> speaking of Learn X in y amount of time, I just got spam advertising learning Chinese in 16 minutes and Spanish in 6 minutes. [06:42:00.0000] <jgraham> heh [06:45:00.0000] <gsnedders> They blatantly think you have leet langauge skillz [07:06:00.0000] <hsivonen> Hixie: Why is there "Script data end tag open state"? Wouldn't it be equivalent to go directly to "Script data end tag name state"? [07:07:00.0000] <hsivonen> (and moving the buffer creation and token creation one step backwards) [07:09:00.0000] <hsivonen> Hixie: the state naming is inconsistent with "close tag" and "end tag" [07:09:01.0000] <hsivonen> the new script state machine sure has states... [07:12:00.0000] <gsnedders> It was great fun to implement. [07:16:00.0000] <zcorpan> it's worse than doctypes [07:27:00.0000] <hsivonen> I hope the zapping of the comment-like escapes from noframes, noscript and iframe is ok... [07:28:00.0000] <karlcow> I'm curious to know how henri defines "on the Web" in the comment http://www.w3.org/Bugs/Public/show_bug.cgi?id=8365#c15 [07:28:01.0000] <karlcow> Does that mean going through HTTP? [07:28:02.0000] <zcorpan> hsivonen: i researched that (sent to list), only style is a bit problematic but i couldn't find a way to make style less problematic [07:29:00.0000] <Philip`> Wow, someone fixed lists.w3.org so previous/next message links into different date ranges work [07:29:01.0000] <danbri> :) at last [07:29:02.0000] <Dashiva> Now they just have to fix rel=next [07:30:00.0000] <zcorpan> hsivonen: see http://www.w3.org/mid/op.u2crntvwidj3kv⊙sl (and followups) [07:31:00.0000] <karlcow> epub used on the Web - http://www.epubbooks.com/blog/20080718/bookworm-reader-for-epub-books/ [07:31:01.0000] <hsivonen> zcorpan: thanks [07:31:02.0000] <karlcow> another interesting (hack) usage of HTML5 video in epub http://blog.threepress.org/2009/11/15/using-html5-video-in-epub/ [07:32:00.0000] <hsivonen> karlcow: browsable from any Internet host using an unextended Web browser [07:32:01.0000] <zcorpan> hsivonen: apparently the encoding issue was with Philip`'s decoder and not with v.nu's sniffer [07:32:02.0000] <hsivonen> karlcow: where a Web browser is a piece of software suitable for browsing the Web [07:33:00.0000] <hsivonen> karlcow: or you know it's a Web browser when you see one :-) [07:33:01.0000] <karlcow> that would include ftp :) [07:34:00.0000] <hsivonen> karlcow: if SPDY is adopted, would SPDY-enabled sites be on the Web? [07:34:01.0000] <karlcow> no idea according to your Web definition which is not testable. [07:35:00.0000] <hsivonen> karlcow: it's a circular definition [07:35:01.0000] <hsivonen> this has been discussed before [07:35:02.0000] <karlcow> CQFD [07:37:00.0000] <hsivonen> karlcow: anyway, the notion that a section needs to be split out because allegedly some use of HTML doesn't need the section is bogus [07:37:01.0000] <Philip`> Can we remove accessibility since graphical UAs don't need most of it? [07:39:00.0000] <karlcow> maybe an exit strategy of this issue is to rephrase the section in a way which makes it independent of "browser". It would be possible for example to call it "HTML User agent" or something similar [07:39:01.0000] <zcorpan> Philip`: why would graphical UAs not need accessibility? [07:40:00.0000] <hsivonen> karlcow: trying to define the Web is like trying to define obscenity [07:40:01.0000] <karlcow> /me has a joke wrt this last sentence of hsivonen but will abstain [07:40:02.0000] <hsivonen> karlcow: but when an off-line file is loaded to a non-browser ebook reader app, you know it's not a Web use [07:41:00.0000] <karlcow> too many negatives in that sentence [07:42:00.0000] <zcorpan> when an online file is loaded to a browser app, you know it's a Web use [07:42:01.0000] <hsivonen> karlcow: anyway, the whole ePub thing is a red herring, because even if ePub were in charter scope, it doesn't follow that we should split out stuff that ePub allegedly doesn't need [07:43:00.0000] <Philip`> zcorpan: (I mean a graphical UA with a user who just looks at the screen, and doesn't use any tools that can make use of ARIA and doesn't right-click to see longdesc and doesn't disable images to see alt text etc) [07:43:01.0000] <Philip`> Is there a list of non-streamable HTML errors somewhere? [07:43:02.0000] <karlcow> /me wonders if hsivonen is then the big wolf jumping of red herrings :) [07:43:03.0000] <hsivonen> Philip`: There's a public-html email of mine [07:43:04.0000] <karlcow> /me is trying to imagine hsivonen with a costume [07:44:00.0000] <Philip`> /me is trying to imagine karlcow making sense :-p [07:45:00.0000] <karlcow> Philip`: it is what you get when you discuss with poets or dreamers! [07:45:01.0000] <karlcow> we need more mythology in HTML 5 WG. [07:45:02.0000] <karlcow> wait maybe we do ;) [07:46:00.0000] <zcorpan> Philip`: isn't it just attributes on stray <html>, attributes on stray <body>, stuff between </head> and <body> that should be moved to head, some cases for aaa, foster parent, and stuff after </body> and </html>? [07:47:00.0000] <karlcow> /me thought about little red hood when reading red herring [07:47:01.0000] <shelleyp> Philip: Graphical UAs do "need" accessibility, as a way of providing alternative content for visual impaired [07:48:00.0000] <timz> Can anybody tell me if there is any particular reason why the blank Nodes of triples generated by this parser http://james.html5.org/microdata/ begin with 54 ? as in _:vmrahSFh54. and not for example _:vmrahSFh1. and then _:vmrahSFh2. [07:50:00.0000] <shelleyp> exit [07:50:01.0000] <shelleyp> Sorry, wrong command in wrong place [07:51:00.0000] <Philip`> timz: The names are meaningless and just an implementation detail of the RDF serialiser it uses [07:51:01.0000] <jgraham> timz: The triples are generated by some python rdf library [07:51:02.0000] <timz> Ok thanks [07:51:03.0000] <jgraham> (well the serializations are, the actual content is my fault) [07:52:00.0000] <jgraham> (and I think the content is buggy so don't depend on it for anything remotely important) [07:52:01.0000] <jgraham> (but do report bugs when you find them) [07:53:00.0000] <timz> jgraham: the triples or the html content ? [07:53:01.0000] <jgraham> The triples [07:53:02.0000] <timz> okay [07:53:03.0000] <hsivonen> /me notes that the WG name doesn't have a number [07:53:04.0000] <jgraham> As in I think the microdata -> RDF conversion is broken [07:54:00.0000] <hsivonen> HTML WG (no number) and XHTML2 WG (with number) [07:54:01.0000] <jgraham> The microdata -> JSON is more likely to be right but is also probably broekn [07:54:02.0000] <timz> wel bugs, the ntriple parser doesn't handle item as property value very well [07:54:03.0000] <timz> euh n3 [07:54:04.0000] <timz> i mean [07:54:05.0000] <Philip`> zcorpan: I'm happy to assume it's just that, since I can't think of any others and can't find hsivonen's email [07:55:00.0000] <Philip`> hsivonen: And the XHTML2 WG's output has largely been updates to XHTML1 [07:56:00.0000] <hsivonen> Philip`: http://lists.w3.org/Archives/Public/public-html/2009May/0582.html [08:03:00.0000] <Philip`> hsivonen: Aha, thanks [08:03:01.0000] <karlcow> [11:01] <hsivonen> HTML WG (no number) and XHTML2 WG (with number) [08:03:02.0000] <karlcow> short memory [08:03:03.0000] <karlcow> xhtml2 wg was html wg. [08:04:00.0000] <karlcow> in the reorganization, renaming, etc scenario [08:04:01.0000] <karlcow> The naming has been part of the things falling into the cracks I guess. [08:33:00.0000] <Dashiva> http://support.microsoft.com/kb/973687 [08:35:00.0000] <Philip`> Dashiva: Old news [08:35:01.0000] <Philip`> http://krijnhoetmer.nl/irc-logs/whatwg/20091125#l-282 [08:37:00.0000] <Dashiva> :( [08:39:00.0000] <Philip`> Old news is better than no news, so don't be sad [08:39:01.0000] <Dashiva> I'm sad because I missed the first posting [10:41:00.0000] <zcorpan_> i hope microsoft have flipped the whitespace switch in MSXML in IE before shipping xhtml support [10:47:00.0000] <Philip`> zcorpan_: Better write some test cases for them to make sure they get it right [10:50:00.0000] <zcorpan_> Philip`: feel free to add a tc to https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=489112 [11:02:00.0000] <saikatc> hey guys, i'm using pisa html to pdf converter, which i believe uses html5lib under the hood, and I'm noticing that images in my html are not being converted properly. these images are using data uris whose source point to base64 encoded pngs. is it possible that html5lib doesn't support this, or does it seem like i should be looking elsewhere for the cause of this problem? [11:03:00.0000] <saikatc> by not converted properly, i mean, aren't showing up at all =) [11:03:01.0000] <gsnedders> elsewhere [11:03:02.0000] <gsnedders> html5lib does nothing but create a tree [11:04:00.0000] <saikatc> i see, thanks [12:29:00.0000] <othermaciej> Hixie: ayt? [14:08:00.0000] <Huvet> Hi again! I just ran 295 swedish news sites through html5lib, and here are the stats: 3 Bug 126, 2 Bug 128 [14:10:00.0000] <Huvet> if I just catch AttributeError and ValueError, all of them pass :) [14:12:00.0000] <jgraham> Huvet: Great [14:12:01.0000] <jgraham> I gues I can glance at the bugs now, but it is really time to sleep [14:12:02.0000] <Huvet> yep, that's a far better track record than all others I've tried [14:13:00.0000] <jgraham> /me is pretty disappointed we fail so often [14:14:00.0000] <Huvet> bah, you're the best :) [14:14:01.0000] <Huvet> but I wouldn't mind you passing them all ;) [14:46:00.0000] <jgraham> Huvet: I think I have fixes for both those bugs. Just need to make a testcase for 126 [14:56:00.0000] <jgraham> Huvet: changes pushed 2009-11-26 [16:48:00.0000] <KevinMarks> any ideas on when <audio> will work on android browser? [23:21:00.0000] <Huvet> nice jgraham [23:21:01.0000] <Huvet> I'll check them out now [23:31:00.0000] <Huvet> jgraham: perfect, all sites parsed fine except one, which which got a bug 129 encoding error on windows quotes [23:31:01.0000] <Huvet> you rock, I consider 126 and 128 solved [23:33:00.0000] <Huvet> *goes to work, while smiling* [23:58:00.0000] <hsivonen> has anyone tested how the form pointer should behave when the parent of the <form> is a foster-parenting element? [23:59:00.0000] <hsivonen> that is, does http://www.w3.org/Bugs/Public/show_bug.cgi?id=8373 make sense? [00:49:00.0000] <MikeSmith> hsivonen: about http://bugzilla.validator.nu/show_bug.cgi?id=674 [00:51:00.0000] <MikeSmith> Simon is basically suggesting that in cases of bad values for attributes that would be obsolete-but-conforming if they had different values, that we also report the same warning that we report if they were obsolete-but-conforming [00:52:00.0000] <MikeSmith> e.g., for img/@border=0, we warn, "The border attribute is obsolete, consider [doing CSS way instead]" [00:52:01.0000] <hsivonen> MikeSmith: so the same message but as an error? [00:52:02.0000] <MikeSmith> hsivonen: I was thinking both the error and the warning [00:52:03.0000] <MikeSmith> two messages for those cases [00:53:00.0000] <MikeSmith> e.g., for img/@border=1, emit the same error as currently [00:53:01.0000] <hsivonen> I guess that works too [00:53:02.0000] <hsivonen> easier to implement for sure [00:53:03.0000] <MikeSmith> yep [00:53:04.0000] <MikeSmith> so OK to make that change? [00:53:05.0000] <hsivonen> yeah, makes sense [00:53:06.0000] <MikeSmith> OK [00:53:07.0000] <MikeSmith> thanks [01:27:00.0000] <hsivonen> aargh. there are new doctype states, too [01:38:00.0000] <MikeSmith> hsivonen: I just checked in the change for bug 674. But note that if you do, e.g. <script language=vbscript>, it'll now give you two errors (not an error and a warning) [01:38:01.0000] <MikeSmith> if you check at http://qa-dev.w3.org:8888/ [01:39:00.0000] <MikeSmith> we could eliminate one error if I change the datatype of @language in the RNC schema to allow any string [01:40:00.0000] <MikeSmith> which I know will degrade the accuracy of validation for anybody who might use the schema standalone [01:40:01.0000] <hsivonen> MikeSmith: in that case, it should probably be a magic include like legacy.rnc [01:40:02.0000] <MikeSmith> OK [01:41:00.0000] <MikeSmith> I realize now I also need to port these changes over the assertions.sch and warnings.sch files [01:41:01.0000] <MikeSmith> anyway, I gotta go now [01:41:02.0000] <MikeSmith> back on later [04:16:00.0000] <Hixie> ok going offline for 4 days (long weekend) [04:16:01.0000] <Hixie> back monday [04:17:00.0000] <hsivonen> Hixie: have a good weekend [04:20:00.0000] <annevk2> bye bye [04:20:01.0000] <pesla> afaik the weekend itself doesn't extend [04:22:00.0000] <virtuelv> annevk2: you're coming to oslo soon? [04:23:00.0000] <annevk2> virtuelv, Dec 1-5 [04:25:00.0000] <hsivonen> /me wonders what kind of timers WebKit has for deferring page rendering just enough not to reflow on typical Wikipedia pages during load [04:27:00.0000] <annevk2> virtuelv, just a short visit because there are some other activities going on here and I've been traveling quite a bit lately [04:29:00.0000] <virtuelv> yeah, but you'll be around for x-mas party [04:30:00.0000] <annevk2> yup [04:36:00.0000] <hsivonen> /me wonders if J. Random Web Author knows what ISAM is [04:37:00.0000] <hsivonen> (I had to look it up on Wikipedia) [04:39:00.0000] <Dashiva> hsivonen: It has something or other to do with MySQL's default storage engine? :) [04:39:01.0000] <annevk2> what is ISAM? [04:40:00.0000] <hsivonen> Dashiva: I don't know. It's what Nikunj is suggesting as the name of his non-SQL draft [04:40:01.0000] <hsivonen> annevk2: http://en.wikipedia.org/wiki/ISAM :-) [04:41:00.0000] <annevk2> thanks, sorry for asking :) [04:46:00.0000] <MikeSmith> I had to look it up too [04:46:01.0000] <MikeSmith> not that I know much about database technologies anyway [04:57:00.0000] <MikeSmith> hsivonen: about the script language attribute, the Assertions.java and ConformingButObsoleteWarner.java code now correctly handle all case of it on their own -- the assertions part generating an "The language attribute is obsolete" error if it's anything but "javascript", and the warnings part generating a "The language attribute is obsolete warning" if that value is "javascript" [04:58:00.0000] <hsivonen> MikeSmith: ok. [04:58:01.0000] <MikeSmith> all right [04:59:00.0000] <MikeSmith> I will check in that change, and after that I think you should be OK to redeploy if/when you have time [04:59:01.0000] <hsivonen> I intend to redeploy V.nu when I'm done with parser changes [05:01:00.0000] <MikeSmith> hsivonen: OK [05:02:00.0000] <hsivonen> tweaking the tokenizer is taking longer than I expected [05:02:01.0000] <Philip`> I assume ISAM is like MyISAM except it's not mine [05:02:02.0000] <MikeSmith> hsivonen: yeah, I saw your note about the doctype states [05:02:03.0000] <Philip`> (and MyISAM is the MySQL storage engine that doesn't bother supporting database features, i.e. not the InnoDB one) [05:04:00.0000] <hsivonen> the bad thing about this pseudo-Literate Programming is that a tokenizer state doesn't fit on the screen [05:07:00.0000] <Philip`> if (attributes == HtmlAttributes.EMPTY_ATTRIBUTES) { [05:07:01.0000] <Philip`> // This has the right magic side effect [05:07:02.0000] <Philip`> // that [05:07:03.0000] <Philip`> // it [05:07:04.0000] <Philip`> // makes attributes in SAX Tree mutable. [05:07:05.0000] <Philip`> It looks like poetry to me [05:08:00.0000] <Philip`> (though maybe that's only because my knowledge of poetry is limited to recognising it based on funny line lengths) [05:10:00.0000] <MikeSmith> heh [05:11:00.0000] <MikeSmith> haiku [05:11:01.0000] <hsivonen> Eclipse can turn mere comments into poetry! [05:12:00.0000] <jgraham> /me wonders if anything that is not literate programming is illiterate programming [05:19:00.0000] <Philip`> http://thedailywtf.com/Articles/Who_is_Gregor_Samsa_0x3f_.aspx - literate programming [05:33:00.0000] <annevk2> http://www.betanews.com/article/Microsoft-worked-with-Apple-for-Silverlight-on-iPhone-says-Goldfarb/1259185079 so now Microsoft itself is generating premature HTML5 content [05:33:01.0000] <annevk2> certainly some irony there [05:33:02.0000] <annevk2> "premature" I should say [05:34:00.0000] <karlcow> that must be the Apple/Microsoft "impremature" :p [05:35:00.0000] <Philip`> http://www.iis.net/iphone [05:36:00.0000] <Philip`> No doctype :-( [05:36:01.0000] <Philip`> It's lucky they're not using IE else it'd go into quirks mode and not support any new features [05:38:00.0000] <annevk2> cool, we're getting free wireless on trains starting next year [05:38:01.0000] <annevk2> hopefully Utrecht-Schiphol is among the first trains to become equipped [06:11:00.0000] <hsivonen> so what's the "Silverlight" part here? [06:12:00.0000] <hsivonen> Is H.264 video now "Silverlight"? [06:13:00.0000] <Philip`> hsivonen: Maybe it's like .NET [06:13:01.0000] <annevk2> I don't think there was a Silverlight part [06:13:02.0000] <Philip`> It's not a client-side plugin, it's a whole ecosystem [06:13:03.0000] <Philip`> and so it could include the streaming media server [06:14:00.0000] <Philip`> (which might be used with a Silverlight client, or in this case with a plain H264-streaming client) [06:14:01.0000] <Philip`> Or maybe the article is just confused [06:14:02.0000] <hsivonen> OK, so where was no WPF-E/XAML involved [06:14:03.0000] <hsivonen> but an IIS server streamed H.264 video using Apple's HTTP streaming hack? [06:15:00.0000] <hsivonen> seems to me the article is confused [06:15:01.0000] <hsivonen> maybe it's like the Sun Java Desktop System [06:15:02.0000] <hsivonen> or whatever Sun's Linux distro was called [06:16:00.0000] <hsivonen> /me wonders what happened to customers who bought into that one [06:16:01.0000] <Philip`> I suppose it's not even really streaming, it's just a plain HTTP server with files like http://mediadl.microsoft.com/mediadl/IISNET/SmoothMedia/iPhone/bbb/output/BigBuckBunny-b0.ts [06:16:02.0000] <Philip`> for each chunk of the video [06:16:03.0000] <Philip`> (and some playlist files) [06:17:00.0000] <Philip`> (And the .ts files are just MPEG transport stream things, which you can play fine in e.g. mplayer) [06:17:01.0000] <hsivonen> I'm unimpressed by branding this is Silverlight [06:19:00.0000] <Philip`> http://blogs.msdn.com/katriend/archive/2009/11/19/silverlight-4-beta-overview-of-the-new-features.aspx - "IIS Media Services 4.0 will support streaming to the iPhone. Note this is not Silverlight support on the iPhone, it’s streaming a format that is supported by the iPhone and generating a video tag that Safari browser on the iPhone supports." [06:19:01.0000] <Philip`> That seems reasonably clear that it's not Silverlight [06:21:00.0000] <Philip`> (so the confusion is probably the article's) [06:59:00.0000] <Lachy> hsivonen, re the selectors api xml:id thread, why would making id="" special not work for CML? [06:59:01.0000] <Lachy> is it because it's not formally of type ID? [07:00:00.0000] <hsivonen> Lachy: it uses non-unique id attributes, so at least for validation, it doesn't work [07:01:00.0000] <Lachy> the documentation says id="" is supposed to be "An attribute providing a unique ID for an element." http://cml.sourceforge.net/schema/cmlReact/HTMLDOCS/cmlreact.pdf [07:02:00.0000] <Lachy> oops, wrong link [07:02:01.0000] <Lachy> http://cml.sourceforge.net/schema/cmlCore/HTMLDOCS/cmlCore.pdf [07:03:00.0000] <hsivonen> Lachy: maybe they have an interesting definition of unique or they have fixed the language or something [07:03:01.0000] <hsivonen> I special-cased CML in V.nu [07:03:02.0000] <Lachy> well, actually, the example file they have here has non-unique IDs in it. http://cml.sourceforge.net/schema/cmlCore/EXAMPLES/concatenated.xml [07:04:00.0000] <Lachy> I didn't know you even supported CML in v.nu [07:04:01.0000] <hsivonen> /me wonders if the list of named characters in HTML5 has actually changed since September 24 or so [07:04:02.0000] <hsivonen> Lachy: there's a separate CML front end for it [07:04:03.0000] <Lachy> do you mean the entities? [07:04:04.0000] <hsivonen> Lachy: yes [07:05:00.0000] <Lachy> yeah, it did change a few weeks ago. I believe the MathML WG changed some of the Unicode characters that some entities referred to. [07:05:01.0000] <Lachy> I think it was to handle some new characters in Unicode that didn't exist at the time the entities were first defined, or something [07:06:00.0000] <hsivonen> Lachy: ok. thanks [07:13:00.0000] <hsivonen> http://code.google.com/p/curlies/wiki/RecommendationsForBrowserDevelopers [07:25:00.0000] <hsivonen> http://twitter.com/jdowdell/status/6018878648 [07:29:00.0000] <Philip`> http://twitter.com/jdowdell/status/6023719837 - yeah, just like how the web ""Forks"" every time Intel releases a faster CPU [07:30:00.0000] <Philip`> [I assume he's referring to IE9 and Firefox-something using hardware-accelerated rendering for pages] [07:34:00.0000] <Lachy> what does he mean by "rendering cards"? [07:35:00.0000] <Lachy> is he referring to hardware like graphics cards? [07:35:01.0000] <Lachy> if so, I don't get the relevance to content or forking the web [07:36:00.0000] <Philip`> He must mean that [07:36:01.0000] <jgraham> I think he means "Oh noes Web3D" [07:37:00.0000] <jgraham> /me is kinda surprised anyone is still paying attention [07:37:01.0000] <Philip`> I suppose he could mean WebGL but it seems possibly more likely he's referring to http://www.basschouten.com/blog1.php/2009/11/22/direct2d-hardware-rendering-a-browser and http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx [07:38:00.0000] <jgraham> But that wouldn't make any sense because content will hardly depend on that [07:39:00.0000] <jgraham> At least any more than it already depends on CPU speed [07:39:01.0000] <Philip`> I agree it wouldn't make sense [07:39:02.0000] <Philip`> but I don't think that's a reason to think it's not what he meant [07:40:00.0000] <jgraham> Yeah, I guess logic isn't a prerequisite for paid trolling [07:42:00.0000] <Philip`> I also like how he quotes the phrase "Forks the Web" even though he just made that up himself [07:42:01.0000] <Philip`> (Maybe he's thinking of "don't break the web" which is totally different?) [08:00:00.0000] <gsnedders> Does java.io.FileReader work sanely? Like, do I need to use InputStreamReader/FileInputStream just to make sure I get the right charset? [08:01:00.0000] <jgraham> gsnedders: Can;t you just use jytonisms? [08:01:01.0000] <Philip`> gsnedders: What is "right"? [08:04:00.0000] <gsnedders> Philip`: Is it prone to using the wrong encoding when the right one is likely UTF-8/Windows-1252? [08:04:01.0000] <Philip`> Sounds like it uses the platform default, which will probably depend on the user's locale [08:04:02.0000] <gsnedders> jgraham: I can, but using a Reader allows it to read while parsing [08:05:00.0000] <Philip`> (and on OS) [08:05:01.0000] <Philip`> If you care about the encoding then it seems best to specify it explicitly [08:05:02.0000] <Philip`> which fortunately is trivial [08:07:00.0000] <Philip`> (You might want to add a BufferedReader too, else it might be horribly inefficient) [08:09:00.0000] <gsnedders> Philip`: So what? A BufferedReader calling an InputStreamReader calling a FileInputStream? [08:10:00.0000] <Philip`> Yes [08:11:00.0000] <Philip`> and then you call that from the HTML parser [08:11:01.0000] <Philip`> (or whatever you're using this for) [08:11:02.0000] <gsnedders> Also: I was writing Java earlier today. Be proud. ;P [08:11:03.0000] <Philip`> Was it concise and elegant? [08:12:00.0000] <gsnedders> Well, I didn't really write enough to make any comment on the language. [08:13:00.0000] <jgraham> It wasn't concise or elegant though, it was a horrible hack [08:31:00.0000] <gsnedders> Did othermaciej really say that a week and a half don't exist? :P [08:32:00.0000] <gsnedders> /me was quite looking forward to getting Christmas presents, but if that week isn't happening... :P [08:32:01.0000] <gsnedders> (Yes, I do know what he meant.) [08:32:02.0000] <jgraham> I think he said "for practical purposes" [08:33:00.0000] <jgraham> Obviously you getting christmas presents is impractical [08:33:01.0000] <gsnedders> On grounds that I'm neither where I live nor with my parents? [08:33:02.0000] <jgraham> On the grounds that someone would have to want to give you some [08:34:00.0000] <gsnedders> /me makes note not to get jgraham anything for Christmas [09:10:00.0000] <jarib> not sure if this is the right place to ask, but in the spec at http://dev.w3.org/html5/spec/Overview.html#meta, the header has id="meta", which probably should be "the-meta-element" [09:10:01.0000] <jarib> i'm using the headers to extract the idl parts programatically while avoiding IDL sections which are not elements [09:31:00.0000] <gsnedders> jarib: Would it not be better to get all IDL sections and check whether the interface implements Element? [09:32:00.0000] <jarib> that sounds wise, let me check why i didn't do that :) [09:33:00.0000] <gsnedders> Because it means walking the interface tree? :) [09:35:00.0000] <jarib> gsnedders: yeah, and i also need the actual tag names.. [09:35:01.0000] <jarib> though walking the interface tree shouldn't be too hard [09:35:02.0000] <jarib> i think i'll do that [09:36:00.0000] <jarib> better suggestions for how to get the tag names are very welcome of course [09:36:01.0000] <gsnedders> /me thinks you're probably better off extracting it from the spec manually [09:38:00.0000] <Philip`> jarib: Presumably you'll have to add in special cases for e.g. the h1..h6 elements, since they're written differently to all the other elements [09:38:01.0000] <jarib> hmm, ok. i thought things like the header ids would remain consistent over time, perhaps too optimistic [09:38:02.0000] <no_mind> is this the place to discuss html5 ? [09:38:03.0000] <Philip`> so a generic solution seems impossible in general [09:38:04.0000] <jarib> Philip`: yes, i do have that [09:38:05.0000] <Philip`> I guess it's still worth minimising the number of special cases, though [09:39:00.0000] <Philip`> jarib: The ids in the source document (i.e. http://www.whatwg.org/specs/web-apps/current-work/source) ought to be pretty consistent over time [09:39:01.0000] <Philip`> no_mind: Yes [09:39:02.0000] <no_mind> ok [09:40:00.0000] <Philip`> no_mind: (or at least this is one of many places) [09:40:01.0000] <jarib> ah, i should probably use that URL instead [09:40:02.0000] <jarib> thanks [09:41:00.0000] <no_mind> I am going through the spec and thinking, is HTML5 going to have tags for input from devices other than keyboard and mouse ? Like can I input my webcam or audio directly without using flash ? [09:41:01.0000] <Philip`> jarib: The ids in the other version are autogenerated and I guess they'd be a bit less stable [09:41:02.0000] <no_mind> Philip`, the IRC network (irc.w3.rog) listed on html5 website is not reachable :( [09:41:03.0000] <jarib> i see [09:42:00.0000] <Philip`> though I suppose it won't make that much difference in practice [09:42:01.0000] <Philip`> no_mind: Do you mean irc.w3.org? [09:42:02.0000] <no_mind> Philip`, yes [09:43:00.0000] <Philip`> no_mind: Hmm, works for me [09:43:01.0000] <no_mind> gives me connection refused or connection timed out [09:44:00.0000] <Philip`> no_mind: You might need to make sure you're connecting to the right port (I think 6665) [09:44:01.0000] <Philip`> no_mind: http://lists.whatwg.org/htdig.cgi/help-whatwg.org/2009-September/000336.html [09:45:00.0000] <Philip`> no_mind: http://lists.w3.org/Archives/Public/public-device-apis/2009Aug/0042.html [09:45:01.0000] <Philip`> no_mind: (HTML5 won't add any major new features, but other W3C groups might work on similar things) [09:47:00.0000] <no_mind> Philip`, so how do I propose an API for devices ? I think with such an API we can integrate biometric devices with webapps for auth [10:00:00.0000] <Philip`> no_mind: It seems like the public-device-apis list might the best place for discussions of that kind of thing [10:03:00.0000] <no_mind> Philip`, yup, thnxs for pointing. I have subscribed to the list [10:42:00.0000] <mitsuhiko> hi everybody [10:42:01.0000] <mitsuhiko> could it be that the genshi stream tree walker is broken in tip? [10:42:02.0000] <mitsuhiko> (html5lib that is_ [11:17:00.0000] <foolip> no_mind: for webcam input you might want to consider integration with <video> [11:17:01.0000] <foolip> no_mind: same with microphone and <audio> of course [11:18:00.0000] <no_mind> hmm [11:19:00.0000] <foolip> because I assume one would want preview, and a webcam preview is nothing but video+audio [11:20:00.0000] <foolip> but <input type=video> might be appropriate for actually recording a clip [11:20:01.0000] <foolip> I guess you already have some ideas though [11:24:00.0000] <no_mind> foolip, this is a nice idea, but I am looking at some other things too. Like using fingerprint recognition device to authenticate for web apps. In this case I need to send input from fingerprint scanner to webapp. Finger print scanner is like a camera [11:25:00.0000] <no_mind> also, with microphone integration, we can have fields for audio input which can be used for sending voice messages [11:25:01.0000] <foolip> no_mind: <input type=audio> ? [11:25:02.0000] <no_mind> foolip, <video> and <audio> tags are for output but not input [11:26:00.0000] <no_mind> foolip, yes something like <input type=audio> [11:26:01.0000] <foolip> yes, thus <input type=audio> and <input type=video> [11:26:02.0000] <foolip> fingerprint recognition I'm skeptical about [11:27:00.0000] <foolip> I doubt any standards group will be interested in speccing that [11:27:01.0000] <foolip> but I could be wrong [11:27:02.0000] <no_mind> foolip, even some genralized input tag which can used for any device. Like for a website providing location based service, you could input your gps coordinates from gps receiver [11:28:00.0000] <Philip`> mitsuhiko: That seems like it could be a possibility [11:28:01.0000] <Philip`> mitsuhiko: (Do you have a simple test case for it?) [11:28:02.0000] <mitsuhiko> Philip`: well, it was not adapted to the latest changes of the simpletree i guess [11:28:03.0000] <mitsuhiko> it fails all the time [11:28:04.0000] <foolip> no_mind: how would a "generalized input tag" work? [11:29:00.0000] <no_mind> foolip, I am just discussing the use cases. Obviously for fingerprint thingie you will have to define few more things [11:30:00.0000] <Philip`> mitsuhiko: Probably worth filing a bug on the Google Code site in that case, if there isn't one already [11:30:01.0000] <no_mind> foolip, an input tag which could have a button and will read the device it is pointing to [11:30:02.0000] <Philip`> /me has never looked at that code himself [11:30:03.0000] <no_mind> so something like <input type="device" src="/dev/gps"> [11:30:04.0000] <mitsuhiko> will do [11:31:00.0000] <foolip> no_mind: but "read" means different things for different types of devices, surely you'd have to specify the behavior for each kind of input you can actually support? [11:31:01.0000] <no_mind> foolip, yes [11:31:02.0000] <no_mind> foolip, but on *nix like systems all devices are files and will implement read system call [11:32:00.0000] <Philip`> There's already a geolocation API [11:32:01.0000] <Philip`> which seems to require much more complexity than 'read the current value' [11:32:02.0000] <no_mind> Philip`, ok [11:32:03.0000] <foolip> no_mind: yes, but just returning the raw byte array from the sytem isn't very useful [11:32:04.0000] <mitsuhiko> Philip`: http://code.google.com/p/html5lib/issues/detail?id=130 [11:33:00.0000] <Philip`> (I'm guessing the complexity is mostly about security/privacy and asynchronicity) [11:33:01.0000] <no_mind> foolip, ok may be we can add a device class too, that will do some wrapper around the device read. Like camera device [11:33:02.0000] <Philip`> mitsuhiko: Thanks [11:34:00.0000] <Philip`> mitsuhiko: Hopefully someone like jgraham will see it and fix it ;-) [11:34:01.0000] <no_mind> Philip`, are you referring to this http://dev.w3.org/geo/api/spec-source.html ? [11:34:02.0000] <foolip> no_mind: a pretty big wrapper I'd say, something that makes all kinds of cameras on all platforms behave the same [11:34:03.0000] <Philip`> no_mind: Yes [11:34:04.0000] <no_mind> foolip, well flash does this [11:35:00.0000] <foolip> no_mind: but I agree that we should do it eventually, it's quite useful [11:38:00.0000] <foolip> no_mind: but we need to aim much higher than direct device access [11:38:01.0000] <foolip> i.e. either give frame-per-frame access or simply encode the stream in a standard format [11:38:02.0000] <no_mind> foolip, well on linux systems we can use read, open system calls, to start with [11:39:00.0000] <foolip> no_mind: that's an implementation detail, no need to think about that yet [11:39:01.0000] <no_mind> then start organizing this into device specific info [11:39:02.0000] <no_mind> for example for camera class, as you suggested, do a wrapper to give frame by frame access to js [11:40:00.0000] <foolip> in any case the probably interface to the camera is programatically via v4l2 [11:40:01.0000] <foolip> and something completely different on all other platforms, as always [11:40:02.0000] <no_mind> yes that is a challenge [11:41:00.0000] <foolip> I do wish we would start with HTML6 though so we can start experimenting with new spec features [11:42:00.0000] <no_mind> foolip, browsers will need to maintain some kind of sandbox/proxy for all device classes identified, to provide these kind of wrappers [11:42:01.0000] <foolip> no_mind: yep [11:43:00.0000] <Philip`> foolip: By "we" do you mean "Hixie"? [11:43:01.0000] <Philip`> Nobody's stopping anybody else writing and publishing proposals for new features :-) [11:43:02.0000] <foolip> Philip`: no, I don't have any specific person in mind [11:45:00.0000] <foolip> Philip`: yes, but any proposals will just be scattered around the web until HTML6 (or whatever) starts [11:45:01.0000] <no_mind> Philip`, this cannot be part of HTML5, its too late. We will have to discuss a new proposal or add on to public-devices-api proposal. So need not be disturbed :) [11:46:00.0000] <foolip> can/will the devices API WG spec new features of HTML though? [11:46:01.0000] <no_mind> foolip, if the proposal is useful, we can always write a firefox extension and keep our fingers crossed. Waiting for this to be accepted by public :) [11:47:00.0000] <foolip> <input type=video> might not be an API in the "devices API" sense. [11:47:01.0000] <annevk2> <input type=file type=video/*> [11:47:02.0000] <annevk2> is what we should do imo [11:47:03.0000] <no_mind> foolip, my question here will be, can devices be part of HTML ? We are going beyond text here and most devices will input non-text data [11:48:00.0000] <annevk2> with a JavaScript API on top that gives you a streaming object, etc. [11:48:01.0000] <foolip> annevk2: as long as the idea is to encode a video file for upload, sure [11:49:00.0000] <annevk2> having said that, maybe <input type=video> is better, as to not overload things [11:49:01.0000] <annevk2> foolip, <input> does not necessarily imply file upload [11:49:02.0000] <annevk2> or any kind of upload [11:49:03.0000] <foolip> annevk2: seems mostly equivalent, I suppose legacy constraints will decide which works best [11:49:04.0000] <annevk2> well, not since DOM2HTML anyway :) [11:49:05.0000] <no_mind> well but why file and not a stream ? I can input my webcam and stream to some video conferencing server using websocket [11:50:00.0000] <foolip> annevk2: is there any input type that doesn't cause something to be POSTed? [11:50:01.0000] <annevk2> no_mind, it would give you a stream [11:50:02.0000] <annevk2> no_mind, well, you'd be able to get hold of one through scripting [11:50:03.0000] <annevk2> foolip, depends on whether there's a <form> [11:51:00.0000] <foolip> no_mind: if you want a conservative answer on what belongs in HTML, this is a terrible place to ask. Personally I don't care either way, it's still a part of the web platform and what browsers implement. [11:51:01.0000] <no_mind> foolip, nice answer [11:53:00.0000] <foolip> audio input is somewhat related to audio synthesis, which is kind of why I mention <audio> and <video> integration. [11:54:00.0000] <foolip> but I don't really have a proposal in mind for how everything would fit together [11:55:00.0000] <annevk2> http://www.zeldman.com/2009/11/26/a-zing-too-far/ lol [11:55:01.0000] <annevk2> I wish we were past debating HTML vs XHTML [11:55:02.0000] <annevk2> it's so boring [11:56:00.0000] <foolip> is there any indication that IE will *ever* support XHTML? [11:58:00.0000] <no_mind> foolip, but audio devices can be used independent of video too. Lets say VOIP call [11:58:01.0000] <foolip> no_mind: absolutely [11:58:02.0000] <foolip> no_mind: as I see it, "video" is video and optionally audio while "audio" is just audio. [11:59:00.0000] <no_mind> so an independent pure audio input will make sense. Plus audio and video compressions are different [12:00:00.0000] <foolip> yep [12:00:01.0000] <no_mind> when we have to stream audio and video both, we can use any video format to encode. For audio, same can be approached with mp3 [12:01:00.0000] <no_mind> so the audio and video input needs to apply different encodings too [12:02:00.0000] <foolip> well, simply using 1 container format, 1 audio codec and 1 video codec should cover it [12:02:01.0000] <annevk2> Hixie's idea was having a Stream object, a way to get a URL from a Stream object and a way to transmit and receive Stream objects through Web Sockets [12:02:02.0000] <annevk2> And a way to get Stream objects from <input type=file type=video/*> / <input type=file type=audio/*> (or some such) [12:03:00.0000] <foolip> annevk2: sounds pretty good [12:03:01.0000] <no_mind> annevk2, makes sense [12:03:02.0000] <annevk2> to me too :) [12:05:00.0000] <no_mind> with stream objects we need not POST to send data to server. :) [12:06:00.0000] <no_mind> so how do we start putting this into a proposal ? [12:06:01.0000] <foolip> I'm curious about that too [12:06:02.0000] <no_mind> I am not aware of formalities. Do we need a WG before we can start ? [12:06:03.0000] <foolip> the WHATWG has no formalities :) [12:06:04.0000] <foolip> just edit it on the wiki for starters maybe? [12:07:00.0000] <no_mind> so we just write a rough draft and submit it somewhere to form a WG ? [12:07:01.0000] <foolip> of course it's possible some of these idea are already hidden inside <!-- comments --> in HTML5 or related specs [12:08:00.0000] <foolip> no_mind: unless you're taking this to the W3C there is only one WG [12:08:01.0000] <foolip> no_mind: do you work for a browser vendor or otherwise have influence over one? [12:08:02.0000] <no_mind> foolip, no to both [12:09:00.0000] <foolip> i.e. is it likely you can make an experimental implementation of your ideas? [12:09:01.0000] <no_mind> foolip, yes I can do that [12:09:02.0000] <foolip> certainly JavaScript implementations are good too [12:09:03.0000] <no_mind> foolip, infact, I made a firefox plugin for a client which integrated finger print scanner with a web app ;) [12:09:04.0000] <no_mind> that is where I got thsi idea [12:09:05.0000] <no_mind> this* [12:10:00.0000] <foolip> I should note by the way that I'm just a random guy, I'm not speaking for the WHATWG or anything, just sharing my experience in how things work here [12:10:01.0000] <no_mind> foolip, I understand [12:11:00.0000] <foolip> I'd be interested to see more of the Stream idea [12:12:00.0000] <no_mind> yep stream with encryption [12:14:00.0000] <roc> I was thinking of a capture API on video/audio that posts a series of messages to a Worker with a Blob parameter [12:15:00.0000] <foolip> roc: Blob is a byte array? [12:15:01.0000] <roc> effectively [12:15:02.0000] <foolip> roc: so basically posting raw frames, or compressed? [12:16:00.0000] <roc> I'd give the capture API a MIME type parameter which is what you'd try to encode as [12:16:01.0000] <roc> and I guess a canRecordType method [12:16:02.0000] <foolip> right [12:17:00.0000] <foolip> roc: so any ideas on how one would go about to preview the audio/video? [12:17:01.0000] <roc> oh the other part is to have a URL scheme for input devices [12:18:00.0000] <roc> so you set <video src="camera:default"> or something [12:18:01.0000] <roc> I actually have no idea about the URL scheme [12:18:02.0000] <roc> but then the video is your preview [12:18:03.0000] <foolip> yes, I've thought about "camera://" too [12:18:04.0000] <roc> you can use canvas.drawImage to take pictures [12:18:05.0000] <foolip> but I'm particularly interested in this whole audio synthesis/filtering business, being able to do real-time filters on the audio [12:19:00.0000] <roc> and use the capture API to take video [12:19:01.0000] <foolip> the use case for synthesis is of course to be able to do a NES emulator :) [12:20:00.0000] <roc> you can do synthesis today with data:audio/wave [12:20:01.0000] <foolip> you followed this thread a while back, right? [12:20:02.0000] <roc> yeah [12:20:03.0000] <foolip> I argued exactly that [12:21:00.0000] <foolip> but data: would only work if you used lots of audio elements and have a mechanism to sync them [12:22:00.0000] <no_mind> roc, so you mean to say with current specs, I can write a VOIP app for browser ? [12:22:01.0000] <roc> no_mind: no you can't [12:22:02.0000] <roc> foolip: no, it's not idea [12:22:03.0000] <roc> no_mind: you can synthesize fixed-length sounds [12:22:04.0000] <roc> foolip: it's not ideal [12:22:05.0000] <no_mind> ok [12:24:00.0000] <foolip> certainly this isn't the most pressing use case for HTML6, but it would sure be neat to have scripts (a) generate input for <audio> (b) filter the output of <audio> [12:25:00.0000] <roc> yes, people already want to do this [12:25:01.0000] <roc> it seems like the first thing people want to do when you give them audio playback is write some kind of graphic visualizer [12:25:02.0000] <foolip> hehe [12:25:03.0000] <foolip> I *hate* those applications [12:25:04.0000] <foolip> but I assume it's great fun to write them [12:25:05.0000] <foolip> loops of expanding pixels and fading fire and what not [12:29:00.0000] <annevk2> no_mind, if you draft something that's really good, chances are it will get picked up and standardized [12:29:01.0000] <annevk2> chances are high [12:29:02.0000] <foolip> and if it's not perfect, there's still a good change the good parts will be kept :) [12:29:03.0000] <annevk2> and it's certainly not a bad idea to start providing some input I think; we really need this :) [12:30:00.0000] <foolip> /s/change/chance/ [12:30:01.0000] <no_mind> annevk2, I am researching on wahtwg website to find the ways to propose a specification [12:30:02.0000] <foolip> write something and post it to the mailing list, bascially [12:31:00.0000] <foolip> there is no formal process, you can't do it wrong [12:31:01.0000] <no_mind> foolip, so I need not have a proper document to start with. Just properly worded post to mailing list ? [12:32:00.0000] <annevk2> http://wiki.whatwg.org/wiki/How_to_write_a_spec [12:32:01.0000] <annevk2> there's also http://blog.whatwg.org/proposing-features [12:32:02.0000] <annevk2> no_mind, yup [12:32:03.0000] <no_mind> ok and post to whatwg⊙lwo [12:32:04.0000] <foolip> no_mind: all the changes I've suggested for HTML5 were just by mail. but then I haven't suggested any big new features [12:32:05.0000] <annevk2> yup [12:32:06.0000] <annevk2> foolip, that reminds me, did you look into playBackRate? [12:33:00.0000] <foolip> annevk2: in what way? [12:33:01.0000] <annevk2> playbackRate* [12:33:02.0000] <annevk2> it seems to not specify a whole lot of detail [12:33:03.0000] <annevk2> I got some questions about whether you would hear e.g. audio [12:33:04.0000] <foolip> you mean if it's "play faster" or "skip frames and drop audio"? [12:33:05.0000] <annevk2> I suspect it depends on the codec, but the spec prolly ought to have more detail [12:34:00.0000] <annevk2> e.g. by just stating it depends on the codec spec or some such [12:34:01.0000] <foolip> I'd say it's a quality of implementation issue [12:34:02.0000] <foolip> for 1.1 it probably makes sense to just speed it up [12:34:03.0000] <foolip> but for 100 you would certainly drop audio and only decode keyframes [12:35:00.0000] <annevk2> oh and whether if it was speeded up, whether pitching would be normalized and such [12:35:01.0000] <foolip> annevk2: oh right [12:35:02.0000] <foolip> someone doing WebKit suggested something there [12:35:03.0000] <foolip> which I didn't agree with, incidentally [12:36:00.0000] <foolip> so the answer is "no", I haven't given this much thought [12:36:01.0000] <annevk2> k [12:36:02.0000] <foolip> what's actually possible and not depends very much on the media framework and the codecs I think [12:36:03.0000] <annevk2> it seems negative defaultPlaybackRate is not defined either [12:36:04.0000] <foolip> (and the rate) [12:37:00.0000] <foolip> yeah, I think there's some bugs with looping for negative playbackRate too [12:37:01.0000] <foolip> zcorpan knows more [12:38:00.0000] <foolip> I'll put it as an item on my TODO list, to be done before 2022 [13:02:00.0000] <Huvet> ah, a simple workaround for bug 126 is a replace of all windows quotes to proper quotes before parsing [13:02:01.0000] <Huvet> ehm... 129, sorry [13:02:02.0000] <Huvet> all 195 sites pass now, perfectly [13:02:03.0000] <Huvet> 295 [13:03:00.0000] <Huvet> what's wrong with me and numbers today :/ [13:05:00.0000] <timz> is it ok to send html formatted mails to whatwg⊙wo ? [13:06:00.0000] <annevk2> I'd rather you don't, but it has been done [13:08:00.0000] <timz> ok, i'll just reference the forum post i made to forums.whatwg.org, less cluttering :-) [13:13:00.0000] <annevk2> I updated blog.whatwg.org to use the latest version of WP [13:15:00.0000] <annevk2> Also the plugins [13:27:00.0000] <timz> Does it really take 15 years for the HTML5 proposal becoming a recommendation ? [13:29:00.0000] <annevk2> well, we don't know, what we do know is that CSS2 is taking upwards of 10 years so far [13:29:01.0000] <annevk2> the expectation that much like CSS2 HTML5 will be widely implemented and deployed much sooner though [13:29:02.0000] <annevk2> lots of it is already, today [13:29:03.0000] <timz> hehe i really hope so [13:30:00.0000] <timz> so css3 will never make it to recommendation because of the apocalypse ? [13:30:01.0000] <timz> :) [13:31:00.0000] <nessy> I'd say it's all dependent on implementation effort and the browser vendors are very much behind html5, so that's a good sign [13:40:00.0000] <timz> Yeah i hope we will see, for example, "font embedding" and "open video" soon. It would not only mean the web is improving but also multinational businessmodels taking another route. [13:41:00.0000] <annevk2> http://icantbelieveitsnotflash.com/ [13:41:01.0000] <annevk2> and with that, I'm off reading/sleeping [13:42:00.0000] <timz> reading what ? [13:42:01.0000] <annevk2> the economist [13:42:02.0000] <timz> hehe, have fun :) [13:46:00.0000] <nessy> oh, I've always loved the DHTML lemmings site! [13:47:00.0000] <nessy> nice that they made little videos - they might be available for longer than the websites themselves! :-) [13:57:00.0000] <jgraham> Huvet: I'm not sure that gives the correct result per spec. 2009-11-27 [17:01:00.0000] <theMadness> Is there a way to get OpenID additional headers to validate in html5? [17:09:00.0000] <theMadness> http-equiv is enumerated, is it possible to suggest other values? [17:31:00.0000] <Hixie> svn.whatwg.org is back [21:55:00.0000] <JonathanNeal> hi [22:57:00.0000] <hsivonen> gsnedders: IIRC, at least as of JDK 1.4.2, you needed to wrap an InputStreamReader around an FileInputStream and never use FileReader to get sane decoding behavior [22:57:01.0000] <hsivonen> gsnedders: when a JDK API says it uses the platform's encoding, run away, run away fast [22:59:00.0000] <hsivonen> sigh. http://icantbelieveitsnotflash.com/dhtml-lemmings uses Flash for the video [22:59:01.0000] <hsivonen> FAIL [23:15:00.0000] <MikeSmith> hsivonen: http://code.google.com/p/jing-trang/issues/detail?id=91 [23:19:00.0000] <hsivonen> MikeSmith: that's odd. I haven't touched the branch recently [23:19:01.0000] <MikeSmith> hsivonen: I think it's been that way for quite a while [23:19:02.0000] <hsivonen> oh [23:20:00.0000] <MikeSmith> since r2224 at least [23:20:01.0000] <hsivonen> so the build completes? [23:20:02.0000] <MikeSmith> the core build does, yeah [23:20:03.0000] <MikeSmith> but not that dist target [23:20:04.0000] <MikeSmith> oh [23:20:05.0000] <MikeSmith> yeah, the code build completes [23:21:00.0000] <MikeSmith> but then if you run jing built from it, you get that same error [23:21:01.0000] <MikeSmith> at runtime [23:21:02.0000] <hsivonen> interesting [23:21:03.0000] <MikeSmith> but only if you are validating against a Schematron schema [23:21:04.0000] <hsivonen> but V.nu works? [23:21:05.0000] <MikeSmith> yup [23:21:06.0000] <MikeSmith> I guess because it's not actually doing schematron checking using jing [23:22:00.0000] <hsivonen> MikeSmith: interesting [23:22:01.0000] <hsivonen> MikeSmith: if you give it a random .sch file, it should [23:22:02.0000] <MikeSmith> ah [23:22:03.0000] <hsivonen> including the XHTML 1.0 preset [23:22:04.0000] <MikeSmith> OK [23:22:05.0000] <hsivonen> aside: there's going to be an interesting merge hell some day merging the trunk into the branch... [23:23:00.0000] <MikeSmith> yeah, I was going to ask you about that too [23:23:01.0000] <MikeSmith> I think it'd be better to move the branch into the trunk.. [23:23:02.0000] <MikeSmith> s/move/merge/ [23:23:03.0000] <hsivonen> I've been waiting for George Bina's improved error message patch to make it to the trunk [23:23:04.0000] <MikeSmith> I see George just released something on the 11th [23:24:00.0000] <hsivonen> Can't move to the trunk unless James Clark & George Bina are OK with the added API surface V.nu needs [23:25:00.0000] <hsivonen> In particular, there wasn't any conclusion about how to communicate the error message identity to V.nu in a way that everyone approved of [23:25:01.0000] <hsivonen> the datatypeexceptions need to be passed to V.nu front end, too [23:27:00.0000] <MikeSmith> hsivonen: I see [23:28:00.0000] <MikeSmith> I looked through the commit logs on the trunk and see there's been a lot of changes since you branched [23:28:01.0000] <hsivonen> MikeSmith: are any of them must-haves for V.nu? [23:28:02.0000] <MikeSmith> e.g., James added support to the schematron validator for emitting column numbers [23:28:03.0000] <hsivonen> MikeSmith: the V.nu column has that [23:28:04.0000] <hsivonen> I added it to the 2003 Jing [23:29:00.0000] <MikeSmith> hsivonen: I guess I didn't see anything on the trunk that seemed like a must for v.nu [23:29:01.0000] <MikeSmith> /me goes back to look [23:29:02.0000] <hsivonen> MikeSmith: when George Bina lands the patch that makes the errors explain *why* validation failed, I definitely want to merge [23:30:00.0000] <MikeSmith> OK [23:30:01.0000] <MikeSmith> hsivonen: hmm, here's one interesting thing: OASIS catalog support [23:31:00.0000] <hsivonen> MikeSmith: is that for DTDs? [23:31:01.0000] <MikeSmith> can't tell from the commit messages [23:31:02.0000] <MikeSmith> r2303 and r2306 [23:32:00.0000] <hsivonen> MikeSmith: looks like a generic URI rewriting scheme [23:32:01.0000] <MikeSmith> yeah [23:47:00.0000] <theMadness> Augh, http://hsivonen.iki.fi/rdf-competition/ [23:48:00.0000] <theMadness> It makes no sense, then I read Tim Berners-Lee and think "well, he said it, it should make sense", but then again it doesn't. And... the pain! [23:50:00.0000] <MikeSmith> theMadness: hey. I've been meaning to respond to your tweet [23:50:01.0000] <MikeSmith> about indicators for new elements [23:50:02.0000] <MikeSmith> the TOC of the current draft of my markup doc does already show that [23:51:00.0000] <MikeSmith> hsivonen: does column-number reporting for schematron validation on the validator-nu branch require Saxon 9? [23:52:00.0000] <theMadness> MikeSmith, for OpenID? [23:52:01.0000] <theMadness> http-equiv meta? [23:53:00.0000] <MikeSmith> theMadness: I meant for this tweet: http://twitter.com/theMadness/status/5925930242 [23:54:00.0000] <MikeSmith> I don't understand the reference to OpenID.. [23:54:01.0000] <theMadness> Ah right. [23:54:02.0000] <theMadness> I tweeted about that last night. [23:55:00.0000] <theMadness> OpenID providers require some http headers, and most implementations send them out with meta http-equiv tags, which tends to prevent the html5 validation. [23:55:01.0000] <hsivonen> MikeSmith: it requires a version of SAXON that can report line numbers, so the latest of the 9 series [23:55:02.0000] <hsivonen> MikeSmith: earlier I used my own fork of SAXON, too [23:55:03.0000] <MikeSmith> OK [23:56:00.0000] <hsivonen> theMadness: please file a spec bug about OpenID conflict [23:57:00.0000] <hsivonen> /me notes that OpenID libraries don't tend to use real HTML parsers and can fail with valid HTML 4 [23:58:00.0000] <hsivonen> (Anne discovered this when he tried to make his OpenID page omit centain optional tags) [23:58:01.0000] <hsivonen> like <html> and <head> [23:58:02.0000] <hsivonen> (cue Stack Overflow regexp rant) [00:11:00.0000] <theMadness> MikeSmith, I got what you mean, but I was hoping for a summary list. [00:12:00.0000] <MikeSmith> ah, I see [00:14:00.0000] <MikeSmith> theMadness: http://dev.w3.org/html5/html4-differences/#new-elements has a very good summary list [00:16:00.0000] <theMadness> Right. [00:16:01.0000] <theMadness> Man, HTML5 has a truckload of different docs. [00:16:02.0000] <theMadness> That's not a good thing. [00:17:00.0000] <hsivonen> theMadness: various dissenters disagree with you on that one. [00:18:00.0000] <theMadness> I'm trying to be "just a user" here. [00:18:01.0000] <theMadness> And there's quite a bunch of stuff I have to keep track. [00:18:02.0000] <theMadness> By the way, what happened to Last Call? [00:19:00.0000] <hsivonen> theMadness: people who care about Architecture and spec purity want to have a larger number of smaller docs [00:20:00.0000] <hsivonen> theMadness: the HTML WG chairs allowed the deadline to go by because there are open ISSUEs in the ISSUE tracker [00:20:01.0000] <theMadness> :( [00:21:00.0000] <theMadness> But I'm tired of idiots yelling "NOT A STANDARD". [00:24:00.0000] <hsivonen> theMadness: the Process allows dissenters to filibuster the Last Call by raising ISSUEs [00:25:00.0000] <theMadness> AGH. US politics metaphor. [00:25:01.0000] <theMadness> My achille's heel. [00:26:00.0000] <theMadness> Are issues serious or are they "Issue #42344: Hixie is a big doo doo head"? [00:26:01.0000] <hsivonen> /me thought filibustering was a more general parliamentary tactic than being U.S.-specific, but the only English word I know for it is the en-US word [00:27:00.0000] <theMadness> Filibustering isn't present in all the systems. [00:27:01.0000] <theMadness> Some systems don't allow people to delay in such a stupid way. One of the few things in the itlaian parliament that makes sense. [00:28:00.0000] <hsivonen> theMadness: you can judge the seriousness yourself here: http://www.w3.org/html/wg/tracker/issues/ [00:28:01.0000] <theMadness> 88, I expected more. [00:29:00.0000] <hsivonen> theMadness: I expect there to be more in due course as more bugs get WONTFIXed [00:34:00.0000] <theMadness> That is where I should place the bit about the OpenID tags? [00:34:01.0000] <theMadness> <meta http-equiv="X-XRDS-Location" | <meta http-equiv="X-Yadis-Location" ? [00:35:00.0000] <hsivonen> theMadness: no, you start with http://www.w3.org/Bugs/Public/enter_bug.cgi?product=HTML%20WG [00:36:00.0000] <hsivonen> theMadness: then if Hixie WONTFIXes it and someone disagrees, it gets turned into an ISSUE [00:36:01.0000] <hsivonen> eww. those are X- headers [00:36:02.0000] <theMadness> Yep. [00:36:03.0000] <hsivonen> are those OpenID 2.0-only? [00:36:04.0000] <theMadness> I have no flippin' clue. [00:37:00.0000] <hsivonen> it's going to be politically hard to make those conforming while keeping X-UA-Compatible non-conforming [00:38:00.0000] <theMadness> That's for IE right? [00:39:00.0000] <hsivonen> /me wonders why extenders of HTML like to mint X- pseudo-headers instead of just squatting non-X meta *names* [00:39:01.0000] <hsivonen> theMadness: yes [00:39:02.0000] <theMadness> hsivonen, I have no idea. [00:40:00.0000] <theMadness> I also don't know why the diso dude didn't just use header() for that. (wordpress openid plugin). [00:40:01.0000] <hsivonen> theMadness: so real HTTP headers would work? [00:41:00.0000] <theMadness> I have no idea, but isn't the idea behind http-equiv to emulate a HTTP header when there's no way to send the actual header? [00:42:00.0000] <hsivonen> theMadness: in theory, yes, but it's not always used that way [00:42:01.0000] <hsivonen> (e.g. Refresh) [00:43:00.0000] <theMadness> This is stupid. Like OpenID isn't meeting enough resistance. [00:44:00.0000] <hsivonen> /me doesn't know enough about OpenID 2.0 and XRDS to have an opinion on whether resisting OpenID 2.0-isms is good or bad [00:44:01.0000] <hsivonen> (OpenID 1.0 seems good to me, though) [00:45:00.0000] <hsivonen> /me notes that the TAG seemed to dislike XRIs [00:46:00.0000] <hsivonen> but I tend to agree that making OpenID stuff non-conforming is stupid [00:46:01.0000] <hsivonen> even though I have very little sympathy in general for spec writers who cram their extensions into http-equiv instead of name=foo [00:48:00.0000] <theMadness> you mean <meta XRDS-Location="url"> right? [00:51:00.0000] <hsivonen> I mean <meta name="xrds-location" content="url"> [00:51:01.0000] <theMadness> Ah. [02:36:00.0000] <robertnyman> Hello, dear WHATWG [02:37:00.0000] <robertnyman> Just wanted to mention that I wrote a blog post about the syntax options in HTML5, and get general feedback on how we can achieve/maintain HTML code quality: http://robertnyman.com/2009/11/27/the-html5-syntax-options-problem/ [02:37:01.0000] <robertnyman> Feel free to chime in! :-) [02:42:00.0000] <annevk2> Hmm, not sure I want to enter another you were not using XHTML debate :) [02:43:00.0000] <annevk2> robertnyman, the reason uppercase etc. is allowed is not because of CMSs etc. it is because HTML always allowed that [02:43:01.0000] <annevk2> robertnyman, the reason /> and xmlns are allowed is because of CMSs etc. [02:44:00.0000] <robertnyman> Hmm.. [02:44:01.0000] <annevk2> (initially /> and xmlns were not allowed) [02:45:00.0000] <annevk2> you can also do <div> test </DIv> btw [02:45:01.0000] <annevk2> and other weird variations :) [02:45:02.0000] <robertnyman> I understand about the debate, but I wish/hope it it will be beyond what people prefer, and rather options we have to make it easier for people to use a more strict syntax (HTML and XHTML alike) [02:46:00.0000] <robertnyman> I thought the uppercase was also due to content generated from WYSIWYG editors based on contenteditable in IE [02:46:01.0000] <Philip`> I thought the /> and xmlns things were largely allowed to ease migration to HTML5 for people who were fooled by the validator into thinking they were writing proper XHTML [02:46:02.0000] <annevk2> in the first paragraph of "Available syntax options" the example seems wrong [02:46:03.0000] <annevk2> Philip`, yeah, it was motivated by e.g. the adoption of WP [02:46:04.0000] <robertnyman> And that case-variation is something I just don't want to know about :-) [02:47:00.0000] <annevk2> (i.e. it should end in /> to make sense) [02:48:00.0000] <jgraham> robertnyman: Your point of view seems predictaed on the assumption that a desire for more strict syntax is not merely a preference [02:48:01.0000] <robertnyman> Absolutely, thanks! [02:48:02.0000] <robertnyman> Missed the slash there (ashamed) [02:48:03.0000] <jgraham> *predicated [02:49:00.0000] <annevk2> I certainly have some kind of preference when writing HTML [02:49:01.0000] <annevk2> though it tends to differ per file [02:50:00.0000] <robertnyman> You see, the things you express here; Anne with the background for some choices, and jgraham about what, if any, preference we should have would make GREAT blog comments :-) [02:51:00.0000] <Philip`> robertnyman: Do you want something like the "Profile" option on http://validator.nu/ so you can choose what coding conventions you want to check? [02:52:00.0000] <robertnyman> To answer about strict syntax: my personal experience at least, as a consultant, doing audits etc, is that a certain strictness has been far more optimal to achieve code consistency, and also code handover between developers [02:52:01.0000] <annevk2> when people write blog posts about HTML5 they should just add pointers to the #whatwg IRC logs for related discussion :) [02:52:02.0000] <annevk2> bound to be discussed here [02:52:03.0000] <robertnyman> @Philip Yes [02:53:00.0000] <robertnyman> Well, it is, but my personal experience is that people prefer blog articles and comments which are specific to a certain topic [02:53:01.0000] <robertnyman> IRC is great and with logs, but there is also a certain amount of noise, possible lack of findability etc [02:53:02.0000] <Dashiva> annevk2: Maybe they need a lookup service to find the relevant logs [02:53:03.0000] <robertnyman> IMHO [02:54:00.0000] <annevk2> Dashiva, yeah [02:54:01.0000] <annevk2> robertnyman, definitely [02:54:02.0000] <annevk2> robertnyman, the issue is that commenting on blogs is too much effort :) [02:54:03.0000] <robertnyman> Ha ha, I agree :-) [02:54:04.0000] <annevk2> since you need to keep track of your comment to see if other people reply, etc. [02:54:05.0000] <annevk2> maybe Wave will solve this [02:54:06.0000] <robertnyman> I see your point [02:55:00.0000] <robertnyman> I just like the openness of a blog, though, in the sense that it is not the log or similar of an organization [02:55:01.0000] <robertnyman> It is, hopefully, complteley stand-alone [02:55:02.0000] <robertnyman> Hence, in people's eyes, unbiased [02:55:03.0000] <robertnyman> I do offer RSS feeds for comments per specific post as well :-) [02:56:00.0000] <annevk2> unbiased in what way? [02:56:01.0000] <robertnyman> I'm not saying WHATWG is biased in the sense of just defending choices (or whatever), but in a number of developers' eyes, they prefer another location/channel than who's behind it [02:57:00.0000] <robertnyman> I.e. a blog post about what works in IE might be more true than a web page at microsoft.com [02:57:01.0000] <robertnyman> Sorry, might be more true IN THEIR EYES [02:58:00.0000] <robertnyman> Am I making sense here? :- [02:58:01.0000] <robertnyman> :-) [02:59:00.0000] <Philip`> You mean people trust random unverified strangers more than they trust people with experience and authority? Makes sense to me :-) [03:00:00.0000] <robertnyman> Ha ha! [03:00:01.0000] <robertnyman> Well, isn't it true in some sense? :-) [03:00:02.0000] <jgraham> Oh I thought robert just meant that people just random unverified strangers more than they trust msdn ;) [03:00:03.0000] <robertnyman> Ok, ok, forget it, this will get dangerous :-) [03:00:04.0000] <Philip`> MSDN is great [03:01:00.0000] <Philip`> It taught me yesterday that IE supports a .vrml property on HTML objects [03:01:01.0000] <Philip`> http://msdn.microsoft.com/en-us/library/dd347031(VS.85).aspx - not exactly enough information for someone to make an interoperable implementation, sadly [03:02:00.0000] <robertnyman> Actually, when it comes to discussions, I see such a majority moving to Twitter instead of IRC, blog comments etc [03:02:01.0000] <Philip`> robertnyman: Danger is good [03:02:02.0000] <robertnyman> @Philip, It might be, yes :-) [03:02:03.0000] <Philip`> /me prefers a communication medium where it is possible to express coherent trains of thought [03:02:04.0000] <theMadness> robertnyman, a validation tool that validates not against a spec but against a different set of rules can be easily done. [03:03:00.0000] <annevk2> Philip`, that explains your persistent presence on IRC! [03:03:01.0000] <robertnyman> Also, regarding the validator, and I think it is also vital that the one hosted at W3C will have all options (not solely validator.nu), because most people will go there [03:04:00.0000] <jgraham> annevk2: Rather it presumes a persistent presence [03:04:01.0000] <robertnyman> @theMadness Sounds good - here's for hoping! [03:04:02.0000] <theMadness> Err, not by me or by the w3c. [03:04:03.0000] <theMadness> I meant by anyone. [03:04:04.0000] <Philip`> /me notes that he rarely actually expresses coherent trains of thought, but likes it to be possible [03:04:05.0000] <theMadness> I'm not a member of any WG. [03:05:00.0000] <theMadness> My main concern is provide a completely dumbfounded junior webdev perspective to the spec writers. :P [03:06:00.0000] <annevk2> theMadness, you're not on the WHATWG list? [03:06:01.0000] <theMadness> Nope. [03:06:02.0000] <annevk2> fair enough [03:07:00.0000] <theMadness> I should stop writing with capital letters and periods, it makes me look like I actually know stuff. [03:08:00.0000] <annevk2> well, your nick is theMadness... :p [03:08:01.0000] <hsivonen> robertnyman: would you want the spec to dictate an indent style, too? (not a rhetorical question) [03:08:02.0000] <theMadness> annevk2: there's a 'madness' guy who lurks around, too. [03:08:03.0000] <annevk2> hsivonen, I'd also like it to check whitespace between attributes and such :) [03:09:00.0000] <theMadness> Dare I say it? [03:09:01.0000] <theMadness> Tidy. [03:09:02.0000] <annevk2> hsivonen, and sometimes I'd like it to check 76-80 character line-wrapping depending on whether I edit something I have to read a unified diff off [03:09:03.0000] <annevk2> hsivonen, except for constructs that are ok to be longer than 76-80 characters [03:10:00.0000] <annevk2> but I doubt I'll ever get that functionality automatically [03:10:01.0000] <annevk2> unified diff will go away first :) [03:10:02.0000] <hsivonen> robertnyman: as for the style options feature on V.nu in general. Sam volunteered to implement it if the HTML5 Super Friends volunteered to spec it [03:11:00.0000] <robertnyman> hsivonen: Well, the indentation debate is pretty much never-ending, isn't it? But no, I don't think it should be in the spec [03:11:01.0000] <hsivonen> robertnyman: as far as I know, the Super Friends haven't followed up [03:11:02.0000] <robertnyman> For me, indentation is about style guides in the team [03:11:03.0000] <theMadness> Don't say superfriends. CSS squirrel ticks me off. :/ [03:11:04.0000] <hsivonen> robertnyman: aren't tokenizer-level details that don't even leak to the DOM even less checking-worthy than indentation? [03:11:05.0000] <robertnyman> Which is what HTML syntax could be too, but it's nice to have a validator for that [03:12:00.0000] <hsivonen> I should probably ping Sam and ask what the status of the syntax profile thingy is [03:12:01.0000] <robertnyman> Interesting about the SuperFriends, we'll have to see about that [03:12:02.0000] <annevk2> hsivonen, interesting thought [03:12:03.0000] <Philip`> /me remembers an old 2D platform game with a supersquirrel [03:12:04.0000] <hsivonen> and in any case, I should probably disable it on V.nu, because some people have already thought that the feature actually works as labeled [03:12:05.0000] <robertnyman> I think the details are interesting, as in comparison to what developers had before, and in line with the teaching of more strict code etcx [03:13:00.0000] <annevk2> from a DOM-perspective checking whitespace between tags makes total sense [03:14:00.0000] <hsivonen> annevk2: indeed, from an operational perspective, checking for whitespace issues makes more sense than checking for, e.g., tag case. [03:15:00.0000] <hsivonen> robertnyman: I think concern about this topic will subside once people come to terms with the truth about XHTML-as-text/html [03:16:00.0000] <robertnyman> Maybe [03:16:01.0000] <hsivonen> robertnyman: that said, my top priority as far as non-normative style issues go is reporting implied tags [03:16:02.0000] <jgraham> But people don't really care about how things actually work. They care about percieved surface syntax [03:17:00.0000] <hsivonen> jgraham: yeah. I suck at marketing. Maybe I should start handing out badges, too. :-( [03:17:01.0000] <robertnyman> But aren't you maybe overlooking what it's like for developers writing code, striving for consistent HTML styles? It might not matter for rendering, but it might matter a lot for teaching, documentation, team handover etc [03:17:02.0000] <Philip`> http://www.copysoft.com/back_to_the_forest.php - hooray, found it [03:17:03.0000] <hsivonen> robertnyman: I think consistent style belongs into the auto-reformat feature of a text editor [03:17:04.0000] <hsivonen> robertnyman: like Eclipse keeps my Java code style consistent [03:18:00.0000] <hsivonen> not javac [03:19:00.0000] <robertnyman> Right - personally I prefer a stand-alone tool for that. But isn't there a risk then that people will think that the validator doesn't really validate much, if you get my drift? [03:19:01.0000] <hsivonen> robertnyman: anyway, once I've implemented implied tag reporting, I intend to look into reporting unquoted attributes [03:19:02.0000] <hsivonen> robertnyman: (and implied tag reporting has to wait on some higher-priority Firefox work) [03:19:03.0000] <robertnyman> I understand, and I'm glad to hear that you will look at it :-) [03:19:04.0000] <hsivonen> robertnyman: reporting tag case is my lowest-priority item in this area [03:20:00.0000] <robertnyman> I understand. Personally, I'd say quotes on attributes are more important [03:20:01.0000] <hsivonen> robertnyman: on the contrary, it seems that occasionally the validator is perceived to validate too much [03:21:00.0000] <hsivonen> robertnyman: many times it's unease about it being *different* from what the W3C DTD validator did [03:21:01.0000] <robertnyman> Not if you ask me :-) [03:21:02.0000] <Philip`> hsivonen: You need to give out badges like http://www.qualidator.com/Wqm/en/TestWebsite/http_hsivonen.iki.fi/.aspx telling people the quality of their pages to three significant figures [03:21:03.0000] <robertnyman> Either way, please feel free to at least keep your eyes on the feedback at http://robertnyman.com/2009/11/27/the-html5-syntax-options-problem/ [03:22:00.0000] <hsivonen> robertnyman: if V.nu doesn't report something that the W3C DTD validator validating XHTML 1.0 reported, people are concerned that HTML5/V.nu isn't strict enough [03:22:01.0000] <robertnyman> Might be some indication on what devs think about it [03:22:02.0000] <hsivonen> robertnyman: when V.nu plugs a loophole in DTDs you could drive a truck through, there's always someone who is unhappy to become aware of an issue in their code [03:22:03.0000] <robertnyman> Yes, I believe that if it used to, for instance, validate quotes on attributes and now don't, they will feel something's missing [03:23:00.0000] <adactio> hsivonen: I can't overemphasise how much authors want linting options for HTML. I know it's technically not validating, but if people had the option to check for lowercase/quoted/self-closing, they would be *far* more eager to investigate HTML5. [03:23:01.0000] <robertnyman> Oh,a bsolutely [03:23:02.0000] <robertnyman> A quote I just read in a comment: "Fewer syntax options are simpler to learn, easier to validate, easier to parse and render and will make for more robust code which is more easily understood and tested." [03:23:03.0000] <hsivonen> adactio: I bet they don't really want lower case. They want canonical case. [03:23:04.0000] <robertnyman> From a developer's perspective [03:24:00.0000] <hsivonen> adactio: that is, I bet they don't want SVG-in-text/html camelCase stuff to be warned about if in lower case [03:24:01.0000] <adactio> hsivonen: Indeed. What they want are options e.g. "tell me if any elements are uppercase", "tell me if any elements are uppercase", "tell me if any elements aren't quoted". [03:25:00.0000] <theMadness> How about a simple check "xml compatibility" ? [03:25:01.0000] <adactio> sorry, meant "lowercase" in the second quote. [03:25:02.0000] <hsivonen> adactio: anyway, my take on those features is the same as around the time of Super Friends post [03:25:03.0000] <Philip`> theMadness: XML compatibility is not simple [03:25:04.0000] <theMadness> Which would make xhtml lovers squirm. [03:25:05.0000] <theMadness> Philip`, to achieve or to validate? [03:25:06.0000] <adactio> theMadness: but as hsivonen points out, that's just one example of a coding style. An all-uppercase coding style is equally valid. [03:25:07.0000] <hsivonen> adactio: basically, most stuff I want to offer eventually, but I have to get higher-priority Firefox stuff done first [03:26:00.0000] <adactio> ("valid" in a non-technical sense) [03:26:01.0000] <Philip`> theMadness: To understand what it means [03:26:02.0000] <jgraham> /me has no idea why anyone's desire to "investigate HTML5" should be coupled to the avalibility of tools that told them whether they accidentially held the shift key down whilst typing a tag name [03:26:03.0000] <hsivonen> adactio: and for the tag case checking item I don't yet have a solution that has a reasonable cost/benefit ratio [03:26:04.0000] <theMadness> adactio, just like having all the class names in pig latin. But you have to draw the line somewhere I guess. [03:26:05.0000] <adactio> hsivoven: Understood. I just wanted you to know how much this feature is desired. [03:26:06.0000] <Philip`> theMadness: Start by reading http://wiki.whatwg.org/wiki/HTML_vs._XHTML and then listing precisely what it means for an HTML document to have "xml compatibility" :-) [03:27:00.0000] <hsivonen> theMadness: in short, XML compatibility is not simple [03:27:01.0000] <theMadness> Philip`, to me it means be consumable by a simple xml reader. [03:27:02.0000] <hsivonen> theMadness: and people who say they want it usually only want it because they don't know the truth about what it entails [03:27:03.0000] <gsnedders> theMadness: It's hard to just make sure what you output is well-formed [03:27:04.0000] <theMadness> but I am apparently very misguided... [03:27:05.0000] <Philip`> theMadness: A simple XML reader can parse "<!DOCTYPE HTML><HTML><BoguS/></HTML>" just fine [03:28:00.0000] <adactio> jgraham: Sorry you don't understand it but there it is. People want lint tools. [03:28:01.0000] <Philip`> theMadness: so presumably you want more complex restrictions [03:28:02.0000] <theMadness> Tbh no. [03:28:03.0000] <theMadness> Maybe lowercase names/attributes. [03:29:00.0000] <hsivonen> adactio: anyway, if you'd like Sam to get some of this stuff done before I get to it, it would help if the Super Friends bothered to articulate what they *really* want on the level Sam requires [03:29:01.0000] <theMadness> But basically stuff that a dtd validator could easily validate. [03:29:02.0000] <jgraham> adactio: Oh clearly people want them. I just don't understand why they would be totally uninterested in any of the functional aspects of a technology unless it came packaged with tools to check for particular coding styles [03:30:00.0000] <hsivonen> theMadness: I think you don't *really* want lower case and instead want canonical case [03:30:01.0000] <adactio> hsivonen: what does this have to with Sam? We're not looking for changes to the spec, we're looking for features in a tool. [03:30:02.0000] <theMadness> Is there anything that is canonically uppercase? [03:30:03.0000] <Philip`> adactio: http://intertwingly.net/blog/2009/09/02/Polyglot-Validation [03:30:04.0000] <theMadness> But yeah, canonical case is right. [03:31:00.0000] <hsivonen> adactio: what Philip` said [03:31:01.0000] <Philip`> adactio: Sam was offering to patch the validator if he was told what was actually wanted [03:31:02.0000] <jgraham> adactio: I don't think people act in the same way for non-HTML technologies [03:31:03.0000] <hsivonen> theMadness: SVG-in-text/html has elements and attributes whose canonical case has upper case letters [03:31:04.0000] <hsivonen> theMadness: also one MathML attribute [03:32:00.0000] <theMadness> hsivonen, sure, I'm cool with whichever is the standard, no biggie. [03:32:01.0000] <adactio> hsivonen: I'll see if I can get test cases together. [03:33:00.0000] <hsivonen> patching the validator comes with the caveat, that I might reject patches related to case checking [03:33:01.0000] <theMadness> jgraham, that's because true programmer use them. [03:33:02.0000] <Philip`> jgraham: Non-HTML technologies are usually entirely new, whereas HTML5 is just a version update and you don't want serious tool regressions (like loss of XML-well-formedness checking) when updating [03:33:03.0000] <hsivonen> (because keeping the code base clean and performant is important, too) [03:34:00.0000] <theMadness> Unlike html, which is used by ... what's the canon there? untrue? false? noob? ... programmers. [03:34:01.0000] <jgraham> Philip`: I don't see how it is a "serious" tool regression [03:34:02.0000] <hsivonen> (if you can still call it clean with all the "NOCPP" stuff all over the place) [03:34:03.0000] <jgraham> and you can check if your markup is well formed by feeding it to an xml parser [03:34:04.0000] <jgraham> Which is rather trivial [03:35:00.0000] <hsivonen> (in fact, taking the time to patch the parser for case checking before discussing design is probably a bad way to do it) [03:35:01.0000] <theMadness> From a marketing standpoint it's sadly not trivial. [03:35:02.0000] <adactio> hsivonen: just for the record though, please note that we are *not* looking for a way to validate polyglot documents (a complicated task), just a way to check for canonical casing, quoted attributes, and (maybe) self-closing standalone elements. [03:35:03.0000] <theMadness> Ah the humanity. [03:35:04.0000] <hsivonen> adactio: quoted attributes is doable, self-closing is probably also doable [03:36:00.0000] <adactio> hsivonen: so canonical case is the biggest challenge? [03:36:01.0000] <jgraham> Philip`: (and also there are lots of incremental upgrades that will break tools e.g. Fortran 77 -> 90, C-C++, etc.) [03:36:02.0000] <hsivonen> adactio: the doability of the case stuff depends on coming up with a non-disruptive implementation [03:36:03.0000] <hsivonen> adactio: in terms of disruption to the code base, yes [03:36:04.0000] <gsnedders> adactio: The problem with canonical case is taht parsers normalize internally, and validators operate on parse trees normally [03:36:05.0000] <adactio> hsivonen: Understood. [03:37:00.0000] <adactio> gsnedders: Ah, I see. See validators aren't necessarily looking at the "raw" source, they're looking at something that has already been parsed. [03:38:00.0000] <gsnedders> adactio: Right, and for syntax errors they report back parse errors [03:38:01.0000] <hsivonen> adactio: the parser codebase tries to be at least 4 things at once [03:38:02.0000] <adactio> hsivoven: and if you throw lint options in there, it's trying to be 5 things I guess. :-) [03:39:00.0000] <hsivonen> adactio: 1) a parser suitable for validation, 2) a parser suitable for browsers, 3) a never-fatal-error-throwing parser for non-browser apps and 4) a streaming parser for non-browser apps [03:40:00.0000] <hsivonen> at this point, I don't want changes that would deoptimize performance in cases other than #1 [03:40:01.0000] <hsivonen> especially #2 [03:41:00.0000] <adactio> Hmm... I wonder if it wouldn't be better if a lint tool were completely separate (it could be built just using regular expressions) and then a separate tool could run one document through 1) the validator and 2) the lint tool before reporting back the results of both. [03:41:01.0000] <Philip`> Would you have to do something like do the case checking in the tokeniser (before it's normalised the tag names), so that it doesn't disrupt the rest of the code? (I guess that should be feasible since the required case is never context-dependent (I hope)) [03:41:02.0000] <hsivonen> adactio: no regular expressions! http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 [03:42:00.0000] <hsivonen> Philip`: it's context-dependent [03:42:01.0000] <adactio> hsivonen: even if it's just for a quick'n'dirty lint check? [03:42:02.0000] <theMadness> Wait, I was told that the mantra was that regexes couldn't parse xml/html. [03:42:03.0000] <hsivonen> Philip`: although I think it's never context-dependent and conforming [03:42:04.0000] <theMadness> Not decently at least. [03:43:00.0000] <hsivonen> Philip`: assuming <textArea> is zapped [03:43:01.0000] <Philip`> hsivonen: I was assuming non-conforming didn't matter (since the case error would be overridden by the invalid-name error) [03:43:02.0000] <hsivonen> (and <textArea> has always been zapped since before SVG 1.2 Tiny went to REC over formal objections) [03:43:03.0000] <Philip`> hsivonen: though I forgot about <textArea> [03:44:00.0000] <hsivonen> Philip`: probably the most reasonable implementation would be [03:44:01.0000] <hsivonen> 1) ignoring context [03:44:02.0000] <adactio> hsivonen: okay, so no regular expressions. ;-) But still, I think perhaps a lint tool would be better if it were separate from a validator (but that would still allow a single service to run a document through both). [03:44:03.0000] <hsivonen> 2) making the tokenizer not case fold first [03:44:04.0000] <hsivonen> 3) making the tokenizer case-check at the end of a name [03:45:00.0000] <hsivonen> 4) making the tokenizer case-fold at the end of the name after the check [03:45:01.0000] <hsivonen> and using some monstrosity equivalent to the C preprocessor for toggling this behavior ahead of compile time [03:47:00.0000] <Philip`> Rather than a preprocessor monstrosity, couldn't you do something like subclass the tokeniser and override the name-parsing functions and use the magic of virtual calls? [03:47:01.0000] <hsivonen> adactio: implementing a lint without a proper parser is a fool's errand [03:48:00.0000] <hsivonen> Philip`: possibly [03:48:01.0000] <Philip`> That seems the more Javaish way to vary functionality without using if()s [03:49:00.0000] <hsivonen> Philip`: currently in Java, every character goes through a method that is a no-op in the usual tokenizer and overridden in the error reporting subclass [03:49:01.0000] <hsivonen> Philip`: and inlined away in C++ [03:49:02.0000] <hsivonen> so it doesn't translate to a virtual in C++ [03:49:03.0000] <adactio> hsivonen: I think there's value in having something that works 80% of the time if the alternative is having nothing (which works 0% of the time) which is what authors have now (in terms of linting tools). [03:49:04.0000] <Philip`> Actually, why not just use if()s to enable the slightly-slower-but-case-checking tokeniser mode? [03:50:00.0000] <hsivonen> so yeah, using 'virtual' methods in Java would be acceptable when organized such that they compile away in C++ [03:50:01.0000] <hsivonen> Philip`: if on a boolean is slower than JITing away a no-op method on HotSpot [03:51:00.0000] <Philip`> If the boolean is constant then surely the whole if block would get JITted away [03:51:01.0000] <hsivonen> Philip`: if it's static final, then yes, I suppose [03:52:00.0000] <hsivonen> Philip`: I need a preprocessor mostrosity for splitting the tokenizer loop for .jar release anyway, though [03:52:01.0000] <Philip`> If you're toggling it ahead of compile time then it could easily be static final [03:53:00.0000] <Philip`> Might as well use the preprocessor monstrosity for as little as possible :-) [03:54:00.0000] <hsivonen> the reason why I haven't done a .jar release in a long time is that I lack the proprocessor monstrosity [03:55:00.0000] <Philip`> Is this because of the HotSpot maximum method size? [03:55:01.0000] <hsivonen> Philip`: yes [03:55:02.0000] <Philip`> Fun [03:56:00.0000] <hsivonen> Philip`: I can't really fix it in documentation for AppEngine and such [03:56:01.0000] <hsivonen> (actually, I have no clue if AppEngine runs a HotSpot derivative and has the same limitation) [03:57:00.0000] <Philip`> (I suppose it's better than C++ optimisers that have no maximum limits and happily use 2GB of memory on a single function and then crash after half an hour) [03:57:01.0000] <hsivonen> https://bugzilla.mozilla.org/show_bug.cgi?id=501082 [03:58:00.0000] <hsivonen> the parser has so far hit compiler limitations in at least 4 compilers! [03:58:01.0000] <hsivonen> (MSVC, GCC, GWT and HotSpot) [03:59:00.0000] <Philip`> Is there a particular "and such" which you know has the same limit? [03:59:01.0000] <Philip`> If not, it seems like a (currently) purely hypothetical problem [04:00:00.0000] <hsivonen> Philip`: any environment where the person who opts to add a .jar doesn't have control over the JVM startup script for whatever bureaucratic reason [04:00:01.0000] <hsivonen> Philip`: for example, because .jars are chosen by a system supplier but JVM startup is performed by a customer [04:00:02.0000] <hsivonen> and the customer can't be botherede to read special instructions [04:00:03.0000] <Philip`> (Actually, I'm wrong even if everybody could control their JVM, since it would only be purely hypothetical if everybody read the documentation) [04:01:00.0000] <Philip`> (and I never read the parser documentation myself when I use it, other than the minimum necessary to make it compile and run) [04:01:01.0000] <hsivonen> /me goes back to implementing the new script data states [04:26:00.0000] <gsnedders> hsivonen: http://jsbeautifier.org/ is b0rked, I think new script data states fix this [04:26:01.0000] <hsivonen> gsnedders: known bug [04:26:02.0000] <hsivonen> (trying to fix it right now) [05:21:00.0000] <hsivonen> http://www.zeldman.com/2009/11/26/a-zing-too-far/#comment-50153 [05:24:00.0000] <Dashiva> Setting the record straight about misleading a generation of coders just because the w3c validator didn't support lint checking... [05:26:00.0000] <annevk2> /me yawns [05:26:01.0000] <Dashiva> Every repost is repost repost, as they say elsewhere [05:44:00.0000] <adactio> Dashiva: Your use of the word "misleading" is misleading. It's also just plain wrong. [06:06:00.0000] <Dashiva> adactio: I'm sure you believe that, but just saying it won't make it so. [06:22:00.0000] <adactio> Dashiva: you are either misremembering or misunderstanding (not necessarily deliberately) but either way, what you claim is wrong. [06:34:00.0000] <annevk> Well, several people have certainly been "misled" in one way or another. Claiming that XHTML is faster, easier to parse, works better on mobiles, etc. [06:34:01.0000] <annevk> Gives you the ability to use namespaces, ... [06:35:00.0000] <annevk> It took me quite a while to realize how it really worked. [06:36:00.0000] <jgraham> Makes you more attractive to the opposite sex [06:36:01.0000] <gsnedders> 'Which country is smaller, China or Belgium?' --- what a terrible CAPTCHA [06:37:00.0000] <TabAtkins> Argh, my fingers keep tying "lolcalhost" [06:37:01.0000] <annevk> not lolcat? [06:37:02.0000] <AryehGregor> lolcathost [06:38:00.0000] <gsnedders> /me sighs... [06:38:01.0000] <gsnedders> I obvious can't type fast enough nowadays [06:38:02.0000] <TabAtkins> hehe [06:39:00.0000] <annevk> jgraham, I fail to see the joke :/ [06:39:01.0000] <gsnedders> annevk: XHTML is better in every way! [06:41:00.0000] <jgraham> annevk: I was thinking somewaht of http://www.jwz.org/doc/groupware.html [06:46:00.0000] <jgraham> (although now you've made me think about it really far too much I guess XHTML might actually have been good for that to some extent because it probably helped people get speaking gigs on the conference circuit allowing them to become markup rockstars with all the benefits that implies) [06:46:01.0000] <jgraham> (the moral of the story being: never let me think about offhand comments I make) [06:47:00.0000] <TabAtkins> Huh. The "wrap a div around the figure" trick appears to work. It makes IE7 forge a proper DOM. [06:47:01.0000] <annevk> aah, you want to be a markup rockstar jgraham? [06:47:02.0000] <jgraham> annevk: I'm good thanks :) [06:48:00.0000] <TabAtkins> It still styles things slightly funky if you apply the styles to <figure> directly (having made it a normal element through createElement()), but if you style the <div class=figure> instead, it all looks great. [06:48:01.0000] <hsivonen> TabAtkins: <div> is scoping [06:48:02.0000] <TabAtkins> I'll pretend I understand what that implies. [06:50:00.0000] <TabAtkins> (If someone could explain what that implies, it would be great.) [06:50:01.0000] <AryehGregor> Why should we? You understand, right? [06:50:02.0000] <TabAtkins> I'm just pretending to. [06:50:03.0000] <AryehGregor> Oh, okay then. [06:51:00.0000] <AryehGregor> We'd better not explain, or it will blow your cover. [06:53:00.0000] <hsivonen> certain searches in the tree builder stack terminate when encountering a scoping element [06:54:00.0000] <AryehGregor> Oh, well, that clears everything up, then. [06:55:00.0000] <TabAtkins> /me nods sagely, stroking his beard. [06:55:01.0000] <AryehGregor> Do you have a beard? [07:06:00.0000] <TabAtkins> AryehGregor: Yes. [07:13:00.0000] <hsivonen> woohoo! zcorpan's script escaping design fixed http://jsbeautifier.org/ [07:13:01.0000] <hsivonen> I'll head home, but try server builds should emerge at https://build.mozilla.org/tryserver-builds/hsivonen⊙if/ [07:15:00.0000] <gsnedders> hsivonen: Does validator.nu not have a textarea input any more? [07:16:00.0000] <hsivonen> gsnedders: it should... [07:16:01.0000] <hsivonen> gsnedders: it has for me [07:17:00.0000] <gsnedders> Hmm, in Minefield I see a dropdown beside the top field, in Opera I just see "document" [07:18:00.0000] <gsnedders> Oh, I have Javascript disabled. [07:19:00.0000] <zcorpan> hsivonen: nice [07:19:01.0000] <hsivonen> zcorpan: thank you [07:20:00.0000] <zcorpan> anytime [07:23:00.0000] <gsnedders> Even at 7am on Sunday morning? [07:42:00.0000] <zcorpan> jeremy's demonstration didn't use the createElement hack [07:42:01.0000] <zcorpan> but it appears to work fine with the hack too [07:43:00.0000] <zcorpan> unless ie8 compat mode is lying [07:48:00.0000] <TabAtkins> Who's in charge of the Selectors API? jgraham? [07:49:00.0000] <annevk2> it's at the top of the spec dude [07:49:01.0000] <annevk2> rtfs [07:53:00.0000] <TabAtkins> Bah, I had to actually google for that. Never mind that it took approximately as much time to do so as it took to ask the question, let alone wait for it to be answered. [07:53:01.0000] <TabAtkins> So! Anne! Isn't there already some plans to do some manner of namespace support in v2? [07:56:00.0000] <jgraham> /me wonders why he was the first guess [07:56:01.0000] <jgraham> Also why spotify is being so crappy [07:58:00.0000] <TabAtkins> jgraham: I dunno. My brain was telling me that I had argued with you about it in IRC. It's possible I was arguing with Lachy instead. [08:01:00.0000] <gsnedders> JohnResi1: Would it be possible to make test names constant in JQuery, or at least add some way to get constant test names? [08:02:00.0000] <jgraham> TabAtkins: I did discuss it on IRC at least once I guess [10:09:00.0000] <Philip`> With RDFa now planning to allow full URIs and CURIEs (and Safe CURIEs) in each attribute, I wonder how many users will forget to declare prefixes and then proceed to process their data using the prefixed forms [10:09:01.0000] <Philip`> i.e. generating a triple like <http://...> <cc:whatever> <http://...> (where "cc:whatever" is a full unabbreviated URI) and then happily processing the triples like that [10:09:02.0000] <gratz|home> CURIEs? [10:10:00.0000] <Philip`> You don't want to know :-) [10:10:01.0000] <gratz|home> oh no i do.. [10:11:00.0000] <Philip`> http://www.w3.org/TR/rdfa-syntax/#sec_3.8. [10:11:01.0000] <Philip`> but not http://www.w3.org/TR/curie/ because that's a bit different [12:26:00.0000] <foolip> Philip`: to be fair, aren't they just responding to the criticism brought forward? [12:31:00.0000] <Philip`> foolip: Yes, but that doesn't stop the outcome from seeming likely to cause confusion [12:32:00.0000] <foolip> time will tell :) [12:33:00.0000] <foolip> meanwhile I'm writing mail about microdata and enjoying it (don't understand my own fascination with metadata, but there it is) 2009-11-28 [22:42:00.0000] <Templarian1> So, reading through the latest draft I've noticed that letter-spacing isn't explained for the drawText function of the canvas object? Anyone know if this was intentional? [22:46:00.0000] <Templarian1> Oh, just looked at it and it hit me it's only showing CSS1 font properties. [05:41:00.0000] <Lachy> haha, Microsoft "enables Silverlight on iPhones" by sending a QuickTime compatible file (presumably MP4) and the <video> element. :-) http://arstechnica.com/apple/news/2009/11/microsoft-enables-silverlight-video-streaming-to-iphones.ars [05:42:00.0000] <Philip`> Old news :-p [05:42:01.0000] <Lachy> how old? [05:42:02.0000] <Philip`> It was discussed here a couple of days ago or something [05:43:00.0000] <Lachy> oh [05:44:00.0000] <Philip`> It's streaming (not a plain MP4 file), and supported by the new IIS media server or something, and Microsoft isn't claiming they've done anything with Silverlight on iPhones [05:44:01.0000] <Philip`> but news stories are getting things a bit confused [05:44:02.0000] <Philip`> (probably since it was being discussed at the same time as new Silverlight was being discussed) [05:46:00.0000] <Lachy> yeah, that's why I thought it was so funny, cause the article made it sound like it had something to do with silverlight beyond just providing an alternative for it for streaming [05:47:00.0000] <Philip`> Does anybody use Silverlight for any purpose other than video? [05:47:01.0000] <Philip`> At least Flash is used for games too [05:50:00.0000] <Lachy> Microsoft tries to for some things on their site, though I'm not sure exactly what cause I refuse to install it [05:58:00.0000] <annevk2> /me wonders what the context is for http://twitter.com/KennyL/statuses/6141544733 [05:58:01.0000] <annevk2> anyone? [05:59:00.0000] <Lachy> ask @KennyL [06:01:00.0000] <annevk2> good point, done [06:19:00.0000] <Huvet> html5lib: bug 113 and bug 125 seems to be duplicates [06:19:01.0000] <Huvet> I think [07:11:00.0000] <annevk2> iPhone does MPEG-2? [07:11:01.0000] <annevk2> did not know that [07:11:02.0000] <annevk2> /me thought it was MPEG4 [07:15:00.0000] <Philip`> annevk2: Microsoft's thing is H.264 video and AAC audio in an MPEG-2 transport stream [07:17:00.0000] <annevk2> k [07:17:01.0000] <annevk2> tha [07:17:02.0000] <annevk2> hmm, Oslo is cold :/ [07:18:00.0000] <annevk2> at least here it's above 5 [07:18:01.0000] <annevk2> btw, if anyone has tips for a short hiking trip somewhere in Europe next month let me know [07:20:00.0000] <annevk2> going away in January to Patagonia and I should prolly do a somewhat lengthy walk before that :) [07:22:00.0000] <ttepasse> The classic is http://en.wikipedia.org/wiki/Way_of_St._James [07:23:00.0000] <ttepasse> for some definition of "short" or "lengthy" [07:26:00.0000] <annevk2> ah yeah, hmm [07:27:00.0000] <jgraham> How long is "somewhat lengthy"? And over what type of terrain? [07:27:01.0000] <ttepasse> Apart from the main road in northern spain there is this network of ways through europe - maybe there is a sub-path in .nl? [07:29:00.0000] <jgraham> There are things like the pennine way in the UK [07:29:01.0000] <jgraham> Or costal paths in e.g. corsica [07:30:00.0000] <annevk2> somewhat lengthy is 40k or so [07:30:01.0000] <annevk2> well, a day [07:30:02.0000] <annevk2> though it depends on the terrain of course [07:31:00.0000] <annevk2> and short is a couple of days, like 2-3 or so [07:31:01.0000] <annevk2> /me isn't really sure yet [07:31:02.0000] <annevk2> /me thinks about flying to bilbao [07:32:00.0000] <jgraham> Well there are probably some reasonably interesting bits of England that are not totally inaccessible in January. But maybe further south would be better [07:32:01.0000] <annevk2> still want to see the guggenheim there [07:32:02.0000] <annevk2> ah, next month means December :) [07:33:00.0000] <annevk2> but yeah, England might be fun [07:33:01.0000] <jgraham> Then too :) [07:33:02.0000] <annevk2> Scotland or Wales maybe? [07:33:03.0000] <jgraham> Scotland in the winter can be farly tough, at least the mountainous parts [07:34:00.0000] <annevk2> fairly though sounds compelling :) [07:34:01.0000] <annevk2> maybe I should ask Tarquin [07:34:02.0000] <annevk2> though that'd be in Wales [07:38:00.0000] <jgraham> Well I think you would want crampons and so on for Scotland at least [07:40:00.0000] <jgraham> (at least in the mountains) [07:40:01.0000] <annevk2> interesting [07:40:02.0000] <annevk2> I don't have those [07:40:03.0000] <annevk2> I do have sufficient clothing prolly [07:43:00.0000] <jgraham> I'm not really too sure because I haven't done that much winter walking. [07:45:00.0000] <annevk2> me neither [07:46:00.0000] <annevk2> well, once in Nikko [07:46:01.0000] <annevk2> on normal shoes and too cold clothing, hah [09:07:00.0000] <Lachy> annevk2, looks like that quote from @KennyL earlier comes from here http://www.webmonkey.com/blog/Tim_Berners-Lee_Sees_Promise__Challenges_in_HTML5 [09:24:00.0000] <annevk2> nice [09:30:00.0000] <annevk2> my MacBook completely froze [09:30:01.0000] <annevk2> scary [09:30:02.0000] <annevk2> had to reboot [10:20:00.0000] <hsivonen> http://standardssuck.org/what-devs-want-from-html5 breaks badly with the latest HTML5 parser changes :-( [10:22:00.0000] <Philip`> hsivonen: It looks horrendously broken in Opera too [10:23:00.0000] <Pure> IE8 too [10:23:01.0000] <Pure> though, that's not html5 [10:24:00.0000] <Philip`> hsivonen: Breaking in HTML5-enabled Firefox is just increasing interoperability with other browsers [10:24:01.0000] <hsivonen> standards must suck interoperably [10:26:00.0000] <Philip`> <li class="commentbody"altid="comment-1258" <div class="com_info"> [10:26:01.0000] <Philip`> That can't be good [10:26:02.0000] <Pure> Nope [10:26:03.0000] <hsivonen> ok. so the problem is tokenizing < inside a tag like IE [10:27:00.0000] <hsivonen> maybe aligning with IE here isn't the best solution [10:28:00.0000] <Philip`> Getting the site fixed is the best solution [10:29:00.0000] <Philip`> since it's broken for almost everyone [10:29:01.0000] <hsivonen> IE's tokenization is considered to be axiomatically maximally Web compatible [10:29:02.0000] <hsivonen> byt parts of Gecko and WebKit might be more Web compatible [10:29:03.0000] <hsivonen> *but [10:31:00.0000] <TabAtkins_> Not broken in Chrome, as far as I can tell. At least, it all looks fine. Definitely not "horrendously broken". [10:32:00.0000] <annevk2> i think i've seen sites depend on both [10:32:01.0000] <annevk2> so you can't win [10:43:00.0000] <hsivonen> who can fix it? Marcos? 2009-11-29 [02:00:00.0000] <MikeSmith> hsivonen: http://jing-trang.googlecode.com/issues/attachment?aid=4962940574949685543&name=patch.schematron.1 or http://jing-trang.googlecode.com/issues/attachment?aid=5782250702825838048&name=patch.schematron.2 [02:00:01.0000] <MikeSmith> take your pick [02:24:00.0000] <jgraham> gsnedders: yt? [02:24:01.0000] <jgraham> /me guesses not [02:41:00.0000] <MikeSmith> hsivonen: http://jing-trang.googlecode.com/issues/attachment?aid=-5933297320680480785&name=patch.r2320.1 [02:45:00.0000] <Sirisian> curious is there a way to see all of the bug/requests/comments in the bugzilla page? Like I submitted a comment, but I want to see everyone else's comments in the HTML 5 spec. [02:51:00.0000] <Philip`> Sirisian: Like http://www.w3.org/Bugs/Public/buglist.cgi?quicksearch=product%3Ahtml ? [02:51:01.0000] <Sirisian> how did you do that? [02:52:00.0000] <Philip`> I used the search feature :-) [02:52:01.0000] <Sirisian> did you search for something? [02:53:00.0000] <Philip`> product:html [02:53:01.0000] <Sirisian> isn't that a bit unintuitive? [02:54:00.0000] <Philip`> Yes [02:55:00.0000] <Philip`> (There's a more complex search form that requires less magic, though) [02:55:01.0000] <Sirisian> You'd think that with all of these web people someone would have taken an HCI class :( [03:06:00.0000] <jgraham> Sirisian: It's more "bugzilla developers" than "web people" [03:10:00.0000] <MikeSmith> bugzilla is that way by design [03:10:01.0000] <MikeSmith> maybe the developers consider it an intelligence test [03:11:00.0000] <MikeSmith> I think they slept during their HCI classes [03:11:01.0000] <jgraham> MikeSmith: Just because something is "by design" doesn't mean it's a good idea :) [03:11:02.0000] <jgraham> /me doesn't actually mind bugzilla that much [03:14:00.0000] <MikeSmith> mentioning bugzilla and HCI in the same sentence causes a momentary cross-dimensional warp that provides an small chance for one of the Old Ones to pass back through and slaughter us all [03:14:01.0000] <MikeSmith> so be careful about that [03:14:02.0000] <Philip`> Maybe it's designed for experienced users rather than casual users [03:14:03.0000] <MikeSmith> it's designed for users with a high pain threshold [03:14:04.0000] <MikeSmith> either that or masochists [03:15:00.0000] <MikeSmith> hurt me again, please, bugzilla 2009-11-30 [23:05:00.0000] <gsnedders> jgraham: I'm here now, but I guess you're still asleep. [03:47:00.0000] <gsnedders> http://blogs.msdn.com/ie/archive/2009/11/23/ie8-smartscreen-in-action.aspx --- more codec argument fun? [04:16:00.0000] <MikeSmith> zcorpan: http://qa-dev.w3.org:8888/?doc=http%3A%2F%2Fdev.w3.org%2Fhtml5%2Ftests%2Fvalidation%2Ffull%2Finvalid%2Fobsolete%2Fcenter.html [05:16:00.0000] <zcorpan_> MikeSmith: cool [05:18:00.0000] <MikeSmith> zcorpan_: see also http://qa-dev.w3.org:8888/?doc=http%3A%2F%2Fdev.w3.org%2Fhtml5%2Ftests%2Fvalidation%2Ffull%2Finvalid%2Fobsolete%2Flang-deprecated.html [05:18:01.0000] <MikeSmith> the "Use ro instead." part is new [05:19:00.0000] <MikeSmith> zcorpan_: if you have any open non-parser v.nu bugs that you want me look at, let me know [05:20:00.0000] <MikeSmith> I've resolved all that I had assigned to myself [06:15:00.0000] <MikeSmith> hendry: w3c is not really responsible for the URL/URI/IRI terminology screwup [06:17:00.0000] <timz> MikeSmith: v.nu == validator.nu ? [06:19:00.0000] <MikeSmith> timz: yep [06:20:00.0000] <MikeSmith> hendry: I wanted to ask you about how come you have that regex replace in you validation script, to remove the quotes .. was wondering if you did that because you ran into problems with the quotes, or just because you were annoyed by them [06:21:00.0000] <MikeSmith> timz: you have any validator.nu bugs in want of fixing? [06:21:01.0000] <timz> dunno if it is a parser thing but : lang="us-EN" gives an error.. bad ISO language ? [06:21:02.0000] <timz> in html5 validation [06:21:03.0000] <Philip`> You want lang="en-US" [06:22:00.0000] <timz> sorry i meant that [06:22:01.0000] <timz> http://depulz.nl/rdfa/city.html [06:22:02.0000] <timz> gives the error [06:23:00.0000] <Philip`> That has lang="us-EN" [06:23:01.0000] <Philip`> You want lang="en-US" [06:23:02.0000] <timz> argh [06:23:03.0000] <othermaciej> MikeSmith: who did cause the terminology screwup? [06:24:00.0000] <MikeSmith> othermaciej: a lot of people I guess [06:24:01.0000] <timz> my bad, it validates now.. [06:27:00.0000] <MikeSmith> the effectiveness of w3c-bashing gets eroded when people misuse it.. it should best be reserved to stuff that w3c is really to blame for -- like the DOM, and like taking 10 years to get around to chartering a working group to deliver a major update to HTML [06:29:00.0000] <Philip`> /me blames the W3C for the web [06:30:00.0000] <Dashiva> Can we blame w3c for RDF, or is that just individuals who happen to be associated with w3c? [06:30:01.0000] <jgraham> I thought Steve Jobs was responsible for the RDF [06:31:00.0000] <Dashiva> Wrong RDF [06:31:01.0000] <Dashiva> Besides, he just stole it [06:31:02.0000] <Lachy> huh? [06:31:03.0000] <Lachy> what has Steve Jobs got to do with RDF? [06:32:00.0000] <Dashiva> Reality distortion field [06:32:01.0000] <Lachy> ah [06:32:02.0000] <daedb> Steve Jobs uses his RDF to make the W3C create the other RDF, obviously. [06:33:00.0000] <MikeSmith> Dashiva, well, W3C didn't invent RDF [06:34:00.0000] <MikeSmith> one guy did [06:34:01.0000] <timz> tbl ? [06:34:02.0000] <Dashiva> Yeah, but it takes a village to raise the child [06:34:03.0000] <Philip`> Did Steve Jobs make Wife Swap too? [06:34:04.0000] <MikeSmith> the W3C just sorta built a temple around it, after it was invented [06:34:05.0000] <workmad3> w3c doesn't create anything... it just standardises other creations to give them a thin veneer of respectability and bog down any form of progress... [06:35:00.0000] <gsnedders> I mean, there were 12 year old kids on the RDF WG! :P [06:35:01.0000] <Philip`> workmad3: I think you mean "to encourage cooperation and interoperability between vendors" [06:35:02.0000] <workmad3> Philip`: oh yeah, that's the one [06:35:03.0000] <workmad3> sorry for the typo ;) [06:35:04.0000] <Philip`> Easy mistake to make [06:35:05.0000] <MikeSmith> w3c invented XHTML2 [06:36:00.0000] <gsnedders> So, your employer invented something useless is what you mean? [06:37:00.0000] <MikeSmith> XHTML2 wasn't useless.. it was a necessary step towards enlightenment [06:38:00.0000] <MikeSmith> the child has to stumble before it learns to walk [06:38:01.0000] <Philip`> "I have not failed, I've just found 10,000 ways that won't work." [06:38:02.0000] <MikeSmith> get burned in order to learn to be afraid of fire [06:40:00.0000] <Dashiva> /tweet @MikeSmith is encouraging setting fire to babies [06:41:00.0000] <MikeSmith> Dashiva: no, just burning them a little bit [06:43:00.0000] <Dashiva> A minor loss of accuracy is acceptable in all journalism [06:43:01.0000] <MikeSmith> the zen master asked, "What is the sound of one hand clapping." [06:43:02.0000] <MikeSmith> ... and the answer was, XHTML2 [06:44:00.0000] <gsnedders> MikeSmith: Beauty. [06:45:00.0000] <gsnedders> (and that is truth.) [06:47:00.0000] <Philip`> And then the zen master pulled its eyeball out [06:47:01.0000] <Philip`> /me wonders if that's zen or something else [06:48:00.0000] <zcorpan_> MikeSmith: i can clap with one hand [06:53:00.0000] <MikeSmith> there's a whole lot of things can be done with one hand [06:54:00.0000] <MikeSmith> I did a presentation at Reboot once, called Ten Things You Can Do With the Palm of Your Hand [06:55:00.0000] <MikeSmith> it included the word "wank" as well as the work "spank".. which had a nice kind of symmetry to it [06:55:01.0000] <Dashiva> I see. http://8.media.tumblr.com/tumblr_ktwekyfFlc1qzschmo1_500.png [06:59:00.0000] <MikeSmith> Dashiva: lovely. And while we're on the subject of wanking, I'm wondering if anybody here has seen the issue of Playgirl with Sarah Palin's non-son-in-law yet [07:02:00.0000] <danbri> /me wanders past ... can I ask a question about HTML, or did I get the wrong channel? [07:02:01.0000] <jgraham> You can [07:02:02.0000] <danbri> say I have timed annotations to display over a video, ... can I expect nice APIs from HTML5 eg. call back linked to milliseconds offset? how are people doing subtitles? [07:02:03.0000] <danbri> /me doesn't remember seeing anything, googles again [07:06:00.0000] <jgraham> danbri: It is an ongoing discussion; see recent WHATWG threads and [07:06:01.0000] <jgraham> https://wiki.mozilla.org/Accessibility/HTML5_captions_v2 [07:06:02.0000] <jgraham> and [07:06:03.0000] <danbri> thanks for the pointer [07:06:04.0000] <jgraham> http://wiki.whatwg.org/wiki/Video_Overlay [07:07:00.0000] <danbri> do browsers have much implemented already? [07:07:01.0000] <danbri> /me working on wiring up remote remote controls... [07:07:02.0000] <zcorpan_> i think the nice api has been specced, redesigned, dropped, redesigned [07:07:03.0000] <danbri> heh [07:07:04.0000] <zcorpan_> but not actually implemented [07:07:05.0000] <danbri> /me can use an iphone to create annotations, but that's only fun if there's a way to display 'em [07:07:06.0000] <danbri> ok i'll click around, cheers [07:21:00.0000] <miketaylr> danbri: here's a jquery plugin that you could hack for annotations: http://paulirish.com/demo/annotate [07:24:00.0000] <danbri> ooh thanks [07:25:00.0000] <foolip> danbri: if you have some input (as an author) on how to do this nicely, please do leave feedback [07:25:01.0000] <danbri> will do, if i think of anything! [07:25:02.0000] <foolip> /me spent half the weekend writing http://wiki.whatwg.org/wiki/Video_Overlay [07:26:00.0000] <foolip> (the other half on microdata, haha) [07:26:01.0000] <danbri> i tihnk i need to set up an atompub server or similar to receive annotations from phone first... [07:26:02.0000] <danbri> microdata, the lovechild of microformats and rdfa? [07:26:03.0000] <foolip> danbri: I guess what you're asking for is a simple cue range/time range callback API? [07:26:04.0000] <foolip> danbri: yes, that microdata [07:27:00.0000] <foolip> except there's not a whole lotta love involved [07:27:01.0000] <danbri> the rdfa folk are saying 'but it looks nothing like me!'...? ;) [07:28:00.0000] <foolip> they're saying different things, most of which amount to "we have different priorities and values" [07:28:01.0000] <danbri> i think i might be asking for that... basically i expect to have piles of time-offset bits and pieces (eg. tags that relate a bit of a video to metadata expressed with dbpedia/wikipedia URIs, sound clips, ... rdfa/microdata stuff yes) [07:28:02.0000] <foolip> self-promotion: http://blog.foolip.org/2009/08/23/microformats-vs-rdfa-vs-microdata/ [07:28:03.0000] <danbri> what are you making with microdata? [07:29:00.0000] <zcorpan_> i think foolip is just implementing it to annoy rdfa people [07:29:01.0000] <danbri> if he's doing it with neo4j, it should be a good testbed environment for mixing microdata w/ other rdf stuff [07:30:00.0000] <foolip> danbri: I'm just trying to implement the DOM API (http://gitorious.org/microdatajs), then I'll see if it's actually useful for a JavaScript-enhanced neo4j-webservice, basically [07:30:01.0000] <foolip> danbri: you know about neo4j, the coolest database on earth? [07:30:02.0000] <gsnedders> neo4j? [07:31:00.0000] <gsnedders> /me hopes that doesn't mean"for Java" [07:31:01.0000] <foolip> it sure does [07:31:02.0000] <foolip> and it's a joy to work with [07:31:03.0000] <foolip> of course I'm biased because it's my best friend's product/company [07:32:00.0000] <danbri> /me has seen a few mentions of neo4j but never investigated properly [07:32:01.0000] <foolip> gsnedders: but if you don't like Java, adding a webservice on top of it is exactly what you'd want ;) [07:32:02.0000] <danbri> nice writeup foolip [07:32:03.0000] <foolip> danbri: do read the post by Jeni, it makes many good points "from the other side" [07:33:00.0000] <foolip> I'd mention Shelley too, but then she'd swoop down and say hi [07:33:01.0000] <gsnedders> /me may be bias seeming he read that post on a coach with foolip in the seat behind [07:33:02.0000] <foolip> hi Shelley, we all know you're grepping the logs [07:33:03.0000] <danbri> /me is on all sides [07:34:00.0000] <danbri> think i saw jeni's at the time [07:51:00.0000] <erlehmann> i want to update my creative commons microdata markup generator [07:51:01.0000] <erlehmann> so are there more examples than http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#examples-1 ?? [07:53:00.0000] <erlehmann> the new synthax is confusing [07:53:01.0000] <foolip> erlehmann: can you elaborate? [07:53:02.0000] <erlehmann> foolip, http://daten.dieweltistgarnichtso.net/src/cc-license-markup/generator2.xhtml [07:53:03.0000] <erlehmann> this generates markup according to an old version of the spec [07:54:00.0000] <erlehmann> when <figure> had <legend> and so on [07:54:01.0000] <erlehmann> i want to update it [07:54:02.0000] <foolip> right [07:54:03.0000] <foolip> is there any part in particular which is confusing? [07:54:04.0000] <foolip> otherwise it's just s/item/itemscope/ and then some, right? [07:55:00.0000] <erlehmann> foolip, itemscope is used for <figure>, right ? [07:56:00.0000] <foolip> yes [07:56:01.0000] <foolip> oh, I see you're not looking at the right spec [07:57:00.0000] <foolip> http://www.whatwg.org/specs/vocabs/current-work/#licensing-works [07:57:01.0000] <foolip> there's an example which is more or less exactly what you want [07:58:00.0000] <foolip> although the <dd>/<dt> issue still seems to be in flux [07:58:01.0000] <zcorpan_> wasn't the conclusion to just add a wrapping div if you care about ie7? [07:59:00.0000] <erlehmann> foolip, flux ? haven't seen any mails on that in a while [07:59:01.0000] <foolip> I haven't been bothered to follow it that closely [07:59:02.0000] <foolip> I'll take zcorpan_'s word for it [08:00:00.0000] <zcorpan_> (and don't do createElement('figure') but style the div instead, iirc) [08:01:00.0000] <foolip> or don't use <dd>/<dt> at all, it isn't *mandatory* is it? [08:02:00.0000] <foolip> I'll probably be doing <figure><img>caption</figure> and letting google figure out what is the image and what is the description [08:03:00.0000] <zcorpan_> it is mandatory [08:03:01.0000] <foolip> meh, but why? [08:03:02.0000] <webben> foolip: since figure isn't just for images [08:03:03.0000] <foolip> so? [08:04:00.0000] <Lachy> we should just drop dt/dd for use in figure. It never made any sense to use those there. [08:04:01.0000] <webben> so one can't reliably conclude caption is caption I guess. [08:04:02.0000] <foolip> webben: so? [08:04:03.0000] <zcorpan_> semantics! [08:04:04.0000] <erlehmann> Lachy, what is the alternative. Legend had DOM issues (though i liked it better) [08:04:05.0000] <Lachy> With the latest hack, people may as well just use <div class="figure"><img><p class="caption">...</p></div> anyway [08:04:06.0000] <foolip> I mean, is it important for it to be unambiguous? [08:04:07.0000] <erlehmann> foolip, yes [08:05:00.0000] <erlehmann> Lachy, latest hack ? [08:05:01.0000] <foolip> because... [08:05:02.0000] <erlehmann> because i want to extract information from pages. i'm looking at the issue from both sides of the fence. [08:05:03.0000] <Lachy> the one where you have to use <div class="figure"> around the figure and style that instead of styling <figure> directly, to avoid having the dt/dd styles leak [08:05:04.0000] <webben> foolip: If you want to provide navigation to the caption or construct a list of figures including the caption, it's important, yes. [08:06:00.0000] <foolip> webben: if the caption is below the img/whatever, why would you want to navigate to it rather than the whole figure? [08:06:01.0000] <Lachy> there's no benefit using <figure> in that way until browsers have support for it, and so we may as well wait for browsers to fix their legend support in a couple of years and implement <figure> properly, rather than trying to hack around the deficiencies with the crappy dt/dd solution [08:07:00.0000] <webben> foolip: In order to read the caption before the figure it captions. [08:07:01.0000] <foolip> webben: screen readers? [08:07:02.0000] <webben> foolip: Well, for example. [08:08:00.0000] <Lachy> (I'm not sure what to do about <details> though. It's not much use till it's implemented anyway, and I'd rather not have JS implementations out there using in ways that could create compat problems for browsers in the future) [08:08:01.0000] <foolip> honestly, sounds like a non-issue in all but edge cases [08:09:00.0000] <foolip> even if the figure isn't an image, it's very likely that the caption is the shortest piece of text [08:09:01.0000] <webben> Is it? [08:09:02.0000] <Lachy> foolip, that sounds like a very bad and unsupported assumption [08:09:03.0000] <webben> /me would prefer not to have to depend on that sort of heuristics. [08:10:00.0000] <Lachy> captions can be surprisingly long [08:10:01.0000] <zcorpan_> <figure>Figure 1. A sample program.<pre>print "Hello world"</pre></figure> [08:11:00.0000] <erlehmann> foolip, explicit is better than implicit. also, i like python. [08:12:00.0000] <foolip> I'd rather have dt/dd be optional and only used in edge cases [08:12:01.0000] <Lachy> for web developers, using <div class="figure"><p class="caption"></p> <img> </div> makes things easier, with no hacks and from that to <figure>/<legend> in the future will be much easier without the hacks being there [08:12:02.0000] <Lachy> s/and from/and switching from/ [08:12:03.0000] <webben> it's not even explicit vs implicit; implicit would be an algorithm requiring ua's to treat the child with the shortest text content, at the end or beginning of the element, as a caption. [08:13:00.0000] <webben> I think for the most part, developers are going to want a container for the caption text for styling purposes anyways. [08:13:01.0000] <foolip> I agree with Lachy, making this mandatory will just have me using <div class="figure"> instead (or willfully ignoring the spec and validator) [08:14:00.0000] <foolip> erlehmann: did you figure out the microdata stuff? [08:14:01.0000] <erlehmann> foolip, i'm on it [08:14:02.0000] <erlehmann> thx [08:15:00.0000] <foolip> erlehmann: if you want a JS implementation: http://gitorious.org/microdatajs [08:17:00.0000] <foolip> final word on <figure>. Personally, I can never rembember which is which in dl/dt/dd, it's very likely I'd guess wrong 20% of the time, making the document valid but useless for any client assuming that it's used correctly [08:18:00.0000] <foolip> /me would like to see usability testing of this syntax [08:18:01.0000] <foolip> /me would not like to pay for it [08:20:00.0000] <TabAtkins__> Really, foolip? You get dt/dd mixed up? [08:20:01.0000] <TabAtkins__> /me boggles. [08:20:02.0000] <TabAtkins__> One would think you'd learn quickly, since one indents and the other doesn't. [08:20:03.0000] <zcorpan_> not with the html5 ua style sheet [08:20:04.0000] <zcorpan_> for figure [08:21:00.0000] <foolip> TabAtkins__: really, I try both each time or look it up in the spec (to my defence, I use it very seldomly) [08:21:01.0000] <webben> foolip: Isn't that a problem with DL/DT/DD anyway? It's not specific to figure. [08:21:02.0000] <foolip> webben: yes, it is [08:21:03.0000] <TabAtkins__> Heh, k. I use <dl> pretty often (more often than I should, actually). [08:21:04.0000] <zcorpan_> but people will use figure more often and have no experience with dl [08:21:05.0000] <TabAtkins__> zcorpan_: True, but if you've learned it from <dl> you can carry the knowledge over. [08:21:06.0000] <foolip> webben: but that cannot be changed [08:22:00.0000] <zcorpan_> TabAtkins__: most people haven't [08:22:01.0000] <webben> foolip: it /could/ be changed. It's just probably not worth changing. [08:22:02.0000] <foolip> well, yeah [08:23:00.0000] <webben> doesn't seem to make sense to fix it in only one place. [08:23:01.0000] <ttepass-> My mnemonic is the naming dl = definition list, dt = definition term, dd = definition definition, insane as that is. Sadly that mnemonic breaks on <figure>. [08:23:02.0000] <foolip> webben: how would you fix it though? [08:24:00.0000] <zcorpan_> dd = digure dontents, dt = digure daption [08:24:01.0000] <zcorpan_> there [08:24:02.0000] <zcorpan_> er [08:24:03.0000] <zcorpan_> digure taption [08:24:04.0000] <gsnedders> digure? is that like digger? [08:24:05.0000] <foolip> zcorpan_: great, post that to the list and we're done [08:25:00.0000] <webben> foolip: I'd lean towards not reusing dd and dt in figure, personally. [08:25:01.0000] <foolip> webben: I would agree [08:25:02.0000] <jgraham> I still think that having a new element would be the best solution. But <figure> and <details> are so useful that a suboptimal solution is better than no solution [08:25:03.0000] <ttepass-> We should rename <figure> to <digure>, which is like <figure> but awesomer. [08:26:00.0000] <foolip> shouldn't a single element (reused or not) for the caption be enough? [08:27:00.0000] <webben> foolip: Legacy parsing constraints aside, I think so - though in practice I think people will often use a second element for styling purposes. [08:27:01.0000] <foolip> webben: probably, but likely not for <img> which is the most common case [08:28:00.0000] <jgraham> <figure><content><img></content><annotation>An image</annotation></figure> [08:28:01.0000] <jgraham> That was not a suggestion btw [08:28:02.0000] <foolip> jgraham: without <content> it could be [08:28:03.0000] <zcorpan_> hey that's not a bad idea [08:29:00.0000] <foolip> why not just use an attribute like <time pubdate>? [08:29:01.0000] <foolip> <figure><img><p caption>An image</p></figure> [08:30:00.0000] <erlehmann> ach bernd [08:31:00.0000] <foolip> if the main problem is that we can't find a free name for an element, I mean... [08:32:00.0000] <webben> works for me. it's not pretty, but seemingly nothing that will work (in the short term) is pretty. [08:34:00.0000] <foolip> has it been proposed and rejected already? [08:34:01.0000] <foolip> it seems most things have [08:34:02.0000] <zcorpan_> i think <p caption> has been suggested on the list, but not really rejected [08:35:00.0000] <zcorpan_> though you couldn't select it in ie6 [08:35:01.0000] <foolip> ie6 can't do *[caption] ? [08:35:02.0000] <zcorpan_> but i guess that's not an issue since you could use a class or something [08:35:03.0000] <zcorpan_> nope [08:35:04.0000] <foolip> yes, each workaround for that [08:36:00.0000] <foolip> /s/each/easy/ [08:37:00.0000] <jgraham> So in IE6 cou could have <div class=figure><figure><img><p class=caption caption>An image</p></figure></div> [08:37:01.0000] <foolip> jgraham: why the outer wrapping div? [08:37:02.0000] <jgraham> DRY++ [08:38:00.0000] <jgraham> foolip: Oh wait that's only needed for <dt>/<dd> isn't it [08:38:01.0000] <foolip> so is there a CSS selector that works in IE6 that could select the first, last or second child elemnet? [08:38:02.0000] <jgraham> OK, add an extra document.createElement("figure") if you don't want the <div> [08:39:00.0000] <foolip> in that case it'd be really easy to style without class="figure" as long as a page doesn't wildly mix captions with different order [08:39:01.0000] <foolip> figures with different order of captions/content that is [08:39:02.0000] <zcorpan_> it doesn't [08:39:03.0000] <zcorpan_> i mean, there isn't [08:40:00.0000] <danbri> ooh http://www.annodex.net/~silvia/itext/elephant_no_skin_v2.html is great, and a CC-licensed movie to play with too :) [08:40:01.0000] <foolip> anyway, a script-only solution could be used to fix IE6 to, getElementByTagName("figure") and so on... [08:41:00.0000] <foolip> probably good enough until IE6 dies for good [09:36:00.0000] <yael> Hi, Does HTML5 have a solution for a case that is opposite of ifrmae "sandbox" attribute? Meaning to allow others to include my content in an iframe, but preventing them from manipulating my content, even if we use the same web hosting service? [10:02:00.0000] <othermaciej> yael: prevent in what way? [10:02:01.0000] <othermaciej> yael: oh - you mean even if your content is same-origin? [10:03:00.0000] <othermaciej> yael: there is no way to do that afaik [11:32:00.0000] <erlehmann> TabAtkins__, i see now what you were meaning, mea culpa. cheers if you received this, so i do not need to send a mail on the list [11:36:00.0000] <TabAtkins__> No problem, erlehmann. Probably good to be a little less confrontational next time. ^_^ Or hey, hit me up on the chat first to clarify. [11:37:00.0000] <erlehmann> TabAtkins__, well, I really thought you had read my question as hushed as i had your reply ;) [11:38:00.0000] <TabAtkins__> It's cool. Side benefit: I now know who you are on the list. [11:39:00.0000] <erlehmann> well, "erlehmann" is in my sig [11:40:00.0000] <TabAtkins__> For some reason gmail always tucks your sig into a hidden block, assuming it's quoted. [11:41:00.0000] <erlehmann> well, sigs are separated with "-- ", arent they ? [11:42:00.0000] <jcranmer> -- \n [11:43:00.0000] <erlehmann> right [12:55:00.0000] <erlehmann> foolip, does that look right ? http://github.com/erlehmann/cc-figure/raw/master/cc-figure-generator.xhtml [12:56:00.0000] <foolip> erlehmann: do you have it served as text/html or do I have to download it? :) [12:56:01.0000] <erlehmann> foolip, it is github. download it, use it locally. [13:00:00.0000] <foolip> looking... [13:02:00.0000] <foolip> http://foolip.org/microdatajs/demo/json.html [13:03:00.0000] <foolip> temporarily pasted the output of it into my JSON extractor [13:03:01.0000] <foolip> looks right to me [13:04:00.0000] <erlehmann> good, then i will continue styling it [13:04:01.0000] <TabAtkins__> Your beautiful picture! It is broken. [13:05:00.0000] <foolip> TabAtkins__: sorry to disappoint you ;) [13:05:01.0000] <TabAtkins__> ;_; [13:05:02.0000] <erlehmann> foolip, what is your page trying to do with it ? [13:06:00.0000] <foolip> erlehmann: it just runs the JSON extraction algorithm on the page and pretty-prints the result [13:06:01.0000] <erlehmann> document.querySelectorAll is not a function [13:06:02.0000] <erlehmann> i see, my browser is too old [13:06:03.0000] <erlehmann> ff3.0 here [13:06:04.0000] <foolip> hehe, only tested on Opera, basically [13:07:00.0000] <TabAtkins__> /me steals your pretty-printer, because he couldn't get his to work last Tuesday. [13:07:01.0000] <foolip> TabAtkins__: it's just json2.js [13:07:02.0000] <foolip> I take no credit [13:07:03.0000] <erlehmann> foolip, works in webkit. [13:08:00.0000] <TabAtkins__> Ah, kk. I was trying to write my own, but I kept getting in an infinite-object loop for some reason. It was very strange. And hard to debug, because I had to manually kill FF each time. [13:08:01.0000] <TabAtkins__> Oh and yeah, works in Chrome fine. [13:08:02.0000] <foolip> TabAtkins__: try a browser with an interruptable javascript engine ;) [13:08:03.0000] <TabAtkins__> Yes, probably would be best. [13:09:00.0000] <TabAtkins__> Sudden subject change: I just did my pre-interview with Google! Yay! [13:09:01.0000] <jgraham> TabAtkins__: For what job? [13:09:02.0000] <TabAtkins__> Basically Hixie's job, only for CSS. [13:09:03.0000] <foolip> master of the universe, of course [13:10:00.0000] <jgraham> foolip: He beat you [13:10:01.0000] <foolip> lol [13:10:02.0000] <TabAtkins__> I WIN AT TYPING. [14:10:00.0000] <othermaciej> So is anyone going to write a counter-proposal for "keep microdata in the main spec"? [14:10:01.0000] <othermaciej> deadline is in 2 days [14:10:02.0000] <foolip> what happens if we don't? [14:10:03.0000] <othermaciej> or I can extend it if anyone volunteers to do it and names a specific deadline [14:11:00.0000] <othermaciej> chairs will likely post a CfC resolution to split it out [14:11:01.0000] <foolip> won't that just be forced to a vote? [14:11:02.0000] <foolip> /me has not read any of the process documents [14:12:00.0000] <foolip> do you think a counter-proposal is likely to change the outcome of the chairs' decision? [14:14:00.0000] <foolip> and can we expect that the chairs will provide actual arguments for the decision? [14:18:00.0000] <TabAtkins__> If necessary, I volunteer for it. But I'd like to see the answers to foolip's questions too. [14:18:01.0000] <TabAtkins__> ^^^ othermaciej [14:19:00.0000] <othermaciej> foolip: if the CfC draws no objections, it will stand [14:19:01.0000] <foolip> othermaciej: but it will, and then what? [14:20:00.0000] <othermaciej> foolip: if there are objections that do not have rationale, or have only weak rationale, then we will decide based on which position has the stronger rationale if that seems clear [14:20:01.0000] <othermaciej> foolip: voting would be a last resort if the arguments on both sides seem well-balanced [14:21:00.0000] <foolip> ok, so basically the end result is going to be a vote, because neither side is going to give up [14:21:01.0000] <othermaciej> I think if there is a good rationale for keeping it in, it's worth writing it up now rather than expressing it piecemeal as objections to a consensus resolution [14:21:02.0000] <hober> so what's the difference between emailing rationale for keeping microdata in the spec before the deadline as a counter-proposal vs. afterwards as a CfC objection? [14:23:00.0000] <othermaciej> one possible difference is that if you plan ahead, you may come up with something more coherent [14:23:01.0000] <foolip> sigh [14:23:02.0000] <Hixie_> othermaciej: while we're on the topic, what's the practical difference between an issue getting no change proposals, and an issue getting one change proposal requesting the status quo? [14:24:00.0000] <othermaciej> another possible difference is that it may be more persuasive to observers to write something up front than to object at the last minute [14:24:01.0000] <foolip> this process isn't very spam-proof if it forces people to do lots of work to fend off any proposal [14:24:02.0000] <othermaciej> Hixie_: getting no change proposals, it would be closed without prejudice [14:25:00.0000] <othermaciej> Hixie_: getting one requesting the status quo would keep the issue open, and may result in that Change Proposal getting adopted, unless its existence motivates somebody to write one requesting an actual change [14:25:01.0000] <othermaciej> Hixie_: if a status quo Change Proposal does get adopted though, then it would be a decision of the working group and not merely a closed-without-prejudice situation [14:25:02.0000] <othermaciej> i.e. at that point the issue would be closed with prejudice [14:26:00.0000] <Hixie_> so if an issue is not getting any change proposals it's better to wait til the last minute and then submit a status-quo change proposal than to not do anything, because that would automatically force a decision to keep the spec as is? [14:26:01.0000] <othermaciej> foolip: I think the chairs will review quality of Change Proposals before insisting on replies - I think the requirement to do a significant chunk of writing is a sufficient spam deterrent [14:26:02.0000] <Hixie_> (assuming one supports the status quo) [14:27:00.0000] <othermaciej> Hixie_: once an issue has a Change Proposal, it stays open until the chairs take some action, with no specific deadline [14:27:01.0000] <Hixie_> oh [14:27:02.0000] <Hixie_> so what's the dec 2 deadline about for microdata? [14:27:03.0000] <othermaciej> Hixie_: so doing that would extend the deadline for anyone else to write a different Change Proposal [14:28:00.0000] <Hixie_> man i miss the days of not having the w3c involved in html5 [14:28:01.0000] <foolip> hypothetically, if the RDFa crowd have their way and get microdata removed, I trust the WHATWG would ignore it and keep it in our version of the spec? [14:28:02.0000] <othermaciej> Hixie_: in that case, the chairs have stated an intent to move on if we don't get any alternate proposals by that date [14:29:00.0000] <Hixie_> foolip: it'd be in the complete.html file, for sure [14:29:01.0000] <Hixie_> foolip: it'd probably not be in html5 unless the w3c versin of html5 starts deviating too much from sanity [14:29:02.0000] <othermaciej> I think the W3C would be happy to publish it as a separate spec (afaik no one has objected to that, not even the TAG), and the WHATWG would be welcome to keep it in the WHATWG copy of the HTML5 main spec if that is their preference [14:30:00.0000] <foolip> TabAtkins__, Hixie_, are either you interested in investing some time writing a counter-proposal? [14:31:00.0000] <TabAtkins__> foolip: Yeah, I'll write one. [14:31:01.0000] <foolip> I can certainly spend some time too, but if you take ownership of the action (or whatever) that'd be great [14:31:02.0000] <othermaciej> my personal expectation is that if it gets split, the browser bits will still get implemented (I certainly want to see it in WebKit) and the default mode of the validator would likely be HTML+SVG+MathML+Microdata [14:32:00.0000] <foolip> are there any other specs which add elements/attributes on top of HTML5 except RDFa? [14:32:01.0000] <othermaciej> there's the proposed profile spec, though that has not made it to FPWD yet [14:32:02.0000] <foolip> it seems quite a strange way to write specs [14:33:00.0000] <othermaciej> HTML5 explicitly allows other specs to add elements and attributes [14:33:01.0000] <foolip> yes I know [14:33:02.0000] <foolip> but so far nothing stable does? [14:33:03.0000] <othermaciej> what counts as "stable"? [14:34:00.0000] <foolip> don't know :) [14:34:01.0000] <othermaciej> a truly stable spec could not depend on HTML5 yet [14:34:02.0000] <othermaciej> if the bar is FPWD, then RDFa is the only example I know of [14:34:03.0000] <foolip> anything except specs that exist only because the feature was rejected from HTML5 [14:36:00.0000] <othermaciej> arguably SVG and MathML also define elements and attributes that extend HTML5, albeit somewhat involuntarily [14:36:01.0000] <othermaciej> (since HTML5 doesn't define the valid set of elements for those languages) [14:36:02.0000] <foolip> TabAtkins__: so you'll write a full proposal before dec 2 or just take the action to extend the deadline? [14:36:03.0000] <TabAtkins__> Write a full proposal. [14:36:04.0000] <foolip> ok [14:37:00.0000] <TabAtkins__> Since I just want to keep the status quo, nothing complex is necessary. [14:37:01.0000] <foolip> mind if I have a look when you're done and leave feedback? [14:37:02.0000] <TabAtkins__> Sure. [14:37:03.0000] <TabAtkins__> I'll write it tonight and email you. [14:37:04.0000] <othermaciej> most of what you'd need to do is to collect and organize the rationale [14:37:05.0000] <Hixie_> personally i think everything should be in html5 if we think it's good, including microdata and rdfa and profile="" and version=""... i just don't think rdfa, profile="", and version="" are good. :-) [14:38:00.0000] <foolip> should we spend time rebutting the points made by the other proposal? [14:38:01.0000] <foolip> /me tries to find the proposal [14:38:02.0000] <othermaciej> that would be useful information, sure [14:38:03.0000] <TabAtkins__> I don't think we need to do so directly, though certainly pointing our rationales in those directions would be good. [14:38:04.0000] <foolip> certainly [14:39:00.0000] <othermaciej> you don't have to make it point-counterpoint but if you feel it makes any strong arguments for which you have a rebuttal, then it would be good to say so [14:39:01.0000] <othermaciej> btw http://lists.w3.org/Archives/Public/public-html/2009Oct/0773.html [14:40:00.0000] <foolip> thanks! [14:40:01.0000] <othermaciej> and earlier thread here: http://lists.w3.org/Archives/Public/public-html/2009Oct/0420.html [14:40:02.0000] <othermaciej> (that thread included a number of arguments both pro and con) [14:40:03.0000] <foolip> othermaciej: what mail client do you use to keep organized? [14:41:00.0000] <foolip> /me can't ever find anything that fast [14:41:01.0000] <TabAtkins__> I suspect he's got a listing of issues. ^_^ [14:41:02.0000] <foolip> clever, you! [14:47:00.0000] <othermaciej> foolip: I use Mail.app, the search is pretty good [14:47:01.0000] <othermaciej> but I also made an organized issues list [14:48:00.0000] <othermaciej> http://dev.w3.org/html5/status/issue-status.html [14:48:01.0000] <foolip> thanks [15:55:00.0000] <foolip> TabAtkins__: just sent you a long mail [15:55:01.0000] <TabAtkins__> foolip: Yeah, just read it. thanks! [15:56:00.0000] <foolip> it's past bedtime here, but I'll get to reading your reply tomorrow [15:59:00.0000] <TabAtkins__> kk