Options:
- # Session Start: Mon May 07 00:00:00 2007
- # Session Ident: #whatwg
- # [00:01] <MichaelMH> Is it a bad thing to have an empty div? because sometimes (actually quite alot) I use divs purely for presentational purposes
- # [00:02] <zcorpan> an empty div for presentational purposes is mostly harmless
- # [00:03] <MichaelMH> mostly...?
- # [00:03] <zcorpan> but using html for presentational purposes in general is not what html is designed to do
- # [00:03] <Philip`> (...but a <div> without a matching </div> is an error and makes the document non-conforming, regardless of how it's parsed)
- # [00:04] <MichaelMH> so can you write it as "<div>" or does it have to be "<div></div>"
- # [00:04] <zcorpan> the latter
- # [00:04] <MichaelMH> why?
- # [00:04] <MichaelMH> if theres nothing in it why does it need the </div>
- # [00:05] <zcorpan> because otherwise everything after it will be children of the div
- # [00:06] <zcorpan> e.g. compare "<div>X" with "<div></div>X"
- # [00:06] <MichaelMH> oh ok, it just looks a little silly is all
- # [00:08] <MichaelMH> do you gentlemen mind if I show off my latest design to you?
- # [00:08] <MichaelMH> its written in xhtml tho.. with the <br />s so I hope none get offended
- # [00:09] <Philip`> I think the people here don't mind much about impure language usage - that's why we're not working on XHTML :-)
- # [00:09] * Quits: weinig (n=weinig@odin.landmark.edu)
- # [00:10] <MichaelMH> its um still a work in progress
- # [00:10] <MichaelMH> http://www.michaelmh.com/stuff/JimKing/
- # [00:11] <MichaelMH> its a bit iffy in opera with the drop down color change bit. and it basically explodes in IE. should be fine in Firefox and Safari
- # [00:11] * Joins: weinig (n=weinig@odin.landmark.edu)
- # [00:12] <MichaelMH> i'm a newbie to javascript and php tho so the color change thing might be a bit iffy too
- # [00:14] <MichaelMH> who picked pink?
- # [00:15] * Parts: jsled (n=njsled@dsl195.burlvtma.sover.net) ("Leaving")
- # [00:16] * Philip` looks innocent
- # [00:17] <MichaelMH> do you like whole one area controlled by the page scroll bar thing going on?
- # [00:18] <MichaelMH> purple...
- # [00:19] * Philip` fails to break the code :-(
- # [00:19] <MichaelMH> what did you do?
- # [00:19] <MichaelMH> I was scared of someone breaking it. it validates both client side and server side
- # [00:20] <Philip`> Maybe it'd be nice if that area could expand to fill the screen, since it's otherwise fairly tiny in the middle of a big screen - I have no idea how to implement that, though
- # [00:20] <Philip`> (It also breaks really badly in Firefox 3 when scrolling, since everything jumps around until it's redrawn the whole screen, but maybe they'll fix that eventually)
- # [00:22] <Philip`> Otherwise I think it looks good, particularly with the faint shadows :-)
- # [00:23] * Joins: tantek (n=tantek@c-71-198-74-122.hsd1.ca.comcast.net)
- # [00:25] <MichaelMH> :D thanks. I'm really chuffed with the code too. I literally just started learning javascript two days ago (and consequently php since I need to validate the info client side and write it to a file.) and i coded the bit which checks the brightness of the colour. I nicked the thing that checks whether or not the value is hex tho, I couldnt fiqure out how to do that
- # [00:30] <MichaelMH> well gtg. I'll come back on tommoro with new questions once I've read all this stuff.
- # [00:30] <MichaelMH> nice shade of blue ;)
- # [00:30] * Quits: MichaelMH (n=Michael@87.254.67.30) ("Leaving")
- # [00:39] * Quits: tantek (n=tantek@c-71-198-74-122.hsd1.ca.comcast.net)
- # [00:40] * rob1n is now known as hfdsalkfjadsljsl
- # [00:40] * hfdsalkfjadsljsl is now known as rob1n
- # [01:17] * Parts: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com)
- # [01:17] * moeffju[Away] is now known as moeffju[ZzZz]
- # [01:37] * Quits: rob1n (n=rob1n@unaffiliated/rob1n) ("This computer has gone to sleep")
- # [01:50] * Quits: Toolskyn88 (n=toolskyn@adsl-dc-266ef.adsl.wanadoo.nl) (Connection timed out)
- # [02:08] * Parts: Faf (i=mtjdcmtu@nezmar.netlab.cz)
- # [02:51] * Quits: zcorpan (n=zcorpan@84-216-42-227.sprayadsl.telenor.se) (Read error: 110 (Connection timed out))
- # [03:36] * Joins: tantek (n=tantek@dsl001-150-252.sfo1.dsl.speakeasy.net)
- # [04:01] * othermaciej is now known as om_out
- # [04:21] * Joins: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net)
- # [04:39] * Quits: bzed (n=bzed@dslb-084-059-121-166.pools.arcor-ip.net) (Remote closed the connection)
- # [04:44] * Joins: ajnewbold (n=fax_mach@74-129-102-1.dhcp.insightbb.com)
- # [05:01] * Quits: tantek (n=tantek@dsl001-150-252.sfo1.dsl.speakeasy.net)
- # [05:42] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [05:44] * Quits: ajnewbold (n=fax_mach@unaffiliated/chuangtzu) ("This computer has gone to sleep")
- # [05:46] * Quits: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca) (Read error: 60 (Operation timed out))
- # [06:08] * Quits: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net) ("8403864 bytes have been tenured, next gc will be global.")
- # [06:49] * Quits: YaaL (i=yaal@hell.pl) (Remote closed the connection)
- # [07:01] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [07:26] * Joins: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [07:26] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
- # [08:21] * Quits: Lachy_ (n=Lachlan@203-214-143-196.perm.iinet.net.au) (Read error: 54 (Connection reset by peer))
- # [08:21] * Joins: Lachy_ (n=Lachlan@203-214-143-196.perm.iinet.net.au)
- # [08:31] * Quits: tantek_ (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [08:32] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [08:35] * Joins: hendry (n=hendry@91.84.53.136)
- # [08:52] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [09:05] * om_out is now known as othermaciej
- # [09:15] * othermaciej is now known as om_sleep
- # [09:35] * Joins: met_ (n=Hassman@b14-4.vscht.cz)
- # [09:45] * Quits: cying (n=cying@adsl-75-41-252-252.dsl.pltn13.sbcglobal.net)
- # [09:46] * Joins: ROBOd (n=robod@86.34.246.154)
- # [10:11] * Joins: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net)
- # [10:29] * Quits: jruderman (n=jruderma@c-67-169-183-228.hsd1.ca.comcast.net)
- # [10:35] * moeffju[ZzZz] is now known as moeffju
- # [11:38] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 145 (Connection timed out))
- # [11:40] * Joins: Toolskyn88 (n=toolskyn@adsl-dc-266ef.adsl.wanadoo.nl)
- # [11:41] * Joins: YaaL (i=yaal@hell.pl)
- # [11:44] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [12:01] * Joins: wakaba (n=w@118.166.210.220.dy.bbexcite.jp)
- # [12:08] <virtuelv> a tad off-topic, but should still be of some interest, http://www.andybudd.com/archives/2007/05/css22/index.php
- # [12:16] <hsivonen> http://hsivonen.iki.fi/thesis/bib4ht-0.9.tar.gz may interest people who seek to author stuff in XHTML+SVG instead of LaTeX+EPS.
- # [12:17] <annevk> virtuelv, not really, we've been discussing CSS5
- # [12:17] <met_> CSS5 ? 8-)
- # [12:17] * Quits: hendry (n=hendry@91.84.53.136) (Read error: 110 (Connection timed out))
- # [12:19] <annevk> met_, nothing more concrete than that, although it sort of implies a cleaned up version of CSS with probably some features for applications
- # [12:19] <annevk> and more aimed at implementors
- # [12:20] <met_> if it helps in some progress, good
- # [12:21] <hsivonen> now that I have a legitimate reason to do XHTML+SVG vs. HTML+PNG serving from a single URL, I'd be interested in pointers to a howto on how I can write my own decision logic with Apache
- # [12:22] <hsivonen> should I use mod_rewrite to map http://hsivonen.iki.fi/thesis/html5-conformance-checker to a PHP script?
- # [12:23] <hsivonen> basically, I want to serve a/x+x if Accepted but serve t/h to a old version of popular a/x+x-accepting browsers
- # [12:44] * Parts: annevk (n=annevk@pat-tdc.opera.com)
- # [12:45] * Joins: zcorpan (n=zcorpan@84-216-41-43.sprayadsl.telenor.se)
- # [12:48] * Joins: annevk (n=annevk@pat-tdc.opera.com)
- # [12:51] * Joins: mpt_ (n=mpt@canonical/launchpad/mpt)
- # [12:56] * Joins: MichaelMH (n=Michael@87.254.67.30)
- # [12:57] <MichaelMH> hello
- # [12:58] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 110 (Connection timed out))
- # [12:58] <zcorpan> MichaelMH: heya
- # [13:01] <MichaelMH> I'm back, I did a little bit of reading last nite. the FAQ seems to be a bit unfinished though
- # [13:01] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
- # [13:11] <annevk> MichaelMH, yeah, much like the spec
- # [13:11] <Lachy_> MichaelMH, if you would like to contribute to the FAQ, I'd appreciate it :-)
- # [13:14] <MichaelMH> I'm afraid I'm not very good at writing about things I do not fully understand myself :P
- # [13:14] <Lachy_> well, if there are any unanswered questions you would like answered, let me know, and I can write an answer for you
- # [13:15] <Lachy_> or if you have any new questions
- # [13:16] <MichaelMH> this one: "Why do we need both HTML 5 and XHTML 2.0?" although zcorpan explained it to me last nite it was what confused me the most when I came to this site
- # [13:21] <met_> Lachy_, you still insist on "When will HTML 5 be finished? Around *15* years or more to reach a W3C recommendation"? 8-)
- # [13:22] <Lachy_> at the rate the HTMLWG is resolving any issues, I'd be inclined to extend that a little :-)
- # [13:22] * met_ uffs
- # [13:23] <Lachy_> but I have faith in Hixie getting his act together and actually doing some work on the spec regardless of the HTMLWG ;-)
- # [13:23] <annevk> In terms of features HTML5 is mostly finished. In terms of gaining implementation experience and incorperating feedback and implementation feedback it's not. And that's a process that likely takes a decade or longer.
- # [13:23] <annevk> This is a very different model from older specifications.
- # [13:24] <annevk> Older specifications were mostly finished in terms of features. And where then rubberstamped with a W3C sticker on top.
- # [13:24] <Lachy_> it's similar to the model used for CSS2.1, but even that's gradually failing
- # [13:24] <annevk> And never took much implementation experience into account etc.
- # [13:24] <Lachy_> HTML4 advocates still refuse to take implementation experience into account
- # [13:25] <Lachy_> XHTML2 advocates as well
- # [13:27] <MichaelMH> Do I need to be advance in javascript to use canvas?
- # [13:27] <Lachy_> you can get libraries that do a lot of the difficult work for you, depending on what you want to do
- # [13:27] <annevk> You need to understand some of the basics, yes.
- # [13:27] <Lachy_> e.g. PlotKit is really simple and easy to understand if you want to draw a graph
- # [13:27] <annevk> But there's lots of tutorials out there
- # [13:28] <Lachy_> but to build a game like Doom in Canvas, you need to be a genius like Philip`
- # [13:28] <met_> yes Doom in cavas is great 8-)
- # [13:28] <met_> *canvas
- # [13:29] <MichaelMH> doom in canvas?
- # [13:29] <met_> any idea when it become multiplayer? 8-)
- # [13:29] <MichaelMH> link me =0
- # [13:29] <virtuelv> MichaelMH: there's several
- # [13:29] * Lachy_ is looking for the link
- # [13:29] <met_> MichaelMH http://canvex.lazyilluminati.com/84/play.xhtml
- # [13:29] <Lachy_> that's it
- # [13:29] <met_> and http://canvex.lazyilluminati.com/83/play.xhtml
- # [13:29] <virtuelv> and http://www.abrahamjoffe.com.au/ben/canvascape/
- # [13:32] <MichaelMH> witchcraft
- # [13:40] <Lachy_> here's a pre-canvas attempt at a 3d game http://www.sylloge.com/5k/entries/232/domaze5k.htm
- # [13:40] <Philip`> met_: I've thought about adding multiplayer, but sadly not had the time to implement it :-(
- # [13:41] <Philip`> (There isn't really any complicated JS, though - most of the non-trivial bits are just the maths in the raycasting/rendering part)
- # [13:42] <met_> Philip`, keeping fingers crossed you early have!
- # [13:44] <virtuelv> met_: 84/ - really quite smooth in Opera
- # [13:44] <virtuelv> but it makes my CPU bleed
- # [13:45] * Quits: mpt_ (n=mpt@canonical/launchpad/mpt) (Read error: 110 (Connection timed out))
- # [13:46] <MichaelMH> yeeeah. just made my first rectangle with canvas
- # [13:46] <MichaelMH> its immense
- # [13:46] <MichaelMH> best rectangle ever.
- # [13:46] <Philip`> There's not much point having a fast CPU if you don't want to actually use it to its full extent :-)
- # [13:46] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [13:48] <Philip`> Even normal Doom isn't incredibly smooth on my computer - admittedly that's running at 1280x960 and inside Wine, and the original was a bit faster, but still the JS version isn't too awful in comparison...
- # [13:51] <MichaelMH> is the drawing paths stuff just like dot to dot?
- # [13:51] <annevk> MichaelMH, yeah
- # [13:51] <annevk> MichaelMH, the nice thing about <canvas> is creating images easily without a graphics editor
- # [13:52] <annevk> when you're done you just invoke toDataURL() and save the resulting URL as a PNG :)
- # [13:52] <MichaelMH> =0 thats so cool.
- # [13:52] <MichaelMH> I'm going to attempt a star
- # [13:52] <Lachy_> annevk, if you call writing a script to draw an image, easier than working with photoshop, then ok
- # [13:52] <annevk> http://annevankesteren.nl/2006/08-paintr21 has a simple sample of that
- # [13:53] <annevk> Lachy_, well, I don't have photoshop :)
- # [13:53] <Lachy_> ah, ok
- # [13:53] <virtuelv> a slightly more complex example, http://widgets.opera.com/widget/4647
- # [13:53] <Lachy_> MS Paint is pretty good though
- # [13:54] <annevk> MS paint is web stuff now
- # [13:54] <annevk> photoshop is next
- # [13:54] <MichaelMH> yeah if ms paint had multiple levels of transparancy and layers then it would be such a good pixel art tool
- # [13:54] <met_> annevk, Paintr excellent idea 8-)
- # [13:55] <Lachy_> that's awesome! data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAL2UlEQVR4nO3dy28TVxsG8OccOyQOQSWBCBoIAhqgZQMIBF0UqFq6KeqGZRewasuOXaXSPyBhB91FLNoFLIAlLQKJXihNLxEI2NGSoBJKgBYIYBQHHPt8i3xncIzzJrbHc449z0+yuCgevx77mffMmUuUMcaAiErSrgsg8hkDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAE
- # [13:55] <Lachy_> AkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGJEJ9fX344osvXJdBZUi6LqBRnDlzBnv37sXExETwf62trQCAjo4OAMDIyAgOHDjgpD6qDDtIFc6cOYOOjg4opbB79248fPgQExMTyGazyGazyGQyyGQySKfTSKfT2LBhA3bu3Om6bCdOnToFrbX4SCQSrst8lfGMUspEWVZ/f79pamoyWuuSj0Qi8cpDa20ABI/29nbz3XffRVZzPTlx4kTwmc7l4RvvKopiRfX395tkMjmnD0wpVfLBUMyucEOilDInT56c9We11hFWODuvAlLNSjp06JDRWs/4hS61FUsmk6a/v78G74Ts+lZKmRMnTszpOT6GxJuAVLJybCjm2r4ZitpLpVLBuq7ki26Ddfr06RpU
- # [13:55] <Lachy_> Vz5ljDFh79dUQikFALDlaD3z/EFxyVpr9Pb24vPPP69dgTQj+1kVfi6pVArj4+NlL+vbb7/FRx99BKUU8vl8aDVWyouAXLx4ETt27Ji2UmxgZsJQ+KPwswrji621hpka3VRbWtW8OA5ipz4vXLgQ/J8PK4fmJuzPqqWlBZlMBq2trRV1oTA57yClugeRUsqL74TzA4WlugcR4McownkH8Wm8Sf7w5XvhvIMQldLS0gLg5flsrjjvIMXTu0SWD/shTjvIwMAAgNmndCmelFLON5xOA7J9+3YAUzNZcaa15kaiBB+GWc6GWAMDA3jnnXect1AfJBIJ5PN5aK2Ry+Vcl+MV18MsZx2E3eOlXC4HrXUQkmXLlrkuySsuh1nOOogv03g+sZ3EUkrh9ddfx507dxxW5Zbr7wmneT2Sy+VgjEFXV1ewgzo6Ogq
- # [13:55] <Lachy_> llHjyJtUO17qH7ty5g3w+/0pYlFJoampyXV6k7OSFq8txGRDP2bB88sknUEphcnISWmt8+umnrkuLhJ20cLWTzn2QOtPU1ITJyUkAiM2sl8vvCjtInclms8Fwy856HT9+3HVZDctZB+EpJtWbN28estksgKnO8uLFC8cV1UZsOwiPHlfnxYsXOHbsGICpzqK1xsqVK90W1WCcdJBkMolcLof3338f58+fn/Hnwpja1FoHY/ZGVuoYyl9//YWenh6HVYXDZQdxEpDZhleLFi3Co0ePavK6S5cuxejoaOjL9sXKlSsxMjISrNtGCEqshli7du0CUHpe+8qVK9BaB+Ho6OgIVkw1j0QiERxLuHv3LpRSft7mMgR///038vk8bty4EbznNWvWQGtd1yFxJfIOUmprkEwmgwNjQDh3xphJV1cX7t27F8wEff
- # [13:55] <annevk> dude
- # [13:55] <Lachy_> 3119i3b19NXssHQ0NDWLt27bT1XW/Tw7EaYtk3a0/Om1aMUrh8+TI2bdpU8zriMgNUqKenBzdv3py2IbJ/+hyYWA2xrHw+Hwx17JvP5/ORhAOYmgH65ptvAEzNADXqkKvQ0NBQcOwEwLT17vP7j9XZvHZr4NN1IIVdzectaS3Y9w5MdZJbt26hu7vbcVUvtba2IpPJOPu+RN5B7IcxODgY9UvPyG5Vfd+S1oLd97NBWbFihVfrIJPJAHB3LlbkAbFXiG3ZsiXqlxYVX7S0f/9+1yVFKpfLYWRkJNhS21PsXYbFDgVTqZSzGpwMsQYHB70LiFV8wC2RSMTiQGOh4nXgYuj5yy+/BFedxmofpF7Yo/1W3PdPovyaFAbU9Xrn2bwzmJychDEGn332WTDs8GlsHgU71IrSr7/+GoTj4sWLzjdK7CBzFNc7j
- # [13:56] <Lachy_> 0R5DMKnzmGxg8xRLpcLOsnQ0JDrchrO77//HoRjYGDAi3AA7CBlGRoawpo1a7w6hlNrUXQQHzuHxQ5Shp6enmkHOnnyX/VsOJRS+O2337wKB+DJb5iqJ7lcDj09PRgeHsbw8DASiYR3H2q9GBwcDMLha0fmEKsKcThFpZZDLLvsP/74A1u3bg19+WFgQKrU6NfW1yog9TIryH2QKvG6+vJdvnw5GFL5HA6A+yAUseIZK9/5XyE1jMIZq0uXLnnfPQB2EBKMjY2Ftu9RL/scxRgQKqm5uTm4DLnac9DqNRwAh1hVa9TZK3u9/qNHj6o63f/atWvBsKrewgEwIBU7d+5csJNZDzublWpvb6/q+fYeA1euXAmjnMjxOEgF2tvb8fjxYwDAwoULMTY25rii8FV7fKfwZhzVLMe1xt301YjWOgjH2bNnGzIc
- # [13:56] <Lachy_> X375JYDq9j0Kw1HPx4rYQebI3l0D8O+M07BV0z0q6Rz2OeWK4r7L7CCz6Ovrg9Y6uPVMb29vQ4fD/oq3gwcPVvT8cjvHP//8E9xZpdyHvUZn3rx5FdU6F+wggsKjvqlUCuPj444rqr1q9z1mO3eruFvYv9++fRvLly8v67WK7xtga29paQnts2IHKeH7778PbgFkbwAdh3A8e/YMQGX7HolEYtpNHmb6meJuAUyFqtxwAC/vG2C7nl2m7fZaayxcuLDs5RYqu4P09fXhyZMn6O3treqFfdXZ2YkHDx4AABYvXoz//vvPcUXRsVvkdDqNtra2sp5bHI7i4VVhGGo9RE2lUpiYmAj+vXr1agwPD1e0rIo6yKFDh/Dhhx/iq6++quhFfbRjxw5orYNwnD9/PlbhePbsGXK5HBKJRNnhKKV4fwGIbnIjk8n
- # [13:56] <Lachy_> AGINFixYBAG7evAmlFJqbm9Hd3Y0LFy7MfWGmTD/++KN5++23DQDT1dVV7tO9cvjwYaOUMgCCh9badVlO2PWQTqddlxK61atXG6WU0VoH71MpZV577TWzbt06c/To0RmfW3ZArLVr1xoAZv78+Wb+/Pnmvffeq3RRkWtubp4WCqWU2b59u+uynGlvbzcAzIIFC1yXEomffvrJdHd3m7a2NrNgwQKjtTYff/xxyZ+teCf9gw8+QFtbG7LZLMbHx/HDDz9g/fr1lS6u5u7fvw+tNZRSeP78OYCpE/LM/2////PPPzuu0J2xsTEopfD06VPXpURi586dGBkZQTqdxtOnT3Hy5MmZ72gfVirfeustA8C88cYbYS2yav/+++8rQyillDl8+LDr0rxx5MgRA8AcOXLEdSleCvU4iL3bB+D+9ILit6WUwt27d7
- # [13:56] <Philip`> That's not working so well in IRC
- # [13:56] * met_ considering Lachy_
- # [13:56] <Lachy_> FkyRJHFfnJzlyF+DVoKKEfKHzzzTfx559/hrnIiimlcP/+fXR2drouxVuNftOJaoV+wdT169fDXiTVyLJlywAAK1ascFyJv3gkPabWrVuH0dFRdHV14datW67L8RbPxYopl785tp6wg8TQxo0bYYzB5s2bXZfiPQYkZrZt24Zr165hw4YNuHTpkutyvMeAxMiePXswODiIrVu34urVq67LqQvcB4mRzs5OPH78OLhjCc2O98WKkY6OjppefdeIGJAYWbVqFZ48eeK6jLrCgMTIu+++y4CUifsgRALOYhEJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESM
- # [13:56] * annevk wonders where the bot is that kicks Lachy_ for spamming
- # [13:56] <Lachy_> CBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiRgQIgEDAiRgAEhEjAgRAIGhEjAgBAJGBAiAQNCJGBAiAQMCJGAASESMCBEAgaESMCAEAkYECIBA0IkYECIBAwIkYABIRIwIEQCBoRIwIAQCRgQIgEDQiT4H/chN4QySzv4AAAAAElFTkSuQmCC
- # [13:56] <Lachy_> woah!, sorry
- # [13:56] <Lachy_> didn't realise it was that long :-)
- # [13:56] <met_> we did 8-)
- # [13:56] <annevk> that's why you save it and then upload it :)
- # [13:56] <Philip`> Run optipng on it first :-)
- # [13:57] <MichaelMH> ... what is that mess?
- # [13:57] <annevk> a URL
- # [13:57] <Lachy_> it's a data: URI
- # [13:57] <Lachy_> copy and paste, and then stick all the bits together
- # [13:57] <MichaelMH> I don't think my address bar would explode
- # [13:58] <MichaelMH> i mean.. I do* think
- # [13:58] <annevk> neh
- # [13:58] <annevk> maybe in IE
- # [13:58] <MichaelMH> lol
- # [13:58] <annevk> the URL limit in other browsers has been extended specifically for data URLs
- # [13:59] <Philip`> Aha, it works - "5 7 2"
- # [13:59] <annevk> hah, only Opera can render Henri's thesis in its preferred format
- # [13:59] <annevk> (with a released version that is)
- # [13:59] <annevk> (released non-beta)
- # [14:00] <annevk> (the amount of disclaimers you need to not end up in a flame war...)
- # [14:00] <Lachy_> http://tinyurl.com/3x7b25 will redirect to it, but only seems to work in Opera
- # [14:00] <Lachy_> http://tinyurl.com/3x7b25
- # [14:00] <MichaelMH> 5 72?
- # [14:00] <Lachy_> 5 > 2
- # [14:00] <MichaelMH> 5 > 2? no way
- # [14:01] <annevk> 5 > 2 (?)
- # [14:01] <met_> (?) 5 > 5
- # [14:01] <MichaelMH> i've seen that on a t-shirt
- # [14:01] <Lachy_> there's a tshirt for it too
- # [14:01] <MichaelMH> cus I was linked to it from the blog.
- # [14:01] <MichaelMH> I don't know what it means tho
- # [14:01] <Lachy_> it's an obvious mathematical statement
- # [14:01] <met_> anyone to produce some webbutton with 5 > 2 theme?
- # [14:01] <met_> something like all Valid HTML buttons
- # [14:02] <Lachy_> although, there are some people who like to write it as 5 < 2, they're just weird and can be ignored ;-)
- # [14:02] <annevk> <a rel=vote href=http://www.whatwg.org/>5 > 2</a> will be good enough
- # [14:02] <annevk> Lachy_, hey!
- # [14:02] * Lachy_ is now known as Lachy
- # [14:02] * annevk did that
- # [14:03] <annevk> during my HTML5 talk, even
- # [14:03] <MichaelMH> is it cheating if I draw my star in flash first then find out where the points are...?
- # [14:03] <Philip`> Yes :-)
- # [14:03] <Philip`> Draw it on a piece of paper, and draw a rough grid and guess the coordinates - that's almost as easy :-)
- # [14:04] <annevk> my house rules allow that though
- # [14:04] <MichaelMH> ... but isnt that just doing the exact same thing as drawing it in flash
- # [14:04] <annevk> for when there's no paper
- # [14:08] <MichaelMH> uh oh
- # [14:08] <MichaelMH> thats not a star
- # [14:12] <MichaelMH> yeeaaah: http://www.michaelmh.com/stuff/newbie/canvas.html the points are a bit iffy because I cheated
- # [14:13] <Philip`> It's not a very nice colour, though :-(
- # [14:14] <Lachy> MichaelMH, there are algorithms for drawing stars without having to enter the points manually
- # [14:15] <MichaelMH> um...
- # [14:16] <MichaelMH> I enter the points manually, its just my style.
- # [14:17] <Philip`> If your aim is not specifically to draw lots of stars, then just writing the coordinates seems quite reasonable
- # [14:18] <Lachy> yeah, entering points is fine just for experementation with canvas
- # [14:18] <Philip`> (and then it avoids the unhelpful complexity of star-drawing algorithms)
- # [14:19] <MichaelMH> did one of you change my site to lite pink?
- # [14:19] * Joins: jdandrea (n=jdandrea@ool-44c0a1fe.dyn.optonline.net)
- # [14:20] <Lachy> MichaelMH, what?
- # [14:20] <Philip`> Not me
- # [14:21] <Philip`> It's a nice shade, though
- # [14:21] <MichaelMH> lol never mind. it was last nite
- # [14:22] <Lachy> your homepage is broken. http://www.michaelmh.com/ It doesn't work with styles disabled
- # [14:22] <MichaelMH> my homepage is oooolldd.
- # [14:22] <MichaelMH> I don't do anything to that anymore.
- # [14:22] <Lachy> yeah, it looks like you didn't realise you could style anything but divs
- # [14:23] <MichaelMH> ahem.
- # [14:24] <MichaelMH> I think when i made that I wanted a way for the roll over images to load before you rolled over them... because then theres a short moment when its just blank
- # [14:24] <MichaelMH> im making my star my homepage.. you've upset me
- # [14:25] <Lachy> there are ways to combine both images into one, and then switch it by changing background poisition
- # [14:25] * Joins: yod (n=ot@bas11-montreal02-1128531044.dsl.bell.ca)
- # [14:26] <MichaelMH> cunning
- # [14:26] <MichaelMH> have the main image on top of the roll over one and then when you rolled over the top image it would go transparent
- # [14:27] <MichaelMH> hmm.. there was a start to that sentence but it disapeared..
- # [14:27] <MichaelMH> stick "my idea was to" infront of that sentence and it should make sense-ish.
- # [14:27] * Joins: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca)
- # [14:32] * Quits: mpt (n=mpt@canonical/launchpad/mpt) (Read error: 110 (Connection timed out))
- # [14:33] * Joins: mpt (n=mpt@canonical/launchpad/mpt)
- # [14:52] <MichaelMH> my next picture is gonna be insane* (*may actually be quite reasonable)
- # [14:55] * Philip` wonders if there's adequate documentation for <canvas>, or if more tutorials/references/examples/etc would be worthwhile
- # [14:56] <met_> there on mozilla.org you know probably
- # [14:57] <MichaelMH> yeah Im reading the one on mozilla
- # [14:58] <met_> met_ this was for Philip` 8-)
- # [14:59] <Philip`> I just don't know whether that stuff is useful for people who are new to it, and I have the wrong perspective now to read it and see for myself :-)
- # [14:59] * Joins: ddfreyne (n=ddfreyne@d51A5CE12.access.telenet.be)
- # [15:00] <MichaelMH> I'm following it ok
- # [15:00] <MichaelMH> Although I wish it would tell you how to change the fill colour sooner..
- # [15:01] <MichaelMH> anyone care to tell me that btw?
- # [15:01] <Philip`> ctx.fillStyle = 'magenta'
- # [15:01] <met_> when i learned canvas, the http://developer.mozilla.org/en/docs/Canvas_tutorial was good as hello world
- # [15:01] <met_> but there is missing the next step
- # [15:01] <met_> the step between hello world canvas and Doom in canvas i mean 8-)
- # [15:02] <Philip`> (or any other colour name (like 'rgba(128, 128, 128, 0.5)' or '#ff0000' etc), theoretically using the CSS3 Color syntax though that's not supported by every browser)
- # [15:04] <Philip`> met_: Perhaps something like a simple 2D platform game? That might cover lots of the interesting issues (like animation, handling input, managing multiple images, loading map data, etc) without being overwhelming
- # [15:04] <MichaelMH> ...snap
- # [15:04] <MichaelMH> go for it phill
- # [15:04] <met_> Philip`, good idea
- # [15:05] * Philip` has no time to work on anything now, though :-p
- # [15:05] <met_> Philip`, some tic-tac-toe, pacman or something like this
- # [15:06] * jdandrea suggests Tetravex (if only he had cycles to write it himself - but then the code must exist somewhere ...)
- # [15:06] <met_> met_, or even simple "escape from 2d maze"
- # [15:06] <met_> just somethinf intercative, not only painting circles and rectangles
- # [15:06] <jdandrea> Ah! There is a JavaScript version - see external links - http://en.wikipedia.org/wiki/TetraVex
- # [15:06] <Philip`> (The situation will be much worse for newcomers with the 3D canvas, I would expect - hopefully someone will make a nice library to hide the details so nobody else needs to care)
- # [15:07] <jdandrea> met_: Got it. Was thinking this could be spiffed up a bit though. Hmm. A Rubik's Cube?
- # [15:07] <met_> jdandrea, there are many, e.g. http://www.schillmania.com/arkanoid/arkanoid.html
- # [15:08] <jdandrea> Aye.
- # [15:08] <jdandrea> Trying to brainstorm s'more here ...
- # [15:09] <met_> better start with somethin 2d than 3d rubiccube
- # [15:10] <met_> 3d is for advanded 8-)
- # [15:10] <met_> *advanced
- # [15:10] <jdandrea> Point taken.
- # [15:10] <Philip`> 3D is really nasty in the 2D canvas, so it's probably best to avoid ever doing that :-)
- # [15:10] <jdandrea> hehe
- # [15:11] <jdandrea> I've seen the cube splayed (sic?) though, so you don't have to see it rotate. Anyway, it's a thought. :)
- # [15:11] <met_> any simple game that is on world smallest website is suitable http://www.guimp.com/pong.html
- # [15:12] <jdandrea> ROTFL - nice.
- # [15:12] <met_> there are about ten
- # [15:12] <virtuelv> there is also http://virtuelvis.com/download/2005/10/mandelbrot/
- # [15:13] <virtuelv> (Haven't tested if it works properly in ages though. First thing I ever did in canvas)
- # [15:13] * Joins: ROBOd (n=robod@86.34.246.154)
- # [15:13] <met_> virtuelv, nice
- # [15:14] * met_ do not inderstand fractals anyway but they are nice
- # [15:14] <virtuelv> some more stuff here: http://virtuelvis.com/gallery/canvas/searchlight.html
- # [15:14] <virtuelv> err, http://virtuelvis.com/archives/2005/12/canvas-image-manipulation I meant
- # [15:15] <met_> let's put all there links on http://wiki.whatwg.org/wiki/Main_Page
- # [15:15] <met_> create some canvas page
- # [15:18] <MichaelMH> umm
- # [15:18] <MichaelMH> when I do moveTo then make a circle I just get a circle with a line going to the moveTo point
- # [15:19] * zcorpan finds a blog entry entitled "The and Element" from Lachy in opera's feed reader
- # [15:20] * zcorpan wonders whether it's the feed or opera that is broken
- # [15:20] <Lachy> zcorpan, it could be the feed, but I suspect it's Opera. Firefox displays it properly
- # [15:20] <Lachy> though, it's RSS 2.0, so who knows?
- # [15:20] <met_> google reader has it broken too
- # [15:21] <Lachy> I really must upgrade Word Press one day. Does the latest one output Atom 1.0?
- # [15:21] <met_> and it results in the 'The * and Elements' on my google reader shared page http://www.google.com/reader/shared/13885598797767922370
- # [15:22] <Philip`> MichaelMH: Are you trying to move the centre of the circle? You would have to either change the coordinates or call translate() to do that
- # [15:23] <zcorpan> Lachy: your blog entry doesn't discuss what to do with <em> and <strong> though
- # [15:24] <zcorpan> Lachy: i.e., should they be synonyms with <i> and <b> or be more specific semantics as currently defined?
- # [15:24] <Lachy> it was only about The <b> and <i> elements
- # [15:24] <zcorpan> yeah. ok
- # [15:24] <Lachy> I made the assumption that they would keep their current definitions of emphasis and importance for now
- # [15:25] <MichaelMH> oh is the x and y position in the circle thingy
- # [15:25] <MichaelMH> ok I got it now
- # [15:27] <zcorpan> Lachy: ah, the "The and Elements" was via google blog search
- # [15:27] <zcorpan> Lachy: your original feed entry shows up as "The <b> and <i> Elements" in opera
- # [15:29] <Lachy> I could take out the < and >, which would work around the problem, but then those services probably won't update the feed anyway
- # [15:30] <zcorpan> Lachy: don't, revealing bugs is a good thing :)
- # [15:30] <Lachy> yeah, I know
- # [15:30] <Lachy> but there are so many bugs with RSS implementations that haven't been fixed
- # [15:31] <Lachy> I bet it was caused by a complete lack of test cases too
- # [16:00] <MichaelMH> http://www.michaelmh.com/stuff/newbie/man.html
- # [16:01] <annevk> it's not like there's an RSS spec
- # [16:01] <annevk> that's actually good
- # [16:01] <annevk> so far RSS is much like HTML4
- # [16:01] <annevk> "eating resources"
- # [16:02] <MichaelMH> uh oh I forgot eyebrows
- # [16:05] <MichaelMH> I was going to have semicircle ear lopes but it messed up
- # [16:07] <Lachy> annevk, is the Atom spec much better quality?
- # [16:13] <MichaelMH> oohh.. does 5 > 2 mean HTML5 > XHTML2?
- # [16:13] <MichaelMH> sorry I was a bit slow there
- # [16:13] <Lachy> yes
- # [16:15] <MichaelMH> I don't think the general public will understand if I wore a t-shirt that said "5 > 2"
- # [16:15] <met_> interesting question from one Czech webdesigner, but I do not know the answer, if html5 specify how browsers shodl handle tag soup, errors etc, where is the limit?
- # [16:16] <Lachy> the limit of what?
- # [16:16] <met_> where is the limit of what if HTML (and should be parsed as html) and what not
- # [16:16] <met_> <p><i>is HTML</p> (wrong but is)
- # [16:16] <met_> andwhat 3434iu3i4ur890ewe#$#$#$<4340390we>r9er0e9r0
- # [16:16] <Lachy> the spec needs to define everything that is required for browsers to handle any given input stream
- # [16:16] <met_> is there any defined limit, some border? 8-)
- # [16:16] <Lachy> no
- # [16:17] <Lachy> the algorithm should handle all possible input streams
- # [16:17] <met_> sounds brave
- # [16:17] <Lachy> handling all possible input isn't the problem, it's defining what to do with it that's tedious
- # [16:18] <annevk> Lachy, not really
- # [16:18] <Lachy> see http://www.w3.org/mid/463C6E54.1040300@cam.ac.uk
- # [16:19] <annevk> it doesn't actually define nesting depths though and such
- # [16:19] <annevk> which sensible implementations likely have
- # [16:19] <annevk> (html5lib is not one of those)
- # [16:20] <Lachy> really? Firefox, I think, handles quite a large nesting depth. I don't know what its upper limit is
- # [16:20] <annevk> I'm not sure what your "really?" question is about
- # [16:20] <Lachy> do they really have limits
- # [16:21] <Lachy> I suppose, memory constraints would be the issue
- # [16:21] <annevk> you don't want a browser to hang
- # [16:22] <annevk> that would make it impopular
- # [16:22] <Lachy> Hixie has a test somewhere that tests excessive nesting of elements
- # [16:22] <annevk> does it test whether they're nested or just whether the browser doesn't hang?
- # [16:22] <Lachy> http://www.hixie.ch/tests/evil/html/parsing/compat/001.html
- # [16:23] <annevk> k
- # [16:26] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [16:26] <Lachy> Safari crashes :-(
- # [16:27] <MichaelMH> woah canvas lines look smoother in safari
- # [16:31] * Quits: KevinMarks (n=Snak@pdpc/supporter/active/kevinmarks) ("bye")
- # [16:32] <annevk> http://www.cs.tut.fi/~jkorpela/quirks-mode.html
- # [16:32] <annevk> I don't everything mentioned there applies to all browsers though
- # [16:32] <annevk> such as box model and dimensions for inline elements
- # [16:33] <Lachy> it says right at the top "not all browsers exhibit all of these features:"
- # [16:34] <annevk> it sometimes calls out the differences though
- # [16:36] <zcorpan> annevk: wow, that's useful
- # [16:39] <MichaelMH> yo. shouldnt this make a semi-circle? ctx.arc(90,65,20,0,180,false);
- # [16:41] * Joins: billmason (n=billmaso@ip156.unival.com)
- # [16:43] <Philip`> MichaelMH: The angles are measured in radians (2*Math.PI per circle) rather than degrees (360 per circle), so you'd have to do arc(x, y, r, 0, Math.PI, false)
- # [16:46] <MichaelMH> ic..I'm not very good at math =\
- # [16:47] <MichaelMH> the bezier and quadratic curves are pretty damn awesome tho
- # [16:48] <Philip`> (You can do "function deg2rad(deg) { return deg*Math.PI/180 }" or something if you have to convert angles)
- # [16:48] <MichaelMH> I might redo my man with them
- # [16:48] <Philip`> I've never actually looked at either of them, so I have no idea what they're like
- # [16:49] <MichaelMH> looked at what?
- # [16:49] <virtuelv> god, some things are so broken
- # [16:49] <Philip`> Bezier/quadratic curves
- # [16:49] <virtuelv> s/god/FSM/
- # [16:49] <virtuelv> How to create input type="radio" by script in IE:
- # [16:49] <virtuelv> newRadioButton = document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='Second Choice'>")
- # [16:50] <MichaelMH> its like lineTo with added wobble
- # [16:52] <Philip`> I guess the spec ought to define precisely what it means by "quadratic curve", since it's not an obvious term (or at least not one I've heard) - but I'm still trying to work through all the earlier sections so I'll happily ignore it for now
- # [16:52] * Joins: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net)
- # [16:54] <MichaelMH> http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes#Bezier_and_quadratic_curves
- # [16:56] <MichaelMH> is there a way to group a bunch of coordinates and move them all at once across x and y
- # [16:57] <Philip`> ctx.save(); ctx.translate(dx, dy); /* draw lots of stuff */; ctx.restore();
- # [16:57] <Philip`> though I think Firefox applies the translation when you create points, whereas Opera applies the translation when you do the fill/stroke
- # [16:58] <Philip`> (and Safari might match Firefox's behaviour, and the spec currently matches Opera's, but it's quite possible the spec will change)
- # [16:58] <Philip`> (if I remember correctly)
- # [17:00] <annevk> are you sure Safari matches Firefox?
- # [17:00] * annevk thought it matched Opera
- # [17:01] <Philip`> Not at all sure - I've never tested it, and I just vaguely remember people mentioning something but I don't know exactly what
- # [17:10] * Joins: MikeSmith (n=MikeSmit@banff-72-29-239-177.mycanopy.net)
- # [17:12] <MichaelMH> hmm..
- # [17:12] * Joins: jcgregorio (i=chatzill@nat/ibm/x-ff66af3665ec1821)
- # [17:18] * Joins: psa (n=yomode@posom.com)
- # [17:18] <MichaelMH> i think the curve thing would be easier if cp1x, cp1y, cp2x, cp2y was relative to x and y
- # [17:21] <Philip`> You could perhaps write "var x = whatever, y = whatever; ctx.bezierCurveTo(cp1x+x, cp1y+y, cp2x+x, cp2y+y, x, y)"
- # [17:22] <MichaelMH> hmm
- # [17:23] <MichaelMH> i'll try that after I've finished my "M"
- # [17:30] <MichaelMH> yeeeeeeeaah: http://www.michaelmh.com/stuff/newbie/M.html
- # [17:32] * Philip` wonders if it'd be possible to do a whole TTF font this way
- # [17:33] <MichaelMH> TTF font?
- # [17:34] <MichaelMH> yo, you know how Im making a fill then sticking a stroke onto of it
- # [17:34] <MichaelMH> is there anyway to make the fill have a border
- # [17:35] <Philip`> That's just the usual format for defining fonts built out of lines and Bezier curves
- # [17:36] <Philip`> You can just call "ctx.fill(); ctx.stroke()" - the fill shouldn't affect the current path
- # [17:37] <MichaelMH> oh yeah silly me, I should of tryed that
- # [17:37] * Joins: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com)
- # [17:42] <MichaelMH> howcome you can draw a rectangle but not a cricle, triangle.. teapot and otehr stuff
- # [17:44] <Philip`> Probably because rectangles are a very common case, so it's worth having a function for them (instead of requiring moveTo/lineTo combinations), whereas shapes like triangles are much rarer and you can just make them out of lines
- # [17:44] <Philip`> The lack of circle seems kind of irritating to me, since arc(..., 0, 2*Math.PI, false) isn't very elegant, though at least you can define your own circle function if you want
- # [17:45] <Philip`> I think teapots lack significant reason to be included :-)
- # [17:45] <MichaelMH> I think wanting to draw a "M" would also be common
- # [17:46] <Philip`> Text would be good, but the spec says "drawing text is not supported in this version of the API (there is no way to predict what metrics the fonts will have, which makes fonts very hard to use for painting)"
- # [17:47] <MichaelMH> ic
- # [17:47] <Philip`> (I think some people have liked the idea of being able to draw an arbitrary HTML element into the canvas, in which case you could do text by just creating it in HTML/CSS then copying it)
- # [17:49] * zcorpan points to http://forums.whatwg.org/viewtopic.php?t=31
- # [17:51] <Philip`> Oh, that might be the thing I remembered talking about the "Firefox-ish / Safari-ish" way of doing transformations, as opposed to the Opera-ish / spec-ish way
- # [18:04] <jgraham> Would anyone like to try and break http://wordsandpictures.dyndns.org/html5/parsetree.html?
- # [18:05] <MichaelMH> omg, excitement. I'm on the gradient section.
- # [18:06] * jgraham instantly finds a trivial bug
- # [18:06] <zcorpan> jgraham: simple! http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Carticle%3E ;)
- # [18:06] <jgraham> zcorpan: Take that up with Hixie ;)
- # [18:06] <zcorpan> yeah yeah :)
- # [18:07] <jgraham> Although the traceback shouldn't be displayed
- # [18:07] <jgraham> I think I will just disable the NotImplementedError in html5lib
- # [18:08] <Lachy> jgraham, couldn't you implement that as some sort of non-fatal warning instead
- # [18:08] <met_> looks nice
- # [18:09] <annevk> jgraham, yeah, just change the inbody methoddispatcher thingie
- # [18:09] <jgraham> Lachy: I was thinking of writing a warning to sys.stderr
- # [18:09] <annevk> Lachy, no, too much hassle for little value
- # [18:09] <annevk> (imo)
- # [18:09] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 54 (Connection reset by peer))
- # [18:10] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [18:10] <zcorpan> you could treat them as "anything else", but that's not what the current spec says...
- # [18:10] <annevk> the current spec says "red blob" iirc
- # [18:10] <zcorpan> yeah
- # [18:10] <annevk> which makes the "anything else" cause plausible
- # [18:11] <Lachy> yeah, anything else makes sense until their handling is actually defined
- # [18:11] <met_> jgraham, on top of the result page can be page-navigation? like #input-document, #parse-tree, #output-innerHTML, #parse-errors
- # [18:11] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Client Quit)
- # [18:11] <met_> for long document it is too scrolling
- # [18:11] <Lachy> though, you could implement things like <section> just like div, and then provide implementation feedback
- # [18:12] <met_> jgraham, see the id are already there
- # [18:13] <annevk> Lachy, I suppose we could experiment yes, if we want to do that kind of thing
- # [18:13] <annevk> in that case we should also implement <!-->, </br> and </p> I think
- # [18:13] <zcorpan> <p><table>?
- # [18:13] <Lachy> zcorpan, no
- # [18:14] <Lachy> that would have to be quirks only, I think
- # [18:14] <met_> and from parse errors list hyperlings to the lines in input document with errors should be great 8-)
- # [18:14] <annevk> we're not going to have a quirks only parser
- # [18:14] <annevk> hopefully
- # [18:14] <annevk> so if <p><table> is needed so be it
- # [18:14] <zcorpan> Lachy: if it's required for quirks, why not just require it?
- # [18:14] * Joins: weinig_ (n=weinig@odin.landmark.edu)
- # [18:14] * Quits: weinig (n=weinig@odin.landmark.edu) (Read error: 104 (Connection reset by peer))
- # [18:14] <Lachy> the problem is that making table a child of p, instead of a sibling, could potentially break many standards pages
- # [18:14] * annevk doesn't think it's required for quirks though
- # [18:15] <zcorpan> Lachy: it would only break acid2... :) other standards pages don't omit </p> except for mine and annevk's
- # [18:15] <annevk> maybe it is
- # [18:16] <annevk> opera does
- # [18:16] <annevk> data:text/html,<!doctype html><style>p>table{background:lime}</style><p><table><tr><td>test
- # [18:16] <annevk> and
- # [18:16] <annevk> data:text/html,<style>p>table{background:lime}</style><p><table><tr><td>test
- # [18:16] <annevk> different
- # [18:17] <zcorpan> annevk: perhaps you could try to remove it from quirks in opera and see if anyone complains? :)
- # [18:17] <zcorpan> or vice versa
- # [18:18] <annevk> hah
- # [18:18] <annevk> you try :p
- # [18:18] <zcorpan> :)
- # [18:18] <Lachy> zcorpan, you'd be surprised, actually. There are a lot of pages that do <p> <table>...</table> </p>, even if they use standards mode
- # [18:18] <Lachy> That's actually a common question on www-validator about why the </p> is in error
- # [18:19] <zcorpan> Lachy: right. isn't that an argument to make <p><table> parsing as it is in quirks?
- # [18:19] <MichaelMH> well a much urgent issue. I tryed to apply a gradient to my M and it disapeared
- # [18:19] <MichaelMH> much more*
- # [18:19] <Lachy> no, because it could potentially change the rendering of standards mode pages if <table> because a child of <p>
- # [18:20] <zcorpan> Lachy: you just said people use <p><table/></p> in standards mode
- # [18:21] * Quits: met_ (n=Hassman@b14-4.vscht.cz) ("Chemists never die, they just stop reacting.")
- # [18:21] <zcorpan> i haven't seen any page that uses <p><table> but meant <p></p><table> other than acid2 and my mobile-results page and somewhere in anne's blog
- # [18:21] <zcorpan> yet i have also seen people ask on forums why they can't nest their tables in their paragraphs
- # [18:21] <annevk> zcorpan, they use it, don't realize it doesn't work, and rely on the resulting rendering
- # [18:21] <zcorpan> annevk: ah
- # [18:21] <annevk> but I'm not sure if there would be much rendering differences between <p><table></table></p> and <p></p><table></table> though
- # [18:22] <annevk> especially if we introduce the </p> quirk in standards mode...
- # [18:22] <jgraham> Nav links added
- # [18:22] * annevk wonders if they are dependent on each other
- # [18:22] <Lachy> zcorpan, I said they write that in their markup, but although they think <table> is a child of <p>, it's not and changing that could result in unexpected behaviour
- # [18:22] <zcorpan> ok
- # [18:23] <Lachy> we would, of course, need to to some sort of study to find out if anything really could break
- # [18:23] <zcorpan> like what?
- # [18:23] <zcorpan> i can only imagine there would be no bottom margine below the table
- # [18:23] <zcorpan> but then ie6 doesn't even have bottom margin of Ps
- # [18:24] <Lachy> say they had: p, table { margin-left: 2em; }, once the table was a child of the p, that would increase the margin to 4 em.
- # [18:24] <zcorpan> yup
- # [18:24] <Lachy> or, if they had p { border: 1px solid green; }, then border would then extend to surround the table
- # [18:25] <zcorpan> yeah, but i haven't seen such a case
- # [18:25] * Joins: KevinMarks (i=KevinMar@nat/google/x-740994999a9630a2)
- # [18:25] <zcorpan> not that i have made a study of lots of pages though
- # [18:27] <annevk> have fun: http://www.google.com/codesearch?q=%3Cp%3E%3Ctable%3E
- # [18:28] <annevk> over 26,000 code page thingies use it
- # [18:29] <zcorpan> searching for "<p><table" probably gives a better result
- # [18:29] <annevk> 39,000
- # [18:30] <zcorpan> given the fact that every browser does it in quirks mode and some did it in standards mode as well before acid2, indicates to me that it's required
- # [18:31] <zcorpan> and that pages in standards mode doesn't rely on it
- # [18:35] <zcorpan> jgraham: shouldn't the parse errors list say anything more than the position of the error?
- # [18:36] <jgraham> zcorpan: Yes. That's a known issue which I havne't bothered to fix because of the much larger known issue that most of the error strings in html5lib are crap
- # [18:37] <zcorpan> ok
- # [18:42] * annevk wonders why Roger Johansson doesn't like pave the cowpaths
- # [18:42] * Quits: KevinMarks (i=KevinMar@nat/google/x-740994999a9630a2) ("The computer fell asleep")
- # [18:53] * Quits: om_sleep (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [18:54] <jdandrea> zcorpan: I'm presently on WA 1.0 4.4.3.10 (moving along with the author view CSS). For paragraphs with a mix of author and UA-only-relevant info, I'm leaving it visible. Make sense? (Example: 4.4.3.9 - paragraphs 2 and 3.)
- # [18:56] <zcorpan> jdandrea: yup
- # [18:56] <jdandrea> zcorpan: thx
- # [19:00] * Joins: tantek (n=tantek@dsl092-187-033.sfo1.dsl.speakeasy.net)
- # [19:03] <jgraham> zcorpan: Error messages now work (stupid typo)
- # [19:03] * Quits: weinig_ (n=weinig@odin.landmark.edu)
- # [19:05] <zcorpan> jgraham: nice. and <article> works
- # [19:05] <zcorpan> http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3C%21doctypehtml%3E%3Cp%3E%3Carticle%3E%3Cp%3E%3C%2Farticle%3E
- # [19:05] <zcorpan> hm
- # [19:07] <zcorpan> <article></article> triggers the error
- # [19:11] <zcorpan> jgraham: shouldn't the "|"s be at the start of the line in the parse tree?
- # [19:12] <zcorpan> or hm, it's not in that format anyway
- # [19:14] <zcorpan> i.e. this format http://wiki.whatwg.org/wiki/Parser_tests#Tree_Construction_Tests
- # [19:14] <jgraham> zcorpan: The </article> thing should be fixed (I forgot new close tags also raised an error)
- # [19:15] <jgraham> No, the output isn't in the test format. I guess that might have been more useful. I remember having a reason, I forget what it was :)
- # [19:16] <zcorpan> being more like http://software.hixie.ch/utilities/js/live-dom-viewer/ ?
- # [19:17] <jgraham> Probably
- # [19:18] <jgraham> Although it doesn't match that either
- # [19:18] <annevk> we should have a script that does make it match that
- # [19:18] <annevk> i'd like to have a script that tells what my browser does versus html5 without having to read some spec
- # [19:19] <zcorpan> either that or have the test result format... (the latter can be easily pasted to text/plain email)
- # [19:19] <annevk> yeah fair enough
- # [19:19] <annevk> might be easier to modify hixie's thingie to output <pre> like stuff
- # [19:21] <jgraham> Is the text/plain thing just about syntax highlighting? Syntax highlighting is good...
- # [19:22] <annevk> pasting into e-mail seems to be the use case
- # [19:22] <zcorpan> yeah
- # [19:22] <zcorpan> you can make < and > be the same color as the background color ;)
- # [19:22] <zcorpan> if you want nice syntax highlighting
- # [19:23] <annevk> That's not really a requirement I have though. I just want to point a browser to a page. Paste in some text in a <textarea> and have the site create two DOM "trees". One from the browser I use and one using html5lib.
- # [19:26] <annevk> has anyone checked what <p><table implies?
- # [19:26] <annevk> for <p><table></p> for instance
- # [19:27] <annevk> or <p><table><tr><td><p>test</p>
- # [19:27] <annevk> or <p><table><tr><td><p> even
- # [19:27] <annevk> I suppose you would process the <p> inside the <table> in a table specific way?
- # [19:33] <annevk> IE seems to do the special handing within <table>
- # [19:34] <annevk> This means that <p><table></table></p></p>x will give you <p><table></table></p><p></p>x as DOM for instance
- # [19:40] <Philip`> jgraham: http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cspacer+type%22block%22+width%3D%221%22+height%3D%221%22%3E%3C%2Fspacer%3E
- # [19:41] <Philip`> ...gives non-well-formed output, which is a bit irritating since I was trying to use an XML parser on it
- # [19:41] <annevk> that seems correct though
- # [19:41] <Philip`> (at least from html5lib's simpletree's toxml() function, and that innerHTML view shows the same problem)
- # [19:42] <annevk> (note that the HTML and XML 1.0 infosets aren't compatible so doing that without extra checking is not going to be sufficient)
- # [19:42] <annevk> (html5lib toxml() is primitive
- # [19:42] <annevk> )
- # [19:42] <jgraham> Non-well-formed as in "illegal XML attribute name"? Yeah, I don't think we can do much about that
- # [19:42] <annevk> (I'm not sure it's a problem for innerHTML)
- # [19:42] <Philip`> (That code is from http://www.toyota.com/)
- # [19:42] <annevk> they use <spacer>?
- # [19:42] <annevk> awesome
- # [19:43] <Philip`> annevk: At least it got through five web pages before being too primitive to cope, which isn't bad given the state of most web pages :-)
- # [19:43] <zcorpan> annevk: <table> is already scoped... so anything after <table> is treated the same as if there was nothing before <table> aiui
- # [19:43] <annevk> lots of stuff inside <table> is handled using the inBody phase
- # [19:43] * jgraham wonders if we should remove all the xml stuff or if Sam or someone is going to patch it to work correctly
- # [19:43] <annevk> which may cause conflicts if a <p> is actually in scope
- # [19:44] <zcorpan> hm
- # [19:44] <annevk> indeed
- # [19:45] <zcorpan> wouldn't it be the same as e.g. <div><table></div> ?
- # [19:47] <Philip`> Urgh, I get broken XML out of toxml() for 250 out of 1000 pages :-(
- # [19:49] <annevk> zcorpan, <div> does not imply </div>
- # [19:49] * Philip` will probably try writing a more robust serialiser
- # [19:49] <annevk> when a <div> is in scope
- # [19:49] <annevk> Philip`, that's awesome data
- # [19:49] <annevk> please store it in some way
- # [19:49] <zcorpan> annevk: i wrote </div>
- # [19:50] <Philip`> annevk: Which data in particular?
- # [19:51] <zcorpan> annevk: http://wordsandpictures.dyndns.org/cgi-bin/parsetree/parsetree.py?source=%3Cdiv%3E%3Ctable%3E1%3C%2Fdiv%3E2%3Ctr%3E3%3C%2Fdiv%3E4%3Ctd%3E5%3C%2Fdiv%3E6
- # [19:52] <annevk> Philip`, that HTML serialized to a DOM tree on lots of pages won't give you an XML serialization back
- # [19:52] <annevk> Philip`, even with scripting disabled
- # [19:52] <annevk> zcorpan, <div> is fundamentally different from <p> in parsing
- # [19:52] <annevk> zcorpan, I'm not sure how you can compare them
- # [19:55] <Philip`> annevk: Ah, okay - I've got all the raw data so I can reproduce the results easily
- # [19:57] * Quits: csarven (n=nevrasc@modemcable081.152-201-24.mc.videotron.ca) (Read error: 104 (Connection reset by peer))
- # [19:58] <zcorpan> annevk: i don't see any difference that would be relevant to <p><table></p> vs <div><table></div> if <table> was changed to not imply </p>
- # [19:59] * Joins: _Toolskyn (n=toolskyn@adsl-dc-266ef.adsl.wanadoo.nl)
- # [19:59] <annevk> the moment you hit <p> it checks whether <p> is in scope and tries to close it by popping elements from the stack
- # [20:00] <annevk> I'm quite positive it's problematic
- # [20:00] * Joins: om_sleep (i=mjs@nat/apple/x-01269849afcbf8b8)
- # [20:01] <annevk> Then again, I'm basing this on my knowledge of that part of the specification from back in January
- # [20:01] <jdandrea> Lachy: I'm helping out zcorpan with the author view (CSS) of WA 1.0. Just noticed 4.6.4 uses the same id as 4.6.3 (read-text). [Advising you per http://blog.whatwg.org/faq/]
- # [20:01] <annevk> When I looked into changing the parsing of </p>
- # [20:02] <zcorpan> annevk: </div> also pops elements from the stack until div has been popped
- # [20:02] <annevk> this is about <p>
- # [20:02] <annevk> not </p>
- # [20:02] <annevk> aah
- # [20:02] <annevk> <p> implies </p> when <p> is in scope
- # [20:03] <zcorpan> yes
- # [20:03] <annevk> given <p><table><tr><td><p> <p> is indeed in scope
- # [20:03] <annevk> and would pop <td>, <tr> and <table> from the stack
- # [20:03] <zcorpan> sure?
- # [20:03] <annevk> (given that <table> does not imply that <p> would be popped of from the stack)
- # [20:03] <annevk> see above for that part
- # [20:04] <annevk> I would like a citation of the spec that says otherwise
- # [20:04] <jdandrea> lachy: whoops, and also 4.6.5
- # [20:04] * annevk goes to look for himself
- # [20:04] <annevk> this is not going anywhere :)
- # [20:05] * om_sleep is now known as othermaciej
- # [20:06] <annevk> you would hit some loop in generating implied end tags maybe...
- # [20:06] <annevk> no, you wouldn't
- # [20:07] <annevk> yes it would happen exactly as I described
- # [20:07] <annevk> please read the spec
- # [20:07] <zcorpan> i am reading the spec :|
- # [20:07] <zcorpan> i haven't implemented it though so i might be reading it wrong
- # [20:07] <annevk> reading in the Hixie sense?
- # [20:08] <annevk> lets go through it
- # [20:08] <annevk> ok?
- # [20:08] <zcorpan> sure
- # [20:08] <zcorpan> given <p><table><p>
- # [20:08] <annevk> given <p><table><tr><td><p> would be nicer
- # [20:08] <zcorpan> ok
- # [20:08] <Lachy> jdandrea, you should let Hixie know about problems like that with the spec. Let me know about problems with the FAQ
- # [20:08] <annevk> we assume that <table> doesn't imply <p> for the moment
- # [20:08] <zcorpan> ok
- # [20:08] <annevk> at some point we hit <p>
- # [20:09] <annevk> the insertion mode is "in cell" at that point
- # [20:09] <annevk> which says: 'Process the token as if the insertion mode was "in body".'
- # [20:09] <zcorpan> yup
- # [20:09] <jdandrea> Lachy: I was about to do that, but for some reason misinterpreted the FAQ page. np
- # [20:10] <annevk> the "in body" phase says this about <p>: 'If the stack of open elements has a p element in scope, then act as if an end tag with the tag name p had been seen.'
- # [20:10] <annevk> whoa, you're right
- # [20:10] <annevk> hah
- # [20:10] * annevk didn't check "in scope"
- # [20:10] <zcorpan> phew! :)
- # [20:11] <MichaelMH> ok.. new and improved curvey M http://www.michaelmh.com/stuff/newbie/M.html
- # [20:12] <zcorpan> annevk: also, at </div> the spec says the same thing basically as for </p>... (pop elements until a div has been popped)
- # [20:13] <annevk> my point was about <p> implying </p> and <div> not implying </div>
- # [20:13] <annevk> which you seem to have missed somehow
- # [20:14] * Quits: Toolskyn88 (n=toolskyn@adsl-dc-266ef.adsl.wanadoo.nl) (Connection timed out)
- # [20:14] <zcorpan> i didn't miss it, it's just that when you imply </p> you process that token as if it was there, right?
- # [20:14] <zcorpan> <p> says you imply </p>
- # [20:14] <zcorpan> </p> says you pop elements
- # [20:14] <zcorpan> </div> also says you pop elements
- # [20:14] <zcorpan> and that was my point
- # [20:16] <annevk> given that step 3 of in scope was not there <div><table><div> would be different from <p><table><p>
- # [20:16] * Joins: tantek_ (n=tantek@dsl092-187-033.sfo1.dsl.speakeasy.net)
- # [20:16] <zcorpan> yes
- # [20:17] * Quits: tantek (n=tantek@dsl092-187-033.sfo1.dsl.speakeasy.net) (Read error: 104 (Connection reset by peer))
- # [20:17] <bewest> what is supposed to happen when writing to innerHTML for a node that isn't properly part of the DOM yet?
- # [20:17] <annevk> how would that matter?
- # [20:17] <zcorpan> bewest: isn't inserted into the document, you mean?
- # [20:17] <bewest> IE throws an error (even if parentNode != null)
- # [20:17] <annevk> oh, maybe it does
- # [20:17] <bewest> yeah
- # [20:18] <bewest> if you have something like
- # [20:18] <zcorpan> bewest: iirc per spec it shouldn't matter
- # [20:18] <annevk> yeah, seems like it
- # [20:18] <bewest> <div> <script> // find last script tag, replace with div using DOM, then write to innerHTML of that div</script> </div>
- # [20:18] <annevk> so you can have document.innerHTML = stuff
- # [20:18] <bewest> this will fail in IE
- # [20:19] <zcorpan> but works in other browsers?
- # [20:19] <MichaelMH> can someone explain to me how to use shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor I cant find it in the mozilla tutorial
- # [20:19] <bewest> Firefox works
- # [20:19] <bewest> yeah
- # [20:20] <annevk> MichaelMH, they are unsupported
- # [20:20] <zcorpan> then it's probably just a bug in ie...
- # [20:20] * annevk isn't aware of any browser support
- # [20:20] <bewest> (this is actually a problem with some code I'm workign on right now... writing to innerHTML is done in a callback and there is a race condition that causes IE to fail [if the document hasn't finished loading before the callback fires])
- # [20:20] <MichaelMH> aww.
- # [20:21] <annevk> does anybody know if Safari does reparsing for comments in quirks?
- # [20:21] <Philip`> (Wow, <spacer> is quite popular - I see it on about 1% of these pages)
- # [20:21] <bewest> zcorpan: so that sounds like a bug according to the spec?
- # [20:21] <bewest> would it be useful to have an example of this on the web?
- # [20:22] * annevk doesn't like <script><!-- document.write('</script>'); --></script>
- # [20:22] <zcorpan> bewest: sounds like a bug, yeah
- # [20:23] <zcorpan> annevk: i have some tests on that
- # [20:23] <bewest> http://dichotomize.com/czmap/innerhtmlbug.html
- # [20:24] <bewest> I try to avoid document.write if possible
- # [20:24] <bewest> maybe I shouldn't
- # [20:24] <annevk> oh, reparsing of <% and %> is nasty too
- # [20:25] <annevk> (<%<p>%> remove last %)
- # [20:26] <bewest> it's a DOM-tease
- # [20:26] <annevk> it's likely fast
- # [20:26] <annevk> Firefox, Opera and html5lib seem to parse the above per HTML5 btw
- # [20:26] <annevk> the <% syntax
- # [20:27] * Quits: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net) ("8403864 bytes have been tenured, next gc will be global.")
- # [20:36] * Joins: met_ (n=Hassman@r5bx220.net.upc.cz)
- # [20:36] <MichaelMH> man whats with these radians. degrees is so much easier for me
- # [20:36] * Joins: KevinMarks (i=KevinMar@nat/google/x-223b2eabb7607038)
- # [20:37] <Philip`> You could do everything in degrees and then convert for the function call by doing deg*Math.PI/180
- # [20:37] <Philip`> and then it wouldn't be necessary to worry about radians any more
- # [20:37] <annevk> yeah just make a deg2rad function
- # [20:38] <Philip`> (It seems like only computers and mathematicians like radians)
- # [20:40] <MichaelMH> ah thank you
- # [20:41] <jgraham> <physicist>I like radians
- # [20:41] * jgraham wonders if everyone else becomes a physicist because he left the tag open
- # [20:41] <MichaelMH> gcse maths didn't include radians
- # [20:42] <Philip`> Oh, physicists and computer scientists are just special cases of mathematicians, since that makes my generalisation work better :-)
- # [20:42] <jgraham> MichaelMH: No, you don't really need them until you do calculus
- # [20:42] <MichaelMH> yo, I'm a bit annoyed that you cant change the point of origin with rotate
- # [20:43] <Philip`> You can do translate/rotate/translate to get the same effect
- # [20:43] <MichaelMH> oh well, I'm not doing A level.
- # [20:44] <Philip`> (I suppose a canvas library with functions like rotateAround(x, y, a) might be handy in cases like this)
- # [20:44] * jgraham really enjoyed A-level maths
- # [20:44] <jgraham> But I realised I wasn't particularly good at it when I got to University
- # [20:45] <MichaelMH> Maths is soo booring...
- # [20:45] <MichaelMH> infact all of school is boring
- # [20:45] <Philip`> ((I think my head exploded some time ago while trying to work out the right transformations to get perspective-correct tiled floors in Canvex - it's not incredibly fun when you don't even have the transform() function))
- # [20:45] * Joins: jruderman (n=jruderma@c-67-169-183-228.hsd1.ca.comcast.net)
- # [20:46] <MichaelMH> I don't understand why rotate can't be rotate(angle, x, y)
- # [20:46] <MichaelMH> is that too much to ask for?
- # [20:48] <MichaelMH> because I was gonna have my M at a slight angle. So I thought I could rotate around the point 50,50. but when I use translate before my M goes off the canvas and im not sure what to do
- # [20:50] * Quits: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com) (Remote closed the connection)
- # [20:50] <Philip`> It might be something vaguely like function rotateAround(ctx, angle, x, y) { ctx.translate(-x, -y); ctx.rotate(angle); ctx.translate(x*Math.cos(angle)+y*Math.sin(angle), x*Math.sin(angle)-y*Math.cos(angle)); } except that's totally untested and probably needs some +/- changes in the last translate, unless I've got it even more wrong than that
- # [20:50] * Joins: hasather (n=hasather@81-235-209-174-no62.tbcn.telia.com)
- # [20:51] <Philip`> Actually, that's definitely wrong - it'd be less obviously wrong with translate(..., -x*sin + y*cos) instead
- # [20:51] <Philip`> (I think)
- # [20:51] <annevk> MichaelMH, whatwg@whatwg.org accepts proposals ;)
- # [20:51] <MichaelMH> so i could ask for a origin bit in the rotate tag?
- # [20:53] <zcorpan> MichaelMH: if you have a use-case to back up your proposal it will certainly be taken into consideration
- # [20:53] <zcorpan> or well, all use-cases are considered, it's just that those that are backed up with use-cases are more likely to be accepted
- # [20:54] <zcorpan> er
- # [20:54] <zcorpan> all proposals
- # [20:54] <MichaelMH> ic
- # [20:54] <MichaelMH> so whats a use-case?
- # [20:54] <zcorpan> why you want the feature
- # [20:54] <zcorpan> "because I was gonna have my M at a slight angle."
- # [20:57] <MichaelMH> Do you think that will be convincing enough
- # [20:58] <zcorpan> annevk: in the xht spec, isn't it unneeded (inappropriate?) to have MUSTs inside algorithms?
- # [20:58] * Quits: ddfreyne (n=ddfreyne@unaffiliated/ddfreyne) ("k lol plz thx bai")
- # [20:59] <zcorpan> and other rfc2119 terms
- # [20:59] <annevk> yeah, maybe
- # [20:59] <annevk> i've been thinking about that
- # [20:59] <annevk> remind me tomorrow?
- # [20:59] <zcorpan> ok
- # [21:00] <zcorpan> i can send it to the list otherwise
- # [21:00] <zcorpan> also wanted to propose dropping the "conforming scripts" concept
- # [21:01] <zcorpan> and replace the only SHOULD that applied to scripts with a non-normative encouragement
- # [21:02] * Joins: SpookyET_ (i=user@75.138.70.34)
- # [21:05] <bewest> (11:23:26) annevk: Firefox, Opera and html5lib seem to parse the above per HTML5 btw # annevk, is this in reference to http://dichotomize.com/czmap/innerhtmlbug.html ?
- # [21:13] <MichaelMH> yo zcorpan is this ok http://forums.whatwg.org/viewtopic.php?p=213
- # [21:18] <zcorpan> MichaelMH: "Um.. I'm quite sure about this question so I'm just going to ignore it." you meant "I'm not quite sure..."?
- # [21:19] * Quits: clotman (n=louis@shell.icgroup.com) (Remote closed the connection)
- # [21:19] * Joins: clotman (n=louis@shell.icgroup.com)
- # [21:19] <zcorpan> but yeah, it's ok
- # [21:20] <zcorpan> MikeSmith: should i forward it to the list+
- # [21:20] <zcorpan> ?
- # [21:20] <MichaelMH> lol oh yeah, sorry. I'm good at typos
- # [21:22] <bewest> slightly improved: http://dichotomize.com/czmap/innerhtmlbug.html
- # [21:22] <bewest> are there conventions for tests like these that I would be wise to follow?
- # [21:22] * othermaciej is now known as om_lunch
- # [21:22] <zcorpan> bewest: yes
- # [21:23] <zcorpan> 1) keep it to an absolute minimum
- # [21:23] <zcorpan> 2) state what the pass condition is
- # [21:23] <bewest> ah great
- # [21:23] <zcorpan> 3) make the pass indicator green if possible
- # [21:23] <bewest> I think I satisifed that
- # [21:23] <bewest> maybe I can also show the error
- # [21:23] <zcorpan> 4) make it very obvious that the test failed when it fails
- # [21:23] <zcorpan> 5) cite the relevant spec in a <link rel=help
- # [21:24] <zcorpan> 6) describe what you're testing specifically in the <title>
- # [21:25] <zcorpan> and that's about it, i think
- # [21:25] <bewest> hmmm
- # [21:25] <bewest> ok, I'm failing on number 5
- # [21:25] <zcorpan> also #1 i think :)
- # [21:25] <bewest> really?
- # [21:25] <zcorpan> yeah
- # [21:25] <bewest> what should I remove?
- # [21:26] <zcorpan> everything that isn't needed for the actual test
- # [21:26] <zcorpan> "It should say pass below:
- # [21:26] <zcorpan> PASS"
- # [21:26] <zcorpan> is a good test
- # [21:27] <bewest> as opposed to Results: Your browser fails/passes with fails red and passes green?
- # [21:27] <zcorpan> yes
- # [21:27] <bewest> oh
- # [21:27] <zcorpan> known results is also external to the test
- # [21:27] <bewest> so just get rid of Results and just make it PASS/FAIL?
- # [21:27] <zcorpan> yes
- # [21:27] <bewest> ok
- # [21:27] <zcorpan> when it fails it can be good to indicate what failed, if possible
- # [21:28] <wilhelm> Yes. Also state the pass condidtion. “You should see the word 'PASS' below:”, for example.
- # [21:28] <zcorpan> e.g. you start with <p>FAIL (script didn't run)</p>
- # [21:28] <zcorpan> wilhelm: that was stated already :)
- # [21:28] <wilhelm> Oh. Ignore me.
- # [21:29] <Lachy> bewest, if you're testing support for .innerHTML, you don't need to provide a try...catch block and fall back to appendChild. That could potentially result in a false positive
- # [21:29] <zcorpan> bewest: also don't reference external files unless needed
- # [21:29] <bewest> Lachy: the try/catch is to show the error
- # [21:30] <bewest> zcorpan: I can't do that last bit
- # [21:30] <bewest> zcorpan: because that's not the test
- # [21:30] <bewest> hrmmm maybe this is two tests
- # [21:30] <zcorpan> then split it up :)
- # [21:31] <bewest> I don't know if it's a problem split up
- # [21:31] <Lachy> ah, ok, I misread the script. But it should just say FAIL when it fails, you don't need to output the script error message
- # [21:31] <bewest> ok
- # [21:31] <bewest> should I let the error bubble up to the user then?
- # [21:31] <bewest> eg, not try/catch at all?
- # [21:31] <zcorpan> yeah
- # [21:31] <Lachy> yes, then the tester can use the browsers own diagnostic tools to see the error
- # [21:32] <bewest> ok
- # [21:32] <bewest> how's that, then?
- # [21:32] * Quits: jruderman (n=jruderma@c-67-169-183-228.hsd1.ca.comcast.net)
- # [21:32] <zcorpan> easier to debug
- # [21:33] <Lachy> take out the InnerHTML... heading, Methodology section and Test heading
- # [21:33] <bewest> ok
- # [21:33] <zcorpan> bewest: this might help http://www.hixie.ch/advocacy/writing-test-cases-for-web-browsers
- # [21:33] * bewest devours
- # [21:34] <Lachy> also, you should make use of the <div id="result"> for testing .innerHTML, instead of a separate element
- # [21:35] <wilhelm> Yeah, what Lachy said. Testers might be running through thousands of tests in one run, and they just want to know whether it passed or failed; not what each test is testing.
- # [21:35] <Lachy> so, the markup should look like this <div id="test" class="fail">FAIL</div>
- # [21:35] <wilhelm> Metadata and descriptions should be stored somewhere else than in the actual test.
- # [21:35] <Lachy> then have the script do this: test.innerHTML = "PASS"; test.className = "pass";
- # [21:35] <zcorpan> Lachy: when it fails, it's useful to know why it failed (e.g. because the script didn't run at all)
- # [21:36] <bewest> Lachy: I can't do that
- # [21:36] <bewest> Lachy: that's not the test
- # [21:36] <Lachy> it's part of the test, though
- # [21:37] <Lachy> ah, I see what you mean.
- # [21:37] <bewest> wait you mean like this?
- # [21:37] <zcorpan> you can also drop the className thing
- # [21:37] <zcorpan> PASS/FAIL is a good enough indicator
- # [21:38] <bewest> I thought you wanted it red
- # [21:38] <zcorpan> either red or FAIL, or both
- # [21:38] <bewest> so it's both currently
- # [21:38] <zcorpan> yes
- # [21:39] <zcorpan> in the interest of #1 you can drop one of them
- # [21:39] <zcorpan> otherwise the person debugging why it failed would waste time looking into what the className thing is doing
- # [21:40] * Quits: yod (n=ot@bas11-montreal02-1128531044.dsl.bell.ca) ("Leaving")
- # [21:40] <bewest> ok, I removed a function as well
- # [21:40] <bewest> in favor of finding the last script inline
- # [21:40] <Lachy> so to distinguish between the script failing, or not executing, make the markup <div id="result">FAIL (script did not execute)</div>, and then the script sets that to PASS or FAIL
- # [21:41] <zcorpan> Lachy: yep, that's good
- # [21:41] <MichaelMH> um... is there any other tutorials for animating with canvas? cus the one on mozilla is quite hard to follow for me
- # [21:42] <Lachy> and take out the list that describes what the test is doing, that's not necessary
- # [21:42] * Quits: KevinMarks (i=KevinMar@nat/google/x-223b2eabb7607038) ("The computer fell asleep")
- # [21:43] * Lachy is wonderings what more appropriate text than "hello world!" would be.
- # [21:44] <bewest> is ok to just comment out the explanation?
- # [21:44] <Lachy> yeah
- # [21:44] <bewest> you really dont' want any text explaining what's being tested?
- # [21:44] <bewest> ok how's it look now?
- # [21:44] <zcorpan> bewest: only in the title
- # [21:44] <Lachy> not visible. Use comments in the source to explain what's going on if necessary
- # [21:45] <bewest> oh ok
- # [21:45] <Lachy> maybe s/hello world!/It should say PASS below/
- # [21:45] <zcorpan> why not PASS instead of hello world! ?
- # [21:46] <zcorpan> and then a paragraph above always present stating the pass condition
- # [21:46] * om_lunch is now known as othermaciej
- # [21:47] <zcorpan> you can update innerHTML of the same element onload
- # [21:47] <Lachy> zcorpan, the the "hello word!" text is going to be visible, and is separate from the pass condition, then it wouldn't make sense for it to say PASS as well
- # [21:47] <zcorpan> first change it to FAIL
- # [21:47] <zcorpan> then onload change it to PASS if it says FAIL
- # [21:50] * Joins: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net)
- # [21:54] <Lachy> bewest, there's an erroneous "." following the result div
- # [21:55] <zcorpan> Lachy: "hello world!" isn't visible if scripting is disabled
- # [21:55] <Lachy> yeah, I know
- # [21:58] <zcorpan> bewest: ie7 passes if you remove the <p> around the script
- # [21:59] <zcorpan> bewest: might be because of ie's whacky dom not being a tree
- # [21:59] <zcorpan> not sure
- # [22:00] <zcorpan> if you replace the p with a div ie7 passes too
- # [22:01] <zcorpan> so it looks like this is in fact unrelated to innerHTML per se
- # [22:03] <zcorpan> hmm... naw, using appendChild instead of innerHTML makes it pass, so it has something to do with innerHTML
- # [22:06] <Lachy> the problem is that in IE, test == null;
- # [22:06] * Joins: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
- # [22:06] <zcorpan> seems like container.innerHTML = "hello world!" makes the function return or something
- # [22:06] <Lachy> so it seems the bug isn't innerHTML at all, it's gEBId I think
- # [22:07] <MichaelMH> how new is canvas anyways?
- # [22:07] <zcorpan> Lachy: try to do something after the innerHTML line in the test function
- # [22:07] <zcorpan> like alert("foo");
- # [22:07] <zcorpan> before that line, it alerts, after, nothing happens
- # [22:08] <zcorpan> so the assignment of innerHTML seems to be equivalent to "return;" or so
- # [22:08] <Lachy> I'm using the LiveDOMViewer, and it's not doing anything anywhere
- # [22:09] <zcorpan> oh, i'm testing in a file, and i can do anything before the assignment
- # [22:09] <zcorpan> but nothing after it
- # [22:10] <Lachy> ah, no, it was my fault. I had a typo that prevented the script from executing
- # [22:16] <Lachy> I tidied it up a bit, see the DOM viewer and dowload it from the clipboard http://software.hixie.ch/utilities/js/live-dom-viewer/
- # [22:17] <Lachy> oops, had to upload it again, there was a small mistake
- # [22:18] <Lachy> hmm. weird, I must have made another mistake, cause it fails in FF now
- # [22:18] <zcorpan> i made it simpler still, sent to bewest in PM
- # [22:18] <zcorpan> should i upload what i've got to LDV?
- # [22:19] <Lachy> ah, found my bug. Yeah, upload yours
- # [22:19] <zcorpan> uploaded
- # [22:19] * Quits: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net) (Excess Flood)
- # [22:19] * Joins: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net)
- # [22:19] <zcorpan> it won't say FAIL when it fails though... because the assignment nukes the node in ie it seems
- # [22:20] <bewest> zcorpan: that's the test
- # [22:21] <zcorpan> yeah
- # [22:21] <zcorpan> try changing the second <p>...</p> to <div>...</div>
- # [22:25] <bewest> second p?
- # [22:25] <bewest> the first p?
- # [22:26] <zcorpan> bewest: hit download at http://software.hixie.ch/utilities/js/live-dom-viewer/
- # [22:28] <bewest> zcorpan: you want me to use div instead of P?
- # [22:28] <Lachy> bewest, no, just to see what happens when you change the P to a DIV
- # [22:28] <bewest> whoah
- # [22:28] <bewest> it works...
- # [22:28] <zcorpan> what Lachy said
- # [22:28] <bewest> hrmmm
- # [22:28] <bewest> hrmmm
- # [22:28] <bewest> hrmmm
- # [22:28] * bewest is shocked
- # [22:28] <Lachy> stop repeating yourself
- # [22:29] <Lachy> :-)
- # [22:30] <zcorpan> it might be that ie's dom is so whacky when you nest a DIV inside a P, that innerHTML just refuses to work for that case
- # [22:30] <zcorpan> and makes the function simply return
- # [22:32] <zcorpan> bewest: that the function returns can be seen by trying to do a simple alert("foo"); after the innerHTML assignment
- # [22:33] <Lachy> if you set .innerHTML = ""; then it doesn't return (though, the test still failes)
- # [22:33] <Lachy> s/failes/fails/
- # [22:33] <zcorpan> interesting
- # [22:34] <zcorpan> innerHTML = " \n" also works
- # [22:34] <Lachy> ah, so if it's not whitespace
- # [22:34] <zcorpan> yeah
- # [22:34] <Lachy> that might have something to do with IE not retaining whitespace nodes in the DOM
- # [22:35] <zcorpan> could be
- # [22:35] <Lachy> container.innerHTML = "<!-- -->"; works too
- # [22:36] <zcorpan> whey. </div> is equivalent to <div></div> in ie7
- # [22:36] <Lachy> woah!
- # [22:36] <zcorpan> in fact, any block-level element it seems
- # [22:37] <zcorpan> hmm, not quite
- # [22:37] <Lachy> which one doesn't?
- # [22:37] <bewest> my theory was that the script tag freezes DOM construction, and so even though there is a reference to a parentNode for the newly appended div, it's not part of some "proper DOM" (a DOM-tease?) and so fails to write to the innerHTML
- # [22:37] <zcorpan> </table> becomes a /TABLE element
- # [22:37] <bewest> but it sounds like it's more complicated than that
- # [22:38] <bewest> (btw this is afflicting some production code of mine)
- # [22:38] <zcorpan> bewest: it is part of the document at the time you assign innerHTML
- # [22:38] <bewest> hmm
- # [22:39] <Lachy> it's just because IE's architecture is an absolute disaster area, despite cwilso's claims that IE's architecture is good.
- # [22:39] <zcorpan> (or well, i think it is, and it should be, but i can't say for sure what the heck IE is doing here)
- # [22:40] <bewest> should I change it back to p, or leave it as div?
- # [22:40] <zcorpan> p
- # [22:40] <zcorpan> otherwise you don't reveal the bug :)
- # [22:41] <zcorpan> but you can have two tests
- # [22:41] <zcorpan> or say in a comment that it will work when you change it to a div
- # [22:41] <Lachy> test it with all block level elements
- # [22:42] <zcorpan> ok
- # [22:42] <bewest> erm... like, at separate URIs?
- # [22:42] <bewest> or make a test that automatically tests all of them?
- # [22:43] <zcorpan> the latter seems more appealing :)
- # [22:43] <Lachy> separate tests
- # [22:43] <Lachy> yeah, what zcorpan said
- # [22:43] <bewest> erm
- # [22:44] <Lachy> though, you have to be careful not to make it too cluttered
- # [22:44] <bewest> ok
- # [22:44] <bewest> I think that's more time than I can invest at work right now
- # [22:44] <bewest> will have to wait till I get home
- # [22:44] <Lachy> having 2 dozen tests makes it difficult to quickly scan and see if they all passed
- # [22:44] <bewest> well, I'll probably do a php script or something
- # [22:44] <bewest> make the element tested a query parameter
- # [22:44] <zcorpan> i can do it in JS now
- # [22:44] <bewest> maybe dont' even need php
- # [22:45] <bewest> yeah
- # [22:45] <bewest> the js can parse query parameters as well
- # [22:45] * Lachy should go to bed, the sun is coming up :-)
- # [22:45] <zcorpan> i thought of just running all at once and then writing a log :)
- # [22:45] <bewest> ah
- # [22:46] * Quits: jcgregorio (i=chatzill@nat/ibm/x-ff66af3665ec1821) ("ChatZilla 0.9.78.1 [Firefox 2.0.0.3/0000000000]")
- # [22:46] <bewest> anyway, what's interesting is that when innerHTML fails, using appendChild will work
- # [22:46] * Quits: webben (n=benh@91.84.133.93) (Client Quit)
- # [22:46] <bewest> appendChild(document.createTextNode('hello world')); will work in lieu of innerHTML = "hello world";
- # [22:50] * Quits: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net) (Excess Flood)
- # [22:50] * Joins: dbaron (n=dbaron@banff-72-29-239-177.mycanopy.net)
- # [22:51] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
- # [22:52] <bewest> zcorpan: so should I leave this "as-is" for now, or is there more feedback I should incorporate other than testing multiple elements?
- # [22:55] * Quits: met_ (n=Hassman@r5bx220.net.upc.cz) ("Chemists never die, they just stop reacting.")
- # [23:00] <zcorpan> http://simon.html5.org/test/html/parsing/stray-end-tags/
- # [23:01] <zcorpan> bewest: dunno
- # [23:01] <zcorpan> bewest: report the bug to MS
- # [23:02] <MichaelMH> nite nite everyone, Im off to bed
- # [23:02] * Quits: MichaelMH (n=Michael@87.254.67.30) ("Leaving")
- # [23:02] <zcorpan> but that might not be possible. "The site is temporarily closed. It will re-open in the future." -- https://connect.microsoft.com/site/sitehome.aspx?SiteID=136
- # [23:02] <zcorpan> MikeSmith: nn
- # [23:02] <bewest> erm looks like it's closed
- # [23:03] <bewest> yeah
- # [23:03] <bewest> typical
- # [23:03] <zcorpan> it has been "temporary" closed since they shipped ie7 or even before that i think
- # [23:03] <bewest> everything I find useful at their site is removed or closed
- # [23:03] <bewest> like "application readiness toolkit"
- # [23:03] <bewest> which they removed when vista was actually released
- # [23:03] <bewest> silly people
- # [23:03] <zcorpan> bewest: if you want i can add it to my ie7b2-bugs/, i think they are aware of those
- # [23:04] <zcorpan> or at least they have been pointed out to the ie team more than once, i think
- # [23:05] <bewest> hrm how do I submit to there?
- # [23:06] <zcorpan> to where?
- # [23:06] <bewest> oh
- # [23:06] <bewest> I mean
- # [23:06] <bewest> yeah go ahead and add it
- # [23:06] * Quits: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
- # [23:06] <bewest> you seem much more organized than anything I'm prepared to offer
- # [23:07] <bewest> what does (dropped) vs -- ELEMENT mean in your test results?
- # [23:11] * Quits: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net) ("Leaving")
- # [23:12] * Joins: jruderman (n=jruderma@corp-242.mountainview.mozilla.com)
- # [23:16] * Joins: KevinMarks (i=KevinMar@nat/google/x-be9a4d61c153178d)
- # [23:22] * zcorpan improved the ouput of http://simon.html5.org/test/html/parsing/stray-end-tags/
- # [23:23] <zcorpan> bewest: (dropped) meant that the end tag didn't generate an element
- # [23:23] <zcorpan> but i dropped "(dropped)" in favor of ""
- # [23:25] <zcorpan> seems opera always does </br> -> <br> but never </p> -> <p></p>
- # [23:26] <zcorpan> gecko does both in quirks but neither in standards (or almost standards)
- # [23:34] <bewest> so now I'm going to have to defer things until after onload because of this stupid bug
- # [23:35] <zcorpan> bewest: or change P to DIV? :P
- # [23:36] <bewest> no... I don't have control of the surrounding markup
- # [23:37] <bewest> I'm producing a widget for other authors to include
- # [23:37] <bewest> and there is a race condition
- # [23:37] <bewest> and sometimes this happens
- # [23:38] <bewest> eg, <script> new Graph(opts); </script> will put somekind of interactive graph there
- # [23:39] <zcorpan> generate a span instead of a div, then, perhaps?
- # [23:39] <bewest> maybe... I didn't think the kind of element was the problem though
- # [23:40] <zcorpan> the test passes if i change DIV to SPAN
- # [23:40] <bewest> hmmmmmmm
- # [23:41] <bewest> whoah
- # [23:41] <bewest> that makes things vastly simpler
- # [23:41] <zcorpan> :)
- # [23:41] <bewest> terrific
- # [23:41] <bewest> wow
- # [23:41] <bewest> they must have really fubar stuff in IE
- # [23:43] * Quits: SpookyET_ (i=user@75.138.70.34) (Client Quit)
- # [23:43] <zcorpan> http://simon.html5.org/test/ie7b2-bugs/051.html
- # [23:45] <bewest> oh wow you really took the ax to it
- # [23:45] * bewest takes note
- # [23:46] <bewest> that's not a valid document though, is it?
- # [23:47] <zcorpan> valid?
- # [23:47] <zcorpan> seems like it is conforming html5 http://hsivonen.iki.fi/validator/?doc=http%3A%2F%2Fsimon.html5.org%2Ftest%2Fie7b2-bugs%2F051.html
- # [23:47] <zcorpan> but generally i don't care about that while making test cases
- # [23:47] * Joins: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net)
- # [23:48] <bewest> ah
- # [23:49] <zcorpan> valid in the sense of test cases has nothing to do with whether you conform to the conformance requirements of the languages you're using
- # [23:49] <zcorpan> you might be testing error handling for instance
- # [23:50] <bewest> yes
- # [23:50] <bewest> I was under the impression that the DOM may change depending on whether or not the document is valid
- # [23:50] <bewest> so that in order to better isolate your test, it's better to use a valid document
- # [23:51] * Quits: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net) (Client Quit)
- # [23:51] * Joins: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net)
- # [23:51] <zcorpan> what do you mean change?
- # [23:51] <zcorpan> browsers don't know whether a document is valid or not
- # [23:52] <bewest> hmmm
- # [23:52] <bewest> good point
- # [23:52] <zcorpan> they just have bugs :)
- # [23:53] <zcorpan> e.g., opera doesn't imply a HEAD if there isn't a <head> tag. but that's just a bug. and it doesn't affect this test case
- # [23:57] * Quits: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net) ("Leaving")
- # [23:57] * Joins: bzed (n=bzed@dslb-084-059-125-008.pools.arcor-ip.net)
- # Session Close: Tue May 08 00:00:00 2007
The end :)