06:30
<annevk>
MikeSmith: but that symlink will be created in environments where there is Python 2, no?
06:30
<annevk>
What's this brevity bug? :-)
06:31
<MikeSmith>
annevk: dunno how it works but I have no /usr/bin/python2 on my OS X machine
06:31
<MikeSmith>
annevk: the last bug there I think
06:32
<MikeSmith>
oh no I guess one of the others
06:32
<MikeSmith>
annevk: https://www.w3.org/Bugs/Public/show_bug.cgi?id=12837#c10 I guess
06:32
<MikeSmith>
> I'm confused as to what you want me to do here. Can you elaborate?
06:33
<annevk>
Hmm, comment 0 and comment 1 seem pretty elaborate
06:45
<MikeSmith>
it seems #!/usr/bin/env python2.7 is probably what I should use
07:15
<annevk>
Hixie: are you still getting errors when trying to tweet?
08:25
<mathiasbynens>
annevk: to patch Poodlebleed, add `SSLProtocol All -SSLv2 -SSLv3` to your Apache config
08:25
<annevk>
mathiasbynens: I don't have control over that
08:27
<hsivonen>
annevk: maybe you could convince dreamhost not to care about IE6 whose admin can't be bothered to check the TLS 1.0 checkbox anymore
08:27
<annevk>
mathiasbynens: however, with SNI being required, it doesn't seem like connecting over SSLv3 will work
08:27
<hsivonen>
annevk: that's an even better point to make to dreamhost
08:28
<annevk>
hsivonen: yeah I guess I could at least ask
08:28
<hsivonen>
(although I suppose it also means it's not actually a security risk)
08:28
<annevk>
Yeah, unless they support SNI over SSLv3 but I doubt that's actually possible
08:29
<hsivonen>
even China isn't orange anymore on this map: https://www.modern.ie/en-us/ie6countdown
08:30
<hsivonen>
I wonder why Ireland and Estonia are "unknown" on that map
08:36
<annevk>
Interesting how this poses problem for Mozilla's servers as we still want to serve Firefox downloads to IE6
08:37
<ondras>
dpes the poodle affect you in this particular scenario?
08:37
<ondras>
*does
08:37
<ondras>
I mean, who cares about secure cookies when downloading firefox from ie6?
08:44
<annevk>
ondras: yeah, the argument is that integrity is not affected, indeed
08:44
<annevk>
ondras: it's still not ideal of course
08:45
<annevk>
hmm, ssllabs.com is down, how convenient
08:46
<hsivonen>
ondras: the main problem is that people who look at mozilla.org to mimic the config assuming it's the best practice may not realize that the servers on the path to Firefox download are a special case, because they need to work with legacy browsers that are used to download Firefox
08:48
<annevk>
I recently learned we have https://wiki.mozilla.org/Security/Server_Side_TLS though it should really be on MDN
08:49
<ondras>
hsivonen: okay; perhaps the exception (allowing ssl3) can be added just for the download domain(s) ?
08:50
<hsivonen>
ondras: see the three levels on the page annevk mentioned above
08:52
<ondras>
just looking at them
08:52
<ondras>
well I would just turn sslv3 off, enabled that on download domains and note the real reason in the relevant config file
08:52
<ondras>
*noted
08:56
<mathiasbynens>
annevk: I use SNI and my server supported SSLv3 (i.e. `openssl s_client -connect mths.be:443 -ssl3` worked until I patched it this morning)
08:57
hsivonen
disabled SSLv3 before it was cool
08:57
<annevk>
mathiasbynens: can you connect like that to whatwg.org or annevankesteren.nl?
08:57
<mathiasbynens>
the h in hsivonen stands for hipster
08:57
<mathiasbynens>
annevk: yep, both
09:08
<annevk>
mathiasbynens: I wonder how that works then
09:09
<annevk>
mathiasbynens: when I run that line for annevankesteren.nl I get a certificate from sni.dreamhost.com
09:09
<annevk>
mathiasbynens: which is clearly bogus
09:10
<mathiasbynens>
same for whatwg.org
09:11
<annevk>
mathiasbynens: so then it doesn't actually work
09:11
<mathiasbynens>
well, it should still be disabled, but I appreciate that’s a Dreamhost TODO
09:12
<annevk>
No disagreement there, but that you cannot use SSLv3 to connect to an SNI domain seems like enough of a safeguard
09:13
<annevk>
mathiasbynens: did you disable TLS 1.0 as well?
09:14
<mathiasbynens>
annevk: no, should I?
09:15
<annevk>
mathiasbynens: https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility
09:16
<mathiasbynens>
ah, right, my current server hardware is too old to support TLS 1.2 for some reason, will migrate to a better one soon
09:19
<annevk>
oh
09:26
<hsivonen>
I wonder if the EME bugs twirl filed are on his own behalf or on behalf of the TAG
09:28
<annevk>
That the distinction still matters is sad
09:28
<annevk>
But a lot of WGs appreciate arguments from authority :-(
09:29
<annevk>
Maybe that's badly phrased. They seem to prefer reasonable arguments from a recognized authority over the same arguments from an unrecognized authority
09:30
<zcorpan_>
is it OK that https://www.w3.org/Bugs/Public/show_bug.cgi?id=24691 is a UA-defined timeout?
09:30
<hsivonen>
I'm mainly curious if those bugs reflect the thinking of TAG members more broadly
09:30
<hsivonen>
the bug about presenting the license to the user doesn't make much sense for the use cases driving EME
09:31
<hsivonen>
the bug about platform segmentation is pretty much a generic anti-DRM bug
09:31
<annevk>
hsivonen: I would expect anything outside https://github.com/w3ctag/spec-reviews/blob/master/2014/10/eme.md to be twirl personally
09:32
<annevk>
zcorpan_: prolly not okay long term, but for now it might be fine
09:32
<hsivonen>
annevk: OK, looks like the TAG is opposed to the fundamental premise of EME then
09:33
<annevk>
zcorpan_: I suspect you wouldn't want to kill the SharedWorker before the task where load is dispatched is run in the new environment
09:34
<zcorpan_>
annevk: what about if the new document navigates before that?
09:35
<annevk>
zcorpan_: keep it alive? until cross-origin of course
09:36
<zcorpan_>
hmm. then i guess UA-defined is ok
09:41
<hsivonen>
so the TAG basically wants standardized royalty-free DRM
09:41
<hsivonen>
when even the codec the DRM-using services want to use isn't RF (H.264)
09:55
<foolip>
hsivonen, annevk, where can I read the latest about TAG vs. EME?
09:55
<darobin>
hsivonen: while there I'd have thrown in a pony — you never know
09:56
<darobin>
foolip: some pointers http://lists.w3.org/Archives/Public/www-tag/2014Oct/0066.html
09:56
<hsivonen>
foolip: I was reading https://github.com/w3ctag/spec-reviews/blob/master/2014/10/eme.md which annevk pasted
10:03
<wilhelm>
I'm wondering how font sizes are most commonly specified on the web (em, px, %). Do any browser vendors have data on that?
10:04
<MikeSmith>
w3cmemebot, please process http://lists.w3.org/Archives/Public/public-media-capture/2014Oct/0181.html
10:04
<wilhelm>
Or a corpus that can be grepped for 'font-size'.
10:09
<zcorpan_>
wilhelm: simons-mbp:webdevdata.org-2013-09-01-201332 zcorpan$ find . -type f -print0 | xargs -0 -P 4 -n 40 grep -Eio "font-size\s*:\s*[a-z0-9.%-]+" >> ../font-size.txt
10:11
<wilhelm>
Ahh, I didn't know about that corpus. Thank you very much!
10:12
<zcorpan_>
it doesn't include external css but might be good enough anyway
10:21
<zcorpan_>
wilhelm: total font-sizes: 889057. px: 552165. em: 30154. %: 39637. keyword: 120. inherit: 679. unitless: 22
10:22
<zcorpan_>
wilhelm: rem: 537
10:22
<zcorpan_>
wilhelm: pt: 199834
10:23
<zcorpan_>
wilhelm: (vw|vh|vmin|vmax): 0
10:25
<zcorpan_>
other units are also ~0
10:28
<smaug____>
annevk: what is utterly broken?
10:28
<smaug____>
in D3E/default action
10:28
<smaug____>
it does explicitly say that click is special
10:29
<annevk>
smaug____: the whole isTrusted thing
10:31
<smaug____>
I'm missing something
10:34
<wilhelm>
zcorpan_: Wonderful! Thank you.
10:34
<zcorpan_>
wilhelm: np
10:39
<wilhelm>
zcorpan_: Is there any plan to make external styles and scripts part of the corpus, or is that deemed out of scope?
10:40
<MikeSmith>
in kenji's serviceworker comments what is MVP
10:40
<annevk>
smaug____: it doesn't actually define anything
10:41
<annevk>
MikeSmith: minimal viable product
10:42
<MikeSmith>
annevk: is that some google term or do other browser projects use it?
10:43
<wilhelm>
MikeSmith: It's a Silicon Valley startup term.
10:43
<annevk>
MikeSmith: I hadn't seen it in use before, but http://en.wikipedia.org/wiki/Minimum_viable_product
10:44
<darobin>
it's not just Valley-talk, it's actually a reasonably useful notion
10:50
<wilhelm>
zcorpan_: These numbers are remarkably interesting. pt is surprisingly common (22%), and % (4.5%) is more popular than em (3.4%).
10:51
<darobin>
that strikes me as weird
10:52
<darobin>
I mean, there's so much outreach info about using em out there...
10:52
<wilhelm>
You mean em is surprisingly low?
10:52
<darobin>
I reckon just looking at HTML is probably skewing the results
10:52
<darobin>
yes
10:52
<annevk>
darobin: gives you an idea of the reach of the outreach
10:52
<darobin>
plus, who the fuck uses pt?
10:53
<annevk>
darobin: DTP?
10:53
<wilhelm>
I didn't expect it to be any higher. The only surprise here is pt.
10:53
<MikeSmith>
MVT Minimum viable team http://en.wikipedia.org/wiki/Minimum_viable_product#Minimum_viable_team I like that notion a lot better
10:54
<darobin>
annevk: just including frameworks should change those numbers
10:54
<darobin>
DTP?
10:54
<wilhelm>
Desktop publishing.
10:54
<darobin>
oh
10:54
<darobin>
I'd be surprised it had this much of an impact, really
10:55
<darobin>
I strongly suspect that relying on HTML only will heavily skew results towards sites that make massive use of the style attribute
10:55
<darobin>
and those aren't representative
10:55
<darobin>
it likely skews towards newsletters copied to the Web
10:55
<darobin>
which are all sorts of wrong
10:56
<wilhelm>
Indeed. We'll need the external stylesheets to draw clear conclusions.
10:57
<wilhelm>
Context: I'm writing an article making the case that it doesn't matter what CSS unit you prefer. Use whatever you want.
10:59
<jgraham>
It's nice to know that the web-dev wirld can still be dtriven to turmoil by subjects as weighty as the optimum choice of units
11:00
<wilhelm>
Elaborate techniques are developed to appease the CSS unit deities.
11:02
<wilhelm>
Resulting in wonderful stylesheets with 1.42857143em line-heights, 0.0625rem borders and 41.66666667% wide columns.
11:04
<darobin>
wilhelm: isn't the only traditional consideration interaction with text zoom?
11:04
<wilhelm>
Yes.
11:07
<wilhelm>
And then added argument that "if everything is based on ems, your site will magically resize if you enlarge the text".
11:07
<darobin>
yeah, that doesn't work
11:07
<wilhelm>
In other words, you've just spent two man-days replicating page zoom.
11:07
<darobin>
plus, you don't want that for all graphical items
11:07
<darobin>
the best approach is a mix of both IMHO
11:08
<wilhelm>
Rummaging through old discussions, I found this gem: http://lists.w3.org/Archives/Public/www-style/1995Dec/0004.html
11:08
<wilhelm>
There was a magnification property in an early CSS draft.
11:09
<wilhelm>
Which would scale up everything. Text, images.
11:09
<darobin>
heh
11:09
<darobin>
old stuff is golden
11:09
<wilhelm>
This seems to be the first coherent argument in favour of ems, too: http://lists.w3.org/Archives/Public/www-style/1997Nov/0078.html
11:10
<darobin>
HTML 2 had urn="" as an attribute to links, and HTML 3.0 had md="" to do resource integrity checks :)
11:11
<wilhelm>
My personal opinion is this: CSS pixels are great. Use them. Text zoom can safely be killed, now that web sites have sensible breakpoints with different styles for different viewport widths.
11:12
<darobin>
that's an interesting take
11:12
<wilhelm>
"Small screen" and "400% zoom" are two sides of the same coin.
11:12
<darobin>
but....
11:12
<darobin>
"now that web sites have sensible breakpoints with different styles for different viewport widths" *cough*
11:13
<darobin>
too many still don't
11:13
<wilhelm>
Don't they? Do anyone actually build web pages today that don't look okay on small screens?
11:13
<wilhelm>
Legacy sites are a different story, of course.
11:14
<darobin>
people still do yes
11:15
<darobin>
hopefully fewer and fewer
11:15
<darobin>
that said, I guess the people who don't also don't read your advice :)
11:15
<wilhelm>
Nor the advice to use ems for everything, because accessibility.
11:16
<darobin>
in fact, I wonder if they read anything
11:16
<jgraham>
wilhelm: You don't use the web on a small screen device, I see
11:18
<wilhelm>
This is the crux of my argument. Authors didn't care about best practices. So browsers needed to make things work anyway. Hence text zoom is hidden away, in favour of the full page zoom.
11:19
<wilhelm>
Thanks to shiny new devices, not advocacy, authors care about small screens now. That gives us accessibility for free. Accidently.
11:20
<wilhelm>
jgraham: I do. And most new content works fine on small screens.
11:21
<zcorpan_>
wilhelm: how do you know it works fine because the site uses sensible breakpoints vs uses UA sniffing or so?
11:22
<wilhelm>
zcorpan_: Valid point. My evidence is anecdotal.
11:26
<wilhelm>
More research is needed here. But that doesn't change my suggested best practice. (c:
11:31
<wilhelm>
I do wonder how we ended up with text zoom instead of magnification. Time to find some ancient browsers.
11:38
<darobin>
wilhelm: in a world in which everyone is doing fixed layout, you want text zoom
11:38
<wilhelm>
darobin: As in, one stylesheet, assuming a 1024px wide monitor?
11:39
<darobin>
wilhelm: yes
11:39
<darobin>
which was the norm until not that very long ago
11:39
<darobin>
I'm sure quite a few people still do that
11:39
<darobin>
also: table layouts
11:40
<wilhelm>
It doesn't work very well in practice, though. Merely increasing the font size without changing the containing blocks tends to break things.
11:40
<wilhelm>
The authors who don't read best practices isn't going to test for that.
11:45
<wilhelm>
You can make it work by making the size of the containing block depend on the font size. But then you've just reimplemented page zoom.
11:46
<darobin>
wilhelm: those layouts typically scaled vertically relatively okay; but yes — I'm not defending that as an approach, just pointing out the mechanics that led there
11:51
<MikeSmith>
annevk: so the CH-Context: serviceworker thing didn't go in right?
11:51
<MikeSmith>
*, right?
11:52
<wilhelm>
Yes. Also, until IE7, text zoom was blocked on any page with font size defined in px. There were plenty of good reasons for the best practices back then.
11:52
<annevk>
MikeSmith: https://github.com/slightlyoff/ServiceWorker/commit/9445ff71ee97be11716c3d93a51e29da2b213678 seems suspicious
11:52
<MikeSmith>
yeah that's what I was just looking at
12:00
<wilhelm>
I'm really impressed by Microsoft. These old browsers still run on their latest operating system.
12:01
jgraham
assigns wilhelm to review all their pending test submissions
12:02
wilhelm
runs away.
12:08
<ato>
There are about 5 kloc of WebDriver tests needing review if you have the time.
12:09
<MikeSmith>
win 18
12:12
<Manishearth>
annevk: Any update on the XHR request termination bug I filed?
12:12
<annevk>
Manishearth: not yet, sorry
12:12
<Manishearth>
np, just checking that you had gotten pinged ;P
12:12
<annevk>
Manishearth: are you blocked on it?
12:13
<Manishearth>
annevk: Not really. mukilan has an unfinished fix for it that he can't push until we figure out how it should actually work
12:14
<annevk>
Manishearth: okay, will try to get to it today; XHR has a couple of other outstanding bugs that would be good to finally fix
12:14
<Manishearth>
annevk: thanks! :D
12:21
<wilhelm>
Text zoom seems to have been in Internet Explorer since version 1, predating their CSS implementation.
12:23
<wilhelm>
cwilso: Can you recall if the CSS 'magnification' property was ever disussed at Microsoft back in 1995? It's in a CSS draft that autumn, and then disappears.
12:36
<annevk>
wilhelm: was it renamed to 'zoom'?
12:39
wilhelm
blinks.
12:39
<wilhelm>
I didn't know about that one. Seems to have been implemented in IE5.5.
12:40
<annevk>
Manishearth: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27033#c2
12:41
<darobin>
wilhelm: the zoom property is essentially used as a workaround for some IE bugs (I forget which, old stuff)
12:42
<wilhelm>
darobin: Indeed, I see scattered references to it.
12:42
<jgraham>
That's not really the *point* of it though :)
12:42
<darobin>
wilhelm: you'll find it used in frameworks and such; possibly reset style sheets
12:42
<darobin>
anything that basically papers over issues for you
12:42
<darobin>
jgraham: from a webdev pov it pretty much is :)
12:43
<darobin>
ah, yes, makes display: inline-block work right
12:43
<Ms2ger>
hasLayout, eh
12:43
darobin
doesn't even want to know how that was implemented in such a way that this has an impact
12:45
<tobie>
zoom: 1 actually triggers box layout on IE
12:47
<tobie>
for ref: http://www.satzansatz.de/cssd/onhavinglayout.html
12:47
<zcorpan_>
Hixie: why does <script> and <style> say that unknown MIME type parameters in type="" means unsupported? https://www.w3.org/Bugs/Public/show_bug.cgi?id=27057
12:47
<darobin>
ah, sad sad memories flowing back in :)
12:48
<zcorpan_>
zoom:1
12:48
<zcorpan_>
used a bit back in the day :-)
12:49
<wilhelm>
So IE did have the basis for a built-in full page zoom by year 2000, but didn't expose any such feature until IE7.
12:50
<tobie>
wilhelm: I don't recall that was the problem with IE < 7
12:50
<MikeSmith>
"being defined by guess-the-spec-text-we-should-have-and-see-what-sticks"
12:50
<tobie>
wilhelm: wasn't the issue just that IE didn't have proper text zoom when using pixel-based fonts?
12:51
<wilhelm>
tobie: IE wouldn't resize fonts set in px.
12:51
<tobie>
right
12:52
<wilhelm>
Browsers have slowly hidden away the text zoom in favour of the full-page zoom. Opera in 1996, IE i 2006, Firefox in 2007, Safari in 2008.
12:52
<wilhelm>
I'm trying to wrap my head around the history here. (c:
12:52
<zcorpan_>
i think old ie also had a bug with font-size set in em. text zoom would multiply the ems in the ancestor chain, or some such. % worked correctly
12:52
<tobie>
wilhelm: don't do that to yourself
12:53
<zcorpan_>
might explain why % is high for font-size
12:54
<wilhelm>
zcorpan_: Ah, indeed. IE3 would also treat "3em" as "3px". There were plenty of issues. NS4 had its own stack of them.
12:54
<zcorpan_>
wilhelm: *that's* before my time
12:54
<wilhelm>
:D
12:55
<darobin>
please don't mention NS4
12:55
<darobin>
I *still* cringe
12:55
<zcorpan_>
darobin: NS4 NS4 NS4 NS4
12:55
<darobin>
GAAAAAAH
12:55
<darobin>
GAAAAAAaaaaaaaaaaaaaaaAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaAAH
12:55
<annevk>
NN4?
12:55
<darobin>
IIRC IE3 would treat 3whatever as 3px
12:55
darobin
cries
12:55
<wilhelm>
I'll make a t-shirt for you by TPAC. With NS4 on it.
12:56
darobin
sobs louder and louder
12:56
<darobin>
you.... you wouldn't joke like that if you'd been there
12:56
<wilhelm>
I was there. Jokes make it hurt less.
12:56
<darobin>
<LAYER>
12:58
<wilhelm>
tobie: Since I'm back to building web stuff instead of browsers, I encounter large amounts of cargo cult best practices every day. This archeology has a purpose!
13:00
<tobie>
wilhelm: do you actually mean you're DOGFOODING WEB TECH!??!!?
13:00
<jgraham>
Well not really
13:01
<jgraham>
It's only dogfood if you're also involved in building it
13:01
<jgraham>
Otherwise it's just eating someone else's crap
13:01
<wilhelm>
Hey, web development today is fantastic.
13:02
<zcorpan_>
pop quiz: how many tags were there in "HTML Tags"?
13:02
<zcorpan_>
(the thing from 1991)
13:04
<wilhelm>
"Few".
13:04
<zcorpan_>
i want a number :-)
13:06
<darobin>
mmmm
13:06
<darobin>
12?
13:06
<darobin>
(complete guess)
13:07
<jgraham>
zcorpan_: As far as I can tell from reading it "infinity"
13:07
<jgraham>
Although it's a bit vauge
13:07
<zcorpan_>
jgraham: not counting NOT CURRENTLY USED things. also reading it is cheating
13:08
wilhelm
cheated.
13:08
<jgraham>
zcorpan_: Oh, well if you're going to introduce arbitary rules :)
13:08
<zcorpan_>
correct is 21
13:09
<darobin>
it's refreshing to see that the second is "Not good SGML" already
13:09
<tobie>
jgraham: I'm reassured. I thought someone was actively dogfooding this, thus refuting my claim that no one ever does.
13:09
<jgraham>
The second is actually marked "obsolete"
13:10
<zcorpan_>
this was a question on a teambuilding at opera. iirc i was off by 1 by trying to remember and count the tags :-)
13:10
<jgraham>
I'm not sure if that qualifies under zcorpan_'s underspecified rules of entry
13:10
<wilhelm>
21, plus some crazy <hp1> tags? What were those?
13:11
<jgraham>
So I count 20
13:11
<darobin>
wilhelm: the ancestors of <b>, <i>, etc
13:11
<jgraham>
Did I miscount or are obsolete tags included, but not currently used tags aren't?
13:12
<darobin>
wilhelm: see http://info.cern.ch/hypertext/WWW/MarkUp/Future.html
13:12
<zcorpan_>
i included nextid when counting
13:12
<jgraham>
(I think it's more interesting that there are, depending on how you read it, an infinite number)
13:13
<darobin>
<HP19879879>this matters</>
13:13
<annevk>
Does each event loop have a networking task source?
13:13
<wilhelm>
Aw, the "Bad HTML" chapter is such a nice peek into the future.
13:14
<annevk>
It's still not clear to me how exactly those things interact
13:14
<annevk>
Anyone?
13:17
<zcorpan_>
annevk: an event loop is either owned by a browsing context or a worker, and both of those can queue thing on the networking task source. afaict
13:17
<annevk>
zcorpan_: wouldn't I have an event loop and then queue a task on its networking task source?
13:18
<zcorpan_>
annevk: i don't really follow the question
13:19
<annevk>
zcorpan_: say Fetch is passed in an event loop to queue tasks on, Fetch wants these tasks to belong to the networking task source obviously, how does it come together?
13:20
<cwilso>
Wilhelm: no, magnification was not seriously discussed in Microsoft IE in 1995. (I was the only one working on CSS in '95). Zoom was the first MS adventure in that direction, as darobin said.
13:21
<MikeSmith>
"Can you please stop trying to guess spec text and explain what behavior you're after and why?"
13:21
<Ms2ger>
MikeSmith, context?
13:21
<zcorpan_>
annevk: i still don't follow :-(
13:22
<MikeSmith>
not a thing you'd expect to be having to say to a spec writer
13:22
<MikeSmith>
Ms2ger: looking back at https://github.com/slightlyoff/ServiceWorker/issues/356
13:22
<MikeSmith>
comment https://github.com/slightlyoff/ServiceWorker/issues/356#issuecomment-48703488 from bz
13:22
<wilhelm>
cwilso: Thanks!
13:23
<wilhelm>
cwilso: Was there any particular rationale behind the "don't resize fonts set in px" bug/feature back then?
13:23
<annevk>
zcorpan_: as you said, an event loop belongs to a document or worker environment
13:23
<annevk>
zcorpan_: Fetch belongs to neither
13:24
<annevk>
zcorpan_: so Fetch is passed an event loop it can queue tasks on
13:24
<zcorpan_>
annevk: ah. ok.
13:25
<annevk>
zcorpan_: perhaps "queue a task to X on Y's event loop using the networking task source"
13:25
<MikeSmith>
Ms2ger: "Uh.. no. URLs of documents are immutable (modulo document.open). Performing a navigation creates a new document!" etc
13:25
Ms2ger
mumbles
13:25
<annevk>
MikeSmith: I thought that changed with pushState()
13:25
<annevk>
MikeSmith: hmm
13:26
<zcorpan_>
annevk: and then we have ping="" that needs to outlive the browsing context
13:26
<zcorpan_>
along with sendBeacon and maybe <img>
13:28
<zcorpan_>
annevk: but yeah if you have a reference to the right browsing context or worker just use its event loop
13:28
<annevk>
zcorpan_: the question was what language to use
13:29
<annevk>
zcorpan_: not entirely clear how sendBeacon and ping="" would work I guess
13:29
<annevk>
zcorpan_: perhaps in that case no tasks will be queued
13:29
<annevk>
zcorpan_: and for all other cases we rely on the document to terminate existing fetches
13:33
<zcorpan_>
annevk: <img> shouldn't be terminated, at least not when it's created in onunload/onbeforeunload or so. iirc
13:33
<zcorpan_>
poor man's sendBeacon
13:36
<mathiasbynens>
“With SSLv3 on its way out the door, we need to stop calling it SSL and start saying TLS #poodle” – https://twitter.com/webtonull/status/522379727840223232
13:41
<annevk>
mathiasbynens: already started doing that \o/
13:52
<darobin>
I'd never noticed that HTML 4.01 had shipped on Christmas Eve
14:03
<annevk>
Ooh, Chromium has shipped the Encoding API
14:04
<annevk>
nice
14:17
<zcorpan_>
Hixie: caniuse now uses whatwg urls for html stuff (but not workers/websockets i think)
14:30
<mathiasbynens>
holy shit, facebook.com disabled SSLv3
14:31
mathiasbynens
wonders what their IE6 stats looked like until now
14:48
<annevk>
mathiasbynens: there's no indication they enable/disable SSLv3 conditionally? Or redirect IE6 users?
14:53
<cwilso>
wilhelm: Yes. We didn't want to zoom all sizes - because remember, most screens were 72-96dpi at the time - so resizing an image by 13% would be ugly (we also couldn't afford interpolation at the time). And once you set a font size in px, you were probably aligning it carefully with other elements on the page - also set in px.
14:53
<cwilso>
wilhelm: In retrospect, not the best choice. But even in 2004, during IE7, I had a serious argument about how zooming should work with the developer.
14:55
<wilhelm>
cwilso: This is very interesting. What were the positions in the argument?
15:06
<mathiasbynens>
annevk: how would you disable SSLv3 conditionally? I’m testing this with a raw `nmap` command
15:07
<mathiasbynens>
annevk: also tested in IE6 and all you get is an IE error page
15:12
<wilhelm>
mathiasbynens: I'm hoping TLS will be the last nail in the coffin for the most ancient browsers. We recently blocked out all users of IE on XP on a major project. In my own locale, the last holdouts are the hospitals.
15:14
<wilhelm>
MikeSmith: Which reminds me, validator.w3.org doesn't like our TLS version either. validator.nu seems fine.
15:14
<wilhelm>
MikeSmith: http://validator.w3.org/check?uri=https%3A%2F%2Fsnl.no
15:27
<Domenic>
zcorpan: nice on the caniuse
15:33
<annevk>
mathiasbynens: not sure, depends on what's in the TLS handshake I guess, haven't really looked into that
15:45
<MikeSmith>
wilhelm: use http://validator.w3.org/nu/ instead of http://validator.w3.org/
16:05
<cwilso>
wilhelm: Essentially, I was arguing zooming should work like it does today in Chrome - it zooms all sizes, but the viewport's apparent size decreases.
16:06
<cwilso>
wilhelm: the developer was arguing for a "layout zoom" - where you keep the layout static, and you always get scrollbars.
16:08
<wilhelm>
cwilso: Yes, indeed. Coupled with some good media queries, I believe that gives the optimal experience today.
16:11
<wilhelm>
Works the same way in IE11 now, at least.
16:12
<wilhelm>
cwilso: Was the new (IE7) zoom thought of as a replacement of the old text size controls, or something in addition to them?
16:13
<cwilso>
wilhelm: yeah, I eventually won the argument (in IE8, maybe). It was originally in addition to them. We finally got rid of the size changes, I think.
16:16
<wilhelm>
cwilso: Thanks again for your answers! I'm trying to understand the history of font sizes in browsers, and this has been very helpful.
16:17
<cwilso>
wilhem: np.
16:40
<Hixie>
zcorpan: so that ;e4x=1 doesn't get run
16:40
<Hixie>
zcorpan: neat, did you send them a patch?
16:40
<zcorpan>
Hixie: yes
16:41
<Hixie>
neat
16:48
<zcorpan>
Hixie: unknown params get run for http content-type anyway. and gecko that does something with params and has supported e4x ignores params in script type
16:49
<Hixie>
<script> ignores http content-type entirely
16:50
<Hixie>
anyway, if you have a test showing the spec is buggy, file a bug :-)
16:51
<annevk>
<script> doesn't ignore with the header that enforces MIME types
16:51
<annevk>
that header is gaining traction
16:51
<annevk>
unfortunately named as it is
16:52
<Hixie>
oh well i don't spec that at all, so...
16:52
<Hixie>
(nobody's been able to explain to me what it does)
16:56
<annevk>
https://mimesniff.spec.whatwg.org/ makes an attempt
16:57
<annevk>
not sure if accurate
16:58
<Ms2ger>
I wonder if WorkerGlobalScope.clearInterval's argument needs to be optional
16:58
<zcorpan>
Hixie: this area is inconsistent in browsers and I'd like to make it more consistent. i haven't found anything that parses params but doesn't ignore unknown params
17:00
<annevk>
zcorpan: can't we move to an enum for <script type>?
17:00
<annevk>
in fact, I thought it was an enum
17:01
<annevk>
Oh god, I should stop running ssllabs.com on banks
17:01
<annevk>
That's just depressing
17:01
<Domenic>
hahaha
17:32
<Hixie>
zcorpan: yeah. we should probably rework that anyway to add type=module or whatever ends up happening for ES6
17:32
<Hixie>
though now that modules are out of ES6 (?) i'm not sure what the state of that is
17:34
<annevk>
Domenic: you could var ex = new DOMException; ex.name = ...; throw ex
17:34
<annevk>
Hixie: modules are in, loader is out, I think
17:34
<Hixie>
what's a module without a loader?
17:35
<annevk>
I just read the summary of changes, haven't actually looked in detail
17:37
<zcorpan>
annevk: what about canPlayType?
17:38
<annevk>
zcorpan: I don't think all "MIME type" situations need identical solutions
17:39
<annevk>
zcorpan: that is, either full MIME type parse, or enum, is my current thinking, with a slight preference to the latter whenever possible
17:39
<zcorpan>
annevk: don't disagree
17:39
<annevk>
https://mimesniff.spec.whatwg.org/ is making an attempt at specifying full MIME type parse, but have not reviewed it
18:01
<Domenic>
annevk: nope, .name is a getter
18:27
<Hixie>
good news everyone!
18:27
<Hixie>
HTML5 is done.
18:27
<Hixie>
http://www.w3.org/blog/2014/10/application-foundations-for-the-open-web-platform/
18:27
<Hixie>
guess i can mark the 223 open bugs as WORKSFORME
18:27
<Hixie>
and i guess i should revert all the changes i made in the last few months that the w3c hasn't picked up yet
18:28
<Sample>
sweet. it's HTML6 from here on out
18:28
<Sample>
=P
18:29
<boogyman>
now, lets just get the marketers to stop using the reference
18:30
<Domenic>
if a spec has a version number you know it's not serious
18:31
<terinjokes>
Domenic: this is why the Sticker Constructor Spec has a draft number: https://github.com/terinjokes/StickerConstructorSpec/releases/tag/draft-0 ;)
18:36
<wilhelm>
Hixie: Congratulations! How did you manage to finish it 8 years ahead of schedule?
18:47
<Sample>
"My starting point for this discussion is that, now that HTML5 is done ..." that is quite the statement
18:52
<annevk>
Hixie: BufferSource is defined in IDL
18:52
<Domenic>
... or do you mean SourceBuffer ...
19:18
<Domenic>
I still want some kind of fuzzy-matching search within multipage html
19:37
<MikeSmith>
4:24am JST
20:37
<boogyman>
darobin: stylesheets intended for print media would use pt.
20:38
<terinjokes>
are psuedo elements at the root and on * the same?
20:48
<gsnedders>
hsivonen, MikeSmith: what does a parser need API-wise to be used as a the basis of a conformance checker?
20:48
<Ms2ger>
boogyman, ha. haha.
20:48
<boogyman>
?
20:48
<gsnedders>
BTW, what's the typical viewing distance of printed media?
20:49
<gsnedders>
boogyman: you do know how pt is defined in CSS?
20:49
<boogyman>
I'm sure I did at one point.
20:50
<gsnedders>
Oh, apparently it does allow the physical units to match up with physical measurements still
20:50
<gsnedders>
and recommends that for print and other high-resolution devices
21:01
<TabAtkins>
terinjokes: No. Pseudo-elements on root are, well, pseudo-elements on root. On *, they're on all elements.
21:01
<TabAtkins>
Did you mean the difference between `::before` and `*::before`? Those are indeed the same.
21:02
<TabAtkins>
boogyman: pt and px have a fixed ratio, so it doesn't matter what you use.
21:05
<MikeSmith>
gsnedders: a conformance checker basically just needs the parser to, well, expose the parsed document
21:06
<MikeSmith>
gsnedders: beyond that, for use with a conformance checker, it should be an error-reporting parser that does actually report anything that the spec defines as a "parse error"
21:07
<MikeSmith>
gsnedders: as Henri's parser does
21:08
<MikeSmith>
gsnedders: as far as the nature of the API, it doesn't matter what kind of API it is except it ideally should be a streaming API that doesn't require constructing a representation of the entire document and keeping it in memory
21:10
<MikeSmith>
gsnedders: e.g., a SAX API, as the vnu code uses
21:12
<MikeSmith>
gsnedders: so, concretely, if you're working on implementing a document parser I recommend you have it provide a SAX API or some whatever other kind of API that exposes the actual parse events/tokens
21:24
<terinjokes>
TabAtkins: that's what I meant, yes
21:42
<Hixie>
say i have changes to lots of files in my local copy of some remote git repo
21:42
<Hixie>
i want to do the equivalent of "svn up; svn commit foo.txt"
21:42
<Hixie>
am i right that there's just no way to do this anywhere near as easily in git?
21:43
<terinjokes>
Hixie: best I can think of is using git-stash
21:43
<wilhelm>
Unless you have conflicts: git pull; git commit foo.txt
21:43
<wilhelm>
If you expect conflicts, yes, git stash. Then you can resolve those later.
21:44
<Hixie>
stash won't work as far as i can tell because i've already commited all the changes locally
21:44
<TabAtkins>
Oh, then just pull and rebase.
21:44
<TabAtkins>
git pull --rebase
21:44
<Hixie>
it's the push part i'm having trouble with
21:44
<TabAtkins>
That pulls in all the foreign history, and moves your commits to *after* all the foreign commits.
21:45
<TabAtkins>
Then you can push, because your repo will then be consistent and mergeable.
21:45
<Hixie>
if i push then i'll push all the changes
21:45
<Hixie>
i only want to push the changes to foo.txt
21:46
<TabAtkins>
Oh! Never done that before.
21:46
<TabAtkins>
Pretty sure that's a lot more complex, because your history is a bunch of changes to all the files.
21:46
<TabAtkins>
You'd need to do some history rewriting, I think.
21:46
<Hixie>
i hate git so much
21:46
<TabAtkins>
Stop trying to use subversion in git?
21:46
<jgraham>
What? If you committed all the changes why would you expect it to be easy to create a state that you didn't commit?
21:47
<Hixie>
it's trivial in subversion
21:47
<jgraham>
If that's true it seems fundamentally broken
21:47
<TabAtkins>
jgraham: subversion doesn't actually have local history, so there's nothing to rewrite.
21:47
<jgraham>
TabAtkins: Right, so the difference here is "I committed the changes"
21:47
<jgraham>
Which you can't do in subversion
21:48
<Hixie>
"broken" or "easy", whichever you prefer, the point is i can do it easily in subversion and not in git :-P
21:48
<TabAtkins>
Pushing to a remote repo is the moral equivalent of sending a bunch of patch files.
21:48
<TabAtkins>
Yeah.
21:48
<Hixie>
"svn up" is also easier in svn, since it doesn't require you to move your changes out of the way, it just updates you
21:48
<Hixie>
the only reason i would need to commit or stash in git is to be able to pull
21:48
<Hixie>
which is so weird
21:48
<jgraham>
That just isn't true
21:48
<wilhelm>
So in svn, you'd leave the uncommited files scattered about in this scenario?
21:49
<wilhelm>
What would happen with upstream changes to those files?
21:49
<Hixie>
they get merged in
21:49
<TabAtkins>
Hixie just got really used to subversions data model (or relative lack of it), and is still having a lot of trouble adapting to Git being more restrictive (and hasn't yet learned all the *good* things that come from that).
21:49
<wilhelm>
Now, _that_ is broken. :D
21:49
<jgraham>
Yeah, that sounds terrifying
21:50
<Hixie>
why is that terrifying
21:50
<Hixie>
it's perfect
21:50
<jgraham>
Modifying your local files under you without a commit to roll back to if things go wrong?
21:50
<wilhelm>
So that would put you in a completely unknown state you can't recover from?
21:50
<Hixie>
why would things go wrong
21:50
<wilhelm>
Because upstream changes were silly, and now they're in your file.
21:51
<jgraham>
Umm, because merges are complicated
21:51
<Hixie>
obviously if there's a conflict it won't merge them, just like with git if you rebase
21:51
<wilhelm>
Which you can't throw away, because you'd lose your work.
21:51
<TabAtkins>
From what I can tell, Hixie, your preferred model can be (terribly) grafted to Git if you just never commit, and always stash before pulling (and stash pop after).
21:51
<TabAtkins>
And then only commit individual files immediately before you want to push them.
21:51
<Hixie>
yeah seems that way
21:51
<jgraham>
Yeah you can do that
21:52
<jgraham>
But it will make children cry
21:52
<wilhelm>
Yes. Sounds very wrong. But doable.
21:52
<TabAtkins>
It should be obvious why this is terrible to those who use Git properly. ^_^
21:52
<Hixie>
in any case...
21:53
<Hixie>
if i have three commits that are entirely unrelated
21:53
<Hixie>
and i want to commit a specific one
21:53
<Hixie>
how do i bring that specific one to the point where i can commit it?
21:53
<Hixie>
git rebase something?
21:53
<TabAtkins>
Go back to the last master commit. Branch. Cherry-pick the one commit you want.
21:53
<wilhelm>
You want to _push_ a specific one? All commits are commits. There is no difference between your local repo and the remote.
21:53
<TabAtkins>
Then push that branch.
21:53
<Hixie>
wilhelm: er right, push, not commit
21:53
<jgraham>
Yeah, I'm with wilhelm; your requirements don't make sense as written
21:53
<jgraham>
Ok
21:54
<Hixie>
"commit" is the word sensible people use for what you kids call "push"
21:54
<TabAtkins>
You push history in git, not commits
21:54
<wilhelm>
Old people these days!
21:54
<Hixie>
"save" is the word for locally commiting
21:54
<Hixie>
:-P
21:54
<wilhelm>
So. Broken.
21:54
<TabAtkins>
Nah, just translation difficulties.
21:55
<Hixie>
i can't believe i have to create a branch just to push a damn file
21:55
<Hixie>
that's so absurd
21:55
<TabAtkins>
Hixie learned Subperanto as a child, the rest of us are native Gitish speakers.
21:55
<wilhelm>
Taking a step back, why do you need to cherrypick like this?
21:55
<wilhelm>
What's the use case? :P
21:55
<MikeSmith>
Hixie: branches are super-cheap in git
21:55
<TabAtkins>
Hixie: Again, you're chafing under the different data model, and suffering from a bad case of Blub Syndrome.
21:55
<Hixie>
MikeSmith: branches are super expensive cognitively for me
21:56
<MikeSmith>
Hixie: branches are the normal idiomatic best-practice way everybody does work in git
21:56
<TabAtkins>
Branch is just a pointer in git. ^_^
21:56
<Hixie>
MikeSmith: since now i have to keep track of the working copy state, the commited state in each branch, and the remote state
21:56
<TabAtkins>
It's a pointer to some particular commit in the tree.
21:56
<Hixie>
MikeSmith: instead of just the local state and the remote state, as in svn
21:56
<TabAtkins>
If you commit regularly like you should in Git, you don't keep track of working copy state.
21:56
<TabAtkins>
You commit before switching.
21:56
<sgalineau>
trying to use one source control system as if it were another guarantees some form of a bad time
21:56
<Hixie>
wilhelm: i have some changes i need to make locally to use the code, but i want to contribute a patch that is unrelated to those changes
21:56
<wilhelm>
No. The state is apparent from your commits. So every time you "save", that state has a name.
21:57
<MikeSmith>
Hixie: that might be because you're cognitively/concpetually thinking of branches in the svn/cvs conceptual model
21:57
<TabAtkins>
Hixie: Oh, for that, you probably just want to branch from the last foreign commit, and then manually copy your changes over.
21:57
<MikeSmith>
Hixie: ah yeah still I get your point yeah
21:57
<TabAtkins>
Then commit and push those changes.
21:58
<TabAtkins>
After it's accepted, you can kill the branch and rebase your main branch on it.
21:58
<MikeSmith>
Hixie: one thing is, your workflow works really well if you're not collaborating with anybody else. but it seems like it falls apart completely the minute you add one other collaborator
21:59
<wilhelm>
Either that, or those files shouldn't be in version control like that. That problem arises every time someone puts a configuration file with actual configuration in it into version control, at least.
21:59
wilhelm
has purged database passwords from repos a few times too many.
21:59
<Hixie>
wilhelm: these are local patches i need to make because i'm porting the code to a platform the upstream code isn't intended for
22:00
<wilhelm>
Oh.
22:00
<Hixie>
wilhelm: but meanwhile i want to contribute a fix to some of the code that isn't platform-specific
22:00
<MikeSmith>
anyway I fully agree that git is not winning any beauty contests as a far as being easy to use, or at least easy to learn
22:00
<Hixie>
in svn, i can do this easily with literally just "svn commit <filename>"
22:01
<Hixie>
it doesn't seem unreasonable to me
22:01
<Hixie>
nor like something that should fail to work with multiple people
22:01
<TabAtkins>
That's definitely "branch and do your patch there, so it doesn't interact with your main history".
22:02
<wilhelm>
It comes with the unreasonable part that your repo will be littered with random changes of varying origins. :D
22:02
<MikeSmith>
Hixie: you could do that just by working through a UI that immediately makes all your commits in the repo you want to push to
22:02
<MikeSmith>
Hixie: e.g., the github Web UI
22:03
<MikeSmith>
then you're never actually making changes locally, you'd just pull them when you need to build locally or whatever
22:04
<jgraham>
Hixie: There is no such thing as a "local patch". There are commits on local branches, commits on remote branches, branches that have been merged to master, and branches that have not. But it's all commits
22:04
<Hixie>
jgraham: so many things to keep track of
22:04
<jgraham>
Hixie: No, there's just commits
22:04
<wilhelm>
Yes. Changes == commits, with a name and date.
22:05
<jgraham>
Instead of commits + random context-free patch files
22:05
<TabAtkins>
jgraham: Well, you can produce patch files, but their only use is to email to someone else so they can apply it locally and commit it themselves.
22:06
<Hixie>
i'm saying "A,B is simpler than A,B,C,D,E", and you're saying "A,B,C,D,E is simple enough"
22:06
<jgraham>
Yeah, but the point is that git enables repository-centric development, whereas svn prevents it
22:06
<jgraham>
Hixie: No
22:07
<TabAtkins>
Hixie: Sure, but it's only simpler because you're working with a weaker model. You're chafing against a stronger model without yet understanding the *benefits* of the stronger model.
22:07
<jgraham>
I don't think it's actually more complicated
22:07
<TabAtkins>
jgraham: Well, SVN's data model, at it's core, can be seen as a degenerate form of git's data model.
22:08
<TabAtkins>
Once you build over that model, both become complicated in non-subset/superset ways, but still.
22:08
<jgraham>
I think you are neglecting the hidden complexity of svn not supporting many workflows, so having to hack around then with things like patch files
22:08
<roc>
it is more complicated once you start dealing with the index/stash/cache :-)
22:08
<wilhelm>
Change always involves some friction, even between equivalent complexity.
22:08
<roc>
and local tracking of remote branches
22:08
<jgraham>
roc: The staging area is one of several things that git gets right and hg gets wrong
22:08
<TabAtkins>
YES
22:09
<roc>
no
22:09
<sgalineau>
lol
22:09
<Ms2ger>
no
22:09
<jgraham>
Making it explicit and avaliable for all opereations is so much better than having it work magically for add and delete but not being allowed to edit it
22:09
<TabAtkins>
Sigh, mozillians.
22:09
sgalineau
had no idea IRC source control chatter could be popcorn-worthy
22:09
<jgraham>
Hence mq
22:09
<roc>
The staging area can be useful, but git forces you to learn it before you can do anything, which is wrong.
22:10
<Hixie>
jgraham: i think you are neglecting the hidden complexity of supporting many workflows
22:10
<sgalineau>
roc: really? I never used it but use git every day
22:10
<TabAtkins>
Ehhh, you can go a long while just using `git commit -am` (and remember `git add .` when you add new files) and not care about the staging area.
22:10
<roc>
sgalineau: so you never use "git add" and just use "git commit -a" all the time?
22:10
<jgraham>
roc: Less wrong than having "hg commit" just commit any random changes in your working directory
22:10
<TabAtkins>
I *mostly* use -a.
22:10
<sgalineau>
roc: f, i somehow thought you were talking about stashing. NEVER MIND.
22:11
<Hixie>
"random" changes?
22:11
jgraham
always uses -p except in certian well-defined circumstances
22:11
<sgalineau>
roc: but otherwise, mostly use -a yes
22:11
<TabAtkins>
jgraham: I mostly work in self-contained units, so I dont' need to partial-add very often. ^_^
22:12
<Hixie>
(btw it doesn't help that the git documentation is worthless)
22:12
<jgraham>
TabAtkins: I do it to be sure I did in fact work in a self-contained unit and to increase the chance that I'll remember something that's missing by reading the patch again
22:12
<wilhelm>
So it's you guys who keep commiting .DS_Store files? :P
22:12
<jgraham>
Hixie: The git documentation is great. It just helps if you already understand git before reading it ;)
22:12
<roc>
TabAtkins: if you're not comfortable blindly adding files with "git add ." (which you probably aren't if you're new to git), then you have to know about the staging area.
22:13
<roc>
because you do "git add foo.c" and then you wonder why "git diff" doesn't show you that file.
22:13
<TabAtkins>
jgraham: Ah, I just diff if I'm not sure, but whatever works for you.
22:13
Ms2ger
still randomly forgets to commit or add stuff
22:13
<sgalineau>
which doc are we talking about? I thought http://git-scm.com/doc was useful
22:13
<TabAtkins>
https://marklodato.github.io/visual-git-guide/index-en.html is still a great doc too.
22:14
<Hixie>
how do you refer to "the last thing i checked out from the upstream repo" in git?
22:14
<sgalineau>
yes. Git Immersion was decent as well
22:14
<Hixie>
assuming HEAD refers to "the last thing i commited locally"
22:14
<Ms2ger>
origin/master?
22:14
<jgraham>
Hixie: origin/master, typically. or @{u}
22:14
<jgraham>
@{u} is the upstream of the current branch
22:14
<TabAtkins>
(Assuming that the upstream branch is called "master" as well, which it usually is.)
22:15
<Hixie>
thanks
22:15
<Hixie>
you'd think this would be documented somewhere on git-checkout got git-branch
22:15
<roc>
the git man pages are terrible
22:15
<jgraham>
(fun quiz question: how do you do the same in mercurial)
22:15
<wilhelm>
Hixie: To me, it sounds like you're still thinking "commits are expensive, and a big deal", and that's where a non-trivial part of the friction comes from.
22:15
<roc>
but that's partly because the git command-line syntax they're documenting is terrible
22:16
jgraham
is rather sure that the terribleness of the git command line syntax is something that "everyone knows" rather than something that's actually true
22:16
<Hixie>
wilhelm: i'm not thinking anything is expensive except having to type commands
22:17
<roc>
e.g. variously using the terms "index", "stash", "staging area" and "cache" to refer to the same thing
22:17
<Hixie>
wilhelm: if it takes me 10 minutes per command i have to type in, one command is cheaper than 4 commands is cheaper than 12 commands.
22:17
<TabAtkins>
Anything to do with rev-parse is pretty terrible.
22:18
<jgraham>
Yeah, rev-parse is obviously half-finished
22:18
<TabAtkins>
My 99% command set is `git pull --rebase`, `git push`, `git stash`, `git stash pop`, `git commit -am "foo"`, `git add -p file.txt`
22:18
<Domenic>
also lots of branching
22:19
<wilhelm>
I rarely do anything sufficiently complicated to notice the so-called horrible command-line UI of git.
22:19
<TabAtkins>
I don't branch as often as I should, but yeah.
22:19
<roc>
TabAtkins: no "git rebase -i"?
22:19
<sgalineau>
TabAtkins: no git checkout/git merge?
22:19
<TabAtkins>
roc: I rarely have to go interactive.
22:19
<roc>
no "git add remote ..."?
22:19
<roc>
no
22:19
<TabAtkins>
sgalineau: rebasing > merging. I don't branch very often.
22:19
<Domenic>
ff merges only
22:19
<roc>
"git branch -D all_the_stupid_local_branches_I_have_to_create_to_merge_stuff_in_github"?
22:19
<TabAtkins>
roc: Handled by git cloning automatically. I've had to do that before, but only by copy/pasting from tutorials.
22:20
<wilhelm>
roc: Rarely any of the above.
22:20
<sgalineau>
10 people in a room, 14 ways to use git
22:20
<TabAtkins>
Most of my git work is on repos where I push straight to master. ^_^ When I do work on PR-based repos, I branch more.
22:21
<wilhelm>
My repos have half a dozen people in them, the biggest one apparently with 57 feature branches. Perhaps it's time for a spring cleaning.
22:21
<sgalineau>
TabAtkins: I always branch for a bug fix since it might not be done by the time i need to go back to the main branch
22:21
<sgalineau>
for instance
22:21
<TabAtkins>
sgalineau: Yeah, that's what I should do more.
22:22
<TabAtkins>
I get bitten every once in a while due to not doing that, and then having to branch and mess with history after.
22:23
<roc>
that reminds of a classic piece of absurd git syntax: "git checkout -b foo" to create a branch. Because using "git branch" to create a branch containing your current changes would be too obvious.
22:24
<sgalineau>
roc: +1 I still type git branch foo half the time
22:25
<roc>
I was sort of hoping that my initial dislike of git would dissipate once I learned it properly. I was wrong.
22:25
<Hixie>
http://damowmow.com/playground/git-notes
22:25
<Hixie>
svn commit foo.txt seems to be equivalent to 7 lines of git commands
22:26
<sgalineau>
that's what svn commit does?
22:26
<Hixie>
as far as i can tell, in git terms, yes.
22:26
<Hixie>
in svn terms, it just commits your changes to that file to the repo
22:27
<sgalineau>
afaik git commit takes a file name as argument. now confused.
22:28
<roc>
Hixie: I think you can replace those lines with "git add foo.txt # add foo.txt changes to the index" "git commit -m <msg>" "git push"
22:28
<jgraham>
I… can't tell what kind of confused workflow you have to be using to end up with that mess of commands
22:28
<Hixie>
sgalineau: "git commit" doesn't have an equivalent in svn, since svn doesn't have a local repo.
22:28
<wilhelm>
You forget the part where you accidently nuke your uncommited changes in your svn repo.
22:28
<sgalineau>
Hixie: ah, yes, duh
22:29
<sgalineau>
Hixie: still, roc's alternative sounds like what I'd expect
22:29
<jgraham>
roc: So¸ as best I can tell the problem is that Hixie has already committed the changes and now wants to undo those commits and push some different commits to upstream
22:29
<sgalineau>
Hixie: I don't get why it needs to create the foo branch and ditch it
22:29
<jgraham>
I don't know *why* he thinks he wants to do this
22:29
<MikeSmith>
jgraham: I know I'm preaching to the choir but mq is just such a horrible hack, and so painful to use. It makes any of the git hassles in comparison look like .. not hassles. I say that after having used it by choice for some significant time. And yeah it's not a required thing but it seems to be worflow you inevitably end up with in practice in a lot of mercurial scenarios.
22:30
<Hixie>
roc: that assumes your branch doesn't have other changes on it
22:30
<roc>
Hixie: no it doesn't.
22:30
<Hixie>
jgraham: i explained why earlier.
22:30
<sgalineau>
Hixie: those changes aren't lost...
22:30
<MikeSmith>
anyway, I'm trying to decide whether in this conversation to give more of my votes to Hixie's "why would things go wrong" or sgalineau "had no idea IRC source control chatter could be popcorn-worthy"
22:30
<TabAtkins>
roc: You *do* create a branch with `git branch`. But `git checkout` is how you *switch* branches.
22:30
<Hixie>
roc: then i don't understand it
22:31
<roc>
Hixie: it assumes you haven't already done a "git commit".
22:31
<sgalineau>
sounds like that's the problem
22:31
<roc>
basically when you map svn into git, you would only ever do a "git commit" just before a "git push"
22:31
<wilhelm>
This conversation feels a lot like RDMBS<->NoSQL arguments. One side ensures predictable, consistent data. The other is "easier".
22:31
<Hixie>
roc: what's the difference between "that assumes your branch doesn't have other changes on it" and "that assumes you haven't already done a "git commit"" ?
22:31
<TabAtkins>
Hixie: If you're *actually* using git as svg (no local commits), then `svn commit foo.txt` is just `git add foo.txt; git commit; git push`
22:31
<roc>
right
22:31
<Hixie>
i'm not trying to use git as svn
22:32
<Hixie>
i'm trying to use git as git, as everyone always says i should
22:32
<Hixie>
:-)
22:32
<TabAtkins>
You're doing *half* SVN, in which case your request doesn't make a lot of sense within the data model.
22:32
<roc>
yeah
22:32
sgalineau
shudders at half SVN
22:32
<roc>
you can't use git like svn half the time and some other way half the time, in the same repo.
22:32
<Hixie>
(is there some way to figure out what remote branch git push will use by default?)
22:32
<TabAtkins>
But you can do it by copying the file into a buffer, branching from origin/master, pasting the buffer contents into the file you want, then commiting it and pushing.
22:32
<Hixie>
roc: i'm not trying to
22:34
<MikeSmith>
Hixie: "git remote" with no args I think
22:34
<Hixie>
wtf. I'm in dir a/b/c and I do "git diff origin/master" and it tells me that I have a change in d/e/f. I cd d, do the same thing, no changes.
22:34
<Hixie>
MikeSmith: that just says "origin"
22:34
<Hixie>
which i don't think is a branch?
22:34
<TabAtkins>
Saying "I want to push a file" is indeed using half SVN. "files" aren't meaningful units in the git data model.
22:35
<Hixie>
TabAtkins: that's not half-svn. it's half-filesystem maybe.
22:35
<TabAtkins>
Which svn is closer too, yes.
22:35
<Hixie>
TabAtkins: the reality is i have one file with changes in it and i need to commit it.
22:35
<Hixie>
TabAtkins: that's just the situation, it's not an attempt to fit it to any model.
22:35
<TabAtkins>
And the answer that we've continually told you is "branch and put the changes there".
22:36
<Hixie>
right, which is seven commands
22:36
<Hixie>
instead of hte one in svn
22:36
<Hixie>
that's all i'm saying :-)
22:36
<Ms2ger>
The branch-commit-merge model doesn't make much sense if you're the only one editing
22:36
<roc>
TabAtkins: I pretty much always use "git checkout" to create branches, because it handles the two cases I care about and "git branch" doesn't. Namely: "create and switch to a branch where I can commit the changes I have already made to the working area" and "make a local branch tracking this remote branch and check it out so I can rebase and test it before merging"
22:36
<jgraham>
Finding out the upstream of the current branch is slightly hard. git remote -v does it, or git rev-parse --abbrev-ref @{u}
22:36
<MikeSmith>
Hixie: no I was wrong. I tried adnd I see "git remote" shows a list of all remotes
22:37
<jgraham>
s/remote/branch/
22:37
<MikeSmith>
yeah
22:37
<Domenic>
FWIW I really find having a visual and manipulable representation of the tree to help me. E.g. https://www.dropbox.com/s/yxo8syn97lcvani/Streams%20git.png?dl=0
22:37
<TabAtkins>
roc: Right, you usually want to combine branch creation and checkout. No disagreement ehre.
22:37
<jgraham>
s/-v/-vv/
22:37
<Hixie>
-v and -vv don't give me a branch name as far as i can tell
22:37
<TabAtkins>
Domenic: github provides a visual tree view.
22:38
<Hixie>
git rev-parse --abbrev-ref @{u} works
22:38
<jgraham>
Hixie: git branch -vv?
22:38
<Hixie>
oh, i missed that edit
22:38
<Domenic>
TabAtkins: sure but the whole point is to get a view of local vs. remote, and see the local tree evolve as you do things to it, before deciding what to push upstream
22:38
<Hixie>
jgraham: thanks
22:38
<TabAtkins>
Ah, kk.
22:38
<TabAtkins>
I guess you work with more complicated things than me. ^_^
22:38
<roc>
"git checkout" makes sense for the latter case, since I am actually checking something out. "git checkout" for the first case never actually checks out anything, so it's stupid.
22:39
<TabAtkins>
roc: It checks out the new branch. I don't understand your confusion.
22:39
<roc>
it doesn't modify the working area.
22:39
<TabAtkins>
It so happens that the index is the same in the new and old branch, but your branch pointer is different (so your commits will hit a different area).
22:40
<TabAtkins>
Yeah? Working area changes are never affected by a checkout, unless the histories are different in the files that have been edited.
22:41
<TabAtkins>
(In which case it wants you to commit or stash or what-have-you, so you can the existing mechanisms to handle possible conflicts.)
22:42
<roc>
"git checkout -b foo" never modifies the working area, it just manipulates branches. It should therefore be a "git branch" command.
22:43
<TabAtkins>
roc: `git checkout` *never* messes with changes you've made in your working area.
22:43
<roc>
not true
22:43
<roc>
"git checkout foo.c" replaces the working area's copy of foo.c with the index copy
22:44
<TabAtkins>
Oh, sorry, yeah, a checkout of a *file* does that. A checkout of a branch doesn't.
22:44
<TabAtkins>
checkout is overloaded a bit.
22:44
<roc>
I think I win
22:44
Ms2ger
gives roc a medal
22:44
<TabAtkins>
...no? Not unless you think `git checkout foo` (to a branch named foo) should *also* be changed to a `git branch` command.
22:44
<roc>
no
22:44
<TabAtkins>
Then I don't understand at all.
22:45
<roc>
"git checkout foo" modifies the working area; it leaves your changes intact but rebases them to branch "foo"
22:45
<TabAtkins>
Because `git checkout -b foo` is precisely `git branch foo; git checkout foo`
22:45
<TabAtkins>
Yes.
22:45
<TabAtkins>
And so does git checkout -b, it's just that the (non-modified) parts of the working areas are identical, because the new and old branch point to the same commit.
22:47
<roc>
I think "git branch foo" should check out the branch. It's hardly useful as is.
22:47
<TabAtkins>
Again, checkout -b is *solely* a concatentation of a branch and a checkout command, for convenience. Whether that belongs under the aegis of `branch` or `checkout` seems relatively arbitrary, but neither is "wrong", because it's *literally* those two commands.
22:47
<TabAtkins>
I wouldn't disagree there, to be honest. `checkout` has overloaded meanings, and branch creation is rare enough that needing a flag to say "create branch foo" would be fine.
22:48
<roc>
"git checkout" could just go away, or be reduced to the "check out a file" function.
22:48
<TabAtkins>
But then we're talking about moving syntax around, not judging an existing piece of syntax based on other existing syntax. ^_^
22:48
<roc>
it's part of the overcomplexity of git.
22:49
<roc>
overloaded commands, and commands with the wrong names.
22:49
<roc>
a new git user wants to create a branch for some changes they've made; they read the "git branch" man page but that's not enough. It could be enough.
22:50
<TabAtkins>
All right, but that's the story of every successful technology, and I don't think anything is immune to getting things wrong in its history.
22:50
<Hixie>
i don't think git is old enough to use that excuse yet
22:51
<TabAtkins>
It's 9 years old!
22:51
<roc>
Mercurial is much better designed (as of now; until recently it lacked important features).
22:52
<jgraham>
It still lacks important features!
22:52
<jgraham>
(see my pop quiz above)
22:52
<Hixie>
9 years old is not enough to be able to claim that basic suckage is just the result of being successful
22:52
<TabAtkins>
And I disagree about better designed, but I'd be willing to chalk that up to Blub for the sake of getting back to work. ^_^
22:52
<roc>
I think because at the beginning they focused on making simple things simple whereas git jumped straight to the Linus use-cases which committed them to a lot of ill-thought-out syntax early.
22:53
<roc>
yeah
22:53
<TabAtkins>
Hixie: Any age is enough when you get a popularity blow-up. It crystallizes decisions that should really have more thought put into them.
22:53
<roc>
lunchtime
22:54
<TabAtkins>
Ahhhhh, the more features someone used of Bert's preprocessor, the more of a pain-in-the-ass it is to convert to Bikeshed.
22:54
<TabAtkins>
(I assume the same is true of Bikeshed to anything else, of course.)
22:54
<TabAtkins>
But nobody actually *used* Bert's features, except Bert and jdaggett. :(
22:55
<MikeSmith>
Hixie: in other news while it's on my mind, I want say, I think we lost the fight a long time ago on discouraging use of meta@http-equiv="X-UA-Compatible" and making it a conformance error. See, e.g., bootstrap docs saying, 'To be sure you're using the latest rendering mode for IE, we strongly recommend including [meta@http-equiv="X-UA-Compatible"]' and we've lost on making it a useful conformance error. And now the validator reporting it as such is ju
22:56
<MikeSmith>
Hixie: so should I file a bug or what
22:57
<Hixie>
MikeSmith: :-(
22:57
<MikeSmith>
yeah it sucks
22:57
<Hixie>
MikeSmith: so what are we saying, it should be part of the boilerplate like the doctype?
22:57
<gsnedders>
MikeSmith: a SAX API that throws a fatal parse error when it hits content that needs buffering?
22:57
<Hixie>
MikeSmith: what does IE do if you don't include it?
22:57
<wilhelm>
Hixie: On poorly configured systems the user may not have control over, go into IE8 mode and break everything.
22:58
<gsnedders>
Hixie: depends on configuration, whether the site is in the internet or intranet zone…
22:58
<gsnedders>
Hixie: by default internet zone is latest, intranet zone was originally IE7 mode but I think that's changed?
22:58
<wilhelm>
gsnedders: "Intranet" is fuzzy, in that case.
22:58
<Hixie>
jesus wept
22:58
<gsnedders>
I don't remember how Windows defines "Intranet"!
22:59
<gsnedders>
I'm just using the term it does! :P
22:59
<MikeSmith>
Hixie: not sure what IE does but in practice all the boilerplate from boostrap etc include it, and best-practice/how-to guides all say to include it. So I guess that means we're really stuck with it now
22:59
<Hixie>
fantastic
22:59
<Hixie>
yeah, file a bug
22:59
<Hixie>
i guess we require it? :-P
22:59
<Hixie>
with IE=edge ?
22:59
<MikeSmith>
Hixie: meta viewport is another we're stuck with but at least that's valid now
23:00
<Hixie>
we should clearly require that one too, with width=device-width or whatever it is
23:00
<MikeSmith>
Hixie: yeah
23:00
<MikeSmith>
anyway I'll file a bug
23:00
<MikeSmith>
and lord have mercy on me
23:01
<wilhelm>
gsnedders: I removed that line from a publicly available customer site recently. Worked fine everywhere I tested. Bam, it broke on all their internal machines in some horrible Citrix environment.
23:01
<MikeSmith>
gsnedders: yes, a SAX API that throws a fatal parse error when it hits content that needs buffering?
23:01
<MikeSmith>
07:57 Hixie: MikeSmith: what does IE do if you don't include it?
23:01
<MikeSmith>
oofs
23:01
<gsnedders>
wilhelm: that's why you shouldn't have customers
23:02
<gsnedders>
wilhelm: (on the other hand I like income)
23:02
<wilhelm>
But.. they pay our salaries.
23:02
<MikeSmith>
gsnedders: ideally with an option for buffered non-streaming parsing for those that want to opt-in to that
23:02
<gsnedders>
MikeSmith: people are starting to more seriously try and build on top of html5lib
23:03
<MikeSmith>
gsnedders: and to be clear, not a fatal parse error for the document, but just fatal for that part of the tree
23:03
<gsnedders>
MikeSmith: that sounds horrible to implement :(
23:03
<MikeSmith>
gsnedders: If you know what I mean. That's how Henri's parser handles it
23:03
<MikeSmith>
gsnedders: well, Henri did it. So we have an existence proof
23:04
<gsnedders>
MikeSmith: is that even a conforming option per spec? I thought the options were stop parsing or continue per spec?
23:04
<MikeSmith>
dunno
23:04
<gsnedders>
MikeSmith: well, I'm not questioning plausiblity, just niceness :)
23:04
<gsnedders>
MikeSmith: what makes a streaming parser better, though? ability to cope with larger docs?
23:05
<MikeSmith>
gsnedders: at least for henri's implementation it emits a messaging saying basically "I'm giving up on checking this part of the tree. [There may be errors in it but I'm not able to report them because that would require non-streaming parsing, which I'm not set to do right now.]"
23:06
<MikeSmith>
gsnedders: performance
23:06
<MikeSmith>
and the ability to hook it into a pipeline and check things in parallel
23:07
<gsnedders>
MikeSmith: which are the non-streaming cases? AAA, foster parenting? AAA seems to be hard to mark the right part of the tree, off-hand
23:07
<MikeSmith>
can run multiple checks in parallel fed from the same parse events
23:07
<MikeSmith>
gsnedders: yeah AAA and foster parenting
23:08
<MikeSmith>
gsnedders: and I don't know how Henri handled it but I think it does mark the right part of the tree
23:08
<gsnedders>
MikeSmith: It's Henri's code, I don't doubt it does. :)
23:09
<MikeSmith>
heh
23:10
<MikeSmith>
anyway, the model of being able to use multiple SAX contenthandlers in parallel is really powerful for implementing a checker, and just makes a lot of things much easier/doable
23:11
<gsnedders>
well you should always be able to implement something that multiplies events
23:11
<gsnedders>
given a normal singular SAX handler
23:12
<MikeSmith>
yeah I just mean the benefit of SAX, of exposing a SAX API
23:13
<MikeSmith>
but more generally exposing any kind of parse-event API at all is a win for this kind of use case (checkers)
23:14
<MikeSmith>
and in practice, "exposing any kind of parse-event API" pretty much just means SAX
23:15
<MikeSmith>
*means just use SAX, because it's sane and nobody has come up with anything that's radically better
23:58
<johan16>
hoi