Options:
- # Session Start: Sun Nov 01 00:00:00 2009
- # Session Ident: #whatwg
- # [00:00] * Quits: karlcow (n=karl@nerval.la-grange.net) ("This computer has gone to sleep")
- # [00:05] * Joins: archtech (i=stanv@83.228.56.37)
- # [00:40] <jgraham> gsnedders: Breifly
- # [00:40] <gsnedders> jgraham: I can't remember now.
- # [00:40] <jgraham> gsnedders: Oh well in that case it can't be too important
- # [00:42] * Quits: fishd_ (n=darin@nat/google/x-jyrqjsyvakotpxep) (Read error: 110 (Connection timed out))
- # [00:44] * Quits: gsnedders (n=gsnedder@c83-252-233-130.bredband.comhem.se)
- # [00:55] * Joins: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [01:07] * Joins: Famic_ (i=titi@vol75-9-82-239-72-190.fbx.proxad.net)
- # [01:09] <jptix> hello
- # [01:09] <jptix> i'm implementing a browser automation tool that has a quasi-DOM as part of its API
- # [01:09] <jptix> my idea is to generate that code from the XHTML and/or HTML5 spec, keeping it easy to maintain
- # [01:09] * Quits: Maurice (i=copyman@5ED548D4.cable.ziggo.nl)
- # [01:10] <jptix> 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)
- # [01:10] <jptix> any tips on where to start or any code that does something similar already would be greatly appreciated
- # [01:11] <webben> jptix: what happens if you need to automate something involving elements/attributes the browser supports that aren't conforming in HTML5?
- # [01:12] <jptix> webben: probably add it manually or have the user do browser.attributeValue("some-attribute")
- # [01:12] <jptix> s/browser/element
- # [01:13] * Quits: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [01:13] <jptix> at the moment i'm just playing with the idea.. having at least some part of the code generated from the spec
- # [01:14] <jptix> am i heading down the wrong road here?
- # [01:15] <webben> it's an interesting idea
- # [01:15] <webben> not sure how good an idea it is ;)
- # [01:16] <webben> if worst comes to worst you could extract that programmatically from the spec's source, I guess.
- # [01:16] <webben> e.g. grab all dl.element instances
- # [01:16] * Joins: mitnavn (n=mitnavn@unaffiliated/mitnavn)
- # [01:18] <jptix> yes, that's the least appealing approach :)
- # [01:20] <jptix> i've been looking at the relaxng files in https://whattf.svn.cvsdude.com/syntax/trunk
- # [01:20] <jptix> but wanted to check if anyone here have an opinion
- # [01:21] <jptix> not sure if those are kept up to date
- # [01:21] <webben> that looks better
- # [01:21] <jptix> they seem to be
- # [01:23] <webben> jptix: I /think/ those are used by hsivonen's validator, in which case I would assume they're reasonably up-to-date
- # [01:24] * Quits: Famic (i=famic@vol75-9-82-239-72-190.fbx.proxad.net) (Read error: 110 (Connection timed out))
- # [01:24] * Quits: gratz|home (n=gratz@cpc3-brig15-2-0-cust237.3-3.cable.virginmedia.com) ("Leaving")
- # [01:26] * Quits: Steve^ (n=steve@94.197.235.13.threembb.co.uk) (Read error: 60 (Operation timed out))
- # [01:26] <webben> jptix: out of interest why a "quasi-dom" rather than a dom?
- # [01:27] <jptix> webben: i'm re-implementing an existing API which has a quite large user base
- # [01:29] <jptix> so the "quasi" part is mostly about making it fit nicer to the language (ruby)
- # [01:29] <jptix> but hopefully it will be more accurate if my approach succeeds :)
- # [01:33] * Quits: dglazkov (n=dglazkov@nat/google/x-yeoyrlphutopnwjs)
- # [02:08] * Quits: archtech (i=stanv@83.228.56.37)
- # [02:11] * Joins: kfish (n=conrad@134.EC0183.cyberhome.ne.jp)
- # [02:12] * Joins: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [02:15] * Joins: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [02:18] * Joins: dglazkov_ (n=dglazkov@nat/google/x-oqnuixlcetjpqxkc)
- # [02:20] * Quits: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [02:20] * dglazkov_ is now known as dglazkov
- # [02:20] * Quits: ttepasse (n=ttepas--@p5B01545C.dip.t-dialin.net) ("?Q")
- # [02:21] <AryehGregor> 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?
- # [02:23] <AryehGregor> Oh, I see, SVG is responsible for introducing zillions of camelCase values for CSS properties? Great.
- # [02:24] * Quits: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [02:27] * Joins: GarethAdams|Home (n=GarethAd@pdpc/supporter/active/GarethAdams)
- # [02:38] * Joins: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [02:40] * Quits: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Client Quit)
- # [02:49] * Joins: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [02:58] * Quits: dglazkov (n=dglazkov@nat/google/x-oqnuixlcetjpqxkc) (Read error: 110 (Connection timed out))
- # [02:58] * dglazkov_ is now known as dglazkov
- # [02:59] * Joins: dglazkov_ (n=dglazkov@nat/google/x-ipsdkzhpuaktiyjf)
- # [03:05] * Quits: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [03:05] * dglazkov_ is now known as dglazkov
- # [03:12] * Joins: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [03:14] * Quits: Amorphous (i=jan@unaffiliated/amorphous) (Read error: 113 (No route to host))
- # [03:16] * Joins: dglazkov__ (n=dglazkov@nat/google/x-xnzosgvenihzrueh)
- # [03:16] * Joins: Amorphous (i=jan@unaffiliated/amorphous)
- # [03:20] * Quits: dglazkov (n=dglazkov@nat/google/x-ipsdkzhpuaktiyjf) (Read error: 60 (Operation timed out))
- # [03:20] * dglazkov__ is now known as dglazkov
- # [03:35] * Quits: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [03:53] * Joins: JonathanNeal (n=Jonathan@adsl-99-74-52-97.dsl.lsan03.sbcglobal.net)
- # [03:54] <JonathanNeal> Hi all!
- # [03:55] * Joins: JoePeck (n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com)
- # [03:57] * Joins: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [04:00] * JoePeck is now known as JoePeck|ghost
- # [04:05] * Joins: dglazkov__ (n=dglazkov@nat/google/x-aaevlxdxpkmpdytw)
- # [04:08] * Joins: karlcow (n=karl@nerval.la-grange.net)
- # [04:12] * Quits: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [04:15] * Quits: dglazkov (n=dglazkov@nat/google/x-xnzosgvenihzrueh) (Read error: 110 (Connection timed out))
- # [04:15] * dglazkov__ is now known as dglazkov
- # [04:17] * Joins: othree (n=othree@admin39.ct.ntust.edu.tw)
- # [04:23] * Quits: GarethAdams|Home (n=GarethAd@pdpc/supporter/active/GarethAdams)
- # [04:33] * Joins: TabAtkins (n=chatzill@70-139-15-246.lightspeed.rsbgtx.sbcglobal.net)
- # [04:34] <TabAtkins> Ah, hacking in HTML and CSS is so relaxing.
- # [04:37] <JonathanNeal> Hacking in HTML, of course.
- # [04:37] <JonathanNeal> Injecting <plaintext> tags into forums that allow html.
- # [04:39] <ment> btw how does html serialization rutine deal with plaintext?
- # [04:46] <ment> because "<plaintext>data" gets serialized as "<plaintext>data</plaintext>"
- # [05:07] * Joins: abii (n=macbook@rescomp-09-148450.Stanford.EDU)
- # [05:08] * JoePeck|ghost is now known as JoePeck
- # [05:21] * Joins: nessy (n=Adium@adsl-69-107-93-121.dsl.pltn13.pacbell.net)
- # [05:21] * Joins: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [05:26] * Quits: nessy (n=Adium@adsl-69-107-93-121.dsl.pltn13.pacbell.net) ("Leaving.")
- # [05:26] * Joins: nessy (n=Adium@adsl-69-107-93-121.dsl.pltn13.pacbell.net)
- # [05:32] <ment> hooray
- # [05:32] <ment> my html5 parser is finally able to parse it's specification
- # [05:33] * Joins: roc (n=roc@121-72-214-66.dsl.telstraclear.net)
- # [05:39] * Quits: dglazkov (n=dglazkov@nat/google/x-aaevlxdxpkmpdytw) (Read error: 110 (Connection timed out))
- # [05:39] * dglazkov_ is now known as dglazkov
- # [05:40] * Quits: nessy (n=Adium@adsl-69-107-93-121.dsl.pltn13.pacbell.net) ("Leaving.")
- # [05:47] * Quits: TabAtkins (n=chatzill@70-139-15-246.lightspeed.rsbgtx.sbcglobal.net) (Read error: 110 (Connection timed out))
- # [06:29] * Quits: roc (n=roc@121-72-214-66.dsl.telstraclear.net)
- # [06:30] * Quits: drry (n=drry@ct91.opt2.point.ne.jp) ("Server Configuration changed; disconnect")
- # [06:41] * Quits: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [07:17] * Joins: drry (n=drry@ct91.opt2.point.ne.jp)
- # [07:40] * Quits: dbaron_ (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net) ("8403864 bytes have been tenured, next gc will be global.")
- # [07:51] * Joins: mpilgrim__ (n=mark@rrcs-96-10-240-189.midsouth.biz.rr.com)
- # [07:51] * Quits: mpilgrim_ (n=mark@rrcs-96-10-240-189.midsouth.biz.rr.com) (Read error: 104 (Connection reset by peer))
- # [08:49] * Joins: roc (n=roc@121-72-214-66.dsl.telstraclear.net)
- # [08:50] * Joins: yatil (n=Adium@78.104.102.186)
- # [09:05] * Parts: yatil (n=Adium@78.104.102.186)
- # [09:10] * Joins: archtech (i=stanv@83.228.56.37)
- # [09:14] * lmorchard is now known as lmorchard|away
- # [09:21] * Quits: roc (n=roc@121-72-214-66.dsl.telstraclear.net)
- # [09:33] * Joins: Maurice (i=copyman@5ED548D4.cable.ziggo.nl)
- # [10:20] * Quits: archtech (i=stanv@83.228.56.37)
- # [10:32] * Joins: Mathias (n=Mathias@9.96-241-81.adsl-dyn.isp.belgacom.be)
- # [10:32] <Mathias> I have an HTML5 markup-related question
- # [10:33] <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)
- # [10:33] <Mathias> Would it be okay to use a secondary <nav> element?
- # [10:34] * Joins: yatil (n=Adium@78.104.102.186)
- # [10:42] * Joins: gsnedders (n=gsnedder@c83-252-233-86.bredband.comhem.se)
- # [10:45] * Joins: archtech (i=stanv@83.228.56.37)
- # [10:59] * Quits: archtech (i=stanv@83.228.56.37)
- # [11:04] * Joins: GarethAdams|Home (n=GarethAd@pdpc/supporter/active/GarethAdams)
- # [11:08] * Quits: shepazu (n=schepers@adsl-227-105-48.rmo.bellsouth.net) (Read error: 110 (Connection timed out))
- # [11:22] * Quits: Mathias (n=Mathias@9.96-241-81.adsl-dyn.isp.belgacom.be)
- # [11:31] * Quits: gsnedders (n=gsnedder@c83-252-233-86.bredband.comhem.se) (Read error: 104 (Connection reset by peer))
- # [11:31] * Joins: gsnedders_ (n=gsnedder@c83-252-233-86.bredband.comhem.se)
- # [11:31] * gsnedders_ is now known as gsnedders
- # [11:35] <gsnedders> ment: It doesn't really cope with plaintext, but the current whacky behaviour is already done and avoids special casing it
- # [11:38] * Quits: abii (n=macbook@rescomp-09-148450.Stanford.EDU)
- # [12:13] * Joins: archtech (i=stanv@83.228.56.37)
- # [12:24] * Quits: othree (n=othree@admin39.ct.ntust.edu.tw) (Read error: 60 (Operation timed out))
- # [12:25] * Joins: othree (n=othree@admin39.ct.ntust.edu.tw)
- # [12:33] * Joins: abii (n=macbook@rescomp-09-148450.Stanford.EDU)
- # [12:48] <gsnedders> What does "'NoneType' object is unsubscriptable" mean?
- # [12:49] <Philip`> x = None; y = x[0]
- # [12:50] <gsnedders> When it's throwing on print repr(self.currentToken["name"])?
- # [12:50] <Philip`> self.currentToken is None
- # [12:50] <gsnedders> Ah, just realized that
- # [12:50] * gsnedders facepalms
- # [12:50] <Philip`> Don't worry, it's easy to miss when the error message tells you precisely what the error is :-p
- # [12:53] * gsnedders finds a fairly major bug in his tokenizer
- # [12:55] <jgraham> Philip`: To be fair it would be nicer if it knew what the variable name was
- # [13:01] <gsnedders> Where do end tags have their names lowercased?
- # [13:01] <gsnedders> (in the tokenizer)
- # [13:02] * gsnedders finds a fairly major bug in the test runner
- # [13:03] <gsnedders> (we only ever run one test of each test with multiple content model flags)
- # [13:03] <gsnedders> Oh well, that's not really relevant any more
- # [13:03] <Philip`> gsnedders: Looks like emitCurrentToken lowercases all tag names
- # [13:04] <gsnedders> So all tags should go through that? Or everything?
- # [13:04] <gsnedders> Currently most doesn't go through that
- # [13:05] <Philip`> Looks like all tokens except errors and characters go through that
- # [13:06] <gsnedders> Down to 12 test failures…
- # [13:09] <gsnedders> Hmm, spec changed with expected result of <xmp>foo</xmp
- # [13:10] <Philip`> nonXmlBMPRegexp = re.compile(u'[\x00-,|/|:-@|\\\\[-\\\\^|`|\\\\{-\xb6|\xb8-\xbf|\xd7|\xf7|...')
- # [13:11] <Philip`> Am I mistaken, or is that completely bogus?
- # [13:12] <Philip`> It's matching characters which are in the range \0 to ',', or '|', or '/', or '|', or ..., or '\', or '\', or in the range '[' to '\', ...
- # [13:12] <jgraham> Philip`: Could be
- # [13:14] <Philip`> For example, it doesn't match ']'
- # [13:15] <Philip`> (whereas it does match '[')
- # [13:17] * gsnedders wonders why spec editing stopped on the 27th
- # [13:17] <gsnedders> Is there any way to get more on http://html5.org/tools/web-apps-tracker?
- # [13:17] * gsnedders guesses the answer is hack the code and ping annevk
- # [13:18] <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
- # [13:18] <gsnedders> :P
- # [13:19] <jgraham> Philip`: Do feel free to fix it btw
- # [13:19] <jgraham> Since clearly I am a bozo
- # [13:19] <Philip`> I hate how the Google Code issues list intercepts the '/' key to focus the search box
- # [13:19] <Philip`> and therefore means I can't do find-in-page like I want to
- # [13:19] * Quits: kinetik (n=kinetik@121.98.132.55) (Read error: 60 (Operation timed out))
- # [13:20] * Joins: erlehmann (n=erlehman@82.113.106.5)
- # [13:21] <jgraham> gsnedders: Issue 96 is irrelevant. The code is never run (it is used to build the incorrect regexp)
- # [13:21] <jgraham> It shouldn't block 1.0
- # [13:22] <gsnedders> It wasn't going to block anyway :P
- # [13:22] <gsnedders> So RAWTEXT and RCDATA now don't have comments?
- # [13:23] <jgraham> gsnedders: That's not what you said in the issue tracker :p
- # [13:23] <Philip`> jgraham: Might try to fix it some time; just filed an issue for now
- # [13:23] <jgraham> gsnedders: I think that is correct
- # [13:24] <gsnedders> Priority-High was stuff I wanted to get in, but not block
- # [13:25] <jgraham> gsnedders: It was maked Release-1.0
- # [13:25] <gsnedders> [u'EndTag', u'xmp', False] — how come that has a False explicitly there?
- # [13:26] <jgraham> Philip`: Your regexp doesn't work does it? You need to escape special characters like [ surely?
- # [13:26] <gsnedders> OK, so two of these test failures I'm pretty sure are spec bugs
- # [13:27] <gsnedders> The rest are tests needing updating
- # [13:27] * Quits: abii (n=macbook@rescomp-09-148450.Stanford.EDU)
- # [13:29] * daedb| is now known as daedb
- # [13:30] <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
- # [13:31] <Philip`> Oh, and '\' I guess
- # [13:33] * Quits: tndH (n=Rob@77.86.43.45) ("ChatZilla 0.9.85-rdmsoft [XULRunner 1.9.0.1/2008072406]")
- # [13:33] * Joins: ttepasse (n=ttepas--@p5B017382.dip.t-dialin.net)
- # [13:39] * Quits: archtech (i=stanv@83.228.56.37)
- # [13:40] * gsnedders has a tokenizer that passes all the test cases now!
- # [13:41] <gsnedders> HG: changed python/src/html5lib/html5parser.py
- # [13:41] <gsnedders> HG: changed python/src/html5lib/inputstream.py
- # [13:41] <gsnedders> HG: changed python/src/html5lib/tokenizer.py
- # [13:41] <gsnedders> HG: changed python/tests/test_tokenizer.py
- # [13:41] <gsnedders> HG: changed testdata/tokenizer/contentModelFlags.test
- # [13:41] <gsnedders> HG: changed testdata/tokenizer/escapeFlag.test
- # [13:41] <gsnedders> HG: changed testdata/tokenizer/test3.test
- # [13:41] <gsnedders> Small commit.
- # [13:41] <gsnedders> (There are still two test failures, actually, but they're spec bug)
- # [13:45] <gsnedders> Oh, woops, html5parser shouldn't be in that commit
- # [13:48] <jgraham> Does anyone have a favourite way to set the idness of the "id" attribute
- # [13:48] <gsnedders> DOCTYPEs!
- # [13:48] * jgraham thinks DOM3 Element.setIdAttribute might be the way forward
- # [13:48] * Parts: yatil (n=Adium@78.104.102.186)
- # [13:49] <jgraham> gsnedders: Yeah but injecting false doctypes is bad if we want to preserve the fact that documents with no doctype have no doctype
- # [13:49] * gsnedders notes that doesn't help minidom
- # [13:49] <jgraham> gsnedders: I think it does
- # [13:50] <jgraham> Oh.
- # [13:50] <jgraham> It only works if the element already has an attribute with the name "id"
- # [13:51] <gsnedders> WHAT!?
- # [13:51] <jgraham> Well that is out then
- # [13:51] <gsnedders> DOM--
- # [13:51] <jgraham> s/with the name id/with the name you are trying to set as the id attribute name/
- # [13:52] <jgraham> gsnedders: Well if sort of makes sense if you don;t think there should be hidden state
- # [13:52] * Quits: mitnavn (n=mitnavn@unaffiliated/mitnavn) (Read error: 104 (Connection reset by peer))
- # [13:52] <jgraham> Sadly, what we want right now is hidden state :(
- # [13:53] * Quits: riven (n=colin@pdpc/supporter/professional/riven) (Read error: 131 (Connection reset by peer))
- # [13:53] * Joins: riven (n=colin@53518387.cable.casema.nl)
- # [13:55] <gsnedders> Where does setIdAttribute come from?
- # [13:55] <gsnedders> Ah, it is in core
- # [13:56] <gsnedders> I guess all we can do is loop over all elements with @id and set setIdAttribute
- # [13:56] <gsnedders> Or, more likely, do it when creating the element with attributes
- # [13:57] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [13:59] <jgraham> gsnedders: That is worse than the current behaviour
- # [13:59] <gsnedders> jgraham: How so?
- # [13:59] <jgraham> Because it leads to surprisin, hard to predict, bugs rather than obvious "this doesn't work at all" bugs
- # [13:59] <gsnedders> jgraham: Why?
- # [14:00] <jgraham> Speifically if someone adds a node to the document after thay have parsed it then it won't have the idness set right
- # [14:00] <jgraham> Or if they add an id attribute to an existing element
- # [14:00] <gsnedders> Gah. Yeah.
- # [14:01] <gsnedders> then dtd is the only option.
- # [14:01] <gsnedders> (w00t)
- # [14:01] <jgraham> Yes but it will cause everything to get a DTD when serialized even if it didn't start with one
- # [14:02] * Joins: mitnavn (n=mitnavn@unaffiliated/mitnavn)
- # [14:02] <gsnedders> Yeah.
- # [14:02] <gsnedders> Can we parse with a DTD then replace the DTD via removeChild and document.implementation.createDocumentType and appendChild?
- # [14:03] <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
- # [14:03] <jgraham> *mere
- # [14:03] <jgraham> *distaste
- # [14:04] <jgraham> gsnedders: I have no idea if that will work or do something surprising
- # [14:04] <gsnedders> jgraham: Nor do I
- # [14:04] <gsnedders> jgraham: Can you think of any other fix?
- # [14:04] <jgraham> I suspect any new elements created will not get the idness set
- # [14:06] <jgraham> There is a fixed list of doctypes that trigger quirks mode, right?
- # [14:06] <gsnedders> No
- # [14:06] <gsnedders> It's a list of stuff that if it starts with x…
- # [14:06] <gsnedders> RTFS :P
- # [14:07] <jgraham> I am but it's slow :(
- # [14:10] <jgraham> And makes my computer very hot :(
- # [14:12] <jgraham> Anyway we could invent a new quirks-mode doctype and teach our serializer to strip it out
- # [14:13] <jgraham> It seems very ugly though :(
- # [14:13] <gsnedders> But then how do deal when there are DOCTYPEs in the document?
- # [14:13] <gsnedders> How do we get them to round trip?
- # [14:13] <jgraham> I thought we could edit them now?
- # [14:13] <jgraham> Oh I see
- # [14:13] <jgraham> Erm.
- # [14:13] <gsnedders> You can only have one DOCTYPE in a document.
- # [14:13] <jgraham> Yeah I know
- # [14:14] <gsnedders> I guess we could add in the internal subset idness
- # [14:14] <jgraham> Indeed
- # [14:14] <jgraham> The only quetion is what happens on serialization
- # [14:14] <gsnedders> Oh man, this is ugly.
- # [14:14] <gsnedders> The seriailizer ignores any internal subset
- # [14:14] <jgraham> our serializer would be fine
- # [14:15] <jgraham> gsnedders: I suggest we try your approach for the no-doctype case first to see if it works
- # [14:15] <gsnedders> Which? Adding doctype and removing it?
- # [14:15] <jgraham> gsnedders: yeah
- # [14:15] <gsnedders> I'd try that for both cases.
- # [14:15] <jgraham> I doubt it will work but you never know
- # [14:15] <gsnedders> (But I won't actually, so you do it)
- # [14:16] <gsnedders> impl dependant, I bet :P
- # [14:16] <gsnedders> Should I push the new tokenizer and break the parser as a whole or just wait for an even bigger push and merge?
- # [14:21] <jgraham> in what way break?
- # [14:22] <gsnedders> The parser changes content model flag, and that doesn't exist any more.
- # [14:22] <gsnedders> So loads parses wrong.
- # [14:27] <gsnedders> Also a fair amount of script related changeds
- # [14:27] <gsnedders> *changes
- # [14:27] <gsnedders> The simple stuff that can be fixed has got us down to 560 test failures
- # [14:28] <gsnedders> (five tree builders)
- # [14:28] <gsnedders> So 56 test failures
- # [14:31] <gsnedders> Quite a lot of broken tests due to no longer having comments
- # [14:32] <jgraham> gsnedders: Don't push yet
- # [14:33] <gsnedders> What's expected of <script> <!-- </script> --> </script>x now?
- # [14:35] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [14:35] * Joins: ttepass- (n=ttepas--@p5B017391.dip.t-dialin.net)
- # [14:35] <gsnedders> A script whose content is " <!-- " right?
- # [14:49] * Quits: ttepass- (n=ttepas--@p5B017391.dip.t-dialin.net) (Read error: 60 (Operation timed out))
- # [14:49] * Joins: ttepass- (n=ttepas--@p5B015AAF.dip.t-dialin.net)
- # [14:50] * Quits: ttepasse (n=ttepas--@p5B017382.dip.t-dialin.net) (Read error: 110 (Connection timed out))
- # [14:53] * Quits: kfish (n=conrad@134.EC0183.cyberhome.ne.jp) (Read error: 60 (Operation timed out))
- # [14:55] * Joins: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net)
- # [15:03] * Quits: cedricv (n=cedric@124.197.87.38)
- # [15:14] * gsnedders notes buying stuff from a Swedish website when you can't understand the checkout system is hard
- # [15:18] <gsnedders> Oh, wait, I don't have a personnummer so I can't buy anything.
- # [15:18] <gsnedders> Actuallh, no.
- # [15:19] <gsnedders> This is weird.
- # [15:20] <gsnedders> Huh.
- # [15:20] <gsnedders> Now it didn't ask me for my card details.
- # [15:21] <gsnedders> Oh, now it asks for them after you have placed your order, and your order is on hold until you pay.
- # [15:21] <gsnedders> Wow. wierd.
- # [15:22] <gsnedders> And now my card is refused. Oh dear.
- # [15:23] * gsnedders gives up
- # [15:23] * Joins: ROBOd (n=robod@89.122.216.38)
- # [15:24] * Joins: kinetik (n=kinetik@121.98.132.55)
- # [15:26] * Quits: othermaciej (n=mjs@c-69-181-42-237.hsd1.ca.comcast.net)
- # [15:45] * Quits: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [15:52] * Joins: TabAtkins (n=chatzill@38.114.210.37)
- # [15:52] * Joins: JoePeck_ (n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com)
- # [15:52] * Quits: JoePeck (n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com) (Read error: 104 (Connection reset by peer))
- # [15:53] * JoePeck_ is now known as JoePeck
- # [16:19] * Joins: nessy (n=Adium@adsl-69-107-93-121.dsl.pltn13.pacbell.net)
- # [16:21] * Joins: dbaron (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net)
- # [16:22] * Joins: ttepasse (n=ttepas--@p5B016431.dip.t-dialin.net)
- # [16:23] * Joins: archtech (i=stanv@83.228.56.37)
- # [16:23] * Quits: nessy (n=Adium@adsl-69-107-93-121.dsl.pltn13.pacbell.net) (Client Quit)
- # [16:29] * Quits: ttepass- (n=ttepas--@p5B015AAF.dip.t-dialin.net) (Read error: 60 (Operation timed out))
- # [16:33] * lmorchard|away is now known as lmorchard
- # [16:47] * Joins: ttepass- (n=ttepas--@p5B013567.dip.t-dialin.net)
- # [16:48] * Quits: mitnavn (n=mitnavn@unaffiliated/mitnavn)
- # [16:50] * Joins: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [17:00] * Quits: archtech (i=stanv@83.228.56.37)
- # [17:01] <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.
- # [17:04] <Philip`> TabAtkins: I appear to be connected to it
- # [17:04] <TabAtkins> Philip`: Thanks. It's something on my end, then.
- # [17:04] * Joins: archtech (i=stanv@83.228.56.37)
- # [17:05] <Philip`> TabAtkins: Maybe try the normal port, not :80 (since proxies might mangle that one)?
- # [17:05] <TabAtkins> Nah, no-port just times out.
- # [17:06] <TabAtkins> Eh, I'm stealing wifi anyway. No biggie. I'll just go play some Civ 4.
- # [17:08] <jgraham> gsnedders: Which website?
- # [17:10] * Quits: ttepasse (n=ttepas--@p5B016431.dip.t-dialin.net) (Read error: 110 (Connection timed out))
- # [17:34] * Quits: myakura (n=myakura@p2102-ipbf6805marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [17:45] * Quits: webben (n=benh@dip5-fw.corp.ukl.yahoo.com) (Read error: 104 (Connection reset by peer))
- # [17:51] * Joins: dglazkov_ (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [17:54] * Joins: webben (n=benh@212-104-155-100.access.eclipse.net.uk)
- # [17:55] * Quits: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 60 (Operation timed out))
- # [17:55] * dglazkov_ is now known as dglazkov
- # [17:58] * Joins: mmn (n=mmn@node-9689.tor.pppoe.execulink.com)
- # [18:02] * gsnedders wonders if he has the bandwidth to manage to listen to spotify at the moment
- # [18:02] <gsnedders> jgraham: dustinhome.se
- # [18:05] * Joins: annevk2 (n=annevk@adsl-75-13-115-190.dsl.pltn13.sbcglobal.net)
- # [18:06] * Parts: annevk2 (n=annevk@adsl-75-13-115-190.dsl.pltn13.sbcglobal.net)
- # [18:07] * Joins: annevk2 (n=annevk@12.197.88.10)
- # [18:14] * Quits: webben (n=benh@212-104-155-100.access.eclipse.net.uk) (Remote closed the connection)
- # [18:26] * Philip` has dust in his home and never had to go through any online checkout service to get it
- # [18:26] * Joins: tndH (n=Rob@cpc2-leed18-0-0-cust427.leed.cable.ntl.com)
- # [18:28] * Joins: webben (n=benh@212-104-155-100.access.eclipse.net.uk)
- # [18:28] * gsnedders realizes he should be testing this in shipping browsers as he has Safari hang
- # [18:28] <gsnedders> (and I know Opera 10 hangs)
- # [18:30] * gsnedders now has a simple test suite harness that fails to work in all shipping browsers
- # [18:30] <gsnedders> (Though the reason why the test harness fails is the tests themselves)
- # [18:31] * Joins: webben1 (n=benh@dip5-fw.corp.ukl.yahoo.com)
- # [18:31] <gsnedders> Oh, and crashes the copy of WebKit I have here.
- # [18:32] <gsnedders> This really does reinforce the idea of there being nowhere near enough DOM tests.
- # [18:38] * Quits: TabAtkins (n=chatzill@38.114.210.37) (Read error: 60 (Operation timed out))
- # [18:39] <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.
- # [18:40] <gsnedders> s/ly/s/
- # [18:46] * Quits: webben (n=benh@212-104-155-100.access.eclipse.net.uk) (Read error: 110 (Connection timed out))
- # [19:00] * Quits: gunderwonder (n=gunderwo@140.84-49-178.nextgentel.com)
- # [19:11] * Joins: mpt (n=mpt@canonical/mpt)
- # [19:11] * Joins: dglazkov_ (n=dglazkov@nat/google/x-trfrasbmkwzwncar)
- # [19:15] * Quits: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 104 (Connection reset by peer))
- # [19:15] * Joins: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net)
- # [19:19] * Quits: dglazkov_ (n=dglazkov@nat/google/x-trfrasbmkwzwncar) (Read error: 104 (Connection reset by peer))
- # [19:22] * Joins: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net)
- # [19:23] * Joins: nessy (n=Adium@38.114.142.143)
- # [19:34] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [19:41] * Joins: dglazkov_ (n=dglazkov@nat/google/x-jspcnrejoyodjgqq)
- # [19:44] * Quits: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [19:56] * Joins: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net)
- # [19:57] * Quits: dglazkov (n=dglazkov@c-67-188-0-62.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [19:57] * dglazkov_ is now known as dglazkov
- # [20:05] * Joins: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [20:14] * Parts: annevk2 (n=annevk@12.197.88.10)
- # [20:17] * Joins: paul_irish (n=paul_iri@c-71-192-163-128.hsd1.nh.comcast.net)
- # [20:27] * Quits: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [20:35] * lmorchard is now known as lmorchard|away
- # [20:40] * Quits: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [20:42] * Quits: mpt (n=mpt@canonical/mpt) (Read error: 110 (Connection timed out))
- # [20:43] * Quits: webben1 (n=benh@dip5-fw.corp.ukl.yahoo.com) (Nick collision from syn.)
- # [20:43] * Quits: dbaron (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net) (Nick collision from syn.)
- # [20:43] * Quits: erlehmann (n=erlehman@82.113.106.5) (Nick collision from syn.)
- # [20:43] * Quits: Maurice (i=copyman@5ED548D4.cable.ziggo.nl) (Nick collision from syn.)
- # [20:43] * Quits: drry (n=drry@unaffiliated/drry) (Nick collision from syn.)
- # [20:43] * Quits: ato (i=ato@orgelet.e-tjenesten.org) (Nick collision from syn.)
- # [20:43] * Quits: nessy (n=Adium@38.114.142.143) (Nick collision from syn.)
- # [20:43] * Quits: riven (n=colin@53518387.cable.casema.nl) (Nick collision from syn.)
- # [20:43] * Quits: broquaint (i=097797d9@spc2-brig11-0-0-cust222.asfd.cable.virginmedia.com) (Nick collision from syn.)
- # [20:43] * Quits: deltab (n=deltab@82-36-30-34.cable.ubr02.smal.blueyonder.co.uk) (Nick collision from syn.)
- # [20:43] * Quits: Creap (n=Creap@vemod.brg.sgsnet.se) (Nick collision from syn.)
- # [20:43] * Quits: erikvvold (n=erikvvol@S01060024012860e9.gv.shawcable.net) (Nick collision from syn.)
- # [20:43] * Joins: ato (i=ato@orgelet.e-tjenesten.org)
- # [20:43] * Quits: bzed (n=bzed@devel.recluse.de) (Nick collision from syn.)
- # [20:44] * Quits: smaug (n=chatzill@cs181150024.pp.htv.fi) (Nick collision from syn.)
- # [20:44] * Quits: dglazkov (n=dglazkov@nat/google/x-jspcnrejoyodjgqq) (Nick collision from syn.)
- # [20:44] * Quits: eighty4 (n=eighty4@eighty4.se) (Nick collision from syn.)
- # [20:44] * Quits: crash\ (i=crash@lubyte.de) (Nick collision from syn.)
- # [20:44] * Quits: aboodman (n=aboodman@72.14.229.81) (Nick collision from syn.)
- # [20:44] * Quits: Dashiva (i=Dashiva@wikia/Dashiva) (Nick collision from syn.)
- # [20:44] * Quits: daedb (n=daed@h11n1fls34o986.telia.com) (Nick collision from syn.)
- # [20:44] * Quits: beowulf_ (n=beowulf@ps4552.dreamhost.com) (Nick collision from syn.)
- # [20:44] * Quits: damncabbage (n=asio@124-170-147-92.dyn.iinet.net.au) (Nick collision from syn.)
- # [20:44] * Quits: doublec (n=doublec@65.49.60.216) (Nick collision from syn.)
- # [20:44] * Quits: Someguy (n=Andy_F@96.255.124.28) (Nick collision from syn.)
- # [20:44] * Quits: dimich (n=dimich@74.125.59.73) (Nick collision from syn.)
- # [20:44] * Joins: Creap (n=Creap@193.11.202.139)
- # [20:44] * Joins: dbaron (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net)
- # [20:44] * Joins: Maurice (i=copyman@5ED548D4.cable.ziggo.nl)
- # [20:44] * Joins: daedb| (n=daed@213.65.139.11)
- # [20:44] * Joins: Dashiva (i=Dashiva@129.241.137.223)
- # [20:44] * Joins: erikvold (n=erikvvol@24.108.84.27)
- # [20:44] * Joins: webben (n=benh@217.12.15.52)
- # [20:44] * Quits: ato (i=ato@orgelet.e-tjenesten.org) (Nick collision from syn.)
- # [20:44] * Quits: Maurice (i=copyman@5ED548D4.cable.ziggo.nl) (Nick collision from syn.)
- # [20:44] * Joins: beowulf (n=beowulf@208.113.223.220)
- # [20:44] * Quits: Creap (n=Creap@193.11.202.139) (Nick collision from syn.)
- # [20:44] * Quits: dbaron (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net) (Nick collision from syn.)
- # [20:44] * Quits: erikvold (n=erikvvol@24.108.84.27) (Nick collision from syn.)
- # [20:44] * Quits: daedb| (n=daed@213.65.139.11) (Nick collision from syn.)
- # [20:44] * Joins: aboodman (n=aboodman@72.14.229.81)
- # [20:44] * Joins: doublec (n=doublec@65.49.60.216)
- # [20:44] * Joins: Someguy (n=Andy_F@pool-96-255-124-28.washdc.fios.verizon.net)
- # [20:44] * Joins: dbaron (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net)
- # [20:44] * Joins: yatil (n=Adium@78.104.102.186)
- # [20:45] * Joins: erikvold (n=erikvvol@S01060024012860e9.gv.shawcable.net)
- # [20:45] * Joins: crash\ (i=crash@lubyte.de)
- # [20:45] * Joins: nessy (n=Adium@38.114.142.169)
- # [20:45] * Joins: riven (n=colin@53518387.cable.casema.nl)
- # [20:45] * Joins: damncabbage (n=asio@124.170.147.92)
- # [20:45] * Joins: Creap (n=Creap@vemod.brg.sgsnet.se)
- # [20:45] * Joins: daedb (n=daed@213.65.139.11)
- # [20:45] * Joins: Maurice (i=copyman@5ED548D4.cable.ziggo.nl)
- # [20:45] * Joins: broquaint (i=4ef2dfb9@spc2-brig11-0-0-cust222.asfd.cable.virginmedia.com)
- # [20:45] * Joins: drry (n=drry@211.9.170.91)
- # [20:46] * Joins: smaug (n=chatzill@cs181150024.pp.htv.fi)
- # [20:46] * Joins: deltab (n=deltab@82.36.30.34)
- # [20:46] * Joins: eighty4 (n=eighty4@eighty4.se)
- # [20:47] * Joins: bzed (n=bzed@devel.recluse.de)
- # [20:48] * Parts: yatil (n=Adium@78.104.102.186)
- # [20:48] * Joins: ato (i=ato@orgelet.e-tjenesten.org)
- # [20:50] * Quits: Creap (n=Creap@vemod.brg.sgsnet.se) (Client Quit)
- # [20:53] * Joins: Mrmil (n=ut_ollie@core1.humlnet.cz)
- # [20:57] * Quits: drry (n=drry@211.9.170.91) ("Server Configuration changed; reconnect")
- # [20:57] * Joins: drry (n=drry@unaffiliated/drry)
- # [20:58] * Joins: gratz|home (n=gratz@cpc3-brig15-2-0-cust237.3-3.cable.virginmedia.com)
- # [20:59] * Quits: drry (n=drry@unaffiliated/drry) (Client Quit)
- # [20:59] * Joins: drry (n=drry@unaffiliated/drry)
- # [21:12] * Parts: Mrmil (n=ut_ollie@core1.humlnet.cz)
- # [21:12] * Joins: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net)
- # [21:20] * Quits: smaug (n=chatzill@cs181150024.pp.htv.fi) (Remote closed the connection)
- # [21:22] * Joins: smaug (n=chatzill@cs181150024.pp.htv.fi)
- # [21:26] * Joins: gunderwonder (n=gunderwo@102.80-202-87.nextgentel.com)
- # [21:30] * Joins: othermaciej (n=mjs@c-69-181-42-237.hsd1.ca.comcast.net)
- # [21:34] * Joins: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [21:39] * Quits: dbaron (n=dbaron@c-98-234-51-190.hsd1.ca.comcast.net) ("8403864 bytes have been tenured, next gc will be global.")
- # [21:46] * gsnedders notes updating html5lib once it falls out of sync with the spec is a horrible task
- # [21:47] <jgraham> gsnedders: It would be better if you would note a way to make it easier
- # [21:47] <gsnedders> jgraham: keep it in sync with a specific revision of the spec
- # [21:47] <jgraham> (fwiw I have found the same which is likely why I haven't worked too much on it)
- # [21:47] <jgraham> gsnedders: ?
- # [21:47] <jgraham> You mean jus never update it?
- # [21:47] <gsnedders> at the moment it's basically a copy of the June spec with random things updated from the spec since
- # [21:48] <gsnedders> It's the fact it doesn't match any revision of the spec at the moment that is annoying
- # [21:48] <gsnedders> I mean I should always be able to say that html5lib implements revision x of the spec.
- # [21:50] <jgraham> gsnedders: Generally the best you can do is to say that it passes the tests
- # [21:50] <jgraham> It would be good if tests were kept in lockstep with the spec
- # [21:50] <gsnedders> The problem is the tests often don't match a specific revision of the spec :P
- # [21:56] <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
- # [21:56] <jgraham> That I can agree with. But given that it is impossible to tell which tests need to be updated
- # [21:56] <Dashiva> gsnedders: Make separate branches for each rev :D
- # [21:57] <jgraham> it is hard to see how you get the tests to match
- # [21:58] <gsnedders> Keep them up to date always?
- # [21:59] <gsnedders> Yeah, sure, you will probably end up with incorrect expectations at times, but once the impl catches up…
- # [22:01] <jgraham> gsnedders: How do you know which tests need to be updated when the spec changed?
- # [22:03] * Quits: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [22:03] <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)...
- # [22:04] * Quits: archtech (i=stanv@83.228.56.37) (Read error: 110 (Connection timed out))
- # [22:04] <gsnedders> jgraham: magic
- # [22:04] <jgraham> Dashiva: Each test could depend on dozens of sections. Annotating them all makes writing tests prohibitivly expensive
- # [22:05] <Dashiva> Well, if maintenance is too expensive, then consider tests to be throw-away
- # [22:06] * Joins: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [22:06] <jgraham> Eh?
- # [22:06] <Dashiva> Mark each with "was valid at rev x" and if it starts failing, either discard it or update it
- # [22:06] <gsnedders> jgraham: Seriously though, it may be possible to use regex to find tests effected!
- # [22:06] <gsnedders> *affected(?)
- # [22:08] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [22:08] <Philip`> Seems like the easiest solution is to keep the implementation always up to date
- # [22:08] <Philip`> and always passing all tests
- # [22:08] * gsnedders nominates jgraham to keep it up to date
- # [22:09] <jgraham> Dashiva: That doesn't seem to fix the underlying problem
- # [22:09] <jgraham> You still need to dig through the spec to decide if the test is wrong or the implementation is wrong
- # [22:11] <Dashiva> That's what the discard option is for. Then at a later point you can do bulk update/rewrite of related tests
- # [22:12] <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
- # [22:12] <jgraham> Seems to defeat the point of having tests
- # [22:12] <Dashiva> You're the one saying updating them is prohitively expensive, though
- # [22:15] <jgraham> Dashiva: I'm saying it's prohibitively expensive to create tests where you also have to work out all the section transitions
- # [22:15] <jgraham> It's already bad enough with the parse errors
- # [22:16] * Joins: KrocCamen (n=kroc@cpc3-lanc2-0-0-cust544.brig.cable.ntl.com)
- # [22:16] * Joins: mitnavn (n=mitnavn@unaffiliated/mitnavn)
- # [22:17] * Quits: mitnavn (n=mitnavn@unaffiliated/mitnavn) (Remote closed the connection)
- # [22:19] * Joins: jwalden (n=waldo@c-98-248-40-206.hsd1.ca.comcast.net)
- # [22:20] * Quits: fishd_ (n=darin@c-98-207-16-168.hsd1.ca.comcast.net) (Read error: 110 (Connection timed out))
- # [22:23] * Joins: roc (n=roc@203-97-204-82.dsl.clear.net.nz)
- # [22:26] * Quits: drry (n=drry@unaffiliated/drry) (Read error: 60 (Operation timed out))
- # [22:37] * Quits: deltab (n=deltab@82.36.30.34) (Read error: 104 (Connection reset by peer))
- # [22:39] * Joins: shepazu (n=schepers@38.114.142.20)
- # [22:49] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [22:51] * Joins: paul_iri_ (n=paul_iri@c-71-192-163-128.hsd1.nh.comcast.net)
- # [22:53] * Joins: paul_ir__ (n=paul_iri@c-71-192-163-128.hsd1.nh.comcast.net)
- # [23:04] * Quits: Maurice (i=copyman@5ED548D4.cable.ziggo.nl)
- # [23:07] * Quits: paul_irish (n=paul_iri@c-71-192-163-128.hsd1.nh.comcast.net) (Read error: 113 (No route to host))
- # [23:09] * Quits: paul_iri_ (n=paul_iri@c-71-192-163-128.hsd1.nh.comcast.net) (Read error: 110 (Connection timed out))
- # [23:10] * Joins: SuperDot_iPod (n=superdot@adsl-75-61-94-231.dsl.pltn13.sbcglobal.net)
- # [23:11] * Parts: SuperDot_iPod (n=superdot@adsl-75-61-94-231.dsl.pltn13.sbcglobal.net)
- # [23:14] * Joins: mitnavn (n=mitnavn@unaffiliated/mitnavn)
- # [23:15] * Joins: deltab (n=deltab@82-36-30-34.cable.ubr02.smal.blueyonder.co.uk)
- # [23:22] * Quits: JoePeck (n=JoePeck@cpe-74-69-85-249.rochester.res.rr.com)
- # [23:23] * Quits: gsnedders (n=gsnedder@c83-252-233-86.bredband.comhem.se)
- # [23:26] * Joins: myakura (n=myakura@p2102-ipbf6805marunouchi.tokyo.ocn.ne.jp)
- # [23:26] * Quits: KrocCamen (n=kroc@cpc3-lanc2-0-0-cust544.brig.cable.ntl.com)
- # [23:30] * Joins: grahamperrin (n=grahampe@78-141-28-157.rdns.as8401.net)
- # [23:31] * Quits: erikvold (n=erikvvol@S01060024012860e9.gv.shawcable.net) (Read error: 60 (Operation timed out))
- # [23:35] * Quits: yoshu (n=josh@174-18-206-205.tcso.qwest.net)
- # [23:37] * Joins: nicferrier (n=nferrier@sanders.tapsellferrier.co.uk)
- # [23:37] * Quits: myakura (n=myakura@p2102-ipbf6805marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [23:38] <nicferrier> I have a question about forms
- # [23:38] <nicferrier> is this the best place to ask it?
- # [23:38] <nicferrier> let me blunder on
- # [23:38] <webben> nicferrier: depends what the question is i guess
- # [23:39] <nicferrier> what I want to know is whether there is any thinking about server side validation
- # [23:39] <nicferrier> the new forms stuff is great
- # [23:39] <nicferrier> extra declarative syntax for validation
- # [23:39] <nicferrier> but it only affords client side validation
- # [23:39] <nicferrier> the validation will have to be repeated on the server side
- # [23:39] <nicferrier> and I wondered if anyone was thinking about that
- # [23:39] <AryehGregor> I hope so. :)
- # [23:40] * Joins: yatil (n=Adium@78.104.102.186)
- # [23:40] <webben> nicferrier: It will and they are.
- # [23:40] <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.
- # [23:40] <webben> nicferrier: HTML5 can't make the need for serverside validation disappear.
- # [23:40] <AryehGregor> How this actually works in practice is up to you.
- # [23:41] <nicferrier> yup, I appreciate it's not *exactly* in the bounds of html 5
- # [23:41] <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.
- # [23:42] <webben> lol
- # [23:42] <Hixie> if only some people weren't actually doing that kind of thing
- # [23:42] <nicferrier> however, we're getting to a point where the rendered form is almost good enough to use as the DRY for an app
- # [23:42] <nicferrier> and I've been thinking about that and wondered if anyone else was.
- # [23:43] <AryehGregor> What's a DRY?
- # [23:43] <nicferrier> dont repeat yourself.
- # [23:43] * Joins: eric_carlson (n=ericc@38.114.142.208)
- # [23:43] <AryehGregor> The rendered form of what, then?
- # [23:44] <webben> nicferrier: well, you /could/ preprocess the form and derive serverside validation rules from the html, I guess, but that would be kinda weird.
- # [23:44] <Hixie> nicferrier: i don't think anyone has formally looked at taking html5 client-side markup and using it literally on the server side
- # [23:44] <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.
- # [23:44] <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
- # [23:44] <Hixie> nicferrier: xforms has been used in this way
- # [23:44] <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?
- # [23:44] * Parts: grahamperrin (n=grahampe@78-141-28-157.rdns.as8401.net)
- # [23:44] <webben> only really works for very very simple forms
- # [23:44] <AryehGregor> That would work if you had an HTML5 parser handy on the server side . . .
- # [23:44] <nicferrier> Hixie: exactly
- # [23:45] <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.
- # [23:45] <nicferrier> I am saying the frameworks model could be generated from the html 5 syntax, yes.
- # [23:46] <webben> AryehGregor: well, yes, but then you're repeating yourself.
- # [23:46] <nicferrier> no, I'm not
- # [23:46] <nicferrier> it's just a representation
- # [23:46] <nicferrier> anyway, even if I am I don't have to type it again
- # [23:46] <AryehGregor> webben, not if the extra validation is beyond what HTML5 can represent. Then you have each requirement stated only once.
- # [23:46] <AryehGregor> nicferrier, I think that's a great idea as soon as all major web programming languages get HTML5 parsing libraries.
- # [23:47] * AryehGregor isn't going to hold his breath for PHP on shared hosts
- # [23:47] <webben> AryehGregor: Ah, if you generate the client and serverside validation from a single rule definition, yes.
- # [23:47] <webben> but then you could just as well generate the HTML form from such rule definitions
- # [23:47] <AryehGregor> Yes, of course.
- # [23:47] <AryehGregor> That's how MediaWiki does it, where it actually uses such abstractions.
- # [23:48] <AryehGregor> (i.e. virtually nowhere, yet)
- # [23:48] <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
- # [23:48] <webben> I'm not sure how having two types of inputs - rather than just a set of rules - helps.
- # [23:48] <nicferrier> for a base form definition.
- # [23:48] <nicferrier> the advantage being that forms are a lingua franca
- # [23:49] <nicferrier> designers and programmers speak forms.
- # [23:49] * Quits: mmn (n=mmn@node-9689.tor.pppoe.execulink.com) ("Leaving.")
- # [23:49] <webben> yes, but both need to be driven by domain models
- # [23:49] * Joins: erikvold (n=erikvvol@S01060024012860e9.gv.shawcable.net)
- # [23:49] * AryehGregor gets suspicious when he hears terms like "domain models"
- # [23:50] <nicferrier> :-)
- # [23:50] <nicferrier> my designers would disagree
- # [23:51] <nicferrier> but anyway, nobody is actively doing anything with this to anyone's knowledge.
- # [23:51] <nicferrier> that's cool. thanks people.
- # [23:54] <webben> nicferrier: Not /quite/ what you're proposing, but close: http://simonwillison.net/2003/Jun/17/theHolyGrail/
- # [23:56] <nicferrier> yeah, writing the code to do it isn't hard
- # [23:56] <nicferrier> deciding on a usable model is a little harder
- # [23:56] <webben> nicferrier: usable model in what sense?
- # [23:57] <nicferrier> should the form be kept as a separate entity?
- # [23:57] <nicferrier> should we talk about documents and xpaths to forms?
- # [23:57] <AryehGregor> Let's just have every app reinvent the wheel and write its own form support badly. That's always worked for me.
- # [23:57] <webben> ^this ;)
- # [23:57] <nicferrier> AryehGregor: :-D
- # [23:57] * AryehGregor wishes it weren't true
- # [23:57] <webben> nicferrier: "talk about documents and xpaths to forms" ... what would that mean?
- # [23:58] <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.
- # [23:58] <AryehGregor> s/ shared hosts, in//;s/PHP,.*$/PHP./
- # [23:58] <nicferrier> webben: idk... just idle thoughts... maybe form = somedocument.forms["someform"]
- # [23:58] <nicferrier> value = form.field.value
- # [23:58] <nicferrier> that short of thing
- # [23:59] <nicferrier> binding an html5 form into a pl
- # [23:59] <webben> nicferrier: oh, you mean, would you keep all forms in an app in a single HTML document?
- # [23:59] <nicferrier> just thinking.
- # [23:59] <nicferrier> webben: well, I mean how would you keep them
- # [23:59] <nicferrier> if I want to pass the form through xslt
- # Session Close: Mon Nov 02 00:00:00 2009
The end :)