| 02:16 | <Hixie> | http://www.hixie.ch/tests/adhoc/dom/level0/document/open/007.html |
| 02:16 | <Hixie> | can someone explain to me IE's behavior with that test |
| 05:39 | <MikeSmith> | is the HTML5 SQL database feature supported in Mozilla trunk now? |
| 05:39 | <MikeSmith> | I noticed http://twitter.com/millenomi/status/1072607044 |
| 05:39 | <MikeSmith> | "@factoryjoe It's just HTML5 databases put to use. Already available in Safari 3.0 and up and recent Firefoxes." |
| 05:43 | <MikeSmith> | ne'er mind |
| 05:48 | <MikeSmith> | the Opera 10 "Download All Snapshots" feature doesn't seem to be working for me |
| 05:49 | <MikeSmith> | I see from http://my.opera.com/desktopteam/blog/2008/12/19/the-christmas-edition that a new snapshot is available |
| 05:50 | <MikeSmith> | and I have the "download all snapshots" option selected |
| 05:50 | <MikeSmith> | but if I do "check for updates", Opera tells me I already have the latest version |
| 06:18 | <MikeSmith> | I guess Edward Yang's been making progress on his HTML5 parser in PHP |
| 06:18 | <MikeSmith> | yesterday: http://twitter.com/ezyang/status/1071810135 "The score... Edward: 425, HTML5: 739 + 8 infinite loops." |
| 06:19 | <MikeSmith> | today about 30 minutes ago: http://twitter.com/ezyang/status/1073793318 "Final score... Edward: 1108, HTML5: 0. Of course, that's ignoring tests of parse errors, doctypes and self-closed tags." |
| 07:21 | <yecril71> | The instruction |
| 07:21 | <yecril71> | w.w = window |
| 07:21 | <yecril71> | creates a proxy. |
| 07:22 | <yecril71> | Immediately after that, !(w.w === window). |
| 07:22 | <yecril71> | Because w.w is a proxy to window. |
| 07:23 | <yecril71> | It has nothing to do with document.open. |
| 07:25 | <yecril71> | U+000B is a range. |
| 07:26 | <yecril71> | It begins with U+000B and ends with U+000B. |
| 07:26 | <yecril71> | (Or it can be trivially coalesced to a range, if you prefer). |
| 07:28 | <yecril71> | I can see no necessity to delete an image for a page that the user failed to save on the server. |
| 07:28 | <yecril71> | Once the user uploads the image to the server, it can remain there until the user explicitly requests its deletion. |
| 07:34 | <Hixie> | yecril71: window.w = window; window.w === window; |
| 07:34 | <Hixie> | is true |
| 07:43 | <yecril71> | However, w.w !== window. |
| 07:43 | <yecril71> | window.w = window is equivalent to w = window. |
| 07:43 | <yecril71> | w.w = window is different. |
| 07:46 | <weinig> | yecril71: what is the first w |
| 07:46 | <weinig> | yecril71: cause it looks like that should be a reference error |
| 07:47 | <Hixie> | window.w = window; w.w === window is true |
| 07:48 | <yecril71> | The first w is a parameter to b. |
| 07:49 | <weinig> | ok, this is about Hixie's test |
| 07:50 | <yecril71> | alert(w.w === window) shows false at my place, immediately after the assignment. |
| 07:51 | <yecril71> | window.w = window is equivalent to w = window. |
| 07:52 | <yecril71> | I think Hixie needs some sleep. |
| 07:54 | <yecril71> | undefined == undefined, as of the Microsoft engine. |
| 07:56 | <yecril71> | "window.window.window" is not the same as "". |
| 07:56 | <yecril71> | "window.window.window." is. |
| 07:56 | <yecril71> | But only in the global context. |
| 07:57 | <jwalden_> | I think none of you are being particularly clear |
| 07:57 | <jwalden_> | :-P |
| 07:57 | <yecril71> | Prefixing with "window." can be used to single out global variables. |
| 07:58 | <yecril71> | Dead season for thinking :-P |
| 08:00 | <yecril71> | "window" does not belong to javascript. WSH has no "window". |
| 08:00 | jwalden_ | nitpickingly wishes that page closed the document it opened so the browser throbber would stop |
| 08:02 | yecril71 | concurs |
| 08:18 | <annevk> | http://twitter.com/jontangerine/statuses/1027745900 ? |
| 08:21 | <annevk> | http://twitter.com/laura_carlson/statuses/1066180499 lol |
| 10:54 | <Lachy> | jgraham, it's interesting that the some of the things you listed technically aren't HTML |
| 10:56 | <jgraham> | Lachy: In what sense? |
| 10:56 | <Lachy> | Offline Storage is a DOM API, MathML and SVG |
| 10:57 | <annevk> | offline storage is also <html manifest> ... |
| 10:57 | <jgraham> | Lachy: Well it's in "HTML5". It's only "not HTML" if you try to make some distinction between HTML the markup language and HTML the application platform |
| 10:58 | <Lachy> | annevk, that would be covered by offline applications in his list |
| 10:58 | <jgraham> | (also the ability to embed SVG+MathML is a feature of the markup language so I disagree with that regardless of definitions) |
| 10:59 | <jgraham> | s/that/that not being technically not HTML/ |
| 10:59 | <jgraham> | s/not being/being/ |
| 11:03 | <jgraham> | (I guess Web Sockets should make the top 5 but I don't kno what to drop...) |
| 11:34 | <annevk> | parsing rules |
| 11:34 | <annevk> | they're boring :) |
| 11:35 | <jgraham> | annevk: Yeah, but "better browser interoperability" is interesting |
| 11:36 | <annevk> | not as interesting as web sockets :p |
| 11:38 | <jgraham> | I was thinking "Rich Form Controls" were sort of covered on the original list so they maybe didn't need to be covered again |
| 11:38 | <hendry> | annevk: have you seen the socket demo here http://www.jnext.org/ |
| 12:07 | <Philip`> | jgraham: MathML+SVG in text/html doesn't seem like it'd be an exciting feature to many people - almost nobody even uses non-inline SVG, despite that being easy and useful and well supported |
| 12:07 | <olliej> | yoyo annevk |
| 12:09 | <Philip`> | jgraham: Also I don't see why anyone would care about parsing rules, because they can just write proper valid pseudo-XHTML like they always have and it'll work fine in current browsers |
| 12:11 | <Philip`> | Things that are exciting to people here are probably almost completely separate from what is exciting to normal people :-) |
| 12:20 | <jgraham> | Philip`: IIRC there was a bug in an early version of Google maps that was due to a difference in parsing comments before the HTML element or somesuch |
| 12:20 | <Philip`> | Most people don't write Google Maps |
| 12:21 | <jgraham> | Yes, but most people don't write site x for any value of x |
| 12:21 | <Philip`> | Most people don't write sites of equivalent complexity to Google Maps |
| 12:21 | <Lachy> | yeah, most people don't get too excited about the parsing rules themselves. They will only get indirectly appreciate them once they start seeing real practical results from more interoperable browsers |
| 12:22 | <Lachy> | s/only get/only/ |
| 12:22 | <jgraham> | I know :) But I thought that high on authors list of complaints about HTML was poor interoperability |
| 12:23 | <Philip`> | I think I've encountered DOM uninteroperability far more than parsing uninteroperability |
| 12:23 | <Lachy> | CSS and DOM interop are bigger issues |
| 12:23 | <jgraham> | Obviouslyt HTML5 won't help with the CSS or DOM problems but it seems like something that helps interoperability would be seen as good |
| 12:26 | <hsivonen> | cool things are HTML5 features. see http://www.google.com/search?q=%22html5+geolocation%22 |
| 12:27 | <hsivonen> | as for quality and popularity, see w3schools :-( |
| 12:27 | <Philip`> | jgraham: "helps interoperability" seems too abstract a concept to get excited about - people will only care when it's solving the real problems they encounter, which are much more likely to be CSS and DOM problems |
| 12:28 | <Lachy> | where do people get the idea that geolocation is part of HTML5? |
| 12:28 | <jgraham> | Lachy: Everything cool happening in the web is part of HTML5 |
| 12:29 | <jgraham> | (actually geolocation was floated on WHATWG list at one point so that might be why) |
| 12:32 | Philip` | hopes browsers could detect when they are running on a desktop PC, and therefore are unlikely to be moved, so if they don't have a GPS receiver then they could simply ask the user to enter their address once and then they will be able to implement the Geolocation API |
| 12:34 | <Philip`> | (and for laptops they could just ask for the address of each wireless access point you connect to) |
| 12:35 | <Lachy> | Philip`, or they could use wi-fi access point triangulation techniques |
| 12:42 | gsnedders | hit an interoperability issue in Prince yesterday |
| 12:44 | <jgraham> | It raised an OutOfCash eception on your bank account? |
| 12:45 | <jgraham> | *exception |
| 12:54 | <Philip`> | Lachy: That sounds like something that would need added OS and driver support (and hardware support too?), so it's unlikely to happen any time soon except on mobile devices |
| 12:58 | <Lachy> | Philip`, AFAIK, it only needs software that works like Navizon and an internet connection |
| 15:39 | <annevk> | Philip`, Skyhook already works on laptops, no? |
| 15:41 | <annevk> | hmm, maybe not |
| 15:48 | <Philip`> | annevk: Sounds like it could do - it seems to just look at the signal strength of visible WAPs and compare against a database of predetermined locations of known WAPs, and doesn't need any lower-level access to the wireless hardware |
| 15:49 | <Philip`> | I was assuming "wi-fi access point triangulation" was something that depended more on physical properties of the wireless signal or something |
| 15:51 | <jgraham> | There are places with enough known WAPs that that works? |
| 15:53 | <Philip`> | Presumably only in cities with enough customers to justify the data collection to seed the system |
| 15:53 | <Philip`> | (then it sounds like it'll update the location database dynamically when users encounter new unknown WAPs) |
| 15:53 | <annevk> | jgraham, apparently so |
| 15:54 | <Philip`> | You only have to make it work in the cities where tech reviewers live :-) |
| 15:57 | <jgraham> | Philip`: I guess that is true. Maybe just "return Silicon Valley" would be a good v1 implementation, with "improved accuracy" being a v2 feature |
| 15:58 | <jgraham> | (I guess it would be just as useful as an implementation that required an actual wifi signal around here) |
| 15:59 | gavin | wonders how it uniquely identifies access points |
| 15:59 | <gavin> | I suppose just using the MAC address is probably good enough, but I wonder if they try using more than that to avoid problems with spoofing |
| 16:03 | jgraham | notes that Skyhook do indeed show a map of San Fransisco as their example of urban coverage |
| 16:03 | <jgraham> | and that there is no coverage here :) |
| 16:04 | <jgraham> | gavin: http://www.skyhookwireless.com/howitworks/submit_ap.php implies that it is just MAC address |
| 16:05 | <Philip`> | My computer seems to like identifying WAPs by their BSSID |
| 16:05 | <Philip`> | which appears to be typically the same as the MAC |
| 16:06 | gavin | helps them out by submitting the ~6 AP MAC addresses he can currently see from Orleans, Ontario |
| 16:06 | <annevk> | I wonder if there's an "open data" equivalent |
| 16:07 | <gavin> | hmm, that would be cool |
| 16:07 | Philip` | should submit the 11 WAPs he can see from his small village in England, while claiming to be in New York |
| 16:13 | <gavin> | hmm, they already have data for "six Canadian markets where the majority of that nation’s people live" apparently |
| 16:14 | gavin | decides he doesn't want to help them out |
| 16:16 | jgraham | has visions of lots of canadians living in market stalls |
| 16:45 | <annevk> | hsivonen, CSS3 has vh and vw units |
| 16:45 | <annevk> | (re: some question from 1220) |
| 16:45 | <annevk> | s/question/wish/ |
| 16:47 | <BenMillard> | krijnh, possible new slogan for the logs: http://krijnhoetmer.nl/irc-logs/whatwg/20081223#l-205 |
| 16:48 | <annevk> | krijnh, there should be a CSS rule for .flagged:target |
| 16:53 | <BenMillard> | annevk, you can sneak extra rules into the "CSS for ..." textboxes on the IRC Logs front page |
| 16:54 | <BenMillard> | annevk2, I'm using this in "CSS for lines at you": background: #efe; } li.flagged { background: #9f9; } li:target { background: #fa0; |
| 16:54 | <krijnh> | BenMillard: sorry I didn't respond to your log improvements a few days back |
| 16:54 | <BenMillard> | krijnh, hey no worries :) |
| 16:54 | <annevk> | BenMillard, sure, but I want krijnh to fix it :p |
| 16:55 | <krijnh> | Color? |
| 16:55 | <BenMillard> | annevk, does having a checkbox instead of a coloured <span> help? http://projectcerbera.com/!dev/irc-logs/day |
| 16:56 | <annevk> | oh, I like your color scheme |
| 16:57 | <BenMillard> | yay :) |
| 16:57 | krijnh | too :) |
| 16:57 | <BenMillard> | there's demos for other types of page if you click "IRC Logs" or chop the end off the URL |
| 16:58 | <BenMillard> | the colours are copied from the whatwg.org spec CSS |
| 16:58 | <krijnh> | Just no time to implement/copy them yet |
| 16:58 | <BenMillard> | yeah, modifying irc logging systems when it's nearly Xmas would be pretty sad :P |
| 16:59 | <krijnh> | Correct ;) |
| 16:59 | <annevk> | hey, I was considering hacking on my blog! |
| 17:01 | <krijnh> | I'm...My girlfriend is considering visiting our parents ;) |
| 17:01 | <annevk> | my parents considered as much for me :p |
| 17:10 | Philip` | wonders if working on tokenisers over Christmas would also be considered pretty sad :-) |
| 17:12 | <BenMillard> | I'll probably be doing family stuff |
| 17:31 | <annevk> | Philip`, jgraham and I did that (or at least close to Christmas) two years ago |
| 17:32 | <annevk> | not sure if that answers your question though :) |
| 19:18 | <takkaria> | Philip`: I plan to be doing that too |
| 19:29 | <Hixie> | annevk: i |
| 19:29 | <Hixie> | er |
| 19:29 | <Hixie> | annevk: i've run into a lot of people who think that "html5" is the name for the open web standards stack |
| 20:09 | <gsnedders> | hmm… |
| 20:10 | gsnedders | still hasn't worked out how to organize his English notes |
| 20:12 | <gsnedders> | I want to have a quote, and notes related to that quote |
| 20:12 | <gsnedders> | And then I want to categorize those quotes |
| 20:13 | <gsnedders> | The only problem is some quotes need to be in multiple categories |
| 20:13 | <takkaria> | can you not use a text editor like everyone else? :) |
| 20:13 | <gsnedders> | takkaria: :P |
| 20:13 | <gsnedders> | takkaria: My problem is I don't want to duplicate the notes. |
| 20:14 | <jmb> | ah. you want transclusion </ted nelson> |
| 20:34 | <Philip`> | gsnedders: Use tags, not categories |
| 20:35 | <gsnedders> | But I can't be bothered writing code :P |
| 20:35 | <Philip`> | (Then you could make a tag cloud! It'd be great) |
| 20:35 | <gsnedders> | Ideally I want the quotes sorted by page reference |
| 20:54 | <gsnedders> | Does IE6 support XPath? |
| 20:57 | <gsnedders> | What would be the most performant way of doing something like //dd[starts-with(., "Themes: ")]? |
| 20:59 | <Philip`> | /<dd>Themes: /.match(document.body.innerHTML) |
| 21:00 | <gsnedders> | While actually returning the dd element? |
| 21:01 | <Philip`> | /<dd>Themes: (.*?)<\/dd>/.match(document.body.innerHTML) |
| 21:02 | <gsnedders> | The sad thing is I know that probably will really be the quickest solution |
| 21:04 | <Philip`> | There's no need to overcomplicate things :-) |
| 21:05 | gsnedders | gets "TypeError: Result of expression '/<dd>Themes: (.*?)<\/dd>/.match' [undefined] is not a function." |
| 21:05 | <Philip`> | I can never remember how JS RegExps work - check the documentation :-p |
| 21:06 | <Philip`> | (I can never remember how Python 're' works either) |
| 21:06 | <Philip`> | (But I can always remember in Perl that you just do $foo =~ /bar/ which is nice and easy and doesn't involve forgettable method names) |
| 21:07 | <gsnedders> | String.match or RegExp.exec |
| 21:13 | <gsnedders> | document.body.innerHTML.match(/<dd>Themes: (.*)/g) returns stuff |
| 21:13 | <gsnedders> | document.body.innerHTML.match(/<dd>Themes: (.*)<\/dd>/g) does not |
| 21:14 | <gsnedders> | . doesn't match new lines, does it? |
| 21:15 | <Philip`> | It only does if you add the /s flag |
| 21:15 | <Philip`> | (You probably want .*? rather than .* otherwise it'll break if you have more than one dd element) |
| 21:16 | gsnedders | could just go for the http://pastie.org/345813 suggestion |
| 21:16 | <Philip`> | How boring |
| 21:16 | <gsnedders> | :) |
| 21:17 | <Philip`> | That for loop seems like a good example of premature optimisation |
| 21:18 | gsnedders | didn't write it |
| 21:20 | <gsnedders> | "iirc, for in has problems in IE" |
| 21:22 | Philip` | was thinking of the use of 'max', rather than of anything involving 'for in' |
| 21:22 | <gsnedders> | ah, that |
| 21:35 | <gsnedders> | Who wants to bet I write more code for my English dissertation notes than I do for my computing project over the holidays? :) |
| 21:37 | <Philip`> | And more English for your computing project than for your English dissertation notes? |
| 21:37 | <gsnedders> | Nah |
| 21:40 | <gsnedders> | Is there any sort of mapping structure in JS? |
| 21:41 | <Philip`> | gsnedders: What do you mean by 'mapping'? |
| 21:41 | <gsnedders> | Philip`: like a Python dict, a key/value mapping structure |
| 21:41 | <Philip`> | gsnedders: {'key':'value'} |
| 21:41 | <gsnedders> | heh |
| 21:41 | <Philip`> | and thing.key = value |
| 21:42 | <Philip`> | JS barely has any structures *except* the mapping structure :-) |
| 21:43 | <gsnedders> | Is there anyway to get an array of keys? |
| 21:44 | <Philip`> | var ks = []; for (var k in thing) ks.push(k); is the only way I know of |
| 21:44 | <gsnedders> | ah, sux :\ |
| 21:44 | <Philip`> | or [k for (k in thing)] if you're using Firefox, maybe |
| 21:45 | <gsnedders> | I need more than Fx support :P |
| 21:45 | <gsnedders> | (I need it to work on school computers running IE6) |
| 21:46 | <Philip`> | Just write a function keys(obj) { ... } and then you'll never have to worry about it again |
| 21:49 | <gsnedders> | How do you do a string replace in Javascript (a non-regex one)? |
| 21:50 | gsnedders | concludes you don't |
| 21:50 | <Philip`> | Wild guess: thing.replace("foo", "bar") |
| 21:51 | <takkaria> | you know, using plain text works everywhere |
| 21:51 | <Philip`> | takkaria: If you really want it to work everywhere, you'd have more luck with paper than with plain text |
| 21:57 | <gsnedders> | Philip`: I guess you'd start to hit issues with water, though. |
| 21:58 | gsnedders | has more bug reports on SP due to XML parse errors |
| 21:58 | <gsnedders> | annevk: Can you finish XML5, please? |
| 22:01 | <Philip`> | gsnedders: That's not much of a problem - you can get waterproof paper, and then you can write with it underwater by cutting it into stencilled letter shapes |
| 22:05 | gsnedders | wonders WTF is going on |
| 22:06 | <gsnedders> | http://pastebin.com/m7a92716b — how come the two alerts aren't the same? |
| 22:07 | <gsnedders> | Like, "Themes: Protagonist's Introspection" v. "undefined" |
| 22:09 | <Philip`> | gsnedders: Because in the second one, element === 0 |
| 22:09 | <gsnedders> | why!? |
| 22:09 | <Philip`> | gsnedders: Because 'for in' iterates over keys, not values |
| 22:09 | <gsnedders> | oh. |
| 22:09 | <gsnedders> | duh. |
| 22:09 | <Philip`> | and the key is 0 |
| 22:09 | <Philip`> | (and the value is what you want) |
| 22:09 | <gsnedders> | Yeh. |
| 22:09 | <jruderman> | for each ... in ;) |
| 22:09 | <Philip`> | You could use 'for each' if you only want to work in Firefox :-) |
| 22:10 | <gsnedders> | And if I want it to work in anything else for(i=0…) |
| 22:10 | <gsnedders> | ? |
| 22:10 | <Philip`> | That's probably the easiest way |
| 22:12 | <gsnedders> | meh |
| 22:13 | <gsnedders> | lovely Javascript… |
| 22:13 | <Philip`> | It's your fault for using crippled browsers that don't support modern JS features :-p |
| 22:13 | <gsnedders> | :P |
| 22:56 | <annevk> | twitter works |
| 23:09 | <annevk> | Hixie, "WHATWG" could be it once we take over the appropriate specs |
| 23:09 | annevk | blinks |
| 23:35 | <Hixie> | heh |
| 23:43 | Philip` | becomes unhappy with Perl's JSON module turning "10.00" into 10.00 and therefore losing information |
| 23:44 | Philip` | also doesn't like how the current version of the module is totally different to the earlier version that he has installed |