Options:
- # Session Start: Sat Apr 26 00:00:00 2008
- # Session Ident: #whatwg
- # [00:02] * Joins: KevinMarks (n=KevinMar@nat/google/x-95b9397ae2f78c7a)
- # [00:02] <Hixie> Philip`: "12:00"
- # [00:02] <Lachy> Philip`, the question is flawed because you didn't give a start time
- # [00:02] <Hixie> (blinking)
- # [00:03] <Philip`> Lachy: It's flawed for far more reasons than that :-p
- # [00:04] <Philip`> but there are still lots of factors in it that all affect the perception of time, and people probably want to be able to perceive time kind of like how they do now
- # [00:04] <Lachy> it also depends if I was taken out of suspended animation when I arrived
- # [00:05] <Philip`> It's not very good if their clocks compensate for time dilation so that the space travellers put some food in the oven for 30 seconds and find that it explodes because their clock had automatically slowed down by a factor of ten
- # [00:07] <Philip`> Uh
- # [00:07] <Philip`> s/oven/microwave/
- # [00:07] <Lachy> some clocks will be relative to the users time frame, others will be relative to earth's
- # [00:09] <Lachy> and it will be just aweful if someone set their video timer to record, but forgot to set it by the earth clock.
- # [00:09] <Philip`> If the user is suspendedly animated for a year, should their clock stop for that time?
- # [00:10] <Philip`> Lachy: That's not going to be a real problem - the broadcasters can just archive all their material, and provide anything on-demand whenever you want it
- # [00:10] <Hixie> dude i have to reset my clock after just a few hours of air travel
- # [00:11] <Lachy> The person will remain physically the same age, though time will continue to pass around them
- # [00:11] <Lachy> so it depends if their clock is in the suspended animation chamber with them
- # [00:12] <Philip`> (The only problem is DRM - if it's like the BBC iPlayer where you're only allowed to watch stuff from the past 7 days, that'll be a pain when "7 days" becomes highly relative)
- # [00:12] <Hixie> the only really "new" think will be that timezones will differ in relative rate of time as well as offsets
- # [00:12] <Hixie> no biggie
- # [00:15] <Philip`> I already have enough problems trying to synchronise cron jobs on two machines in different continents, even before worrying about DST, so I'd prefer a better solution for the future
- # [00:16] <Hixie> just use UTC
- # [00:16] <Hixie> timezones are purely a ui thing
- # [00:16] <Hixie> or should be purely a ui thing
- # [00:16] * Joins: sverrej_ (n=sverrej@89.10.27.86)
- # [00:16] <Philip`> Can I make cron use UTC?
- # [00:17] <Lachy> Many satellites already compensate for relativistic effects.
- # [00:17] * Joins: othermaciej_ (n=mjs@17.255.111.204)
- # [00:17] <Lachy> Philip`, why can't you juse sent the computer clocks to UTC?
- # [00:17] <Lachy> *just
- # [00:17] <roc> GPS compensates for relativistic effects
- # [00:18] <Philip`> (preferably only for some of the jobs - I want certain things to always happen after I've gone to bed, which is in sync with the local timezone)
- # [00:19] <Hixie> when i go to bed really isn't in sync with anything
- # [00:19] <Hixie> about the only hour i can guarentee i'm not up 90% of the time is 6:30am - 7:30am local time
- # [00:19] <Hixie> and even that is relatively new
- # [00:20] <Hixie> showModalDialog()
- # [00:20] <gsnedders> The only hour of day when I have never searched Google is 3–4am local time.
- # [00:20] <Hixie> any opinions?
- # [00:20] <gsnedders> That's a decent indication of when I'm awake.
- # [00:20] <Hixie> i'm awake 3am-4am most nights
- # [00:20] <Philip`> Lachy: The hardware clocks are set to UTC, but my cron seems to use the system-wide timezone settings (probably so it can schedule things for 3:10am and it won't interrupt any in the middle of their day)
- # [00:20] * gsnedders notes his sleeping pills are obviously having less affect on him now, as he took one an hour ago
- # [00:20] <Lachy> Hixie, I haven't read the spec for showModalDialog().
- # [00:20] <Philip`> s/any/anyone/
- # [00:20] <Lachy> I'm sure I have lots of opinions on it though
- # [00:21] <Hixie> there's a spec for it?
- # [00:21] <Lachy> s/spec/documentation/
- # [00:21] <Hixie> that's a kind word
- # [00:22] <Hixie> holy crap this is an annoying feature
- # [00:22] <Hixie> how has it not been abused for ads yet
- # [00:22] <Hixie> it blocks all the other tabs!
- # [00:22] <Lachy> fine then. s/documentation/breif summary of what it's supposed to do and how it's supposed to be used/
- # [00:22] <Philip`> gsnedders: Hmm, my lowest is 7am (2 searches) and 6am (3 searches), and highest is 10pm (1610 searches)
- # [00:23] <gsnedders> Philip`: Over what time period?
- # [00:23] <Philip`> gsnedders: All time
- # [00:24] <gsnedders> Actually, I tell a lie. Over all time I've made three searches at 3am.
- # [00:24] <gsnedders> That is the lowest, though.
- # [00:24] <Philip`> Don't ask me what "all time" means
- # [00:24] <gsnedders> 6pm is highest at 2007.
- # [00:24] <Hixie> my lowest is 5am and 6am, 41 searches each
- # [00:24] <gsnedders> Over the quantifiable "last year", I've made no searches 4–6am, about 993 searches at 6pm (the most)
- # [00:24] <Philip`> (although if you did ask me, I'd estimate it's about 1.5 years, given the numbers)
- # [00:24] <Hixie> and highest is 4pm, 1895 searches
- # [00:25] <gsnedders> Saturday has the most searches, and Friday the least
- # [00:25] <gsnedders> Feb the most, Jun the least.
- # [00:25] <gsnedders> (which is odd seeming it wasn't June when I was away over the summer)
- # [00:26] * Joins: hober (n=ted@unaffiliated/hober)
- # [00:26] <Philip`> It would be nice if Google Web History wasn't quite so buggy in Opera
- # [00:26] <Lachy> where are you all getting stats on how many searches you do?
- # [00:26] <gsnedders> Hixie: "live dom viewer" is the fourth most common search for me :)
- # [00:26] <gsnedders> Lachy: http://www.google.com/history/
- # [00:27] <Philip`> Lachy: There's an SQL injection vulnerability in google.com so you can just query their whole database directly
- # [00:27] <Hixie> Lachy: http://www.google.com/history/trends?hl=en
- # [00:27] * gsnedders prefers Philip`'s explanation, though
- # [00:28] <Lachy> I get no results because I'd never enabled that before now
- # [00:29] * gsnedders doesn't use bookmarks.
- # [00:29] * gsnedders uses Google.
- # [00:29] <Philip`> My bookmark folders are write-only
- # [00:30] <gsnedders> actually, I use Saf's bookmark bar
- # [00:30] <gsnedders> But that's it.
- # [00:30] <Hixie> my bookmarks are http://☺.damowmow.com/
- # [00:30] <gsnedders> Eight items there, and that's it.
- # [00:30] <Philip`> I'm pretty sure I've bookmarked lots of useful things, but I never bother looking at them again
- # [00:30] <Hixie> because i use too many browsers to maintain a set offline
- # [00:30] <Lachy> I have a bookmarks folder filled with links to things like specs and other types of documentation and utilities. But mostly I just start typing the URI into the address bar and select from the list
- # [00:31] <Lachy> history search is awesome
- # [00:31] <jwalden> html5 is third on my list since depending on browser history it's the easiest way to get the spec :-)
- # [00:31] <jwalden> rfc 2616 is fifth
- # [00:31] <gsnedders> Lachy: agreed. That and Google is all I need :P
- # [00:31] <gsnedders> Hixie: Hey! My blog isn't on your blogroll! :P
- # [00:32] * Quits: othermaciej_ (n=mjs@17.255.111.204) (Read error: 104 (Connection reset by peer))
- # [00:32] <jwalden> a search URL on Google that redirects probably infinitely which I haven't gotten around to reporting to Google is the top result, because I've not removed it from the saved set of tabs every time I open Firefox
- # [00:32] <Philip`> (Is it intentional that blogroll sounds like bogroll?)
- # [00:32] * Joins: othermaciej_ (n=mjs@17.255.111.204)
- # [00:33] <Philip`> (I don't know if that's just a British term or something)
- # [00:33] <Hixie> jwalden: uri?
- # [00:33] <jwalden> sec
- # [00:33] <Lachy> for rfcs, I have have a special keyword set up so I just type "rfc ####" and it takes me to it
- # [00:33] * jwalden has to ssh into a machine with the sessionstore.js file
- # [00:33] * gsnedders just uses spotlight and has all the RFCs stored locally
- # [00:33] * Quits: othermaciej (n=mjs@17.203.15.181) (Read error: 110 (Connection timed out))
- # [00:35] <Lachy> hixie, do you have a key for ☺ on your keyboard?
- # [00:35] <Hixie> Lachy: no
- # [00:36] <Lachy> ok. cause that's basically the only URI in my history that I can't get by typing the first few letters
- # [00:36] <Hixie> it's my home page
- # [00:36] <Hixie> you can also get to it by going to damowmow.com/portal and clicking the link at the top
- # [00:36] <Lachy> I normally just type http://damowmow.com/portal/ instead
- # [00:37] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
- # [00:37] <jwalden> Hixie: so a mispaste suggests that the original URL I was hitting is part of a class of such URLs; <http://www.google.com/url?sa=t> seems to be a minimal testcase for me
- # [00:37] <jwalden> Hixie: original URL was <http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwiki.mozilla.org%2FJavaScript%3ASpiderMonkey%3ACoding_Style&ei=jf9kR6C_EZKcerz80Us&usg=AFQjCNHvvFthlkDqpEGRurEs1FdnfpHWrw&sig2=vZBmzjP3UMGLgIr75kh4vQ>
- # [00:37] <Philip`> Lachy: Opera 9.5 makes "xn" autocomplete to the smiley-face page
- # [00:38] <Philip`> (after having only ever entered the ☺ form into the address bar)
- # [00:38] <Lachy> maybe I should try using Opera one day
- # [00:38] <Philip`> so you shouldn't need a smiley key in order to get it from your history
- # [00:39] <Lachy> Firefox does that too
- # [00:39] <Lachy> but it doesn't show the smiley
- # [00:40] <Philip`> Hmm, Opera autocompletes from xn but not from ☺
- # [00:40] <Hixie> jwalden: oh yeah, /url changed behaviour recently, and probably broke any bookmarks to it
- # [00:40] <jwalden> no smiley for com TLD, they don't do enough to prevent lookalike domain names
- # [00:40] <Philip`> Konqueror 4 autocompletes from both
- # [00:40] <Hixie> jwalden: that won't get fixed i don't think
- # [00:40] <jwalden> okay
- # [00:40] <Hixie> though i don't see why it's doing an infinite loop
- # [00:40] <jwalden> I got that from a search results page, let's see if I can still find it, tho
- # [00:41] <Hixie> i'll file a bug anyway
- # [00:41] <Hixie> when i get to work
- # [00:41] <Hixie> speaking of which
- # [00:41] <Hixie> i should go
- # [00:41] <Hixie> bbl
- # [00:42] <Lachy> jwalden, the smiley doesn't stay in the address bar for http://☺.lachy.id.au/ either
- # [00:42] * Joins: othermaciej (n=mjs@17.203.15.181)
- # [00:42] <jwalden> Hixie: so visiting <http://www.google.com/search?q=non+sequitur+else+return&hl=en&safe=off&client=firefox-a&rls=org.mozilla:en-US:official&pwst=1&start=60&sa=N>, I have "JavaScript:SpiderMonkey:Coding Style - MozillaWiki" several down the results list
- # [00:42] <jwalden> Hixie: and the link location for that is <http://www.google.com/url?sa=t&ct=res&cd=66&url=http%3A%2F%2Fwiki.mozilla.org%2FJavaScript%3ASpiderMonkey%3ACoding_Style&ei=ll0SSMOFNJPWerXhpJkC&usg=AFQjCNHvvFthlkDqpEGRurEs1FdnfpHWrw&sig2=07FhJu9UeXFs5cSCXO29Yw>, which redirects infinitely
- # [00:43] <jwalden> so something's still generating the old format, I guess
- # [00:44] <gavin_> Lachy: .au isn't on the whitelist either
- # [00:44] <Lachy> why?
- # [00:44] * Quits: roc (n=roc@121-72-179-147.dsl.telstraclear.net)
- # [00:44] <jwalden> yeah, what he said
- # [00:44] <jwalden> dunno why
- # [00:44] * Joins: othermaciej__ (n=mjs@17.255.111.204)
- # [00:44] <Lachy> the auDA has very strict rules about registering domains. I'm sure they wouldn't let lookalikes through too easily
- # [00:45] <gavin_> because no one has added it :)
- # [00:45] <gavin_> you can file a bug and point to the policy
- # [00:45] * Quits: othermaciej_ (n=mjs@17.255.111.204) (Read error: 104 (Connection reset by peer))
- # [00:45] <gavin_> see e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=423974
- # [00:45] * Quits: KevinMarks (n=KevinMar@nat/google/x-95b9397ae2f78c7a) ("The computer fell asleep")
- # [00:46] <jwalden> http://www.mozilla.org/projects/security/tld-idn-policy-list.html
- # [00:46] <Philip`> Can't certain characters be whitelisted? ☺ isn't likely to be a look-alike for any serious domain
- # [00:46] <Lachy> Philip`, some users might confuse it with http://:-).lachy.id.au
- # [00:49] <Lachy> gavin_, jwalden, auda has lots of policies. I'm not sure what exactly to look for http://www.auda.org.au/policies/current-policies/
- # [00:50] <jwalden> I tend not to worry about the whitelisting; that's a UI thing
- # [00:50] * Philip` wonders if you can use the smiley face plus combining characters to make a series of smiley faces with funny hats
- # [00:50] <jwalden> except when it comes to things like <https://bugzilla.mozilla.org/show_bug.cgi?id=414090> :-(
- # [00:52] * Joins: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
- # [00:57] * Quits: othermaciej (n=mjs@17.203.15.181) (Nick collision from services.)
- # [00:57] * othermaciej__ is now known as othermaciej
- # [00:57] * Joins: eseidel_ (n=eseidel@72-60-23-7.area5.spcsdns.net)
- # [00:59] * Quits: qwert666_ (n=qwert666@acdg62.neoplus.adsl.tpnet.pl) (Connection timed out)
- # [00:59] * Joins: eseidel__ (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
- # [01:02] * Quits: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
- # [01:02] * Quits: aroben (n=aroben@unaffiliated/aroben) (Read error: 104 (Connection reset by peer))
- # [01:02] <Lachy> the nearest I can find is a prohibition on misspellings of names. http://www.auda.org.au/policies/auda-2006-05/
- # [01:02] <Lachy> it doesn't explicitly mention IDNs, but it's general enough that it would cover any characters used
- # [01:09] * Quits: eseidel__ (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
- # [01:09] * Joins: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
- # [01:10] * Joins: eseidel__ (n=eseidel@72.14.224.1)
- # [01:10] <Philip`> Does Gmail have a "next unread message in folder" button? (I want to find the 6 unread out of ~2000, and don't fancy paging through the whole list...)
- # [01:12] <Lachy> can't you sort by read status?
- # [01:13] <Philip`> I can't see any way to sort by anything
- # [01:13] <Lachy> really?
- # [01:14] <Philip`> Yes
- # [01:14] <Philip`> I hope I'm not just missing something obvious...
- # [01:14] <Lachy> wow, one more reason not to use gmail
- # [01:14] <Lachy> I can't see a way to sort the list of spam in my gmail inbox either.
- # [01:14] <Philip`> I guess the idea is that you search instead of sorting
- # [01:15] <Lachy> yeah, but what keyword do you use for unread messages?
- # [01:15] <Lachy> I just use IMAP. Although Thunderbird has some annoyng limitiations that I hope they fix soon
- # [01:16] <Philip`> Hmm, the advanced search thing lets you search for unread messages with e.g. a certain From address
- # [01:16] <Philip`> It doesn't seem to let me search for unread messages with a certain label (because 'unread' and labels are all choices in a single drop-down list), but the From thing works well enough here
- # [01:17] <Lachy> LOL
- # [01:17] <Lachy> I thought google would at least know how to make a usable search interface
- # [01:18] <Lachy> although, I must admit that gmail's search ability is superior to that of any mail client on the desktop
- # [01:18] <Philip`> Aha, I can use the search box with "label:blah is:unread", which is entirely unintuitive and seemingly undocumented
- # [01:18] <Philip`> (although admittedly I haven't tried looking for documentation, but I'm just a normal lazy user so that's the documentation's fault for not coping with me)
- # [01:19] <Lachy> aha, so you want a help system that pops up and gives you exactly what you want when you need it?
- # [01:19] <Lachy> ... like Clippy! :-)
- # [01:20] <Philip`> Not quite like that, since Clippy gives me exactly what I don't need when I don't want it
- # [01:20] * Quits: eseidel_ (n=eseidel@72-60-23-7.area5.spcsdns.net) (Read error: 110 (Connection timed out))
- # [01:23] <Hixie> jwalden: odd. are you logged in?
- # [01:24] <jwalden> Hixie: yes
- # [01:24] <Hixie> odd
- # [01:24] <Hixie> i've filed the bug
- # [01:24] <jwalden> cool
- # [01:25] <jwalden> does Google have any external bug-reporting system, other than employee connections?
- # [01:25] <jwalden> ;-)
- # [01:25] * jwalden suspects not
- # [01:26] * Quits: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Read error: 110 (Connection timed out))
- # [01:27] <Hixie> jwalden: yeah, there's a feedback form somewhere
- # [01:28] <Philip`> It's irritating when you don't get any feedback from your feedback
- # [01:28] <jwalden> not quite the same, for ^ reason
- # [01:29] <Hixie> yeah
- # [01:29] <Hixie> i know
- # [01:29] <Philip`> It's nice reporting Mozilla bugs because you can see that someone has actually looked at what you wrote
- # [01:29] <Hixie> we have public bug reporting systems for all our open source projects
- # [01:30] <Hixie> but can you imagine the spam we'd get if we made the main google search engine have a public bug reporting system...
- # [01:30] <Hixie> not that i think that's a reason to not have one
- # [01:31] <Philip`> (Being public isn't always sufficient - I tried reporting some IE8 bugs (including one crash) via the only apparent route (posting on the newsgroup), and as far as I can tell my posts got ignored entirely and not entered into any bug tracking system)
- # [01:31] <jwalden> it's certainly understandable, just not pleasing
- # [01:31] <Philip`> (Complaining on IRC with developers present is a far more effective solution)
- # [01:31] <Hixie> ie has some public bug system
- # [01:31] <Hixie> i could never get it to work right though
- # [01:32] <Philip`> It's read-only to general members of the public, from what I read and from what I tried
- # [01:32] <Philip`> or maybe you can still write comments and vote on issues, but can't file new bug reports
- # [01:33] <Hixie> how do i spec showModalDialog() without making the web worse
- # [01:34] <Philip`> Define it to be modal only with respect to the page content, and not with respect to other tabs or browser chrome?
- # [01:35] <Philip`> (so it's not much worse than overlaying a giant invisible div over your page to stop people interacting with it)
- # [01:35] <Philip`> I suppose it's too late to use the lessons from XHR and make showModalDialog asynchronous
- # [01:39] * Quits: jruderman_ (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [01:39] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [01:41] <tomg> asynchronous how?
- # [01:41] <Philip`> I have no idea
- # [01:42] <tomg> how isn't it asynchronous?
- # [01:45] <Philip`> It's not asynchronous because the function call doesn't return until much later
- # [01:46] * Quits: mcarter (n=mcarter@pool-72-87-174-18.plspca.dsl-w.verizon.net) (Read error: 104 (Connection reset by peer))
- # [01:46] * Joins: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
- # [01:46] <tomg> showModelessDialog then
- # [01:47] <jwalden> == open?
- # [01:48] <Philip`> I suppose it could block all user interaction, but return immediately and still run scripts in the background window
- # [01:48] <tomg> no
- # [01:48] <tomg> showModelessDialog opens an always-on-top dialog where you can still interact with the original opening page
- # [01:48] <Philip`> (though showModalDialog couldn't do that without totally breaking anyone who currently uses it)
- # [01:50] * Quits: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Client Quit)
- # [01:50] <Philip`> Hmm, the very first page I found that uses showModalDialog is complaining that the 'arguments' array doesn't accept strings longer than 4K, so it's splitting its input string into a load of 4K chunks to pass them into the dialog
- # [01:50] <Philip`> (http://www.icrc.net/ )
- # [01:51] <Philip`> s/'arguments' array/'arguments' argument/
- # [01:52] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [01:52] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [01:52] <tomg> showModalDialog is fundamentally very poorly designed
- # [01:53] <tomg> awful IE4 hack on
- # [01:53] <tomg> with truly bizarre syntax
- # [01:54] <Philip`> I hope the documentation is wrong when it says the last two arguments are each independently optional
- # [01:55] <tomg> hmm
- # [01:55] <Philip`> ("vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])" - does that mean I can say showModalDialog(url, features)?)
- # [01:55] <Philip`> (I can't see how that would work without mind-reading)
- # [01:55] * Quits: eseidel__ (n=eseidel@72.14.224.1) (Read error: 104 (Connection reset by peer))
- # [01:56] <jwalden> I think it means the last argument, if multiple args are present, is the features
- # [01:56] <jwalden> still, miscommunicated
- # [01:56] <Hixie> Philip`: don't question msdn
- # [01:57] <Hixie> Philip`: once you start down that road, you'll have decades of work ahead of you
- # [01:57] <Philip`> http://www3.asmenet.it/opencms/opencms/asmenet/caloveto/ - window.showModalDialog(TitleModal,sURL,sparam); - looks like they forgot to check what arguments the function actually takes
- # [01:58] <tomg> msdn is a bit like the bible
- # [01:59] <Philip`> We need an MSDN5
- # [01:59] <Hixie> Philip`: later on that msdn page:
- # [01:59] <Hixie> "You can set the default font settings the same way you set Cascading Style Sheets (CSS) attributes (for example, "font:3;font-size:4"). To define multiple font values, use multiple font attributes.
- # [01:59] <Hixie> "
- # [02:01] <takkaria> Humphrey Lyttelton has died. :(
- # [02:01] <tomg> yes :(
- # [02:01] <tomg> MSDN is wrong by the way, you can't set features without an argument
- # [02:06] <Philip`> MSDN is wrong?!
- # [02:07] <tomg> I know
- # [02:07] <tomg> first time for everything
- # [02:07] <tomg> quick, billg@microsoft.com
- # [02:10] <takkaria> append "sorry to hear your profits dropped 11% this quarter"
- # [02:12] <Philip`> Hixie: Hmm, font-size (and font) do seem to work, but I can't find any other CSS properties that do anything
- # [02:12] <Philip`> "font-size:4" is a bit silly since it uses 4pt font
- # [02:12] <Philip`> s//a /
- # [02:21] <Philip`> I like how Syck gives me excellent error messages when parsing probably-broken YAML
- # [02:22] <Philip`> like "Segmentation fault", and, uh, that's about its whole range
- # [02:23] <Dashiva> Such an informative error at that
- # [02:25] <Philip`> Aha, PyYAML is much better (but much much slower) and points me at line 4495 and tells me exactly what I've done wrong
- # [02:37] * Joins: roc (n=roc@121-72-179-147.dsl.telstraclear.net)
- # [02:48] * Joins: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca)
- # [02:48] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) ("Lost terminal")
- # [02:49] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [02:49] * Joins: othermaciej_ (n=mjs@17.203.15.181)
- # [02:55] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [03:06] * Joins: mcarter (n=mcarter@pool-72-87-174-244.plspca.dsl-w.verizon.net)
- # [03:06] * Quits: othermaciej (n=mjs@17.255.111.204) (Read error: 110 (Connection timed out))
- # [03:13] * Quits: roc (n=roc@121-72-179-147.dsl.telstraclear.net)
- # [03:13] <Hixie> showModalDialog can be used for cross-domain communication!
- # [03:13] <Hixie> crazy
- # [03:21] <othermaciej_> it can?
- # [03:21] * othermaciej_ is now known as othermaciej
- # [03:21] <othermaciej> oh
- # [03:21] <othermaciej> because you can show something from another domain as a modal dialog and it can return a value
- # [03:21] <othermaciej> wacky
- # [03:26] * Joins: heycam (n=cam@clm-laptop.infotech.monash.edu.au)
- # [03:27] <Hixie> othermaciej: and you can pass a value
- # [03:27] <Hixie> i'm amazed nobody has used this before
- # [03:27] <Hixie> i mean you get some flicker, sure
- # [03:27] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
- # [03:27] <Hixie> but that never stopped people before
- # [03:27] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [03:36] <Hixie> holy batman
- # [03:36] <Hixie> you can send strings to other domains in firefox using returnValue without creating a window
- # [03:37] <Hixie> oh but you have to have created the window using showModalDialog()
- # [03:41] <Hixie> you can't navigate the browsing context in ie
- # [03:46] * Quits: tndH (i=Rob@adsl-87-102-32-128.karoo.KCOM.COM) ("ChatZilla 0.9.81-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [03:46] <mcarter> othermaciej, Hixie, another concern about the connect() function vs. constructor connecting arugment: if a TCPConnection constructor causes a network access, then prototype-based subclassing becomes impossible. Maybe thats intended?
- # [03:47] <Hixie> and fragment identifiers don't work at all
- # [03:47] <Hixie> mcarter: why does it become impossible, and why is that a problem?
- # [03:47] <othermaciej> mcarter: prototype-based subclassing of builtin DOM classes does not seem super important
- # [03:48] <Hixie> how would you override the XMLHttpRequest constructor or the Image constructor?
- # [03:49] <othermaciej> you could make an object that has an XMLHttpRequest instance or an HTMLImageElement instance as its prototype
- # [03:49] <othermaciej> although I do not know why you would want to
- # [03:49] <mcarter> well, you generally would do SubClassTCPConnection.prototype = new TCPConnection()
- # [03:49] <mcarter> its just a thought, It probably has no bad implications -- I just don't know much about how often native types are subclassed
- # [03:50] <Hixie> how does that work with any constructor that does any work at all?
- # [03:50] <Hixie> e.g. Image(width)
- # [03:51] <othermaciej> it is certainly not very useful
- # [03:51] <Hixie> k, i won't worry about it :-)
- # [03:51] <othermaciej> SubClassImage.prototype = new Image() would still leave you with only one read HTMLImageElement
- # [03:51] <Hixie> showModalDialog is insanity in a bottle
- # [03:51] <othermaciej> and it wouldn't be insertable into the DOM or anything
- # [03:51] <othermaciej> Hixie: it's high on my list of most-loathed feature that we had to actually implement
- # [03:52] <Hixie> the browsers all do it differently -- go figure, no spec, no interop
- # [03:53] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#showmodaldialog
- # [03:53] <Hixie> is what i have so far
- # [03:53] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [03:54] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
- # [03:57] <heycam> Hixie, s/the the/the/ a couple of times in that section 4.4
- # [03:57] <heycam> actually, just search for "the the" in the document there are a few more instances
- # [03:57] <heycam> (though a couple aren't typos)
- # [03:57] <Hixie> thanks, will fix
- # [03:59] <Hixie> heycam: so returnValue brings up an interesting problem
- # [03:59] <Hixie> i need a DOM attribute that is not there unless a particular condition is in effect
- # [03:59] <Hixie> window.returnValue is nothing at all unless the browsing context was created by showModalDialog
- # [04:00] <heycam> so ('returnValue' in window) has to be false?
- # [04:02] <Hixie> typ
- # [04:02] <Hixie> yup even
- # [04:02] * Quits: andersca (n=andersca@nat/apple/x-94a1acce4eb52cbb) (Read error: 110 (Connection timed out))
- # [04:02] <Hixie> and true if the Window was created by showModalDialog
- # [04:02] <Hixie> actually no
- # [04:02] <Hixie> true if the Window is for a browsing context that was created by showModalDialog
- # [04:04] <Hixie> i guess i can just say it's an interface implemented by those windows
- # [04:04] <Hixie> that's what mozilla does
- # [04:04] <heycam> hmm
- # [04:05] <heycam> i guess that solves it
- # [04:06] * Quits: Camaban (n=alee@85-211-19-59.dyn.gotadsl.co.uk) ("Ex-Chat")
- # [04:08] <Hixie> IE doesn't send these dialogArguments cross-origin at all
- # [04:09] <Hixie> hmm
- # [04:09] <Hixie> dinner first
- # [04:09] <Hixie> bbl
- # [04:10] * Quits: othermaciej (n=mjs@17.203.15.181) (Read error: 110 (Connection timed out))
- # [04:22] * Quits: jwalden (n=waldo@STRATTON-THREE-THIRTY.MIT.EDU) (Remote closed the connection)
- # [04:27] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [05:14] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [06:09] * Quits: weinig (n=weinig@17.203.15.172)
- # [06:19] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
- # [06:48] <inimino> mcarter: is there a mailing list for the TCPConnection stuff you're implementing?
- # [07:05] * Joins: MikeSmith (n=MikeSmit@EM117-55-12-62.pool.e-mobile.ne.jp)
- # [07:58] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
- # [08:01] * Quits: MikeSmith (n=MikeSmit@EM117-55-12-62.pool.e-mobile.ne.jp) (Read error: 110 (Connection timed out))
- # [08:02] * Quits: heycam (n=cam@clm-laptop.infotech.monash.edu.au) ("bye")
- # [08:05] <mcarter> inimino, the best mailing list to use is http://groups.google.com/group/orbited-users
- # [08:06] <mcarter> inimino, its all a part of an upcoming release
- # [08:07] <inimino> mcarter: thanks, subscribed
- # [08:08] <mcarter> inimino, keep in mind, thats also a end-user-facing list
- # [08:08] <inimino> inimino: right
- # [08:10] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
- # [08:10] <inimino> btw I tried implementing something like what othermaciej was talking about earlier in Apache and it looked like it would involve writing a new MPM at the time
- # [08:10] <othermaciej> what is MPM?
- # [08:11] <inimino> the Apache modules that handle actual the actual sockets, processes, threads
- # [08:12] <inimino> "multi-processing module" is the expansion
- # [08:13] <inimino> you don't have enough control in a plain vanilla module to hold the socket open and do Comet-type stuff
- # [08:15] <inimino> at least not efficiently
- # [08:16] <othermaciej> are MPMs harder to write?
- # [08:17] <inimino> othermaciej: yes, and Apache can only use one MPM at a time
- # [08:19] <inimino> othermaciej: the main ones are the worker MPM, event MPM, prefork MPM
- # [08:19] <inimino> each one has it's own strategy for handling sockets, spawning worker threads, etc
- # [08:21] <inimino> I was hoping the newer Event MPM would let me do what I wanted with Comet in an efficient way, but Apache really isn't written to support long-term connections
- # [08:23] <mcarter> inimino, some of the work we're doing with orbited is all about integrating synchronous webservers with comet
- # [08:24] <othermaciej> inimino: so none of the MPMs gives regular type modules a raw connected socket to play with?
- # [08:24] <mcarter> inimino, for instance, we have it setup so you can do full duplex to your webapp. when you do browser->server, it results in an HTTP callback hitting your web server (the orbited server makes the http call), and when you do server->browser you use a custom client to dispatch back to the browser via orbited
- # [08:24] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
- # [08:26] <inimino> othermaciej: I'm trying to recall the exact problems I ran into, I ended up not using Apache so the details are a little fuzzy
- # [08:27] <inimino> mcarter: so orbited is acting like a reverse proxy in front of e.g. Apache?
- # [08:28] <mcarter> inimino, sort of. you still make static requests directly to apache
- # [08:28] <mcarter> inimino, you can use orbited for purely downstream if you want. in which case you make xhr requests directly to apache
- # [08:29] <inimino> mcarter: so orbited runs on a different port?
- # [08:29] <inimino> I guess I should install it and read the docs ;-)
- # [08:30] <mcarter> inimino, heh, it does run on a different port
- # [08:30] <inimino> ok
- # [08:30] <mcarter> inimino, right now the 0.3 release that we have is very experimental. we're waiting on the next release to be much more stable, as well as support the TCPConnection api
- # [08:50] * Joins: pscoe2 (n=pscoe2@59.178.34.183)
- # [08:50] * Quits: pscoe2 (n=pscoe2@59.178.34.183) (Client Quit)
- # [08:52] * Joins: tndH_ (i=Rob@adsl-87-102-32-128.karoo.KCOM.COM)
- # [08:52] * tndH_ is now known as tndH
- # [08:52] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [09:01] * Quits: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca) ("http://www.csarven.ca/")
- # [09:16] * Joins: heycam (n=cam@203-217-88-240.dyn.iinet.net.au)
- # [09:43] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
- # [10:59] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net) (Read error: 110 (Connection timed out))
- # [11:11] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
- # [11:31] * Joins: ROBOd (n=robod@89.122.216.38)
- # [11:49] * Joins: mcarter_ (n=mcarter@pool-72-87-174-216.plspca.dsl-w.verizon.net)
- # [11:55] * Joins: mcarter__ (n=mcarter@pool-72-87-174-228.plspca.dsl-w.verizon.net)
- # [11:55] * Quits: mcarter (n=mcarter@pool-72-87-174-244.plspca.dsl-w.verizon.net) (Nick collision from services.)
- # [11:55] * mcarter__ is now known as mcarter
- # [11:56] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [12:00] <hsivonen> Philip`: are there non-linked pages under http://canvex.lazyilluminati.com/misc/stats/ ?
- # [12:00] <hsivonen> I'm trying to navigate to your charset analysis and I don't find it
- # [12:01] * annevk thought modal dialogs were evil and would not be supported by HTML5
- # [12:02] <hsivonen> at it was http://philip.html5.org/data/charsets.html
- # [12:06] * Joins: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl)
- # [12:09] * Quits: mcarter_ (n=mcarter@pool-72-87-174-216.plspca.dsl-w.verizon.net) (Read error: 110 (Connection timed out))
- # [12:13] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
- # [12:15] * Quits: heycam (n=cam@203-217-88-240.dyn.iinet.net.au) ("bye")
- # [12:16] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net) (Read error: 110 (Connection timed out))
- # [12:16] * Joins: jgraham_ (n=jgraham@81-86-213-101.dsl.pipex.com)
- # [12:17] * Quits: jgraham (n=jgraham@81-86-219-23.dsl.pipex.com) (Read error: 110 (Connection timed out))
- # [12:26] <hsivonen> http://www.w3.org/mid/481226BB.1000108@aptest.com
- # [12:39] <annevk> seems people still don't understand that attributes are not in a namespace
- # [12:39] <Lachy> I don't get why he thinks chameleon namespaces are a good idea
- # [12:41] * Quits: mcarter (n=mcarter@pool-72-87-174-228.plspca.dsl-w.verizon.net) (Read error: 110 (Connection timed out))
- # [12:47] * Joins: mcarter (n=mcarter@pool-72-87-174-12.plspca.dsl-w.verizon.net)
- # [12:53] <hsivonen> I replied
- # [12:53] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [13:00] <annevk> you know, it would be fun if we had journalists for our little markup wars
- # [13:00] <annevk> for day-to-day reports, that is
- # [13:01] <hsivonen> annevk: having one issue or another up on Slashdot from time to time would be a more regular thing if we had embedded journalists
- # [13:02] <annevk> that doesn't seem bad per se
- # [13:13] <annevk> hmm, the Forms WG is still busy to retrofit XForms to fit HTML syntax
- # [13:13] <annevk> http://lists.w3.org/Archives/Public/public-forms/2008Apr/0108.html
- # [13:14] <hsivonen> annevk: what's there to gain from such retrofitting compared to WF2?
- # [13:14] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [13:15] <annevk> I think the idea is that: 1) Everything will map to XForms and can be implemented by an XForms processor. 2) XForms will become easier to learn.
- # [13:16] <hsivonen> annevk: so what do authors or implementors gain if there's an 'XForms processor' compared to a WF2 processor?
- # [13:16] <hsivonen> or scripting and XHR
- # [13:17] <annevk> So the perceived gain is that XForms will still be around I suppose.
- # [13:17] <annevk> I think the sunk cost fallacy might apply here as well.
- # [13:17] <hsivonen> oh yes indeed
- # [13:19] * Joins: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk)
- # [13:24] <hsivonen> Philip`, takkaria: I just checking in a refactoring on the parsing algorithm that needs no lookahead and breaks entity consumption and all into main loop states
- # [13:25] * hsivonen proceeds to refactor the code some more
- # [13:26] <hsivonen> actually, parseErrorUnlessPermittedSlash is still a method
- # [13:26] <hsivonen> I'll remove it in due course as I implement the MathML stuff
- # [13:31] <Philip`> hsivonen: http://philip.html5.org/data.html links to most of my stuff
- # [13:31] <hsivonen> Philip`: thanks
- # [13:32] <Philip`> (except "most" means there's still a load that I haven't bothered linking to)
- # [13:32] <Philip`> (which I should get around to at some point)
- # [13:33] <hsivonen> it's fun how goto is considered harmful, but switch/continue programming is essentially goto and it's really useful for tokenization
- # [13:33] <annevk> Philip`, could you remove a { color: inherit; text-decoration: inherit; } and a:hover { text-decoration: underline; } from that page?
- # [13:33] <hsivonen> though switch/continue only produces natural loops, so I guess it's better for compilers than unrestricted goto
- # [13:34] <Philip`> annevk: I was trying to avoid having the entire page be underlined, since pretty much all the text is links and that'd look ugly
- # [13:34] <hsivonen> Philip`: the text now lacks the clickability affordance
- # [13:35] <Philip`> I think I agree the current solution is more ugly than the alternative :-)
- # [13:36] <Philip`> Fixed
- # [13:37] <hsivonen> Philip`: thanks
- # [13:37] * hsivonen sees the spec is moving from en-GB-x-hixie to en-US-x-hixie
- # [13:40] <Philip`> hsivonen: switch/continue is much more constrained than goto, so it's not subject to lots of the possible abuses of goto
- # [13:40] <Philip`> e.g. you can only jump out of switch blocks, you can't jump into them
- # [13:43] <Philip`> I think I read somewhere that ANTLR was changing from generating Java code to generating JVM bytecode, mostly so it could use 'goto' and generate more efficient parsers
- # [13:43] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
- # [13:44] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
- # [13:48] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net) (Client Quit)
- # [13:49] <hsivonen> Philip`: I have two main patterns: state = State.FOO; continue consume; and state = State.FOO; continue reconsume;
- # [13:49] <hsivonen> Philip`: the former means: goto read character, then goto FOO.
- # [13:49] <hsivonen> Philip`: the latter means goto FOO
- # [13:50] <hsivonen> I suppose bytecode rewriting the latter case to pure goto wouldn't be a big win
- # [13:50] <hsivonen> I don't know if the former could be rewritten to gotos. that is, I don't know if the Java byte code allows holding a jump position in a variable
- # [13:51] <hsivonen> for doing goto FOO after first doing goto read
- # [13:51] <hsivonen> anyway
- # [13:52] <Lachy> I just noticed htmlfive.net now appropriately says this at the top: "Please bear with me as this site is constructed. As of now, most of the content from this site comes from the official WHATWG blog. Please note that this site does not contain original content, and is a central location for all known news concerning HTML5. All articles and pages on this blog, unless explicitly stated otherwise, are licensed under the MIT license. "
- # [13:52] <Lachy> I wonder if that was there before and we just didn't notice it
- # [13:55] <hsivonen> Philip`: it seems to me that Java byte code-level inline rewriters are out of fashion even though generating JVM byte code from non-Java languages is on the rise
- # [13:58] <hsivonen> Philip`: do you know if Antlr will do something that a generic byte code rewriter are a smarter javac couldn't do with switch/continue pattern recognition?
- # [13:59] <hsivonen> one would think that setting the switch condition variable and saying continue immediately would be a pattern that a compiler *could* be written to pick up
- # [14:00] <hsivonen> s/rewriter are/rewriter or/
- # [14:00] <hsivonen> it's scary that I now make typos that look like speech-to-text errors
- # [14:02] <Philip`> Hmm, might be http://www.antlr2.org/blog/antlr3/codegen.tml under "October 19, 2004" that I was thinking of
- # [14:04] <hsivonen> I sure hope a massive switch is no longer "slow as death" compared to "slow" method calls
- # [14:04] <hsivonen> on HotSpot
- # [14:05] <Philip`> It would be nice if "hope" could be replaced by something more reliable, like benchmarks :-)
- # [14:05] <hsivonen> Philip`: oh I do intend to run a benchmark in due course
- # [14:05] <hsivonen> Philip`: but it will suck if the result is that the new code is slower than the old code
- # [14:12] <hsivonen> hmm. I wonder how I can run a valid Java6 or Java7 benchmark on x86_64 server VM when the my Linux system is virtualized
- # [14:13] * Philip` likes being able to do large changes to a thousand of lines of tokeniser code (e.g. to add inner loops for runs of characters inside each state) just by adding a dozen lines of OCaml to his tokeniser-generator :-)
- # [14:15] * Joins: heycam (n=cam@203-217-88-240.dyn.iinet.net.au)
- # [14:17] <hsivonen> it'll be fun to update all the tokenizer tests to include a selfClosing flag...
- # [14:20] <hsivonen> Philip`: profiling suggested that having multiple call sites to read() might be a problem, so I'm going to inline read and make it appear in the code only once
- # [14:20] <hsivonen> since it's easy to do when the tokenizer states are in a switch
- # [14:21] <hsivonen> read() itself is huge, so apparently inlining it on multiple call sites wouldn't be smart
- # [14:26] <hsivonen> does anyone know if running Linux under Parallels is a valid benchmark setup if the OS X side is mostly idle?
- # [14:27] <hsivonen> hmm. I wonder if Parallels only does 32-bit guest OSs...
- # [14:29] <Philip`> It ought to be reliable for purely user-space code
- # [14:31] * Joins: gsnedders_ (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
- # [14:31] <Philip`> (though it's kind of hard to write purely user-space code, if you do things like access enough pages of memory)
- # [14:32] * Quits: gsnedders_ (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com) (Remote closed the connection)
- # [14:32] * Joins: gsnedders_ (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
- # [14:32] <hsivonen> so far I've found that crossing to file system in FileInputStream is a big deal, so anything benchmarking purely tokenizer CPU should read from a byte[]
- # [14:33] * Quits: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com) (Nick collision from services.)
- # [14:33] <hsivonen> I gained quite a bit of perf by reducing the number of times the IO goes out of the JVM
- # [14:33] * gsnedders_ is now known as gsnedders
- # [14:37] <Philip`> It's always a pain when you want to do clever algorithm optimisations, but the bottleneck is just in getting data into the program
- # [14:39] <hsivonen> when I benchmarked the Validator.nu HTML parser vs. Xerces, I found that first I had to do better in terms of IO buffering
- # [14:39] <hsivonen> only then the rest starts to matter
- # [14:39] * Philip` once made a program of his run about ten times faster just by switching from 'wxFile' to 'wxFFile' (which is functionally very similar but seems to have a much more appropriate implementation)
- # [14:39] <hsivonen> even if parsing is IO-bound anyway, the CPU time above IO can still be made better
- # [14:40] <hsivonen> eliminating Schematron will dramatically alter the compute/IO interleaving in Validator.nu
- # [14:42] <Philip`> Do shared hosting services put a limit on how much IO you can use, like they do with CPU?
- # [14:42] <hsivonen> I have no idea
- # [14:42] <hsivonen> in fact, I have almost no idea of the characteristics of the Validator.nu host Xen VM except for the RAM size
- # [14:43] <hsivonen> I don't know what CPU or IO throttles there may be
- # [14:43] <hsivonen> so far it has worked well enough
- # [14:45] <hsivonen> interestingly, RAM seems to be what's expensive in Xen hosting
- # [14:46] <hsivonen> if you want a lot of RAM on Xen, Amazon EC2 starts looking a lot cheaper relative to other offerings
- # [14:48] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) (Read error: 110 (Connection timed out))
- # [14:51] * gsnedders is starting to find Python to be more and more limiting for the spec-ge
- # [14:51] <gsnedders> *gen
- # [14:55] <Philip`> Limiting in functionality, or in performance?
- # [14:56] <gsnedders> Philip`: performance.
- # [14:56] * Quits: heycam (n=cam@203-217-88-240.dyn.iinet.net.au) ("bye")
- # [14:57] <Philip`> gsnedders: By how many orders of magnitude?
- # [14:57] <Philip`> It seems worthwhile to have something that actually works, even it'll need lots of optimisation later
- # [14:57] <Philip`> s//if /
- # [14:57] <gsnedders> Philip`: well, things like html5lib are are far slower than something like WebKit's HTML parser
- # [14:58] <gsnedders> and there's the fact that I did to do looping over every Node in the document, multiple times
- # [14:58] <gsnedders> And large amounts of execution are slow in any interpreted language, really
- # [14:58] <hsivonen> gsnedders: try Jython and the Validator.nu HTML parser :-)
- # [14:58] <Philip`> gsnedders: html5lib can be fixed by doing a chtml5lib, which is somebody else's problem
- # [14:59] <gsnedders> neither of those solve the looping problem :)
- # [15:00] <Philip`> You could modify your code to do less looping :-)
- # [15:01] <gsnedders> Philip`: How do I build a TOC without looping over the document? :)
- # [15:01] <gsnedders> hmm…
- # [15:01] <Philip`> You don't need to loop over every node, only over every heading
- # [15:02] <gsnedders> Philip`: How do I find the headings?
- # [15:02] <Philip`> Use a fancy treebuilder that lets you do fast XPath to find elements :-)
- # [15:02] <gsnedders> XPath is hard to do quickly :)
- # [15:02] <Philip`> Or do the TOC-looping at the same time as all the other looping, to avoid the "multiple times" problem
- # [15:02] <hsivonen> the great thing is that an XPath impl. does no looping :-)
- # [15:02] <Philip`> gsnedders: It's easier when it's implemented in a C library
- # [15:03] <gsnedders> Philip`: That's what I've been doing. Multiple times remains two loops, though :)
- # [15:04] <gsnedders> hsivonen: how do you impl. XPath without looping?
- # [15:04] <hsivonen> gsnedders: note the ':-)'
- # [15:04] <gsnedders> Ah. You mean it in that way :)
- # [15:05] <Philip`> gsnedders: How slow is the script, anyway?
- # [15:06] <gsnedders> Philip`: I can't exactly quantify it, but I can say it is far too slow on a large document like HTML 5 :)
- # [15:06] <Philip`> The multipage spec splitter already iterates through the entire minidom tree once (to fix up href=#... links), and that's not insanely slow
- # [15:06] * Joins: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk)
- # [15:07] <Philip`> gsnedders: "time python specgen.py source"? :-p
- # [15:07] <gsnedders> Philip`: It's not really much quicker than the pre-existing W3C spec-gen, which parses the document about 10 times (in C)
- # [15:07] <gsnedders> Philip`: It's too incomplete for it to be overly meaningful :P
- # [15:07] <gsnedders> Philip`: And I just started rewriting a bit of it and it currently doesn't really work much at all :P
- # [15:08] <Philip`> gsnedders: Surely you have it in some version control system so you can still get a version that doesn't not work? :-)
- # [15:08] <gsnedders> Philip`: Yeah, but I'm lazy :)
- # [15:10] <gsnedders> Philip`: And it's an excuse to actually write some C++ myself :P
- # [15:10] <Philip`> I suppose I mostly just think that trying to write it in C++ would be insane and complex; Java/Jython would be a much better way to avoid the interpret overhead
- # [15:11] <Philip`> *interpreter
- # [15:11] <gsnedders> I don't think it would.
- # [15:11] <gsnedders> The complex parts can be solved by using WebKit for HTML and DOM.
- # [15:12] <Philip`> That's not solving complexity, it's just swapping complexity for other complexity
- # [15:12] <hsivonen> If you run the java process as a long-running service process that you send stuff to through a socket, you'll have the code compiled down to native code with JVM start penalty
- # [15:12] <gsnedders> It's somebody else's problem. That'll do :)
- # [15:13] <Philip`> gsnedders: The complexity is in integrating their code with yours, which is your problem
- # [15:13] <Philip`> (Or do they just have a public API for "parse this string of bytes into a Document object"?)
- # [15:14] <gsnedders> Philip`: I haven't looked at it that closely, but what I've seen of WebKit makes me expect it to be simple enough
- # [15:17] * Philip` is not yet convinced :-p
- # [15:25] * Quits: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
- # [15:28] * Joins: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
- # [15:31] * Joins: maikmerten (n=maikmert@T6ea6.t.pppool.de)
- # [15:56] <hsivonen> hmm. it seems to me that keeping the ability to switch decoders on the fly is more trouble than it's worth
- # [15:57] <hsivonen> because efficient buffered character decoding will have most often read ahead anyway so that the decoder has already hit non-ASCII after meta
- # [16:14] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
- # [16:19] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [16:20] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [16:37] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [17:22] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [17:26] * Joins: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca)
- # [17:33] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [17:33] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [17:35] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [17:35] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
- # [17:42] <Philip`> Ooh, Konqueror does canvas shadows
- # [17:42] <Philip`> so there's two mostly-interoperable implementations now
- # [17:53] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [17:57] <Philip`> http://www.freepatentsonline.com/y2006/0005114.html
- # [18:01] <takkaria> what a horrible patent
- # [18:03] * Philip` guesses this is what http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-March/010129.html referred to
- # [18:05] * Quits: jacobolus (n=jacobolu@140.247.156.168)
- # [18:13] * Joins: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net)
- # [18:20] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [18:20] * Joins: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
- # [18:20] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu) (Client Quit)
- # [18:23] <Philip`> Hixie: "The tabIndex DOM attribute must reflect the value of the tabIndex content attribute." - the second tabIndex should be lowercase
- # [18:29] * Joins: ROBOd (n=robod@89.122.216.38)
- # [18:31] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [19:25] * Quits: maikmerten (n=maikmert@T6ea6.t.pppool.de) (Read error: 110 (Connection timed out))
- # [19:26] * Joins: maikmerten (n=maikmert@L9264.l.pppool.de)
- # [19:49] * Parts: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
- # [19:58] * Quits: mcarter (n=mcarter@pool-72-87-174-12.plspca.dsl-w.verizon.net) (Read error: 113 (No route to host))
- # [20:09] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
- # [20:16] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [20:17] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [20:24] * Joins: tndH_ (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM)
- # [20:40] * Joins: jwalden (n=waldo@STRATTON-THREE-THIRTY.MIT.EDU)
- # [20:45] * Quits: tndH (i=Rob@adsl-87-102-32-128.karoo.KCOM.COM) (Read error: 110 (Connection timed out))
- # [20:57] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [21:07] * Quits: aroben (n=adamrobe@unaffiliated/aroben) (Remote closed the connection)
- # [21:08] * Joins: aroben (n=adamrobe@76.111.160.14)
- # [21:10] <annevk> Philip`, I think you already raised the shadows thing (making it mandatory)
- # [21:11] <annevk> Philip`, also, CSS3 UI has nav-index to specify "tab" order through CSS
- # [21:16] <Philip`> annevk: I only remember (/could find emails referring to) making gradients mandatory
- # [21:17] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
- # [21:18] <annevk> ah, maybe I misremembered
- # [21:23] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) ("Ex-Chat")
- # [21:31] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [21:37] * Quits: maikmerten (n=maikmert@L9264.l.pppool.de) ("Leaving")
- # [21:51] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [21:52] * Quits: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net) ("The computer fell asleep")
- # [22:01] * Joins: jgraham__ (n=jgraham@81-86-219-195.dsl.pipex.com)
- # [22:03] * Quits: jgraham_ (n=jgraham@81-86-213-101.dsl.pipex.com) (Read error: 110 (Connection timed out))
- # [22:05] <Philip`> http://philip.html5.org/tests/canvas/misc/cross-domain-pattern.html - Opera (9.5) loses
- # [22:13] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [22:25] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
- # [22:27] * Joins: Camaban (n=alee@85-211-181-63.dyn.gotadsl.co.uk)
- # [22:28] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) (Read error: 110 (Connection timed out))
- # [23:07] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
- # [23:44] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Remote closed the connection)
- # [23:45] * Joins: sverrej (n=sverrej@89.10.27.86)
- # [23:49] * Joins: mcarter (n=mcarter@198.202.202.20)
- # [23:50] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
- # [23:50] * Joins: sverrej (n=sverrej@89.10.27.86)
- # Session Close: Sun Apr 27 00:00:00 2008
The end :)