00:00
<zewt>
the "widths" is just a fake character-width mapping; the values are only chosen to be non-random
00:04
<TabAtkins>
Ah, okay. It's not very useful as a demonstration, then, since they're very off (and the first part of the alphabet is negative-width).
00:04
<zewt>
well, it's outputting in a fixed-width terminal, so it's not going to look like it really would anyway, heh
00:05
<zewt>
(also in reality you've got kerning, etc. to cope with)
05:48
<Von_Davidicus>
I have just learned that using HTML5 + SVG alleviates an inconsistency in browser implementation of JavaScript.
05:49
<Von_Davidicus>
Specifically, whether or not to include the SVG prefix.
05:51
<Von_Davidicus>
Some browsers (like Firefox and Internet Explorer) say "Thou Shalt." Others (like Opera, Chrome, and Safari) say "Thou Shan't."
05:56
<Von_Davidicus>
Since you don't need to use the prefix in HTML5, it becomes a non-issue.
06:49
<hsivonen>
yeah, I should review dglazkov's parser change proposal. sorry about the delay.
06:52
<hsivonen>
so when a parser gets aborted, the document's readyState in Gecko goes from "loading" to "complete" without going through "interactive"
06:52
<hsivonen>
is there any spec-based justification for that?
07:01
<annevk>
hmm
07:01
<annevk>
html5.org gives 500 errors
07:03
<hsivonen>
hg blame points to sicking for the readyState oddity, but he's on vacation. :-(
07:03
<Hixie>
hsivonen: looks like the spec doesn't change readyState when the parser is aborted
07:03
<Hixie>
i doubt this is an especially well tested area of the spec though
07:04
<hsivonen>
Hixie: not even to "complete"?
07:04
<Hixie>
nothing mentions changing it when a document or parser is aborted
07:04
<Hixie>
you also don't fire 'load', etc
07:04
<hsivonen>
Hixie: I tought data was discarded from the parser but the parser still went through "the end"
07:05
<hsivonen>
*thought even
07:05
<Hixie>
oh hm maybe, let me check again
07:05
<Hixie>
no, "abort a parser" doesn't really do anything except a hard stop
07:05
<Hixie>
again, though, this may be severely undertested
07:06
<hsivonen>
this spec thing was supposed to spare me of testing what other browsers do
07:08
<Hixie>
well you're welcome to do what the spec says :-)
07:08
<Hixie>
if everyone does that, then we'll all be interoperable :_)
07:08
<annevk>
hmm
07:08
<annevk>
so both Unicode and the utf-8 RFC don't say anything about five and six byte sequences anymore
07:08
<nesta_>
good morning! :)
07:08
<annevk>
morning
07:09
<annevk>
guess that makes the case of having a utf-8 decoder in the spec more compelling
07:09
<hsivonen>
Hixie: I doubt I'd get r+ for leaving readyState to "loading" when the throbber has stopped
07:09
<annevk>
Hixie: btw, any concerns about integrating with http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html in due course?
07:09
<hsivonen>
Hixie: without proof of other browsers doing so
07:09
<annevk>
Hixie: quite a lot of the encoding related stuff would be simplified per my analysis
07:10
<Hixie>
hsivonen: convince another browser to follow the spec first? :-)
07:10
<Hixie>
annevk: sgtm
07:10
<hsivonen>
Hixie: I'd still have to test the other browser
07:11
<Hixie>
hsivonen: you could hope they wrote the tests as part of checking in the code
07:11
<Hixie>
annevk: "The Encoding" lol
07:12
<Hixie>
annevk: wasn't there some punctuation stripping on encoding names too?
07:15
<annevk>
no, just whitespace
07:15
<annevk>
it used to be punctuation and we changed that because it was incompatible
07:16
<Hixie>
ah k
07:16
<Hixie>
this is pretty awesome
07:16
<Hixie>
basically means i can drop all mention of the IANA charset registry, right?
07:17
<annevk>
yes
07:17
<Hixie>
fantastic!
07:17
<annevk>
and the special utf-8 text
07:17
Hixie
claps his hands
07:22
<MikeSmith>
annevk: http://qa-dev.w3.org:8888/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%21doctype%2520html%3E%250D%250A%3Ctitle%3E%3C%252Ftitle%3E%250D%250A%3Cinput%2520type%253Dimage%2520value%253Dfoo%2520alt%253Dbar%3E&showsource=yes
07:22
<MikeSmith>
now with highlighting
07:22
<MikeSmith>
zcorpan: ↑
07:23
<zcorpan>
:thumbsup:
07:23
<zcorpan>
"formnovalidate" gets split on two lines for me
07:24
<MikeSmith>
yeah, I noticed that problem in opera
07:24
<MikeSmith>
I don't know how to fix that
07:24
<annevk>
nice
07:25
<hsivonen>
Objection and revert request at the HTML WG over dropping IANA registry mention coming up in 1, 2, 3, ...
07:26
<zcorpan>
MikeSmith: .inputattrname { word-wrap:normal }
07:27
<MikeSmith>
zcorpan: OK, will make that change
07:37
<jgraham>
hsivonen: BTW if you were going to write some tests for this, I would be especially interested in them :)
07:39
<zcorpan>
heycam|away: why does Array[] conversion from JS value to IDL value not accept a user object like {'0':'foo', 'length':1}? (it uses the same rule as sequence<T> which throws TypeError for user objects, if i'm reading it correctly)
07:46
<MikeSmith>
zcorpan: can you please re-check and confirm if that wrapping problem is fixed?
07:46
<MikeSmith>
btw, I couldn't reproduce that in Opera on OSX
07:46
<MikeSmith>
only on Opera Mobile
07:46
<MikeSmith>
maybe it's a Linux bug
07:47
<MikeSmith>
hsivonen: when you have a minute to look at http://qa-dev.w3.org:8888/?doc=data%3Atext%2Fhtml%3Bcharset%3Dutf-8%2C%3C%21doctype%2520html%3E%250D%250A%3Ctitle%3E%3C%252Ftitle%3E%250D%250A%3Cinput%2520type%253Dimage%2520value%253Dfoo%2520alt%253Dbar%3E&showsource=yes please let me know what you think
07:49
<hsivonen>
MikeSmith: cool
07:50
<MikeSmith>
will send you the patch
07:50
<hsivonen>
MikeSmith: since <input> is special-cased, did you actively decide to list all the attributes for <input> instead of showing a pruned list for each <input type=foo>?
07:51
<hsivonen>
(I'm not suggesting that either is the right way. Just wondering what was considered.)
07:51
<MikeSmith>
I did consider listing only the ones for each type, but it seems useful to have them all shown in context, so that the user can see where they are allowed and not allowed
07:51
<zcorpan>
MikeSmith: i have OS X
07:52
<hsivonen>
actually, showing them all is probably a good way to pre-empt "but <input> does have attribute foo. the validator is wrong"
07:52
<hsivonen>
MikeSmith: ok. let's get this landed
07:52
<MikeSmith>
hsivonen: bingo
07:52
<MikeSmith>
OK
07:52
<MikeSmith>
zcorpan: strange. I couldn't reproduce it in either 11.6 nor Opera.Next
07:53
<zcorpan>
MikeSmith: did you try making the window narrower?
07:53
<MikeSmith>
ah
07:53
<MikeSmith>
yeah, that's right
07:53
<MikeSmith>
I was just looking at in at normal width
07:54
<MikeSmith>
zcorpan: OK, yeah, so it does seem to be fixed now. Right?
07:55
<zcorpan>
MikeSmith: class="highlight" the semanticists and accessibility-ists will haunt you :-)
07:56
<MikeSmith>
heh
07:56
<MikeSmith>
I guess I should change that
07:56
<MikeSmith>
suggestions?
07:56
<zcorpan>
source highlight uses <b>
07:56
<MikeSmith>
hmm, "highlight" is not presentational
07:57
<MikeSmith>
anyway, I can tweak that stuff later I guess
07:58
<annevk>
hsivonen: lets see what happens to https://www.w3.org/Bugs/Public/show_bug.cgi?id=16768
08:07
<MikeSmith>
hsivonen: patch sent
08:13
<hsivonen>
MikeSmith: Java could use some syntactic sugar for literal initializers for collections...
08:13
<hsivonen>
JavaScript FTW
08:13
<MikeSmith>
heh
08:13
<MikeSmith>
yeah
08:25
<hsivonen>
MikeSmith: thanks. reviewed.
08:26
<MikeSmith>
thanks
08:49
<hsivonen>
pulseaudio got memes. still waiting for Opera and IE: http://pulseaudiomemes.tumblr.com/
09:50
<hsivonen>
is there a JS-exposed way to abort a document without immediately causing navigation away from the document?
09:52
<annevk>
there was window.stop() at some point I thought
09:53
<annevk>
hmm
09:53
<annevk>
"The stop() method on Window objects should, if there is an existing attempt to navigate the browsing context and that attempt is not currently running the unload a document algorithm, cancel that navigation and any associated instances of the fetch algorithm. Otherwise, it must do nothing."
09:53
<annevk>
I forgot whether it's called navigating if a document is loading
09:54
<jgraham>
Yeah I was thinking the same
09:54
<jgraham>
I'm not sure if "cancel the navigation" is the same as "abort the document"
09:55
<jgraham>
Seems like it isn't per spec
09:56
<jgraham>
Or at least, I don't really know how "cancel the navigation" is defined
09:57
<jgraham>
But the navigation algorithm cancels previous navigations and aborts as a seperate step
09:59
<hsivonen>
readyState in Firefox is flaky, episode 42: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1478
09:59
<hsivonen>
I'm increasingly unhappy about readyState support landing without thorough assertions
09:59
<hsivonen>
bonus points for test cases
10:01
<hsivonen>
the above case I fixed for Firefox 14
10:02
<jgraham>
hsivonen: Can we expect to you make a W3C-sharable testsuite gor this (hint ;)
10:02
<jgraham>
*for
10:04
<hsivonen>
jgraham: not a safe expectation, unfortanately
10:04
<hsivonen>
I do plan to add fatal-in-debug-builds assertions to make sure people don't get to regress this stuff easily
10:09
jgraham
is pretty sure that the Mozilla Manifesto requires writing sharable tests ;)
10:09
<hsivonen>
Opera Next fires onload after window.stop()
10:10
<hsivonen>
Firefox and Chrome don't
10:10
<hsivonen>
Chrome transitions to readyState == "complete" synchronously upon window.stop(), which worries me
10:10
<hsivonen>
I'd expect a transition to "interactive" and an async transition to "complete" later
10:11
<jgraham>
The Opera thing sounds like a bug
10:11
<hsivonen>
jgraham: shareable test case: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1479
10:11
<hsivonen>
I believe the Mozilla Manifesto doesn't require filing Opera bugs after pointing them out on IRC :-)
10:11
<annevk>
why should load not fire?
10:12
<jgraham>
hsivonen: Point :)
10:12
<jgraham>
annevk: Why would it?
10:12
<hsivonen>
IE9 doesn't support window.stop()
10:13
<annevk>
jgraham: nothing delays the load event anymore
10:15
<annevk>
kind of depends on how all the algorithms hook into each other of course
10:15
<annevk>
there's quite a lot of them
10:15
<jgraham>
annevk: Where is the load event fired?
10:15
<annevk>
when you stop parsing
10:15
<hsivonen>
I expected the load event not to fire when aborting
10:15
<annevk>
well an async process is started at that point
10:15
<jgraham>
Hmm, maybe that is still called if you abort the navigation then
10:15
<jgraham>
s/abort/cancel/
10:16
<hsivonen>
window.stop() in Gecko and WebKit seems to abort
10:16
<jgraham>
But "cancel the navigation" isn't obviously well defined
10:16
<hsivonen>
at least superficially
10:16
<hsivonen>
I'm going to be unhappy if Facebook depends on the details of this stuff
10:19
<hsivonen>
boo. IE10 doesn't support window.stop()
10:19
<smaug____>
what?
10:20
<hsivonen>
smaug____: Object doesn't support property or method 'stop' on line 3
10:20
<jgraham>
So does anyone disagree that "cancel the navigation" is undefined? If so, where is it defined? Otherwise I will file a bug
10:21
<hsivonen>
which browsers fire event for readyState transitions?
10:21
<hsivonen>
*events
10:21
<hsivonen>
do any?
10:22
<hsivonen>
Chrome does
10:23
<hsivonen>
even worse, it looks like it indeed transitions straight from "loading" to "complete"
10:23
<hsivonen>
sigh. is skipping "interactive" in some cases an IEism that Gecko and WebKit emulate?
10:25
<gsnedders>
hsivonen: We have interactive
10:26
<gsnedders>
(Gmaps relies on it, or did)
10:27
<hsivonen>
gsnedders: "interactive" in what situation?
10:27
<hsivonen>
gsnedders: WebKit and Gecko skip "interactive" in *some* situations
10:27
<gsnedders>
hsivonen: Dunno. Not looked at the code :)
10:27
<hsivonen>
gsnedders: Gecko skips it when a parser is aborted or when an XSLT transform fails to compile
10:28
<hsivonen>
the former seemed to be an intentional change by sicking
10:28
<hsivonen>
the latter seems like an oversight
10:28
<hsivonen>
Chrome skips "interactive" when calling window.stop() from a script-created document
10:30
<hsivonen>
I'd like documents not to skip "interactive" unless Web compat requires "interactive" to be skipped sometimes
10:30
<hsivonen>
because skipping "interactive" makes it unclear if there's a browser bug or an intentional skip
10:32
<hsivonen>
readyState is one of those things that seem simple on surface but are a huge mess when you start investigating what's going on
11:03
<annevk>
if you do set([...]) and you get TypeError: 'dict' object is not callable in Python what is going on?
11:09
<zcorpan>
annevk: i see 16 cp1250 encoding declarations in web200904
11:09
<zcorpan>
10 of which are in the http header
11:09
<annevk>
yeah, labels are somewhat conservative at the moment
11:10
<annevk>
http://wiki.whatwg.org/wiki/Encoding#Labels
11:10
<annevk>
the reason is probably because in one browser nothing happened for that label
11:11
<annevk>
right
11:11
<annevk>
Internet Explorer
11:11
<annevk>
Had all these as labels for "obviouslyfake" in my single-byte encoding research: csiso88598i, iso8859-11, iso8859-10, iso8859-14, csisolatin6, l6, obviouslyfake3, iso-8859-8-e, obviouslyfake2, iso8859-3, cp1255, iso8859-7, iso8859-5, cp1254, iso8859-9, iso8859-8, mac, cp1253, x-mac-roman, csmacintosh, iso-8859-16, iso8859-6, iso8859-13, iso-8859-6-e, iso-8859-6-i, iso8859-4, iso-ir-157, iso8859-15, cp1257, iso-8859-14, cp1251, cp1250, cp1258,
11:11
<annevk>
latin6, iso-8859-10
11:13
<hasather>
annevk: did you overwrite `set` with a dict?
11:13
<annevk>
less conservative is probably okay, but you cannot be liberal, recognizing euc_jp as euc-jp is wrong
11:13
<zcorpan>
$ grep -aPih "text/html\s*;\s*charset\s*=\s*[\"']?(866|ansi_x3.4-1986|asmo-708|cn-gb|cp1250|cp1251|cp1252|cp1254|cp1257|cp367|cp50220|cp51932|cp819|cp932|cp936|csascii|cscp50220|cscp51932|cseuckr|cseucpkdfmtjapanese|csibm866|csinvariant|csiso646basic1983|csiso88596e|csiso88596i|iso-8859-6-i|csiso88598e|csiso88598i|cskoi8r|csunicode|csunicode11|csunicode11utf7|utf-7|csunicodeascii|csunicodejapanese|csunicodelatin1|csviscii|viscii|
11:13
<zcorpan>
cn|euc-tw|euc-tw|extended_unix_code_packed_format_for_japanese|ibm367|ibm819|invariant|iso-10646|iso-10646-j-1|iso-10646-ucs-2|iso-10646-ucs-basic|iso-10646-unicode-latin1|iso-2022-cn|iso-2022-cn|iso-2022-jp-1|iso-2022-jp-1|iso-8859-6-e|iso-8859-6-i|iso-8859-6-i|iso-8859-8-e|iso-celtic|iso-ir-100|iso-ir-199|iso-ir-226|iso-ir-6|iso646-us|iso8859-11|iso8859-12|iso-8859-12|iso8859-13|iso8859-15|iso8859-16|iso8859-3|iso8859-4|iso8859
11:13
<zcorpan>
859-7|iso8859-8|iso8859-9|iso88591|iso885910|iso885911|iso885912|iso-8859-12|iso885913|iso885914|iso885915|iso885916|iso88592|iso88593|iso88594|iso88595|iso88596|iso88597|iso88598|iso88599|iso_646.basic:1983|iso_646.irv:1991|iso_8859-10:1992|iso_8859-14|iso_8859-14:1998|iso_8859-16|iso_8859-16:2001|iso_8859-1:1987|iso_8859-2:1987|iso_8859-3:1988|iso_8859-4:1988|iso_8859-5:1988|iso_8859-6-e|iso_8859-6-i|iso-8859-6-i|iso_8859-6:198
11:13
<zcorpan>
|iso_8859-8-e|iso_8859-8-i|iso_8859-8:1988|iso_8859-9|iso_8859-9:1989|ks_c_5601-1987|l10|l8|latin-9|latin10|latin8|microsoft-cp1250|microsoft-cp1251|microsoft-cp1252|microsoft-cp1253|microsoft-cp1254|microsoft-cp1255|microsoft-cp1256|microsoft-cp1257|microsoft-cp1258|ms932|ms936|ref|sjis|tis-620-2533|unicode-1-1|unicode-1-1-utf-7|utf-7|us|utf-7|utf-7|viscii|viscii|windows-936|x-cp1252|x-cp1253|x-cp1254|x-cp1255|x-cp1256|x-cp1257|
11:13
<zcorpan>
|x-mac-ce|x-mac-greek|x-mac-greek|x-mac-turkish|x-mac-turkish|x-user-defined|x-user-defined)" web200904 > labels.txt
11:15
<annevk>
hasather: thanks, thought it was scoped to the for loop
11:15
<annevk>
thanks zcorpan
11:32
<annevk>
zcorpan: what does -aPih mean here?
11:34
<zcorpan>
annevk: see grep --help
11:34
<zcorpan>
http://simon.html5.org/dump/encoding-labels/
11:36
<zcorpan>
cp1250: 9 ... hmm, the original grep found 16
11:37
<zcorpan>
cp1254: 10646
11:38
<zcorpan>
maybe the python counter is bogus
11:41
<zcorpan>
changed
11:43
smaug____
wants better map services. Although Bing map is mostly great, satellite pictures should get updated daily
11:43
<smaug____>
...so that I could check whether certain lake still has ice
11:44
<zcorpan>
hmm. the grep is also bogus...
11:46
<MikeSmith>
hsivonen: btw, as far as open validator stuff, a while back you said you were planning to land the VerifierCommandLine code from the pfalcon bitbucket fork. You still planning on doing that?
11:50
<annevk>
cp1254: 10646 is kind of alarming
11:51
<zcorpan>
yeah that was bogus, got 10 in the second run :-)
11:52
<zcorpan>
annevk: ok now the data should be more accurate
11:53
<zcorpan>
"us" had a high number previously, but is now 0, because the previous grep didn't check the next char so picked up "us" in e.g. "us-ascii"
11:54
<annevk>
sweet thanks
11:54
<zcorpan>
np
11:55
<annevk>
ideally we do a similar run over the top 1 million pages with help from foolip
11:56
<foolip>
annevk, zcorpan, to collect encoding label statistics?
11:56
<annevk>
yeah
11:56
<annevk>
to see if there's any labels that might be worth adding
11:56
<annevk>
though we'd have to be careful with adding false-positives
11:57
<foolip>
yeah, it wouldn't be hard to modify the script to get ~5 pages per domain, but I guess extracting the labels is the hard bit, currently I just use a regexp
11:57
<zcorpan>
we could grep for *all* labels
11:57
<foolip>
all labels in which list?
11:57
<zcorpan>
all labels that are specified in the wild
11:58
<zcorpan>
no list
11:58
<foolip>
right, so the problem becomes writing the encoding sniffing per spec, which I haven't done
11:58
Philip`
imagines it might be worth running the data through an HTML parser so you can look for <meta http-equiv=content-type ...> more reliably
11:58
<foolip>
right, that might work, even if it isn't exactly what the spec does
11:59
<annevk>
might also be slow
12:00
<Philip`>
Parsing in Java is fast
12:00
<foolip>
yeah, the spec sniffing of the first 1024 bytes should be fast and allow you to close the connection without getting the entire resource, if that's what you want
12:00
<Philip`>
(where "fast" is like tens of thousands of pages per minute, if I remember correctly)
12:01
<foolip>
well, I guess whoever writes the code will decide :)
12:25
<zcorpan>
annevk: now the data says 16 for cp1250
12:26
<zcorpan>
annevk: i forgot to do a case-insensitive regexp in the python script
12:26
<annevk>
ah k
12:26
<annevk>
have done that too
12:28
<annevk>
some of the weird long ones are relatively common too
12:28
<zcorpan>
annevk: 'utf-7' is present 5 times in http://wiki.whatwg.org/wiki/Encoding#Labels
12:31
<annevk>
zcorpan: yeah I used some internal data
12:31
<annevk>
zcorpan: that encoding cannot be activated on the web
12:32
<annevk>
still used for email I think
12:35
<annevk>
zcorpan: is it hard to get a list of URLs along with http://simon.html5.org/dump/encoding-labels/label-count.txt ?
12:38
<annevk>
AryehGregor++ for https://bugzilla.mozilla.org/show_bug.cgi?id=702948
12:39
<annevk>
AryehGregor: might be interesting for NodeIterator too
12:41
<zcorpan>
annevk: shouldn't be too hard
12:54
<gsnedders>
Does it make me a bad computer scientist to end up hating thinking about data structures, unsure what to use?
12:58
<annevk>
gsnedders: just means you need more practice :)
12:58
<annevk>
gsnedders: fwiw, I have that each time I write scripts for research
12:59
<Philip`>
gsnedders: A good computer scientist would just list the big-O complexity of every possible data structure and pick whichever one is smallest
13:00
<jgraham>
And then use it on sets of 2 items
13:01
<gsnedders>
Philip`: Ah, I'm down to everything being O(n), but with vastly different perf in Python (although fairly similar in C).
13:02
<jgraham>
hsivonen: You might like to look at http://w3c-test.org/html/tests/submission/Opera/documentwrite/ Not that Gecko fails (m)any (although some seem to fail if you run them in an iframe, at least on my system, although it could be a cache issue after I fixed some bugs in the tests)
13:04
<Philip`>
gsnedders: A good computer scientist would ignore constant factors - they're just a trivial implementation detail
13:05
<gsnedders>
Philip`: :)
13:05
<gsnedders>
Philip`: Problem I think is the big-O complexity of Python built-ins…
13:05
<jgraham>
So… you didn't actually make everything O(N)?
13:06
<jgraham>
Pretty sure not knowing what data structure/algorithm you are *actually* using makes you a bad computer scientist, yes :)
13:07
<gsnedders>
jgraham: I think not :(
13:07
<gsnedders>
Working out the complexity of algorithms where you don't know what the complexity of operations on the interpreter builtins are is hard.
13:07
<gsnedders>
Esp. because it's an impl-detail of the interpreter.
13:07
<jgraham>
That is kind of silly
13:07
<gsnedders>
Okay, so I can probably care most about CPython, but still.
13:08
<jgraham>
Clojure has the right idea
13:08
<gsnedders>
jgraham: ?
13:08
<Philip`>
gsnedders: By your logic, surely any algorithm could be described as O(1), just with the problem that it's a constant number of built-in operations that don't have constant cost themselves
13:08
<gsnedders>
Philip`: Yes.
13:09
<gsnedders>
(Provided any problem > O(1) has a solution as a built-in)
13:09
<gsnedders>
(or sequence thereof)
13:09
<gsnedders>
(which surely isn't certain?)
13:09
<jgraham>
gsnedders: The built-in data structures in clojure all have a stated complexity for each operation they support
13:09
<gsnedders>
jgraham: Ah.
13:09
<Philip`>
(You can just add a built-in solveAlgorithm582() function to your language)
13:10
<jgraham>
That is the only fact I know about clojure
13:10
<jgraham>
Well apart from the fact that it is a lisp that runs on the jvm
13:10
<Philip`>
C++ STL typically states complexity too, which is nice
13:10
<jgraham>
and that it looks like it is quite fun
13:10
<jgraham>
On the other hand C++ STL only just got a hash table type
13:12
<Philip`>
There's been generally compatible vendor-specific ones for years, and Boost's one that I think the standard got based on, so that's a mostly theoretical problem if you don't care about extreme portability
13:13
<gsnedders>
(And if you care about extreme portability, plenty of embedded devices don't have the STL anyway)
13:13
<jgraham>
OTOH as a C++ beginner, none of that is at all obvious
13:14
<jgraham>
Well itg is pretty obvious that someone would have implemented hash tables somewhere
13:15
Philip`
likes that boost::unordered_map lets you do lookups using a key object that's not the same as the unordered_map's actual key type (assuming compatible hash and equality functions)
13:15
<jgraham>
… why?
13:16
<Philip`>
It means you can e.g. have a std::string key type (which does automatic memory management), but do lookups using a char*, so you don't have to do an allocation to construct the key for every lookup
13:16
<jgraham>
Oh, that's quite neat
13:16
<jgraham>
Or really stupid, hard to tell which :)
13:18
<jgraham>
Presumably you don't just use a std::string* for both because you want the hash table to own the strings, or something?
13:18
<gsnedders>
I guess theoretically the complexity of operations could vary between CPU architectures, too, but that's probably caring too much.
13:18
<annevk>
foolip: btw, I can volunteer for writing that algorithm in Python
13:18
<annevk>
foolip: not Java
13:20
<Philip`>
jgraham: Yeah, you don't want to have to manually free pointers inside complex data structures, because that usually becomes an ugly mess and will leak everywhere
13:21
<Philip`>
(whereas using std::string means it'll automatically deal with all the copying and freeing, and would only be noticeably inefficient if you're modifying the structure heavily and causing a load of copies, and isn't a problem if you're primarily doing lookups)
13:35
<zcorpan>
annevk: http://simon.html5.org/dump/encoding-labels/labels-urls.txt
13:59
<zcorpan>
first interesting url, cp1251, http://www.b2blogger.com/pressroom/tag/%F7%E0%F1%F2%ED%FB%E9%20%EA%EB%E8%E5%ED%F2
14:05
<annevk>
zewt: lower boundary does not work with interval I think
14:05
<annevk>
zewt: as lower boundary can be greater than 0x10FFFF
14:05
<annevk>
zewt: also, where is this interval syntax defined?
14:07
<zewt>
where is the phrase "greater than" defined? :)
14:08
<zewt>
[0x200000,0x10FFFF] works, and is empty
14:09
<zewt>
probably easy enough to define (havn't looked through the other encoders/decoders much so I don't know if there's enough cases for it to be worth it)
14:16
<matjas>
what does the TR in W3C spec URLs stand for? e.g. http://www.w3.org/TR/CSS2/
14:18
<zcorpan>
Technical Report
14:19
<zcorpan>
or at least i think it used to, now TR/ says "All Standards and Drafts"
14:20
<annevk>
yup
14:20
<annevk>
zewt: there's quite a few of those, especially with bytes
14:20
<annevk>
zewt: just search for "to 0x"
14:21
<annevk>
zewt: still a bit skeptical since I don't like how that looks, but maybe
14:21
<annevk>
zewt: also, "greater than" is way different from [0x40,0x50] :)
14:25
<MikeSmith>
jgraham, annevk : please remind me how to fix this anolis problem
14:25
<MikeSmith>
anolis --dump-xrefs=data/xrefs/dom/crypto.json Overview.src.html /tmp/spec
14:25
<MikeSmith>
[Errno 2] No such file or directory: 'data/xrefs/dom/crypto.json'
14:26
<matjas>
zcorpan, annevk: ty
14:26
<MikeSmith>
I thought what --dump-xrefs=data/xrefs/dom/crypto.json does is to create the data/xrefs/dom/crypto.json file
14:26
<MikeSmith>
gsnedders: ↑
14:28
<gsnedders>
MikeSmith: No idea, I have nothing to do with that functionality.
14:28
<MikeSmith>
ok
14:31
<jgraham>
MikeSmith: Ask Ms2ger
14:32
<annevk>
MikeSmith: make a crypto.json file consisting of {}
14:32
<annevk>
MikeSmith: it doesn't create the file, it just fills it up
14:34
<jgraham>
That seems quite silly
14:38
<zcorpan>
http://www.rediff.com/gujarati/2002/apr/19dalal.htm
14:44
<MikeSmith>
annevk: thanks
14:44
<MikeSmith>
jgraham: I think it merits some stronger word than silly
14:46
gsnedders
wonders whether requiring UTF-8 for text/* over HTTP/2.0 is viable, or just as fictional as text/* being ISO-8859-1.
14:46
<gsnedders>
Certainly moving away from any content-type sniffing for SPDY content would be desirable.
14:47
<gsnedders>
(Whether a Content-Type header is used or magic bytes instead is a separate issue)
14:48
<jgraham>
MikeSmith: The W3C testrunner tries to run tests in an iframe, right?
14:49
<dglazkov>
good morning, Whatwg!
14:50
<MikeSmith>
jgraham: it was using an object before
14:50
<jgraham>
MikeSmith: I thought people objected to that?
14:50
<MikeSmith>
I can't remember if it was updated to use an iframe or nt
14:50
<MikeSmith>
jgraham: yeah, it causes problems on mobile
14:50
<MikeSmith>
you can't scroll
14:51
<jgraham>
Anyway I object to iframe on the basis that testing window.top doesn't really work in an iframe (for example)
14:52
<jgraham>
Basically I think this whole harness might be a world of hurt
14:52
<jgraham>
Of course it's not strictly relevant to me since we won't ever use it
14:52
<jgraham>
But I will be annoyed if people get upset when tests break in it
14:52
<MikeSmith>
I checked and it's still using <object>
14:52
<MikeSmith>
jgraham: who's we?
14:52
<jgraham>
OK
14:53
<MikeSmith>
and why won't you use it?
14:53
<jgraham>
Opera. But I would expect "browser vendors"
14:53
<MikeSmith>
oh
14:53
<MikeSmith>
yeah
14:53
<jgraham>
Because we have a highly custom solution designed for our specific requirements
14:53
<MikeSmith>
yeah
14:53
<MikeSmith>
understood
14:54
<jgraham>
(I guess you know that, but one must always think of the people trawling the logs)
14:54
<MikeSmith>
heh
14:54
<MikeSmith>
I think people trawling the logs should find some better way to spend their time
14:54
<annevk>
MikeSmith: jgraham: I'm sure Ms2ger takes patches
14:55
<annevk>
it does prevent people from creating files they didn't want to, and given that it's only for the first time, it's not too bad
14:55
<Philip`>
MikeSmith: Indeed, reading the channel's logs is almost as bad as reading the channel live
15:03
<MikeSmith>
Philip`: indeed
15:03
<MikeSmith>
annevk: I wonder where the name big5 came from
15:03
<MikeSmith>
I mean, why name it that?
15:04
<jgraham>
Size matters?
15:05
<zcorpan>
MikeSmith: https://twitter.com/#!/brucel/status/189664480391741440
15:05
<Ms2ger>
brucel++
15:06
<annevk>
'The name "Big5" is in recognition that the standard emerged from collaboration of five of Taiwan's largest IT firms: Acer (宏碁); MiTAC (神通); JiaJia (佳佳), ZERO ONE Technology (零壹 or 01tech); and, First International Computer (FIC) (大眾).'
15:06
<annevk>
apparently not quite enough collaboration
15:06
<annevk>
at least not when it came to extending it
15:07
<MikeSmith>
heh
15:07
<zcorpan>
they should have made the label 宏碁-神通-佳佳-零壹-大眾
15:07
<zcorpan>
(encoded as big5)
15:08
<jgraham>
So basically it was an ego thing?
15:08
<jgraham>
Impressive
15:08
<zcorpan>
(sorry, i mean, encoded as 宏碁-神通-佳佳-零壹-大眾)
15:09
<MikeSmith>
zcorpan: maybe they should have named it secret7
15:09
<MikeSmith>
brucel maybe likes that one better
15:12
<zcorpan>
good idea for next year's april 1
15:12
<jgraham>
I think of brucel as a maloryTowers man
15:22
<annevk>
zewt: I like the emit encoder/decoder error idea btw
15:22
<annevk>
zewt: that's quite neat
15:23
<annevk>
zewt: I didn't really like the current approach either
15:23
<annevk>
euh don't
16:03
<annevk>
MikeSmith: ah, the other reason it's not automatically generated is that you need to add a "url" field to crypto.json
16:03
<annevk>
MikeSmith: otherwise other specs can't use it
16:03
<MikeSmith>
oh
16:04
<annevk>
the xspec xref is a concatenation of that URL and the term
16:04
<MikeSmith>
but it seems like that could just be specified as an additional param
16:05
<annevk>
in the makefile?
16:05
<MikeSmith>
to anolis
16:05
<MikeSmith>
additional switch
16:05
<annevk>
i guess that could somehow be extracted too, yeah
16:08
<Ms2ger>
MikeSmith, yeah, patch welcome :)
16:08
<MikeSmith>
can't be arsed
16:09
<MikeSmith>
I prefer to complain
16:09
<MikeSmith>
seriously, it's not heinous thing
16:09
<MikeSmith>
just hard to remember
16:09
<Ms2ger>
Yeah
16:09
<MikeSmith>
I think this is the 3rd time I've need to re-remember it
16:09
<Ms2ger>
3rd time you added a spec? :)
16:09
<MikeSmith>
yeah
16:10
<MikeSmith>
I guess so
16:10
<MikeSmith>
in this case it was trying to help the domcrypt guys get their stuff working
16:10
<Ms2ger>
Didn't I add that?
16:10
<MikeSmith>
dunno
16:10
<MikeSmith>
but don't think so
16:10
<MikeSmith>
because it was failing at the point where it was looking for that json file
16:11
<MikeSmith>
unless you put it in a different subdir
16:14
<Ms2ger>
Great news, gsnedders stopped being dumb :)
16:14
<gsnedders>
Ms2ger: Esp. considering I have exams next week!
16:15
<arunranga>
annevk, should HTML also define what a microtask is, in addition to "perform a microtask checkpoint"? That allows other specs (like File) to make some conditions only valid within a microtask.
16:22
<annevk>
arunranga: if you need a new concept from HTML related to task I'd suggest filing a bug on HTML with the requirements
16:23
<annevk>
tasks*
16:23
<annevk>
arunranga: especially if you need some kind of hook
16:23
<annevk>
arunranga: it seems though for the resolve URL thing we might need a bit more
16:24
<arunranga>
annevk: ok. I guess I wanted you (and Ms2ger's) take from a DOM perspective.
16:24
<arunranga>
annevk: yes, I'm trying to figure out *what* we might need.
16:24
<Ms2ger>
Ah, it's arunranga!
16:24
<arunranga>
Hello Ms2ger :) Formerly otherarun. Also, TheArun.
16:25
<Ms2ger>
Microtasks? 300 smaug____ annevk aklein
16:25
<annevk>
maha 301 hixie
16:25
<annevk>
I should understand this stuff, but each time it dazzles me
16:26
<arunranga>
All this redirection is giving me a time out.
16:26
<arunranga>
annevk, if by "dazzles" you mean "totally confuses me to the point of tears" I'm in the same boat as you.
16:26
<Ms2ger>
I decided against 301 because I still have hope I'll figure it out at some point :)
16:26
<Ms2ger>
The reason for that, of course, is that I haven't looked at it
16:27
<smaug____>
what about microtasks ?
16:27
<smaug____>
ah, some spec things...
16:27
<annevk>
arunranga: haha, it's not quite that bad, but the resolving URLs concept is quite confusing
16:27
<Ms2ger>
s/resolving//
16:28
<arunranga>
Greetings smaug___ ! Currently, HTML specifies "perform a microtask checkpoint" without an explanation of what constitutes a microtask. I think a microtask is a convenient concept upon which to hang a few other checks.
16:28
<arunranga>
smaug___, Ms2ger, annevk: this includes the validity of a Blob URL. I'd like them to be scoped within a microtask.
16:28
<arunranga>
(if possible)
16:28
<Ms2ger>
Blob URLs?
16:29
Ms2ger
runs
16:29
<Ms2ger>
zewt cares about that, IIRC?
16:29
arunranga
catches Ms2ger and forces the issue :)
16:29
<Ms2ger>
r-
16:30
<Ms2ger>
MikeSmith, I'm going to see if I can add a better error message for the --dump-xrefs thing
16:30
<MikeSmith>
OK
16:30
<MikeSmith>
that would be helpful
16:30
<arunranga>
zewt and I chatted a while ago about resolution of Blob URLs. FileAPI currently uses the confusing "dereference…" which I think should be replaced.
16:31
<smaug____>
arunranga: yeah, HTML spec could perhaps specify better what is a microtask. (The outermost script execution of the innermost task)
16:32
<arunranga>
smaug___ I'll file a bug I think.
16:33
<arunranga>
We've got performing a microtask checkpoint defined in terms of MutationObserver.
16:34
<smaug____>
well, because that is the original reason for microtasks
16:34
<smaug____>
sicking was thinking to use microtasks IDB
16:36
<arunranga>
I think we can use them for File as well, maybe for validity of Blob URLs.
16:38
<Ms2ger>
jgraham, MikeSmith, fwiw, Mozilla runs mochitests in an iframe too, so I don't think there would be an objection from our side
16:38
<annevk>
dglazkov: xmp is not a valid element fwiw
16:38
<Ms2ger>
jgraham, MikeSmith, I think we use popups, and disable popup-blocking, if necessary
16:39
<annevk>
arunranga: validity of blob URLs doesn't need to happen in a task I think
16:39
<gsnedders>
Anyone have IE10 at hand to see if const is supported in ES?
16:39
<arunranga>
annevk: What I mean is, *scoped* to a microtask.
16:40
<arunranga>
annevk: this makes leaks less likely.
16:40
<Ms2ger>
gsnedders, I can if you give me a test
16:40
<annevk>
ooh, the expiring stuff
16:40
<annevk>
right
16:40
<arunranga>
annevk: that is, having unused Blob URLs or "long lived" ones. Also, it mitigates the need for something like oneTimeOnly.
16:40
<Ms2ger>
Preferably by uploading it to the live dom viewer
16:40
<annevk>
arunranga: yeah I remember reading that, I think zewt was all on top of that :)
16:41
<gsnedders>
Ms2ger: http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1480
16:41
<annevk>
but part of that sounded like it needed to be defined in either URL resolving or fetching
16:41
<arunranga>
annevk: won't exactly stop race issues, but can mitigate them.
16:41
<gsnedders>
Ms2ger: Basically, does it give an error or not?
16:41
<annevk>
and then XHR and everything dealing with URLs needed updating
16:41
<arunranga>
annevk, right. Are those the purview of HTML?
16:42
arunranga
concludes it is.
16:43
<Ms2ger>
gsnedders, Syntax error
16:43
<gsnedders>
Ms2ger: Interesting.
16:43
<dglazkov>
annevk: ok :)
16:45
jgraham
tries to test some simple things, finds a selection of unrelated issues
16:45
<jgraham>
In other news, I am starting to understand why hsivonen hates about:blank
16:46
<jgraham>
Ms2ger: We run some tests in popup windows and some tests (including testharness.js tests) as top level documents
16:46
<smaug____>
that happens in Mozilla too
16:46
<smaug____>
some tests open a new window
16:47
<smaug____>
or new tab etc
16:47
<smaug____>
but most are run in an iframe
16:47
<jgraham>
Right, your tests can have chrome permissions
16:47
<jgraham>
Whereas we drive the tests externally so we can load them in a top-level window
16:47
<jgraham>
aiui
16:48
<jgraham>
Well I mean I understand the Opera system. I think I understand what Mozilla do :)
16:48
<Ms2ger>
Plain mochitests are run in an iframe and don't get chrome permissions
16:49
<Ms2ger>
Modulo SpecialPowers, which is an extension that grants access to some stuff, and UniversalXPConnect, which we want to kill
16:49
<annevk>
arunranga: URLs and fetch are at this point
16:49
<Ms2ger>
There are also chrome mochitests, which are run in a top-level window, and do have chrome permissions
16:49
<Ms2ger>
And other stuff
16:50
<annevk>
dglazkov: I guess what I should say, is that we have not introduced any new features in the HTML syntax that depart wildly from what is possible in XML
16:50
<jgraham>
Do SpecialPowers allow you to open a top-level browsuing context if you need it?
16:50
<Ms2ger>
That's what window.open is for
16:51
<annevk>
dglazkov: so making such a proposal can be somewhat controversial and also begs the question of how you anticipate <template> to work in a namespaced context
16:52
<jgraham>
Fair point. I always forget that window.open gives a top-level browsing context
16:55
<dglazkov>
annevk: I haven't been keeping XML and namespaces in mind at all. It's a good point -- though I have no sense whether XML is just an edge case at this point.
17:00
<annevk>
dglazkov: I think it is, and I don't necessarily think we need to cater to it, but unless we remove XML from browsers it needs to be defined what <template> does in that context
17:00
<annevk>
dglazkov: and it's also important in the DOM
17:00
<annevk>
dglazkov: if appendChild() something to <template> you'd have the same thing
17:01
<dglazkov>
annevk: that last one doesn't seem much different from appending a child to textarea
17:06
<dglazkov>
annevk: can you help rafaelw_ understand the issue with XML?
17:07
<rafaelw_>
annevk, hsivonen, dglazkov: just joining...
17:07
<rafaelw_>
annevk: if you would be so kind ^^^
17:07
<annevk>
the issue is that this feature would not work in XML
17:07
<annevk>
just like <noscript> I suppose
17:07
<annevk>
if that's by design, it probably should state that explicitly so people who get annoyed by that kind of thing get annoyed early on
17:08
<annevk>
I don't really care
17:09
<rafaelw_>
honestly, this working in XML hadn't even occurred to me.
17:09
<rafaelw_>
but can you help me understand why it doesn't work.
17:15
<annevk>
rafaelw_: because you'd have to change the XML parser if you want it to work in the same way
17:15
<annevk>
rafaelw_: I'm assuming you're not planning on doing that
17:15
<annevk>
oh shit, I should have dinner
17:17
<rafaelw_>
hmm... that kinda makes it sound like this isn't so much a problem with XML as a question about whether the <template> element should have the same behavior in an XML document. is that a fair way of stating it?
17:18
<annevk>
I don't think so, because the XML situation also arises in the DOM
17:19
<annevk>
<template><test/></template> is not much different from createElement("template"); createElement("test"); template.append(test); body.append(template)
17:19
<annevk>
whereas in HTML per your suggestion <template><test/></template> would give <template/> in the DOM
17:20
<annevk>
which is "magic" in the HTML parser that we cannot introduce in the XML parser
17:26
<rafaelw_>
(adam is explaining to me locally). so is that the we have the ability to change the HTML parser, but no such ability with the XML parser?
17:26
<annevk>
right, changing those kind of invariants of the XML parser is not going to fly
17:36
<TabAtkins>
gsnedders: I can't decipher what you are attempting to say in your post about "legacy const". This isn't helped by your opening sentence being ungrammatical and nonsensical.
17:44
<gsnedders>
TabAtkins: Yay for not reading emails before I send them!
17:46
<rniwa>
arv: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-inert-attribute
17:46
<Ms2ger>
rniwa, do you know if anybody else than webkit does something as complex as http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSStyleSelector.cpp?rev=113922#L4920 ?
17:46
<annevk>
TabAtkins is correct though that insert="" is not suitable for <template>; my bad
17:47
<annevk>
maybe insert="" should be named inactive=""
17:47
<gsnedders>
TabAtkins: In related news, why does Standard English not contain "outwith" in its lexis? Grr!
17:47
<TabAtkins>
What does "outwith" mean?
17:48
<Ms2ger>
gsnedders, I would ask an English language majo... Oh
17:48
<rniwa>
Ms2ger: as far as I know, Gecko does something similar
17:48
<Ms2ger>
rniwa, including the mode-dependence?
17:48
<rniwa>
Ms2ger: think so
17:49
<Ms2ger>
Because I didn't see that in the code
17:49
<annevk>
"is a Scottish preposition meaning 'outside, beyond', and along with wee (for 'small') is the first non-English English word that visitors to Scotland notice (and sometimes adopt): Do you live outwith the city? / We can discuss that outwith the meeting."
17:49
<annevk>
brilliant
17:49
<rniwa>
Ms2ger: I swear I even checked gecko's implementation at one time
17:49
<rniwa>
Ms2ger: okay, can I see your code?
17:49
<gsnedders>
TabAtkins: Opposite of within, basically
17:49
<rniwa>
Ms2ger: lost my URL :(
17:49
<Ms2ger>
rniwa, I may have changed it since :)
17:49
<rniwa>
Ms2ger: oh
17:49
<rniwa>
Ms2ger: where can I see the code in Gecko though?
17:50
<TabAtkins>
gsnedders: That's just silly.
17:50
<gsnedders>
TabAtkins: so "outwith the meeting" means "not within the meeting", basically
17:50
<TabAtkins>
"outside of"
17:50
<Ms2ger>
http://mxr.mozilla.org/mozilla-central/source/content/html/content/src/nsHTMLFontElement.cpp , right?
17:50
<gsnedders>
TabAtkins: Bah, ScEn has a single word for it!
17:50
<Ms2ger>
Oh, wait
17:50
<gsnedders>
(I've undoubtedly used this a number of times on W3C mailing lists, as I often forget it's a ScEn word)
17:51
<annevk>
gsnedders: does Scotland have a two-level code?
17:51
<annevk>
en-sc or some such
17:51
<gsnedders>
annevk: No. en-gb-scot.
17:51
<annevk>
ugh
17:51
<gsnedders>
Oh, no, that's untrue.
17:51
<gsnedders>
Only Google hit for that is a Tweet by me. Must be misremebering.
17:52
<Ms2ger>
rniwa, sorry, I think I lied
17:52
<Ms2ger>
Gah.
17:52
<rniwa>
Ms2ger: ?
17:52
<Ms2ger>
http://mxr.mozilla.org/mozilla-central/source/layout/style/nsStyleUtil.cpp#64
17:52
<annevk>
gsnedders: sco per ISO
17:52
<gsnedders>
annevk: sco
17:53
<rniwa>
Ms2ger: yup...
17:53
<rniwa>
Ms2ger: i think dhyatt wrote both tables
17:53
<Ms2ger>
And got some off-by-one errors in yours? :)
17:53
<gsnedders>
annevk: Though that implies it's the Scots Language and not a dialect of English (which is a very interesting discussion…)
17:53
<rniwa>
Ms2ger: maybe LOL
17:54
<rniwa>
Ms2ger: anyway, i've got to head to Mozilla's SF office now
17:54
<annevk>
Ms2ger: broken links in your source code
17:54
<rniwa>
so ttyl ;)
17:54
<Ms2ger>
Though I see erik⊙nc has blame for that table
17:54
gsnedders
also finds that Old English and Middle English have their own language codes, interestingly
17:54
<Ms2ger>
rniwa, won't find me there, sorry ;)
17:54
<rniwa>
Ms2ger: i know ;)
17:55
<gsnedders>
annevk: sco is really the Scots Language as opposed to Scottish English, and I'm really meaning the latter here.
17:55
<Ms2ger>
annevk, patches welcome :)
17:55
<Ms2ger>
"Bug 18136 - Fixing the font size mess {font} {ll}"
17:55
<gsnedders>
"Whaur dae ye bide?" would be Scots but not Scottish English, for example
17:55
<annevk>
Ms2ger: been ages since I patched Gecko
17:55
<annevk>
Ms2ger: and I was rather bad at it back then
17:55
<TabAtkins>
gsnedders: Guessing "Where do you live?"
17:56
<Ms2ger>
annevk, surely Opera has trained you by now :)
17:56
<annevk>
in the Gecko ways? not so much
17:56
<gsnedders>
TabAtkins: Yes.
17:56
<hober>
scots gaelic is gd iirc
17:56
<Ms2ger>
Well, I guess the Gecko ways are about as weird as Opera's
17:56
<hober>
i don't remember the three letter code for it
17:57
<gsnedders>
hober: yeah
17:57
<gsnedders>
hober: gla
17:57
<rektide>
anyone have suggestions for how do to drag and drop SVG? my problem is that i'm dragging the item along the screen under the mouse, covering up all the event handlers i would like to be firing
17:57
<hober>
sco is the sister-to-english language spoken in scotland :)
17:57
<rektide>
and elementFromPoint identifies not <svg:use/> elements but what the <svg:use/> elements point to
17:57
<gsnedders>
hober: Ever less so, though. Scottish English is probably about as common as Scots in colloquial usage now.
17:58
<gsnedders>
(Gaelic is practically non-existant for most purposes, and has had very little influence over Scottish English or Scots)
17:58
<rektide>
i'm interested to know what techniques are out there for making the MouseEvents useful, not all target this one being-dragged item
17:59
<othermaciej>
wikipedia sea: "Scottish English refers to the varieties of English spoken in Scotland. It may or may not be considered distinct from the Scots language."
17:59
<othermaciej>
is that wrong?
18:00
<Ms2ger>
[citation needed]
18:00
<Ms2ger>
rniwa (~rniwa@nat/mozilla/x-rkjncmdkxlybjmcu) has joined #whatwg
18:00
<Ms2ger>
We got him!
18:00
<rniwa>
Ms2ger: LOL.
18:00
<rniwa>
Ms2ger: SF goole office & SF mozilla office are in the same building complex
18:00
<shepazu>
rektide: turn off pointer events on the svg element you're dragging
18:00
<gsnedders>
othermaciej: You can argue either way. The academic view tends to be that language in Scotland is a continuum from Standard English through Scottish English to Scots, but still not entirely agreed upon.
18:01
<Ms2ger>
rniwa, remind me never to set foot in that complex, then :)
18:01
<MikeSmith>
othermaciej: http://en.wikipedia.org/wiki/Scots_language "It is sometimes called Lowland Scots to distinguish it from Scottish Gaelic, the Celtic language variety spoken in most of the western Highlands and in the Hebrides."
18:01
<gsnedders>
othermaciej: Given that it's basically a continuum, there's some debate as to whether Scots is a separate language from English or not.
18:01
<smaug____>
Ms2ger: :)
18:01
<smaug____>
Ms2ger: SF isn't that bad place
18:01
<rektide>
shepazu: thank you so much. of course.
18:01
<shepazu>
np
18:01
<rektide>
NOT ANY MORE
18:02
<Ms2ger>
smaug____, I thought you would be in favour of me not joining Google... Unless you saw all my regressions :)
18:02
<rektide>
omg the hackery that's been going on for a day and a half
18:02
<jgraham>
Uh, wait how did I manage to entirely overlook something like <template><test/></template> == <template></template>?
18:02
<othermaciej>
MikeSmith: I do know that Scottish Gaelic is distinct (and only spoken by 1% of the population of Scottland or so)
18:02
<rektide>
;)
18:02
<jgraham>
That's not going to work
18:02
<gsnedders>
othermaciej: Go back to 1707 (Acts of Union, where the Scottish and English parliments effectly ceased to exist to be replaced by a single parliment), Scots was a separate language to English.
18:02
<shepazu>
rektide: remember to turn them back on when you drop the element :)
18:02
<smaug____>
Ms2ger: you could join Mozilla ;)
18:03
<smaug____>
as an employee
18:03
<jgraham>
gsnedders: Is the Scottish plan to leave the union and then fund independence by suing Linux for IP violations?
18:03
<othermaciej>
gsnedders: are you scottish yourself?
18:03
smaug____
can hope someone drags rniwa out from the dark side :p
18:03
<MikeSmith>
wow, Ulster Scots? wtf
18:03
<MikeSmith>
othermaciej: you met gsnedders man
18:03
<othermaciej>
MikeSmith: I'm borderline autistic, I don't remember stuff like that :-)
18:04
<MikeSmith>
heh
18:04
<jgraham>
gsnedders: Is like the opposite of someone who plays Scottish on TV
18:04
<Ms2ger>
Glasgow?
18:04
<MikeSmith>
gsnedders looks like a young Robert Plant
18:04
<gsnedders>
othermaciej: Yes.
18:04
<MikeSmith>
except sexier
18:04
<gsnedders>
MikeSmith: Also, I have never met othermaciej.
18:04
<jgraham>
He was born is Scotland but looks/sounds about as Scottish as I do
18:04
<gsnedders>
But what jgraham said is the truth.
18:04
<jgraham>
But with a slight resembelence to a heroin addict
18:05
<jgraham>
Which is quite glaswegian at least
18:05
<gsnedders>
(Also, jgraham has more Scottish ancestory than I do, IIRC)
18:05
<jgraham>
I never understood how one did sums on ancestors
18:05
<MikeSmith>
gsnedders has a unique sound, just as Robert Plant does
18:05
<othermaciej>
I am not very good at distinguishing UK/commonwealth accents
18:05
<jgraham>
s/did/does/
18:05
<gsnedders>
My accent is approximately RP.
18:05
<jgraham>
I think I have more Scottish parents than you
18:06
<gsnedders>
jgraham: Well, yes, that's what I was going by basically.
18:06
<jgraham>
I'm not sure how one weights backward in time
18:06
<gsnedders>
(I have none.)
18:06
<MikeSmith>
gsnedders, othermaciej : I thought you dudes met in Nice but I guess slacker othermaciej didn't show that year
18:06
<jgraham>
Although I am pretty sure you do it differently in America
18:06
<gsnedders>
(I have a single Scottish grandparent.)
18:06
<jgraham>
Like you find one ancestor in a country you like and claim to be from there
18:06
<gsnedders>
MikeSmith: Yeah, that's what happened.
18:09
<MikeSmith>
my ancestors were mostly pig thieves who fled to America to avoid getting branded with whatever tf the English bastards did to honest pig thieves at that time
18:10
<MikeSmith>
plus French Canadians
18:10
<Ms2ger>
Just your ancestors?
18:10
<MikeSmith>
I've stolen a pig or two in my time
18:10
<gsnedders>
http://en.wikipedia.org/wiki/Middle_Scots#Sample_text is a good example of what Scots was like a few hundred years ago
18:11
<MikeSmith>
plus I've "had" a pig or two i mine time
18:11
<gsnedders>
(Compare with, for example, Shakespeare in first folio form — modern editions are fairly different from the original language)
18:11
<gsnedders>
Obviously related to English, but really quite radically different to it.
18:13
<MikeSmith>
modern glasgow scottish is one of the greats in terms of its utter incomprehensibility
18:13
<gsnedders>
Heheh. It's not that bad!
18:13
<gsnedders>
(I didn't find it that bad when I first moved to Glasgow.)
18:14
<MikeSmith>
glasgow scots are basically barbarians who have barely mastered speech
18:14
<MikeSmith>
pretty sure some thug is now going to kill me for saying that
18:17
<annevk>
rafaelw_: is the idea that the HTML parser will define the parsing algorithm for <template>?
18:18
<annevk>
rafaelw_: because if that's the case, and that would make sense to me, it might be worth filing a bug against HTML at this point too, with some explanation of the goal
18:19
<annevk>
rafaelw_: so the HTML WG is not surprised and we don't get useless revert requests that hober then has to waste time on
18:19
<annevk>
(I guess the alternative is to buy hober even more beer, but I'm not sure that's wise)
18:22
<rafaelw_>
annevk: is there alternative to that?
18:22
<hober>
annevk: :)
18:23
<rafaelw_>
(that was certainly my idea)
18:27
<annevk>
rafaelw_: k
18:29
<MikeSmith>
kickstarter for hober beer
18:30
<annevk>
jsbell: "// TODO: Typo in spec?" is fixed
18:30
<annevk>
jsbell: noticed it myself, then went to check your code, then found that :)
18:31
<MikeSmith>
amazing
18:32
<MikeSmith>
my OSX software update actually updated software without requiring me to restart
18:32
<rafaelw_>
annevk: https://www.w3.org/Bugs/Public/show_bug.cgi?id=16789
18:32
<MikeSmith>
there is hope
18:32
<annevk>
rafaelw_: cool, fixed the component so the email will go to the HTML WG
18:45
<annevk>
hober: maybe we can meet April 30 for Notifications?
18:46
<hober>
annevk: sure. want to come to apple for lunch?
18:46
<annevk>
hober: apparently doing it at the Microsoft venue is not really okay... although I'm not sure anyone actually asked
18:47
<hober>
weird
18:47
<annevk>
cool so if that's feasible we should just find John Gregg I guess and ask whoever else wants to come to come?
18:48
<hober>
sgtm
18:48
<annevk>
sweet, I'll mail the list again
18:53
<Ms2ger>
So, zcorpan gets to spec http://mxr.mozilla.org/mozilla-central/source/layout/style/nsStyleUtil.cpp#64 / http://trac.webkit.org/browser/trunk/Source/WebCore/css/CSSStyleSelector.cpp?rev=113922#L4920
19:02
<annevk>
hober: I'm starting to feel like those people that email "meeting" emails to mailing lists around all the time instead of technical content
19:03
<annevk>
it's only my second such email thus far, but the feeling is strong
19:15
<hober>
annevk: :(
19:17
<Ms2ger>
MikeSmith, should be done now
19:20
<arunranga>
annevk, https://www.w3.org/Bugs/Public/show_bug.cgi?id=16790 for micro tasks now exists #FYI
19:21
<annevk>
nice
19:45
<MikeSmith>
Ms2ger: thanks
19:45
<Ms2ger>
Np
19:49
<annevk>
"Ack: MikeSmith, decoder."
19:51
<Ms2ger>
Not your kind of decoder
19:54
<Ms2ger>
"But test suites will soon be generated based on spec links."
19:54
<Ms2ger>
We live in a brave new world
19:54
<TabAtkins>
Yesssss
19:55
Ms2ger
enters whatwg.org/html
19:55
Ms2ger
waits for the millions of tests to roll out
19:58
<MikeSmith>
hey does anybody here read Dr. Dobbs journal, ever?
19:59
<MikeSmith>
I ask because i wrote up something for that site as a favor
20:00
<MikeSmith>
but jackass editor at that site seems to have found that it didn't meet his narrow view of what he's interested in publishing
20:02
<MikeSmith>
and I'm like, hey I never read anything you publish anyway, nor does anybody else I know, so if you don't choose to publish it, then nobody's going to care anyway
20:02
<annevk>
what was it about?
20:02
<Philip`>
He's not even a real doctor
20:03
<MikeSmith>
"HTML5"
20:03
<annevk>
MikeSmith: publish on blog.whatwg.org or your own blog?
20:03
<annevk>
(don't read dr. dobbs journal btw)
20:04
<MikeSmith>
this fuckartard says he wants an article about "where the HTML5 formalization process is, what still remains to be done, how long that might take, and finally what can be done today that won't be affected by the remaining items to be done"
20:04
<MikeSmith>
which I have no interest in writing
20:05
<MikeSmith>
instead I attempted to write something for him that actual developers might be interested in reading
20:05
<MikeSmith>
annevk: yeah, will post it somewhere else for sure
20:06
<annevk>
let me know when you tweet about it or when it's up
20:06
<annevk>
can share from @whatwg
20:06
<MikeSmith>
plus he's asking, "might I ask why the original article was not written?"
20:07
<MikeSmith>
the answer to which is, he never offered to pay us dime one for writing it
20:07
<MikeSmith>
so I care fuck all what he thinks it should be
20:08
<MikeSmith>
this guy is apparently the executive editor for Dr. Dobbs
20:08
<MikeSmith>
which doesn't give me much confidence
20:08
<MikeSmith>
asshat
20:09
<MikeSmith>
annevk: yeah, will do
20:09
<Philip`>
An editor wanting some control over the articles that get written and published in his publication? That sounds crazy
20:10
<MikeSmith>
everybody please remind me to never again waste my time trying to accommodate tech journalist
20:11
<MikeSmith>
Philip`: apparently they can find lots of people who will write crap for them without being paid
20:12
<MikeSmith>
in contrast to me, where I wrote this as a favor to somebody else on the W3C team who asked me to do it
20:12
<MikeSmith>
not for this moron
20:13
<gsnedders>
u"a" in UCS-4 Python is 56 bytes. Ow.
20:13
<MikeSmith>
heh
20:13
<TabAtkins>
...what?
20:13
<MikeSmith>
python ftw
20:14
<annevk>
gsnedders: you meant to write bytes, not bits?
20:15
<gsnedders>
annevk: Yes.
20:15
<annevk>
o_O
20:15
<gsnedders>
I mean, type flag + repr shouldn't be that big, surely!?
20:16
<gsnedders>
I guess there's no type flag but a pointer to its class
20:16
<gsnedders>
Which would be eight bytes, plus four for the actual repr.
20:18
<gsnedders>
Interestingly, "a" (i.e., a byte string) is 38 bytes, even though I'd expect it to only be be three bytes smaller.
20:30
<Philip`>
gsnedders: x86 or amd64?
20:30
<gsnedders>
Philip`: amd64, lp64
20:49
<jsbell>
annevk: re: "TYPO in spec?" - heh, yeah, was going to dig in a bit before bugging you
20:52
<jgraham>
gsnedders: I think assuming 12 bytes would be wildly optimistic. It stores a bunch of things e.g. length, reference count
20:53
<gsnedders>
jgraham: Oh, yeah, right, Python still has ref counting…
20:54
<jgraham>
Well CPython
20:54
<jgraham>
But yes
20:58
<jgraham>
They also seem to store their hash value, an integer representing whether they are UCS_2, UCS_4 or various other things, an integer indicating whether they are compact, an integer indicating whether they are ascii and some sort of ready flag
20:58
<gsnedders>
jgraham: What version of Python are you looking at?
20:59
<jgraham>
http://hg.python.org/cpython/file/b5e6cbacd6ab/Include/unicodeobject.h
20:59
<jgraham>
Which I assume is latest trunk
20:59
<gsnedders>
Irrelevant. The Unicode repr is changing in 3.3.
20:59
<jgraham>
Seems like you could do a bunch of bit packing here to improve the memory usage
20:59
<jgraham>
gsnedders: You mean has changed?
21:00
<gsnedders>
(As it now stores stuff as ASCII when possible, and then UCS-2 if possible, and finally UCS-4 if it has to, instead of it being set by compiled.)
21:00
<gsnedders>
jgraham: Has changed is trunk, is changing in the next release…
21:00
<gsnedders>
s/by compiled/at compile time/
21:01
<gsnedders>
http://docs.python.org/dev/whatsnew/3.3.html#pep-393-flexible-string-representation
21:01
<jgraham>
2.7 seems to be http://hg.python.org/cpython/file/dd23333b579a/Include/unicodeobject.h#l413
21:01
<jgraham>
gsnedders: Ah, that would explain a lot
21:02
<jgraham>
But it will make the memory usage for your TC worse I would think
21:02
<gsnedders>
jgraham: Makes me want to rewrite this in C more and more…
21:03
<Ms2ger>
gsnedders, but think of the kittens!
21:03
<jgraham>
I really don't see why they need a whole int to store a compact flag and another int to store an ascii flag and another int to store a ready flag
21:03
<gsnedders>
jgraham: Yeah, that just seems silly.
21:03
<gsnedders>
jgraham: Or maybe compat with the old API?
21:03
<Ms2ger>
Access speed?
21:03
<gsnedders>
Ms2ger: ASCII/UCS2/UCS4 should all be one flag, logically.
21:03
<jgraham>
gsnedders: Maybe?
21:04
Ms2ger
points at the topic
21:04
<jgraham>
The old struct looks pretty differnt at least
21:04
<gsnedders>
jgraham: ascii is only one bit
21:04
<gsnedders>
jgraham: I think you need to learn more C :)
21:05
<gsnedders>
jgraham: (actually, it depends on how the compiler decides to layout the struct in memory, but the code dictates ascii is one bit)
21:05
<Ms2ger>
"Only 7-bit ASCII data is excepted."
21:05
<Ms2ger>
Grr
21:06
<jgraham>
gsnedders: Oh, I see
21:07
<jgraham>
Well ignore my previous complaint then
21:07
<gsnedders>
jgraham: Ah, 1BYTE (within kind) and ascii are different: 1BYTE_KIND allows ISO-8859-1, ascii allows US-ASCII
21:07
<jgraham>
I was assuming that C was a logical language
21:07
<gsnedders>
Probably so it knows what it can pass to system functions which expect ASCII
21:07
<jgraham>
So that if it said "unsigned int" you actually got an unsigned int
21:08
<gsnedders>
(I'm trying to implement a trie in Python without using ALL THE MEMORY.)
21:09
<jgraham>
gsnedders: You know short strings are intered, right?
21:09
<gsnedders>
jgraham: Yeah.
21:10
<gsnedders>
Still, my initial, trivial impl used a lot.
21:33
<myndzi>
that document - holy cow. incredible.
21:33
<myndzi>
is there a list of compliant (or close) parsers somewhere?
21:43
<jgraham>
What document? What parsers?
21:46
<myndzi>
the html parsing document on whatwg.org?
21:46
<Hixie>
you mean the spec? :-)
21:46
<myndzi>
sure
21:46
<myndzi>
The Spec
21:46
<myndzi>
:)
21:46
<Hixie>
as, the HTML standard?
21:47
<Hixie>
there's no browser that does exactly what the HTML standard says to do
21:47
<Hixie>
but there's several browsers who are basically trying to coverge on it
21:47
<Hixie>
if that's what you mean
21:47
<myndzi>
not a browser, a library, and i was just curious if there's a list somewhere
21:47
<myndzi>
to help identify the ones that do it the best
21:47
<Hixie>
just for the HTML parser part?
21:48
<Hixie>
html5lib is one i know about, validator.nu has one too
21:48
<myndzi>
yeah, just the html parser part
21:48
<Hixie>
and webkit has a parsing component, dunno how easy it would be to reuse
21:48
<myndzi>
tokenizing and fixing all the messed up stuff
21:48
<myndzi>
etc.
21:48
<myndzi>
i'll check em out
22:03
<jgraham>
Right, Opera, Gecko, WebKit, (IE10?) all have (almost) compliant parsers although they are not really easy to reuse; the Gecko parser (also used in validator.nu) probably has the most potential. html5lib has a python implementation and a less good PHP implementation. It also has some Ruby code that we don't talk about much.
22:03
<jgraham>
I'm not sure about other implementations. It would be nice if someone fixed libxml2
22:03
<myndzi>
there's one that's looking interesting in node
22:04
<myndzi>
looks pretty clean and thorough
22:04
<myndzi>
not sure if i can hijack it to my purposes or not yet ;)
22:04
<myndzi>
jsdom gave me trouble last time i had anything to do with it
22:07
<hober>
myndzi: aredridel's parser is really nice
22:07
<smaug____>
jgraham: there is the dom.js parser
22:08
<myndzi>
yeah, the more i look at it the more i'm like (!)
22:08
<myndzi>
this may jsut save me some work :>
22:08
<jgraham>
Oh yeah, there's at least two javascript implementations!
22:09
<smaug____>
https://github.com/andreasgal/dom.js/blob/master/src/impl/HTMLParser.js
22:09
<jgraham>
And hober was going to write one in elisp :p
22:09
<smaug____>
no idea how good that is
22:09
<hober>
jgraham: well, i wrote the tokenizer
22:09
<hober>
jgraham: but stalled out working on the treebuilder
22:10
<myndzi>
smaug____: lookin like the other one is nicer; this code is beautiful ;)
22:11
<zewt>
<arunranga> annevk: won't exactly stop race issues, but can mitigate them.
22:12
<zewt>
those can be eliminated, it'll just take a bit more work
22:12
<myndzi>
i was gonna say i wish i could clean all the excess stuff out since there's a bunch i don't need, but it looks like it's going "quite fast enough, thank you very much"
22:12
<arunranga>
Hi zewt, were you referring to the aftermath of https://www.w3.org/Bugs/Public/show_bug.cgi?id=16790 ?
22:13
<zewt>
dunno, firefox is being kicked in the head by the one-page spec at the moment :)
22:14
<arunranga>
Which one-page are you referring to?
22:14
<zewt>
http://www.whatwg.org/specs/web-apps/current-work/, the one that everyone fears clicking
22:14
<smaug____>
it isn't that bad
22:14
<gsnedders>
jgraham: Unless I'm being stupid here, unicode strings aren't interned in Python 2
22:14
arunranga
heh
22:14
<Hixie>
i haven't had any trouble with the one-page spec for a while
22:15
<Hixie>
dunno what hardware y'all are using but mine isn't THAT new :-)
22:15
<arunranga>
I actually kicked the one page spec in the head.
22:15
<Hixie>
(mid 2009 macbook pro and mid 2010 imac, mainly)
22:15
<arunranga>
(by adding 4G more RAM)
22:15
<Hixie>
ah, yeah, low RAM might be a problem
22:15
<Hixie>
i always try to max out my ram
22:15
<gsnedders>
Hixie: RAM is the big issue with the spec
22:16
<jgraham>
gsnedders: Oh, maybe
22:16
<arunranga>
Life on 8G of RAM makes me happy.
22:16
<gsnedders>
jgraham: Though looking at this again, I'm doing everything with single-char byte strings
22:16
<jgraham>
gsnedders: 127 characters should be more than enough for anyone
22:17
<zewt>
16gb, still takes a good 7-8 seconds to load (in a sub-500ms web, that's a lifetime :)
22:17
<smaug____>
loading the spec seems to take about 300MB
22:17
<gsnedders>
jgraham: In related news, we need to sort out all the strings in html5lib, because we rely upon implicit conversion often
22:17
<jgraham>
Yes
22:17
<gsnedders>
jgraham: And that conversion time probably costs us in places.
22:17
<jgraham>
No
22:17
<jgraham>
I would expect
22:17
<jgraham>
But we should actually do a python 3 port
22:17
<jgraham>
so yes, we should fix it
22:18
<jgraham>
Anyway I should be asleep
22:18
<gsnedders>
jgraham: entitiesStartingWith was last time I looked by far the slowest thing when parsing the spec
22:18
<gsnedders>
jgraham: And relies upon implicit conversion
22:18
<jgraham>
Well if we fix it and it makes us faster then I won't be unhappy
22:19
<jgraham>
If you fix it and it makes us faster I will be even less unhappy :)
22:23
<gsnedders>
jgraham: Yup, the implicit coercion costs us ~0.8s on my fairly high-powered machine
22:24
<gsnedders>
17.1 -> 16.3s to parse the spec
22:30
<gsnedders>
Pushed.
22:47
gsnedders
concludes that a 10% improvement in parsing the spec is good enough for half an hour of hacking, and heads to bed :)
23:08
<zewt>
gsnedders: looks like it's 32 bytes in 32-bit builds ... a lot of extra overhead for excessively large fields in the 64-bit build
23:08
<zewt>
(python strings)
23:09
<gsnedders>
zewt: Not that surprising seeming a lot of it is pointers.
23:09
<zewt>
more are just integers, actually
23:10
gsnedders
is obviously misremembering from looking earlier XD
23:10
<zewt>
string length (could have a separate "long string" type so regular sub-4gb strings don't pay for a 64-bit field), the hash (which appears to be 64-bit on 64-bit systems; should only be 32), and what appears to be a bitfield for interning (could also be 32-bit)
23:11
<zewt>
i'll worry about it if i ever decide to involve myself in python core development :)