00:03
<Hixie>
well cool, glad the spec is right
00:04
<Hixie>
and yes 'width' would be a way to do it then
00:48
<gsnedders>
kig: only LGPL v.3. LGPL v.2 doesn't.
00:50
<kig>
2 has a "if you can't redistro this code due to you wanting to destroy competitors with patent wars, you can't redistro this code"
00:50
<kig>
i.e. if you do distro the code, you don't want to patentwar
00:51
<kig>
but i don't know
00:51
<kig>
the canvas source files have a different license header too, wtf's up with that
00:52
<kig>
usual marketing bs? "webcore is LGPL super open source yay <smallprint>except for the parts that we edited</smallprint>"
00:53
<gsnedders>
kig: no, it doesn't say that. it says if you have restrictions that contradict the license, you can't redisribute it.
00:53
<G0k>
kig: i think basically the stuff they took from KTML is lgpl, but the new stuff is mostly BSD
00:53
<gsnedders>
kig: that doesn't affect Apple.
00:53
<gsnedders>
kig: their own stuff is BSD licensed, which is more lax than LGPL
00:54
<G0k>
*KHTML
00:54
<gsnedders>
kig: yeah, the canvas stuff is two clause BSD license.
00:55
kig
pops a new beer
00:55
<gsnedders>
kig: the marketing bs is, "WebCore is LGPL super open source yay <smallprint>some stuff is even more free!</smallprint>"
00:55
<gsnedders>
kig: but there's nothing directly about patents in the LGPL
00:56
<gsnedders>
(nor the BSD license — the license header in the canvas files is the entire license)
00:58
<kig>
lgpl2 has "Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license."
00:58
<kig>
in the preamble
00:59
<G0k>
yeah i disagree about that part gsnedders
00:59
<G0k>
iirc the LGPL basically says you implicitly license your patent rights to users of the code
01:01
<Lachy>
Happy New Year everyone
01:02
<G0k>
happy 2008 to gmt-1 and earlier people
11:59
<gsnedders>
kig: the preamble isn't the license. it has no legal meaning.
11:59
<gsnedders>
Lords Of HTML, forgive me, for I said "alt tag".
12:01
<kig>
so use the opengl canvas instead..
12:03
<Philip`>
Why would that be less likely to be affected by patents?
12:04
<kig>
because it's opengl
12:06
<kig>
unless the patent is the usual heh heh patent of the form "hypertext document space in which there may be pixels and which may be programmatically changed"
12:06
<kig>
which it probably is
12:06
<Philip`>
But it's OpenGL inside a web browser, which maybe is an innovative new idea and patentable
12:07
<kig>
MPL doesn't have a patent release?
12:07
<Philip`>
(I can't see why 2D canvas does anything that isn't trivially obvious, since it's just a wrapper around boring standard 2D graphics libraries)
12:09
<kig>
because some legal eagle at apple said so
12:10
<kig>
waiting for adobe to sue all browser makers for having vector graphics that is not flash/pdf
12:11
<kig>
and my catmull-rom spline drawer needs more work
12:12
<Lachy>
open source software is generally incompatible with patents, so I doubt Mozilla has any patents for their opengl canvas implementation
12:12
<gsnedders>
kig: if you read the whole post, they have no issue if it moved to a standards body with a patent policy (i.e., the W3C). Once FPWD is published there, after 90 days, Apple's requirements are met
12:12
<Philip`>
kig: I'd guess the W3C patent whatsits make it hard for Adobe to complain about patents on things like SVG
12:12
<Philip`>
Lachy: People other than Mozilla still could, though
12:13
<Philip`>
Lachy: Also, some Mozilla software does have patents
12:13
<Philip`>
http://developer-cluster.mozilla.org/en/docs/SpiderMonkey_Internals:_Thread_Safety#Patent
12:14
<Lachy>
yeah, royalty free patents are ok
12:17
<Philip`>
kig: Is there any chance your SVG renderer could output things (triangles?) for OpenGL to draw? I'd quite like to have SVG embedded in X3D embedded in XHTML...
12:18
<kig>
if you have a tesselator/renderer/magic for quadratic/cubic bezier splines, sure
12:18
<kig>
cubic'll suffice, quadratics can be done with those
12:19
<Philip`>
That sounds not impossible
12:19
<kig>
http://www.mdk.org.pl/2007/10/27/curvy-blues
12:19
<kig>
gradients and stroking may be, ah, more interesting
12:20
<Philip`>
I'd guess gradients wouldn't be too hard with pixel shaders
12:22
<kig>
guess i should move all the rendering primitives under the same backend, then implementing the ops in that would get you going
12:23
<kig>
or write a canvas context that calls opengl
12:26
<kig>
best performance by caching the paths generated by svg, compile into vertex array
12:26
<kig>
s/generated by/in/
12:28
<kig>
now i'm compiling the SVG d="..." -paths into [['moveTo', [0,4]], ['lineTo', [400,230]], ...] and for (var i=0;i<segs.length;i++) ctx[segs[i][0]].apply(ctx, segs[i][1])
12:30
<kig>
but with ogl you could store the geometry in a VBO, which should make it fly
12:31
<kig>
http://glimr.rubyforge.org/cake/canvas.html#CatmullRom hooray!
12:34
<Philip`>
kig: Would it be better/worse to compile into eval('function(ctx){ctx.moveTo(0,4), ...}')
12:35
<kig>
haven't tried, that's really evil though :)
12:35
<Philip`>
Could you do constant-velocity movement along the spline?
12:37
<kig>
when i find the algo to compute a segment's length
12:37
Philip`
likes evil
12:49
<kig>
i had a fleeting thought of parsing truetype fonts with javascript and compiling them into quadraticCurveTo:s but then i took a look at the specs
12:50
<Philip`>
Could something like FreeType provide you with a list of curves?
12:50
<kig>
it could
12:50
<Philip`>
(then precompute the JS-compatible font representation on a server)
12:54
<Philip`>
Do you happen to know if Opera's drawImage(svgimage, ...) can draw SVG text onto a canvas?
12:54
<Philip`>
(I can't remember if I ever tested that or not)
12:54
<kig>
haven't tried, i guess it should
12:55
<Philip`>
I think it refused to draw foreignContent onto canvas, so HTML text won't work :-(
12:57
<kig>
if you look at the svgparser transformed text (e.g. coord systems.. -> skew) things with a webkit nightlie, it has madness (the text element has -webkit-transform matrix)
13:05
<kig>
time to read freetype docs
13:06
<kig>
oh oh idea
13:06
<kig>
compute the JS-compatible font representation on a server on the fly
13:08
<kig>
ok, it's not much of a change, is it :|
13:09
<kig>
or have a list of fonts, query with js / server-side include
13:11
<kig>
font server ..
13:14
<Philip`>
You'd probably want the font server to only send the characters are needed, and not the other tens of thousands of glyphs in the original font file
13:15
<Philip`>
(so it couldn't just be a static file server)
13:16
<Philip`>
((I'm assuming the JS representation of the font would be pretty inefficient, so you couldn't send everything, but maybe I'm wrong))
13:18
<kig>
gzipped array of numbers, shouldn't be much larger than the original font file (? only one way to find out...)
13:19
<Philip`>
Is the original font file just a list of curves, rather than something more programmatic?
13:19
<Philip`>
(ignoring all the hinting and stuff, which presumably could never work in SVG-in-canvas)
13:20
<kig>
truetype fonts have the curves and then some nutty bytecode system for doing the hinting afaik
13:20
<kig>
i don't really know
13:21
<kig>
i guess they have something extra to handle all the different types of type
13:27
<Philip`>
(Is there a better touchpad driver for Windows in Boot Camp? I don't like taking twenty seconds to right-click on a folder just because right-clicking requires two fingers on the touchpad which then makes the window scroll wildly up and down even if I keep my fingers almost stationary)
15:38
<kig>
just what i needed: http://www.geometrictools.com/Documentation/MovingAlongCurveSpecifiedSpeed.pdf
16:10
<anne-mac>
Philip`, where in ECMAScript does it state that \0 is to be stripped?
16:10
<anne-mac>
Philip`, presumably the Acid3 test bases that on some statement?
16:31
<Philip`>
anne-mac: As far as I'm aware, it shouldn't be stripped - it's just a normal character, so "foo\0bar" != "foo"
16:32
<Philip`>
(except Opera (and no other browser) tends to strip off everything after the first \0 presumably because it's treated like a C string)
16:32
<Philip`>
(and so I'm assuming Opera is wrong, because it's the odd one out and it doesn't seem sensible behaviour)
16:33
<anne-mac>
other browsers strip \0 characters
16:34
<anne-mac>
I guess one can claim that treating \0 as terminating character is wrong, but stripping it out isn't in the specs either
16:35
<Philip`>
I don't see it being stripped out in any browser
16:35
<Philip`>
(except Opera)
16:37
<Philip`>
(...and IE - oops)
16:38
<anne-mac>
Firefox and Safari at least strip it when doing alert('x\0x')
16:38
<Philip`>
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cbody%20onload%3Dw(document.getElementById('fo%5C0o'))%3E%0A%3Cspan%20id%3Dfo%3E%3C%2Fspan%3E%0A%3Cdiv%20id%3Dfoo%3E%3C%2Fdiv%3E%0A
16:40
<Philip`>
Oh, that sounds more likely to be a problem with alert than with the general DOM API system
16:40
<anne-mac>
https://bugzilla.mozilla.org/show_bug.cgi?id=310037
16:41
<Philip`>
alert('x\0x') in Safari on Windows outputs just "x", and FF3 on Windows says "xx"
16:41
<anne-mac>
Safari on Mac says "xx" ...
16:42
<Philip`>
"Version 3.0.4 (523.15)"
16:43
Philip`
doesn't know if newer versions changed it
16:43
<anne-mac>
Version 3.0.4 (5523.10)
16:43
<Philip`>
That sounds futuristic
16:43
<anne-mac>
it's a literal copy
16:44
Philip`
wonders what the extra 5 means
16:54
<Philip`>
WebKit nightly on Windows seems to still say "x"
16:55
<anne-mac>
maybe stripping \0 is done at the OS level on Mac and Windows doesn't do that
17:37
<gsnedders>
Philip`: extra 5 is on leopard, but not in UA string
17:39
<gsnedders>
anne-mac: seems to be within OS string type for alerts
18:32
<hsivonen>
zcorpan: "If you the automatic choice of parser ..." fixed. thanks
19:10
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E[align%3D%22A%22]%2C%20[align%3D%22B%22]%2C%20[align%3D%22i%22]%2C%20[align%3D%22%C4%B1%22]%20{%20background%3Ayellow%20}%3C%2Fstyle%3E%3Cp%20align%3Da%3Ea%20A%3Cp%20align%3Da%3EB%20b%3Cp%20align%3D%C4%B0%3E%C4%B0%20i%3Cp%20align%3DI%3EI%20%C4%B1
19:11
<G0k>
oo
19:12
<zcorpan>
um, make that http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E[align%3D%22A%22]%2C%20[align%3D%22b%22]%2C%20[align%3D%22i%22]%2C%20[align%3D%22%C4%B1%22]%20{%20background%3Ayellow%20}%3C%2Fstyle%3E%3Cp%20align%3Da%3Ea%20A%3Cp%20align%3DB%3EB%20b%3Cp%20align%3D%C4%B0%3E%C4%B0%20i%3Cp%20align%3DI%3EI%20%C4%B1
19:15
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%3Cstyle%3E[align%3D%22A%22]%23a%2C%20[align%3D%22b%22]%23b%2C%20[align%3D%22i%22]%23c%2C%20[align%3D%22%C4%B1%22]%23d%20{%20background%3Ayellow%20}%3C%2Fstyle%3E%3Cp%20id%3Da%20align%3Da%3Ea%20A%3Cp%20id%3Db%20align%3DB%3EB%20b%3Cp%20id%3Dc%20align%3D%C4%B0%3E%C4%B0%20i%3Cp%20id%3Dd%20align%3DI%3EI%20%C4%B1 even...
20:42
<Philip`>
If I have some XML (specifically XSLT) which uses QNames in attribute values, and I want to extract a subtree and move it into a new document and want the QNames to continue working, is there a proper way to do that?
20:46
<hsivonen>
Should I remove text/xsl support from Validator.nu even in the lax mode?
20:49
<hsivonen>
I see application/xslt+xml in mime.types on Leopard. Is that an Apple addition or does Apache now qualify unregistered types in the default list?
20:50
<gsnedders>
hsivonen: it'll be Apple
20:50
<hsivonen>
ok
20:51
<gsnedders>
hsivonen: Apache policy hasn't changed (and Apple will've taken the Apache version in Leopard before WWDC in June)
21:05
<takkaria>
http://ewx.livejournal.com/459902.html
21:06
<MacDome>
takkaria: would you like to file a bug? http://webkit.org/quality/reporting.html
21:06
<MacDome>
it will end up being a CFNetwork bug
21:06
<MacDome>
which dates back from NeXT in part :)
21:06
<takkaria>
heh
21:07
<takkaria>
OK, I will
21:07
<takkaria>
I bet it's done like that for a reason though
21:07
<MacDome>
takkaria: thank you. don't be surprised if your bug is moved into Radar
21:07
<MacDome>
since CFNetwork is handled by a non-opensource team
21:07
<MacDome>
takkaria: but bugs are the only way to get fixes :) not sure if that's your blog post (I'm assuming not), but blog posts certainly don't get fixed :)
21:07
<takkaria>
it's not mine, no
21:08
<MacDome>
takkaria: anyway, thanks in advance for the bug~!
21:08
MacDome
goes back to fixing webkit bugs
21:09
<takkaria>
I just saw it pasted in #netsurf (channel for a small browser written in C) and thought it would be of interest here
21:09
<MacDome>
takkaria: of most interst in bugzilla :) and secondly #webkit, but here works too :)
21:28
gsnedders
realises he is capitalising MUST and SHOULD and MAY in an email… Need less to do with RFC 2119…
21:36
<takkaria>
everyone should use OpenID, I'm sick of registering more than usual today
21:36
<Philip`>
Everyone should allow anonymous access
21:46
<jgraham>
Philip`: That doesn't make sense for e.g. flickr
21:46
<jgraham>
(at least, not for the part you currently hav to register for)
21:48
jgraham
notes that the word charset has 7 letters
21:50
<jgraham>
Philip`: Did you have a single page copy of the issues list somewhere?
21:51
<Philip`>
jgraham: canvex.lazyilluminati.com/misc/cgi/issues.cgi/expand though it's maybe a little slow to generate
21:52
<Philip`>
That charset thing has been mentioned before
21:52
<jgraham>
Ah, I thought it would have been but I thought I should check
21:53
<Philip`>
http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-June/011596.html
21:53
<Philip`>
http://canvex.lazyilluminati.com/misc/cgi/issues.cgi/message/%3Cea09c0d10706011740l797240ebncf31cf1403b0c5cb⊙mgc%3E - hooray, Google has indexed the issues list
21:57
Philip`
should perhaps add a search box
22:23
<rubys>
Phillip`, hsivonen: fixed. Thanks!
22:27
<Philip`>
rubys: http://intertwingly.net/blog/?q=%00%80 looks unintended
22:31
<Philip`>
Also, it's annoying how everyone keeps fixing their code so my attempted demonstrations that XML is hard stop working :-p
22:32
<hsivonen>
rubys: cool
22:37
<MacDome>
Hixie: you reference ES4 with your \3 argument
22:37
<MacDome>
I found this in ES3: Informative comments: An escape sequence of the form \ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11). It is an error if the regular expression has fewer than n capturing parentheses. If the regular expression has n or more capturing parentheses but the nth one is undefined because it hasn't captured anything, then the backreference always succeeds.
22:37
<Hixie>
er i meant es3
22:37
<MacDome>
which doesn't quite seem to answer the question
22:37
<MacDome>
Hixie: could you be more specific in your ES3 reference?
22:37
<Hixie>
sure hold on
22:37
<MacDome>
Hixie: thank you
22:40
<rubys>
Phillip`: again, fixed. (Sorry! :-))
22:41
hsivonen
just read a paper explaining the dire consequences of backreferences in "regular expressions"
22:46
<Philip`>
rubys: Seems to work - thanks :-)
22:46
<rubys>
try some UTF-8. :-)
22:48
<Philip`>
http://intertwingly.net/blog/?q=xyzzy%ef%bf%bf
22:49
<Philip`>
...gives a parse error in Opera, not Firefox
22:49
<hsivonen>
Philip`: I get the YSoD in Firefox 2
22:50
<hsivonen>
not in Minefield, though
22:50
<Philip`>
Ah - FF3 automatically converts it to %EF%BF%BD
22:51
<Philip`>
(judging by what it shows in the magical address bar thing)
22:52
<hsivonen>
Validator.nu URI scrubbing makes the URI vanish
22:52
<Hixie>
macdome: informative note in 15.10.2.9 AtomEscape; the text specifically in that section, step 8.2, is the actual text for that
22:53
<MacDome>
thank you'
22:56
<rubys>
Phillip`: ok, I got that covered now
22:57
<hsivonen>
Philip`: %ef%bf%bf goes unsanitized in Instiki as well. I sent a test URI to Jacques Distler.
22:59
<hsivonen>
interestingly, the Jena IRI lib blames the character on XML--not an IRI spec: http://validator.nu/?doc=http%3A%2F%2Fabout.validator.nu%2F&schema=%ef%bf%bf
23:01
<MacDome>
Hixie: thanks, I Updated the bug
23:06
<Philip`>
hsivonen: http://validator.nu/?doc=http%3A%2F%2Fphilip.html5.org%2Fmisc%2Fchars.html&showsource=yes&out=xml
23:13
Philip`
wonders how many enterprisey XML-backended web sites would break horribly if you gave them data with these byte sequences