00:19
<nox>
https://github.com/whatwg/dom/pull/66/files
00:19
<nox>
Err, https://github.com/whatwg/dom/pull/66
01:09
MikeSmith
wonders if Domenic and annevk got things worked out as far at the teams stuff for the repo; seems like it
01:33
<Domenic>
yepyep
01:37
<Domenic>
The problem with all this crazy tooling is that if I wanted to extend it I'd start writing node.js code
01:37
<Domenic>
But we already have like 4 languages and prereqs
01:37
<Domenic>
Adding a fifth seems bad
01:39
<Domenic>
E.g. Sebmaster is basically doing https://github.com/whatwg/html/issues/55 in node already for independent reasons (he's writing a generic spec Web IDL scraper)
01:39
<Domenic>
I guess it should really be done in wattsi though since wattsi already has a parsed representation of the document
02:05
<MikeSmith>
I'd be willing to work on extending the wattsi code if we really thought that was the best way to do it
02:06
<MikeSmith>
But it seems like it might not be best, I dunno
02:07
<MikeSmith>
I personally would rather we rewrote it all in Rust 😀
02:09
<MikeSmith>
Anyway, I have a question about document.evaluate
02:09
<MikeSmith>
I'm wondering why the current normative spec for it is
02:10
<MikeSmith>
and if the answer is, the DOM3 spec, then that seems less than ideal
02:11
<MikeSmith>
seems like it should be re-specced in a modern
02:12
<MikeSmith>
*modern spec
02:32
<Domenic>
Hmm. It doesn't show up in https://dom.spec.whatwg.org/#dom-core-changes
02:34
<Domenic>
Oh jeez it's in prose In a DOM implementation which supports the XPath 3.0 feature, as described above, the XPathEvaluator interface will be implemented on the same object which implements the Document interface
02:35
<Domenic>
MikeSmith: my thinking is that DOM is not meant to subsume DOM 3 XPath, just DOM 3 Core.
02:36
<Domenic>
There's not too much there though, it could probably be subsumed and modernized
02:37
<MikeSmith>
Yeah
02:39
<MikeSmith>
devs and libraries do actually use it, so it would be nice to actually have a good spec for it
02:39
<MikeSmith>
WebDriver relies on it
02:40
<MikeSmith>
or at least WebDriver implementations/libraries Do
02:40
<MikeSmith>
through an abstraction
02:41
<Domenic>
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/xml/XPathEvaluator.idl&q=xpath%20idl&sq=package:chromium&l=24 is interesting
02:41
MikeSmith
looks
02:42
<MikeSmith>
dang that UI is makes it hard to read on mobile
02:43
<MikeSmith>
frame layout
02:43
MikeSmith
rotates
02:43
<Domenic>
https://www.chromestatus.com/metrics/feature/timeline/popularity/297 https://www.chromestatus.com/metrics/feature/timeline/popularity/295 https://www.chromestatus.com/metrics/feature/timeline/popularity/296 usage stats... could in theory remove createExpression?
02:44
<Domenic>
Which would be nice because then we could kill XPathExpression entirely
02:44
MikeSmith
looks more
02:46
<MikeSmith>
Domenic: yes
03:45
<annevk>
Domenic: MikeSmith: ideally we would have team permissions for creating and pushing to branches other than master, and indeed also assigning etc.
03:45
<annevk>
Domenic: MikeSmith: with just master controlled by a small set of folks
03:46
<annevk>
Domenic: but alas
03:46
<annevk>
I guess we could ask for that...
04:05
<MikeSmith>
annevk: if by "we could ask for that" you mean, ask github to add that feature, then I agree. But that said, even if they say Yeah and think it's the greatest idea in the world, it would be like 6 months at least before it's actualy deployed
04:05
<MikeSmith>
so in practice that doesn't solve any problem for us
04:06
<MikeSmith>
(plus, you're up really eearly again)
04:06
<annevk>
If I could solve all my problems within six months by sending an email...
04:06
<MikeSmith>
haha
04:07
<annevk>
We're going to bed earlier as well, so it evens out
04:07
<MikeSmith>
ok
04:07
<MikeSmith>
so anyway
04:07
<botie>
so is probably TabAtkins going to do the geocities look again?
04:07
<MikeSmith>
document.evaluate
04:07
<MikeSmith>
thoughts?
04:07
<annevk>
Well, I'm not opposed to specifying it, but it doesn't seem high priority
04:07
<MikeSmith>
e.g., fine to leave it as-is in DOM3 XPath
04:07
<MikeSmith>
oh
04:07
<MikeSmith>
ok
04:08
<MikeSmith>
yeah
04:08
<MikeSmith>
I guess so
04:08
<annevk>
Note that we have the DOM XPath wiki page that has more detail
04:08
<MikeSmith>
ah ok, will lok
04:08
<MikeSmith>
yeah I vaguely recalled there being something
04:08
<MikeSmith>
webdriver users rely on XPath very heavily
04:09
<MikeSmith>
but they don't care how it works under the hood, as long as it works
04:09
<MikeSmith>
so if we could replace what we have now with something that's modern and better that would be great too
04:10
<TabAtkins>
...why is botie talking to me?
04:10
<MikeSmith>
I mean, not just re-speccing it properly, but creating a new modern API
04:11
<MikeSmith>
TabAtkins: botie was apparently responding to me saying "so", and thinks "so" means "probably TabAtkins going to do the geocities look again"
04:12
<annevk>
MikeSmith: not sure about new APIs, that seems even less relevant now than it when that came up a decade ago or so
04:12
MikeSmith
reads https://wiki.whatwg.org/wiki/DOM_XPath
04:12
<TabAtkins>
Sure, that makes sense
04:12
<annevk>
MikeSmith: especially since nobody is interested in extending the XPath language
04:13
<annevk>
(when it comes to the web platform anyway)
04:14
<MikeSmith>
annevk: I would think so as well if I didn't see a dozen questions a day on StackOverflow who are trying to get stuff done with webdriver and trying to figure out XPath expressions to let them do what they need
04:14
<MikeSmith>
which is typically, "I need to make webdriver emulate a click on this specific element"
04:14
<annevk>
Can't WebDriver provide a proprietary API then? Or a small wrapper library?
04:15
<MikeSmith>
why a proprietary API? WebDriver is a standard
04:21
<MikeSmith>
annevk: and webdriver already puts a wrapper/abstraction around the XPath stuff. All webdriver implementations have something called findElementByXPath or something like that
04:21
<MikeSmith>
I guess it's standard actually
04:21
MikeSmith
should read the spec more since he's nominally in charge of that WG
04:22
<MikeSmith>
it returns a thing called WebElement
04:23
<MikeSmith>
anyway it seems to me there's plenty of evidence that WebDriver is solving real problems. And in practice right now WebDriver users rely very heavily on XPath, so XPath is solving a real problem for them and helping them get real work done
04:24
<MikeSmith>
admittedly their XPath usage eventually could be replaced by some other addressing mechanism/API
04:24
<MikeSmith>
I think their tools actually already provide some method that allows doing it with Selectors
04:25
terinjokes
raises hand as WebDriver user who's used years of libxml experience to craft XPath
04:25
<MikeSmith>
hey terinjokes
04:25
<MikeSmith>
my impression is that despite having Selectors support as an alternative, very few webdriver devs actually use it
04:26
MikeSmith
shuts up for now
04:26
MikeSmith
changes his mind
04:27
<MikeSmith>
annevk: about "nobody is interested in extending the XPath language", it arguably doesn't need extending. XPath 1.0 works fine as far as webdriver users go at least
04:27
<terinjokes>
i've used xpath to select a specific element (i want element with class "x" that's in the third div with class "y" with the parent C, though obviously written backwards from this)
04:27
<terinjokes>
which might be possible as a selector, but I don't know how to do it
04:28
<MikeSmith>
I've not seen many normal people saying that XPath 1.0 needs to be extended to do what they need
04:28
<MikeSmith>
but maybe I'm not aware of other deficiencies that are causing any problems we actually care about
04:28
<MikeSmith>
TabAtkins: yeah
04:28
<MikeSmith>
oofs
04:29
<MikeSmith>
s/TabAtkins/terinjokes/ there
04:29
MikeSmith
shuts up again
04:29
<TabAtkins>
I KEEP GETTING MENTIONED FOR NO REASON
04:30
<MikeSmith>
hahah
04:30
<MikeSmith>
botie: bug TabAtkins about something
04:30
<botie>
MikeSmith: i'm not following you...
04:30
<boogyman>
you could always change your nick to NotTabAtkins
04:30
<TabAtkins>
GODDAMMIT
04:31
<terinjokes>
MikeSmith: my understanding is that botie only responds in a useful manner to "so"
04:32
<MikeSmith>
so what?
04:32
<botie>
it has been said that so is TabAtkins going to do the geocities look again?
04:32
<MikeSmith>
oh man that's annoying
04:32
<MikeSmith>
will delete that now
04:33
<MikeSmith>
in the mean time https://www.w3.org/TR/webdriver/#element-location-strategies
04:33
<TabAtkins>
OMIGOD BOTIE SHUT UP
04:33
<MikeSmith>
https://www.w3.org/TR/webdriver/#findelements & https://www.w3.org/TR/webdriver/#findelement
04:41
<terinjokes>
i think i might steal this phrase in my future "specs": "However, in the absence of another specification actually defining this, here are some guidelines for implementors"
04:50
<MikeSmith>
hahah
04:50
<MikeSmith>
yeah I remember now why I avoided reading that spec in detail
04:51
<MikeSmith>
anyway jgraham and Andreas Tolfsen have been helping on that spec and it's getting much better
04:55
<MikeSmith>
terinjokes: oh wait, what spec were you quoting there?
04:55
<terinjokes>
MikeSmith: the w3 draft version of html. it's how the non-normative sections about XSLT and <script> and <template> begin
04:56
<MikeSmith>
ah ok
04:56
<annevk>
MikeSmith: that XPath is fine for WebDriver doesn't mean there should be a better API in browsers I think
04:56
<terinjokes>
i got linked to from the WebDriver spec somehow
04:57
<MikeSmith>
botie, so is the word that comes before la
04:57
<botie>
...but so is TabAtkins going to do the geocities look again?...
04:57
<MikeSmith>
botie, no, so is the word that comes before la
04:57
<botie>
...but so is TabAtkins going to do the geocities look again?...
04:57
<MikeSmith>
fuck
04:58
<MikeSmith>
no, so is the word that comes before la
04:58
<MikeSmith>
botie, so is the word that comes before la
04:58
<botie>
...but so is TabAtkins going to do the geocities look again?...
04:58
<MikeSmith>
no, so is the word that comes before la
04:59
<MikeSmith>
annevk: yeah I suppose so
05:16
<MikeSmith>
so what?
05:16
<MikeSmith>
TabAtkins: I just deleted the entire "is"-association DB that botie was using
05:17
<MikeSmith>
I guess I should just turn it off but I don't want to spend 30 minutes or whatever it would take to do that atm
05:26
<annevk>
Ugh, error: did you mean `--ff-only` (with two dashes ?)
05:26
<annevk>
Pedantic software...
05:37
<TabAtkins>
MikeSmith: Haha, thanks
05:54
<MikeSmith>
annevk: meta note: for stuff like https://github.com/whatwg/html/commit/db33a45abcfddb6c17605ed64d474d1489090335#commitcomment-13039312 I think the best workflow would be that you just make those changes directly on the branch yourself. Since they are relatively minor and seem uncontroversial.
05:55
<MikeSmith>
annevk: and since it takes less time to actually do it than it does to have a discussion about it
05:55
<annevk>
Yeah I suppose, since we just started it's still a bit unclear what everyone cares strongly about
05:56
<MikeSmith>
yeah true
05:56
<MikeSmith>
never know sometimes
05:56
<MikeSmith>
that's part of why I try not to feel too strongly about anything (not that I always succeed)
05:58
<annevk>
MikeSmith: are you around for a while longer?
05:59
<annevk>
MikeSmith: wondering what "ln -s ../images .wattsi-output/multipage-html/" is in the build-script
05:59
<annevk>
MikeSmith: I realize it creates a link, but it does so from the current working directory seemingly
05:59
<MikeSmith>
annevk: I'm around for the rest of the day (hours and hours)
06:00
<MikeSmith>
I didn't know the build script did that
06:00
MikeSmith
looks
06:04
<MikeSmith>
annevk: that seems to me like what exatly
06:05
<MikeSmith>
*exactly what it should be doing
06:05
<MikeSmith>
that is, it's working as intended
06:05
<MikeSmith>
is it causing some problem for you?
06:05
<MikeSmith>
errors?
06:05
<annevk>
I'm just confused what is being linked
06:05
<annevk>
Is it going to the parent directory of html-build/?
06:06
<annevk>
Hmm, seems I have to go for a bit
06:06
<annevk>
Back in half an hour or so
06:07
<MikeSmith>
k
06:07
<MikeSmith>
I'll still be here
06:07
<annevk>
My tentative plan for today is to create .html/ as input directory and have .generated-html/ as output directory or some such. So not all the files are cluttered with the rest...
06:07
<MikeSmith>
hmm
06:07
<MikeSmith>
well my plan for today is to actually work on the build script
06:07
<MikeSmith>
so maybe we should work on it together when you have time
06:08
<MikeSmith>
I have time for the next 3.5 hours or so
06:08
<annevk>
Okay
06:08
<MikeSmith>
then I'm on the train for ~2 hours
06:08
<annevk>
I've been hacking on https://github.com/whatwg/html-build/issues/1
06:08
<MikeSmith>
ok
06:08
MikeSmith
looks
06:08
<annevk>
I fixed the bits that need to be done in html/, now I need to fix the bits in html-build/
06:08
<annevk>
I can upload the html/ branch now so you can have a look
06:09
<MikeSmith>
super
06:09
<MikeSmith>
yeah let's get this stuff done today if we can
06:11
<annevk>
MikeSmith: https://github.com/whatwg/html/commit/a262f1d23cb8990a4735436215a01f0f4892f1a1
06:11
<annevk>
Not a big change so far :-)
06:12
<annevk>
Gotta bring O to daycare and then I'll be back to do the remaining bits
06:12
<MikeSmith>
hai
06:12
<MikeSmith>
will be here and will be looking at it all in the mean time
06:14
MikeSmith
sets aside the 2352 unread messages in his inbox for a while
06:21
<annevk>
MikeSmith: turns out I didn't have to today
06:21
<MikeSmith>
ah OK
06:21
<annevk>
MikeSmith: anyway, so the problem is that the build script removes the /multipage/ directory
06:21
<MikeSmith>
so, let's do this thing!
06:21
<MikeSmith>
annevk: OK
06:21
<MikeSmith>
yeah
06:22
<MikeSmith>
as it should I guess
06:22
<MikeSmith>
since it rebuilds it all
06:22
<annevk>
MikeSmith: whereas we want to just copy it from "input" and add wattsi output
06:22
<MikeSmith>
yeah
06:25
<MikeSmith>
annevk: looking at it all now
06:27
<MikeSmith>
annevk: so we want to keep .wattsi-output where it is now?
06:27
<MikeSmith>
or in our re-plan do we want to move it elsewhere?
06:27
<annevk>
MikeSmith: I think that's fine
06:27
<annevk>
MikeSmith: do you know why complete.html is copied and not simply moved to index?
06:28
<MikeSmith>
do not know but will look and find out
06:28
<MikeSmith>
before we start making further changes, I would like to land Domenic's patch for https://github.com/whatwg/html-build/pull/10
06:28
<MikeSmith>
OK?
06:29
<MikeSmith>
that's not going to break anything, but if we make changes it might break the merge-ability of that patch
06:29
<MikeSmith>
so I think it's better to land it now
06:29
<MikeSmith>
land=push
06:30
<annevk>
MikeSmith: seems fine if it works
06:30
<MikeSmith>
ok
06:30
<MikeSmith>
will do it in minute
06:30
<MikeSmith>
right now, still looking that thd build script
06:31
<annevk>
I think complete.html not being moved is some leftover we forgot to clean up
06:31
<annevk>
since it's identical to index
06:31
<MikeSmith>
so yeah, there is no good reason for complete.html to be cp'ed instead of mv'ed
06:31
<MikeSmith>
probably yeah
06:32
<annevk>
https://github.com/whatwg/html-build/pull/12
06:34
<annevk>
MikeSmith: so my idea was that we create .html; everything inside .html you need to ln yourself to whatwg/html
06:34
<MikeSmith>
manually?
06:34
<annevk>
MikeSmith: build.sh then copies .html to .html-build and we operate on that
06:34
<MikeSmith>
manually you'd need to run "ln -s" yourself?
06:35
<MikeSmith>
ah I thnk I see what you were saying
06:35
<annevk>
MikeSmith: well, perhaps we could check if it's in ../html or allow for a parameter
06:35
<MikeSmith>
yes
06:35
<MikeSmith>
exxactly
06:35
<MikeSmith>
so yeah, that's easy
06:35
<annevk>
MikeSmith: and we destroy .html-build at the start of build.sh
06:35
<MikeSmith>
ok
06:36
<annevk>
MikeSmith: both also need to be in .gitignore
06:36
<MikeSmith>
yeah sure that's really minor and can wait
06:37
<annevk>
MikeSmith: I'm still not sure what ln -s ../images .wattsi-output/multipage-html/ does though
06:38
<MikeSmith>
yeah me neither, after looking at it. But I'll figure it out
06:38
<annevk>
MikeSmith: does that mean that whenever you literally use "../images" it looks in the other place?
06:38
<MikeSmith>
right now though I'm getting a fatal build error: "can't find instance of attr-img-alt"
06:38
<annevk>
No that can't be it
06:40
<annevk>
MikeSmith: looking...
06:41
<annevk>
MikeSmith: I don't get that error
06:41
<MikeSmith>
annevk: yeah, may be due to my jacking around with my local wattsi yesterday
06:41
<MikeSmith>
will figure it out shortly
06:53
<MikeSmith>
... and, now hanging at "wget -o /dev/null -N http://www.w3.org/2003/entities/2007xml/unicode.xml";
06:54
<MikeSmith>
there's not good reason for that "-o /dev/null"
06:54
<MikeSmith>
it's not hanging.. just taking a long time, but because of that -o /dev/null there's no indicator of what's going on
06:56
MikeSmith
will later kill all of those redirects of stderr to /dev/null, and whatever else there may be that prevents useful debugging info from being emitted
07:02
<MikeSmith>
annevk: please pull
07:03
<MikeSmith>
so that you'll have the wattsi-service change
07:03
<MikeSmith>
and then also please rm your local wattsi executable
07:03
<MikeSmith>
so that we know for sure we're working from the same thing
07:04
<MikeSmith>
(and working from what we want others to use later)
07:04
<annevk>
okay
07:07
<annevk>
MikeSmith: I get "Local wattsi is not present; trying the build server..." while I have wattsi locally installed
07:07
<MikeSmith>
hmm my push didn't auto-close that PR and github still thinks the branch has unmerged changes. dunno what I did wrong but not going to worry about it since the changes are actually merged
07:08
<Domenic>
complete.html is a real URL that used to be a thing people linked to
07:08
<MikeSmith>
ah yeah
07:08
<Domenic>
If we move instead of copy, we'd need to add a redirect.
07:08
<MikeSmith>
true
07:08
<annevk>
Domenic: okay I'll add a redirect
07:08
<MikeSmith>
yes
07:08
<annevk>
That wattsi no longer works locally seems like a problem
07:09
<Domenic>
Ah damn that is bad
07:09
<Domenic>
I must have gotten my bash existence test wrong
07:09
<Domenic>
But also I need to sleep
07:10
<MikeSmith>
Domenic: no worries
07:10
<MikeSmith>
but yeah if [ -e "wattsi" ] is wrong
07:10
<MikeSmith>
it means, look for a wattsi file in the current dir, right?
07:10
<MikeSmith>
whereas, it might be somewhere else
07:10
<MikeSmith>
anyway, it's easy to fix
07:10
<Domenic>
I should have actually looked up -e
07:11
<MikeSmith>
bash stuff is arcane
07:11
<MikeSmith>
teh docs don't help terrifically much
07:13
<annevk>
Added a redirect to .htaccess, the relative URL should work as final argument since we have a new enough version of Apache
07:14
<MikeSmith>
Domenic: also I should have actually tested it for the wattsi-is-present-locally case before I pushed it
07:15
<MikeSmith>
(I just tested only the wattsi-isn't-present-locally case, by removing my wattsi)
07:20
<MikeSmith>
annevk: so, about that ln -s ../images .wattsi-output/multipage-html/
07:20
<MikeSmith>
as I said, that is doing what it's supposed to
07:21
<MikeSmith>
annevk: please do ls -al .wattsi-output/multipage-html/
07:21
<MikeSmith>
and see what it shows you
07:27
<annevk>
>No such file or directory
07:28
<annevk>
I don't have multipage-html generated...
07:31
<MikeSmith>
hmm, why not?
07:32
MikeSmith
looks at the branch to see if you changed something else
07:32
<annevk>
MikeSmith: I might have forgotten to ln some file I suppose
07:33
<cvrebert>
annevk: Do you mean "were you using a nightly build?" or "please re-test in a nightly build?" ?
07:42
<nox>
annevk: Can you help me a couple of minutes? Trying to figure if the spec forgot something for <template>.
07:42
<nox>
var template = document.createElement("template"); template.innerHTML = '<template id="t2">Some text</template>';
07:42
<nox>
I can't find in the spec how the set inner HTML can end up in `template`'s template contents.
07:44
<nox>
https://html.spec.whatwg.org/multipage/syntax.html#appropriate-place-for-inserting-a-node This scans the stack of open elements, but AFAICT in the fragment case, the only opened element is <html>, reading https://html.spec.whatwg.org/multipage/syntax.html#parsing-html-fragments.
07:48
<MikeSmith>
Domenic: is there any good reason for not having the build script automatically run the "svn checkout http://www.unicode.org/repos/cldr/trunk/common/main/ .cldr-data" step?
07:48
<MikeSmith>
because otherwise we should just have the build script do it, right?
07:53
<nox>
https://html.spec.whatwg.org/multipage/syntax.html#reset-the-insertion-mode-appropriately Oh I see, step 17.
07:54
<nox>
Ah no, misread step 17. Doesn't change stack of open elements.
07:55
<nox>
https://html.spec.whatwg.org/multipage/syntax.html#stack-of-open-elements says: 'In the fragment case, the stack of open elements is initialised to contain an html element that is created as part of that algorithm. (The fragment case skips the "before html" insertion mode.)'
07:55
<nox>
I'm pretty sure template fragments can't be parsed correctly with the current rules.
07:56
<nox>
I think that step 1 in https://html.spec.whatwg.org/multipage/syntax.html#appropriate-place-for-inserting-a-node should use "adjusted current node".
08:00
<MikeSmith>
this whole build script really should be just a makefile, as I think mkwst pointed out before
08:00
<MikeSmith>
but anyway, one thing at a time
08:00
<MikeSmith>
we can port it to make later
08:02
cvrebert
wait for butthurt Windows users to complain about make
08:05
<nox>
The current element being <html> in the case of fragment parsing sounds wrong. :(
08:06
<MikeSmith>
cvrebert: I guess but to begin with, the script is bash script, no at .bat
08:29
<annevk>
cvrebert: I guess I'm saying only use nightly builds when working on standards and browsers :-)
08:30
<annevk>
MikeSmith: sorry, got called away again, did you make some progress?
08:30
<cvrebert>
annevk: Nightly still acts equally weird in that case. Just like the other browsers. :-)
08:30
<annevk>
nox: I'm not sure
08:31
<annevk>
cvrebert: it doesn't here...
08:31
<nox>
annevk: About which part?
08:31
<annevk>
cvrebert: 43.0a1 (2015-09-02)
08:31
<annevk>
nox: about innerHTML
08:31
<nox>
annevk: I'm 99.44% sure I'm right about template contents not being used in this case.
08:31
<nox>
annevk: And given it specifically sets the stack of template insertion modes in the case of template fragment, I think this is a bug.
08:32
<nox>
annevk: Firefox and Safari put #t2 in the outer template contents.
08:32
<nox>
And there are WPT tests that check for that.
08:32
<annevk>
nox: HTML has one open bug about adjusted iirc
08:32
<nox>
/html/semantics/scripting-1/the-template-element/definitions/template-contents.html
08:32
<nox>
annevk: Oh, link?
08:32
<annevk>
nox: I can look...
08:33
<nox>
annevk: I plan to make a PR for HTML to make template use the adopting steps appropriately anyway.
08:33
<annevk>
nox: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27314
08:33
<annevk>
nox: https://www.w3.org/Bugs/Public/show_bug.cgi?id=26783 is another bug on that algorithm though unrelated
08:34
<annevk>
nox: that sounds great. Please include a pointer to the tests and some documentation since I'm sure we'll need all that to review
08:34
<nox>
bzbarksy sounds right.
08:34
<annevk>
nox: none of us is very experienced in this part of the code
08:34
<annevk>
nox: that's not uncommon :-)
08:34
<MikeSmith>
annevk: making progress, yeah
08:35
<annevk>
https://github.com/whatwg/html/pull/26#issuecomment-137360727 should I ask this person to keep discourse respectful or just leave it?
08:35
<MikeSmith>
annevk: feel free to work on other stuff for the time being. I think at this point I understand what you and Domenic want and what we need, so I'll work on making it. And if I misunderstand anything, we just iterate.
08:36
<MikeSmith>
annevk: do not ask publicly
08:36
<annevk>
MikeSmith: that sounds great, thank you
08:36
<MikeSmith>
I think the first rule of dealing with trolls is not to give them any additional public attention
08:36
<annevk>
GitHub has no way to message another usage
08:36
<annevk>
s/usage/user/
08:36
<MikeSmith>
yeah
08:37
<MikeSmith>
so just delete the comment
08:37
<MikeSmith>
IMHO
08:37
<annevk>
Seems reasonable for this one
08:37
<MikeSmith>
github should have a way you can flag a comment as spam so that a github dev can deal with it
08:37
<MikeSmith>
yeah
08:38
<annevk>
I was tempted before to just remove the "Please reopen" statement since it wasn't constructive, but I decided not to since I figured it might create more flames
08:38
<nox>
Being fed up by a technical decision isn't trolling, IMO
08:38
<nox>
Happens to all of us.
08:38
<MikeSmith>
sure
08:38
<nox>
Isn't constructive, but not trolling.
08:38
<MikeSmith>
but *expressing* frustration like that is trolling
08:38
<nox>
Also, reporting people means getting them shadow-banned, sometimes, on GH.
08:38
<annevk>
nox: saying "I laugh at your statements" is trolling, imo
08:39
<nox>
annevk: It's being fed up, and thinking incompetence is involved.
08:39
<MikeSmith>
and it adds nothing constructive, so deleting it is no loss
08:39
<nox>
MikeSmith: I would redact it. Deleting sounds like you are scared.
08:39
<MikeSmith>
nox: IMHO, somebody adding comments like that deserves to be shadow-banned
08:40
<nox>
(In a fed up people mind that think Google, of all entities, is feeling pressure.)
08:40
<nox>
MikeSmith: What?!
08:40
<nox>
Shadow-banned is the most passive-aggressive douche move ever.
08:40
<MikeSmith>
wow
08:40
<MikeSmith>
I guess I don't even know what shadow-banning is then
08:40
<nox>
MikeSmith: You are banned,
08:40
<nox>
but everything works.
08:41
<nox>
You don't know you are banned.
08:41
<annevk>
cvrebert: ah, you're not using Nightly, developer edition is not recent enough it seems
08:41
<MikeSmith>
oh
08:41
<MikeSmith>
nox: yeah that's just dumb
08:41
<nox>
MikeSmith: It's fun though, your repositories are still available and whatnot,
08:41
<MikeSmith>
nox: anyway, maybe you can see what effect comments like that have
08:41
<nox>
but your profile says 404,
08:41
<nox>
so in a way,
08:41
<nox>
trolling on GH is the best way to get private repos for free.
08:42
<nox>
MikeSmith: Sure.
08:42
<MikeSmith>
that guy's comment has made the two of us argue with each other and waste time on it
08:42
<MikeSmith>
right now I just want to fixing the HTML spec build script
08:42
<nox>
MikeSmith: But I say stupid things when I am fed up by a spec sometimes. :) If that person has an history of doing this, sure.
08:42
<MikeSmith>
but instead this guy has sucked us into his little world of negativity
08:42
<MikeSmith>
yeah
08:42
<MikeSmith>
sure
08:42
<MikeSmith>
we all do it sometimes
08:43
<MikeSmith>
we need our friends to tell us to cut it out
08:43
<cvrebert>
annevk: but anyhow, it's a cross-browser quirk
08:43
<MikeSmith>
nox: anyway, I do understand what you're saying
08:44
<MikeSmith>
I'm just a little sensitive after 8 years of dealing with lots of dysfunctional communication and people in a really large WG
08:44
<nox>
Ah ah.
08:45
<annevk>
cvrebert: well was
08:45
<annevk>
cvrebert: Firefox is now correct, I'm sure other browsers would be okay with cleaning up their code too, since the new behavior would be simpler
08:46
<nox>
annevk: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27314#c23
08:47
<cvrebert>
annevk: although this does beg the question why everyone had this same quirk in the first place
08:48
<annevk>
cvrebert: yeah, I wonder what bug changed the behavior in Firefox and what the actual patch was for that, but not curious enough to start digging
08:48
<mkwst>
annevk: Is there a term in Fetch for things that the browser requests outside the context of a page? We used to have an "internal" context for those requests... I guess an `initiator` and `destination` of ""?
08:50
<annevk>
mkwst: I guess it depends on whether it's exposed somehow or not
08:50
<annevk>
MikeSmith: is there a fix for the wattsi thing yet to use the local one when available?
08:50
<annevk>
MikeSmith: or should I look into that? kind of annoying to have that broken
08:50
<mkwst>
annevk: I'm looking at https://github.com/w3c/webappsec/issues/246, which concerns requests made to populate browser UI.
08:50
<MikeSmith>
annevk: will fix it right now and push it master
08:51
<MikeSmith>
gimme a couple minutes
08:52
<annevk>
mkwst: that seems like /favicon type of requests which do go through the service worker, no?
08:52
<annevk>
mkwst: are they really distinct from the page?
08:53
<mkwst>
They aren't revealed to the page until the user chooses to do so, and then only one of potentially several.
08:53
<mkwst>
That is, the browser constructs the chooser UI using SEKRIT INFORMATIONS, and then, if the user chooses to do so, reveals a portion of those secrets to the page.
08:53
<mkwst>
So, no, they aren't requests generated by the page, or that the page should know about.
08:55
<annevk>
But the page controls the URLs, no?
08:55
<annevk>
Sounds leaky...
08:56
<yoav>
mkwst: Trying to catch up on which requests you're talking about, but are such requests excluded from things like resource timing?
08:56
<mkwst>
No, the page doesn't control the URLs. Federations, for instance, will show up in the chooser even if you've never used them on the page.
08:57
<mkwst>
yoav: requests to populate the images in interfaces like https://w3c.github.io/webappsec/specs/credentialmanagement/#user-mediated-selection
08:57
<annevk>
Hmm
08:57
<mkwst>
annevk: Or the same interface in the context of chrome://settings/passwords/totallyAwesomeConfigurationPage
08:58
<annevk>
I guess as long as you set the skip service worker flag you should be okay
08:58
<annevk>
And then it doesn't really matter what you set for the rest, except for CSP and such, except since there's no client those won't work either I assume
09:02
<mkwst>
Right. I think that's the case.
09:02
<mkwst>
Cool, thanks.
09:07
<annevk>
mkwst: sorry for not finding all style nits in one go
09:07
<annevk>
(re csp state)
09:08
<mkwst>
annevk: no worries. the squashing/force-pushing is a bit annoying, though, as all the context and discussion is lost. i wonder if there's a way to simplify that workflow.
09:09
<MikeSmith>
mkwst: about the 'Content-Security-Policy' pragma directive PR, I will review also and add comments (if any) after I do
09:09
<MikeSmith>
annevk: if we can, please hold off on pushing that PR til I can make time to review (later tonight or tomorrow)
09:10
<MikeSmith>
the build script is going to take some time
09:10
<annevk>
MikeSmith: sure
09:10
<MikeSmith>
annevk: will push the wattsi fix right not
09:10
<MikeSmith>
*now
09:10
<annevk>
mkwst: we could do the rebase at the end?
09:10
<mkwst>
MikeSmith: No rush. Happy to wait for you.
09:10
<MikeSmith>
k
09:11
<annevk>
mkwst: first many commits, then squash and go
09:11
<Ms2ger>
Did we really add another http-equiv?
09:11
<mkwst>
annevk: Yeah. That's probably better. It slows things down marginally, as the reviewer can't just land it, but whatever.
09:11
<mkwst>
Ms2ger: Yes! Aren't you thrilled?! :)
09:11
<Ms2ger>
I'm sad
09:11
<annevk>
Ms2ger: there's referrer-policy too, though I guess that's <meta name=...>
09:12
<Ms2ger>
But I work on browsers, so I'm always sad
09:12
<mkwst>
Ms2ger: We added it ~4 years ago, if that makes it any better?
09:12
<Ms2ger>
No
09:12
<mkwst>
Didn't think so.
09:13
<MikeSmith>
annevk: pull now on master and test and it should work for you again
09:14
<MikeSmith>
fwiw I also agree with mkwst as far as "the squashing/force-pushing is a bit annoying, though, as all the context and discussion is lost"
09:15
<MikeSmith>
sometimes you want to preserve the context, sometimes it's not valuable and can just be squashd
09:15
<Ms2ger>
Only if you're silly enough to review on github :)
09:15
<MikeSmith>
heh
09:15
<nox>
Ms2ger!
09:15
<MikeSmith>
true that, Ms2ger
09:15
<nox>
Ms2ger: Would you mind checking what I mentioned earlier, to be sure about what I'm saying?
09:15
<Ms2ger>
About shadow-banning?
09:16
<nox>
No, lol.
09:16
<nox>
Ms2ger: About fragment parsing in template contexts.
09:17
<MikeSmith>
:) > "But I work on browsers, so I'm always sad"
09:17
<MikeSmith>
s/browsers/the Web platform/
09:18
<Ms2ger>
I'd rather not
09:18
<MikeSmith>
well I didn't mean your statement about what you work on
09:18
<nox>
MikeSmith: When sad, remember https://twitter.com/nokusu/status/634091274962894848.
09:18
<MikeSmith>
Ms2ger: I meant the part about having a reason to weep
09:19
MikeSmith
follows https://twitter.com/nokusu/status/634091274962894848 .. hopes it's not a goatse ....
09:19
<MikeSmith>
hahah
09:19
<annevk>
thanks MikeSmith, works
09:19
<MikeSmith>
super
09:19
<MikeSmith>
nox: triple-favorited
09:20
<Ms2ger>
*I'd rather not think about template parsing
09:21
<nox>
Ms2ger: :(
09:23
<MikeSmith>
damn this build script is way too network-bound
09:25
<Ms2ger>
cvrebert, moral of the story: don't expect jsbin to render the html you gave it
09:25
<cvrebert>
:-/
09:26
<MikeSmith>
annevk: I'm at the office and I need to leave soon to catch the train back to shinjuku, so will start back on build stuff in maybe 2.5 or 3 hours from now
09:38
<annevk>
MikeSmith: you probably also want to look at https://github.com/benschwarz/developers.whatwg.org/issues/104
09:38
<annevk>
MikeSmith: okay
09:42
<annevk>
Ms2ger: cvrebert: perhaps it only worked for me because I made some local changes and then ran it again? That sounds very unreliable
09:43
<annevk>
This reminds me of something JakeA did in jsbin and I couldn't reproduce elsewhere
09:43
<annevk>
Probably best to ask tests to be moved next time around
09:46
<annevk>
Krinkle_: seems you didn't actually have access to https://github.com/whatwg/sourcemap so I fixed that
10:04
<annevk>
MikeSmith: for some reason ./build.sh hangs for a long time on grep
10:04
<annevk>
MikeSmith: which is right at the start with the svn stuff
10:06
<annevk>
MikeSmith: so the reason .wattsi-output doesn't contain multipage/ is because the build.sh script moves that
10:06
<annevk>
MikeSmith: anyway, I guess I'll give up on this for a bit and work on something else
10:11
<MikeSmith>
annevk: I think that just hangs because that grep actually takes a very long time to run
10:12
<MikeSmith>
I think it's grepping through the entire svn log for all the Unicode locale data
10:12
<MikeSmith>
or something
10:13
<annevk>
o_O
10:13
<annevk>
Hmm, running svn up .cldr-data also takes a long time to run
10:13
<MikeSmith>
Anyway if you do "git checkout sideshowbarker/rework" and then run build.sh -v
10:13
<MikeSmith>
yeah
10:13
<annevk>
I was thinking maybe we should just run that everytime and store the revision someplace
10:13
<MikeSmith>
I added that -v switch because of this
10:13
<MikeSmith>
yeah maybe
10:14
<annevk>
Might be better to have a switch to not do cldr-data
10:14
<annevk>
Or opt into it...
10:14
<zcorpan>
doing the redirect in htaccess appears to be a bit hairy, it's probably better to do it in python (for web-apps-tracker)
10:15
<annevk>
zcorpan: why?
10:15
<annevk>
zcorpan: oh the query string one?
10:15
<zcorpan>
annevk: yeah
10:15
<zcorpan>
plain Redirect doesn't do query strings
10:16
<zcorpan>
there's RewriteMap that could work but it can't be declared in htaccess
10:17
<annevk>
zcorpan: http://serverfault.com/questions/500961/redirectmatch-and-query-string
10:18
<annevk>
not sure about the merits of mod_rewrite vs Python though
10:18
<annevk>
the bit in Python we have for this today is quite simple too
10:21
<zcorpan>
htaccess might cause slowness for the rest of the site, from what i understand
10:25
<ato>
If in a specification I want to say that something can be one of either three things (a set), what’s the normal way to do this?
10:27
<MikeSmith>
enumerated
10:29
<MikeSmith>
ato: see the way the HTML spec words it
10:29
<MikeSmith>
search for "enumerated"
10:31
<ato>
MikeSmith: Thanks
10:33
<MikeSmith>
annevk: So yeah I reckon that the first thing I'll do when I get home is, I'll add a -u switch for optting in to asking it to do an update; e.g., the svn up thing it wants to run, and all that whatever the hell stuff it keeps re-downloading each time
10:34
<MikeSmith>
and switch the default to being, don't do that
10:34
<MikeSmith>
don't do that unless we ask you to
10:36
<MikeSmith>
that with hell lower our blood pressure and choices focus on the actual build improvements we want to make
10:36
<MikeSmith>
without the lag and the noise
10:38
<MikeSmith>
ato: The cases that use that "enumerated" language may not be what you had in mind or need
10:38
<ato>
MikeSmith: It might be a bit heavy in my case, yes. But I can draw some inspiration from it (-:
10:39
<MikeSmith>
k
10:41
<hsivonen>
SimonSapin: does there exist an Encoding Standard implementation for Rust?
10:46
<nox>
hsivonen: Yes, rust-encoding.
10:48
smaug____
wonders whether to attend tpax
10:48
<smaug____>
tpac
10:48
<hsivonen>
is https://github.com/lifthrasiir/rust-encoding the canonical repo?
10:49
<nox>
hsivonen: AFAIK yes.
10:50
<nox>
Why, btw?
10:51
<annevk>
ato: you can say "one of A, B, and C"
10:51
<annevk>
ato: that's what I usually use
10:52
<annevk>
MikeSmith: that sounds amazing
10:52
<annevk>
hsivonen: is the best way to get you to reply on GitHub to send you a note on IRC?
10:53
<annevk>
hsivonen: https://github.com/whatwg/encoding/issues/9 for context
10:57
<zcorpan>
smaug____: i plan to attend tpac, fwiw
10:57
<annevk>
smaug____: it would be fun to hang out
10:58
<annevk>
smaug____: which incidentally is the main reason I'm going
10:58
<jgraham>
AFAICT it's the only reason I'm going
10:58
<smaug____>
:)
10:58
<smaug____>
visiting Japan would be a good reason to go
11:02
<MikeSmith>
I don't know if y'all heard yet but it's unlikely I'll be at TPAC this year
11:03
<MikeSmith>
because my wife and I have a baby on the way
11:03
<MikeSmith>
due Oct 14
11:03
<annevk>
So it seems the patch from jungkees didn't do line wrapping Domenic
11:04
<annevk>
We could really use some pull request bots that check a couple of things
11:05
<annevk>
MikeSmith: public congrats! :-)
11:05
<smaug____>
congrats!
11:05
<jgraham>
MikeSmith: Good news for you, but now I am slightly more wondering why I'm going to Japan :)
11:09
<MikeSmith>
heh
11:10
<MikeSmith>
Thanks all for the congrats
11:11
<Ms2ger>
Poor kid ;)
11:13
<MikeSmith>
with all y'all planning to be there, I'm disappointed that I won't be. But you'll have plenty of good times without me
11:16
<MikeSmith>
maybe you can even get gsnedders to attend this year
11:16
<MikeSmith>
that would be truly awesome
11:19
<zcorpan>
MikeSmith: congrats!
11:21
<mkwst>
MikeSmith: Yay! Babies are awesome. Congratulations!
11:35
<SimonSapin>
hsivonen: yes, as nox said
11:46
<gsnedders>
MikeSmith: I'm planning to be there, bah
11:47
<gsnedders>
Not quite bought flights yet, though
11:47
<gsnedders>
MikeSmith: anyhow, congrats!
11:51
<MikeSmith>
thanks
11:53
<hsivonen>
nox: The converters in Gecko are generally the sort of code you don't want to modify and we should modify them somewhat
11:54
<hsivonen>
annevk: yes
11:54
<hsivonen>
nox: looks like the Rust impl. doesn't pack the tables as space-efficiently in the binary as I would
11:55
<hsivonen>
(and am doing with my Big5 rewrite for Gecko)
11:55
<nox>
hsivonen: rust-encoding is quite naive on all fronts, IMO.
11:55
<hsivonen>
nox: anyway, I'll take a more careful look to see how crazy it would be to propose that we moved Gecko over to Rust-based converters
12:01
<nox>
hsivonen: Cool.
12:02
gsnedders
has some vague plan to start implementing more crazy SIMD optimizations for rust-encoding
12:04
<hsivonen>
for example, the Big5 data can be made space-efficient like this: https://hg.mozilla.org/projects/htmlparser/file/0d906fb1ab90/src/nu/validator/encoding/Big5Data.java while still keeping decode fast
12:04
<hsivonen>
(don't look at the other code in that package. e.g. the single-byte stuff is very naive)
12:13
MikeSmith
thanks zcorpan and mkwst as well
12:21
<annevk>
hsivonen: Python to Java to C++?
12:21
<annevk>
hsivonen: are you upping your code-to-code conversion game?
12:25
<gsnedders>
annevk: you forgot about emscriptening the C++ to JS.
12:25
<annevk>
gsnedders: and then back to assembly (web)
12:26
<annevk>
Might need some help from Xzibit here
12:35
<roc>
hsivonen: moving to Rust-based converters would be great! If anything gets in the way, bring it up in dev-platform
12:38
<Ms2ger>
Reading the text, does this test pass or fail? http://test.csswg.org/harness/test/css21_dev/single/selectors-001/format/html4/
12:39
<annevk>
pass
12:39
<annevk>
Ms2ger: though I see what you mean
12:40
<Ms2ger>
But the text is white! :)
12:42
<gsnedders>
fails, definitely fails
12:43
<nox>
hsivonen: Since you are here,
12:43
<nox>
hsivonen: do you know how Gecko works when parsing template fragments?
12:43
<nox>
I see you commented in the past on https://www.w3.org/Bugs/Public/show_bug.cgi?id=27314, which I stumbled upon while implementing templates in Servo.
12:51
<MikeSmith>
annevk: so the code at https://github.com/whatwg/html-build/blob/master/.pre-process-main.pl#L50 causes the build to (re)download example HTML+JS+CSS files from, e.g., https://whatwg.org/demos/workers/multicore/
12:51
<MikeSmith>
see the comment in the code there
12:51
<MikeSmith>
# TODO: maybe move these to the HTML source repo, and upload them to whatwg.org from there?
12:51
<MikeSmith>
# Or maybe better, redirect from these URLs to new html.spec.whatwg.org URLs
12:52
<MikeSmith>
so yeah, later, let's do that
12:52
<Domenic>
MikeSmith: https://github.com/whatwg/html/issues/30
12:52
<MikeSmith>
hey Domenic is awake
12:52
<Domenic>
It's getting to be a pretty large time sink in the build process
12:52
<Domenic>
\o/
12:52
<MikeSmith>
man you are always way ahead of me
12:53
<annevk>
You know what, we should commit those downloaded resources to whatwg/html/demos/
12:53
<annevk>
And then ask Hixie to put up redirects
12:53
<MikeSmith>
"We should move the demos into this repo, and have the build script inline them from source plus copy them to the output directory." yes
12:53
<MikeSmith>
annevk: yeah
12:54
<annevk>
Hixie wanted to set up some kind of demos.whatwg.org thing but I don't think that's needed necessarily, each specification can take care of their own demos
12:54
<Ms2ger>
gsnedders, can I ask you for test reviews already? :)
12:55
<MikeSmith>
well for now I guess I can have a build script pass an option to that perl script to tell it not to download that stuff
12:55
<MikeSmith>
ok?
12:55
<annevk>
MikeSmith: not downloading them would create a bogus index infortunately
12:56
<annevk>
MikeSmith: since the demos are inlined
12:56
<MikeSmith>
ah OK
12:56
<MikeSmith>
I see now
12:56
<MikeSmith>
yeah
12:56
<annevk>
but they are static non-changing files afaik
12:56
<Domenic>
annevk: doesn't committing https://github.com/whatwg/html/commit/a262f1d23cb8990a4735436215a01f0f4892f1a1 directly without the corresponding html-build changes break the multipage version?
12:56
<Domenic>
annevk: since .multipage-404 doesn't exist anymore?
12:56
<MikeSmith>
well we can have the build script download them *once* right
12:56
<annevk>
Domenic: therefore it's on a branch
12:57
<annevk>
Domenic: just wanted to share progress with MikeSmith
12:57
<Domenic>
annevk: tiiiiiny little branch indicator, got it
12:57
<annevk>
(it's also out-of-date at the moment, since I changed the .htaccess to fix some other things)
13:00
<annevk>
MikeSmith: yeah, changing those lines to also store the files somewhere seems sensible
13:00
<annevk>
MikeSmith: and then if you run this again, update flag is not set, and the files are stored, you keep whatever you got last time
13:01
<annevk>
MikeSmith: still risks some staleness, but only locally since I guess the server will always set the update flag
13:01
<Domenic>
We should probably just bug Hixie harder to give us the demos and do it all in one step
13:01
<annevk>
MikeSmith: alternatively, once you downloaded them and stored them somewhere, just check them into the html repo and then change the script to open files there...
13:02
<annevk>
ah I guess what will fail then is subresources, which are not downloaded
13:02
<annevk>
so yeah, need to bug Hixie
13:03
MikeSmith
misreads label in github issue tracker as "spec trolling"
13:03
<MikeSmith>
> "still risks some staleness, but only locally since I guess the server will always set the update flag" yes
13:04
<MikeSmith>
yeah we need Hixie for the longer-term fix
13:09
<Domenic>
Anyone want to help the parse5 maintainer understand the ruby parsing story? https://github.com/inikulin/parse5/commit/c61acf300904a85a12835ae95e13bae08d288225 I don't know it in real detail myself
13:16
<gsnedders>
Ms2ger: still trying to do finance bullshit, so no
13:16
<gsnedders>
Domenic: tl;dr: Hixie said no so it's not in the WHATWG spec, it's in the W3C spec and everyone implements it.
13:18
<nox>
gsnedders: I see.
13:18
<nox>
gsnedders: Why did Hixie say no?
13:18
<nox>
html5lib-tests follows W3C too.
13:19
<gsnedders>
nox: html5lib-tests follows what everyone is actually implementing
13:19
<Ms2ger>
Because the additional complexity isn't necessary
13:20
<gsnedders>
nox: which is WHATWG plus the Ruby stuff from the W3C spec.
13:21
<gsnedders>
Domenic: I've commented, FWIW
13:23
<nox>
Ms2ger: But it's already implemented by UAs. Why remove that?
13:23
<gsnedders>
nox: it wasn't removed
13:23
<gsnedders>
nox: it was added to UAs after Hixie said no
13:23
<nox>
Oh.
13:24
<nox>
So, who is wrong?
13:24
<Ms2ger>
Everyone
13:24
<gsnedders>
The WHATWG spec, because it is a lie.
13:24
<jgraham>
Ms2ger: You're confusing "wrong" and "dead"
13:24
<nox>
Ms2ger: Ah ah.
13:24
<nox>
gsnedders: Ok.
13:25
<nox>
gsnedders: It lies for fragment parsing too, but no one described what Gecko actually does. :(
13:25
<gsnedders>
nox: is there interop there?
13:25
<gsnedders>
nox: like, where is it wrong?
13:25
<nox>
gsnedders: Yes there is.
13:25
<gsnedders>
nox: do we have tests for where it is wrong? what do the tests expect?
13:25
<nox>
gsnedders: From my understanding, for example parsing innerHTML of a template,
13:26
<nox>
gsnedders: the children should end up in template contents,
13:26
<nox>
gsnedders: spec doesn't do that.
13:26
<gsnedders>
nox: oh, so it's only the template case that is wrong?
13:26
<nox>
gsnedders: Or spec is so confusing I don't see which path it follows for this.
13:26
<nox>
gsnedders: Not sure. There are other confusing details mentioned in ticket.
13:26
<Joseph__Silber>
TabAtkins, is it possible in flexbox to have equal-height elements *across multiple lines*? So that if something in one row expands, all items in all other rows would expand as well.
13:26
<nox>
gsnedders: https://www.w3.org/Bugs/Public/show_bug.cgi?id=27314#c23
13:27
<nox>
gsnedders: I can imagine it making weird things for foreign content fragments too.
13:27
<nox>
(Since current node is <html>, not a foreign node.)
13:27
<gsnedders>
Joseph__Silber: no, AIUI
13:27
<gsnedders>
Joseph__Silber: (I could be wrong)
13:28
<Joseph__Silber>
Thought so too
13:28
<gsnedders>
nox: is the foreign content case not handled by the tree construction dispatcher
13:28
<Joseph__Silber>
Wanted to hear from the man himself :)
13:28
<nox>
gsnedders: Mmh, no but I think it makes use of the adjusted current node.
13:29
<gsnedders>
nox: it seems to be given it uses the adjusted current node, which is context if we're fragment case and the stack of open elements contains only html
13:29
<gsnedders>
nox: so I think the foreign content case is right per spec?
13:29
<nox>
gsnedders: I tried to unconditionally use it for step 1 of https://html.spec.whatwg.org/multipage/syntax.html#appropriate-place-for-inserting-a-node but it made other unrelated tests fail.
13:30
<gsnedders>
hmm, will look into this later
13:30
<nox>
gsnedders: Thanks.
13:30
<nox>
gsnedders: Firefox and WebKit both do the correct thing btw.
13:36
<gsnedders>
FWIW, if anyone wants to look over https://critic.hoppipolla.co.uk/r/5781
13:37
<gsnedders>
please feel free to do so
13:41
<jgraham>
gsnedders: I would be more inclinded to do so if you would address your own comments
13:42
<gsnedders>
pff
13:42
<gsnedders>
some of them I'd like opinions on, FWIW
13:43
<jgraham>
If the test doesn't test what the spec says but what chrome would like it to say then I agree we shouldn't take those tests
13:44
<JakeA>
TabAtkins: there's a proposal for a property to give an element a fixed aspect ratio right? Which spec is it in?
13:45
<TabAtkins>
None. There's a broken proposal for this on my blog, but it's no good for subtle reasons.
13:45
<TabAtkins>
Joseph__Silber: No, but Grid can do that.
13:45
<gsnedders>
jgraham: but like, dropping SVG fonts doesn't mean you don't need to normalise SVG font attributes, right?
13:46
<Joseph__Silber>
Yeah I know. Just Flexbox currently has way broader support.
13:46
<Joseph__Silber>
Thanks.
13:47
<Joseph__Silber>
JakeA, guess you're stuck with absolute positioning in a padded container...
13:47
<jgraham>
gsnedders: Right
13:47
<jgraham>
That doesn't make sense unless everyone has agreed on it
13:48
<JakeA>
Joseph__Silber: yeah, that's what I'm using. Just seeing if there's something less hacky on the way
13:52
<Domenic>
gsnedders: thanks! The parse5 guy is great and so I am happy when we can help him (like you also did by commenting on the test update issue)
13:53
Domenic
watches html5lib-tests on GitHub
13:56
<gsnedders>
Domenic: feel free to ping me on anything you see about html5lib-tests, FWIW
13:56
<gsnedders>
Domenic: regardless of whether or not it's really justified :)
13:56
<Domenic>
:)
14:11
<wanderview>
mkwst: I guess I could just try to make a spec-directory page instead of whining about it till someone makes it for me
14:14
<mkwst>
wanderview: Yeah. Each WG should have one anyway.
14:14
<wanderview>
mkwst: I really want a master list... including a section for speculative stuff like navigator-connect, etc
14:14
<wanderview>
I have a hard time understanding the WG structure, to be honest
14:15
<mkwst>
Sure. It would be lovely to see what's being worked on before it's done and too late to argue about it.
14:15
<mkwst>
That's because there are only two that matter, and a bazillion others. ;P
14:15
<wanderview>
mkwst: what are the two that matter?
14:16
<wanderview>
anyway, sorry to hijack your twitter poll
14:16
<mkwst>
WebApps and WebAppSec.
14:16
<TabAtkins>
Oooh burn
14:16
<TabAtkins>
(The correct two are, of course, CSSWG and Houdini.)
14:17
<mkwst>
Ok, ok. Maybe marginally more than two.
14:17
<wanderview>
is whatwg considered a WG?
14:18
<TabAtkins>
It's right there in the name.
14:18
<mkwst>
(I forgot about CSS, which says something about my priorities. :) )
14:18
<jgraham>
This is like the Spanish inquisition
14:18
<Domenic>
It is not a W3C working group, however.
14:18
<gsnedders>
what about the WHATTF?
14:19
<TabAtkins>
That's not a WG, obvs.
14:19
<gsnedders>
I thought Houdini was a TF?
14:20
<wanderview>
I hope there is a web bureaucracy for newbies session at TPAC
14:20
<jgraham>
Also, Browser Tools & Testing is irrelevant to you, but is at least standardising a technology that all* browsers are implementing (*well except Apple ofc)
14:21
<mkwst>
Point is, lots of crazy in WGs.
14:22
<wanderview>
JakeA: do we know what day service workers is happening at tpac yet?
14:22
<jgraham>
You can probably ignore the Multimodal Interaction WG though :)
14:22
<JakeA>
wanderview: Monday or Tuesday
14:23
<wanderview>
JakeA: excellent, thanks
14:23
wanderview
will be gone after Thursday noon.
14:24
<JakeA>
yeah, took that into account
14:24
<wanderview>
thanks... saves me trouble at home for missing halloween
14:24
<wanderview>
although I may not be awake for it
14:26
<jgraham>
I find it strange every year that haloween is such a big deal in the US
14:26
<wanderview>
JakeA: I wonder when we should start talking about agenda... would be nice to maybe dig into fall-through or foreign-fetch more
14:26
<wanderview>
jgraham: I think its a bigger deal when your kids are still young...
14:28
<jgraham>
Yeah, makes sense. It's just unusual for there to be a thing that happens in both the US and UK but with totally different levels of importance in the two locations.
14:28
<gsnedders>
jgraham: I find it strange every year that someone trying to blow up Parliament in 1605 is such a big deal in the UK.
14:29
<jgraham>
gsnedders: Not such a big deal that I would change my travel plans to make sure I was back to celebrate it!
14:29
<jgraham>
gsnedders: Also as a Scottish person, you are supposed to be all in favour of blowing up parliment
14:29
<JakeA>
wanderview: agreed. I'd also like to figure out a replacement for fetchEvent.client
14:29
<wanderview>
JakeA: I thought we agreed on that one... but maybe it was just an agreement for "something else"
14:30
<JakeA>
wanderview: I think we agreed that sync was bad for a full client, but didn't decide if it should be clientID, or an async getter
14:31
<gsnedders>
jgraham: What? How do you know I'm part of the 45?
14:33
<wanderview>
jgraham: what happens for halloween in the UK?
14:33
<Domenic>
I am going to be in Japan during TPAC time for vacation but not attending TPAC.
14:34
<gsnedders>
wanderview: relatively little; there's a small amount of "trick or treating" compared with the US, AIUI, and that's about it
14:34
<gsnedders>
wanderview: typically going around known neighbours nearby
14:34
<jgraham>
wanderview: Pretyt much nothing
14:34
<gsnedders>
(tbf, maybe my viewpoint is bias by Scotland here?)
14:34
<jgraham>
But enough for it to be a thing
14:35
<gsnedders>
According to Wikipedia, guising is in origin Irish/Scottish
14:35
<jgraham>
I mean you can buy stuff for it and some people make lanterns and so on, but I can't imagine it ever being a big deal to miss it
14:35
<TabAtkins>
Domenic: That's interesting timing.
14:35
<gsnedders>
so maybe I don't know how little goes on in England and Wales?
14:36
<wanderview>
jgraham: I wouldn't care about it except my daughter enjoys trick-or-treating and it will be the first year my son dresses up
14:36
<wanderview>
mostly its just kids trick-or-treating in nearby neighbhorhoods
14:36
<wanderview>
my one neighbor goes all out with decorations, lights, and music... but most people don't do much
14:37
<gsnedders>
also traditionally here it's not so much trick *or* treating
14:37
<jgraham>
I usually hear at least one or two people complaining about TPAC/Halloween, so it's not just you
14:37
<gsnedders>
you're only meant to get the treat if you do the trick
14:37
<jgraham>
gsnedders: Huh?
14:37
<wanderview>
gsnedders: really?
14:37
<gsnedders>
jgraham: at least in my experience in Scotland, that's still relatively true
14:37
<wanderview>
I always thought it was a thread... give me a treat or I will egg your house
14:37
<jgraham>
gsnedders: Also are you sure that isn't just Glasgow
14:37
<wanderview>
^thread^threat
14:37
<gsnedders>
jgraham: not just Glasgow
14:37
<jgraham>
Like "I set your car on fire. Now give me sweets if you don't want tyour house to burn"
14:38
<wanderview>
I'll try that approach this year... "no candy unless you do a trick for me... do a hand stand!"
14:38
<gsnedders>
https://en.wikipedia.org/wiki/Trick-or-treating#Guising still seems relatively true in my experience
14:38
<gsnedders>
there's more sweets-for-nothing than there were when I was a child, AFAICT, though
14:39
<gsnedders>
and that's not exactly that long of a period
15:03
<JakeA>
zcorpan: thanks for the corrections btw. Appreciated
15:03
<zcorpan>
JakeA: np. i liked the svg :-)
15:04
<smaug____>
mounir: dglazkov or other blink folks, who maintains DeviceOrientation stuff in blink?
15:04
<zcorpan>
still need better svg authoring tools huh
15:04
<mounir>
smaug____: timvolodine⊙co
15:04
<smaug____>
thanks
15:04
<mounir>
smaug____: np :)
15:04
<JakeA>
I used Illustrator for the first time and I won't be using it again. Back to Inkscape.
15:04
<smaug____>
mounir: is he ever on IRC?
15:05
<JakeA>
Feels like there's an open goal for a good SVG editor though. Inkscape is pretty bad but it's the only one that's an SVG editor, rather than just exports-to-svg
15:05
<mounir>
smaug____: I wish IRC was used as much at Google than at Mozilla ;)
15:11
<annevk>
So along with Fetch integration / Ruby / security stuff?, it seems that Shadow DOM integration is also high priority for HTML
15:12
<annevk>
If anyone has anything else that's particularly important I'd love to know
15:21
<Domenic>
annevk: I'd say getting the ruby parsing changes integrated
15:21
<annevk>
Domenic: yeah that's on the list
15:21
<nox>
Fixing template fragments. :P
15:22
<annevk>
Domenic: should we fix the parser and not worry about conformance?
15:23
<Domenic>
annevk: hmm maybe, that might merit further discussion. I don't have strong conformance opinions in general... maybe MikeSmith can help given his validator experience.
15:23
<annevk>
I've been slowly figuring out what's needed for Fetch since it hurts the service worker work
15:23
<annevk>
Ironically appcache makes Fetch integration harder...
15:24
<annevk>
nox: hmm yeah
15:43
<nox>
annevk: Cool.
15:44
<nox>
annevk: I suspect 26783 isn't unrelated.
15:44
<nox>
(https://www.w3.org/Bugs/Public/show_bug.cgi?id=26783)
15:45
<nox>
They reach the same conclusion of getting rid of "adjusted current node".
15:48
<wanderview>
mkwst: annevk: btw, from your conversation yesterday... gecko does implement .formData() on Request
15:48
<mkwst>
wanderview: Yeah, no idea why Chrome doesn't.
15:48
<wanderview>
mkwst: I assume it didn't make the cut for MVP
15:51
<Krinkle>
Hm.. is requestIdleCallback supposed to be guaranteed? E.g. if the user navigates away or refreshes, will it run before unload? setTimeout does not, for example.
15:52
<Krinkle>
but microtasks in general I imagine would get run like setImmediate and already scheduled event handlers
15:53
<Krinkle>
igrigorik: ^
15:58
<ccardona-work>
Good morning/afternoon/evening WHATWG crew o/
15:59
<nox>
Why should "<a><tr>" in a tbody fragment be parsed as "<a></a><tr></tr>"?
16:00
<Krinkle>
<a> is not a valid child of <tbody>
16:00
<Krinkle>
(I think(
16:00
<nox>
Krinkle: Hence my question. :)
16:00
<nox>
It's in html5lib-tests.
16:01
<Krinkle>
well, it can't remove the element. It has to go somewhere. Depending on how widely scoped the parse instruction is, it'll hoist it away as far as possible
16:01
<Krinkle>
parsing the entire table will make it go before <table> I think
16:01
<Krinkle>
unless there is an exception for <a> specifically.
16:01
<nox>
https://github.com/html5lib/html5lib-tests/blob/master/tree-construction/tests_innerHTML_1.dat#L483-L491
16:01
<jgraham>
nox: <table><tbody><a><tr> -> <a></a><table><tbody><tr>
16:01
<nox>
jgraham: I said in a fragment.
16:02
<jgraham>
Oh
16:02
<nox>
jgraham: tbody.innerHtml = '<a><tr>'
16:02
<Krinkle>
nox: what would you expect instead? <a><tr></tr></a>?
16:02
<ccardona-work>
This is w/out question the coolest room on freenode and one of the most valuable places that I know of online. Nice work everyone. 👍🏼
16:02
<nox>
Krinkle: No idea.
16:03
<jgraham>
Well it somewhat falls out of the other behaviour
16:03
<Krinkle>
nox: That test data is abstracted, I assume those pipes in the bottom portion refer to entire elements as siblings?
16:03
<nox>
Krinkle: Yes.
16:03
<nox>
Krinkle: It indents children.
16:03
<Krinkle>
Right
16:03
<jgraham>
<tr> closes <a>, but innerHTML obviously can't foster parent
16:04
<Krinkle>
Ah, that's it!
16:04
<nox>
Ok.
16:04
<jgraham>
I mean, if you start asking "why" about the html parser you'll quickly go mad
16:05
<nox>
jgraham: Trying to fix the spec wrt template fragments.
16:05
<nox>
So, lots of "why".
16:06
<jgraham>
Just picking a behaviour that makes sense seems sufficient, not trying to understand all teh historial legacy
16:08
<nox>
I wonder if I should just add a rule in "in template".
16:08
<nox>
Ah no, that wouldn't work.
16:10
<nox>
I'll just wait for someone to fix it I guess. :P
16:28
<annevk>
nox: ooh, you're going to supply a fix? Excellent
16:28
<nox>
annevk: Tried. Kinda failed. No idea where to fix this.
16:28
<annevk>
wanderview: ta
16:29
<annevk>
nox: ah okay, not sure what the priority is but I do plan on getting to the parser in due course
16:47
<nox>
annevk: Thanks.
17:00
<annevk>
heycam|away: roc: https://github.com/whatwg/html/issues/96
17:01
<annevk>
heycam|away: roc: seems reasonable...
17:20
<annevk>
nox: so I think the good news is that I think you did find a bug, the bad news is that I'm not sure how to fix it either
17:20
<nox>
annevk: Heh.
17:21
<nox>
annevk: Hence why I asked about whatever Gecko does, as bzbarsky implies it does something better.
17:22
<annevk>
nox: however, how does this work in the non-fragment case?
17:22
<nox>
annevk: What do you mean?
17:23
<nox>
annevk: In the non-fragment case, the template element is the current element, so the appropriate place for insertion is properly computed.
17:23
<nox>
And in the foster parenting case, it's in the stack of open elements anyway.
17:23
<annevk>
Actually, why does “If the adjusted insertion location is inside a template element, let it instead be inside the template element's template contents, after its last child (if any).” not work?
17:24
<nox>
Because the template isn't in the stack of open elements, it's the context element.
17:24
<annevk>
That seems to do the trick both for fragment and non-fragment
17:24
<nox>
And that's the foster parenting case.
17:24
<nox>
Oh right, adjusted insertion location.
17:24
<annevk>
nox: well, the fragment parser does put <template> on the stack I think
17:24
<annevk>
nox: see "Create a start tag token whose name is the local name of context and whose attributes are the attributes of context."
17:25
<nox>
annevk: "Let this start tag token be the start tag token of the context node, e.g. for the purposes of determining if it is an HTML integration point."
17:25
<nox>
Never it is put on the stack.
17:25
<nox>
The only element on the stack is root. "Let root be a new html element with no attributes."
17:26
<nox>
annevk: Step 1 of "appropriate place for inserting a node" sets target to current node. Current node is root.
17:26
<annevk>
Yeah okay
17:26
<annevk>
Hmm
17:26
<nox>
annevk: And even in the case of foster parenting,
17:27
<nox>
there is no template on the stack.
17:27
<nox>
Oh sorry, step 3.
17:27
<nox>
Wait no, that doesn't get run either, because "If there is no last table, then let adjusted insertion location be inside the first element in the stack of open elements (the html element), after its last child (if any), and abort these substeps. (fragment case)"
17:28
<nox>
In all cases, the element ends up in the html element, not the template contents.
17:30
<annevk>
So I was thinking, even if they end up in the template contents, the child nodes of root get returned in the end...
17:31
<annevk>
But https://w3c.github.io/DOM-Parsing/#widl-Element-innerHTML doesn't deal with this either
17:35
<annevk>
Domenic: don't merge that just yet
17:35
<nox>
annevk: I think that's the point.
17:35
<nox>
annevk: Parsers don't put things in templates.
17:35
<nox>
annevk: That's what Safari and Firefox do.
17:38
<annevk>
nox: have you tested what kind of mutation observer records they give?
17:38
<annevk>
nox: they would be kind of inconsistent I guess if they don't do a clean replace
17:39
<annevk>
nox: otherwise the innerHTML setter taking the returned nodes and then if it's invoked on a <template> using that to replace <template>.content might make more sense
17:39
<annevk>
nox: not sure what Hixie's thoughts are
17:40
<nox>
annevk: Mmh, makes sense indeed.
17:40
<nox>
annevk: Or not.
17:40
<nox>
Nested templates would end up with the wrong template contents owner document, I think.
17:41
<annevk>
Hmm where would that other document come from?
17:43
<nox>
annevk: Mmh right, never mind.
17:43
<nox>
annevk: Your idea means running adopting the whole tree again from another document though, maybe that's a bit too much post-processing?
17:46
<annevk>
nox: adopting is mostly changing a pointer
17:46
<annevk>
nox: and not doing this means weird mutations
17:47
<nox>
annevk: Yeah I know, but that's still traversing a tree once more. :P
17:47
<annevk>
nox: do you actually need to run it though?
17:48
<annevk>
nox: could have fast paths for a ton of this stuff
17:48
<annevk>
nox: mutation observers is important because it's observable from JavaScript
17:48
<nox>
annevk: The nested templates in the fake document will end up in the fake document's appropriate template contents owner document.
17:48
<nox>
The nested templates' template contents* sorry.
17:48
<nox>
So yes, they need to be re-adopted, AFAICT.
17:49
<nox>
annevk: I guess mutation observers see nothing about the template contents through innerHTML on a template, will check tonight at home.
17:50
<annevk>
nox: you could even have innerHTML reset .content
17:51
<annevk>
nox: rather than replace all...
17:51
<nox>
annevk: What do you mean?
17:51
<annevk>
nox: you take the return value of the HTML fragment parsing algorithm, run adopt, and stick it on .content
17:53
<nox>
Not sure, it would be surprising if you had a hold on .content before.
17:53
<annevk>
Yeah, replace all is better
17:53
<nox>
annevk: And it makes even weirder mutations, IMO.
17:53
<annevk>
well you wouldn't see any...
17:53
<nox>
Yeah, no one would notice the change, given there is nothing related to templates in mutation observers.
17:54
<nox>
Whereas if someone is observing the template contents, replace all would do the trick.
18:38
<Domenic>
annevk OK, good thing I got stuck in meetings for an hour :)
18:38
<Domenic>
IDL return types are basically non normative docs anyway though...
18:55
<poosanth>
Anyone know any good articles for folks starting out with trying to wrap their head around wcag 2
18:59
<wanderview>
jsbell: are you ok with this change to the Cache wpt tests? https://critic.hoppipolla.co.uk/r/5748
19:16
<SimonSapin>
TabAtkins: "it might take a few days" was not very nice of you :)
19:23
<jsbell>
wanderview: looking...
19:23
<wanderview>
jsbell: basically new Request() is now spec'd to throw if userpass are in the url
19:24
<wanderview>
so it blows up trying to setup the test corpus before running any tests
19:25
<jsbell>
wanderview: yeah, looks good, just seeing what we did in our copy... (or maybe we haven't implemented that yet)
19:25
<wanderview>
jsbell: ideally we would test for the Request constructor in the fetch wpt tests once we get them upstreamed
19:25
<wanderview>
for the credentials in the constructor
19:27
<jsbell>
Ah, we haven't implemented that change yet, which is why our tests still have those cases. :P
19:27
<jsbell>
crbug.com/474439
19:28
<jsbell>
wanderview: lgtm'd
19:29
<wanderview>
thanks!
19:32
<TabAtkins>
SimonSapin: "few" is a variable term 😀
19:34
<SimonSapin>
TabAtkins: I’ve heard guesstimates around 1500
19:35
<TabAtkins>
Seems plausible
19:38
<jsbell>
wanderview: note the comment #2 in that issue though... a SW could intercept a fetch made with credentials in the URL and put() (etc) the Request into a cache
19:39
<wanderview>
jsbell: hmm... I thought FetchEvent was spec'd to run Request constructor
19:40
<jsbell>
wanderview: doesn't seem to be... and it'd be weird if intercepts couldn't handle that...
19:41
<wanderview>
jsbell: yea, you are correct
19:48
<wanderview>
jsbell: should we reopen this review then?
19:50
<jsbell>
wanderview: IMHO a separate one would be fine. I'd need to be in a different file anyway
19:50
<wanderview>
k, thanks again
20:00
<wanderview>
jsbell: thanks for pointing that out... we have a bug where we run Request::Constructor() when creating FetchEvent...
20:00
wanderview
adds it to the list...
20:02
<wanderview>
annevk: are there any other restrictions in Request::Constructor() besides url userpass that you would expect html and other specs to bypass?
20:04
<wanderview>
annevk: I guess it would be nice to have a "create a Request" function that other specs go through that has expected assertions... like only simple methods ever passed for no-cors, etc
20:04
<nox>
annevk: WebKit patches innerHTML directly.
20:05
<nox>
annevk: Ah no wait, that's just calling the serializer.
20:06
<nox>
annevk: When serialising, the spec says "If the node is a template element, then let the node instead be the template element's template contents (a DocumentFragment node).", so I would expect parsing to be the same way too.
22:54
<heycam>
annevk, sounds fine (the unsigned long thing)
22:59
<MikeSmith>
hola heycam
23:00
<heycam>
hi MikeSmith
23:03
<MikeSmith>
heycam: seems there will be a lot of the #whatwg crew going to TPAC this year
23:04
<MikeSmith>
sort of a "we're getting the band back together"
23:04
<heycam>
MikeSmith, oh great! I won't be there unfortunately.
23:04
<MikeSmith>
ah!
23:04
<MikeSmith>
dang
23:04
<heycam>
my graduation ceremony is on the Wednesday
23:04
<roc>
woohoo!
23:04
<MikeSmith>
ah wow
23:04
<MikeSmith>
yeah man
23:05
<heycam>
I couldn't find any flights that would let me attend that enough of the rest of the week in Sapporo :)
23:05
<MikeSmith>
#whatwg should toast heycam while having a drink together at TPAC
23:05
<heycam>
I'll Skyp^WFirefox Hello in from the stage
23:05
<MikeSmith>
heh
23:05
<MikeSmith>
heycam: yeah some things you can't time ideally
23:09
<MikeSmith>
heycam: I also will not be able to attend TPAC this year
23:09
<MikeSmith>
due to my wife and I having a baby on the way around that time
23:09
<heycam>
MikeSmith, oh, congrats!
23:09
<MikeSmith>
thanks 😄
23:10
<heycam>
that is something you have (had) some degree of control over the timing of, though ;)
23:10
<MikeSmith>
heh
23:10
<MikeSmith>
true
23:10
<MikeSmith>
but I guess it's fitting that my baby already just can't manage to get with the program at W3C and time/do things with W3C harmony
23:10
<MikeSmith>
runs in the family
23:11
<heycam>
heh yeah, need a baby moratorium
23:11
<MikeSmith>
haha
23:12
<MikeSmith>
I think that would be good problem for the TAG to put their attention into trying to solve
23:13
<MikeSmith>
speaking of problems, I think the first thing I'm going to buy my baby will be a tiny T-shirt with the sentence "Solve real problems." printed on it
23:16
<roc>
but then how will your child get a PhD?
23:16
<MikeSmith>
roc: zing :)
23:22
MikeSmith
goes back to hacking on Hixie's bash and perl code