12:06
<gsnedders>
jgraham: https://critic.hoppipolla.co.uk/r/1592 prod prod
12:09
<jgraham>
gsnedders: I'm pretty sure that string concatenation in python isn't n**2 at least for small strings
12:09
<gsnedders>
jgraham: only in CPython
12:10
<gsnedders>
jgraham: in PyPy string concatenation is because it can't do refcounting hacks
12:10
<gsnedders>
jgraham: and it doesn't use anything like ropes
12:10
<jgraham>
It could just overallocate memory, surely?
12:11
<jgraham>
Oh, is that the refcounting hack?
12:12
<gsnedders>
jgraham: the refcounting hack is that it calls realloc and reuses the object when refcount == 1
12:12
<gsnedders>
(PyPy, Jython, etc. don't refcount)
12:20
<gsnedders>
'When an author uses a new metadata name not defined by either this specification or the Wiki page, conformance checkers should offer to add the value to the Wiki, with the details described above, with the "proposed" status.'
12:20
<gsnedders>
That sounds very much like a UI requirement.
12:24
<foolip>
is annevk on vacation perhaps?
12:27
<gsnedders>
jgraham: so I want the treewalker stuff in master so I can use it more sanely for the sanitizer changes, and rewrite the sanitizer tests to assert the tree and not the specific serialization
12:27
<gsnedders>
jgraham: I mean I can just merge it into the branch but then critic will show it as further changes to be reviewed again
13:20
<jgraham>
foolip: Yes
13:20
<jgraham>
gsnedders: I can't review and have lunch at the same time :p
13:24
<gsnedders>
jgraham: I feel like it's later than that. tbf, also being at EuroPython doesn't help given timezone diff. :)
13:25
<MikeSmith>
gsnedders: yeah, conformance checkers have personally told me that they don't want to offer to add stuff to the wiki
13:26
<gsnedders>
MikeSmith: people talk to you? weird.
13:27
<MikeSmith>
they talk about me, then other people tell me what they said
13:38
<foolip>
jgraham: unacceptable, but thanks :)
13:42
<jorendorff>
Hixie: ok, it's updated to the latest thing that awb has sent me
13:43
<jorendorff>
however what he sent me does not have the same version number as the latest pdf, hence the qualification
13:43
<jorendorff>
(my scripts work from the source .docx file, not the .pdf. If I had known awb wouldn't publish it anywhere, I would have started with the pdf)
14:55
<smaug____>
which spec defines Selection these days
15:08
<smaug____>
found
15:31
<Hixie>
jorendorff: wow, he writes the spec in word?
15:31
<Hixie>
jorendorff: that's pretty unusual, for a web spec :-)
15:31
<jorendorff>
yes
15:31
<jorendorff>
fml
15:34
<Hixie>
fml?
15:34
<Hixie>
jorendorff: anyway, thanks!
15:35
<jorendorff>
you're welcome
15:45
<JakeA>
Has there been any attempt to make EventTarget constructible & inheritable?
15:46
<Hixie>
what would that mean?
15:46
<JakeA>
class Whatever extends EventTarget - to get addEventListener etc on a custom object
15:47
ondras
is afraid that Object.observe is now the preferred way to do so
15:48
<ondras>
EventTarget being used only by DOM citizens which inherit from some HTMLElement or so
15:48
<JakeA>
Loads of non-elements use EventTarget
15:49
<JakeA>
XHR, EventSource, WebSockets
15:49
<ondras>
FileReader, yes
15:49
<ondras>
but I would say that those are not full EventTarget impls, because their events lack what makes DOM events unique - capturing and bubbling through the tree
15:50
<JakeA>
new XMLHttpRequest() instanceof EventTarget === true
15:52
<MikeSmith>
bravo Haakon https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/Tosujr59Akg/YV1NbFqYF2wJ
17:03
<Hixie>
JakeA: ah, i see. i think that's been suggested before, but i'm not aware of a plan to do it.
17:04
<Hixie>
JakeA: in practice it doesn't really give you much, i mean, implementing addEventListener() isn't much hardship :-)
17:04
<Hixie>
does anyone know where the ES spec defines how to interpret the subscripts on productions?
17:05
<Hixie>
ah, found it in 5.1.5, nevermind
18:52
<JakeA>
Hixie: I guess, but it feels wasteful writing code or brining in a library to do something that's already in the platform
19:10
<Hixie>
JakeA: it's like 10 lines of code, but sure
19:40
<Hixie>
TabAtkins: see https://www.w3.org/Bugs/Public/show_bug.cgi?id=18026 (comment 11 responds to your comment 10)
19:40
<Hixie>
TabAtkins: (more selectors stuff)
20:18
<foolip>
Hixie: are you having SVN trouble, or why "Change may be delayed a few more days"?
20:18
<Hixie>
i'm trying to track down a bug in my pipeline
20:18
<foolip>
2nd guess is new section splitter
20:19
<Hixie>
which only manifests when i run the fully optimised build under the profiler on the full spec
20:19
<Hixie>
compiling with all optimisations takes an ungodly amount of time
20:19
<Hixie>
running things under the profiler takes an ungodly amount of time
20:19
<Hixie>
and the spec is giant
20:20
<Hixie>
so i'm having to make one slight change, then run the pipeline, then get back to it two giant ungoldly amounts of times later to see the result
20:20
<Hixie>
it's... taking a while
20:21
<Hixie>
so far i have it narrowed down to two specific functions which if i make inline, i get a crash, and if i don't, i don't get a crash.
20:21
<foolip>
out of curiosity, what's the compiler and profiler involved here?
20:21
<Hixie>
freepascal and valgrind
20:21
<foolip>
are we talking C code?
20:22
<foolip>
there's pascal code involved in producing the spec?
20:22
<Hixie>
there is now! :-D
20:22
<foolip>
wow
20:22
<Hixie>
freepascal, specifically
20:22
<Hixie>
which is a rather modern language with generics and operator overloads and class references and interfaces and so on
20:23
<Hixie>
as opposed to "pascal"
20:23
<foolip>
do you have your tools in public, in case you get hit by a bus or if other spec editors want to make Hixie-style specs?
20:25
<Hixie>
not yet, but it's still in progress
20:33
<Hixie>
i dunno if this bug is something i'm doing, like stomping on the stack or something, or if it's just a compiler bug, but either way, it's hugely annoying...
20:34
<foolip>
are you using the memory tool from valgrind as well?
20:34
<foolip>
that should tell you if you're messing up the stack at least
20:34
<foolip>
(I think)
20:35
<foolip>
I've never written anything freepascal so my tips are pretty useless :)
20:39
<jgraham>
Pretty sure Hixie using FreePascal is basically trolling the world ;) "what's the language that is least likely to get contributions, based on the combined factors of unpopularity and uncoolness"
20:41
<Hixie>
getting contributions wasn't even on my list :-)
20:41
<Hixie>
foolip: just callgrind so far, but yeah, i should run the memory tool, good point
20:41
<jgraham>
Hixie: You don't say :p
20:42
<foolip>
maybe use GNU RCS as revision control to please the crowd further
20:43
<jgraham>
Well he's already using SVN…
20:43
<Hixie>
when i started this, svn was cutting edge :-P
20:43
<Hixie>
not my fault you kids keep changing source control system like it's a flavour of the month ice cream :-P
20:44
<foolip>
we can't help ourselves :/
20:46
<Philip`_>
Surely trying to profile the code in Callgrind is just going to tell you that 98% of the time is spent in the Callgrind instrumentation
20:48
<Hixie>
Philip`_: :-P
20:48
Philip`_
likes 'perf' since it generally works and isn't slow (though the UI is kind of terrible)
20:48
<Hixie>
Philip`_: actually callgrind was really helpful in finding hotspots
20:48
<jgraham>
svn is an interesting case stufy in …something. Very early they set out their stall and said "all we want to be is a better CVS". For a few years, people praised them both for their pragmatic goals and the fact that they achieved them. Then a couple of projects came along with the idea that "a better CVS" was fundamentally the wrong design and very quickly ate svn's lunch.
20:48
<Hixie>
Philip`_: i had used gprof but it was useless (sampling missed all the interesting bits)
20:51
<foolip>
Hixie: how long does the tool take to run on the full spec under normal conditions?
20:51
<foolip>
are we talking minutes?
20:52
<Hixie>
a few seconds
20:53
<Hixie>
i don't know the exact time, i ran into this bug while running it under the profiler so i could clean out low-hanging fruit before measuring the current time
20:54
<foolip>
that sounds pretty quick given the size of the input
20:54
<Hixie>
making it quicker was one of my main goals
21:13
<Hixie>
foolip: good call on suggesting using memcheck
21:47
<MikeSmith>
me discovers https://github.com/kmcallister/html5ever
22:00
<foolip>
Hixie: did that reveal the problem?