/irc-logs / freenode / #whatwg / 2008-04-26 / end

Options:

  1. # Session Start: Sat Apr 26 00:00:00 2008
  2. # Session Ident: #whatwg
  3. # [00:02] * Joins: KevinMarks (n=KevinMar@nat/google/x-95b9397ae2f78c7a)
  4. # [00:02] <Hixie> Philip`: "12:00"
  5. # [00:02] <Lachy> Philip`, the question is flawed because you didn't give a start time
  6. # [00:02] <Hixie> (blinking)
  7. # [00:03] <Philip`> Lachy: It's flawed for far more reasons than that :-p
  8. # [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
  9. # [00:04] <Lachy> it also depends if I was taken out of suspended animation when I arrived
  10. # [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
  11. # [00:07] <Philip`> Uh
  12. # [00:07] <Philip`> s/oven/microwave/
  13. # [00:07] <Lachy> some clocks will be relative to the users time frame, others will be relative to earth's
  14. # [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.
  15. # [00:09] <Philip`> If the user is suspendedly animated for a year, should their clock stop for that time?
  16. # [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
  17. # [00:10] <Hixie> dude i have to reset my clock after just a few hours of air travel
  18. # [00:11] <Lachy> The person will remain physically the same age, though time will continue to pass around them
  19. # [00:11] <Lachy> so it depends if their clock is in the suspended animation chamber with them
  20. # [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)
  21. # [00:12] <Hixie> the only really "new" think will be that timezones will differ in relative rate of time as well as offsets
  22. # [00:12] <Hixie> no biggie
  23. # [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
  24. # [00:16] <Hixie> just use UTC
  25. # [00:16] <Hixie> timezones are purely a ui thing
  26. # [00:16] <Hixie> or should be purely a ui thing
  27. # [00:16] * Joins: sverrej_ (n=sverrej@89.10.27.86)
  28. # [00:16] <Philip`> Can I make cron use UTC?
  29. # [00:17] <Lachy> Many satellites already compensate for relativistic effects.
  30. # [00:17] * Joins: othermaciej_ (n=mjs@17.255.111.204)
  31. # [00:17] <Lachy> Philip`, why can't you juse sent the computer clocks to UTC?
  32. # [00:17] <Lachy> *just
  33. # [00:17] <roc> GPS compensates for relativistic effects
  34. # [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)
  35. # [00:19] <Hixie> when i go to bed really isn't in sync with anything
  36. # [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
  37. # [00:19] <Hixie> and even that is relatively new
  38. # [00:20] <Hixie> showModalDialog()
  39. # [00:20] <gsnedders> The only hour of day when I have never searched Google is 3–4am local time.
  40. # [00:20] <Hixie> any opinions?
  41. # [00:20] <gsnedders> That's a decent indication of when I'm awake.
  42. # [00:20] <Hixie> i'm awake 3am-4am most nights
  43. # [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)
  44. # [00:20] * gsnedders notes his sleeping pills are obviously having less affect on him now, as he took one an hour ago
  45. # [00:20] <Lachy> Hixie, I haven't read the spec for showModalDialog().
  46. # [00:20] <Philip`> s/any/anyone/
  47. # [00:20] <Lachy> I'm sure I have lots of opinions on it though
  48. # [00:21] <Hixie> there's a spec for it?
  49. # [00:21] <Lachy> s/spec/documentation/
  50. # [00:21] <Hixie> that's a kind word
  51. # [00:22] <Hixie> holy crap this is an annoying feature
  52. # [00:22] <Hixie> how has it not been abused for ads yet
  53. # [00:22] <Hixie> it blocks all the other tabs!
  54. # [00:22] <Lachy> fine then. s/documentation/breif summary of what it's supposed to do and how it's supposed to be used/
  55. # [00:22] <Philip`> gsnedders: Hmm, my lowest is 7am (2 searches) and 6am (3 searches), and highest is 10pm (1610 searches)
  56. # [00:23] <gsnedders> Philip`: Over what time period?
  57. # [00:23] <Philip`> gsnedders: All time
  58. # [00:24] <gsnedders> Actually, I tell a lie. Over all time I've made three searches at 3am.
  59. # [00:24] <gsnedders> That is the lowest, though.
  60. # [00:24] <Philip`> Don't ask me what "all time" means
  61. # [00:24] <gsnedders> 6pm is highest at 2007.
  62. # [00:24] <Hixie> my lowest is 5am and 6am, 41 searches each
  63. # [00:24] <gsnedders> Over the quantifiable "last year", I've made no searches 4–6am, about 993 searches at 6pm (the most)
  64. # [00:24] <Philip`> (although if you did ask me, I'd estimate it's about 1.5 years, given the numbers)
  65. # [00:24] <Hixie> and highest is 4pm, 1895 searches
  66. # [00:25] <gsnedders> Saturday has the most searches, and Friday the least
  67. # [00:25] <gsnedders> Feb the most, Jun the least.
  68. # [00:25] <gsnedders> (which is odd seeming it wasn't June when I was away over the summer)
  69. # [00:26] * Joins: hober (n=ted@unaffiliated/hober)
  70. # [00:26] <Philip`> It would be nice if Google Web History wasn't quite so buggy in Opera
  71. # [00:26] <Lachy> where are you all getting stats on how many searches you do?
  72. # [00:26] <gsnedders> Hixie: "live dom viewer" is the fourth most common search for me :)
  73. # [00:26] <gsnedders> Lachy: http://www.google.com/history/
  74. # [00:27] <Philip`> Lachy: There's an SQL injection vulnerability in google.com so you can just query their whole database directly
  75. # [00:27] <Hixie> Lachy: http://www.google.com/history/trends?hl=en
  76. # [00:27] * gsnedders prefers Philip`'s explanation, though
  77. # [00:28] <Lachy> I get no results because I'd never enabled that before now
  78. # [00:29] * gsnedders doesn't use bookmarks.
  79. # [00:29] * gsnedders uses Google.
  80. # [00:29] <Philip`> My bookmark folders are write-only
  81. # [00:30] <gsnedders> actually, I use Saf's bookmark bar
  82. # [00:30] <gsnedders> But that's it.
  83. # [00:30] <Hixie> my bookmarks are http://☺.damowmow.com/
  84. # [00:30] <gsnedders> Eight items there, and that's it.
  85. # [00:30] <Philip`> I'm pretty sure I've bookmarked lots of useful things, but I never bother looking at them again
  86. # [00:30] <Hixie> because i use too many browsers to maintain a set offline
  87. # [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
  88. # [00:31] <Lachy> history search is awesome
  89. # [00:31] <jwalden> html5 is third on my list since depending on browser history it's the easiest way to get the spec :-)
  90. # [00:31] <jwalden> rfc 2616 is fifth
  91. # [00:31] <gsnedders> Lachy: agreed. That and Google is all I need :P
  92. # [00:31] <gsnedders> Hixie: Hey! My blog isn't on your blogroll! :P
  93. # [00:32] * Quits: othermaciej_ (n=mjs@17.255.111.204) (Read error: 104 (Connection reset by peer))
  94. # [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
  95. # [00:32] <Philip`> (Is it intentional that blogroll sounds like bogroll?)
  96. # [00:32] * Joins: othermaciej_ (n=mjs@17.255.111.204)
  97. # [00:33] <Philip`> (I don't know if that's just a British term or something)
  98. # [00:33] <Hixie> jwalden: uri?
  99. # [00:33] <jwalden> sec
  100. # [00:33] <Lachy> for rfcs, I have have a special keyword set up so I just type "rfc ####" and it takes me to it
  101. # [00:33] * jwalden has to ssh into a machine with the sessionstore.js file
  102. # [00:33] * gsnedders just uses spotlight and has all the RFCs stored locally
  103. # [00:33] * Quits: othermaciej (n=mjs@17.203.15.181) (Read error: 110 (Connection timed out))
  104. # [00:35] <Lachy> hixie, do you have a key for ☺ on your keyboard?
  105. # [00:35] <Hixie> Lachy: no
  106. # [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
  107. # [00:36] <Hixie> it's my home page
  108. # [00:36] <Hixie> you can also get to it by going to damowmow.com/portal and clicking the link at the top
  109. # [00:36] <Lachy> I normally just type http://damowmow.com/portal/ instead
  110. # [00:37] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 110 (Connection timed out))
  111. # [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
  112. # [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>
  113. # [00:37] <Philip`> Lachy: Opera 9.5 makes "xn" autocomplete to the smiley-face page
  114. # [00:38] <Philip`> (after having only ever entered the ☺ form into the address bar)
  115. # [00:38] <Lachy> maybe I should try using Opera one day
  116. # [00:38] <Philip`> so you shouldn't need a smiley key in order to get it from your history
  117. # [00:39] <Lachy> Firefox does that too
  118. # [00:39] <Lachy> but it doesn't show the smiley
  119. # [00:40] <Philip`> Hmm, Opera autocompletes from xn but not from ☺
  120. # [00:40] <Hixie> jwalden: oh yeah, /url changed behaviour recently, and probably broke any bookmarks to it
  121. # [00:40] <jwalden> no smiley for com TLD, they don't do enough to prevent lookalike domain names
  122. # [00:40] <Philip`> Konqueror 4 autocompletes from both
  123. # [00:40] <Hixie> jwalden: that won't get fixed i don't think
  124. # [00:40] <jwalden> okay
  125. # [00:40] <Hixie> though i don't see why it's doing an infinite loop
  126. # [00:40] <jwalden> I got that from a search results page, let's see if I can still find it, tho
  127. # [00:41] <Hixie> i'll file a bug anyway
  128. # [00:41] <Hixie> when i get to work
  129. # [00:41] <Hixie> speaking of which
  130. # [00:41] <Hixie> i should go
  131. # [00:41] <Hixie> bbl
  132. # [00:42] <Lachy> jwalden, the smiley doesn't stay in the address bar for http://☺.lachy.id.au/ either
  133. # [00:42] * Joins: othermaciej (n=mjs@17.203.15.181)
  134. # [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
  135. # [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
  136. # [00:43] <jwalden> so something's still generating the old format, I guess
  137. # [00:44] <gavin_> Lachy: .au isn't on the whitelist either
  138. # [00:44] <Lachy> why?
  139. # [00:44] * Quits: roc (n=roc@121-72-179-147.dsl.telstraclear.net)
  140. # [00:44] <jwalden> yeah, what he said
  141. # [00:44] <jwalden> dunno why
  142. # [00:44] * Joins: othermaciej__ (n=mjs@17.255.111.204)
  143. # [00:44] <Lachy> the auDA has very strict rules about registering domains. I'm sure they wouldn't let lookalikes through too easily
  144. # [00:45] <gavin_> because no one has added it :)
  145. # [00:45] <gavin_> you can file a bug and point to the policy
  146. # [00:45] * Quits: othermaciej_ (n=mjs@17.255.111.204) (Read error: 104 (Connection reset by peer))
  147. # [00:45] <gavin_> see e.g. https://bugzilla.mozilla.org/show_bug.cgi?id=423974
  148. # [00:45] * Quits: KevinMarks (n=KevinMar@nat/google/x-95b9397ae2f78c7a) ("The computer fell asleep")
  149. # [00:46] <jwalden> http://www.mozilla.org/projects/security/tld-idn-policy-list.html
  150. # [00:46] <Philip`> Can't certain characters be whitelisted? ☺ isn't likely to be a look-alike for any serious domain
  151. # [00:46] <Lachy> Philip`, some users might confuse it with http://:-).lachy.id.au
  152. # [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/
  153. # [00:50] <jwalden> I tend not to worry about the whitelisting; that's a UI thing
  154. # [00:50] * Philip` wonders if you can use the smiley face plus combining characters to make a series of smiley faces with funny hats
  155. # [00:50] <jwalden> except when it comes to things like <https://bugzilla.mozilla.org/show_bug.cgi?id=414090> :-(
  156. # [00:52] * Joins: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
  157. # [00:57] * Quits: othermaciej (n=mjs@17.203.15.181) (Nick collision from services.)
  158. # [00:57] * othermaciej__ is now known as othermaciej
  159. # [00:57] * Joins: eseidel_ (n=eseidel@72-60-23-7.area5.spcsdns.net)
  160. # [00:59] * Quits: qwert666_ (n=qwert666@acdg62.neoplus.adsl.tpnet.pl) (Connection timed out)
  161. # [00:59] * Joins: eseidel__ (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
  162. # [01:02] * Quits: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
  163. # [01:02] * Quits: aroben (n=aroben@unaffiliated/aroben) (Read error: 104 (Connection reset by peer))
  164. # [01:02] <Lachy> the nearest I can find is a prohibition on misspellings of names. http://www.auda.org.au/policies/auda-2006-05/
  165. # [01:02] <Lachy> it doesn't explicitly mention IDNs, but it's general enough that it would cover any characters used
  166. # [01:09] * Quits: eseidel__ (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Read error: 104 (Connection reset by peer))
  167. # [01:09] * Joins: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
  168. # [01:10] * Joins: eseidel__ (n=eseidel@72.14.224.1)
  169. # [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...)
  170. # [01:12] <Lachy> can't you sort by read status?
  171. # [01:13] <Philip`> I can't see any way to sort by anything
  172. # [01:13] <Lachy> really?
  173. # [01:14] <Philip`> Yes
  174. # [01:14] <Philip`> I hope I'm not just missing something obvious...
  175. # [01:14] <Lachy> wow, one more reason not to use gmail
  176. # [01:14] <Lachy> I can't see a way to sort the list of spam in my gmail inbox either.
  177. # [01:14] <Philip`> I guess the idea is that you search instead of sorting
  178. # [01:15] <Lachy> yeah, but what keyword do you use for unread messages?
  179. # [01:15] <Lachy> I just use IMAP. Although Thunderbird has some annoyng limitiations that I hope they fix soon
  180. # [01:16] <Philip`> Hmm, the advanced search thing lets you search for unread messages with e.g. a certain From address
  181. # [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
  182. # [01:17] <Lachy> LOL
  183. # [01:17] <Lachy> I thought google would at least know how to make a usable search interface
  184. # [01:18] <Lachy> although, I must admit that gmail's search ability is superior to that of any mail client on the desktop
  185. # [01:18] <Philip`> Aha, I can use the search box with "label:blah is:unread", which is entirely unintuitive and seemingly undocumented
  186. # [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)
  187. # [01:19] <Lachy> aha, so you want a help system that pops up and gives you exactly what you want when you need it?
  188. # [01:19] <Lachy> ... like Clippy! :-)
  189. # [01:20] <Philip`> Not quite like that, since Clippy gives me exactly what I don't need when I don't want it
  190. # [01:20] * Quits: eseidel_ (n=eseidel@72-60-23-7.area5.spcsdns.net) (Read error: 110 (Connection timed out))
  191. # [01:23] <Hixie> jwalden: odd. are you logged in?
  192. # [01:24] <jwalden> Hixie: yes
  193. # [01:24] <Hixie> odd
  194. # [01:24] <Hixie> i've filed the bug
  195. # [01:24] <jwalden> cool
  196. # [01:25] <jwalden> does Google have any external bug-reporting system, other than employee connections?
  197. # [01:25] <jwalden> ;-)
  198. # [01:25] * jwalden suspects not
  199. # [01:26] * Quits: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Read error: 110 (Connection timed out))
  200. # [01:27] <Hixie> jwalden: yeah, there's a feedback form somewhere
  201. # [01:28] <Philip`> It's irritating when you don't get any feedback from your feedback
  202. # [01:28] <jwalden> not quite the same, for ^ reason
  203. # [01:29] <Hixie> yeah
  204. # [01:29] <Hixie> i know
  205. # [01:29] <Philip`> It's nice reporting Mozilla bugs because you can see that someone has actually looked at what you wrote
  206. # [01:29] <Hixie> we have public bug reporting systems for all our open source projects
  207. # [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...
  208. # [01:30] <Hixie> not that i think that's a reason to not have one
  209. # [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)
  210. # [01:31] <jwalden> it's certainly understandable, just not pleasing
  211. # [01:31] <Philip`> (Complaining on IRC with developers present is a far more effective solution)
  212. # [01:31] <Hixie> ie has some public bug system
  213. # [01:31] <Hixie> i could never get it to work right though
  214. # [01:32] <Philip`> It's read-only to general members of the public, from what I read and from what I tried
  215. # [01:32] <Philip`> or maybe you can still write comments and vote on issues, but can't file new bug reports
  216. # [01:33] <Hixie> how do i spec showModalDialog() without making the web worse
  217. # [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?
  218. # [01:35] <Philip`> (so it's not much worse than overlaying a giant invisible div over your page to stop people interacting with it)
  219. # [01:35] <Philip`> I suppose it's too late to use the lessons from XHR and make showModalDialog asynchronous
  220. # [01:39] * Quits: jruderman_ (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
  221. # [01:39] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
  222. # [01:41] <tomg> asynchronous how?
  223. # [01:41] <Philip`> I have no idea
  224. # [01:42] <tomg> how isn't it asynchronous?
  225. # [01:45] <Philip`> It's not asynchronous because the function call doesn't return until much later
  226. # [01:46] * Quits: mcarter (n=mcarter@pool-72-87-174-18.plspca.dsl-w.verizon.net) (Read error: 104 (Connection reset by peer))
  227. # [01:46] * Joins: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net)
  228. # [01:46] <tomg> showModelessDialog then
  229. # [01:47] <jwalden> == open?
  230. # [01:48] <Philip`> I suppose it could block all user interaction, but return immediately and still run scripts in the background window
  231. # [01:48] <tomg> no
  232. # [01:48] <tomg> showModelessDialog opens an always-on-top dialog where you can still interact with the original opening page
  233. # [01:48] <Philip`> (though showModalDialog couldn't do that without totally breaking anyone who currently uses it)
  234. # [01:50] * Quits: eseidel (n=eseidel@adsl-75-36-142-239.dsl.pltn13.sbcglobal.net) (Client Quit)
  235. # [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
  236. # [01:50] <Philip`> (http://www.icrc.net/ )
  237. # [01:51] <Philip`> s/'arguments' array/'arguments' argument/
  238. # [01:52] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  239. # [01:52] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  240. # [01:52] <tomg> showModalDialog is fundamentally very poorly designed
  241. # [01:53] <tomg> awful IE4 hack on
  242. # [01:53] <tomg> with truly bizarre syntax
  243. # [01:54] <Philip`> I hope the documentation is wrong when it says the last two arguments are each independently optional
  244. # [01:55] <tomg> hmm
  245. # [01:55] <Philip`> ("vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])" - does that mean I can say showModalDialog(url, features)?)
  246. # [01:55] <Philip`> (I can't see how that would work without mind-reading)
  247. # [01:55] * Quits: eseidel__ (n=eseidel@72.14.224.1) (Read error: 104 (Connection reset by peer))
  248. # [01:56] <jwalden> I think it means the last argument, if multiple args are present, is the features
  249. # [01:56] <jwalden> still, miscommunicated
  250. # [01:56] <Hixie> Philip`: don't question msdn
  251. # [01:57] <Hixie> Philip`: once you start down that road, you'll have decades of work ahead of you
  252. # [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
  253. # [01:58] <tomg> msdn is a bit like the bible
  254. # [01:59] <Philip`> We need an MSDN5
  255. # [01:59] <Hixie> Philip`: later on that msdn page:
  256. # [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.
  257. # [01:59] <Hixie> "
  258. # [02:01] <takkaria> Humphrey Lyttelton has died. :(
  259. # [02:01] <tomg> yes :(
  260. # [02:01] <tomg> MSDN is wrong by the way, you can't set features without an argument
  261. # [02:06] <Philip`> MSDN is wrong?!
  262. # [02:07] <tomg> I know
  263. # [02:07] <tomg> first time for everything
  264. # [02:07] <tomg> quick, billg@microsoft.com
  265. # [02:10] <takkaria> append "sorry to hear your profits dropped 11% this quarter"
  266. # [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
  267. # [02:12] <Philip`> "font-size:4" is a bit silly since it uses 4pt font
  268. # [02:12] <Philip`> s//a /
  269. # [02:21] <Philip`> I like how Syck gives me excellent error messages when parsing probably-broken YAML
  270. # [02:22] <Philip`> like "Segmentation fault", and, uh, that's about its whole range
  271. # [02:23] <Dashiva> Such an informative error at that
  272. # [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
  273. # [02:37] * Joins: roc (n=roc@121-72-179-147.dsl.telstraclear.net)
  274. # [02:48] * Joins: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca)
  275. # [02:48] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) ("Lost terminal")
  276. # [02:49] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
  277. # [02:49] * Joins: othermaciej_ (n=mjs@17.203.15.181)
  278. # [02:55] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  279. # [03:06] * Joins: mcarter (n=mcarter@pool-72-87-174-244.plspca.dsl-w.verizon.net)
  280. # [03:06] * Quits: othermaciej (n=mjs@17.255.111.204) (Read error: 110 (Connection timed out))
  281. # [03:13] * Quits: roc (n=roc@121-72-179-147.dsl.telstraclear.net)
  282. # [03:13] <Hixie> showModalDialog can be used for cross-domain communication!
  283. # [03:13] <Hixie> crazy
  284. # [03:21] <othermaciej_> it can?
  285. # [03:21] * othermaciej_ is now known as othermaciej
  286. # [03:21] <othermaciej> oh
  287. # [03:21] <othermaciej> because you can show something from another domain as a modal dialog and it can return a value
  288. # [03:21] <othermaciej> wacky
  289. # [03:26] * Joins: heycam (n=cam@clm-laptop.infotech.monash.edu.au)
  290. # [03:27] <Hixie> othermaciej: and you can pass a value
  291. # [03:27] <Hixie> i'm amazed nobody has used this before
  292. # [03:27] <Hixie> i mean you get some flicker, sure
  293. # [03:27] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net) (Read error: 104 (Connection reset by peer))
  294. # [03:27] <Hixie> but that never stopped people before
  295. # [03:27] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  296. # [03:36] <Hixie> holy batman
  297. # [03:36] <Hixie> you can send strings to other domains in firefox using returnValue without creating a window
  298. # [03:37] <Hixie> oh but you have to have created the window using showModalDialog()
  299. # [03:41] <Hixie> you can't navigate the browsing context in ie
  300. # [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]")
  301. # [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?
  302. # [03:47] <Hixie> and fragment identifiers don't work at all
  303. # [03:47] <Hixie> mcarter: why does it become impossible, and why is that a problem?
  304. # [03:47] <othermaciej> mcarter: prototype-based subclassing of builtin DOM classes does not seem super important
  305. # [03:48] <Hixie> how would you override the XMLHttpRequest constructor or the Image constructor?
  306. # [03:49] <othermaciej> you could make an object that has an XMLHttpRequest instance or an HTMLImageElement instance as its prototype
  307. # [03:49] <othermaciej> although I do not know why you would want to
  308. # [03:49] <mcarter> well, you generally would do SubClassTCPConnection.prototype = new TCPConnection()
  309. # [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
  310. # [03:50] <Hixie> how does that work with any constructor that does any work at all?
  311. # [03:50] <Hixie> e.g. Image(width)
  312. # [03:51] <othermaciej> it is certainly not very useful
  313. # [03:51] <Hixie> k, i won't worry about it :-)
  314. # [03:51] <othermaciej> SubClassImage.prototype = new Image() would still leave you with only one read HTMLImageElement
  315. # [03:51] <Hixie> showModalDialog is insanity in a bottle
  316. # [03:51] <othermaciej> and it wouldn't be insertable into the DOM or anything
  317. # [03:51] <othermaciej> Hixie: it's high on my list of most-loathed feature that we had to actually implement
  318. # [03:52] <Hixie> the browsers all do it differently -- go figure, no spec, no interop
  319. # [03:53] <Hixie> http://www.whatwg.org/specs/web-apps/current-work/#showmodaldialog
  320. # [03:53] <Hixie> is what i have so far
  321. # [03:53] * Quits: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  322. # [03:54] * Joins: tantek (n=tantek@adsl-63-195-114-133.dsl.snfc21.pacbell.net)
  323. # [03:57] <heycam> Hixie, s/the the/the/ a couple of times in that section 4.4
  324. # [03:57] <heycam> actually, just search for "the the" in the document there are a few more instances
  325. # [03:57] <heycam> (though a couple aren't typos)
  326. # [03:57] <Hixie> thanks, will fix
  327. # [03:59] <Hixie> heycam: so returnValue brings up an interesting problem
  328. # [03:59] <Hixie> i need a DOM attribute that is not there unless a particular condition is in effect
  329. # [03:59] <Hixie> window.returnValue is nothing at all unless the browsing context was created by showModalDialog
  330. # [04:00] <heycam> so ('returnValue' in window) has to be false?
  331. # [04:02] <Hixie> typ
  332. # [04:02] <Hixie> yup even
  333. # [04:02] * Quits: andersca (n=andersca@nat/apple/x-94a1acce4eb52cbb) (Read error: 110 (Connection timed out))
  334. # [04:02] <Hixie> and true if the Window was created by showModalDialog
  335. # [04:02] <Hixie> actually no
  336. # [04:02] <Hixie> true if the Window is for a browsing context that was created by showModalDialog
  337. # [04:04] <Hixie> i guess i can just say it's an interface implemented by those windows
  338. # [04:04] <Hixie> that's what mozilla does
  339. # [04:04] <heycam> hmm
  340. # [04:05] <heycam> i guess that solves it
  341. # [04:06] * Quits: Camaban (n=alee@85-211-19-59.dyn.gotadsl.co.uk) ("Ex-Chat")
  342. # [04:08] <Hixie> IE doesn't send these dialogArguments cross-origin at all
  343. # [04:09] <Hixie> hmm
  344. # [04:09] <Hixie> dinner first
  345. # [04:09] <Hixie> bbl
  346. # [04:10] * Quits: othermaciej (n=mjs@17.203.15.181) (Read error: 110 (Connection timed out))
  347. # [04:22] * Quits: jwalden (n=waldo@STRATTON-THREE-THIRTY.MIT.EDU) (Remote closed the connection)
  348. # [04:27] * Quits: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
  349. # [05:14] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  350. # [06:09] * Quits: weinig (n=weinig@17.203.15.172)
  351. # [06:19] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
  352. # [06:48] <inimino> mcarter: is there a mailing list for the TCPConnection stuff you're implementing?
  353. # [07:05] * Joins: MikeSmith (n=MikeSmit@EM117-55-12-62.pool.e-mobile.ne.jp)
  354. # [07:58] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
  355. # [08:01] * Quits: MikeSmith (n=MikeSmit@EM117-55-12-62.pool.e-mobile.ne.jp) (Read error: 110 (Connection timed out))
  356. # [08:02] * Quits: heycam (n=cam@clm-laptop.infotech.monash.edu.au) ("bye")
  357. # [08:05] <mcarter> inimino, the best mailing list to use is http://groups.google.com/group/orbited-users
  358. # [08:06] <mcarter> inimino, its all a part of an upcoming release
  359. # [08:07] <inimino> mcarter: thanks, subscribed
  360. # [08:08] <mcarter> inimino, keep in mind, thats also a end-user-facing list
  361. # [08:08] <inimino> inimino: right
  362. # [08:10] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
  363. # [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
  364. # [08:10] <othermaciej> what is MPM?
  365. # [08:11] <inimino> the Apache modules that handle actual the actual sockets, processes, threads
  366. # [08:12] <inimino> "multi-processing module" is the expansion
  367. # [08:13] <inimino> you don't have enough control in a plain vanilla module to hold the socket open and do Comet-type stuff
  368. # [08:15] <inimino> at least not efficiently
  369. # [08:16] <othermaciej> are MPMs harder to write?
  370. # [08:17] <inimino> othermaciej: yes, and Apache can only use one MPM at a time
  371. # [08:19] <inimino> othermaciej: the main ones are the worker MPM, event MPM, prefork MPM
  372. # [08:19] <inimino> each one has it's own strategy for handling sockets, spawning worker threads, etc
  373. # [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
  374. # [08:23] <mcarter> inimino, some of the work we're doing with orbited is all about integrating synchronous webservers with comet
  375. # [08:24] <othermaciej> inimino: so none of the MPMs gives regular type modules a raw connected socket to play with?
  376. # [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
  377. # [08:24] * Joins: jruderman (n=jruderma@c-67-180-174-213.hsd1.ca.comcast.net)
  378. # [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
  379. # [08:27] <inimino> mcarter: so orbited is acting like a reverse proxy in front of e.g. Apache?
  380. # [08:28] <mcarter> inimino, sort of. you still make static requests directly to apache
  381. # [08:28] <mcarter> inimino, you can use orbited for purely downstream if you want. in which case you make xhr requests directly to apache
  382. # [08:29] <inimino> mcarter: so orbited runs on a different port?
  383. # [08:29] <inimino> I guess I should install it and read the docs ;-)
  384. # [08:30] <mcarter> inimino, heh, it does run on a different port
  385. # [08:30] <inimino> ok
  386. # [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
  387. # [08:50] * Joins: pscoe2 (n=pscoe2@59.178.34.183)
  388. # [08:50] * Quits: pscoe2 (n=pscoe2@59.178.34.183) (Client Quit)
  389. # [08:52] * Joins: tndH_ (i=Rob@adsl-87-102-32-128.karoo.KCOM.COM)
  390. # [08:52] * tndH_ is now known as tndH
  391. # [08:52] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
  392. # [09:01] * Quits: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca) ("http://www.csarven.ca/")
  393. # [09:16] * Joins: heycam (n=cam@203-217-88-240.dyn.iinet.net.au)
  394. # [09:43] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
  395. # [10:59] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net) (Read error: 110 (Connection timed out))
  396. # [11:11] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
  397. # [11:31] * Joins: ROBOd (n=robod@89.122.216.38)
  398. # [11:49] * Joins: mcarter_ (n=mcarter@pool-72-87-174-216.plspca.dsl-w.verizon.net)
  399. # [11:55] * Joins: mcarter__ (n=mcarter@pool-72-87-174-228.plspca.dsl-w.verizon.net)
  400. # [11:55] * Quits: mcarter (n=mcarter@pool-72-87-174-244.plspca.dsl-w.verizon.net) (Nick collision from services.)
  401. # [11:55] * mcarter__ is now known as mcarter
  402. # [11:56] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  403. # [12:00] <hsivonen> Philip`: are there non-linked pages under http://canvex.lazyilluminati.com/misc/stats/ ?
  404. # [12:00] <hsivonen> I'm trying to navigate to your charset analysis and I don't find it
  405. # [12:01] * annevk thought modal dialogs were evil and would not be supported by HTML5
  406. # [12:02] <hsivonen> at it was http://philip.html5.org/data/charsets.html
  407. # [12:06] * Joins: qwert666 (n=qwert666@acas178.neoplus.adsl.tpnet.pl)
  408. # [12:09] * Quits: mcarter_ (n=mcarter@pool-72-87-174-216.plspca.dsl-w.verizon.net) (Read error: 110 (Connection timed out))
  409. # [12:13] * Joins: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp)
  410. # [12:15] * Quits: heycam (n=cam@203-217-88-240.dyn.iinet.net.au) ("bye")
  411. # [12:16] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net) (Read error: 110 (Connection timed out))
  412. # [12:16] * Joins: jgraham_ (n=jgraham@81-86-213-101.dsl.pipex.com)
  413. # [12:17] * Quits: jgraham (n=jgraham@81-86-219-23.dsl.pipex.com) (Read error: 110 (Connection timed out))
  414. # [12:26] <hsivonen> http://www.w3.org/mid/481226BB.1000108@aptest.com
  415. # [12:39] <annevk> seems people still don't understand that attributes are not in a namespace
  416. # [12:39] <Lachy> I don't get why he thinks chameleon namespaces are a good idea
  417. # [12:41] * Quits: mcarter (n=mcarter@pool-72-87-174-228.plspca.dsl-w.verizon.net) (Read error: 110 (Connection timed out))
  418. # [12:47] * Joins: mcarter (n=mcarter@pool-72-87-174-12.plspca.dsl-w.verizon.net)
  419. # [12:53] <hsivonen> I replied
  420. # [12:53] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
  421. # [13:00] <annevk> you know, it would be fun if we had journalists for our little markup wars
  422. # [13:00] <annevk> for day-to-day reports, that is
  423. # [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
  424. # [13:02] <annevk> that doesn't seem bad per se
  425. # [13:13] <annevk> hmm, the Forms WG is still busy to retrofit XForms to fit HTML syntax
  426. # [13:13] <annevk> http://lists.w3.org/Archives/Public/public-forms/2008Apr/0108.html
  427. # [13:14] <hsivonen> annevk: what's there to gain from such retrofitting compared to WF2?
  428. # [13:14] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  429. # [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.
  430. # [13:16] <hsivonen> annevk: so what do authors or implementors gain if there's an 'XForms processor' compared to a WF2 processor?
  431. # [13:16] <hsivonen> or scripting and XHR
  432. # [13:17] <annevk> So the perceived gain is that XForms will still be around I suppose.
  433. # [13:17] <annevk> I think the sunk cost fallacy might apply here as well.
  434. # [13:17] <hsivonen> oh yes indeed
  435. # [13:19] * Joins: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk)
  436. # [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
  437. # [13:25] * hsivonen proceeds to refactor the code some more
  438. # [13:26] <hsivonen> actually, parseErrorUnlessPermittedSlash is still a method
  439. # [13:26] <hsivonen> I'll remove it in due course as I implement the MathML stuff
  440. # [13:31] <Philip`> hsivonen: http://philip.html5.org/data.html links to most of my stuff
  441. # [13:31] <hsivonen> Philip`: thanks
  442. # [13:32] <Philip`> (except "most" means there's still a load that I haven't bothered linking to)
  443. # [13:32] <Philip`> (which I should get around to at some point)
  444. # [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
  445. # [13:33] <annevk> Philip`, could you remove a { color: inherit; text-decoration: inherit; } and a:hover { text-decoration: underline; } from that page?
  446. # [13:33] <hsivonen> though switch/continue only produces natural loops, so I guess it's better for compilers than unrestricted goto
  447. # [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
  448. # [13:34] <hsivonen> Philip`: the text now lacks the clickability affordance
  449. # [13:35] <Philip`> I think I agree the current solution is more ugly than the alternative :-)
  450. # [13:36] <Philip`> Fixed
  451. # [13:37] <hsivonen> Philip`: thanks
  452. # [13:37] * hsivonen sees the spec is moving from en-GB-x-hixie to en-US-x-hixie
  453. # [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
  454. # [13:40] <Philip`> e.g. you can only jump out of switch blocks, you can't jump into them
  455. # [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
  456. # [13:43] * Joins: roc (n=roc@121-72-166-136.dsl.telstraclear.net)
  457. # [13:44] * Quits: svl (n=me@ip565744a7.direct-adsl.nl) ("And back he spurred like a madman, shrieking a curse to the sky.")
  458. # [13:48] * Quits: roc (n=roc@121-72-166-136.dsl.telstraclear.net) (Client Quit)
  459. # [13:49] <hsivonen> Philip`: I have two main patterns: state = State.FOO; continue consume; and state = State.FOO; continue reconsume;
  460. # [13:49] <hsivonen> Philip`: the former means: goto read character, then goto FOO.
  461. # [13:49] <hsivonen> Philip`: the latter means goto FOO
  462. # [13:50] <hsivonen> I suppose bytecode rewriting the latter case to pure goto wouldn't be a big win
  463. # [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
  464. # [13:51] <hsivonen> for doing goto FOO after first doing goto read
  465. # [13:51] <hsivonen> anyway
  466. # [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. "
  467. # [13:52] <Lachy> I wonder if that was there before and we just didn't notice it
  468. # [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
  469. # [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?
  470. # [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
  471. # [14:00] <hsivonen> s/rewriter are/rewriter or/
  472. # [14:00] <hsivonen> it's scary that I now make typos that look like speech-to-text errors
  473. # [14:02] <Philip`> Hmm, might be http://www.antlr2.org/blog/antlr3/codegen.tml under "October 19, 2004" that I was thinking of
  474. # [14:04] <hsivonen> I sure hope a massive switch is no longer "slow as death" compared to "slow" method calls
  475. # [14:04] <hsivonen> on HotSpot
  476. # [14:05] <Philip`> It would be nice if "hope" could be replaced by something more reliable, like benchmarks :-)
  477. # [14:05] <hsivonen> Philip`: oh I do intend to run a benchmark in due course
  478. # [14:05] <hsivonen> Philip`: but it will suck if the result is that the new code is slower than the old code
  479. # [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
  480. # [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 :-)
  481. # [14:15] * Joins: heycam (n=cam@203-217-88-240.dyn.iinet.net.au)
  482. # [14:17] <hsivonen> it'll be fun to update all the tokenizer tests to include a selfClosing flag...
  483. # [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
  484. # [14:20] <hsivonen> since it's easy to do when the tokenizer states are in a switch
  485. # [14:21] <hsivonen> read() itself is huge, so apparently inlining it on multiple call sites wouldn't be smart
  486. # [14:26] <hsivonen> does anyone know if running Linux under Parallels is a valid benchmark setup if the OS X side is mostly idle?
  487. # [14:27] <hsivonen> hmm. I wonder if Parallels only does 32-bit guest OSs...
  488. # [14:29] <Philip`> It ought to be reliable for purely user-space code
  489. # [14:31] * Joins: gsnedders_ (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
  490. # [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)
  491. # [14:32] * Quits: gsnedders_ (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com) (Remote closed the connection)
  492. # [14:32] * Joins: gsnedders_ (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
  493. # [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[]
  494. # [14:33] * Quits: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com) (Nick collision from services.)
  495. # [14:33] <hsivonen> I gained quite a bit of perf by reducing the number of times the IO goes out of the JVM
  496. # [14:33] * gsnedders_ is now known as gsnedders
  497. # [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
  498. # [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
  499. # [14:39] <hsivonen> only then the rest starts to matter
  500. # [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)
  501. # [14:39] <hsivonen> even if parsing is IO-bound anyway, the CPU time above IO can still be made better
  502. # [14:40] <hsivonen> eliminating Schematron will dramatically alter the compute/IO interleaving in Validator.nu
  503. # [14:42] <Philip`> Do shared hosting services put a limit on how much IO you can use, like they do with CPU?
  504. # [14:42] <hsivonen> I have no idea
  505. # [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
  506. # [14:43] <hsivonen> I don't know what CPU or IO throttles there may be
  507. # [14:43] <hsivonen> so far it has worked well enough
  508. # [14:45] <hsivonen> interestingly, RAM seems to be what's expensive in Xen hosting
  509. # [14:46] <hsivonen> if you want a lot of RAM on Xen, Amazon EC2 starts looking a lot cheaper relative to other offerings
  510. # [14:48] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) (Read error: 110 (Connection timed out))
  511. # [14:51] * gsnedders is starting to find Python to be more and more limiting for the spec-ge
  512. # [14:51] <gsnedders> *gen
  513. # [14:55] <Philip`> Limiting in functionality, or in performance?
  514. # [14:56] <gsnedders> Philip`: performance.
  515. # [14:56] * Quits: heycam (n=cam@203-217-88-240.dyn.iinet.net.au) ("bye")
  516. # [14:57] <Philip`> gsnedders: By how many orders of magnitude?
  517. # [14:57] <Philip`> It seems worthwhile to have something that actually works, even it'll need lots of optimisation later
  518. # [14:57] <Philip`> s//if /
  519. # [14:57] <gsnedders> Philip`: well, things like html5lib are are far slower than something like WebKit's HTML parser
  520. # [14:58] <gsnedders> and there's the fact that I did to do looping over every Node in the document, multiple times
  521. # [14:58] <gsnedders> And large amounts of execution are slow in any interpreted language, really
  522. # [14:58] <hsivonen> gsnedders: try Jython and the Validator.nu HTML parser :-)
  523. # [14:58] <Philip`> gsnedders: html5lib can be fixed by doing a chtml5lib, which is somebody else's problem
  524. # [14:59] <gsnedders> neither of those solve the looping problem :)
  525. # [15:00] <Philip`> You could modify your code to do less looping :-)
  526. # [15:01] <gsnedders> Philip`: How do I build a TOC without looping over the document? :)
  527. # [15:01] <gsnedders> hmm…
  528. # [15:01] <Philip`> You don't need to loop over every node, only over every heading
  529. # [15:02] <gsnedders> Philip`: How do I find the headings?
  530. # [15:02] <Philip`> Use a fancy treebuilder that lets you do fast XPath to find elements :-)
  531. # [15:02] <gsnedders> XPath is hard to do quickly :)
  532. # [15:02] <Philip`> Or do the TOC-looping at the same time as all the other looping, to avoid the "multiple times" problem
  533. # [15:02] <hsivonen> the great thing is that an XPath impl. does no looping :-)
  534. # [15:02] <Philip`> gsnedders: It's easier when it's implemented in a C library
  535. # [15:03] <gsnedders> Philip`: That's what I've been doing. Multiple times remains two loops, though :)
  536. # [15:04] <gsnedders> hsivonen: how do you impl. XPath without looping?
  537. # [15:04] <hsivonen> gsnedders: note the ':-)'
  538. # [15:04] <gsnedders> Ah. You mean it in that way :)
  539. # [15:05] <Philip`> gsnedders: How slow is the script, anyway?
  540. # [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 :)
  541. # [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
  542. # [15:06] * Joins: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk)
  543. # [15:07] <Philip`> gsnedders: "time python specgen.py source"? :-p
  544. # [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)
  545. # [15:07] <gsnedders> Philip`: It's too incomplete for it to be overly meaningful :P
  546. # [15:07] <gsnedders> Philip`: And I just started rewriting a bit of it and it currently doesn't really work much at all :P
  547. # [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? :-)
  548. # [15:08] <gsnedders> Philip`: Yeah, but I'm lazy :)
  549. # [15:10] <gsnedders> Philip`: And it's an excuse to actually write some C++ myself :P
  550. # [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
  551. # [15:11] <Philip`> *interpreter
  552. # [15:11] <gsnedders> I don't think it would.
  553. # [15:11] <gsnedders> The complex parts can be solved by using WebKit for HTML and DOM.
  554. # [15:12] <Philip`> That's not solving complexity, it's just swapping complexity for other complexity
  555. # [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
  556. # [15:12] <gsnedders> It's somebody else's problem. That'll do :)
  557. # [15:13] <Philip`> gsnedders: The complexity is in integrating their code with yours, which is your problem
  558. # [15:13] <Philip`> (Or do they just have a public API for "parse this string of bytes into a Document object"?)
  559. # [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
  560. # [15:17] * Philip` is not yet convinced :-p
  561. # [15:25] * Quits: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
  562. # [15:28] * Joins: gsnedders (n=gsnedder@host217-44-37-113.range217-44.btcentralplus.com)
  563. # [15:31] * Joins: maikmerten (n=maikmert@T6ea6.t.pppool.de)
  564. # [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
  565. # [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
  566. # [16:14] * Joins: svl (n=me@ip565744a7.direct-adsl.nl)
  567. # [16:19] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  568. # [16:20] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  569. # [16:37] * Joins: aroben (n=adamrobe@76.111.160.14)
  570. # [17:22] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
  571. # [17:26] * Joins: csarven (n=csarven@modemcable130.251-202-24.mc.videotron.ca)
  572. # [17:33] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  573. # [17:33] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  574. # [17:35] * Parts: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  575. # [17:35] * Joins: hasather (n=hasather@90-231-107-133-no62.tbcn.telia.com)
  576. # [17:42] <Philip`> Ooh, Konqueror does canvas shadows
  577. # [17:42] <Philip`> so there's two mostly-interoperable implementations now
  578. # [17:53] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
  579. # [17:57] <Philip`> http://www.freepatentsonline.com/y2006/0005114.html
  580. # [18:01] <takkaria> what a horrible patent
  581. # [18:03] * Philip` guesses this is what http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2007-March/010129.html referred to
  582. # [18:05] * Quits: jacobolus (n=jacobolu@140.247.156.168)
  583. # [18:13] * Joins: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net)
  584. # [18:20] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
  585. # [18:20] * Joins: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
  586. # [18:20] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu) (Client Quit)
  587. # [18:23] <Philip`> Hixie: "The tabIndex DOM attribute must reflect the value of the tabIndex content attribute." - the second tabIndex should be lowercase
  588. # [18:29] * Joins: ROBOd (n=robod@89.122.216.38)
  589. # [18:31] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
  590. # [19:25] * Quits: maikmerten (n=maikmert@T6ea6.t.pppool.de) (Read error: 110 (Connection timed out))
  591. # [19:26] * Joins: maikmerten (n=maikmert@L9264.l.pppool.de)
  592. # [19:49] * Parts: BenMillard (i=cerbera@cpc1-flee1-0-0-cust285.glfd.cable.ntl.com)
  593. # [19:58] * Quits: mcarter (n=mcarter@pool-72-87-174-12.plspca.dsl-w.verizon.net) (Read error: 113 (No route to host))
  594. # [20:09] * Quits: myakura (n=myakura@p1215-ipbf3008marunouchi.tokyo.ocn.ne.jp) ("Leaving...")
  595. # [20:16] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  596. # [20:17] * Joins: aroben (n=adamrobe@76.111.160.14)
  597. # [20:24] * Joins: tndH_ (i=Rob@adsl-87-102-79-4.karoo.KCOM.COM)
  598. # [20:40] * Joins: jwalden (n=waldo@STRATTON-THREE-THIRTY.MIT.EDU)
  599. # [20:45] * Quits: tndH (i=Rob@adsl-87-102-32-128.karoo.KCOM.COM) (Read error: 110 (Connection timed out))
  600. # [20:57] * Quits: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
  601. # [21:07] * Quits: aroben (n=adamrobe@unaffiliated/aroben) (Remote closed the connection)
  602. # [21:08] * Joins: aroben (n=adamrobe@76.111.160.14)
  603. # [21:10] <annevk> Philip`, I think you already raised the shadows thing (making it mandatory)
  604. # [21:11] <annevk> Philip`, also, CSS3 UI has nav-index to specify "tab" order through CSS
  605. # [21:16] <Philip`> annevk: I only remember (/could find emails referring to) making gradients mandatory
  606. # [21:17] * Joins: jacobolus (n=jacobolu@dhcp-0000036913-b5-5e.client.fas.harvard.edu)
  607. # [21:18] <annevk> ah, maybe I misremembered
  608. # [21:23] * Quits: virtuelv (n=virtuelv@46.80-203-100.nextgentel.com) ("Ex-Chat")
  609. # [21:31] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  610. # [21:37] * Quits: maikmerten (n=maikmert@L9264.l.pppool.de) ("Leaving")
  611. # [21:51] * Joins: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  612. # [21:52] * Quits: KevinMarks (n=KevinMar@c-98-207-134-151.hsd1.ca.comcast.net) ("The computer fell asleep")
  613. # [22:01] * Joins: jgraham__ (n=jgraham@81-86-219-195.dsl.pipex.com)
  614. # [22:03] * Quits: jgraham_ (n=jgraham@81-86-213-101.dsl.pipex.com) (Read error: 110 (Connection timed out))
  615. # [22:05] <Philip`> http://philip.html5.org/tests/canvas/misc/cross-domain-pattern.html - Opera (9.5) loses
  616. # [22:13] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
  617. # [22:25] * Quits: weinig (n=weinig@adsl-75-36-185-28.dsl.pltn13.sbcglobal.net)
  618. # [22:27] * Joins: Camaban (n=alee@85-211-181-63.dyn.gotadsl.co.uk)
  619. # [22:28] * Quits: grimboy (n=grimboy@78-105-162-250.zone3.bethere.co.uk) (Read error: 110 (Connection timed out))
  620. # [23:07] * Quits: ROBOd (n=robod@89.122.216.38) ("http://www.robodesign.ro")
  621. # [23:44] * Quits: sverrej_ (n=sverrej@89.10.27.86) (Remote closed the connection)
  622. # [23:45] * Joins: sverrej (n=sverrej@89.10.27.86)
  623. # [23:49] * Joins: mcarter (n=mcarter@198.202.202.20)
  624. # [23:50] * Quits: sverrej (n=sverrej@89.10.27.86) (Read error: 104 (Connection reset by peer))
  625. # [23:50] * Joins: sverrej (n=sverrej@89.10.27.86)
  626. # Session Close: Sun Apr 27 00:00:00 2008

The end :)