00:01
<Tripknotix>
whats, whatwg stand for
00:02
<Hixie>
Tripknotix: Web Hypertext Application Technology Working Group
00:03
<Tripknotix>
so whys this the place to talk about html5 ?
00:03
<Hixie>
WHATWG is one of the groups working on HTML5
00:04
<Tripknotix>
oh
00:04
<Tripknotix>
interesting
00:04
<Hixie>
see also www.whatwg.org and http://wiki.whatwg.org/wiki/FAQ
00:29
<Hixie>
hsivonen: yt?
05:15
<MikeSmith>
hsivonen_: please ping me when you get back on -- if/when you have time to chat a little. I want to ask some boneheaded questions about how to actually get the v.nu error-handling backend to report warnings for exceptions that have warningness set
05:19
<MikeSmith>
hsivonen_: in the mean time I'll read more through the code to try to give myself some clue
05:19
<MikeSmith>
and your thesis
07:22
<hsivonen_>
Hixie: I'm here now
07:22
<hsivonen_>
looks like MikeSmith just left :-(
07:25
<hsivonen_>
oh. a new ED of XHTML2
07:43
<Hixie>
hsivonen_: i don't recall why i was pinging you, sorry.
07:45
<hsivonen_>
Hixie: ok
07:58
<Philip`>
"<zcorpan> so when's WHATWG LC? <Hixie> probably monday" - it's late :'-(
07:58
<Philip`>
in most timezones
07:58
<Hixie>
yeah, gonna be tomorrow night my timezone i think
08:12
<a-ja>
anyone know of a microdata extractor/tester service that works with recent spec changes?
08:13
a-ja
only found one for circa may timeframe
08:15
<Hixie>
i'm not aware of any, but it wouldn't be hard to make one
08:16
<a-ja>
was just playing with trying to make some calendars / vcards "multi-lingual"....uF and microdata
08:17
<Hixie>
cool
08:18
<a-ja>
it's not exactly pretty :)
08:23
<jgraham>
a-ja: I am in the process of updating my python implementation to the latest spec. It will probably take a few more evenings since I'm not trying very hard
08:24
<a-ja>
oh, cool....i'll check it again soon then
08:28
<Philip`>
I'm not in the process of updating my JS implementation
08:28
<Philip`>
Someone else could feel free to fix it for me :-)
08:28
<a-ja>
fwiw....seemed to me that included format adr & geo should get added to html5. and perhaps let vevent location have addr/geo instead of just text
08:29
<a-ja>
erm....adr/geo/vcard
08:30
<a-ja>
Philip`: URL?
08:34
<Philip`>
a-ja: http://philip.html5.org/demos/microdata/demo.html
08:35
<a-ja>
tks......seen it before and have it bookmarked already
09:04
<hsivonen_>
Is a control named isindex magic in IE even if the submission encoding type is not the default?
09:08
<hsivonen>
never mind
09:12
<hsivonen>
eww. Are browsers really supposed to submit the localized string for "Submit" when the submit button has no specified value?
09:15
<Hixie>
they already do, no?
09:16
<zcorpan_>
doesn't the spec just talk about the button's label?
09:16
<Hixie>
hm, maybe the spec doesn't require it?
09:16
<Hixie>
i dunno
09:16
<Hixie>
file bugs if the spec is wrong
09:16
<zcorpan_>
"If the element has a value attribute, the button's label must be the value of that attribute; otherwise, it must be an implementation-defined string that means "Submit" or some such."
09:16
<zcorpan_>
what does "it" refer to?
09:18
<zcorpan_>
i guess it can only refer to "the button's label"
09:18
zcorpan_
looks at the form submission algorithm
09:23
<zcorpan_>
"The value IDL attribute is in mode default."
09:24
<zcorpan_>
"On getting, if the element has a value attribute, it must return that attribute's value; otherwise, it must return the empty string."
09:26
<zcorpan_>
"Each input element has a value, which is exposed by the value IDL attribute."
09:27
<zcorpan_>
"Otherwise, append an entry in the form data set with name as the name, the value of the field element as the value, and type as the type."
09:29
<zcorpan_>
is that right?
09:31
<hsivonen>
Hixie: it seems that Gecko already submits the localized string for "Submit"
09:32
<hsivonen>
it seems like a bad idea to make the submission dependent on localization, but I guess that's the way the legacy is
09:34
<Hixie>
does it affect the DOM also?
09:34
<Hixie>
oh, crap, the IETF is having a meeting again, so I can't update the I-D
09:34
<Hixie>
man, the IETF is really annoying
09:35
<zcorpan_>
opera even sets the content attribute value="Submit"
09:35
<zcorpan_>
but that's a bug
09:39
<zcorpan_>
Hixie: don't we want to have the same requirement for <title> and the others?
09:40
Philip`
sees that websocket has long surpassed http://tools.ietf.org/html/draft-ietf-dnsext-mdns-47 in number of revisions
09:42
<Hixie>
zcorpan_: hm?
09:43
<Hixie>
Philip`: it's still far behind html5!
09:43
<zcorpan_>
Hixie: the restriction you added to <style>
09:43
<Hixie>
i don't really want to have it on <style>, let alone anything else
09:43
gsnedders|work
wonders what happens after 99
09:43
<Philip`>
gsnedders|work: 100
09:44
<Philip`>
gsnedders|work: I thought you knew how to count
09:44
gsnedders|work
wonders if any I-D has ever hit that
09:44
<Philip`>
gsnedders|work: websocket seems to be the highest that I can see, and dnsext-mdns is second
09:44
<zcorpan_>
Hixie: ok. i guess it's mostly just a problem for script and style anyway
09:44
<gsnedders|work>
Philip`: But they're deleted after six months, so that's not very interested
09:44
<gsnedders|work>
*interesting
09:45
<Philip`>
Hixie: Sadly HTML5 still has far to go before catching up with KDE in number of revisions
09:46
<Hixie>
There's only one of me :-P
09:46
<Philip`>
gsnedders|work: Deleted from tools.ietf.org too?
09:46
<gsnedders|work>
Philip`: Ah, no, they aren't.
09:46
<gsnedders|work>
Hixie: Clone yourself.
09:47
Philip`
was looking at stuff like http://www.google.co.uk/search?q=site%3Atools.ietf.org+inurl%3Ahtml%2Fdraft+inurl%3A30
09:51
<hsivonen>
hrm. VideoPress supports Theora but their front page tries to serve Flash to Minefield
09:55
<zcorpan_>
hsivonen: because Minefield isn't Firefox 3.5?
09:55
<hsivonen>
zcorpan_: dunno
10:00
<Hixie>
Philip`: for 8047, any reason I couldn't just invoke the WebIDL algorithm directly?
10:04
<Philip`>
Hixie: That would be a type error, because the WebIDL algorithm expects an ECMAScript value whereas HTML5 has an unlimited-precision decimal number
10:04
<Hixie>
yeah, but other than that
10:05
<DrEvil>
can web workers 'watch' page transitions?
10:05
<Hixie>
DrEvil: shared workers can listen to what their pages tell them, but they have no view to the outside world other than that
10:05
<Philip`>
and I think the type error has practical consequences, because it affects how rounding is computed
10:05
<Hixie>
k
10:06
<DrEvil>
Hixie: so a web worker cannot watch to see the window location changing?
10:06
<Hixie>
correct
10:06
<Hixie>
a
10:06
<Hixie>
a dedicated worker will be shut down when the pages moves on
10:06
<Hixie>
a shared worker will live on if other pages are talking to it only
10:07
<Hixie>
Philip`: can you think of any reason why the parsing algorithm shouldn't just always convert to a float?
10:07
<Philip`>
Maybe it'd be much easier to replace the whole float-parsing thing with ECMAScript ToNumber, and have it return a proper floating-point number rather than an impossible hypothetical unlimited-precision number
10:07
<DrEvil>
hmm so there is not a way for which to view informations on page changes with browsers?
10:08
<Hixie>
DrEvil: how do you mean?
10:08
<DrEvil>
say for analysing requests and responses from server
10:09
<Hixie>
DrEvil: what are you trying to do?
10:09
jgraham
thought that most ES algorithms were written in terms of abstract, unlimited precision numbers and converted to concrete representations at the last possible moment
10:09
<webben>
DrEvil: Isn't that what your server access logs do?
10:09
<DrEvil>
on the client I mean
10:09
<DrEvil>
with javascript
10:09
<jgraham>
(but I don't recall exactly what you are talking about and I don't fedel incline to check unless someone wants me to)
10:09
<Philip`>
jgraham: I don't know about most algorithms, but it defines how to convert a string into a Number (i.e. a 64-bit floating point value), and WebIDL defines how to convert a Number to an IDL float (32-bit)
10:09
<webben>
DrEvil: Sure there is. Firebug and LiveHTTPHeaders do so, for instance. They just don't run out of a page.
10:09
<Philip`>
which seems to be what's needed here
10:10
<DrEvil>
webben: I am looking for something to run as code on demand not to be requiring addon
10:10
<jgraham>
Philip`: So you're saying that HTML5 should just work in terms of some concrete representation rather than an abstract number?
10:11
<webben>
DrEvil: There's no reason a browser can't incorporate those features if it wants.
10:11
<DrEvil>
as an example - I want to create a javascript application which can be included into page - it will read the details of requests/response for page and provide a status bar with details at the bottom of the pgae
10:11
<DrEvil>
but I cannot see this information with javascrit
10:11
<DrEvil>
I cannot do with workers?
10:12
<webben>
DrEvil: You can see it if your script is making the requests.
10:12
<DrEvil>
but if the browser location is changing?
10:12
<DrEvil>
I want to host the script and have authors include this one script in their pages
10:12
<Philip`>
jgraham: The view ES/WebIDL takes (if I'm not mistaken) is that floating-point numbers are an abstract concept of a finite set of real numbers, and the byte-level representation is irrelevant
10:13
<Philip`>
jgraham: so it's still non-concrete
10:13
<DrEvil>
but at the moment I cannot see how it is I can get this information with javascript
10:13
<webben>
DrEvil: It sounds to me like allowing any old script in a page to capture requests/responses even after the page was closed would contravene the browser security model left right and center, and is it's easy for developers to use tools like Firebug, I don't really see what real-world problem you are solving.
10:13
<webben>
*as it's
10:14
<DrEvil>
I don't think that is much security concern
10:15
<DrEvil>
maybe for request you would remove authorization
10:15
<webben>
Really? What would be the limitation on someone including a script in a page and using it to track all my subsequent movements?
10:15
<DrEvil>
but for response it is not risk
10:15
<Philip`>
I think I'm saying that instead of HTML5 defining how to parse a string into an unlimited-precision number, and then defining how to convert it to a member of the finite floating-point set of numbers for IDL, it should instead parse the string into a member of the finite set directly in the same way that ES does
10:15
<Philip`>
(and then the conversion to ES Number is trivial)
10:15
<DrEvil>
what http headers are you thinking of in response that present risk?
10:15
<Philip`>
(and WebIDL handles the conversion to IDL float)
10:15
<webben>
DrEvil: All of them. It's /my/ traffic. Not to be sniffed by random websites I visit.
10:15
<Philip`>
(unless I'm getting stuff mixed up)
10:16
<DrEvil>
it's not sniffed random the author has to chose to include script
10:16
<DrEvil>
so this is correct - it is possible for author to design now custom solution with on click events for links
10:16
<webben>
DrEvil: Yes. But you want the sniffing to continue once one has left the page.
10:17
<DrEvil>
no for response information available each page
10:17
<DrEvil>
individually
10:17
<jgraham>
Philip`: I see. There is some level of concreteness in Ecmascript through the to (U)Int algorithms which are needed for things like bitwise operators applied to Numbers
10:17
<webben>
DrEvil: You asked what happens if .location changes - that's leaving the page.
10:17
<DrEvil>
this is interesting because some sites they use URI for sensitive information - this is available already to javascript
10:17
<jgraham>
Philip`: But you plan sounds like a rather sensible approach
10:18
<webben>
DrEvil: Not to scripts loaded on previously visited pages.
10:18
<hsivonen>
hrm. XiphQT doesn't with QuickTime Player X
10:18
<DrEvil>
I do not need to scripts on previous pages I was thinking more to find a solution
10:18
<DrEvil>
if it is possible some other way that my javascript can include on the page and get that inforamtion each time that is better
10:19
<DrEvil>
so I can access the response information - more than just location
10:19
<webben>
DrEvil: If you "do not need to scripts on previous pages", what do you mean by tracking traffic across .location changes?
10:19
<Philip`>
(Oh, I might be a little mixed up - if the IDL uses float, then HTML5 probably needs the value to be part of the set of 32-bit floats. Or HTML5 could just use double.)
10:19
<gsnedders|work>
hsivonen: AFAIK it should work if you have QT7 installed
10:19
<DrEvil>
I say wrong - I mean to say that I wish to view response information on each page
10:19
<hsivonen>
gsnedders|work: yes, I noticed that
10:20
<webben>
DrEvil: What if a page requests a resource (e.g. an iframe src) on another domain?
10:20
<gsnedders|work>
(QT X has no native support extensions, and just uses QTKit for unknown codecs if it is installed)
10:20
<webben>
DrEvil: Sniffing that would contravene same-origin policies.
10:20
<gsnedders|work>
s/ if it is installed//
10:20
<webben>
DrEvil: Your use-case is handled so much better by tools like Firebug.
10:21
<DrEvil>
webben: I am not understanding this is relevant I am not saying sniffing
10:21
<hsivonen>
gsnedders|work: do QT X and QT 7 have totally different back ends?
10:21
<gsnedders|work>
hsivonen: As I understand it, yes.
10:21
<DrEvil>
I meant to say that when a page loads I wish to see the information after the fact
10:21
<DrEvil>
from the response
10:21
<webben>
DrEvil: s/sniffing/viewing/
10:21
<gsnedders|work>
hsivonen: Both can be used via QTKit, and QTKit just chooses the best for what codec you want
10:21
<DrEvil>
so I can show maybe ETag headers.. ?
10:21
<DrEvil>
or something like this
10:21
<hsivonen>
gsnedders|work: I see. That wasn't exactly clear from marketing material or from the Snow Leopard installer
10:22
<DrEvil>
I have some application which it presents standard information in the server responses
10:22
<DrEvil>
in the headers
10:22
<DrEvil>
if I am use XHR I can get this
10:22
<gsnedders|work>
(and for anything apart from the default built-in codecs in QT X, that means using QT7)
10:22
<hsivonen>
gsnedders|work: and QT Player X deliberately configures QTKit never to use the QuickTime 7 back end? that's odd
10:22
<gsnedders|work>
hsivonen: No
10:22
<webben>
DrEvil: Yes I understand what you're saying - but it's totally undesirable from a security/privacy standpoint AFAICT.
10:22
<DrEvil>
but for new page javascript cannot see - all javascript sees is the location
10:23
<DrEvil>
webben: what information in response you are talking about security ?
10:23
<hsivonen>
why doesn't QT Player X choose the QT7 back end for ogg, then?
10:23
<gsnedders|work>
hsivonen: It should
10:23
<hsivonen>
hmm.
10:23
<webben>
DrEvil: Whereas in-built browser tools or add-ons like Firebug can do more and do it better and without damaging security/privacy
10:23
<DrEvil>
webben: there must be trust given to code on demand
10:23
<hsivonen>
does the new back end have extension APIs at all or just new extension APIs?
10:23
<DrEvil>
has to be there is sensitive information in pages which use javascript
10:24
<gsnedders|work>
hsivonen: It has none AFAIK
10:24
<webben>
DrEvil: On the contrary, such code should be distrusted as much as possible.
10:24
<DrEvil>
this is just more of information in response that is in headers
10:24
<DrEvil>
not more or less sensitive
10:24
<DrEvil>
just more information
10:24
<hsivonen>
gsnedders|work: well that's an interesting change of policy
10:24
<DrEvil>
if it is html page I can still use javascript extract values from page elements
10:24
<hsivonen>
Snow Leopard installer didn't make it exactly clear what the "older media formats" that require QuickTime Player 7 are
10:24
<DrEvil>
so what of the headers - they are just information to me
10:24
<DrEvil>
I want to understand what it is in the headers you are worrying about
10:24
<hsivonen>
QT7 back end is installed by default even though the player isn't, right?
10:24
<DrEvil>
so I can think about this
10:25
<webben>
DrEvil: Yes. However, if there's an iframe on the page and its from another domain you cannot introspect its DOM.
10:25
<hsivonen>
since the QT7 Player option was just a couple of MB
10:25
<webben>
DrEvil: It would be similarly inappropriate to allow scripts to introspect its headers.
10:25
<DrEvil>
no - this would not be the case either for javascript is only capable of seeing request information from its current window
10:25
<DrEvil>
same as location etc.
10:26
<webben>
DrEvil: So you're not asking for the ability to view HTTP information for resources included in the page from other domains?
10:26
<DrEvil>
no
10:26
<DrEvil>
just for current page
10:26
<DrEvil>
window.XHResponse.getHeader('Etag')
10:26
<webben>
DrEvil: When you say the current page... do you mean the HTML page as opposed to the resources it includes?
10:26
<DrEvil>
or something like this
10:27
<DrEvil>
I mean for the URI really
10:27
<webben>
I see.
10:27
<hsivonen>
I guess I should have read the John Siracusa treatment of SL
10:27
<DrEvil>
for the response but html/javascript is main use case
10:27
<DrEvil>
I assume this is good place asking?
10:27
<DrEvil>
I will stop if that is wrong
10:27
<webben>
It's not a bad place.
10:28
<DrEvil>
but this makes sense yes? it is the same as window.location
10:28
<DrEvil>
but for the other metadata in the response also
10:28
<DrEvil>
I cannot see the way to do this now
10:28
<Hixie>
nn
10:29
<webben>
DrEvil: Can you think of a use-case other than creating a poor man's Firebug/wireshark?
10:29
<DrEvil>
for some standard of server responses and metadata framework
10:29
<DrEvil>
for standard information on a resource
10:30
<DrEvil>
create standard widget which inspect response on page load
10:30
<webben>
for what?
10:30
<DrEvil>
provide metadata widget
10:30
<DrEvil>
from information in headers
10:30
<webben>
why would a user want a "metadata widget from information in headers"?
10:30
<DrEvil>
because there are standards which are using this
10:31
<DrEvil>
such as new OCCI standard using this
10:31
<DrEvil>
and they make use http headers so they page load but need to render the metadata to a page for users
10:31
<webben>
DrEvil: What metadata that a user would want to see is being send as an HTTP response header?
10:31
<webben>
*sent
10:32
<DrEvil>
they have standards such as resource ID, link relations, resource category
10:32
<DrEvil>
this is something that can be in html
10:32
<webben>
Indeed.
10:32
<DrEvil>
but mostly for display authorative is headers
10:32
<DrEvil>
so for system pruposes and standard
10:32
<DrEvil>
easier if standard library which is included in page for this
10:32
<webben>
Doesn't sound like it needs changes to the DOM ... just put the information in the body of the response.
10:33
<webben>
That way, it will work without scripting.
10:33
<webben>
So the end-user benefits.
10:33
<DrEvil>
yes it is possible to do this but to go with standard it will need analyse the headers
10:34
<DrEvil>
so user can use browser viewing raw data as machine
10:34
<DrEvil>
also html is useful but to view true headers is necessary use case
10:35
<DrEvil>
there is to say there is not to be this in browser ever a solution?
10:35
<DrEvil>
:(
10:35
<webben>
DrEvil: I'm not sure I understand what you're saying
10:36
<annevk2>
probably not a generic solution for a long time
10:36
<DrEvil>
this is information which is there for the browser to present to javascript
10:36
<annevk2>
for reading response headers
10:36
<DrEvil>
yes?
10:36
<webben>
DrEvil: Could you link to the standard which says you must use HTTP headers not the body to present the information?
10:36
<DrEvil>
yes ok 2 mins
10:38
<DrEvil>
http://occi.googlecode.com/hg/docs/occi-core.html
10:38
<DrEvil>
metadata standardised with headers
10:38
<DrEvil>
this means all metadata can be provided regardless of format
10:39
<DrEvil>
so can still have useful response for jpeg/pdf/html/OVF/etc.
10:39
<DrEvil>
better standardise this way gives more flexibility for providers
10:40
<DrEvil>
annevk2: for a long time?
10:40
<DrEvil>
a couple of weeks?
10:40
<DrEvil>
:))
10:40
<DrEvil>
I would be interested to know how long this is you are thinking
10:40
<DrEvil>
that is bad news if it is very very long time, there are many people look now to use headers for this purpose
10:41
<annevk2>
many different nicks which I suspect are the same person certainly are
10:41
<annevk2>
other than that, not so much
10:42
<DrEvil>
?
10:42
<DrEvil>
occi spec is example
10:43
<DrEvil>
there is other case like couchdb use etag and things like this
10:43
<DrEvil>
amazon web service also
10:43
<DrEvil>
annevk2: you not say how much time you were meaning
10:44
<annevk2>
a decade or so
10:44
<DrEvil>
oh wow - why do you think this?
10:44
<DrEvil>
it is not easy just ammend where window.location to include also window.response something
10:45
<annevk2>
no
10:45
<DrEvil>
:( what are the problems here
10:46
<webben>
DrEvil: That OCCI spec specifically mentions in-band link relationships in HTML, I don't see a requirement to keep them in HTTP only.
10:46
<DrEvil>
webben: that is fine but does not to say it is more useufl to be using the authorative information which is headers
10:46
<DrEvil>
it is leaky
10:47
<DrEvil>
please can I ask for some more information why it is this is not happening for decade
10:47
<webben>
DrEvil: Sorry "does not to say it is more useufl to be using the authorative information which is headers" ... where does it say that's the headers are more authorative?
10:47
<DrEvil>
well this is the spec is defined against this method
10:48
<DrEvil>
they are required so it is natural this is cae
10:48
<DrEvil>
case
10:48
<annevk2>
DrEvil, there's hardly any demand so I sort of doubt it will happen a decade from now to be honest
10:48
<annevk2>
DrEvil, there's more important things to work on and worry about
10:48
<webben>
DrEvil: Where does the spec say you must supply metadata out-of-band rather than in-bad?
10:48
<webben>
*in-band
10:48
<DrEvil>
it is for making tool consistent
10:48
<DrEvil>
this information must be consistent format for headers
10:49
<webben>
DrEvil: for example the spec says "The root (“/”) should expose collections in-band and/or out-of-band in order for clients to discover resources." note the "and/or"
10:49
<DrEvil>
that is data not metadata
10:49
<DrEvil>
no wonder
10:49
<DrEvil>
annevk2: how it is not important to do this I don't think
10:50
<DrEvil>
many seeing more use in this area would be easier making browsers more easy to be involved
10:50
<DrEvil>
it is not so hard to make this object available for scripts, no?
10:50
<DrEvil>
what is the difficulty for this?
10:51
<annevk2>
added complexity
10:51
<DrEvil>
it is complex to do this? really?
10:51
<annevk2>
yes, each feature adds complexity
10:51
<webben>
DrEvil: It seems like the approach you are suggesting is actually user-hostile since it encourages publishers to make the display of information the user is interested in dependent on scripts.
10:51
<DrEvil>
yes that is obvious statement if I not to be rude
10:51
<annevk2>
and could potentially be some kind of attack vector, etc.
10:51
<annevk2>
yes it is
10:52
<annevk2>
so we need to evaluate which features to add based on their merit
10:52
<annevk2>
to only increase complexity so much
10:52
<DrEvil>
hmm that is sad it is maybe moving development idea faster if possible
10:53
<DrEvil>
thinking of news things to do
10:53
<DrEvil>
but cannot because browsers too slow to react
10:53
<DrEvil>
no?
10:53
<annevk2>
I've a hard time following your ramblings
10:53
<DrEvil>
better browser focus low level see as open platform
10:53
<DrEvil>
allow build on top
10:53
<DrEvil>
bottom up
10:54
<DrEvil>
not making complicated solution top down that is slow to react in fast pace world
10:54
<annevk2>
I suggest you start here: http://wiki.whatwg.org/wiki/FAQ#Is_there_a_process_for_adding_new_features_to_a_specification.3F
10:54
<DrEvil>
that is bad for me for everyone
10:54
<DrEvil>
yes I am just talking with you
10:54
<DrEvil>
I can read processes but processes seem they are the problem no?
10:55
<annevk2>
no idea, but your ramblings won't get you anywhere
10:55
<annevk2>
that piece of process might
10:55
<DrEvil>
I see that browsers they have a bad time because there are many features - but I think approach is old and bad
10:56
<DrEvil>
need more open and start at the basics
10:56
<DrEvil>
provide a platform for build complexity
10:56
<annevk2>
sure sure, brave new world thinking is always fun
10:56
<DrEvil>
I think the world it is too rapid for your beuracracy
10:56
<DrEvil>
you are slowing progression I think
10:56
<annevk2>
but that ain't gonna fly if we want today's web to work as well
10:57
<annevk2>
so route around me
10:57
<DrEvil>
I think disruption sometimes it is necessary
10:57
<DrEvil>
maybe we fire you all and make new browsers
10:57
<DrEvil>
:D
10:57
<annevk2>
go for it
10:57
<DrEvil>
it is a shame that is so difficult - maybe if we have operating systems more for the web
10:57
<DrEvil>
you will hopefully become less important
10:57
<DrEvil>
and the world will be better more advancing place faster
10:58
<DrEvil>
not waiting for you to decide all the time
10:58
<DrEvil>
why it is not just to make the very essentials easy accessible and programmable?
10:58
<DrEvil>
you say there is no demand but that may be more reflection of supply
10:58
<DrEvil>
and that is you.. no?
10:59
<annevk2>
what are you still wasting your time here for? go plot and scheme how to destroy the establishment!
10:59
<Dashiva>
Or just make a browser
11:00
<DrEvil>
I tihnk google are best direction
11:00
<DrEvil>
I not do a lot better than they are
11:00
Philip`
wonders why annevk2 is being unusually hostile
11:00
<DrEvil>
he is homo
11:00
<DrEvil>
lady name
11:01
<DrEvil>
i joke this is not me I am friendly just like to talk about this to understand
11:01
<Philip`>
That's not a productive way to continue the conversation either :-p
11:02
<DrEvil>
I think interesting to see why not to implement the core functionality for web
11:02
<DrEvil>
like this and then build on top
11:02
<annevk2>
Philip`, getting tired of unstructured ramblings mostly
11:02
<Dashiva>
It seems to end up that way whenever HTTP is invoked
11:03
<DrEvil>
I see
11:03
<DrEvil>
HTTP it is the web mostly!
11:03
<annevk2>
DrEvil, the reason we have process is so that not every feature that is being proposed has to be done
11:03
<ttepasse>
Given that Last Call is dooming it's probably to late to repropose <line>, isn't it?
11:03
<Dashiva>
That misconception is probably a big part of it
11:03
<annevk2>
DrEvil, the process is there so that feature proposals get more structured and can be more easily evaluated against other proposals
11:03
<DrEvil>
Dashiva: that is not mis-thinking that is true
11:03
<annevk2>
DrEvil, it makes it clear what problems are being solved, what the use cases are, etc.
11:04
<Dashiva>
HTTP is just a transfer protocol, it's largely irrelevant
11:04
<DrEvil>
annevk2: that is nice politician talking
11:04
<annevk2>
DrEvil, now if you think that is not needed I'm afraid you won't get much further here
11:04
<DrEvil>
Dashiva: HTTP is irrelevant?! that is crazy man :)
11:05
<DrEvil>
annevk2: I think that is poor justification and protective approach for beauracracts
11:05
<DrEvil>
to be important and decide things
11:05
<Dashiva>
Sure, it's the one we happen to use
11:05
<Dashiva>
But there's nothing special about HTTP
11:05
<DrEvil>
I wonder why1
11:05
<gavin>
"http is irrelevant" and "http is irrelevant to whether I want peanut butter on my sandwich" are two very different statements
11:05
<DrEvil>
really?
11:05
<gavin>
I think dashiva's statement was a variant of the latter :)
11:06
<DrEvil>
if http is irrelevant
11:06
<DrEvil>
why it is you add PUT/DELETE?
11:07
<DrEvil>
I am saying something you all dead now?
11:07
<Dashiva>
That's the thing in a nutshell, isn't it
11:07
<Dashiva>
The web is adding PUT/DELETE
11:07
<DrEvil>
no http has had this for since 1.1
11:07
<Dashiva>
Yes, and nobody cared for a long time
11:07
<DrEvil>
this is something html has not had
11:08
<DrEvil>
Dashiva: I think people have cared for while but more since XHR it came to fix a little bit the shitness of HTML
11:08
<DrEvil>
but there is still many problems
11:09
<DrEvil>
html it is very having lots of shitness
11:09
<Dashiva>
Roy would be proud of you
11:09
<DrEvil>
you are angry people with nothing to say
11:09
<DrEvil>
you attack
11:09
<DrEvil>
that is all
11:09
<DrEvil>
do you listen?
11:09
<DrEvil>
no because you are the most important
11:10
<DrEvil>
I think browsers and html have such big responsibility but you do not have ability to fulfill this
11:10
<Dashiva>
Now that's just asking to be taken out of context :)
11:10
<DrEvil>
maybe because of process, people, both
11:10
<DrEvil>
but you are failing the world
11:11
<DrEvil>
there is missed opportunity because of your bad processes
11:11
<DrEvil>
fact.
11:11
<Dashiva>
Axiomatic proof
11:11
<DrEvil>
Dork comment
11:12
<DrEvil>
this is just too bad
11:13
<DrEvil>
you people do not deserve to be in control if you are not willing to acknowledge the scope of your responsibilities
11:13
<Dashiva>
Nobody is in control
11:13
<Dashiva>
You're free to go out and make a new web
11:14
<DrEvil>
you're an idiot if you think that statement has merit
11:14
<DrEvil>
I don't think you do.
11:15
<Dashiva>
Oh, but it does
11:15
<Dashiva>
Becausae HTTP is most important, right?
11:15
<Dashiva>
You can just add some minor stuff on top of it and you're done
11:15
<DrEvil>
no HTTP is just a foundation
11:15
<DrEvil>
that is unavoidable fact
11:15
<DrEvil>
the same as TCP is important
11:15
<DrEvil>
unavaoidable
11:15
<DrEvil>
I do not see why it is you contest this
11:16
<DrEvil>
you have HTTP notions in your spec
11:16
<DrEvil>
(apart from your pathetic conception of resources)
11:16
<DrEvil>
oh look..
11:16
<DrEvil>
make anothe rstupid comment to avoid the point
11:16
<DrEvil>
pathetic.
11:17
<DrEvil>
like it or not, HTTP is a brilliant piece of engineering and is the reason the web works
11:17
<Dashiva>
Do you have a point?
11:17
<DrEvil>
HTTP/URI's lead to hypermedia formats
11:17
<DrEvil>
html happens to be the one that took off
11:18
<DrEvil>
it's shit.
11:18
<DrEvil>
and there's virtually nothing in it that's of massive complexity or importance
11:18
<DrEvil>
all the clever stuff is in the protocols
11:18
<DrEvil>
boo hoo
11:18
<Dashiva>
The importance is in the _content_
11:19
<DrEvil>
you can get sand in your vadge over that if you want
11:19
<DrEvil>
I don't care
11:19
<DrEvil>
no actually it's
11:19
<DrEvil>
*information*
11:19
<DrEvil>
and
11:19
<Dashiva>
No, it's the content. Really.
11:19
<DrEvil>
*relationships*
11:19
<DrEvil>
No. Really. Socrates. It's not.
11:19
<Dashiva>
You may have some kind of distorted HTTP view of reality
11:19
<DrEvil>
you can live in your robotic dork world
11:19
<Dashiva>
But the people use the web for content
11:19
<DrEvil>
where that is your reality
11:19
<DrEvil>
but it's bullshit, and you're in idiot.
11:20
<DrEvil>
people use the web
11:20
<DrEvil>
they dont use html
11:20
<DrEvil>
the web is related information
11:20
<DrEvil>
it's not "lots of amazing wonderful html document"
11:20
<DrEvil>
nobody gives a shit.
11:20
<DrEvil>
XML/JSON/RIAs
11:20
<DrEvil>
Ajax
11:20
<beowulf>
is DrEvil a bot?
11:21
<hsivonen>
beowulf: DrEvil is mookid
11:21
<DrEvil>
I did a really good job of pretending to be foreign though
11:21
<DrEvil>
give me cretdit
11:21
<Dashiva>
No, not really
11:21
<zcorpan_>
Hixie: where's the data about <meta content-language>?
11:21
<DrEvil>
I'm not actually mookid btw
11:21
<Dashiva>
You have content-type:troll/mookid written all over you
11:21
<beowulf>
DrEvil: foreign?
11:22
<DrEvil>
yes it is correct I am make you think that
11:22
<beowulf>
DrEvil: foreign to where?
11:22
<beowulf>
or whom?
11:22
<DrEvil>
yeah whatever foreign to where I am actually located
11:23
<DrEvil>
smarty pants.
11:23
<beowulf>
i still think it's a bot
11:23
<DrEvil>
if it is the singularity just happened
11:23
<DrEvil>
because I am on FIRE right now
11:23
<ment>
hi, anybody fluently speaking html5?
11:23
<DrEvil>
yep <bag of shit />
11:23
<ment>
i think i don't understand how <LI> open tag algorithm works, (9.2.5.10 The "in body" insertion mode).
11:24
<Dashiva>
What part of it is unclear?
11:24
<ment>
becouse it seems the algorithm does nothing
11:24
<jgraham>
ment: What are you expecting it to do?
11:25
<ment>
it skips formatting and phrasing elements to produce "node" variable and then it does nothing with it
11:25
<Dashiva>
It uses it to close previous <li> elements
11:25
<Dashiva>
Step 3
11:27
<DrEvil>
well I hope you're going to apologise for how you've treated me this morning
11:27
<DrEvil>
I feel very upset
11:27
<DrEvil>
how dare you accuse me of caring about the application protocol web developers work with
11:28
<DrEvil>
and then daring to relate that to html
11:28
<ment>
Dashiva: 3) close LI if on top 4) if (node->tag not in Formatting or Phrasing) goto 6; 5) node = previous node on stack; goto 4; 6) this is the last step 7) insert_li_on_top()
11:28
<Dashiva>
No, goto 3
11:28
<DrEvil>
goodbye cruel world!
11:28
<Dashiva>
Where node is reused
11:29
<ment>
Dashiva: 5. Otherwise, set node to the previous entry in the stack of open elements and return to the step labeled loop.
11:29
<annevk2>
ment, the node is inserted in step 6
11:29
<Dashiva>
ment: And the labeled step is #3
11:29
<annevk2>
ment, the node variable is just a temporary thing to check various conditions
11:29
<ment>
Dashiva: no, as #3
11:29
<ment>
hrmz, maybe i have just the wrong version
11:30
<Dashiva>
Which page are you using?
11:30
annevk2
is looking at http://html5.org/spec
11:30
<Dashiva>
http://www.whatwg.org/specs/web-apps/current-work/multipage/tokenization.html#parsing-main-inbody
11:30
<ment>
http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody
11:30
<Dashiva>
Ah, that one is outdated
11:30
<Dashiva>
Very much so
11:30
<annevk2>
but not for this algo it seems
11:31
<zcorpan_>
TR/ should be called outdated/
11:31
<Dashiva>
ment: In that version, your issue is indeed present
11:32
<Dashiva>
But it seems to have been fixed since then
11:32
<ment>
are there any changelogs for the whatwg specs to see what is different?
11:32
<gsnedders|work>
ment: http://html5.org/tools/web-apps-tracker
11:32
<Dashiva>
Yes, but there's a ton to read :)
11:32
<annevk2>
Dashiva, what is different?
11:33
<Dashiva>
annevk: The loop label has moved from step 4 to step 3
11:33
<ment>
gsnedders|work: thanks
11:33
<annevk2>
aaah
11:34
<ment>
however, any _big_ changes in html5 parser? (for example something like, we abandoned adoption agency algorithm, we are using something completely different and three times as complicated instead)
11:34
<DrEvil>
couldn't you just stop talking crap in here and go implement my window.response object ?
11:34
<DrEvil>
that would be far more productive
11:35
<DrEvil>
please, I forgot to say please
11:35
<gsnedders|work>
ment: Depends how "big" is big :)
11:35
<Dashiva>
ment: There's been some back-and-forth about escaped text in <script> and related elements
11:35
<gsnedders|work>
ment: I guess all the new script stuff, the removal of insertion modes, is big
11:36
<Dashiva>
Table taint is gone, I think?
11:36
<gsnedders|work>
s/insertion modes/content model flags/
11:37
<gsnedders|work>
Yeahj
11:37
<ment>
aw, i like content model flags :/
11:37
<gsnedders|work>
resetting the insertion mode has changed
11:37
<Dashiva>
I think the changes have been in the direction of less complexity
11:37
<Dashiva>
Not more
11:38
<gsnedders|work>
Yeah, it is also more similar to how you wanted to have it for perf reasons before
11:39
<gsnedders|work>
ment: you implementing the parser?
11:39
<ment>
well if you want less complexity, the tokenizer could be shortened by few pages by replacing the unrolled state automaton with regexps and lookback buffer :)
11:39
<ment>
gsnedders|work: i've almost implemented tokenizer and parser
11:40
<gsnedders|work>
ment: in what language?
11:40
<ment>
gsnedders|work: C
11:40
<hsivonen>
ment: the [R]CDATA changes might count as 'big'
11:40
<gsnedders|work>
ment: That's more complex if you want to implement it without regexp :)
11:40
<jgraham>
Indeed more complexity != longer description
11:41
jgraham
wonders why his copy of spotify is behaving so badly today
11:41
<gsnedders|work>
Mine is behaving fine, FWIW
11:41
<DrEvil>
http://clouddevelopertips.blogspot.com/2009/10/what-language-does-cloud-speak-now-and.html
11:41
<gsnedders|work>
(And I guess that's slightly more useful than some random person saying that)
11:42
<jgraham>
Yeah I guess it's not network problems
11:42
<jgraham>
then
11:42
<gsnedders|work>
Or maybe I'm using the entire bandwidth of the office :P
11:42
<ment>
gsnedders|work: but this description is more complicated to implement, because i have to put the regexps together from state machine (not an pleasant thing to do) and then unroll it again into my representation
11:43
<Dashiva>
Maybe there can be some informative un-unrolled state examples made when the spec is finalized
11:43
<jgraham>
ment: If you are making an implementation that is significantly different from the spec it is always more complex to be sure you are right
11:43
<gsnedders|work>
ment: FWIW, all the implementations thus far wouldn't have gained by having it in regex
11:43
<Dashiva>
But I believe the unrolled state is better for review
11:44
<gsnedders|work>
ment: Why do you need to go from spec -> regex -> your repr? Why the middle-step?
11:44
<ment>
gsnedders|work: http://ibawizard.net/~thement/com.txt
11:45
jgraham
wonders if that is supposed to be an answer
11:45
<ment>
gsnedders|work: then i can after <!-- just fill buffer and every time i see '>' i would run this regexp
11:45
gsnedders|work
wonders if doing it in a regexp way is very performant
11:46
<ment>
gsnedders|work: of course unrolled into five-line c code
11:46
<gsnedders|work>
ment: Most of the impls do similar quick grabbing from the input stream, and regex wouldn't have helped
11:47
<gsnedders|work>
(AFAIK the longest look-behind any have is one character_
11:47
<gsnedders|work>
(And the validator/Gecko one has no look-behind or look-ahead)
11:48
<jgraham>
If anyone sees rubys, can they remind me to talk to him about html5lib-commits?
11:49
<ment>
gsnedders|work: i need to store the comment in dom tree anyway. but if i wanted DFA, i could just unroll my own from those regexs and it would be much less error prone
11:49
<gsnedders|work>
DFA?
11:49
<ment>
deterministic automaton
11:50
<gsnedders|work>
Ah. I think the basic state is that using regex in places would benefit some and hurt others
11:51
<hsivonen>
ment: do you mean writing regexps and turning those into automata would be less error prone than hand-implementing the specced state machine?
11:51
jgraham
can't see why regexps should ever be faster assuming a sufficiently low-level implementation
11:51
<hsivonen>
jgraham: indeed
11:52
<hsivonen>
besides, most "regexp" implementations out there are worse than DFA perf-wise
11:52
<jgraham>
hsivonen: I think the paper that claimed that really only applied to a special case
11:53
<hsivonen>
jgraham: I mean that the regexps you get from Perl, Java, Python, JS, etc. aren't DFA
11:53
<jgraham>
At least I recall a forum discussion with a (perl?) person suggesting that the paper focused on a type of regexp which is uncommon and is very bad in real implementations
11:53
<jgraham>
but ignored the fact that real (non-DFA) implementations are faster for commoner cases
11:54
<jgraham>
(maybe not faster in terms of algorithmic complexity but actually faster to run)
11:54
<jgraham>
(but I don't recall the details so I might be wrong)
11:54
hsivonen
doubts they are faster but they do enable things like capturing parentheses
11:55
gsnedders|work
thinks you should try slower languages like PHP
11:55
<gsnedders|work>
but there again, PCRE is fairly easy to segfault, which is suboptimal
11:55
jgraham
might be mistaken about the whole thing
11:55
<ment>
http://swtch.com/~rsc/regexp/regexp1.html
11:57
<ment>
hsivonen: html5 tokenizer is in non-machine readable format, so i have either step-by-step implement it or decompile it into high-level representation (states and regexes) and then compile it into tokenizer
11:58
<ment>
hsivonen: and the latter is much easier given that in the former i have to explicitly check if some state hasn't "now dance monkey dance" action (and i'm only human)
12:00
<hsivonen>
having implemented it by hand, I doubt that you could get the buffering just right efficiently by using a generic compilation tool
12:00
<hsivonen>
I use Java as the abstraction from which I generate C++
12:01
<ment>
hsivonen: specification in regexes -> NFA -> DFA, then some state minimization and i've got the _exact_ same tokenizer
12:01
<ment>
hsivonen: and i have a guarantee my tokenizer doesn't end in endless loop due to missing state in html5 specs
12:02
<jcranmer>
and you rely on the correctness of three other internal generation schemes
12:04
<hsivonen>
ment: but the state machine isn't enough. it also needs to store e.g. element names as it traverses over them
12:05
<jcranmer>
you can do semantic action processing on state transitions
12:05
<jcranmer>
although that's not amenable to minimization
12:07
<jgraham>
hsivonen: http://www.perlmonks.org/?node_id=597364
12:08
<ment>
jcranmer: not to underestimate you, but those three algorithms has been proven to produce correct result and it's implementation takes few KB instead of half-meg of specs
12:09
<jcranmer>
I'm reminded of that Knuth quote
12:09
<jcranmer>
Beware of bugs in the above code; I have only proved it correct, not tried it. -- Donald E. Knuth
12:11
<hsivonen>
jgraham: well, the Unicode concern is a bit on the side of the less common case. For every DFA operating on Unicode characters, there's an equivalent DFA (potentially with more states) operating on UTF-8
12:11
<hsivonen>
jgraham: and the most common regexps out there probably match on ASCII code points anyway
12:12
<hsivonen>
I can appreciate the utility of backreferences, etc., though
12:12
gsnedders|work
doesn't see why you can't just compile [^a] to $char != 'a' instead of $char == 'b' || $char == 'c' etc.
12:12
<jcranmer>
well, backrefs easily make languages context-sensitive
12:13
<jcranmer>
(.*)\1 is neither regular nor context-free
12:13
<hsivonen>
jcranmer: sure. Perl "regular expressions" aren't regular
12:13
<jgraham>
hsivonen: His claim that the real world performance of perl-like implementations will likely be better seems at least plausible
12:14
<hsivonen>
jgraham: yes, it is plausible. and probably also depends on when expression compilation happens and how often
12:15
<Philip`>
ment: http://canvex.lazyilluminati.com/svn/tokeniser/tokeniser_spec.ml <-- there's a machine-readable version of the tokeniser :-)
12:15
<jgraham>
Of course. In any case the general idea that it is dangerous to extrapolate from a single pathological case to general ideas about goodness seems sound
12:15
<jgraham>
Philip`: s/machine-readable/out-of-date/
12:16
<gsnedders|work>
Philip`: r2548? wow.
12:16
<ment>
Philip`: cute :)
12:18
<Philip`>
ment: and it can be converted to graphs like http://canvex.lazyilluminati.com/misc/tokeniser_states.png and code like http://philip.html5.org/tools/parser/tokeniser_auto.js etc
12:18
<Philip`>
It is indeed horrendously out of date :-(
12:20
<hsivonen>
jgraham: well, at least with DFAs the failure mode is running out of heap during pattern compilation instead of running out of stack space during matching. :-)
12:20
<Philip`>
So with DFAs your program will fail to execute at all, whereas with NFAs it'll work fine with normal inputs
12:21
<ment>
that's another thing, the <!doctype>. why not just grab <!([^>]+)> and then parse it in sub-grammar instead of pluging it directly in the main tokenizer?
12:21
<hsivonen>
ment: to touch the memory fewer times
12:22
<hsivonen>
ment: anyway, the spec allows you to implement any algorithmic transformation you see fit as long as it doesn't change the black-box behavior
12:22
<Philip`>
Is it possible to statically determine whether a Perl-style regexp will run in non-exponential time/space on any input?
12:24
<jgraham>
Philip`: Doesn't perl allow you to run arbitary functions as part of the process? I would guess in those cases the answer is no...
12:24
<ment>
hsivonen: you don't event know how ridiculous that argument sounds in HTML5 context
12:25
Philip`
would like to be able to detect bugs like the one that made the html5lib sanitiser exponentially slow
12:25
<Philip`>
jgraham: That's true, so I was thinking more of other cases :-)
12:25
<gsnedders|work>
jgraham: I guess if you ignore the e flag
12:26
<hsivonen>
ment: what's ridiculous?
12:26
hsivonen
has implemented some things differently from the spec concept but with the same behavior
12:26
<Philip`>
gsnedders|work: In Perl regexps? That's only relevant for substitutions, not pattern matching
12:26
<ment>
hsivonen: "to touch the memory" wtf?
12:27
<ment>
hsivonen: you are running javascript-sqllite-svg virtual machine and now you are going to count cycles?
12:27
<hsivonen>
ment: in infrastructure of the beast, sure
12:28
<ment>
hsivonen: moreover, the while(c != '>') add_char(); parse_doctype(); would be still faster given that the doctype string is reasonably small (few KBs tops)
12:29
<hsivonen>
ment: you are permitted to implement it that way
12:30
<Philip`>
hsivonen: Your earlier statements seem to be contradictory - if you can implement any black-box-equivalent behaviour, the spec could easily say to grab the whole string and then parse it as a later step, and it wouldn't affect the memory use patterns of implementations
12:31
<hsivonen>
Philip`: yeah, the real reason why the doctype stuff is in the same state machine is more likely that the idea that > needs to break out even within quotes came relative late in the speccing cycle
12:32
<Philip`>
ment: Why would that be faster? (I'd have thought that parse_doctype would have to do the same amount of work that an exploded tokeniser would do, and you're also doing an extra loop over the characters)
12:34
<ment>
Philip`: you don't have to jump back-and-forth in the whole state machine and it breaks down to while (c == ...) grab(); while (c != ...) skip(); so jump prediction would work as expected (given that it fits in L1 so no "touching memory" occurs)
12:35
<ment>
Philip`: but cycle counting is still ridiculous in this context
12:35
<hsivonen>
ment: if all the state transitions are compiled down to gotos, surely code locality-based caching should do the right thing when you are jumping among the doctype-related states?
12:36
hsivonen
intends to make that stuff use gotos instead of switch eventually
12:37
gsnedders|work
could see what effect using goto instead of switch in PHP 5.3 has… I doubt much
12:37
<hsivonen>
gsnedders|work: PHP has goto?
12:37
<gsnedders|work>
hsivonen: Since 5.3
12:37
<hsivonen>
yay
12:38
hsivonen
wishes Java had goto
12:38
<gsnedders|work>
And the manual page for goto has http://xkcd.com/292/ on it
12:38
<ment>
hsivonen: the doctype parser states are jump-forward only (given that in one state you can have small loop on != or ==), so yes
12:39
<gsnedders|work>
(The original PHP tokenizer used methods, but the function call overhead made that stupidly slow0
12:39
<ment>
hsivonen: replacing switch with goto? the compiler reorders your code anyway. have you even tried to profile it?
12:39
<gsnedders|work>
ment: You still have to go through all the options in the switch each time
12:40
<hsivonen>
ment: I haven't profiled switch vs. goto
12:40
<hsivonen>
ment: I don't see why goto would be slower than switch, though. dunno if it's going to be a win.
12:40
<ment>
gsnedders|work: have you ever heard of things like jump tables? or binary trees?
12:41
<gsnedders|work>
ment: Yes, but I would still expect goto to be quicker
12:41
<gsnedders|work>
(Though perhaps the difference is almost irrelevantly small)
12:45
<ment>
gsnedders|work: for(;;) switch (state) { case STATE_A: ...; state = STATE_B; break; case STATE_B: ...; } would have the break compiled as goto anyway
12:46
<hsivonen>
ment: goto to STATE_B? which compiler?
12:47
<ment>
hsivonen: gcc
12:47
<hsivonen>
ment: cool.
12:47
gsnedders|work
doesn't remember seeing that before
12:47
<Philip`>
I guess you have to be careful not to do anything (like read the next character) outside the switch for that to work
12:47
hsivonen
should disassemble gcc output some time
12:47
<Philip`>
but that doesn't seem too hard
12:50
<ment>
you could define a macro and use it instead of break: #define NEXT(st) state = st; c = getc(); break
12:53
<ment>
or better #define NEXT(st) c=getc(); state = st; break
12:53
hsivonen
has trouble seeing how hiding break; inside a macro is any more righteous than goto.
12:54
<jcranmer>
it isn't, IMHO
12:59
<zcorpan_>
does audio/ogg; codecs=1 mean Ogg container with PCM audio?
13:01
<ment>
btw, what does "fragment case" exactly mean?
13:01
<hsivonen>
ment: innerHTML
13:01
<ment>
ah, this thing. thanks
13:02
<gsnedders|work>
(It also applies to some things like HTML fragments in Atom)
13:03
<hsivonen>
and createContextualFragment
13:03
<gsnedders|work>
And numerous other beautiful parts of the web arch
13:04
hsivonen
wonders if there's any sane way to report line numbers in document.written content
13:05
<hsivonen>
hmm. is it Oct 30th yet? http://www.w3.org/2005/Incubator/app-backplane/XGR-app-backplane-20091030/
13:06
<Dashiva>
Is it LC yet?
13:06
<annevk2>
hsivonen, might be the pubdate
13:06
<annevk2>
sometimes editor's drafts are a bit ahead of time
13:06
<hsivonen>
annevk2: ah. right. it's not under TR
13:07
hsivonen
wonders what "X" in "XG" means except that X is always cool
13:08
<zcorpan_>
extensible group?
13:08
<ment>
btw is there any list of html5 elements together with their flags (like IS_SCOPING, IS_FORMATTING, etc.)?
13:09
<Dashiva>
The X means 'incubator'
13:09
<hsivonen>
ment: http://hg.mozilla.org/mozilla-central/file/57e42052ea96/parser/html/nsHtml5ElementName.cpp
13:10
<gsnedders|work>
ment: Look in the stack of opoen elmenets]
13:10
<gsnedders|work>
(just spelt correctly)
13:11
<Dashiva>
Maybe IG was taken by interest group, so they decided to pick another letter
13:11
<ment>
gsnedders|work: phrasing category seems to be defined negatively
13:12
<gsnedders|work>
ment: Well, it's impossible to define it otherwise
13:13
<gsnedders|work>
ment: As it has to cover an infinite number of elements
13:13
<ment>
gsnedders|work: what do you mean? i thought that the set of html5 elements (not in foreign content) is finite
13:14
<gsnedders|work>
ment: <acompletelyfakeelement> is a phrasing element for the parser
13:14
<gsnedders|work>
ment: There's an infinite number of HTML elements that are non-conforming
13:15
<ment>
gsnedders|work: oh, so in html5 i could create new elements on the fly?
13:15
<gsnedders|work>
ment: No, it's non-conforming, but the parser defines how to parse any byte-stream
13:16
<ment>
gsnedders|work: i see your point. but that's quite a good idea!
13:16
<gsnedders|work>
ment: Everyone making up their own elements a good idea?
13:17
<gsnedders|work>
ment: Shouldn't they go to standards organizations to specify them?
13:18
<Philip`>
gsnedders|work: Not if they put colons in the names
13:19
<ment>
gsnedders|work: if they don't have any special meaning, why not?
13:19
<gsnedders|work>
Philip`: Oh yeah, right
13:19
<gsnedders|work>
ment: What do you gain by having your own elements?
13:19
<Philip`>
ment: We might want to give them special meaning in the future
13:21
<zcorpan_>
Philip`: we can solve that with namespaces!
13:21
<zcorpan_>
or versioning
13:21
<ment>
gsnedders|work: for example, i could build a new languages on html5
13:21
<jgraham>
ment: What's wrong with class?
13:21
<gsnedders|work>
ment: Why?
13:21
<zcorpan_>
or both
13:21
<jgraham>
zcorpan_: Versioned namespaces?
13:22
<ment>
Philip`: for example, reserve all element names with name shorter than 6 characters
13:22
<hsivonen>
it's interesting how namespace proponents ignore the situation we had with the XHTML2 WG and the HTML WG using the same namespace
13:22
<Philip`>
jgraham: Namespaced versions
13:22
<hsivonen>
and that issue had a social solution--not a technical solution
13:22
<gsnedders|work>
Philip`: of namespaces?
13:22
<TabAtkins>
ment: unknown elements have *no* semantics. They're <div>s to any user agent, which means they're horrible for accessibility.
13:23
<hsivonen>
TabAtkins: it's safer to talk about <span>s to avoid giving any wrong ideas about behavior
13:23
<ment>
jgraham: i don't know. i just plugged my own tags and attributes in the parser.
13:23
<TabAtkins>
As well, as noted, it pollutes the language with private extensions that may not be well-thought out, and may prevent us from using appropriate names in the future.
13:23
<jgraham>
Philip`: Nah, we should have syntax like using:xmlns="http://some/long/uri/version/2"; so that we can change the namespace processing of documents in the future
13:23
<ment>
TabAtkins: because ajax web site is so much more accessible for blind user
13:23
<TabAtkins>
hsivonen: True, and actually they act more like a <span> anyway.
13:23
<gsnedders|work>
ment: Unless they're standardized, they bring no advantage to anyone over data-* attributes for example
13:23
<gsnedders|work>
ment: It is entirely possible for them to be accessible
13:23
<jgraham>
ment: (I should note that there is a certain amount of sarcasm going around)
13:24
<gsnedders|work>
jgraham: Or maybe a URI as the namespace in curly brackets with an ISO 8601:2004 date following it?
13:24
<TabAtkins>
Also, we really shouldn't be going out of our way to make sites less accessible. Rather the opposite, if possible.
13:25
<DrEvil>
what about i-hate-blind-people.com ?
13:25
<jgraham>
ment: I still don't understand why you want private extensions beyond what is already possible
13:25
<jgraham>
I see why browser vendoes might but as noted on the mailing list, inventing elements doesn't work in that case (even with namespaces)
13:26
<ment>
jgraham: i just think it's nice thing to have parser and tokenizer capable of working with non-standardized tags just like any other <div> (for example for future extensions)
13:26
<ment>
jgraham: or any other purpose
13:26
<jgraham>
ment: They can. It's just that you shouldn't create extensions using element names except as part of the HTML standard
13:27
<TabAtkins>
Indeed, the parser definitely needs to be *able* to handle unknown elements, exactly for extending the language - we don't want a repeat of FF2 or IE6/7's unknown tag handling.
13:27
<gsnedders|work>
But IE6 is awesome.
13:27
<TabAtkins>
But extending the language element-wise is *not* something we want to enable for everyone, precisely because it's a *bad* extensibility mechanism.
13:27
<TabAtkins>
gsnedders|work: You're right, I should apologize.
13:28
<TabAtkins>
IE6 leaves me in awe, I just won't say of what.
13:28
<gsnedders|work>
The smell of it reminds of when I went to antique stores as a kid.
13:29
<TabAtkins>
Heh, I like your quit message.
13:29
gsnedders|work
wonders what it is
13:29
<gsnedders|work>
Oh, that
13:41
<Philip`>
Floating-point is irritating
13:41
<Philip`>
I think what's currently in the spec is still slightly impossible to implement correctly
13:43
<Philip`>
because of numbers like 1.000000000000000111022302462516
13:43
<Philip`>
which could be indefinitely long
13:48
<Philip`>
Oh, hmm, Firefox doesn't implement what ECMAScript seemingly requires
13:48
<Philip`>
(for parsing floats in JS)
13:56
<Philip`>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/293
13:57
ment
desperately needs modern text browser
13:57
<Philip`>
Firefox, Safari and Opera on Windows give one output
13:57
<Philip`>
IE on Windows gives a second output
13:57
<Philip`>
Opera on Linux gives a third
13:59
<Philip`>
(Firefox on Linux gives the first output)
13:59
<Philip`>
I suppose it's alright to expect the first output, then
14:00
<Philip`>
which I think is what the HTML5 text expects
14:00
<Philip`>
so that's okay
14:01
<zcorpan_>
on mac my browsers give 2.220446049250313e-16 for the first four and 0 for the last two
14:06
<Philip`>
zcorpan_: That matches the first outputs I got
14:06
<Philip`>
so it's just IE and Opera-on-Linux that differ
14:09
<Philip`>
I think only IE matches what ECMAScript requires
14:09
<Philip`>
(It returns one 2.2etc and then all 0s)
14:11
<Philip`>
Hmm, I think Opera matches what ES requires too
14:11
<Philip`>
on Linux
14:11
<Philip`>
(though it's a different output to IE)
14:16
<DrEvil>
if I used a data URI to embed a jpeg or pdf file in my page
14:16
<DrEvil>
can a user still get the normal save as/download dialogue?
14:18
<Philip`>
DrEvil: It should act the same as any normal JPEG or PDF that doesn't use funny HTTP headers
14:19
<Philip`>
(i.e. you can't use content-disposition to force a dialog box)
14:21
<zcorpan_>
but you can use data:application/octet-stream;base64,... which will probably bring up the save as dialog
14:21
<DrEvil>
oooh snazzy
14:21
<DrEvil>
so we can actually have any XHR'd data presented for download to users
14:21
<DrEvil>
that would immense.
14:21
<DrEvil>
be^
14:24
<Philip`>
Oh, I think I was interpreting ES as being stricter than it is
14:24
<Philip`>
and actually all browsers are acceptable given its requirements
14:25
<zcorpan_>
Philip`: are there other outputs that are acceptable too?
14:25
<Philip`>
zcorpan_: ES says to truncate after 20 significant digits, and then optionally add 1 to the 20th digit
14:26
<Philip`>
and it doesn't say you have to choose the same option all the time
14:26
<Philip`>
so it's acceptable to examine an unlimited number of digits before deciding whether to move the 20th digit up or not
14:26
<Philip`>
(which is what most implementations do)
14:30
<Philip`>
(IE ignores digits after the 20th, Opera on Linux ignores digits after the 21st, if I'm not mistaken)
14:33
<zcorpan_>
has anyone written tests for the new script parsing?
14:37
<gsnedders|work>
I'd quite like them for html5lib soon, FWIW
14:38
<TabAtkins>
Seriously, why are we talking about @longdesc? The discussion was over a long time ago - of the tiny fraction of pages that use it, almost all of them use it incorrectly, and screenreaders tend to ignore the attribute because of this.
14:39
<Philip`>
TabAtkins: We're talking about it because someone submitted a change proposal, and if nobody submits a counter-proposal then it will get accepted by default
14:40
<TabAtkins>
Philip`: Ok. Then let's just make the counterproposal and stop talking about it. It's just spam.
14:40
<Philip`>
TabAtkins: Indeed
14:42
<Philip`>
Seems like the counter-proposal needs to be a summary of all the arguments against longdesc from the past many years
14:42
<Philip`>
though I suppose it should be called "rationale" rather than "arguments"
14:44
<zcorpan_>
gsnedders|work: have you started writing tests?
14:44
<gsnedders|work>
zcorpan_: No
14:44
<gsnedders|work>
zcorpan_: If nobody else has by the time I finish implementing it, I will
14:44
<zcorpan_>
can we run html5lib tests in opera these days?
14:45
<gsnedders|work>
zcorpan_: We already do
14:45
<zcorpan_>
ok so where should i get cracking?
14:45
gsnedders|work
can't remember where he has them though
14:46
<gsnedders|work>
Somewhere on gsnedders.html5.org
14:46
<TabAtkins>
Well, since I picked up the project to document why features exist, and haven't done anything about it yet, I suppose I could do so. Documenting why features *don't* exist is about as useful in some cases.
14:48
<gsnedders|work>
I guess we need to do something about contentModelFlags.test and escapeFlag.test now
14:48
<gsnedders|work>
And probably need to add some way to start the tokenizer in a specific state
14:48
<gsnedders|work>
(As otherwise the tokenizer tests could never test the script data states)
14:56
zcorpan_
clones html5lib
15:35
<zcorpan_>
hmm, it's a bad idea to drink coffee, sneeze and have your macbook on the lap at the same time
15:38
<jgraham>
zcorpan_: Assiming your computer isn't currently giving you an electric shock, what does the test you just changed now expect? Two adjacent text nodes?
15:39
<zcorpan_>
jgraham: yes
15:39
<jgraham>
Hmm, I thought that didn't happen
15:39
<zcorpan_>
happens when there's a token in between
15:40
<zcorpan_>
it was changed in the spec at some point
15:40
jgraham
wonders if html5lib can deal with that
15:42
<Philip`>
It should be changed so it can :-)
15:42
<Philip`>
and also so it doesn't have O(n^2) behaviour in any text-concatenation cases, hopefully
15:42
<ment>
btw is there any html5lib for C?
15:43
<jgraham>
ment: Nothing that actually works
15:43
<jgraham>
I keep starting writing bits of it and then get bored quite quickly
15:43
<gsnedders|work>
jgraham: You only append a char to a text node if the text node was the last node added to the document
15:43
<Philip`>
There's hubbub, I think
15:44
<jgraham>
Oh yes, there is a C implementation
15:44
<Philip`>
http://www.netsurf-browser.org/projects/hubbub/
15:44
<jgraham>
But not a html5lib (tm)
15:44
<jgraham>
Note: not a real trademark
15:44
<Philip`>
jgraham: What makes an HTML5 implementation a html5lib (tm)?
15:44
<Philip`>
s//parser/
15:44
<jgraham>
Philip`: It is in the html5lib repository
15:45
<jgraham>
(as far as I'm concerned the Pyhton implementation is the only true html5lib; the ruby one was but it died)
15:45
<Philip`>
In these days of decentralised VCSs, what is "the ... repository"?
15:46
<jgraham>
Philip`: On code.google.com
15:46
<ment>
i think i'll name my library 5libhtml or lib5html
15:46
<gsnedders|work>
jgraham: So PHP is a just an illusion?
15:46
<ment>
jgraham: yes, it is boring, because the standard isn't machine readable :)
15:46
<gsnedders|work>
Probably the best way, though
15:47
<Philip`>
ment: My machine can easily the spec and display its words to me
15:47
<Philip`>
*read the spec
15:47
gsnedders|work
notes it wasn't reading the spec that was what bored jgraham
15:49
<Philip`>
If nothing changed since I last checked, it should be possible for html5lib-in-Python to avoid ever concatenating strings multiple times (which can be very slow)
15:49
<Philip`>
but as far as I'm aware it doesn't avoid that
15:49
<Philip`>
so someone should fix that :-)
15:50
<gsnedders|work>
My work on the tokenizer does that a fair bit
15:50
<gsnedders|work>
But mainly for temporaryBuffer
15:50
<gsnedders|work>
Though I guess we could have that as a list
15:50
<Philip`>
(The idea was that you'd keep a list of text nodes to be inserted, instead of inserting immediately, and when you insert any other node you first concatenate and flush that list and then carry on)
15:51
<Philip`>
(I hope that's what the spec allows)
15:51
<ment>
text nodes ought to be coalesced together? ie. "text</ignoredendtag>text" => "texttext" ?
15:53
<Philip`>
ment: http://whatwg.org/html5#insert-a-character
15:54
<Philip`>
i.e. yes
15:54
<Philip`>
in your particular example
15:59
<gsnedders|work>
zcorpan_: May I, however, point out that every TC you change delays the release of html5lib 0.12 :P
16:01
<zcorpan_>
gsnedders|work: i was just changing that tc to make sure that i could commit properly
16:01
<Philip`>
gsnedders|work: You need a release branch
16:01
<zcorpan_>
gsnedders|work: my objective is to create new tests for script parsing
16:02
<Philip`>
on which you can ignore non-obvious bugs such as spec mismatches
16:07
<jgraham>
Philip`, gsnedders|work I think we should do that at WHATWG LC and aim to make 0.12 as correct per the LC draft as possible
16:07
<jgraham>
Then we should call it 1.0 or something
16:08
<jgraham>
gsnedders|work: Can't hear a word you're saying
16:08
<zcorpan_>
is there a policy i should adhere to before pushing a new set of tests?
16:08
<jgraham>
zcorpan_: Like what?
16:08
<gsnedders|work>
jgraham: Ah, is this this "selective hearing" thing? :P
16:08
<zcorpan_>
dunno, like trying to run the tests or something
16:08
<jgraham>
gsnedders|work: No more good headphones
16:08
<gsnedders|work>
jgraham: So we should release 0.12, and then call it 1.0?
16:08
<jgraham>
+ extra commas
16:08
<gsnedders|work>
jgraham: But you could hear I was speaking
16:09
<gsnedders|work>
jgraham: Your headphones blatantly aren't good enough
16:09
<jgraham>
zcorpan_: You should check that you didn't cause any regressions. But if you only changed tests you can't really
16:10
<jgraham>
I guess in an ideal world you would ping html5lib-discuss about new tests that the current code fails
16:10
<jgraham>
But that never happens
16:11
zcorpan_
has now pushed some untested work in progress tests for script
16:12
<zcorpan_>
feel free to fix any bugs :)
16:12
<gsnedders|work>
zcorpan_: Can't I just nag you?
16:13
<gsnedders|work>
zcorpan_: What's the diff between line 109 and 121?
16:13
<gsnedders|work>
zcorpan_: and 192 and 204
16:13
<zcorpan_>
a trailing space if i'm guessing correctly which lines you're talking about
16:16
<gsnedders|work>
Ah
16:50
<gsnedders|work>
jgraham: Spotify working for you?
16:50
<jgraham>
gsnedders|work: No
16:50
<Rik`>
gsnedders|work: it just restarted here and not working since
16:51
gsnedders|work
has it offline, but still has the rest of the track he's on in buffer
16:51
<jgraham>
This is what happens when I decide to pay for it :(
16:51
<gsnedders|work>
(which is rather nice, being a 17 min long track)
16:51
<gsnedders|work>
Oh, and now it's just come back
17:03
<Philip`>
Someone ought to stop me from filing bugs that would make HTML5 harder to read
17:03
<Philip`>
(like http://www.w3.org/Bugs/Public/show_bug.cgi?id=8087)
17:37
<ment>
in which state starts fragment parser?
17:37
<gsnedders|work>
ment: That depends
17:37
<gsnedders|work>
ment: see http://www.whatwg.org/specs/web-apps/current-work/#html-fragment-parsing-algorithm
17:38
<ment>
i see, thanks
19:47
<Hixie>
wtf is johab
19:48
<Philip`>
http://unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT
19:48
Philip`
shrugs
19:48
<Philip`>
All I know is that it appears to exist
19:49
<Hixie>
man, jshin has been at this a while
19:51
<Hixie>
it appears to be KS C-5601-1992
19:52
<Hixie>
hah, Wikipedia is explicitly missing 1361
19:53
<Hixie>
apparently KS C 5601 is now KS X 1001
19:53
<Hixie>
oh no wait
19:53
<Hixie>
that's the character set
19:53
<Hixie>
not the encoding
19:54
<Hixie>
but the encoding is listed in KS X 1001 annex 3
19:55
<Philip`>
http://unicode.org/mail-arch/unicode-ml/Archives-Old/UML011/0205.html - "Johab should NOT be considered as included in KS C 5601-1992"
19:56
Philip`
knows nothing about this, except that iconv supports an encoding under the name "johab", and is quite happy not knowing any more :-)
19:57
<Hixie>
i was quite happy not knowing that much!
19:57
<Hixie>
now i am less happy :-P
20:03
<Hixie>
Philip`: your no-c-end is wrong
20:03
<Hixie>
Philip`: because it doesn't allow a string ending in "-"
20:04
gsnedders
wonders whether he should bother going to uni
20:04
<Hixie>
i suppose we could add [ %x2d [ %x2d ] ] at the end of it
20:04
<Hixie>
gsnedders: i would encourage it, personally. e.g. it is orders of magnitude harder to get hired by google if you don't have at _least_ an undergrad degree
20:06
<gsnedders>
Hixie: I may end up doing something that wouldn't help me get hired by Google anyway :P
20:06
<TabAtkins>
gsnedders: I'd recommend going for the same reason. It's not as necessary in the States as I understand it to be in the UK, but still, very helpful.
20:06
<Hixie>
gsnedders: how so?
20:07
<gsnedders>
Hixie: How beneficial is English Language and Linguistics to getting hired by Google?
20:07
<Hixie>
gsnedders: significantly more than Physics
20:07
<Hixie>
gsnedders: we have a whole linguistics team
20:07
<gsnedders>
Hixie: And you were trying to convince me to do physics before :P
20:07
<Hixie>
gsnedders: but the subject matter doesn't matter half as much as the fact that you got a degree
20:07
<jcranmer>
not surprising
20:08
<jcranmer>
since, after all, Google is first and foremost a search engine
20:08
<Hixie>
i was trying to convince you to do something broadly useful, not something specific to getting hired by google :-)
20:09
<jcranmer>
hmm, I keep forgetting that we're supposed to leave our sense of logic by the door
20:09
<gsnedders>
Applying for uni would in general be easier if: a) I had decent exam results from my last year of school; b) I had a clue about what subject to apply for; c) Where to apply; d) Whether I really want to go to uni.
20:10
<jcranmer>
I suspect I could have gotten a job without uni, but it tends to be harder to do so
20:10
<jcranmer>
treat uni as 3 or 4 years of laying back
20:11
<inimino>
and getting into debt ;-)
20:11
<jcranmer>
not in my case
20:12
<jcranmer>
3 years + parents who have fiscal sanity
20:12
<hsivonen>
so according to engadget, android 2.0 adds html5 support
20:12
<hsivonen>
does it mean canvas and h.264 <video> or something else?
20:13
<otherarun>
gsnedders, or you could write a great work of literature, and forgo all this "job" tomfoolery.
20:14
<Philip`>
Hixie: Oh, good point
20:14
<gsnedders>
Gah. decisions that have some vague effect on your future!
20:14
<otherarun>
*sigh these days there's no specificity in the term "HTML5 support."
20:14
<otherarun>
It's become a marketing catchphrase.
20:15
<Hixie>
Philip`: it gets way more complicated for the script case
20:16
<Philip`>
Hixie: The script case seems alright since it's not invalid ABNF
20:16
<Philip`>
or at least relatively alright
20:16
<erlehmann>
inimino, i live in a state without horrendous study debts. berlin ;)
20:16
<Philip`>
(though it's kind of cheating to use ABNF and then stick big lumps of prose in it)
20:16
<roc>
otherarun: this actually works to our advantage in the end, I think
20:17
<gsnedders>
In Scotland you can still expect to spend around £30k in total over the course of uni, primarily just on living
20:17
<inimino>
erlehmann: yes, a lot of it depends on where you live (and on your grades/test scores)
20:17
<Hixie>
otherarun: did you get my e-mail re thursday?
20:18
<jcranmer>
I estimate my total university cost at around $100K
20:18
<gsnedders>
That just seems completely ridiculous.
20:18
<erlehmann>
inimino, in most german states, studying is essentially free of charge
20:19
<otherarun>
roc, yeah, the W3C developer thing that brendan, fantasai and I are talking at has attracted lots of folks intrigued by HTML5. maybe you're right.
20:19
<otherarun>
Hixie, yep got it. responding now-ish....
20:19
<jcranmer>
hey, it's an out-of-state school
20:19
<Hixie>
otherarun: k
20:20
<gsnedders>
jcranmer: Going to anywhere in the UK would cost me around 30k GBP, going to somewhere in Sweden would cost me around the same…
20:20
Philip`
had something like £12K of student loans and spent a bit less than that over three years, if he remembers correctly
20:20
<erlehmann>
gsnedders: come to germany, we have hackers here :3
20:21
<gsnedders>
Philip`: So £9k on tutition fees, and £1k/year on living :P
20:21
<gsnedders>
erlehmann: That means learning German :P
20:22
<erlehmann>
gsnedders it isnt so hart. listen and repeat: JAWOHL HAUPTKOMMISSAR SCHWEINEHUND
20:22
<erlehmann>
ZU BEFEHL FEUER SAUERKRAUT
20:22
<Philip`>
gsnedders: Tuition fees were only added in my last year
20:22
<gsnedders>
Philip`: Silly English.
20:23
<gsnedders>
erlehmann: Hey, I'm going to Berlin for Christmas. I'm learning, dammit!
20:23
<Philip`>
The only German I learnt and remembered is from Wolfenstein 3D
20:23
<erlehmann>
gsnedders, you are attending 26c3 ? are you with the kaminsky crowd ?
20:23
<Dashiva>
What about Indiana Jones?
20:24
<gsnedders>
erlehmann: wah?
20:25
<gsnedders>
erlehmann: (judging by the fact I've never heard of either, no)
20:25
<erlehmann>
gsnedders: 26C3 is the 26th chaos communication congress, 3 to 4 days between christmas and sylvester. several thousand attendees, also international (hey, i unexpectedly ran into bre pettis there)
20:25
<erlehmann>
go there, it is awesome
20:25
<gsnedders>
erlehmann: Looking it up, I could only go to the first day
20:26
<gsnedders>
(I leave for my parent's on the 28th)
20:27
<erlehmann>
then go there for a day
20:27
<erlehmann>
its the most awesome event to attend in that timeframe
20:27
<gsnedders>
erlehmann: I'm unlikely to have the time
20:27
<gsnedders>
Also, I should probably finally get around to having supper
20:28
<erlehmann>
sad thing.
20:29
gsnedders
turns oven on, and realizes he has to wait
20:30
gsnedders
was blatantly spoiled growing up with his parents with an Aga and not having to wait
20:30
<Hixie>
mmm agas
20:30
<Hixie>
i wish they had those here
20:31
<erlehmann>
what is an „aga“?
20:31
<gsnedders>
erlehmann: http://en.wikipedia.org/wiki/AGA_cooker
20:31
<Philip`>
Is it like a microwave?
20:31
<Philip`>
You don't have to wait for those
20:33
<Hixie>
you'll wait forever if you wait for them to cook the food properly
20:33
<erlehmann>
Philip`, it seems to be an expensive, energy-hungry cooking artifact from 80 years ago.
20:34
gsnedders
guesses the one at his parent's house is around 30 years old
20:35
<Hixie>
it's usually used as a replacement or supplement for the house hot water or radiator heating, so it turns out not to be more wasteful than most systems
20:35
<Hixie>
though it's certainly not what one would call "Efficient"
20:36
<gsnedders>
When you're dealing with an Edwardian house where heat seeps out through the walls and windows like there's no tomorrow, keeping one room at a reasonable temperature is a challenge in and of itself
20:37
<gsnedders>
(And keeping a room at a sane temp. basically means having a gas fire on continuously 24/7 over the winter)
20:38
<gsnedders>
(As even if you turn it off overnight, you then spend the first 10 hours of the day getting the room up to any temp. where you can bear to be in it)
20:38
<Hixie>
or, one could use something known as "insulation"
20:38
<Hixie>
but don't feel bad, californians don't know what that is either
20:38
<gsnedders>
Hixie: You can't really do much about the outside walls of the house
20:38
<gsnedders>
Hixie: (at least without significant structural changes, which with a listed building…)
20:38
<Hixie>
this isn't my area of expertise, but i'd be surprised if there was really nothing one could do
20:39
<TabAtkins>
You just tear out the drywall and stuff insulation in there, then put it back. (Though your houses may not be built to work like that...)
20:39
<gsnedders>
TabAtkins: Edwardian houses don't have Drywall in general :)
20:39
<Hixie>
hey so good news everyone!
20:39
<Hixie>
i'm at 0,1,0 again
20:39
<TabAtkins>
Woo!
20:40
<TabAtkins>
gsnedders: Then your houses are built wrong. ^_^
20:40
<gsnedders>
TabAtkins: No, not really. You have brick walls with plaster directly applied to the,
20:41
<TabAtkins>
so the walls themselves are brick?
20:41
<gsnedders>
TabAtkins: Yes
20:41
<gsnedders>
A hundred years ago, if you wanted a wall in house, you used bricks.
20:42
<TabAtkins>
Interesting. I've only ever seen brick used as a facade. Still, if you don't mind losing a few inches off the room dimensions, you could improvise drywall into the room, allowing you to sandwich insulation between the wall layers.
20:43
<gsnedders>
TabAtkins: See: http://en.wikipedia.org/wiki/Listed_building
20:43
<Philip`>
Oops, I failed to notice that cp1361 == johab
20:44
<Philip`>
or forgot from when I last looked at it
20:44
<TabAtkins>
Ah, that sort of mod probably would count as being against code, then.
20:44
<mpilgrim>
gsnedders, jgraham: which html5 outliner should i point people to?
20:44
<gsnedders>
mpilgrim: Mine, his is out of date
20:45
<Philip`>
Why are approximately none of the rationale comments getting through to public-html-bugzilla?
20:45
<gsnedders>
TabAtkins: Esp. when it is listed because it has almost all original fittings
20:45
<mpilgrim>
ok, thanks
20:45
<gsnedders>
TabAtkins: And when there's a lot of fine-wood around the walls in places…
20:51
<gsnedders>
jgraham: Where can you buy tissues here? I've not seen anywhere selling them anywhere…
20:55
<ment>
what for are the attributes in closing tags? </b xxx=zz> ?
20:55
<Hixie>
nothing
20:55
<Philip`>
Hmph, it takes more effort to close bugs than to file them
20:59
<Hixie>
hah
20:59
<Philip`>
Also it's hard to find which bugs are mine
20:59
<Hixie>
even with the IP address?
20:59
<Philip`>
because I have dozens of different IP addresses
21:00
<Philip`>
I use at least three different internet connections each day, none of which have static IPs
21:06
<jgraham>
gsnedders: Apoteket for sure. also I think the supermarket
21:07
<Philip`>
Hmm, I think I got them all now
21:07
<Philip`>
and only had to reopen one
21:07
<Dashiva>
gsnedders: Normal food stores have them
21:09
<Hixie>
Philip`: good times
21:10
<ment>
script-data-double-escaped-dash-dash-state ... what the fuck
21:11
<gsnedders>
jgraham: hmm, I didn't see any when I looked (albeit very briefly before)
21:12
<Dashiva>
They're well hidden
21:12
<Dashiva>
Sometimes there's just a single type and a single brand
21:14
<jgraham>
gsnedders: BTW you are really making oo big a deal out of this whole university thing. You should just pick something
21:14
<jgraham>
It doesn't matter what so much
21:14
<jgraham>
or where
21:14
<jgraham>
(wihin reasonable limits in both cases)
21:15
<jgraham>
(i.e. it has to be something you expect to enjoy somewhere you can bear to live and aren't embarassedto graduate from)
21:15
<jgraham>
You can't make a prefect objective decision because all the necessary facts aren't there
21:20
<JonathanNeal>
is the source code for outliner available?
21:22
<Hixie>
Philip`: yt?
21:23
<Hixie>
Philip`: is there a version of your multipage script that takes an argument for which index file to process and an argument for where to post the results?
21:23
<Hixie>
Philip`: or alternatively, can you mail me the multipage version of http://www.whatwg.org/specs/web-apps/2009-10-27/ ?
21:23
<Philip`>
Hixie: There's not an online version that does that, only the offline Python script
21:24
Philip`
could do that in an hour or so
21:24
<Hixie>
cool, thanks
21:25
Philip`
should make sure the sections are sensibly split, too
21:26
<ment>
i know i will be probably banned for this statement, but the author (or team of authors) who created html5 tokenizer (the latest version) deserves to get an inoperable tumor at the base of his spine
21:26
<Hixie>
ment: :-(
21:28
<ment>
now i have to either retype 300KB worth of DFA state machine or draw several pages of diagrams to figure out all the hidden exceptions of latest tokenizer
21:29
<Hixie>
ment: anything in particular that can make it sier for you? i think the changes actually made the parser simpler, not more complex (though it has more states)
21:29
<Hixie>
(the changes were necessary to be compatible with legacy content)
21:31
<jgraham>
JonathanNeal: There is an ouliner as part of anolis which I think is the basis for gsnedders online one
21:31
<jgraham>
look at hg.gsnedders.org or so
21:31
<gsnedders>
s/org/com/
21:31
<ment>
Hixie: well if i ever finish the diagrams, i will show you simpler way to describe automatons like this
21:32
<Hixie>
ment: that'd be great
21:32
jgraham
finds the current spec reaonably simple to understand
21:32
<jgraham>
*reasonably
21:33
<JonathanNeal>
This is great, thanks jgraham and gsnedders
21:33
<jgraham>
(certianly not so complex that I am wishing painful death on Hixie)
21:34
<gsnedders>
So you just do that for different reasons?
21:35
<Hixie>
ok, anyone have any reason i shouldn't hit "submit" on this blog post?
21:35
<gsnedders>
Because the button is labelled, "Publish"
21:35
<Hixie>
btw i only created a static copy of the html5 spec, not the complete, vocabs, and workers specs
21:35
<Hixie>
because that takes way the hell too long per spec
21:35
<Hixie>
and it's not clear to me what the benefit is
21:35
<Hixie>
gsnedders: good reason, any others? :-)
21:36
<jgraham>
Hixie: No
21:36
<Hixie>
ok i have scheduled it for 21:55, which i guess is in about 10 minutes
21:36
<Philip`>
Because there's no multipage version yet and so you'll crash people's browsers when they look at it? :-)
21:38
<Hixie>
the blog post just links to the current-work/ spec: http://blog.whatwg.org/html5-at-last-call
21:38
<Hixie>
actually it links to current-work/multipage/
21:41
Philip`
tries multipaging it now
21:43
<Hixie>
4 minutes to go!
21:43
<mpilgrim>
future-posts are evil
21:44
<mpilgrim>
i tweeted it and then realized that the link is 404 for anyone not logged into blog.whatwg.org
21:44
<gsnedders>
The past and the future are only illusions, there is only now.
21:44
<erlehmann>
quick, mpilgrim, submit it to slashdot, so subscribers can see posts IN THE FUTURE
21:44
<Hixie>
mpilgrim: hah
21:44
Hixie
advances the publication time!
21:44
<mpilgrim>
no no, i don't want to be responsible for html5 going to last call before it's ready!
21:45
<Hixie>
we're live baby!
21:45
<erlehmann>
Hixie, you need an additional status code, akin to 410 gone. 4xx - Not There Yet for stuff reserved for future use ;)
21:46
<Hixie>
erlehmann: heh
21:46
<Hixie>
erlehmann: i'm sure that exists in some HTTP extension somewhere
21:47
<Dashiva>
erlehmann: Just set up a chain of "see other" redirects that goes on until the resource comes into existence
21:48
<mpilgrim>
damn, someone replied to my tweet saying the link was 404
21:48
<erlehmann>
Dashiva, browsers will stop if there are dozens of redirect
21:48
<erlehmann>
s
21:48
<mpilgrim>
damn the real-time web!
21:49
<mpilgrim>
seriously though, this is a historic moment
21:49
<jgraham>
Hixie: Might have been good o mention that the HTMLWG don't consider the spec in LC yet
21:49
<mpilgrim>
i'm just glad i was here to help fuck it up
21:49
<Dashiva>
erlehmann: Okay, make it only one redirect, but it hangs (or writes junk headers) until the location exists
21:49
<gsnedders>
Hmm, free shipping on deviantart today
21:50
<Philip`>
Hixie: http://philip.html5.org/misc/multipage-web-apps-2009-10-27.tar.gz might be it
21:50
<gsnedders>
jgraham: Also, what's the whole deal with recieving large packages in the post here?
21:51
<Hixie>
jgraham: i figured if i qualified it as "at the WHATWG" each time, that'd be clear enough. I don't want to sound like I'm saying "neener neener" or something like that.
21:51
<Hixie>
our relations are strained enough as it is
21:51
<Philip`>
Dashiva: Why redirect? Just let the server hold onto the HTTP session forever, until the response is ready
21:52
<Philip`>
Dashiva: (sending an "X-Ping: .........." header with a new byte every few seconds to stop it timing out)
21:52
<Dashiva>
I imagined a dedicated server handling these long connections
21:52
<TabAtkins>
gsnedders: Man, wish I had some money to order a few prints, then.
21:52
<Dashiva>
So the real content doesn't have to worry
21:52
<jgraham>
gsnedders: They end up at the postofice usually
21:52
<jgraham>
Well at the place on Nygatan
21:53
<gsnedders>
jgraham: The one parallel to Vasa vagen?
21:53
<jgraham>
Hixie: I think the current text could be construed as misleading
21:53
<gsnedders>
TabAtkins: I wish I could find what I thought I had saved as a favourite before :(
21:53
<jgraham>
gsnedders: Er not sure. Maybe I am wrong abou the name of the stree
21:54
<TabAtkins>
gsnedders: Yeah, that's often the problem. The site's too big! o_O
21:54
<gsnedders>
jgraham: Well, where?
21:54
<jgraham>
gsnedders: Near Hemkop
21:54
<jgraham>
(the one near St Lars)
21:55
<gsnedders>
Where there?
21:55
<erlehmann>
i hope moot implements some audio / video (don't they have a flash board?)
21:55
<jgraham>
gsnedders: In the spel + tobac (sp?)
21:55
<jgraham>
you get a note through the door
21:56
<jgraham>
(I guess it might end up in a different place for you)
21:56
<erlehmann>
i predict YTMND will be the most obnoxious HTML5 page in the next decade
21:56
<gsnedders>
From where I know where places are, I don't think we live far enough apart for there to really be any difference
21:56
<Hixie>
jgraham: ok, updated
21:56
<Hixie>
jgraham: (added a note at the bottom)
21:57
<mpilgrim>
just put a note that says "it's all over but the screaming"
21:57
<gsnedders>
TabAtkins: And now I keep finding things that aren't available as prints. gah.
21:57
<othermaciej>
Hixie: I have a question about bug hygiene
21:57
<Hixie>
othermaciej: yes sir
21:57
<othermaciej>
Hixie: you resolved a couple of my bugs in a way that completely addresses the original problem, but introduces what I think is a new, totally different problem
21:58
<othermaciej>
Hixie: should I reopen the bugs or file new ones?
21:58
<TabAtkins>
gsnedders: I just don't understand creators that don't make everything print-availabl. It's silly.
21:58
<Hixie>
othermaciej: either is fine by me, i'd recommend asking the chairs for their advice but that's you :-P
21:58
gsnedders
would really like http://pyromaniac.deviantart.com/art/Saving-all-my-words-24031392 as a print
21:58
<othermaciej>
Hixie: yeah I wanted to see if you have a preference
21:58
gsnedders
knows he'll be mocked by jgraham for that
21:58
<Hixie>
othermaciej: i think generally new bugs is better, but in practice it makes little difference
21:59
<othermaciej>
to be specific the problem is that HTMLCollection subclasses now violate the Liskov Substitution Principle
21:59
<othermaciej>
I'll file a new bug
22:00
<Dashiva>
That sounds serious
22:00
<mpilgrim>
ok, i looked that up on wikipedia and now i'm even more confused
22:00
<Philip`>
gsnedders: Surely it'd be better to get something less depressing
22:00
<Hixie>
othermaciej: i don't see how changing the type would change that
22:00
<mpilgrim>
it's probably my fault for dropping out of CS and pursuing a philosophy degree
22:01
<mpilgrim>
but could someone explain the liskov substitution principle without using any greek letters?
22:01
<Hixie>
othermaciej: regardless of what the interface says, the parent interface is always going to return only Element objects, whereas the subclasses can return more
22:01
<othermaciej>
Hixie: LSP is about the contract, not the behavior
22:01
gsnedders
did the same, it's just he doesn't have a degree at all
22:01
<othermaciej>
Hixie: you can't promise in the base class to return only Element if subclasses might return more general types
22:01
<Hixie>
othermaciej: that seems like a distinction without a difference, as people say
22:02
<Hixie>
othermaciej: we do promise (in prose) to only return Element objects
22:02
<Hixie>
regardless of what the interface says
22:02
<Philip`>
mpilgrim: I think the idea is that whenever you write code based on the requirements/guarantees of class(/interface) A, then you can safely pass it an object of any subclass of A and it won't violate the contract
22:02
<ment>
html5 specs is written by philosophers? :))
22:02
<Hixie>
othermaciej: and regardless of what the interface says, you can always screw around with the prototype and have any object return anything for anything
22:02
<othermaciej>
Hixie: the way it's a practical problem is that you can't generate interfaces for any statically typed language from the WebIDL as currently written (including Java and Objective-C)
22:02
<gsnedders>
Philip`: That really isn't very dark
22:02
<Hixie>
ah, that's a more interesting problem
22:03
<Philip`>
(e.g. a subclass might override a method to return a subtype of the original type, but can't return a supertype)
22:03
<gsnedders>
Philip`: Maybe my perception of such things is a bit off, though
22:03
<Hixie>
othermaciej: file that as the bug :-)
22:03
<othermaciej>
Hixie: doing so
22:03
<mpilgrim>
Philip`: thanks, that makes sense
22:04
<Philip`>
gsnedders: It's all blacks and greys and crying. You should get something like http://veganya.deviantart.com/art/Pony-41998085 which has nice colours and happy animals
22:05
<gsnedders>
Philip`: Not available as a print, sorry
22:05
<mpilgrim>
for the benefit of people reading this discussion later, i recommend http://c2.com/cgi/wiki?LiskovSubstitutionPrinciple instead of the wikipedia article
22:05
<jgraham>
gsnedders: Also the artist seems to see himself as a short man with an enormous red penis hanging from his forhead
22:06
<othermaciej>
Hixie: http://www.w3.org/Bugs/Public/show_bug.cgi?id=8092
22:06
<Hixie>
othermaciej: thanks
22:07
<ment>
speaking of deviantart, does anybody know why it has <keeper for="Smoothie.thumbs"></keeper><smoothie q="special:dd" qx="1"...> tags in body or what they are good for?
22:07
Philip`
notes that he doesn't remember hearing of the LSP in his CS degree at all
22:08
<othermaciej>
Philip`: I had Barbara Liskov for a professor
22:08
<othermaciej>
(though she didn't bring up the principle by that name in class)
22:08
<Philip`>
I didn't :-(
22:09
<gsnedders>
Why is it that the majority of "People" prints on deviantART are either half-naked or completely-naked?
22:09
jgraham
thinks that constrining subtypes to always have the same behaviour as supertypes sounds rather limiting
22:09
<othermaciej>
the rule isn't that they have to have "the same" behavior
22:10
<othermaciej>
just that if a caller follows the contract, a subtype will respect the contract
22:10
<othermaciej>
HTMLVideoElement doesn't have the same behavior as HTMLElement, but all HTMLElement methods do what is guaranteed by contract
22:10
<jgraham>
Hmm, the c2.com wiki says "What is wanted here is something like the following substitution property: If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T."
22:10
<Dashiva>
Apparently you have to be logged in to buy the naked prints :P
22:11
<gsnedders>
Thankfully, I'm logged in :P
22:13
<Philip`>
jgraham: I don't believe that's the same as the definition I usually associated with the term
22:13
<jgraham>
othermaciej: But you could check if an element had a play method, for example and that would be a program that didn't run unchanged when a HTMLVideoElement was passed in instead of a HTMLElement
22:13
<othermaciej>
the idea is if you have a only reference to the base type, any code you write that works with that interface and follows its side of the contract should remain correct, if you actually pass it an object that's an instance of a subtype
22:13
<Philip`>
*usually see associated
22:13
<othermaciej>
that's true - but lacking a "play" method is not part of HTMLElement's contract
22:14
<jgraham>
So how do you tell which parts are contract and which parts are not?
22:14
<Philip`>
The static type information is part of the contract
22:14
<Philip`>
i.e. the types in the IDL
22:14
<Dashiva>
The interfaces only promise existence, not non-existence
22:15
<Philip`>
and then I guess anything else is typically in comments
22:15
<Philip`>
(or, rather, typically not stated at all, but if was anywhere it'd probably be in comments)
22:15
<jgraham>
It isn't obvious to me why existence is more important than non existance
22:16
<jgraham>
(or why types are more important than other things)
22:16
gsnedders
wishes he could find what he was looking for
22:17
<gsnedders>
"But I still haven't found what I'm looking for"
22:17
<Dashiva>
Try looking in the last place
22:17
<othermaciej>
I don't think there's a question of important or not - just what is or isn't promised
22:17
<othermaciej>
Web IDL is a contract - it guarantees that if you have an instance of a certain interface, the methods and properties have the stated type signatures
22:17
<othermaciej>
it doesn't promise that an object lacks other interfaces
22:18
<othermaciej>
it does promise that an object also implements the inherited interfaces
22:18
<Philip`>
Existence is important because typically you'll write code that acts on objects, and you know the interface of the objects, and you want to be sure that if you call some method with arguments that follow certain requirements (like types) it'll return something that follows certain requirements (like types), else you've got no hope of writing working code
22:18
<jgraham>
gsnedders: I wouldn't worry. U2 didn't manage that and they have still been quite successful
22:18
<jgraham>
Oh you said that
22:18
<jgraham>
don't mind me
22:18
<Philip`>
and you'll rarely write code that assumes you'll get an exception if you call a certain method that wasn't defined
22:19
<Philip`>
(especially in statically-typed languages where you'd get a compile error)
22:19
<Dashiva>
Unless it's a method throwing NotImplementedException
22:19
<jgraham>
It seems like a reasonable strategy in non-static languages though
22:20
<Philip`>
Non-static languages are weird and crazy and you've got no hope of writing working code
22:21
<Philip`>
At least with Web IDL you can work under the impresion that you've got a proper class-based language
22:22
<jgraham>
(also LSP seems like it should want to say something about duck typing since that is about interfaces if not subtypes. But in practice it is quite common for similar types to not fully replace each other, and the world doesn't collapse)
22:22
<othermaciej>
I really shouldn't have cited LSP for my issue anyway
22:23
<othermaciej>
since in this case the subtyping fails on a syntactic / type signature level, not just a semantic level
22:23
<Philip`>
Hixie: Did you see the multipage thing I mentioned here earlier?
22:23
jgraham
is not meaning to suggest that LSP is not useful or anything, just to try and understand it better
22:23
<othermaciej>
Liskov's original statement was something like "Let q(x) be a property provable about objects x of type T. Then q(y) should be true for objects y of type S where S is a subtype of T."
22:23
Philip`
is wondering since the URL still redirects to current-work/multipage
22:24
<othermaciej>
so then it depends on what "provable property" means
22:24
<othermaciej>
which depends on how T is defined
22:24
<othermaciej>
if T is defined in terms of some sort of contract, then everything that can be inferred from that contract is a "provable property"
22:24
<Hixie>
Philip`: i had not, but got it now, thanks. downloading...
22:25
<othermaciej>
so going back to the HTMLElement interface, it's a provable property that any HTML element has a click() method with no arguments and void return type
22:26
<othermaciej>
it's not a provable property that an HTMLElement *lacks* a play() method
22:27
<othermaciej>
but anyway a contravariant return type is a violation of more basic notions of subtyping than LSP
22:55
<GPHemsley>
Hixie: I don't think you ever replied to the <cite> proposal.
22:56
<roc>
it's Liskov-WING substitution, please
22:57
<roc>
poor Jeannette
22:57
<doublec>
she has to suffer like the 'et al' in the design patterns authors :)
22:58
<Philip`>
Al coauthored an awful lot of books
22:58
<Philip`>
roc: That makes it sound less like a science-fiction name
23:01
<roc>
actually, since Ms Wing is a preternaturally youthful martial-arts badass, she adds to the sci-fi cachet
23:04
<doublec>
it's a wonder it wasn't named the 'wing substitution principle' then
23:05
<roc>
come into the office, I'll tell you some stories
23:07
<doublec>
hehe, hopefully soon
23:07
<doublec>
my landlord is giving me free furniture
23:13
<ment>
ok, i have a question: parser is in script data state, on the input is '<!-- </script> --> </script>'
23:13
<ment>
s/parser/tokenizer/
23:14
<ment>
after which </script> will the tokenizer switch to non-script state?
23:15
<ment>
(for example, data state)
23:15
<gsnedders>
ment: the second
23:15
<ment>
nope, the first (if i haven't missed something)
23:17
<gsnedders>
hmm, that appears to be right, and that surely has to be a bug
23:18
<ment>
i can draw you a diagram how it looks like now
23:22
<gsnedders>
Oh, no, it is right, I think
23:22
<ment>
http://ibawizard.net/~thement/sds.png
23:25
<ment>
what does it behave like that? it makes no sense
23:27
<gsnedders>
ment: Legacy content.
23:27
<gsnedders>
(and not wanting to reparse)
23:39
<aboodman>
let's wait one round
23:44
<Hixie>
GPHemsley: which one? there were hundreds over the years :-)
23:49
<Lachy>
Hixie, are you aware that the new complete copy of the spec here hangs in Minefield? http://www.whatwg.org/specs/web-apps/current-work/complete.html
23:50
<Lachy>
which browser can actually handle loading it?
23:50
<Hixie>
works fine in safari nightlies and chrome nightlies last i tried
23:51
Hixie
tries firefox
23:51
<Hixie>
works fine for me on a firefox nightly with html5.enable
23:52
<Hixie>
and in opera 10.something
23:52
<Hixie>
oh, wait, firefox is hanging now
23:52
<Hixie>
is one of the scripts doing bad things in firefox?
23:52
<othermaciej>
seems to load ok in Safari
23:53
<Lachy>
yeah, it's working in safari and opera 10
23:53
<Hixie>
bringing up the error console in safari is a bad idea because it tries to show the 5MB DOM
23:53
<othermaciej>
(but I'm also on a really fast network so likely not as much incremental layout was needed)
23:53
<othermaciej>
man we so need a datagrid for the Web Inspector
23:53
<Hixie>
scrolling in opera is painful
23:54
<JoePeck>
othermaciej: mention it in #webkit-inspector
23:55
<Lachy>
scrolling in opera isn't painful for me
23:55
<Lachy>
but I have Smart Scroll installed on my system, which is probably helping
23:58
<ment>
may i ask you again what's the motivation behind having attributes in closing tags?
23:58
<ment>
like </a href="xxx"/>