00:41
<Hixie>
uh... was whoever is behind https://speakerdeck.com/dherman/status-report-es6-modules planning on talking to us about changing HTML any time soon?
00:42
<Hixie>
cos <module> is a non-starter...
00:42
<TabAtkins>
That would be David Herman.
00:43
<TabAtkins>
And I've talked to him about this before - he says that there will definitely be a transitional <script type="whatever/module"> as well, with the same effect.
00:44
<Hixie>
so... why not just end with that
00:44
<Hixie>
<module> would mean major parser changes, and for something this security-sensitive, that would be a vewy vwey scawy
00:45
<Hixie>
anyway, make sure he posts to the whatwg list sooner rather than later (like, last october would be a good time)
00:45
<Hixie>
in unrelated news, why is Map not yet supported on chrome stable
00:46
<TabAtkins>
It's currently behind a flag.
00:46
<Hixie>
isn't Map pretty old hat by now?
00:46
<Hixie>
i remember people talking about it like a year ago
00:46
<TabAtkins>
And V8 was slow to support Map/Set.
00:46
Hixie
wonders what to use instead
00:46
<zewt>
maps are bleeding edge tech
00:47
<TabAtkins>
Are you making something for others to consume?
00:47
<TabAtkins>
Or just yourself/
00:47
<Hixie>
others
00:47
<TabAtkins>
Ah, then you're screwed.
00:51
<Hixie>
bummo
00:51
<Hixie>
i guess i'll shim it with a search, for now
00:52
<TabAtkins>
Or create a method for hashcoding your objects (generating a string that will uniquely and stably identify an object).
00:55
<gsnedders>
Hixie: V8 is instantly concervative with unflagging stuff
00:55
<Hixie>
well i've got all this code that expects set and get methods, so... :-)
00:55
<Hixie>
"instantly concervative"? i don't think that means anything.
00:55
<TabAtkins>
"insanely conservative"
00:56
<Hixie>
oh.
00:56
<TabAtkins>
Hixie: Still do hashcoding. Just make get/set use those to store/retrieve your stuff from a normal object with string keys.
00:56
<Hixie>
how do i hash an element?
00:56
<Hixie>
i mean i can add a fake ID on it or something
00:56
<Hixie>
but that's lame
00:57
<TabAtkins>
That's up to you. Figure out some way to generate a string that'll stably identify the object, so that if you're handed the same object again later, you'll generate the same hashcode.
00:57
<TabAtkins>
Adding expandos to an Element works, for example.
00:57
<Hixie>
i don't see any way to do that that doesn't involve mutating the node
00:57
<Hixie>
and mutating the node isn't hashing the node, it's just hanging an ID on it
00:57
<TabAtkins>
Same deal, really.
00:58
<TabAtkins>
It's not ideal, but it accomplishes your goal. Shrug.
00:58
<Hixie>
so does just walking a list :-)
00:59
<TabAtkins>
Yeah, but walking a list is linear-time, while hashcoding (/mutating) is constant-time.
00:59
<TabAtkins>
That might not be important to you.
00:59
<Hixie>
yeah in this case i'm hashing touch targets, so it's not a big deal
00:59
<TabAtkins>
Ah, kk. Yeah, just search a list then.
01:02
<Hixie>
my god touch event latency on android chrome is bad
01:02
<zewt>
does it do the horrible forced-delay-after-every-touch thing
01:03
<zewt>
ios does that, and i've spent so much time jumping hoops basically reimplementing click to get around it
01:03
<Hixie>
no, i've disabled that already
01:04
<zewt>
ios safari doesn't let you, heh
11:33
<annevk>
mathiasbynens: trying to sort out your bug
11:34
<annevk>
mathiasbynens: oops, https://www.w3.org/Bugs/Public/show_bug.cgi?id=24104
11:34
<annevk>
lone surrogates, we meet again
11:38
<Ms2ger>
You know, all this kerfuffle about brendan... It's the string encoding we should be reviling him for
11:42
<mathiasbynens>
Ms2ger++
11:44
<mathiasbynens>
only surrogates should be allowed to pair!
12:04
<annevk>
oh my
12:04
<jgraham>
Lions and tigers and bears?
12:05
<jgraham>
annevk: https://www.youtube.com/watch?v=Etx-nDCZzLo
13:09
<gsnedders>
I remember a diagram somewhere of the web stack going all the way down to the Unicode layer. Not the one in the complete spec, but one prettier. Any ideas?
13:09
<gsnedders>
Googling quickly juts shows stuff going down to the HTML layer and not below.
13:19
<zcorpan>
annevk: oh, you asked a different Simon, heh
13:25
<zcorpan>
gsnedders: https://hsivonen.fi/web-stack/ ?
13:27
<gsnedders>
zcorpan: yeah, thanks
13:35
<zcorpan>
wonder what happened to JD
13:36
<annevk>
JD?
13:50
<zcorpan>
jd/adobe
13:51
<zcorpan>
web-stack brought me back to 2009 for a moment
14:01
<annevk>
Flash is gonna take over the world any day
14:01
<annevk>
now
14:12
<gsnedders>
zcorpan: On the other hand, best diagram I can think of :(I
14:12
<gsnedders>
* :(
14:12
<gsnedders>
hsivonen: Any chance of putting https://hsivonen.fi/web-stack/ under a license allowing it be used elsewhere?
15:24
<annevk>
SimonSapin: btw, did you guys discuss what to do with surrogates in servo for the encoders?
15:24
<annevk>
SimonSapin: I guess I basically want you to look at that bug :p
15:24
<SimonSapin>
which bug?
15:25
<gsnedders>
"that" one.
15:25
<SimonSapin>
I don’t know of a specific discussion, but Rust’s char explicitly type disallows surrogates
15:26
<SimonSapin>
(The str type does by being UTF-8.)
15:28
<jgraham>
Ms2ger started a UCS2 branch I think?
15:28
<SimonSapin>
As to Servo when dealing with JS strings, I’m pretty sure we haven’t discussed it
15:28
<Ms2ger>
Yeah
15:29
<SimonSapin>
Ms2ger: when converting from UCS2, unpaired surrogates are transformed into U+FFFD by the UTF-16 decoder, right?
15:29
<Ms2ger>
Dunno
15:29
<annevk>
SimonSapin: https://www.w3.org/Bugs/Public/show_bug.cgi?id=24104
15:29
<Ms2ger>
You did the encodings stuff :)
15:29
<SimonSapin>
there’s std::str::from_utf16_lossy doing this now, but it’s fairly new
15:30
<SimonSapin>
annevk: let me finish this and I’ll look at encodings next
15:45
<annevk>
Mah
15:45
<annevk>
Unicode does not seem to say much on the matter, they don't really define these as algorithms
15:47
<annevk>
Oh actually, http://www.unicode.org/faq/utf_bom.html#gen2 seems pretty clear
16:02
<SimonSapin>
seems like the only sane answer
16:08
<annevk>
Well, it would mean Chrome has to change their implementation
16:08
<annevk>
While they do it for Unicode, they don't for windows-1252
16:09
<SimonSapin>
don’t do what?
16:09
<jgraham>
Anyone know how fast marquee is supposed to be?
16:09
<jgraham>
I can't tell if it's specified
16:09
<annevk>
SimonSapin: see my comment in that bug
16:09
<jgraham>
In particular if you have something like <marquee id="test2" loop="2" width="100">Whatever</marquee> can you tell how long it will take to run?
16:12
<annevk>
I wish there was a better term for Unicode scalar value
16:13
<annevk>
"unicode point" and "code point" anyone?
16:13
<SimonSapin>
Go back in time and un-invent UTF-16. Done.
16:15
<jgraham>
Hmm it looks like it might be 6px / 85ms
16:16
<annevk>
SimonSapin: to uninvent utf-16, one has to first uninvent Unicode
16:16
<Ms2ger>
And the universe?
16:17
<annevk>
Yes, as well as the other ones that are copying us
16:33
<annevk>
I guess I'll update the specification and start using "Unicode scalar value", so terrible
16:34
<SimonSapin>
annevk: call it "rune"?
16:34
<SimonSapin>
:)
17:17
<smaug____>
jgraham: oh, do you happen to know if we could kill marquee
17:18
<smaug____>
hmm, 0.3% says googles statistics
17:23
<jgraham>
smaug____: Yeah I always heard it was one of those "Big in Japan" things. Although in this case "Japan" was actually China
17:54
<TabAtkins>
smaug____: We determined in Blink that we couldn't kill <marquee>, but we did successfully kill the CSS Marquee stuff.
17:54
<Ms2ger>
You implemented the css marquee stuff?
17:54
<TabAtkins>
"implemented", yeah.
18:08
<annevk>
SimonSapin: is that what Rust calls it now?
18:09
<annevk>
SimonSapin: or are you trying to proxy your bikeshed?
18:11
<TabAtkins>
annevk: I think SimonSapin was making up a name off the top of his head.
18:14
<annevk>
TabAtkins: there's an ongoing bikeshed for Rust about how to rename char
18:14
<SimonSapin>
TabAtkins: nope http://golang.org/pkg/builtin/#rune
18:14
<TabAtkins>
Ah, kk.
18:14
<TabAtkins>
So we get char, glyph, and rune?
18:15
<TabAtkins>
+code point and code unit
18:15
<annevk>
Unicode scalar value is so full of fail
18:16
<annevk>
nobody uses it because it's too long
18:16
<TabAtkins>
Yeah.
18:16
<TabAtkins>
I'm just making sure of the terms we have in use. No negative connotation intended.
18:17
<annevk>
so Hixie uses "character" to mean code point and "Unicode character" to mean "Unicode scalar value" in HTML
18:26
<annevk>
we could adopt that across the board
18:26
<annevk>
is CSS aligned with that?
18:27
<SimonSapin>
CSS Syntax uses "code point"
18:27
<SimonSapin>
we avoided "character" because CSS Text uses that for "grapheme cluster"
18:28
<TabAtkins>
Yeah, "character" meaning "grapheme cluster" seems closer to what people mean in practice when they use the word casually.
18:29
<TabAtkins>
á is a character, regardless of whether it's composed or not.
18:30
<SimonSapin>
yeah, this is why I’m in favor of renaming Rust’s "char" type. It’s a Unicode scalar value, that name is just awful. So one idea was to use "rune" instead.
18:31
<jgraham>
Uh, yeah rune seems more awful
18:32
<jgraham>
A rune is a letter from a specific alphabet
18:32
<jgraham>
It would be like calling it "ideogram" or something
18:34
<jsbell>
rune also sounds more like glyph which is even more "the thing you see" than character.
18:35
<jgraham>
Yeah I think the precise meaning of rune is wrong and the vauge notion people have of rune is misleading
18:35
<jgraham>
It seems like a terrible choice
18:36
gsnedders
returns from the world of dissertation land, wishing he hadn't been ill and hadn't as a result run out of time :(
18:36
<gsnedders>
jgraham: *a specific type of alphabet
18:36
<gsnedders>
There are multiple runic scripts!
18:38
<jgraham>
Obviously we should rename it to "Carakan", which we could abbreviate "cara" so we'd have "char" and "cara"
18:38
<jgraham>
Which should maximise confusion :)
18:38
<gsnedders>
Bah, Carakan (as a word) is only five letters! :P
21:40
<Hixie>
i used character like i did in HTML because i have no use for "grapheme cluster" in HTML, and it seemed like it would be confusing to not use the word "character" at all.
21:41
<Hixie>
(i mean, e.g., calling them "Unicode code point encodings" is confusing as heck)
21:41
<Hixie>
(and people understand "space characters" better than "space code points" or "space scalar values")
21:54
<TabAtkins>
gsnedders: Do the runic languages actually use an alphabet?
22:11
smaug____
needs to join #rust and propose s/rune/tengwa/
22:12
<TabAtkins>
aksara, clearly. http://www.unicode.org/glossary/#aksara
22:14
<tantek>
Hixie, but people love new techno-jargon ;)
22:15
<TabAtkins>
gsnedders: (As opposed to an abjad or something.)
22:15
<Hixie>
"love" :-)
22:22
<Hixie>
tantek: we only just got ourselves back to "URL" :-P
22:34
<SamB>
still can has URN, though, right?
22:34
<SamB>
for those hard-to-resolve URLs
22:47
<tantek>
Hixie I know!
22:47
<tantek>
I had to debate myself and then argue with people over Twitter about it
23:48
<gsnedders>
TabAtkins: an abjad implies only consonents are written, right?
23:49
<gsnedders>
TabAtkins: But no, at least Futhark is definitely an alphabet, Futhorc almost certainly is therefore as well
23:51
<gsnedders>
TabAtkins: Note that both Futhark and Futhorc have direct transliterations into the Latin alphabet
23:55
<Hixie>
SamB: no idea what a URN really is
23:56
<zewt>
aren't we past the pretending they're different things thing
23:56
<zewt>
(no, apparently not)
23:57
<SamB>
well, I don't know how to download anything from the URL scheme defined here: http://tools.ietf.org/html/rfc3187.txt
23:58
<zewt>
so?
23:58
<gsnedders>
That's true of plenty of URI schemes.
23:59
<zewt>
i feel like gsnedders is baiting me :P
23:59
<zewt>
nothing says first-world like spending your friday night debating "url" vs. "uri" vs. "urn"