02:12
<boblet>
tantek: do you have any idea how far off html5lib is from usable for uF tools (like H2X)?
02:13
<boblet>
looks like it’s way more active than Tidy, but uF wiki note on H2VX doesn’t make it sound soon
02:14
<hober>
boblet: a fair number of people use html5lib in production, in both python and ruby
02:15
<boblet>
hober: that’s good to know. I guess H2VX might be waiting for a PHP port then
02:16
<hober>
*nod*
02:16
<boblet>
I wonder what language other Microformat tools are using…
02:19
<tantek>
yes H2VX is waiting for a PHP port of html5lib
02:20
<boblet>
tantek: how does html5lib-php-0.1 stack up? still a ways to go?
02:21
<tantek>
haven't had a chance to play with it - really wanting some reports on its usage before working on transitioning a production service (H2VX) to using it
02:23
<boblet>
tantek: thanks, good to know. Here’s hoping we’ll be able to use uF with HTML5 structural elements soon
02:23
<tantek>
boblet - yes I would like to do so as well
02:24
<tantek>
I'm also looking into alternatives that don't require Tidy or html5lib
02:24
<tantek>
e.g. an option for those who wish to serve biglot documents
02:24
<tantek>
to simply not use tidy and use PHP DOMDocument to directly load their content as well formed XML.
02:26
<tantek>
anybody (else) here serving biglot HTML5 documents?
02:29
tantek
wonders if Hixie has seen the typo report on the md draft.
02:29
<Hixie>
yeah, it's already filed as a bug i think
02:29
<Hixie>
thanks
03:51
<annevk>
sleep is for the weak
04:02
<Garry->
hi
04:03
<Garry->
Can anyone give me an idea on how to make the footer go at the bottom of the page in html5?
04:23
<jwalden>
sleep is for the week
04:31
<annevk>
guess I should update html5-diff
04:47
<JonathanNeal>
I was able to write a faux Firefox HTML5 video player in Flash
04:48
<JonathanNeal>
It mimics the look and feel of Firefox's, so that in combination with something like Video For Everybody's solution should work pretty well :D
05:02
<annevk>
sigh
05:02
<annevk>
it's over 1000 revisions since last publication
05:03
<annevk>
though removing editorial changes helps
05:27
<zcorpan>
is toString(36) defined in es5 these days?
05:36
<annevk>
is seamless defined in such a way that if sandbox forces a unique origin seamless still works?
05:36
<annevk>
I guess reading the spec myself would be faster...
05:38
<annevk>
it seems to cover it
05:40
<annevk>
hah
05:41
<annevk>
last TR/ version of HTML5 still has <legend> for <figure> and <details>
05:41
<annevk>
maybe I should object to publication to preserve the status quo
05:45
<zcorpan>
i must say i like <figcaption> and <summary> better than <legend>
05:45
<annevk>
i must say i disagree :p
05:46
<annevk>
hmm, <meter> and <progress> have a form attribute now
05:46
<annevk>
fun
05:46
<zcorpan>
writing just figcaption and summary instead of figure > legend and details > legend in css is great
05:46
<annevk>
why wouldn't you just write legend?
05:46
<zcorpan>
and legend has annoying styling problems
05:46
<zcorpan>
because i want different styles
05:47
<annevk>
fair enough
05:47
<Hixie>
legend is the right solution imho
05:47
<Hixie>
but people care more about the short term, so...
05:47
<annevk>
I have "The <code>figure</code> element now uses a new element <code>figcaption</code> rather than <code>legend</code> because people want to use HTML5 long before it reaches W3C Recommendation stage."
05:48
<annevk>
oops, that has a typo
05:48
<annevk>
yay for proofreading
05:48
<zcorpan>
Hixie: i used to think so, but actually using this in production made me think that dedicated elements are better
05:48
annevk
removes stage
05:49
<annevk>
I guess I'll just align the draft with the W3C reality of things
05:49
<zcorpan>
Hixie: even when ignoring short term problems like parsing and styling; dedicated elements makes selectors and scripts easier to work with
05:49
<annevk>
i.e. the split of microdata et al
05:50
<zcorpan>
(but the short term problems are real of course)
05:50
<Hixie>
zcorpan: that may be true, but it's not a scalable language design policy
05:52
<zcorpan>
Hixie: the language design should consider ease of use in script and css
05:53
<zcorpan>
some other set of elements might be easier to use if they reuse an element or share an element; but for details and figure my experience is that they benefit from dedicated elements
05:55
<annevk>
the UI in the artwork for <details> has a bug
05:56
<annevk>
hide extension is ticked yet the extension is visible
05:56
<Hixie>
heh
05:56
<Hixie>
indeed
05:57
<Hixie>
blame apple :-)
06:04
<zcorpan>
what happened to http://html5.org/tools/web-apps-tracker ?
06:04
<annevk>
what happened to svn.whatwg.org you mean?
06:05
<zcorpan>
likely
06:05
Hixie
is learning how to restart apache on his dreamhost server :-P
06:05
<annevk>
the frontpage is not cached
06:06
<annevk>
I wonder whether I should remove the other caches as well since it's well over 20GiB now
06:06
<annevk>
and the damage was mostly done by this spammer bot that I killed
06:07
<Hixie>
k it should be back
06:07
<annevk>
it's getting more popular apparently
06:07
<zcorpan>
annevk: maybe cache size and network load can be reduced by serving raw logs and annotating them client side
06:08
<annevk>
making an actual copy of the svn thingie that keeps itself up to date would prolly be even better
06:08
<annevk>
but so far that's classified as TME
06:10
<annevk>
almost 2000 failed requests for /to
06:10
<annevk>
also for /too /tools/w /tools/web-a etc. 2000 each!
06:10
<annevk>
what are all these people smoking?
06:11
<zcorpan>
maybe some browser does a request for each keypress in the location bar
06:12
<annevk>
oh well, plenty of room for improvements
06:13
<zcorpan>
i wonder if some browser does dns lookup while typing in the location bar
06:14
<Hixie>
annevk: most of those are probably attempted attacks
06:15
<Hixie>
from automated malware
06:21
<annevk>
the HTML Vocabulary stuff didn't go through right?
06:21
annevk
goes to read some emails in more detail
06:22
<annevk>
ah right
06:22
<annevk>
HTML5, HTML Microdata, and HTML Canvas 2D Context
06:22
<Hixie>
it's still in the whatwg html spec, but yeah, the w3c didn't want it
06:24
<annevk>
that's a reply to my last statement?
06:37
<annevk>
anyways, updated the draft, emailed public-html
06:39
<annevk>
guess I can now start with waking up and start with what I was planning on working on today
06:39
<annevk>
getComputedStyle FTW
06:40
<Necrathex>
annevk: goeiemorgen :p
06:41
<annevk>
I was actually tempted to not email public-html as there is so much potential for whining over nothing with this draft it is bound to happen. Hopefully I'm too pessimistic.
06:41
<annevk>
Necrathex, morguh
06:44
<asmodai>
mogguh
06:45
<asmodai>
One thing I did not understand. If the HTML(5, 6?) features are going to be documented/implemented unversioned, how does this impact website designers? Will the spec provide guidelines for capabilities sniffing/exchange or?
06:46
<annevk>
there's no change for designers because as far as they are concerned it has always been unversioned
06:47
<annevk>
i.e. browsers have always done incremental improvements
06:48
<asmodai>
So basically we stay with capabilities sniffing then.
06:48
<annevk>
the idea with unversioning it and making incremental improvements is to reduce the gap between reality and spec writing
06:49
<annevk>
asmodai, yup
06:49
<asmodai>
Well, sure, writing a spec in isolation takes time, especially if features get implemented at the final publication of said spec. :)
06:49
<asmodai>
Doesn't help much in the quickly evolving way of web development.
06:50
<Hixie>
exactly :-)
06:50
<asmodai>
Just wonder if capabilities exchange couldn't be more streamlined in some way.
06:50
<Hixie>
btw i've dramatically reduced the MaxClients on whatwg.org (and all the other things in hosts, e.g. acidtests.org, hixie.ch, etc), so hopefully it won't run out of RAM so often anymore
06:50
<Hixie>
asmodai: how do you mean?
06:51
<asmodai>
Well, right now it seems only seriously involved people sniff out capabilities. A lot are still stuck with white-/blacklists, then you have those that just build a site without regard to additional features if browser X supports it.
06:52
<asmodai>
Maybe it just needs more documenting to get the larger mass of people to pick it up.
06:52
<Hixie>
i think most people just do what works in their browser
06:52
<Hixie>
not sure we can do much about that
06:52
<Hixie>
other than getting the browsers in sync
06:52
<asmodai>
Or maybe my mind is just stuck with SATA drives and such that exchange capabilities to the controller :)
06:55
<mpilgrim>
annevk: in the sentence that begins "In addition to all of the above, Microdata an the 2D context API for canvas", the word "an" should be "and"
06:56
<asmodai>
mpilgrim: Btw Mark, for your dive into html5, Firefox 3.6 also doesn't support the placeholder thing with forms. Right now you only mention 3.5, and since 3.6 is out...
06:56
<mpilgrim>
annevk: also, later in the same sentence, "have been splitted into their own drafts" should read "have been *split* into their own drafts"
06:56
<mpilgrim>
asmodai: thanks, i will be updating the compatibility tables for fx3.6 soon
06:57
<asmodai>
mpilgrim: ah cool
06:57
<mpilgrim>
also need to bump chrome to chrome 4 now that that's hit the stable channel
06:58
<asmodai>
Still a pity only Firefox 3.6 does <math> :(
06:58
<asmodai>
Yes, I actually use MathML :P
07:00
<asmodai>
Love it actually, just wonder if the syntax is the best that people could've come up with.
07:07
<annevk>
thanks, fixed the typos
07:18
<zcorpan>
annevk: "was introduced. to allow" stray dot
07:43
<annevk>
also fixed
07:43
<annevk>
plus some other things
07:59
<annevk>
bbl
08:15
<othermaciej>
Hixie: I added some bold and italic to the issue status page per your suggestions
08:15
<Hixie>
cool
08:15
<Hixie>
can you help with a question in #webkit? i am not sure where to look in the webkit code
08:34
Hixie
studies the xml entity problem
08:35
<Hixie>
but make sure not to say anything about it here on irc, i wouldn't want people to think i was ignoring the uberthread that i carefully read through and just listening to advice here only
08:36
<annevk>
wait, you're not?
08:36
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/372
08:37
<zcorpan>
seems firefox and opera run moved scripts in the context of the original document
08:37
<hsivonen>
zcorpan: what about IE and WebKit?
08:38
<hsivonen>
zcorpan: tentetively, I think running scripts in the context of the document the parser is associated with would be less pain
08:38
<zcorpan>
hsivonen: don't have ie, webkit didn't move anything for some reason
08:38
<zcorpan>
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-end.html#scripts-that-modify-the-page-as-it-is-being-parsed
08:40
<zcorpan>
also, the careful dance to avoid non-XML local names in XML falls apart when moving nodes (just checking the moved tree doesn't help if it's still being parsed)
09:10
<annevk>
hmm, if an element is removed from the rendering tree Firefox no longer updates the CSSStyleDeclaration object
09:10
<annevk>
or something
09:14
<annevk>
so special are height/width/line-height/margin/padding so far
09:19
<Hixie>
man i really need to define <datagrid> just so that iTunes can switch back to something that's at least half-decent for displaying the tracks
09:20
<annevk>
hah, HTML will be implemented before HTML5
09:21
<Hixie>
there are already bits of the next generation of HTML that are being implemented before HTML5 is completely implemented
09:21
<hsivonen>
Hixie: I was ashtonished that the iTunes 9 search result UI had gotten through whatever UI stuff has to get through at Apple
09:21
<Hixie>
annevk: e.g. the copy and paste events :-)
09:21
<Hixie>
(which aren't even in the spec yet)
09:21
<Hixie>
hsivonen: the iTunes store's new HTML version is a disaster
09:21
<Hixie>
hsivonen: if a TV show has more than ~5 seasons, there's no way to see the list of seasons
09:22
hsivonen
uses Spotify and iTunes still doesn't carry movies or tv shows in my territory
09:22
<Hixie>
all the names are cropped so you can only see the first few words
09:22
<Hixie>
which is a disaster when you searched for something that matches many things which all differ only in the last part of hte name
09:23
<Hixie>
e.g. "The Phantom of the Op..." where the full names are "The Phantom of the Opera (Broadway Cast)", "(London Cast)", "(Movie Soundtrack)", "(Karaoke)", etc
09:24
<Hixie>
the list of problems just goes on and on
09:27
<othermaciej>
the iTunes store has always been big on ellipsizing things
09:28
<othermaciej>
I don't like it
09:28
<othermaciej>
especially the fact that often there is no way to get the full name but hover
09:29
<othermaciej>
and a lot of things don't even show the expanded version on hover :-/
09:31
<othermaciej>
hmm, when I search for LOST I can see the full list of 6 seasons
09:34
<Hixie>
othermaciej: search for SG-1
09:34
<Hixie>
othermaciej: oh, i mean from the view of one of the episodes, btw, not from the search results
09:35
<othermaciej>
if I click "See All" from the search results I can see all 10 seasons, though in strangely random order
09:35
<Hixie>
look in the "More Seasons" part of http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewTVSeason?id=183133645&s=143441
09:35
<Hixie>
there's no season 1
09:37
<othermaciej>
that is indeed odd
09:38
<Hixie>
i've run into that a lot
09:38
<Hixie>
e.g. with Top Gear in the UK store
09:38
<Hixie>
(14 seasons)
09:38
<othermaciej>
all the pages lack a Season 1 link except for Season 1 itself, which lacks a Season 2 link
09:39
<othermaciej>
I could file a bug
09:43
<annevk>
we should update the <title> for HTML5 revision tracker as well
09:45
<annevk>
lol
09:45
<annevk>
first please split out MIMESNIFF from HTML5
09:46
<annevk>
then, if MIMESNIFF actually gets through as a draft add a reference...
09:47
<Hixie>
hm?
09:48
<Hixie>
i'm getting weird hits from "Microsoft Office Existence Discovery"
09:49
<Hixie>
hits to my delayed-file script with delay values in the eons
09:50
<annevk>
web-apps-tracker is suddenly returning 500s?
09:51
<annevk>
hmm, I guess it's something with svn.whatwg.org again
09:51
<Hixie>
yeah this "Microsoft Office Existence Discovery" is screwing me
10:00
<meledin>
... you had me at "Microsoft Office"...
10:00
<Hixie>
ok i added another 20 servers
10:01
<annevk>
what do you mean?
10:01
<annevk>
surely you don't get that much traffic
10:02
<annevk>
meanwhile it turns out that min-width works different yet again
10:02
<annevk>
I think I'll do a mix of WebKit and Gecko
10:03
<annevk>
WebKit quite often simply returns the computed value whereas Gecko does something more complicated
10:07
<Hixie>
annevk: 20 apache processes, i mean
10:08
<Hixie>
annevk: though given that i host 60 or so domains and subdomains, including acid3.acidtests.org, hixie.ch/tests, and whatwg.org, i do get enough traffic that i care about apache's settings
10:10
<annevk>
those prolly get lots of traffic
10:10
<annevk>
I have around 30 or so but still on a shared hosting account and no problems :)
10:15
<annevk>
+1 to berjon
10:16
<othermaciej>
I've gotten so used to +1 messages that I was about to ask what you were agreeing with
10:16
<othermaciej>
btw it seems like +1 is relatively out of fashion on public-html now
10:16
<annevk>
when I don't make sense, it's usually a reference to whatever just arrived in my inbox :)
10:17
<annevk>
I'm hoping to popularize it on #whatwg
10:17
<Hixie>
+1 is the ultimate expression of aiming for consensus over strength of arguments
10:18
<annevk>
maybe more like majority strong-arming
10:18
<zcorpan__>
+1, down with consensus
10:18
<annevk>
+0
10:19
<Hixie>
annevk: re what you said above, i push about 600 to 700 GB per month on my dreamhost account
10:19
<annevk>
ah, let me check
10:19
<Hixie>
(you can find the number under Status > Bandwidth Usage)
10:19
virtuelv
still wonders whan anne agreed with Robin on
10:19
othermaciej
too
10:19
<Hixie>
most of which is whatwg.org
10:20
<annevk>
not surprising actually with 5MiB drafts :p
10:20
<Hixie>
i push about 4 times more traffic out of svn.whatwg.org than on acid3.acidtests.org! :-/
10:20
<othermaciej>
acid3 is yesterday's news
10:21
<annevk>
dreamhost estimates close to a 100 with about 90% used by html5.org and 7% by annevankesteren.nl
10:22
<annevk>
philip and simon.html5.org take most of what remains
10:22
<zcorpan__>
is simon.html5.org mostly html5-elements?
10:23
<annevk>
no
10:23
<annevk>
/test/
10:23
<zcorpan__>
oh
10:23
<annevk>
stuff in the root directory is only 2.27%
10:24
<zcorpan__>
maybe someone's using the tests in regression testing
10:24
<annevk>
/specs/web-dom-core is the most popular file
10:24
<zcorpan__>
oooh
10:24
<gsnedders>
But that's an out of date version of that spec!
10:24
<gsnedders>
My copy is newer!
10:35
<Hixie>
man, this whole thread about widgets being moved to another wg is giving more mail about widgets than i've seen in months
10:36
<hsivonen>
a new WG or an existing WG?
10:37
hsivonen
hasn't read Process email lately
10:37
<Hixie>
i don't care really so long as i don't have to read about it
10:37
<Hixie>
http://www.whatwg.org/specs/web-apps/current-work/complete.html#parsing-xhtml-documents
10:37
<Hixie>
paragraphs 3 up to the note
10:37
<Hixie>
what do you think
10:38
annevk
fetches
10:38
<hsivonen>
you put a normative data: URL in the spec?
10:39
<annevk>
didn't we define a public identifier for XSLT?
10:39
<annevk>
hsivonen, that's only in <canvas> afaik
10:40
<hsivonen>
Hixie: the data: URL with a content type that Firefox doesn't handle natively is very annoying
10:40
<Hixie>
hsivonen: file a bug on firefox?
10:41
<Hixie>
i considered putting it inline but that seems like a lot of spam for not much use
10:41
<Hixie>
given that about 12 people are ever going to have to read that
10:41
<annevk>
where is it?
10:41
<othermaciej>
for some reason I am amused to see a normative requirement in an href
10:41
<hsivonen>
Hixie: I believe implementing that spec text would regress performance in Firefox without non-trivial work
10:42
<hsivonen>
Hixie: other than that, it seems rather sensible
10:42
<othermaciej>
hsivonen: you mean due to actually loading the data: URL?
10:42
Hixie
hopes hsivonen is going to explain what he did wrong so he can fix it :-)
10:42
<othermaciej>
couldn't Firefox do basically what it does now and be as-if equivalent?
10:42
<annevk>
oooh
10:42
<annevk>
the browser jumped to the wrong section
10:43
<hsivonen>
I mean that if -//W3C//DTD XHTML 1.0 Transitional//EN maps to a larger DTD than now, actually tokenizing it *every time* is going to regress perf
10:43
<Hixie>
oh it's the size that's the problem
10:43
<hsivonen>
AFAIK, Gecko doesn't have an expat backdoor for populating the entity table without loading sometihng
10:43
<othermaciej>
I see
10:43
<Hixie>
i could limit it to the xhtml11 entities
10:43
<Hixie>
but then mathml gets screwed
10:43
<othermaciej>
in WebKit we we just do entity substitution in code like we do now
10:44
<hsivonen>
Hixie: you need to map the MathML doctypes to the larger DTD
10:44
<Hixie>
oh man
10:44
<hsivonen>
gotta run to lunch
10:44
<annevk>
that sucks
10:44
<Hixie>
that's far more complexity than i'd like to do
10:44
<annevk>
change XML now!
10:44
<hsivonen>
Hixie: I can't say right now how feasible it would be to make expat not really parse the DTD
10:44
<annevk>
mail your guy in congress
10:45
<Hixie>
hsivonen: i don't see why it's ok to screw mathml pages but not xhtml pages
10:45
<Hixie>
hsivonen: if it's a perf hit for the 5 xhtml pages, why isn't it a perf hit for the 3 mathml pages?
10:45
<hsivonen>
Hixie: sure, it's a hit. I talkeed about *regression* compared to current hit
10:46
<Hixie>
oh, i see
10:46
<zcorpan__>
should QUOT be there?
10:46
<annevk>
why are word-spacing and letter-spacing different?
10:46
<annevk>
it makes no sense
10:46
<annevk>
no sense
10:47
<Hixie>
zcorpan__: webkit just uses the same table as text/html
10:47
<Hixie>
zcorpan__: which seemed like the most obvious strategy
10:48
<annevk>
change XML now!
10:49
<annevk>
i think i'll treat this as a bug with CSS 2.1
10:49
<annevk>
meh
10:49
<zcorpan__>
Hixie: does webkit support mathml entities?
10:50
<Hixie>
not currently
10:50
<othermaciej>
we don't yet
10:50
<othermaciej>
it would not be a perf hit to do so
10:50
<Hixie>
then again, they also don't support mathml
10:50
<othermaciej>
though it could b a small memory hit
10:50
<othermaciej>
we actually do support some mathml now
10:50
<Hixie>
oh?
10:50
<othermaciej>
(actually I'm not sure if that's enabled by default but it is in the tree)
10:50
<othermaciej>
(still incomplete)
10:51
<Hixie>
neat
10:51
<zcorpan__>
opera uses a different set of entities for html, xhtml and xhtml+mathml, i think
10:51
<zcorpan__>
like firefox
10:52
<zcorpan__>
xhtml+mathml documents are heavier to load than xhtml documents
10:53
<Hixie>
sounds like a bug firefox and opera should fix
10:53
<zcorpan__>
sure, but it's not top priority to tweak performance for 5 documents on the web
10:53
<asmodai>
Heh, I saw that too
10:54
<asmodai>
When I load my HTML5 document with MathML with html5 enabled is loads quite a bit slower than disabled.
10:58
<asmodai>
But can be that nightlies are much better in that aspect
11:06
<hsivonen>
actually, the throughput situation with the html5 parser on trunk is quite distressing
11:10
<asmodai>
hsivonen: Still a noticeable delay before rendering?
11:30
<hsivonen>
asmodai: I haven't paid attention to that aspect. We don't measure it...
11:30
<hsivonen>
we do measure full system throughput
11:30
<hsivonen>
and the HTML5 parser is doing badly
11:30
<hsivonen>
even though it has nice qualities like responsiveness
11:50
<asmodai>
hsivonen: Once it's rendered it responds well, yes. :)
11:52
<MikeSmith>
finally getting browser implementation support for box-shadow and border-radius is just about that best thing that's happened to the platform in the last N years
11:53
<hsivonen>
asmodai: are nightlies unresponsive for you during parsing?
12:13
<asmodai>
hsivonen: Would need to check with a nightly. Can it safely be installed next to 3.6 without fear of screwing up my profile? :)
12:13
<asmodai>
MikeSmith: It's used quite a lot for web 2.0 designs yea
12:16
<MikeSmith>
asmodai: it certainly makes it much more easy to create Web content with some of the same visual-information conventions that are typical in printed content and other visually rich media
12:17
<asmodai>
Absolutely.
12:17
<asmodai>
For me the MathML stuff is one of the more important things.
12:18
<asmodai>
Especially now that I am back working for a university.
12:18
<annevk>
seems I was right about posting to public-html about html5-diff
12:18
<annevk>
I was hoping for something a little more exciting though
12:19
<MikeSmith>
I think we have plenty of excitement already
12:19
<MikeSmith>
(implied scare quotes)
12:19
<MikeSmith>
asmodai: I realize that MathML is important for a lot of use cases, but I not sure it'd rank so high in the list of priorities for most Web developers/designers
12:19
<asmodai>
MikeSmith: Unfortunately not, no. :(
12:20
<asmodai>
But I love how I finally can read formulae without any shitty on the fly TeX rendering in pixelated font and such things.
12:20
asmodai
hides his typography interests
12:22
<MikeSmith>
well, I think most decent designers have high interest in typography.. it's just that their expectations are so low in regard to typography on the Web that they are just happy for any small gains at all
12:24
<MikeSmith>
but not sure how typography improvements in general should rank compared to, say, having a standard way (that doesn't rely on JS libraries or direct low-level JS coding) event-based way show/hide parts or page (by clicking or whatever)
12:25
<othermaciej>
MikeSmith: that could be so totally doable with my old <button type=toggle> idea
12:25
<othermaciej>
MikeSmith: all you'd have to do is make visibility of the children (which don't necessarily need to be visually inside it) depend on the checked state
12:25
<othermaciej>
and with CSS transitions, you could even have nice animations on the hiding and showing if you cared to
12:28
<MikeSmith>
having support for decent transition effect for it'd be important, but just having that base mechanism would be huge
12:29
<MikeSmith>
I hope we can collectively find a way to make that happen sooner rather than later
12:32
<othermaciej>
it is possible to do it with very little scripting
12:32
<othermaciej>
just add/remove the hidden attribute, or toggle a class
12:33
<asmodai>
MikeSmith: Oh sure, just that there's so many areas that can use improvements. And we all place emphasis on different parts. :)
12:34
<MikeSmith>
othermaciej: yeah, but the scripting part is the issue.. doesn't matter so much if it's very little or very lot
12:34
<MikeSmith>
for one thing, due to case of many people running with JS off by default
12:34
<othermaciej>
MikeSmith: why is it an issue? are people reluctant to do anything that involves even minimal scripting?
12:34
<MikeSmith>
users
12:34
<othermaciej>
cause fancy CSS is often harder than simple scripting
12:35
<MikeSmith>
users browsing without JS
12:35
<MikeSmith>
and in principle, core default UI behavior should not rely on JS
12:36
<MikeSmith>
and for users running without JS, the default UI behavior should be degraded as little as possible
12:36
<asmodai>
It's funny how CSS sometimes really stops me from expressing the layout I have in my mind. Spend more time fixing inconsistencies between browsers than I do on design. :(
12:36
<MikeSmith>
key case I mean is when you want to have parts of the UI hidden by default
12:36
<othermaciej>
browsing without JS is pretty crippling nowadays
12:36
<othermaciej>
no longer a realistic option
12:37
<MikeSmith>
othermaciej: true, but a lot of people still seem to do it
12:37
<othermaciej>
NoScript is surprisingly high in the list of Firefox extensions
12:37
<asmodai>
Mmm, but isn't HTML as it is now stateless and only via JS do we add state?
12:38
<asmodai>
Adding such an event system to HTML separate from JS would change the system pretty radically then.
12:39
<othermaciej>
HTML is not stateless
12:40
<othermaciej>
the DOM is a big pile of state
12:42
<asmodai>
othermaciej: Oh wait, due to DOM level 2 and the DOM events?
12:43
<Hixie>
HTML has all kinds of state
12:43
<Hixie>
it's HTTP that's (mostly) stateless
12:43
<othermaciej>
the document tree itself is state
12:44
<othermaciej>
but there are also smaller clusters of state such as form controls which mutate happily with no need for scripting
12:44
<virtuelv>
disabled
12:44
<virtuelv>
selected
12:44
<zcorpan__>
<video controls>
12:44
<othermaciej>
CSS is also aware of which element has your mouse in it and whether you are currently clicking on something
12:45
<othermaciej>
(:hove / :active)
12:45
<zcorpan__>
and what has focus
12:46
<zcorpan__>
and if the email address you just typed in is valid or not
12:46
<othermaciej>
contentEditable also allows all sorts of mutations of the document tree itself to occur without the need for scripting
12:47
<othermaciej>
the current selection is also state
12:48
<asmodai>
Hixie: Yeah, my bad. I never really had to delve deep into the tech background of HTML itself. Guess I've been lucky to just brute force my way through the incidental web development stuff.
12:49
asmodai
is catching up quickly.
13:21
<boblet>
anyone here made uF hCards with a bilingual name? I’m wondering how to mark it up…
15:05
<asmodai>
Mmm, nice opera 10.50 results on JavaScript performance.
15:05
<asmodai>
http://my.opera.com/chooseopera/blog/a-new-era-of-browser-speed
15:08
<Philip`>
I wish people did 32-bit and 64-bit versions of benchmark results
15:09
<Philip`>
particularly since it's possible it'd show up JIT weaknesses
15:09
<Philip`>
(and in some tests I've got hugely different results for the same browser with different bittiness)
15:10
<AryehGregor>
asmodai, comparing pre-release Opera to released competitors? Lame.
15:10
<gsnedders>
Some browsers (Chrome especially) seems to vary massively between Intel and AMD CPUs for some reason
15:10
<AryehGregor>
Chrome 5 edges out Opera 10.50 in Peacekeeper's tallies, I think.
15:10
<gsnedders>
AryehGregor: Depends on hardware
15:10
<AryehGregor>
Probably.
15:11
<gsnedders>
SunSpider we are almost always quickest on
15:11
<AryehGregor>
http://service.futuremark.com/peacekeeper/browserStatistics.action
15:11
<AryehGregor>
That shows Chrome 4 as being faster than Opera 10.50 across the board, although the difference does depend on CPU model.
15:12
gsnedders
wonders why there are no results for AMD on us
15:13
<AryehGregor>
Well, Chrome beats Opera on the V8 benchmark. :P (But not by much . . .)
15:13
<gsnedders>
And only in one test
15:15
<AryehGregor>
It's still lame to compare Opera 10.50 to Chrome 4 and Firefox 3.6 instead of Chrome 5 and Minefield.
15:15
<AryehGregor>
Also, I wonder why Safari's not there?
15:15
<gsnedders>
We're quicker than Safari
15:15
<AryehGregor>
You're quicker than IE too, but that's present. :P
15:15
<gsnedders>
We should've included IE9 too :P
15:16
<annevk>
we should've left out IE
15:16
<annevk>
it's not interesting
15:19
<AryehGregor>
Performance comparisons published by browser vendors are rarely very interesting. The result is predictable in advance: our browser is best!
15:19
<AryehGregor>
(for some carefully-selected meaning of "best")
15:21
<Philip`>
The exception is when Microsoft publishes performance comparisons
15:21
<Philip`>
where the result is "we're far less pathetic than our previous release, and we're catching up with everyone else"
15:21
<AryehGregor>
Yeah, that's why they don't publish those so often. :P
15:22
<AryehGregor>
Although I think their last one was remarkably fair, it actually benchmarked against nightlies and everything.
15:22
<Philip`>
which is a much more important result than whether some browser is 20% faster than another on some artificial benchmarks
15:22
<gsnedders>
But everyone knows IE sucks, so people just care about IE getting better :P
15:22
gsnedders
was amazed they got permission to publish that at all, actually
15:22
<jgraham>
Philip`: Arguably the important result is "how fast are you in practice on some site that users care about"
15:23
<AryehGregor>
Raw JS performance isn't a big deal to me so much as responsiveness. Firefox may be competitive in raw JS scores, but a lot of UI actions just seem a lot more laggy than, e.g., Chrome.
15:23
<jgraham>
(so saying "we're less lame than our previous release doesn't mean much if you still can't make canvas-based games run at an acceptable framerate, for example)
15:24
<AryehGregor>
Well, yeah, speed improvements do enable more apps.
15:24
<AryehGregor>
They also allow viewing the HTML5 complete spec. :P
15:24
<AryehGregor>
Although even on Chrome that's slow enough that I usually use the multipage version.
15:24
<jgraham>
js-improvements mean nothing there
15:24
<jgraham>
That's mostly layout and DOM dominated
15:25
<gsnedders>
Well, it's a question of how often you reflow in large part
15:25
<Philip`>
I thought it was a question of whether you implemented CSS properly or not, too
15:27
<jgraham>
:how often you reflow" -> layout
15:27
<AryehGregor>
Personally, as a user, I'd prefer a slightly buggy CSS implementation that's significantly faster.
15:28
<AryehGregor>
Although it's annoying as a web developer.
15:28
<AryehGregor>
I've found some very weird WebKit rendering bugs.
15:28
<jgraham>
I was under the (possibly mistaken) impression that gecko had problems because the status annotation script triggered an n^2 algorithm due to their particular DOM implementation
15:28
<AryehGregor>
I've found some Gecko rendering bugs, but they seem to be less weird. :)
15:29
<AryehGregor>
jgraham, I think it was something like that.
15:30
<Philip`>
I thought there was also something about dynamic updates to selectors, which WebKit just ignores and gives incorrect results for
15:31
Philip`
can't remember whether WebKit fixed the CSS bug that breaks the index page for his canvas tests
15:37
<asmodai>
The only thing I find interesting in all those benchmarks is how IE is so abyssmally slow
15:38
<Philip`>
Is it really hard to e.g. set up some kind of capture/replay proxy and browse Gmail a bit and then do a replay with automated user actions and time it, rather than doing everything with artificial benchmarks?
15:38
<jgraham>
Philip`: Yes
15:39
<Philip`>
Why?
15:40
<jgraham>
Because setting up automated user actions is hard, because sharing such a setup is hard
15:41
<meledin>
Sounds like something you could use Selenium to do. Don't know whether or not that does a performance penalty significant in the context.
15:41
<AryehGregor>
Surely if you have a good test suite it will involve automated user actions, like Mozilla's mochitests.
15:41
<AryehGregor>
Selenium doesn't seem relevant -- it doesn't involve an actual browser, does it?
15:41
<meledin>
It does
15:41
<AryehGregor>
I mean, not an arbitrary one.
15:41
AryehGregor
will have to reread that
15:42
<meledin>
Firefox, Safari, Chrome. IE should be possible too but I lack the necessary windows
15:42
<AryehGregor>
Hmm.
15:42
<jgraham>
Right, but there's no cross browser way to do that. And you don't know what effect the automator has to the performance
15:42
<jgraham>
s/to/on/
15:42
<AryehGregor>
Well, you don't need a cross-browser way to do it if your goal is to improve real-world performance rather than show off how much awesomer your browser is than anyone else's.
15:43
<AryehGregor>
Automator probably isn't going to make a huge difference to performance, but if it does, still a heck of a lot better than a synthetic benchmark.
15:43
<gsnedders>
The question is what is slow enough to have a noticable effect on perf?
15:43
<AryehGregor>
Real-world input is the only logical thing to test for any program, IMO. I'm suspicious of unit tests, too.
15:44
<meledin>
To me the question is what performance is fast enough to not have a noticeable effect on user experience.
15:44
<jgraham>
AryehGregor: It depends how it is implemented. e.g. in Opera using the debugging interfaces disables JIT. So anything that uses the debugger is useless for performance testing
15:44
<meledin>
If you improve page load on google.com by 1000% (but it originally loaded in 0.02 seconds) you've done a hell of a job for no reason.
15:44
<AryehGregor>
Ah.
15:44
<gsnedders>
Gmail loading initially is, but what about once it is loaded? Does any of that matter?
15:44
Philip`
loads Gmail about once every two days
15:44
<Philip`>
so I really don't care about that
15:44
<AryehGregor>
Me too.
15:45
<AryehGregor>
I suspect most Gmail slowness is server-side, though.
15:45
<AryehGregor>
Like when it takes multiple seconds to load the next e-mail, WTF is up with that.
15:45
<jgraham>
(I think the same is true in other browsers e.g. Firebug disables JIT in tracemonkey)
15:45
<Philip`>
You don't want to make the browser *just* fast enough to make users happy with all current sites
15:45
<Philip`>
You want it to be fast enough that developers can make new fancier sites, without being significantly restricted by performance
15:46
<Philip`>
(assuming the idea is to improve the web, which benefits everybody, rather than merely to compete against all current browsers on the current web)
15:52
<AryehGregor>
jgraham, mochitests don't use Firebug, though. It's using the regular JS engine AFAIK.
15:53
<AryehGregor>
It basically just runs a webpage that has some elevated privileges, so it can synthesize user input and such.
15:54
<jgraham>
AryehGregor: Right, my point was just that disabiling optimisations in certain situations was common
15:55
<AryehGregor>
Clearly.
15:56
Philip`
suggests not designing systems to be untestable
15:56
<Philip`>
That'd make everything so much easier
16:17
<Philip`>
"thankfully we've got Jean-Baptiste Clamence who has collected some of them [statements]" - indeed, he has done sterling work as an unbiased archiver helping people stay well-informed on WHATWG matters
16:19
<annevk>
yeah signal/noise on public-html ftw
16:19
<annevk>
not
16:31
<hsivonen>
Philip`: where's that a quote from?
16:31
<hsivonen>
whoa. public-html
16:32
<Lachy>
http://www.w3.org/mid/AAF736D7957145618141DAF4979730AB@kmPC
16:41
<jgraham>
"whoa. public-html" is a surprisingly common reaction to public-html
16:44
<Philip`>
http://www.google.com/search?q=%2B%22whoa.+public-html%22
16:44
<Philip`>
jgraham: I think that's technically untrue
16:45
Philip`
discovers http://www.flickr.com/photos/hober/4256801493/
16:51
<AryehGregor>
That image is about as productive as Last Week in HTML5.
16:52
<AryehGregor>
I.e., extremely unproductive.
16:53
<Philip`>
Less long-winded, though
17:10
<Philip`>
Does anyone else see flashing bold text in #html-wg?
17:10
Philip`
wonders if it's just his IRC client getting confused
17:10
<gsnedders>
No, it's not
17:11
<gsnedders>
Well, it's not flashing here. But I have that turned off in my IRC client :)
17:11
<gsnedders>
But the bold bit too
17:13
<gsnedders>
s/too/I do/
17:13
<gsnedders>
Odd mistake
17:13
<Lachy>
how do you get flashing text in IRC?
17:13
<gsnedders>
Control characters
17:13
<gsnedders>
Lachy: On a totally unrelated note, I'm hungry.
17:14
<Lachy>
would you like to go get some food?
17:14
<gsnedders>
Yes
17:15
<Lachy>
ok. Where would you like to go? A restaurant?
17:15
<gsnedders>
Somewhere quick and close, like a takeaway
17:15
<gsnedders>
But not too close. those places aren't nice.
17:15
<gsnedders>
(IMHO, YMMV, etc.)
17:16
<Lachy>
I was told that there was a really nice place just down stairs, either in this building or nearby
17:16
<gsnedders>
That's not really nice.
17:16
<Lachy>
ok
17:16
<gsnedders>
It's not very nice at all really.
17:16
<gsnedders>
That's one of the places I was excluding.
17:16
<Lachy>
fair enough
17:16
<gsnedders>
And why am I talking to you on IRC and not moving my mouth?
17:16
<Lachy>
because this is clearly faster
17:17
<gsnedders>
OBviously
17:17
<gsnedders>
Though I can't type this quickluy witohut making mistakes
17:18
Philip`
looks at his public-html folder
17:18
<Philip`>
Aaaaaaaaah
17:19
<annevk>
you won't miss if you delete it all prolly
17:19
<annevk>
lots of Process fodder
17:20
<Philip`>
I looked at it ten minutes ago
17:20
<AryehGregor>
Wow, lots of Bugzilla activity.
17:20
<Philip`>
but then there were 32 bug keyword updates
17:22
<Traveler0>
hi.
17:22
<Philip`>
Hello
17:23
<Traveler0>
I'm using sifr on a web project of mine and everytime I upload the file on the server sometimes the sifr replacement text doesn't load. The page loads everything else except sifr and stops.
17:23
<Traveler0>
Sometimes I refresh it once and it works nicely, sometimes it takes 4-5 times until the text appears.
17:23
<AryehGregor>
Does this have to do with the WHATWG, or . . . ?
17:23
<AryehGregor>
I mean, I don't expect anyone here to know the answer.
17:24
<AryehGregor>
(although maybe I'm wrong)
17:24
<Traveler0>
I know you guys are pretty knowledgeable
17:24
<Traveler0>
Could it be some server problems?
17:25
<Philip`>
Knowledgeable about HTML, not about sIFR :-)
17:25
<AryehGregor>
sIFR looks like voodoo magic to me.
17:25
<AryehGregor>
We hate Flash here, remember? :)
17:25
<Traveler0>
Well on my local server it loads fine, I doubt it's because of sIFR :P
17:26
<Traveler0>
I used to hate it too, until I tried the text replacement thingye. It's nice.
17:26
<annevk>
the reason is because Flash is teh evil
17:26
<Traveler0>
The page just looks so nice with the flash text
17:26
<annevk>
@font-face
17:27
<Traveler0>
You can't use font-face for every font
17:27
<Philip`>
Why not?
17:27
<Traveler0>
It breaks the copyright, even cufon does.
17:27
<Philip`>
Use fonts that allow you to use them
17:27
<Traveler0>
The number of fonts that allow are very limited.
17:28
<Traveler0>
And not worth it I guess.
17:28
<AryehGregor>
But they let you use sIFR?
17:28
<Traveler0>
+ @font-face isn't a good idea, since browsers render fonts differently and you would have some unpleasant surprises.
17:28
<Traveler0>
Indeed, sIFR doesn't break copyright.
17:30
<AryehGregor>
It sure does break copyright unless they explicitly let you use it. Do they have a whitelist of technologies they allow?
17:30
<AryehGregor>
Browsers that support @font-face render it the same way to the best of my knowledge, although some of their implementations have gotchas.
17:31
<AryehGregor>
(modulo platform conventions and such, I guess)
17:31
<Philip`>
They use different font renderers on different platforms
17:31
<Philip`>
which sometimes give very different results for the same font data
17:32
<AryehGregor>
Anyway, this is a channel for a standards development group, so saying you want to use a Flash-based solution when a semi-usable standards-based solution is available is unlikely to get you a lot of enthusiastic assistance here. :)
17:32
<AryehGregor>
(a standards development group that has killing Flash as one of its major goals, for that matter)
17:33
<Traveler0>
I see. Can I ask why do you hate it though?
17:33
<Traveler0>
It makes websites look better, you have to agree on that.
17:34
<Traveler0>
I'm not very enthusiastic about flash either and I don't particularly like entire flash websites, but I think sifr is ok.
17:34
<AryehGregor>
Flash is a proprietary solution that's locked the web into one program written by one vendor, and forces us all to dance to their tune. It stifles competition and innovation. Flash is also notoriously buggy and unstable, to the point that multiple browsers are now putting a lot of work into sandboxing plugins largely so that Flash doesn't cause them to crash so often.
17:34
<AryehGregor>
For the web to remain healthy, we need standards that can be implemented by many vendors competing against each other, so that we get the best possible implementation and no one is left out.
17:35
<AryehGregor>
Flash doesn't support all platforms either, because Adobe can't be bothered supporting some, and some platforms don't want to depend on Adobe (e.g., iPhone/iPod Touch/iPad).
17:36
<AryehGregor>
HTML5, when more widely implemented, should supersede Flash in most common use-cases, e.g., videos and simple games. With any luck, this will reduce Flash market penetration until it eventually becomes unattractive as a development target.
17:37
<Traveler0>
hm
17:38
<Philip`>
I don't think killing Flash is a major goal
17:38
<Philip`>
Making Flash unnecessary by providing better solutions to relevant use cases is much more of a goal
17:39
<AryehGregor>
Well, yes. Same deal, from a slightly less aggressive perspective.
17:39
<Philip`>
Not really
17:39
<Philip`>
Flash could be unnecessary but still very much alive
17:39
<Philip`>
They're distinct states
17:40
<AryehGregor>
But closely related.
17:40
<AryehGregor>
I mean, I was using "kill" in a broad sense.
17:40
<Philip`>
Maybe
17:40
<AryehGregor>
Not like "Adobe stops developing it".
17:41
<AryehGregor>
More like "we can all safely ignore it".
17:41
<Philip`>
I think you were using "Flash" in a monolithic sense
17:41
<AryehGregor>
What does that mean?
17:42
<Philip`>
which isn't necessarily the best sense, e.g. <video> is useful because it makes Flash unnecessary for a subset of use cases, even though it does nothing for many other use cases that Flash satisfies
17:42
<Philip`>
I mean you seemed to mean you wanted to kill Flash in the sense of making the entire thing disappear / become irrelevant / etc
17:44
<AryehGregor>
As long as Flash has 98% market penetration, authors will use it, forcing users to install it, in a vicious cycle. The only way to break out of this and get to standards-land is to sharply reduce Flash's market share, by making it less necessary to users, thereby less useful to authors, etc.
17:44
<AryehGregor>
Loosely speaking, that's "killing" it
17:44
<AryehGregor>
.
17:44
<AryehGregor>
Modulo hyperbole.
17:45
<Traveler0>
I guess each one has their opinions on how stuff should work.
17:45
<Philip`>
I'd be quite happy if 98% of users had Flash installed but only 0.1% of sites relied on it because most were happy with features provided by HTML instead
17:45
<Philip`>
s/happy/happier/
17:46
<AryehGregor>
Then users would stop installing Flash. It doesn't usually come bundled with the OS, right?
17:46
<AryehGregor>
Of course someone is always going to use Flash, as long as it exists.
17:46
<Traveler0>
It would suffice if youtube would stop using flash
17:46
<Philip`>
PCs come bundled with hundreds of things
17:46
<AryehGregor>
But the usage would ideally be negligible.
17:46
<Traveler0>
Most of the users with internet connection visit youtube
17:46
<AryehGregor>
YouTube support HTML5 video now, partially.
17:47
<Traveler0>
I've seen their page on html5
17:47
<AryehGregor>
They support HTML5 for most videos now.
17:47
<AryehGregor>
You can opt-in in preferences.
17:47
<AryehGregor>
Only if you use Chrome or Safari, though, since it's H.264 only.
17:47
<Philip`>
Doesn't work on any browsers I have installed, as far as I'm aware
17:47
<Traveler0>
FF doesn't support html5 videos?
17:48
<Philip`>
It does, but only Theora
17:48
<Philip`>
not H.264
17:49
<AryehGregor>
H.264 is a patented video format, which is also evil. Theora is unpatented. Firefox supports only Theora, but YouTube currently only provides H.264. The latter has much bigger market share, it's very widely used. Theora came onto the scene much later, sadly.
17:49
<Traveler0>
I guess flash will be less important in the near future
17:49
<Philip`>
Theora is patented
17:49
<AryehGregor>
Nitpicker.
17:50
<Philip`>
You're just wrong :-p
17:50
<AryehGregor>
It's patented but all patents are irrevocably released to the general public royalty-free.
17:50
<AryehGregor>
So s/patented/patent-encumbered/g if you want.
17:50
<Philip`>
All widely-known patents
17:51
<Philip`>
Did anyone find the thing which actually said the patents were free for use in the contexts where Theora is now used?
17:51
<Philip`>
(The last I remember, it was kind of specific to a particular Theora implementation, or something along those lines)
17:54
<Philip`>
"Theora came onto the scene much later" - how are you interpreting coming onto the scene?
17:54
<Philip`>
Apparently standardisation of the first version of H.264 was completed in 2003
17:55
<Philip`>
and Theora was started in 2002 (based on a codec from 2000) and the format frozen in 2004
17:55
<Philip`>
so they're mostly contemporaneous
17:57
<AryehGregor>
Well, or H.264 was marketed better, or whatever. It's dominant, Theora isn't, for whatever reason.
17:57
<AryehGregor>
Network effects, etc.
17:58
<tantek>
AryehGregor - my understanding is the H.264 provides higher quality / bytes, that is a technically/experientially superior format.
17:58
<AryehGregor>
tantek, http://people.xiph.org/~greg/video/ytcompare/comparison.html
17:58
<tantek>
that's the reason I have heard from supporters of H.264. I don't have reference.
17:58
<AryehGregor>
The difference isn't that large, apparently.
17:58
<AryehGregor>
H.264 is probably better overall, but not hugely.
17:59
<Philip`>
It's partly a consequence of encoder implementation
17:59
<Philip`>
Because H.264 is popular, lots of people put lots of effort into implementing it well
18:00
<Philip`>
(for lots of different meanings of "well", involving different tradeoffs of quality and size and encoding speed and latency and decoder capabilities etc)
18:00
<Philip`>
whereas it seems Theora has had a not-very-good encoder for most of its life, with recent work on one better encoder, and that's about it
18:01
<tantek>
Thanks for the reference AryehGregor - I will share it.
18:04
<Philip`>
Also there's been pretty much no point in using Theora, because nobody wanted to widely distribute video-playback code in open source software where they couldn't simply ignore licensing concerns
18:05
<Philip`>
until <video> came along
18:12
<AryehGregor>
Philip`, it's not just about browser vendors. Wikimedia has been using Theora since before any browser supported it.
18:13
Philip`
has almost never actually seen a video on Wikipedia
18:14
<Philip`>
(and I've definitely never attempted to actually watch one)
18:14
<tantek>
AryehGregor - is there a query you can do to tell how many Theora videos are posted on Wikimedia?
18:14
<tantek>
(would be a useful stat to have)
18:14
<AryehGregor>
tantek, one sec.
18:14
<tantek>
(as well as growth over time)
18:15
<AryehGregor>
Growth over time is less trivial, obviously, since it would require a bunch of queries at best.
18:16
<Philip`>
Do a single query for the last-modified dates of each file and draw a cumulative graph?
18:17
<AryehGregor>
Weird, lots of stuff with application/ogg MIME type.
18:17
<Philip`>
(and assume they won't get overwritten enough to care about)
18:17
<AryehGregor>
Maybe because it doesn't know whether it's audio or video?
18:17
<Philip`>
How does it decide how to render the file?
18:17
<AryehGregor>
No idea.
18:18
<AryehGregor>
Maybe it does know, but it isn't stored in the database.
18:18
AryehGregor
waits for SELECT COUNT(*) FROM image WHERE img_minor_mime = 'ogg'; to complete . . . table scan, yay
18:19
<mpilgrim>
well, if wikipedia crashes, we'll know who to blame
18:20
<AryehGregor>
This is on the toolserver, not Wikipedia.
18:20
<AryehGregor>
So it's a replica running on separate servers.
18:21
<AryehGregor>
Toolserver access is open to anyone, it's just read-only and most private stuff is removed.
18:21
<AryehGregor>
I happen to be a toolserver root, so I can see the private stuff, but I still can't change anything on the servers that actually run Wikipedia.
18:21
<mpilgrim>
i was joking, but that's interesting
18:21
<AryehGregor>
I figured you were joking, but I also figured it would be interesting. :)
18:22
<AryehGregor>
One day I'll probably get shell access to the Wikimedia cluster, which means root DB access too, since the root database passwords are on NFS. But I don't have it now, I only have commit access.
18:23
<Philip`>
Hmph, I was going to try to trick you into running DELETE FROM image but it sounds like that won't achieve anything very exciting :-(
18:24
<AryehGregor>
I'm not even running from my root account right now, so on my current MySQL shell that wouldn't even affect the toolserver.
18:24
<mpilgrim>
another editor would just come along 90 seconds later and revert the change anyway
18:24
<Philip`>
Good point, they'd just run "UNDELETE FROM image" and it'd be back to normal
18:25
mpilgrim
ponders what it would take to get back to writing
18:25
<Philip`>
Extreme boredom?
18:26
<mpilgrim>
no, that doesn't seem to have worked so far
18:27
<AryehGregor>
If you figure it out, tell me so I can see if it works for me doing my math homework.
18:28
<Philip`>
You could pick some arbitrary challenges to make the writing more interesting, like requiring it to be an acrostic
18:29
<wycats>
hey guys
18:29
gsnedders
wonders what books to buy
18:30
<Philip`>
All of them
18:30
<mpilgrim>
that's funny, because at one point i was trying to get the first letter of each chapter of "Dive Into Python 3" to be in alphabetical order
18:30
<mpilgrim>
but i kept rearranging chapters and finally i gave up
18:30
gsnedders
waits for mpilgrim to suggest Dive into HTML 5
18:30
<Philip`>
Like the CSS2 appendices?
18:31
<mpilgrim>
that is awesome, i never noticed that before
18:32
<mpilgrim>
now i must top it
18:32
gsnedders
likes the title of App. E.
18:34
<AryehGregor>
Hahaha.
18:34
<AryehGregor>
Who did that?
18:34
<AryehGregor>
I never noticed, although I always thought Appendix E was named a bit oddly.
18:35
<AryehGregor>
Anyway, just don't try alphabetic acrostics in English if you have 24 chapters or more.
18:35
<gsnedders>
Yeah, me too
18:36
tantek
is glad someone finally noticed the CSS2 appendices. Courtesy of the CSS working group - many many years ago (including myself and Hixie).
18:36
<tantek>
2.1 that is
18:36
<AryehGregor>
("The Neverending Story" did that, but it's a novel, so it just had to introduce a character named Xayide.)
18:37
<gsnedders>
tantek: Who's idea was it originally?
18:37
<gsnedders>
(if you can remember)
18:37
<AryehGregor>
In Hebrew the only problem letter is the sixth, ו. Practically no legitimate word starts with it, but it can be used as a prefix meaning "and", so everyone just does that.
18:37
Philip`
didn't notice it, it was mentioned in this channel some time ago
18:37
<tantek>
Hixie and I got kind of obsessive about it and brainstormed ways to retitle the appendices to make it work.
18:37
<tantek>
(as well as re-ordering)
18:38
gsnedders
notes that sounds like tantek and Hixie :)
18:38
<AryehGregor>
(Hebrew has less problems here because it uses an alphabet designed for it, as opposed to English that uses an alphabet that went like Phoenician -> Greek -> Etruscan -> Latin -> Norman -> English or something.)
18:38
<tantek>
now, can you find the missing-from-the-TOC Appendix H? ;)
18:38
<AryehGregor>
Yeah, I'm totally unsurprised that it was you two.
18:38
<TabAtkins>
Hahaha, that's awesome.
18:38
<AryehGregor>
Oh, H is missing, I didn't notice that either.
18:39
<tantek>
*apparently* ;)
18:39
<gsnedders>
I noticed that
18:39
<TabAtkins>
http://www.w3.org/TR/CSS2/leftblank.html
18:39
<AryehGregor>
Hahaha.
18:39
<gsnedders>
tantek: That's somewhat desperation, though, I presume?
18:39
<AryehGregor>
TabAtkins, where did you find that?
18:39
<gsnedders>
AryehGregor: App G, press next
18:39
<tantek>
gsnedders - nah, more like an excuse for a minor easter egg
18:40
<TabAtkins>
AryehGregor: gsnedders got it.
18:41
<gsnedders>
If I buy one book beyond what I already intend on buying, what should it be?
18:41
<TabAtkins>
Memoirs from an Antproof Case
18:42
<TabAtkins>
http://www.amazon.com/Memoir-Antproof-Case-Mark-Helprin/dp/0380727331
18:42
<AryehGregor>
One of your MySQL queries on this host has been running for 639 seconds,
18:42
<AryehGregor>
which is higher than the warning threshold, 600 seconds. This may indicate
18:42
<AryehGregor>
that the query is faulty, and should be optimised.
18:42
<AryehGregor>
The query (id 1995461) was: SELECT COUNT(*) FROM image WHERE img_minor_mime = 'ogg'
18:42
AryehGregor
sigh
18:43
<AryehGregor>
Well, doing EXPLAIN says 8529900, and that's probably right to within an order of magnitude. Is that good enough? :)
18:43
<AryehGregor>
Oh, no.
18:43
<Philip`>
No :-)
18:43
<AryehGregor>
That's just number of rows examined.
18:43
<AryehGregor>
Not number returned.
18:43
<AryehGregor>
It's a table scan, so that's all files.
18:43
<AryehGregor>
Oh well.
18:44
<Philip`>
Does MySQL have a way to do random samples?
18:44
<tantek>
The first time Hixie and I collaborating on a deliberate and meaningful alphabetized sequential ordering was actually for the CSS Test Suite Documentation - but it may have been too subtle.
18:44
<tantek>
http://www.w3.org/Style/CSS/Test/testsuitedocumentation.html#atomictests
18:44
<Philip`>
like can you do an ORDER BY RAND() LIMIT 100000 efficiently, or something?
18:44
<AryehGregor>
Philip`, not in a way that would be useful here.
18:44
<Philip`>
and then count what proportion of those are ogg
18:45
<tantek>
hint: the first 3 in the sequence are atomic, basic, composite
18:46
<AryehGregor>
The answer is 112197.
18:47
<AryehGregor>
Took 27 min 0.41 sec to run.
18:47
AryehGregor
wonders who all these people are following him on Google Buzz who he doesn't recognize
18:47
<tantek>
thanks AyrehGregor - just to be sure those are all video right? or does that include Ogg Audio-only?
18:47
<tantek>
AryehGregor - they are people who have sent you email.
18:48
<AryehGregor>
tantek, it includes audio, actually. Not sure how to tell them apart from the database.
18:48
<Philip`>
AryehGregor: Does it auto-populate from your email contacts?
18:48
<AryehGregor>
Philip`, tantek, they have to explicitly choose to follow me.
18:48
<AryehGregor>
It might suggest me based on e-mail patterns.
18:48
Philip`
turned Buzz off as soon as he saw the button to turn it off
18:48
<Philip`>
so I don't really know what it is
18:48
<tantek>
AryehGregor, followers/followings were auto-populated when Buzz was launched
18:48
<tantek>
seeded from apparent email sending patterns
18:49
<AryehGregor>
Hmm, right, I think I explicitly un-followed someone.
18:51
<TabAtkins>
Philip`: To the best of my knowledge, there is no way to efficiently do a random sample in mysql. All methods that I'm aware of are bad.
18:52
<AryehGregor>
If you only want one random row at a time, you can make an extra column containing a random number.
18:52
<AryehGregor>
Then select the first row whose random value is bigger than a randomly-chosen value you just picked.
18:53
<AryehGregor>
But that doesn't work if you want a random sample bigger than one, because the order won't be random; all of the results will be predictable from the first one.
18:53
<AryehGregor>
You could just repeatedly query and filter out duplicates on the application side, though, I guess.
18:53
<AryehGregor>
(this is how "Random page" on Wikipedia works)
18:54
<Philip`>
This is just a one-off random sample, it doesn't need to be a different random order multiple times
18:55
<AryehGregor>
Yes, but it requires adding, populating, and indexing a new column, so it's not very helpful for one-off stuff.
18:55
<AryehGregor>
I guess I could have done the query on the page table using page_random and filtered out non-image pages.
18:56
<AryehGregor>
Although not every image corresponds to an image page, nor conversely.
18:56
<AryehGregor>
Well, I guess every image probably has an image page.
18:56
<AryehGregor>
Dunno about the converse.
18:59
<Philip`>
Hmm, MySQL says it does explicitly support ORDER BY RAND()
19:00
<Philip`>
so can't you do "select count(*) from (select * from image order by rand() limit 100000) where img_minor_mime = 'ogg'" to count within a random sample?
19:01
<AryehGregor>
Yes.
19:01
<Philip`>
and then multiple by the total number of rows to get an accurate estimate of the number of oggs
19:01
<Philip`>
*multiply
19:01
<AryehGregor>
Then it will dump the entire contents of the table into a temporary table, generate a random number for each row, sort according to the random number, drop all but the first 100000 rows, and run the query on what's left.
19:01
<AryehGregor>
You did ask for "efficiently", right?
19:02
<Philip`>
Surely it'll just extract the list of row IDs and pick randomly from them?
19:02
<Philip`>
It doesn't need to copy any other data from the table
19:03
<AryehGregor>
| 1 | SIMPLE | image | ALL | NULL | NULL | NULL | NULL | 8529989 | Using temporary; Using filesort |
19:03
<AryehGregor>
No, but it will still hit every row of the table.
19:04
<AryehGregor>
The filesort might only use the row ID and the random number in the actual sorting phase, you're right.
19:04
<Philip`>
The IDs would be in an index so that should be fast
19:04
<Philip`>
and then it would only need to load the rows that are in the sample, to check their mimes
19:05
<AryehGregor>
This is InnoDB, so the table is a B-tree with the IDs as keys, they're not in a separate table.
19:05
Philip`
doesn't know enough about MySQL's query optimiser or EXPLAIN output
19:05
<AryehGregor>
Also, MySQL is stupid about optimizing subqueries, it will probably execute the subquery naively here.
19:05
<JonathanNeal>
Is <nav role="navigation"> redundant for screen-readers? Would the nav element on its own be okay?
19:06
Philip`
has only ever looked at query optimisation in PostgreSQL, and then in not much detail
19:06
<AryehGregor>
You told it to retrieve *, so it will probably do that. Since it's using filesort, it can't do it before limiting, it will filter after.
19:06
<AryehGregor>
So it will hit all rows either way.
19:07
<AryehGregor>
JonathanNeal, I assume so. It would be kind of ridiculous, otherwise.
19:07
<Philip`>
I thought a fundamental point of SQL was that it's based on relational algebra so there's valid ways to reorganise and optimise queries, and it doesn't just blindly do what you type in
19:07
<paul_irish>
AryehGregor: indeed though would the browsers need to "support" the nav element? which, of course, many do not right now
19:08
<Philip`>
(like it knows project(select(...)) is equivalent to select(project(...)) (but faster) etc depending on what columns you use)
19:08
<AryehGregor>
Philip`, yes, but that assumes the DBMS is smart enough. It's like saying the compiler is allowed to do global optimization in C, so why doesn't gcc figure out that this lengthy computation involving lots of void pointers is actually unused and not compile it?!
19:09
<AryehGregor>
"project"?
19:09
<AryehGregor>
paul_irish, I don't know, sorry. Accessibility isn't my forte.
19:09
<paul_irish>
no worries. :) thx
19:09
<Philip`>
"project" is when you extract out particularly columns from a table
19:09
<Philip`>
(vs "select" which is extracting rows)
19:09
<Philip`>
s/particularly/particular/
19:09
<AryehGregor>
Never heard of it. Pretty sure MySQL doesn't support it.
19:11
<Philip`>
It's what "select foo, bar from baz" is doing
19:11
<AryehGregor>
If you say so.
19:12
hsivonen
realized only now why appendix H of CSS2 has been intentionally left blank
19:13
<Philip`>
(Hmm, I think I should say "restrict" instead of "select" when talking about algebras)
19:13
<Philip`>
AryehGregor: http://en.wikipedia.org/wiki/Relational_model and http://en.wikipedia.org/wiki/Relational_algebra
19:13
<AryehGregor>
Philip`, it's kind of funny. I'm a Ph.D. student in mathematics, and do tons of programming-related stuff in my spare time, but I'm not really interested in the mathematical formalism of anything related to computers.
19:14
<Philip`>
The relational model is why RDBMSs have the R in them :-)
19:14
<workmad3>
AryehGregor: most of it is kinda dull and not very complicated admittedly :)
19:14
<AryehGregor>
Yeah, I'm aware there's all this math behind it, but that doesn't seem useful.
19:14
<AryehGregor>
workmad3, that's what I've observed.
19:15
<Philip`>
It's useful because it means query optimisers can work and do clever things
19:15
<AryehGregor>
I'm taking a course in cryptography this semester, which is somewhat interesting, but the math part seems superficial.
19:15
<Philip`>
and, in practice, they do so
19:15
<AryehGregor>
Philip`, not MySQL's! :D
19:15
<workmad3>
some of the more advanced language formalisms are a bit more complicated, but not compared to actual maths
19:15
Philip`
can't believe MySQL is *that* rubbish :-p
19:15
<workmad3>
(as in theory of languages formalisms)
19:15
<AryehGregor>
No, it does have an optimizer, just a pretty stupid one.
19:15
<workmad3>
Philip`: MySQL is pretty rubbish in terms of RDBMS systems
19:16
<AryehGregor>
It has some fairly nice features, but the quality of its query optimizer isn't among them.
19:16
Philip`
liked looking at Postgres's query output where it shows it generating bitsets and hash tables and everything
19:16
<AryehGregor>
Subqueries are nontrivial views are more or less unusable on large sites, you're playing with fire if you touch those.
19:16
<AryehGregor>
Subqueries *or* nontrivial views are more or less unusable on large sites, you're playing with fire if you touch those.
19:16
<AryehGregor>
(at least in my experience)
19:17
<AryehGregor>
There's too much risk it will just execute them naively.
19:17
<AryehGregor>
It's gotten better in more recent versions, I guess, but I still don't trust it. :)
19:17
<workmad3>
MySQL isn't very good for most of the features that are pretty damn great in other RDBMS systems
19:18
<AryehGregor>
Joins are where it's at. Although sometimes you have to tell it which way to do the join, because it decides to filesort 500,000 rows instead of looking at 10 presorted.
19:18
<AryehGregor>
(which way to do the join, and which index to use)
19:18
<AryehGregor>
I've heard it has a relatively nice replication implementation, though.
19:19
<Philip`>
What have the developers been doing for the past five years, if they haven't made basic functionality non-rubbish yet?
19:19
<workmad3>
I've not heard of anyone managing a decent materialised view system on MySQL
19:19
<AryehGregor>
Philip`, 4.1, 5.0, 5.1 mostly consisted of adding basic functionality like subqueries and views, except so poorly done as to be unusable, as far as I can tell.
19:20
<workmad3>
5.x added unusable stored procedures too ;)
19:20
<AryehGregor>
Right.
19:20
<AryehGregor>
And triggers, and so on.
19:20
<AryehGregor>
And partitioning.
19:20
<AryehGregor>
I guess some of these features are usable to some people despite their crippling limitations.
19:21
<AryehGregor>
The more interesting work is scalability improvements. That's why Wikipedia finally upgraded to MySQL 5.1.
19:21
<AryehGregor>
It was on 4.0 for ages because all the new features were useless.
19:21
<workmad3>
Philip`: my theory is that they've been trying to play catch-up with pg and oracle so they can call themselves a relational db system seriously, so added the features before making them usuable
19:21
<AryehGregor>
Yeah, that seems to be it.
19:22
<AryehGregor>
I've been meaning to learn pgsql, but no one uses it compared to MySQL, so I can't muster much motivation.
19:22
<AryehGregor>
And I know MySQL pretty well, so it would be a waste to just throw that out.
19:22
<Philip`>
Sounds like the scalability issues would be better addressed by making the relational features work properly
19:22
<workmad3>
AryehGregor: more people than you think use it I reckon... I'm switching to it fully now
19:22
<workmad3>
I think it's more a case of people don't feel they need to advertise that they use it
19:23
<Philip`>
I used it on one site (after using MySQL on quite a few earlier ones) and it seemed pretty straightforward to learn
19:23
<AryehGregor>
Philip`, no, it's scalability in stuff like running MySQL on more cores and disks, reducing locking overhead, that sort of thing. Improvements for basic features like simple selects and joins.
19:23
<AryehGregor>
It turns out you can do pretty much anything with just joins, only it might take a bit more work.
19:23
<Philip`>
There's some minor differences in syntax but nothing that makes it really hard to learn
19:23
<AryehGregor>
workmad3, yeah, but MySQL is *way* more commonly used in web apps.
19:23
<AryehGregor>
If an app supports one DBMS, it's MySQL.
19:24
<Philip`>
AryehGregor: It wouldn't have to scale to more cores and disks if it could do efficient subqueries instead of filesorting hundreds of megabytes of data :-)
19:24
<workmad3>
AryehGregor: most mainstream web apps that you'd install support several
19:24
<AryehGregor>
MediaWiki supports lots of DBMSes, but only MySQL really works fully, since it's what Wikipedia uses and what everyone develops on.
19:24
workmad3
has mediawiki running with pg
19:24
<workmad3>
not had a problem with it
19:24
<AryehGregor>
Philip`, you don't have to filesort hundreds of MB of data in practice. You design your tables to avoid that.
19:24
<AryehGregor>
workmad3, last I checked, not all the maintenance scripts work, and a fair number of extensions don't work.
19:25
<workmad3>
but yeah, mysql is the most common one... annoyingly :(
19:25
<workmad3>
damn their marketing
19:25
<AryehGregor>
The toolserver uses pgsql on MW and it's broken more than once because someone did SELECT foo, bar ... GROUP BY foo; or something.
19:25
Philip`
used PostGIS which seemed pretty handy too
19:25
<AryehGregor>
Marketing, meh, more like network effects.
19:25
<AryehGregor>
SQL isn't really standardized.
19:25
<workmad3>
AryehGregor: what do you call the SQL standard then? :P
19:25
<AryehGregor>
If pgsql tried to be a drop-in replacement for MySQL, it would have a much better chance.
19:25
<Philip`>
workmad3: Science fiction :-)
19:26
<AryehGregor>
workmad3, something that's followed just closely enough that you can write portable-ish SQL if you put some work into it.
19:26
<AryehGregor>
Kind of like C.
19:27
<AryehGregor>
As opposed to, say, CSS2.1, which has a bunch of implementations that are *really* interoperable -- it's rare to run into show-stopper bugs (outside of a few less well-implemented features like run-ins).
19:27
<AryehGregor>
I mean, show-stopper incompatibilites.
19:27
<AryehGregor>
Well, also outside of old browsers.
19:27
<AryehGregor>
s/ilites/ilities/
19:28
<workmad3>
AryehGregor: pg is a lot closer to standard compliant than mysql is... and that's half the problem
19:29
<Philip`>
AryehGregor: Seems like you need an opportunity to develop a new system from scratch (so there's no MySQL legacy) that you'll run on servers you control (so you don't have to worry about them only having MySQL installed), so you can experiment with technologically better solutions rather than being stuck with MySQL forever
19:30
<workmad3>
pg is really more of a low-end open-source oracle, while MySQL is a jumped up persistence store pretending to be an RDBMS
19:30
<tantek>
Philip` - I wouldn't mind seeing a MediaWiki fork that used a different backend for storage.
19:31
<tantek>
frankly, it would be interesting (and useful IMHO) to see a MediaWiki frontend that used a Git backend.
19:31
<workmad3>
tantek: as I said earlier, I have a (simple) mediawiki install running on pg without problems so far
19:31
<Philip`>
General database design and SQL skills carry over without too much effort, and decent database interface libraries should support multiple DBMSs, so it's straightforward as long as you don't have lots of application code and data to migrate
19:31
<workmad3>
tantek: that sounds crazy enough that it just might work :D
19:32
<workmad3>
Philip`: yeah... it's the DB creation more than the DB querying that isn't portable
19:34
<workmad3>
tantek: a git backend may cause problems with people browsing wiki history though... git isn't really designed around having multiple versions of the same data in place at the same time
19:34
<workmad3>
so you could end up with race conditions caused by two people requesting different versions at the same time
19:37
<Philip`>
workmad3: Clearly what it should do is download the Git repository to each user's browser, and use local storage for it
19:37
<tantek>
yes - and thus enable offline wiki editing!
19:37
<Philip`>
There's no point using a DVCS and having everyone use a centralised copy of the repository
19:37
<workmad3>
Philip`: that would be... great :D
19:38
<workmad3>
so then... who's working on the js version of git? :D
19:38
<Philip`>
Then there's no race conditions, and you just have to set up a decent merge UI
19:41
<AryehGregor>
git takes out a global lock for tons of things. I doubt it's usable if you need concurrency.
19:41
<AryehGregor>
Let alone if you want to do queries that its storage format wasn't designed to support.
19:42
<Philip`>
Global locks are fine, if you have lots of small disconnected globes
19:42
<AryehGregor>
Philip`, the funny thing is, Google develops most of its software in-house, and could surely use pgsql if it were the better tech. They typically use Python instead of PHP, for instance. But they use MySQL.
19:42
<AryehGregor>
The same goes for a couple of other major websites.
19:42
<AryehGregor>
Wikimedia's DBMS maintains (unless I'm misquoting him) that pgsql doesn't scale as well as MySQL for large MySQL-style web workloads. So I dunno.
19:43
<Philip`>
It's an easy mistake to standardise on :-)
19:43
<AryehGregor>
Meanwhile, I just remembered I have a seminar today in less than an hour and a half.
19:43
<AryehGregor>
So . . .
19:43
<asmodai>
Don't confuse incompetency in administering real RDBMSes with ones that aren't. :P
19:46
Philip`
supposes that when you really do have a lot of data, and you need to do lots of select-by-ID and update-by-ID on it, it's not actually that important if non-trivial queries are painfully slow, because it's easier to hack around that by writing lots of dumb queries than it is to fix unacceptable select-by-ID performance
19:50
<asmodai>
Philip`: Most MySQL using programmers have little knowledge of proper SQL tuning >_<
19:50
<workmad3>
and big corps that are using MySQL will want/need to defend their use, because changing will cost a fortune
19:51
<workmad3>
although I don't see why they don't say that as a reason instead... 'we aren't changing our database because we have billions of records and migrating to a different system would take months, even after we've designed and implemented it'
19:53
<asmodai>
Heh
19:54
<Philip`>
That would be admitting that their original design decision was a mistake
19:56
<Philip`>
Also, if they're stuck with MySQL and hate it and then tell everyone that it's the bestest thing ever, their competitors will probably pick it too ("they've got experience and they still say it's good") and won't gain a competitive advantage
19:56
<asmodai>
rofl
19:56
<workmad3>
heh :)
19:58
<workmad3>
still, have to admit I don't know the full issues that a google or wikipedia or facebook would have to solve in scaling their DBMS... but the issues they (may) encounter with something like pg are unlikely to be encountered in most peoples apps
19:59
<workmad3>
and if I ever run into the situation of needing to solve scalability issues in pg... then I'd try and crack on and solve them rather than give in and use a system that is otherwise inferior :)
20:00
<Philip`>
By that time you'd be locked into Postgres even if it was the technically inferior solution :-)
20:24
<TabAtkins>
Argh, finally through all the emails.
20:30
asmodai
sends TabAtkins more email
20:30
<TabAtkins>
DAMMIT
20:31
<TabAtkins>
(You're not Sylvain, so this new mail isn't *actually* from you, but still...)
20:33
<asmodai>
:D
20:37
<TabAtkins>
Also: damns, looks like upgrading to jQuery 1.4 broke my daily journal application in IE. ;_;
20:37
<TabAtkins>
Time to go debugging!
20:38
<carllerche>
Philip`: Hey, i figured out a nice way to draw a shadow without the object
20:38
<carllerche>
I discovered that compositing only seems to take into consideration the previous fill / store or drawing
20:39
<carllerche>
so, I draw the shape with a shadow, then redraw it with globalCompositeOperation = 'destination-out'
20:56
<Philip`>
carllerche: Hmm, not quite sure what you mean
20:56
<Philip`>
In particular, not quite sure whether that's exploiting a browser bug or not :-)
20:58
<carllerche>
Philip`: hmm.. let me check in a couple
21:01
<carllerche>
hmm.. it does seem to behave different in different browsers :(
21:01
<carllerche>
Philip`: Is there a way to do something like "layers" as in, set globalCompositeOperation that does not effect the background?
21:05
<Philip`>
If it behaves differently in different browsers, you should report bugs in the ones that are wrong :-)
21:09
<carllerche>
I will
21:09
<carllerche>
although, i find that the bugs I hit are usually reported :P
21:10
<Philip`>
Ah, fair enough :-)
21:13
<Philip`>
There isn't really anything like layers (unless you make independent overlapping <canvas>s) - when you draw a shape, it just constructs the shadow bitmap and composites that onto the canvas, then composites the drawn shape bitmap onto the canvas, and you can't access the intermediate bitmaps or change the compositing mode between those steps
21:24
<carllerche>
hmmm