| 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" |