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