| 00:01 | gsnedders | sends mail |
| 02:24 | <Philip`> | http://www.middlebury.govoffice.com/ - <html xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:vbscript="http://mycompany.com/mynamespace"> - yay for copy-and-paste from example code |
| 02:27 | <MikeSmith> | Philip`: heh |
| 02:27 | <Philip`> | http://www.freeamerican.com/ - <all Clay About><Y</all><all Clay About><Y</all><all Clay About><Y</all> a zillion times - ?! |
| 02:29 | <MikeSmith> | Philip`: man, that page is a goldmine in many ways |
| 02:30 | <MikeSmith> | mcarter: hei. what's status on the JS implementation you were doing related to the connection API? haven't heard anything about it for a while |
| 02:31 | <Philip`> | MikeSmith: I'm not sure I'd call what you find there "gold" |
| 02:31 | <MikeSmith> | "THC is a cure for Cancer!" |
| 02:31 | <MikeSmith> | I like that part at least |
| 02:33 | <mcarter> | MikeSmith, I implemented the html5 TCPConnection as specified, both api and protocol |
| 02:34 | <mcarter> | MikeSmith, I've been waiting to release until I get it going in opera, which I'm working on today |
| 02:35 | <mcarter> | actually, i don't suppose any opera developers are around? annevk? there seems to be an incompatibility between 9.27 and 9.5 for SSE with the application/x-dom-event-stream content-type |
| 02:38 | <MikeSmith> | mcarter: virtuelv (Arve B.) might be a good person to ask about |
| 02:38 | <MikeSmith> | about that |
| 02:38 | <MikeSmith> | he is a web app developer at Opera |
| 02:39 | <MikeSmith> | virtuelv_: |
| 02:39 | <mcarter> | MikeSmith, thanks |
| 02:40 | <mcarter> | virtuelv_, in opera 9.5 the problem is if i do this: "var source = document.createElement("event-source"); source.setAttribute('src', url); document.body.appendChild(source);" then it connects TWICE. once when i setAttribute 'src', the other time when i put the element in the document |
| 02:41 | <mcarter> | virtuelv_, older versions of opera would only connect to the event source once |
| 02:42 | <othermaciej_> | mcarter: what ever happened to your plans to propose an HTTP-tunneled version of the protocol? |
| 02:43 | <othermaciej_> | I really want to add some kind of two-way persistent communication mechanism to WebKit but the current TCPConnection just seems like a bad design |
| 02:43 | <mcarter> | othermaciej_, I wanted a working implementation first. And that proved harder than I thought |
| 02:43 | <mcarter> | othermaciej_, the good news, is I have one now, and i'm just putting on the finishing touches. like opera support |
| 02:43 | <othermaciej_> | mcarter: so this sorta works like a reverse proxy I assume? |
| 02:44 | <othermaciej_> | the client does two-way messaging and some intermediary handles that and maintains a persistent connection to the real server? |
| 02:44 | <mcarter> | othermaciej_, yeah. the api in the browser is the standard, and the protocol out the back of the proxy is the proposal |
| 02:45 | <othermaciej> | I guess that might even still be useful for load reduction, so long as the intermediary has a good policy for when to tear down the persistent connection |
| 02:45 | <othermaciej> | (reduces load on your real server and the reverse proxy bit is easily scalable given its nature) |
| 02:46 | <mcarter> | othermaciej, tear down which persistent connection? the one to the backend or the one to the browser? |
| 02:46 | <othermaciej> | to the back end |
| 02:47 | <othermaciej> | to the browser it can't have a persistent two-way connection, right? |
| 02:47 | <othermaciej> | though I guess it can use event-source or XHR for something one-way persistent |
| 02:47 | <mcarter> | othermaciej, well no, it has a server->browser persistent connection, and another connection for xhr browser->server |
| 02:48 | <mcarter> | othermaciej, but i figure the backend server can close the connection whenever it wants |
| 02:48 | <othermaciej> | mcarter: how can you ensure that a persistent browser->server connection is maintained? |
| 02:49 | <mcarter> | othermaciej, i don't know if you can necessarily ensure it for all browsers. But in practice, if you use keep alive and send a ping or something every so often, the browser->server connection tends to remain open |
| 02:50 | <mcarter> | also, after creating this api, I made some more protocol implementations on top |
| 02:50 | <othermaciej> | oh? |
| 02:50 | <mcarter> | for instance, there is an IRC client written in javascript thats pretty neat (this uses an alternative proxy->backend protocol. just raw tcp with no initial handshake) |
| 02:51 | <mcarter> | I've come upon a number of issues for some protocols though |
| 02:51 | <mcarter> | for instance, in implementing the STOMP protocol (simple messaging protocol for message queues) it uses a '\0' byte which the browsers won't all send |
| 02:52 | <mcarter> | I know these protocols aren't the target case for the html5 specification -- i was just experimenting |
| 02:53 | <mcarter> | in implementing xmpp, I found that some servers require TLS handshake and its really not feasible to implement encryption directly in the browser |
| 03:00 | <othermaciej> | it would be kinda slow, certainly |
| 03:00 | <othermaciej> | newer JS implementations are getting better at code like that but still not as fast as C, and there is always IE to deal with still |
| 03:03 | Philip` | wonders if "still not as fast as C" means "still two orders of magnitude slower than C" |
| 03:03 | <mcarter> | yeah... the funny thing about implementing xmpp in the browser is that you get buddy icons back as byte arrays (javascript list of integers) |
| 03:03 | <mcarter> | you can base64 encode it and set the img src="data:base64string", at least in firefox. but again, no IE support |
| 03:04 | <othermaciej> | Philip`: probably around 20 times slower, in the fastest JS implementations (at least without static typing extensions) |
| 03:04 | <mcarter> | it would be really nice to have more of the native image decoder and ssl stuff exposed directly to javascript |
| 03:06 | <weinig> | real bytearrays would be a nice start |
| 03:10 | <Hixie> | mcarter: if you could send whatever feedback you have soon, that'd be great -- i really have to start working on that part of the spec (either fix it, or remove it) |
| 03:22 | <mcarter> | Hixie, ok, sorry for the delay. I was trying to hard to perfect my implementation. I'll send the feedback soon. |
| 03:22 | <Hixie> | np |
| 03:42 | <Hixie> | well that didn't take long |
| 03:42 | <Hixie> | rb just sent his complaint that i was dismissing him |
| 03:47 | <Hixie> | gsnedders: yt? |
| 08:44 | <Dashiva> | I know there exists userjs for using xpath in fragment identifiers. But I don't know of anyone using them. |
| 09:10 | <Lachy> | http://lists.w3.org/Archives/Public/www-archive/2008Jun/0074.html |
| 09:11 | <Lachy> | looks like he's asking for a new editor, simply based on the fact that Hixie disagrees with him. |
| 09:18 | hdh | is using FXPointer |
| 09:23 | <gsnedders> | Hixie: Let me ask the same question of you: yt? |
| 09:37 | <Dashiva> | Lachy: I wonder what it means that RB chose to CC html4all, but not public-html |
| 09:42 | <Lachy> | Dashiva, because it's discussing a process related issue, which shouldn't be discussed on public-html |
| 09:47 | <gavin_> | "Focussing on things like demand and whether implementors will |
| 09:47 | <gavin_> | implement is entirely unhelpful." |
| 09:47 | <gavin_> | !? |
| 09:47 | <othermaciej> | because rob burns knows those things as well as Hixie does |
| 09:47 | <othermaciej> | so it's insulting to bring them up |
| 10:13 | <Hixie> | hey if rob burns convinces the htmlwg to remove me as editor i'd probably be the happiest person on the working group |
| 10:13 | <Hixie> | i'd no longer have to deal with rob burns, for one |
| 10:13 | <Hixie> | if it ever comes to w3c html5 vs whatwg html5, i have absolutely zero doubt about who would be able to move faster |
| 10:14 | <Hixie> | the motivation alone would probably double my prouctivity |
| 10:14 | <othermaciej> | the w3c bugzilla isn't the first one he's abused |
| 10:14 | <Hixie> | gsnedders: here now, but i e-mailed you anyway |
| 10:15 | <Hixie> | the funniest aspect of this rob burns thing is that of all the people on the wg, i think i'm the one who has spent the most time trying to consider his proposals and comments |
| 10:15 | <Hixie> | e.g. as far as i can tell most of his process complaints just fall on deaf ears |
| 10:15 | <gsnedders> | Hixie: Could you reply to my email to public-html from several days ago first? |
| 10:15 | <gsnedders> | Hixie: That will ensure I'm not being stupid |
| 10:16 | <Hixie> | um... sure |
| 10:16 | <Hixie> | let's see if i can work out where i put that! |
| 10:16 | <gsnedders> | http://lists.w3.org/Archives/Public/public-html/2008Jun/0172.html |
| 10:16 | <Hixie> | probably the sections folder |
| 10:16 | <gsnedders> | I finally found someone who has as many unread emails as Hixie, BTW |
| 10:16 | <gsnedders> | My dad. |
| 10:18 | <gsnedders> | Hixie: You've actually done some of the things, now |
| 10:18 | <Hixie> | does he plan to reply to that mail? |
| 10:18 | <othermaciej> | Hixie: I wish Rob's energy could be turned in useful directions that would help the group |
| 10:19 | <gsnedders> | Hixie: Oh, he hasn't looked at it yet, so he doesn't know that yet. |
| 10:19 | <othermaciej> | but that kind of turnaround can be hard to achieve |
| 10:19 | <gsnedders> | Hixie: I just got rather urgent emails forwarded from him that he got a month ago |
| 10:20 | <Hixie> | othermaciej: you can't convert heat energy into mechanical energy |
| 10:20 | <Hixie> | othermaciej: in any sort of efficient manner |
| 10:20 | <othermaciej> | Hixie: what if I redirect his complaints to public-carnot-cycle⊙wo? |
| 10:20 | <Hixie> | gsnedders: oh i read all my e-mail straight away |
| 10:20 | <Hixie> | gsnedders: i just don't deal with it straight away |
| 10:21 | <gsnedders> | Hixie: I know that — I do the same :) |
| 10:21 | <othermaciej> | it may not be the most efficient way but team-maxwells-demon is not publicly accessible |
| 10:23 | <roc> | Has any open source project discovered a way to efficiently eliminate time-wasters? I'd like to know about it |
| 10:25 | <gsnedders> | roc: A dictatorship? |
| 10:27 | <roc> | how does that help? |
| 10:28 | <Lachy> | roc, doing anything with time-wasters is inherently inefficent. |
| 10:28 | <Lachy> | most of all, trying to elimiate them. |
| 10:33 | <gsnedders> | roc: You just completely ignore them, then they give up |
| 10:33 | <Hixie> | gsnedders: replied |
| 10:34 | <Hixie> | roc: see the talk by fitz and co about poisonous people |
| 10:34 | <anne-olpc2> | bugzilla entries are fun |
| 10:36 | <Hixie> | (by sussman and fitz) |
| 10:36 | <Hixie> | http://video.google.com/videoplay?docid=-4216011961522818645 |
| 10:36 | <Hixie> | right bed time now |
| 10:36 | <Hixie> | nn |
| 10:38 | <roc> | actually the hardest time-wasters I've found are people who are really nice and eager to help, and completely clueless |
| 10:41 | <othermaciej> | WebKit has been relatively free of time-wasters |
| 10:41 | <othermaciej> | I think because it has no UI |
| 10:42 | <othermaciej> | and most of what it does is readily judged by objective criteria like standards and performance metrics |
| 10:48 | <Dashiva> | roc: Those can be channeled into doing manual labor, though |
| 14:52 | <gsnedders> | Something is badly broken with my impl.. Ergh. |
| 14:53 | <gsnedders> | assert self.current_section != self.current_section.subsections[-1] |
| 15:04 | <gsnedders> | See, the oddness is that as far as I can see, you shouldn't ever be able to reach the assertion |
| 15:05 | <gsnedders> | (Well, you should reach it, it should just never ever throw an assertion error) |
| 15:07 | <gsnedders> | http://pastebin.com/m6cd75910 — anyone see anyway anything can become a subsection of itself? |
| 15:07 | <Philip`> | Add lots of 'print' statements wherever any of those variables are modified, to see where the error gets introduced? |
| 15:07 | <gsnedders> | Philip`: I've added loads of assert statements, which should cause an error before it reaches there |
| 15:09 | <Philip`> | Shouldn't the assert on line 105 say "not in" rather than "!=", if you're trying to detect the cases where a section might become its own subsection? |
| 15:09 | <gsnedders> | Philip`: Both are single section objects, so no |
| 15:10 | <Philip`> | Oh, indeed, I'm just being confused |
| 15:10 | <gsnedders> | it's line 149 when an assertion is thrown: nowhere else |
| 15:11 | <gsnedders> | (and of course around line 149, if it is a subsection, you're in an infinite loop) |
| 15:11 | <Philip`> | If you want people to debug your code, you should give them a runnable example that demonstrates the problem :-) |
| 15:12 | <gsnedders> | Philip`: I'm just playing around with the interactive interpreter :P |
| 15:13 | <Philip`> | gsnedders: That seems to be irrelevant to my point :-p |
| 15:15 | <gsnedders> | Philip`: http://pastebin.com/m55b99a32 — will that do? :P |
| 15:17 | <gsnedders> | Philip`: Just remove line 26 if you want it to actually run |
| 15:21 | <Philip`> | <h2></h2><h3></h3><table><tr><td></table> |
| 15:21 | <Philip`> | That seems to trigger the error |
| 15:24 | <gsnedders> | td is a sectioning root |
| 15:26 | <Philip`> | Ah - <h1></h1><h2></h2><figure> seems like a possibly minimal case, then |
| 15:27 | <gsnedders> | The first <h1> becomes the heading of the body |
| 15:27 | <gsnedders> | <h2> hits the otherwise substeps in "When entering a heading content element" |
| 15:33 | <hdh> | http://mg.pov.lt/blog/object-graphs-with-graphviz prints a object reference graph, may be it can help |
| 17:10 | <Lachy> | Philip`, do you have a full list of pages that use /> on unknown elements published somewhere? |
| 17:11 | <Philip`> | Lachy: No |
| 17:11 | <Lachy> | ok |
| 17:11 | <Lachy> | do you know if there are pages that use /> on some of the newly introduced HTML5 elements? e.g. <section/>, etc.? |
| 17:12 | <Philip`> | I just grepped for <(?!a|b|...|br|dd|...)\w[^>]*/> |
| 17:12 | <Philip`> | using the list of element names from hsivonen's parser |
| 17:13 | <Philip`> | Mostly it finds RDF (Creative Commons, Trackback, etc) in comments, and VML |
| 17:13 | <Philip`> | (where the VML is also in (conditional) comments) |
| 17:14 | <Philip`> | If you have a list of the newly introduced HTML5 elements, I could look for that |
| 17:15 | <Philip`> | (I think it's unlikely to find anything, since none of the HTML5 element names are used significantly) |
| 17:16 | <Philip`> | (unless you count <embed> etc) |
| 17:17 | <zcorpan_> | http://www.w3.org/TR/html5-diff/#new-elements |
| 17:17 | <Philip`> | (<header> seems to be the most common, on 40 out of 130K pages) |
| 17:19 | <Lachy> | article|aside|audio|canvas|command|datagrid|datatemplate|details|event-source|figure|footer|header|mark|meter|nest|progress|rule|section|source|time|video |
| 17:21 | <Philip`> | http://www.outbackatisa.com.au/AttractionsatOutbackatIsa/RiversleighFossilsCentre.aspx |
| 17:22 | <Philip`> | <time hour="8" minute="30" /><span style="FONT-SIZE: 8pt; FONT-FAMILY: Verdana; mso-font-kerning: 0pt; mso-ansi-language: EN-US; mso-fareast-language: EN-US">8.30am - 5.00pm</span></time /> |
| 17:24 | <Lachy> | is that it? One page is hardly significant evidence. |
| 17:25 | <Philip`> | Wait a few minutes :-) |
| 17:25 | <Lachy> | ok |
| 17:25 | <takkaria> | I'm pretty sure I've seen Hixie show pages which have it in quantity that would screw up if parsed as empty elements |
| 17:25 | <takkaria> | (except s/bad grammar/good english/) |
| 17:26 | <Philip`> | takkaria: On unknown elements? |
| 17:26 | <takkaria> | mm, perhaps not |
| 17:26 | <Philip`> | There's loads of known elements where it'd break, but IE already parses unknown elements as effectively empty so nobody should be intentionally relying on that behaviour |
| 17:27 | <Lachy> | it's ok. I have other argument's against Rob's proposal that doesn't depend on this particular evidence. |
| 17:28 | <Philip`> | Lachy: (Finished searching) That's the only one (excluding any pages that split the tag over multiple lines) |
| 17:30 | <Philip`> | (There's a million times more pages that I didn't search than I did, so it's not possible to conclude anything much from a lack of evidence) |
| 17:30 | <gsnedders> | Philip`: Well, go search some more! |
| 17:30 | <takkaria> | it would be very confusing for future authors to have to use the solidus sometimes but not always |
| 17:30 | <Lachy> | takkaria, yeah, that's my other argument that I've written |
| 17:31 | <takkaria> | but I can see the worth in the proposal. I'm not quite sure what kind of empty elements one would want to include in the future, though... |
| 17:31 | <Lachy> | hey, why doesn't this section list any of the new void elements, like source and event-source? http://www.whatwg.org/specs/web-apps/current-work/#elements0 |
| 17:32 | <gsnedders> | Lachy: Because Hixie sucks>? |
| 17:32 | <gsnedders> | s/>// |
| 17:32 | <Philip`> | gsnedders: I've already got too many to fit in RAM, so searches take ages, so I don't want more :-( |
| 17:32 | <Philip`> | (*I don't want more pages; I do want more RAM) |
| 17:33 | <gsnedders> | Philip`: Can't we give you more of both? |
| 17:33 | <Lachy> | how much RAM do you have? |
| 17:33 | <Philip`> | Lachy: 4GB |
| 17:33 | <Lachy> | ok, not too bad. |
| 17:34 | <Lachy> | It'd be nice when we can have 16TB of RAM. Then we would have these problems. |
| 17:34 | <gsnedders> | Lachy: 16TB of RAM should be enough for anyone! |
| 17:34 | <gsnedders> | s/16TB/640KB/ |
| 17:34 | <krijnh> | hober: ping |
| 17:35 | <Lachy> | 16TB of RAM is more than I have available on hard drives. |
| 17:35 | <Philip`> | Also I'd run out of allocated disk space, and I can't remember the LVM commands to merge physical partitions and rebuild the RAID and filesystem and everything so I'd probably destroy my computer |
| 17:37 | <Philip`> | (and the sysadmin complained when I last modified the disk stuff, since I'd grown the root filesystem to 32GB when I only really needed 8GB) |
| 17:40 | gsnedders | needs his 15GB of music |
| 17:41 | <Philip`> | That reminds me, I should compress all the cached pages to save on IO and RAM |
| 17:42 | <Philip`> | gsnedders: I keep all that on my personal laptop, not on my work machine :-) |
| 17:42 | <gsnedders> | Philip`: They are one and the same for me :) |
| 17:43 | <Philip`> | gsnedders: Clearly you have too few computers |
| 17:43 | <gsnedders> | Philip`: Clearly. |
| 17:43 | <Lachy> | yeah, you can never have too many computers. |
| 17:44 | <Lachy> | I have 4 and I'm ordering a 5th tomorrow. |
| 17:44 | gsnedders | has far too many in this house |
| 17:44 | <gsnedders> | Only that a lot of them are from the mid/late 90s |
| 17:45 | <Lachy> | although, I'm replacing my old and mostly dead Mac Mini and really big, bulky and noisy PC with a new iMac |
| 17:45 | <takkaria> | mm, BBC BASIC |
| 17:49 | Philip` | 's parents had about a dozen from the 90s, but threw them all out recently :-( |
| 17:52 | Lachy | files a new bug, in the hope that it will increase the number of useful bugs from 0 to 1 |
| 17:52 | <Lachy> | s/useful bugs/useful bug reports/ |
| 17:53 | <Philip`> | Who's dave.null⊙wo? |
| 17:54 | <Lachy> | Philip`, just the default assignee of all bugs. |
| 17:55 | Philip` | wonders if it's related to a real person called Dave, or just a joke on /dev/null |
| 17:55 | <Lachy> | it's either an archived list, or just an email address that files everything in /dev/null |
| 17:56 | <Lachy> | and it's not listed in either the Public or Member lists. It could be in Team, but unlikely |
| 18:00 | <Philip`> | Hmm, Gentoo has opera-9.50 (and marked stable) now |
| 18:00 | Philip` | wonders if he should risk upgrading |
| 18:10 | <gsnedders> | Philip`: Even more minimalistic test case: "<table><tr><td>foo" |
| 18:12 | <Philip`> | Ah, that's confusingly non-monotonic - I had tried removing just one of the headings, which made the error go away, and didn't try removing both |
| 18:12 | <gsnedders> | Philip`: I still got the error with one header |
| 18:13 | <Philip`> | Oh |
| 18:25 | <zcorpan_> | i wonder why i'm not getting any email |
| 18:29 | gsnedders | is tempted to go and play through GTA4 again, making all the choices he didn't make before |
| 18:30 | <Philip`> | You didn't make the choice to not play the game, so that means you would have to make that choice now |
| 18:31 | <gsnedders> | s/choices/choices within the game/ |
| 18:32 | <Philip`> | You didn't make the choice to be a perfectly law-abiding citizen within the game |
| 18:34 | <gsnedders> | s/choices within the game/choices that occur while completing the game storyline/ |
| 18:35 | <Philip`> | You didn't make the choice to walk backwards all the time |
| 18:36 | <gsnedders> | oh fuck off. |
| 18:36 | <Philip`> | You're just being insufficiently precise |
| 18:48 | <takkaria> | http://wiki.whatwg.org/wiki/Parser_tests says that the tests have a correctness flag |
| 18:48 | <takkaria> | er, that doctypes have a correctness flag |
| 18:49 | <takkaria> | whilst now they have a force-quirks flag |
| 18:49 | <takkaria> | I assume that force-quirks is = !correctness |
| 18:49 | <Philip`> | takkaria: It is |
| 18:49 | <takkaria> | ta |
| 19:51 | <gsnedders> | Going back to <http://pastebin.com/m6cd75910>, it seems section.subsections gets set somewhere |
| 19:51 | <gsnedders> | I can't see where, though |
| 20:01 | <gsnedders> | I just had the error vanish for one run |
| 20:01 | <gsnedders> | Huh. |
| 20:10 | <Philip`> | gsnedders: Shouldn't line 128 be "pass" instead of "return", else it won't run the "In addition, whenever you exit a node, ..." bit? |
| 20:11 | <gsnedders> | Philip`: Peh. That's irrelevant! It doesn't even associate anything apart from elements with sections anyway. It's broken there. |
| 20:11 | <gsnedders> | Philip`: And I've removed that from my local copy entirely now |
| 20:13 | <Philip`> | Ooh |
| 20:13 | <Philip`> | Your definition of 'class section' is broken |
| 20:14 | <Philip`> | because the 'subsections = []' etc is assigning a single list object when the class is first defined, whereas you want a new list object for each instance of that class |
| 20:15 | <Philip`> | so the .subsections of all section objects is exactly the same list |
| 20:15 | <Philip`> | (so when one section is added to another's subsections, it's being added to its own subsections too) |
| 20:16 | <gsnedders> | ahah! |
| 20:19 | <gsnedders> | Something is certainly broken with the algorithm |
| 20:19 | <gsnedders> | <h1/><h2/><h2/> Never picks up the second h2 |
| 20:20 | <Philip`> | ((And obviously the same problem applies to the 'toc' class, if you're using it more than once)) |
| 20:21 | <gsnedders> | hmm… |
| 20:21 | <gsnedders> | it seems to be quicker to have stack as a normal list and not a deque, as len() is quicker on a normal list |
| 20:22 | <Philip`> | You can avoid lots of uses of len by doing "if foo" instead of "if len(foo) > 0", which should be faster |
| 20:23 | <Philip`> | Also doing stacks as lists is sensible anyway, since lists are optimised for adding/removing from the end, which is exactly what you do to a stack |
| 20:23 | <gsnedders> | Yeah, that is quicker |
| 20:23 | <gsnedders> | Philip`: deque should be quicker for any frequently changing list, AFAIK |
| 20:25 | <Philip`> | gsnedders: That depends entirely on how you're changing it :-) |
| 20:25 | <gsnedders> | Philip`: I meant changing it from the right end |
| 20:25 | <gsnedders> | (because if you're not, deque is obviously going to quicker, due to it being an O(1) op. there, and an O(n) one in a list) |
| 20:27 | <Philip`> | By "right end", do you mean "correct end" or "end with highest index value"? |
| 20:28 | <gsnedders> | Philip`: "correct"? |
| 20:31 | <Philip`> | lists are O(1) push-right and pop-right and get and set, and O(n) push-left and pop-left; deques are O(1) push and pop on left and right (with a larger constant factor than lists), and O(n) on get and set |
| 20:33 | <Philip`> | gsnedders: By "correct end" (for lists) I mean the end with the highest index value, since that's fast and the other end is slow |
| 20:33 | <gsnedders> | Philip`: Then why the "or", as they're both the same |
| 20:33 | <jgraham> | gsnedders; I get sensible results from <h1>foo</h1><h2>bar</h2><h2>baz</h2> |
| 20:34 | <gsnedders> | jgraham: On my impl or yours? |
| 20:34 | <jgraham> | On my imp. |
| 20:34 | <jgraham> | I think |
| 20:35 | <jgraham> | Although I no longer understand how my implementation works |
| 20:35 | <jgraham> | I'll see if the online copy is up to date |
| 20:38 | <Philip`> | gsnedders: Because I was unsure which you meant, and whether you meant only lists (where one end is correct) or also deques (where neither is) |
| 20:40 | <jgraham> | gsnedders: Try the case that you're having problem with at http://james.html5.org/outliner.html |
| 20:41 | <gsnedders> | jgraham: That doesn't work for me |
| 20:42 | <jgraham> | What doesn't work? |
| 20:42 | <gsnedders> | jgraham: the outliner in saf |
| 20:42 | <gsnedders> | jgraham: And in Fx2 all I get is "updating…" |
| 20:43 | <jgraham> | Oh, well try FF3 then :) |
| 20:43 | jgraham | goes to debug Safari |
| 20:43 | <jgraham> | Or rather debug my ode in Safari |
| 20:44 | <Philip`> | An ode to Safari? |
| 20:45 | <jgraham> | Hmm I've heard that code is poetry but I'm not sure that Shakespeare is concerned with my efforts |
| 20:46 | <Philip`> | http://www.unix.com.ua/orelly/perl/prog3/ch27_02.htm |
| 20:47 | <gsnedders> | Yeah, it works fine there |
| 21:04 | <gsnedders> | jgraham: is the script (web_outline) that actually makes the structure visible available? |
| 21:11 | <gsnedders> | Hixie: Is line 136 of http://pastebin.com/m6cd75910 correct? |
| 21:11 | <gsnedders> | Hixie: Or am I still misunderstanding you? |
| 21:28 | <jgraham> | gsnedders: The actual useful script is outline.py |
| 21:28 | <jgraham> | Which I can make avaliable |
| 21:28 | <gsnedders> | jgraham: Yeah, I know, but I want to see web_outline :P |
| 21:34 | <jgraham> | gsnedders: Not very useful? http://pastebin.com/d7520d64b |
| 21:37 | <gsnedders> | jgraham: http://james.html5.org/temp/outline/outline.py doesn't actually build the visible output |
| 21:38 | <gsnedders> | oh, wait, the tostring does |
| 21:42 | <jgraham> | Yeah, the tostring actually builds the visible content. Not really very elegant |
| 21:42 | <jgraham> | What did you decide was the best way to get text out of lxml elements? |
| 21:43 | <gsnedders> | jgraham: etree.tostring(element, encoding=unicode, method='text', with_tail=False) |
| 21:47 | <jgraham> | gsnedders: Thanks |
| 21:47 | <gsnedders> | jgraham: Thank Philip` too |
| 21:48 | <jgraham> | Philip`: Thanks :) |
| 21:52 | <gsnedders> | http://pastebin.com/m137dfc92 — I can't get that to create any sane TOC |
| 21:52 | <gsnedders> | Looking at the outline of the body, I find 440 sections |
| 21:53 | <gsnedders> | And there aren't that many h2 elements in HTML 5 |
| 21:53 | <gsnedders> | (there are 19 in my copy) |
| 22:42 | <Philip`> | Hmm, enumerating all combinations of {0, Infinity, -Infinity, NaN} for each argument of an 8-argument function is not a good idea |
| 23:12 | <Dashiva> | Lachy: Don't give up! Don't let him confuse you! |
| 23:44 | <Lachy> | Dashiva, what are you referring to? |
| 23:49 | <Lachy> | are you referring to Rob's bugzilla responses? |