| 00:14 | <annevk> | does anyone know what i7 stands for in the new Intel product line? |
| 00:14 | <annevk> | (press release doesn't say) |
| 00:19 | <weinig> | annevk: nice |
| 02:45 | <takkaria> | if anyone has an example of a page which ends up needing to be reparsed because of html5's charset algorithm when a meta tag is encountered, I'd very much appreciate a pointer to it |
| 03:03 | <Hixie> | takkaria: <script>alert('A');</script><!-- xx megabytes xx --><meta charset="C"> |
| 03:03 | <Hixie> | takkaria: where A is a byte that is interpreted differently in two encodings |
| 03:03 | <Hixie> | and C is the one of those encodings that isn't hte one the browser picks by default |
| 03:03 | <takkaria> | ah, I get you. I thought it might be mostly to do with scripting |
| 03:03 | <Hixie> | doesn't have to be scripting |
| 03:03 | <Hixie> | could be: A<!-- xx megabytes xx --><meta charset="C"> |
| 03:04 | <Hixie> | it's just more obvious with an alert() because then you get to see that it shows up twice |
| 03:04 | <takkaria> | right! got you, thanks |
| 03:04 | <Hixie> | np |
| 03:05 | <takkaria> | there is a web browser equipped with the HTML5 parsing algorithm now, though it's not got scripting so isn't the most useful browser for testing all the bits that require scripting :) |
| 03:05 | <Hixie> | :-) |
| 03:05 | <Hixie> | is scripting on the agenda? |
| 03:06 | <takkaria> | at some point in the future, I believe, but nothing very soon |
| 03:06 | <Hixie> | k |
| 03:06 | <takkaria> | otoh, I expect there'll be useful feedback from users of NetSurf when pages break |
| 05:50 | <Hixie> | sweet |
| 05:50 | <Hixie> | in IE you can insert multiple nodes into the document (adjacent to the root element) using insertAdjacentHTML() |
| 05:53 | <Hixie> | and iAH() doesn't work with table bits in IE |
| 06:22 | <Hixie> | anyone got an old version of IE? like IE7 or IE6? |
| 06:22 | <Hixie> | i'd like http://junkyard.damowmow.com/336 tested with one of those |
| 06:23 | <krijnh> | 024578A9 (IE6) |
| 06:23 | <Hixie> | thanks |
| 06:23 | <krijnh> | 021453786A9 (IE5.5) |
| 06:23 | <Hixie> | wow, cool, thanks |
| 06:24 | <krijnh> | Run with IETester.. |
| 06:24 | <Hixie> | IETester? |
| 06:24 | <krijnh> | http://www.my-debugbar.com/wiki/IETester/HomePage |
| 06:24 | <Hixie> | neat |
| 06:25 | <krijnh> | No idea if it's reliable :) |
| 06:25 | <Hixie> | yeah i was about to say, i wonder if that's reliable with javascript: and iframes |
| 06:26 | <krijnh> | It's the only way for me to get some different versions of IE running on Vista |
| 07:21 | <aboodman2> | Hixie: I keep wishing that support for conversations via MessageChannel was more built-in |
| 07:22 | <Hixie> | how do you mean? |
| 07:22 | <aboodman2> | like, when you get a message, you always get an object you can reply to the sender with. like it is built into the api. |
| 07:23 | <aboodman2> | It's just a little thing, but I was wondering if you could think of some way to make it work. |
| 07:23 | <aboodman2> | I keep wanting the sender to be able to do: |
| 07:23 | <aboodman2> | var port = worker(or iframe).sendMessage("foo"); |
| 07:23 | <aboodman2> | and then the port represents the conversation |
| 07:24 | <aboodman2> | and on the other side, the worker (or iframe) could do globalObject.addEventListener("message", function(e) { e.port.sendMessage("reply") }, false) |
| 07:24 | <Hixie> | a port _is_ a conversation |
| 07:24 | <aboodman2> | right, i know |
| 07:24 | <Hixie> | if you want to split the conversation off, just send a port with the message |
| 07:25 | <Hixie> | and use that port for the subconversation |
| 07:25 | <aboodman2> | i know, it seems slightly less elegant for some reason to send the port as an argument |
| 07:25 | <Hixie> | i don't understand you example fragments |
| 07:25 | <Hixie> | your |
| 07:25 | <aboodman2> | one second |
| 07:33 | <aboodman2> | k, here is how it works now: |
| 07:33 | <aboodman2> | var channel = new MessageChannel(); |
| 07:33 | <aboodman2> | var worker = createWorker("foo.js"); |
| 07:33 | <aboodman2> | channel.port1.addEventListener("message", function(e) { ... }, false); |
| 07:33 | <aboodman2> | worker.sendMessage("init", channel.port2); |
| 07:33 | <aboodman2> | here is how I wish it would work |
| 07:33 | <aboodman2> | var worker = createWorker("foo.js"); |
| 07:33 | <aboodman2> | var port = worker.sendMessage("init"); |
| 07:33 | <aboodman2> | port.addEventListener("message", function(e) { ... }, false); |
| 07:34 | <aboodman2> | the worker code would look the same as it does now. e.port would contain a port that could talk back to the return value from sendMessage() |
| 07:35 | <aboodman2> | I do not know how to make this work with your goal of wanting to be able to send arbitrary ports though. |
| 07:35 | Hixie | reads (sorry, had a cat petting emergency) |
| 07:37 | <Hixie> | note that |port.addEventListener("message", function(e) { ... }, false);| is better written as |port.onmessage = function (e) { ... };| |
| 07:37 | <aboodman2> | why? |
| 07:37 | <aboodman2> | because otherwise i need to call start()? |
| 07:37 | <Hixie> | it's shorter, and doesn't require calling start() |
| 07:37 | <Hixie> | but that's orthogonal |
| 07:38 | <Hixie> | i agree that it would be neat to have a method that creates a port and includes it |
| 07:38 | <Hixie> | and returns a matching port |
| 07:38 | <Hixie> | you would likely not want that to happen every time, creating a port is presumably not free |
| 07:39 | <Hixie> | btw, it's now worker.port.sendMessage(), since sicking wanted a separate Worker object returned from createWorker() |
| 07:39 | <aboodman2> | yeah. |
| 07:40 | <Hixie> | we could have port.postMessageWithNewChannel('message') which returns a port |
| 07:40 | <Hixie> | though that name sucks |
| 07:41 | <aboodman2> | it seems like it would be possible for implementations to know if the port is used and delay the hard work until then |
| 07:42 | <Hixie> | true |
| 07:42 | <Hixie> | maybe |
| 07:42 | <aboodman2> | another thing. |
| 07:42 | <aboodman2> | let's say you send port2 to a friend. |
| 07:43 | <aboodman2> | and then you start doing things like: |
| 07:43 | <aboodman2> | port2.onmessage = function(e) { alert('hi') } |
| 07:43 | <aboodman2> | that's totally nonsensical, right? |
| 07:44 | <Hixie> | yeah |
| 07:44 | <Hixie> | once you send port2, it'll never receive a message again |
| 07:47 | <Hixie> | so should i make postMessage() always create a new channel and send a port? |
| 07:47 | <Hixie> | seems expensive to me |
| 07:47 | <Hixie> | even if theoretically it could be optimised |
| 07:48 | <aboodman2> | no |
| 07:48 | <aboodman2> | I'm not sure about sicking but a lot of my feedback has been wrong based on not totally understanding what you were trying to do or what the spec proposed. |
| 07:49 | <aboodman2> | so i'm just registering the wish that conversations were more elegant because that is a real problem with gears (and postMessage) right now |
| 07:50 | <aboodman2> | but i don't have a concrete suggestion |
| 07:52 | <Hixie> | maybe port.startConversation('message'); which returns a port and sends a new port |
| 07:52 | <aboodman2> | yeah, i think something like that would be cool |
| 08:30 | <Hixie> | aboodman2: ok, added startConversation() |
| 08:30 | <aboodman2> | don't do that |
| 08:31 | <aboodman2> | i was speaking theoretically |
| 08:31 | <Hixie> | you said it would be cool |
| 08:31 | <Hixie> | i agree |
| 08:32 | <Hixie> | man, you people need to stop telling me that things would be good ideas if you don't think they're good ideas |
| 08:32 | <Hixie> | anyway, it's in now, but easy to remove if we decide we don't want it |
| 08:32 | <aboodman2> | what was the expense you were thinking of to create a port? |
| 08:34 | <Hixie> | creating a port and sending it requires creating a MessageChannel and three MessagePorts instead of just creating the two ports already entangled in the right thread spaces |
| 08:35 | <aboodman2> | can you get from a port object to a channel? |
| 08:35 | <Hixie> | no |
| 08:35 | <Hixie> | a channel is basically just an array of two ports |
| 08:36 | <aboodman2> | right, so you just need to create the port to return |
| 08:36 | <aboodman2> | the port seems like it just wraps a unique integer |
| 08:36 | <aboodman2> | and then on the other side you have to create the other port, which can be done lazily |
| 08:36 | <Hixie> | right |
| 08:38 | <Hixie> | but without startConversation(), the author has to create a new messagechannel, then call postmessage, which creates a third port |
| 08:38 | <Hixie> | hence startConversation() is cheaper |
| 08:39 | <Hixie> | i wish sicking would send feedback |
| 08:39 | <Hixie> | he was all like "we have to have this done in 11 days or it's all over!" last week |
| 08:39 | <Hixie> | barely heard three e-mails out him since |
| 08:39 | <Hixie> | out of him |
| 08:40 | <gavin_> | he was at blackhat last week, fwiw |
| 08:41 | <Hixie> | yeah |
| 08:41 | <Hixie> | so? :-) |
| 08:41 | <Hixie> | i was off sick last week, didn't stop me from responding to all his mails :-) |
| 08:44 | <gavin_> | it's harder to be around a computer 24/7 at blackhat than it is when you're off sick :) |
| 08:45 | <gavin_> | casino security doesn't appreciate laptops at the blackjack tables |
| 08:45 | <Hixie> | i'm just saying' |
| 08:46 | <Hixie> | er, sayin' |
| 08:46 | <Hixie> | he was volunteering to edit it because it was so urgent |
| 08:46 | <Hixie> | presumably because i was a bottleneck |
| 08:46 | <gavin_> | yeah- did you emailhima bout it? |
| 08:47 | <aboodman2> | Hixie: it's pretty hard to digest these. |
| 08:47 | <Hixie> | aboodman2: hm? |
| 08:47 | <gavin_> | I think you'd get better results with that than with griping on IRC when he isn't her e:) |
| 08:47 | <Hixie> | i'm just ranting, i'm sure he's replying as fast as he can :-) |
| 08:48 | <Hixie> | i didn't e-mail him specifically to ask why he hadn't replied, i assumed he had good reasons :-) |
| 08:48 | <Hixie> | aboodman2: these what? |
| 08:54 | <aboodman2> | Hixie: specs |
| 08:55 | <Hixie> | sure |
| 08:55 | <Hixie> | i made a bunch of demos which hopefully help explain the worker model a bit |
| 08:55 | <aboodman2> | yes, they help a lot. |
| 09:42 | <Lachy> | I finally found a solution to allow me to stream olympics from NBCs website, even though I'm not in the USA! :-) |
| 09:43 | <hendry> | Lachy: which is? proxy? ?:) |
| 09:44 | <Lachy> | I forward all connections using ssh through my web server which is in the USA |
| 09:44 | <Lachy> | using: ssh -D 8080 -fN lachy.id.au - and then setting my setting the SOCKS proxy in my browser to localhost 8080 |
| 09:45 | <Lachy> | http://ubuntu-tutorials.com/2008/06/18/tunnel-web-and-dns-traffic-over-ssh/ |
| 09:47 | <gavin_> | there are no australian sites that offer internet feeds of the ollympics? |
| 09:47 | <gavin_> | perhaps http://www.cbc.ca/olympics/ would work better? |
| 09:48 | <gavin_> | oh, I forgot you're in norway |
| 09:50 | <Hixie> | well my 1.5TB disk just started makin horrific noises |
| 09:50 | <Hixie> | so i guess it's time to get a drobo |
| 09:50 | <hendry> | Lachy: i'm IP restricted from BBC news covereage, even though I am in the UK http://www.flickr.com/photos/hendry/2753042810/ |
| 09:52 | <gavin_> | I guess the broadcasters are forced to implement some sort of geographical restrictions |
| 09:52 | <hsivonen> | Hixie: http://www.whatwg.org/specs/web-apps/current-work/source-whatwg is 404 |
| 09:52 | <hendry> | gavin_: forced by "exclusive deals" and greed |
| 09:53 | <Hixie> | hsivonen: yeah, it's only not 404 while i'm running the gen script |
| 09:53 | <Hixie> | hsivonen: the markup just had <dfncode> or something along those lines |
| 09:53 | <Hixie> | no embedded nulls or anything |
| 09:56 | <hsivonen> | Hixie: ok |
| 09:58 | <Lachy> | gavin_, yahoo7.com.au/Olympics has streaming, but I need access to server in Australia that I can tunnel through. I would prefer that, cause that only requires flash. I had to install silverlight to watch NBC, and I wish I didn't |
| 09:58 | <gavin_> | no norwegian sites? |
| 09:59 | hendry | is there is a flickr or youtube of short mp3 clips, so i can embed sound into my blog with (urg) flash (fall back to <audio> would be a plus) |
| 09:59 | <Lachy> | not that I know of. But even if they did, they would have norwegian commentary, not english |
| 09:59 | <Lachy> | there is also SOPCast, which has live streaming, but that only seems to have a chinese language stream |
| 10:00 | <Lachy> | and its windows only, so I can only run it in virtual machine |
| 10:02 | <Hixie> | ok, drobo purchased |
| 10:02 | <Hixie> | i'm fed up of disks dying all the time, hopefully this will make it a non-issue |
| 10:02 | <Lachy> | Hixie, I was thinking about getting myself a drobo too |
| 10:03 | <Hixie> | they seem pretty sweet |
| 10:03 | <Lachy> | I don't have problem with disks dying, but I am running out of storage space, so I need an economical solution that is cheaper to setup than a RAID |
| 10:07 | <Hixie> | can't you just buy a new disk and add it to the usb bus? |
| 10:08 | <hsivonen> | my HFS+ filesystem holding my real-world test data and Time Machine backups just died |
| 10:08 | hsivonen | wishes HFS+ were more robust |
| 10:08 | <hsivonen> | I guess next time I should put the real-world data on a disk image instead of stressing the catalog file of the concrete fs |
| 10:09 | <Hixie> | i made a point of not putting anything but my time machine backups on the time machine drive |
| 10:09 | <Lachy> | I already have 2 external 1TB drives |
| 10:09 | <Hixie> | (that's the one that just started making weird high pitches screeching noises) |
| 10:09 | <hsivonen> | Hixie: probably a good idea |
| 10:09 | <Hixie> | (i just turned it off without checking if it was ok) |
| 10:10 | <Hixie> | (don't want to cause it to fail before i have something to replace it) |
| 10:10 | <hsivonen> | my Time Machine disk never fills up, because HFS+ dies first and I have to restart Time Machine history |
| 10:12 | <Hixie> | my 1.5TB disk was down to a few dozen GB |
| 10:12 | <Hixie> | but unrelated to that i've had hell getting it to work over the network |
| 10:13 | <hsivonen> | I have high hopes for zfs |
| 10:13 | <Hixie> | my disk failures have always sounded very hardware-related |
| 10:13 | <Hixie> | i had a dell laptop once whose motherboard had a bug that was actually destroying hard disks |
| 10:14 | <Hixie> | and my mac mini has had two disks die on it (both maxtor) |
| 10:14 | <Hixie> | (including this latest one) |
| 10:15 | <Hixie> | my plan once i have the drobo is to get spinrite and put it on an old pc i have lying around and see if i can get the dead maxtor 750GB disk and the potentially dead maxtor 1.5TB disk up and working again |
| 10:15 | gavin_ | can't recall ever suffering from a hard drive failure |
| 10:15 | <Hixie> | and if so, use them as an external disk for my girlfriend's timemachine instead of going over the network |
| 10:16 | <Hixie> | anyway, bed time first |
| 10:17 | <Hixie> | btw anyone know why <script src=""> doesn't support javascript: URLs? (zcorpan sent mail late last year about it) |
| 10:20 | <gavin_> | does it not work in gecko? |
| 10:20 | gavin_ | would expect it o |
| 10:21 | <Hixie> | it does nothing |
| 10:22 | <Hixie> | http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E...%3Cscript%20src%3D%22javascript%3Aalert(%27test%27)%3B%27test%27%22%3E%3C%2Fscript%3E |
| 10:23 | <gavin_> | well, "alert" isn't valid JS |
| 10:24 | <gavin_> | that reutns alert.toString() |
| 10:24 | <gavin_> | which would justredefine alert |
| 10:24 | <gavin_> | ...with invalid JS code |
| 10:24 | <gavin_> | nevermind |
| 10:30 | <webben> | Hixie: Do you have a view on whether, if RDFa in XHTML becomes a Recommendation (currently it's CR), it would be conforming with HTML5 to use its elements and attributes in an XML document also using the new RDFa attributes, which are also in http://www.w3.org/1999/xhtml ( http://www.w3.org/TR/2008/CR-rdfa-syntax-20080620/ ) ? |
| 10:30 | <webben> | or are these drafts fundamentally incompatible? |
| 10:31 | <Hixie> | sorry i don't quite follow the question |
| 10:32 | <webben> | Hixie: I guess it boils down to: if some elements and attributes are placed into the HTML namespace by another W3C recommendation, can they be used in an XML document also using elements and attributes in the HTML namespace which are defined by HTML5? |
| 10:34 | <webben> | Would that break document conformance with HTML5, for instance? |
| 10:34 | <hsivonen> | Hixie: I'm unable to reproduce the dtcode bug |
| 10:35 | <annevk> | webben, it would |
| 10:36 | <webben> | annevk: Would it break conformance in a different way than (for example) including some elements in a completely different namespace (I dunno, MusicML or something) would? |
| 10:37 | <webben> | annevk: i.e. would it have the same relationship to HTML5 as the XML documents include XHTML and MathML do to XHTML 1.0? http://www.w3.org/TR/xhtml1/#well-formed |
| 10:37 | <webben> | *as XML documents that include |
| 10:37 | <hsivonen> | webben: as implemented, they both get the same type of error message |
| 10:38 | <hsivonen> | interestingly, my "eRDF5" trial balloon got Warnocked, even though a couple of people had tried to stir discussion about RDFao |
| 10:38 | <hsivonen> | s/ao/a/ |
| 10:39 | <hsivonen> | Hixie: oops. I can reproduce the dtcode thing now |
| 10:39 | <hsivonen> | will investigate |
| 10:40 | <webben> | hsivonen: Thanks. |
| 10:52 | <mcarter> | does anyone know what a browser is supposed to do when (in an xhr response) it receives data ending with a partial unicode character -- should it trigger a readystate 3 with only the last complete character? |
| 10:53 | <annevk> | it should simply try to decode it |
| 10:53 | <annevk> | the partial character will turn into U+FFFD |
| 10:54 | <hsivonen> | mcarter: do you mean really ending or the first buffer containing a partial character with potentially more data coming up? |
| 10:54 | <mcarter> | hsivonen, actually, I'm curious about both cases |
| 10:55 | <annevk> | same for both |
| 10:55 | <Hixie> | webben: it has the same conformance status as web forms 2 vs html4 |
| 10:55 | <Hixie> | webben: using it would be conforming to the spec that makes up those attributes, but not to html5 proper |
| 10:55 | <hsivonen> | mcarter: if the stream ends, I'd do what annevk said. If the stream doesn't end, I'd hold onto the partial character expecting more data and behave as if that character hadn't yet been received as far as scripts go |
| 10:56 | <webben> | Hixie: That seems a reasonable answer. :) Thanks. |
| 10:56 | <Hixie> | webben: it doesn't matter what the namespace is, though |
| 10:56 | <Hixie> | webben: from the point of view of conformance |
| 10:56 | <mcarter> | annevk, how could the web work at all if it turned it into a U+FFFD character? sometimes unicode characters get split into two seperate packets, and half of the character might come through before the other half |
| 10:56 | <webben> | Hixie: okay |
| 10:57 | <hsivonen> | mcarter: that is, I'd expect the partial character stay inside the decoder and the decoder not outputting more data until it has at least one complete character to output |
| 10:57 | <mcarter> | hsivonen, that makes sense |
| 10:57 | <Hixie> | webben: i mean, the spec could say it's the xhtml namespace, or that it's the foobar namespace, html5 doesn't care, html5 just cares about "metadata elements" and "phrasing elements" and so on, the categories |
| 11:00 | <hsivonen> | fwiw, I think RDFa could be mostly harmless if it used full URIs instead of CURIEs and, therefore, didn't need to know the namespace mapping context at each node |
| 11:00 | <hsivonen> | I'm strongly opposed to importing any CURIE or other qnames-in-content stuff into HTML5 |
| 11:01 | <Hixie> | RDFa would be mostly harmless in the same way that products in sky mall magazines are mostly harmless |
| 11:02 | <Hixie> | they're solving a problem that people think they have when they're stuck 30,000ft up for 12 hours, but when they get down to earth, they don't find it actually fits in with their workflow |
| 11:04 | <Hixie> | i should totally make a sky mall catalogue of web standards |
| 11:04 | <annevk> | :) |
| 11:06 | <hsivonen> | I'd be interested to know how RDFa ended up in the HTML WG charter |
| 11:07 | <annevk> | probably similar to how the word XForms ended up there |
| 11:08 | <annevk> | or ITS |
| 11:09 | <hsivonen> | Hixie: dtcode issue fixed |
| 11:09 | <Hixie> | cool, what was it? |
| 11:10 | <hsivonen> | Hixie: no longer saying that <dtcode> cannot be mapped to XML |
| 11:10 | <Hixie> | right i mean what was the source of the bug? :-) |
| 11:11 | <hsivonen> | Hixie: I had forgotten the NCName check and only checked for customness when name policy was allowing XML violations |
| 11:32 | <annevk> | Hixie, insertAdjacentHTML is not an attribute |
| 11:32 | <annevk> | Hixie, the sentence outerHTML and insertAdjacentHTML attributes should probably say "members" |
| 15:35 | <zcorpan> | i find it amusing that people have opinions about the <script src=javascript:'...'> thing |
| 15:44 | <annevk> | maybe there was not enough e-mail |
| 17:02 | <zcorpan> | firefox adds a playbackrate=1 attribute to <video> elements |
| 17:02 | <takkaria> | fun times |
| 17:02 | <hsivonen> | zcorpan: do you mean in add the attribute to teh DOM even if absent from source? |
| 17:03 | <zcorpan> | hsivonen: yes |
| 17:03 | <zcorpan> | if you have <video playbackrate=2> in source firefox still says it's 1 |
| 17:03 | <hsivonen> | zcorpan: that sucks. is there a bug report already? |
| 17:03 | <zcorpan> | if you set video.playbackRate = 3 firefox updates the content attribute |
| 17:04 | <zcorpan> | dunno |
| 17:05 | <hsivonen> | not with the obvious word in description, at least |
| 17:06 | <zcorpan> | same with <audio> |
| 17:06 | <hsivonen> | I'll file a bug. |
| 17:07 | <zcorpan> | cool |
| 17:11 | <hsivonen> | aargh. my tokenizer loop has gone over 8000 byte codes again |
| 17:16 | <hsivonen> | https://bugzilla.mozilla.org/show_bug.cgi?id=450115 |
| 19:10 | <annevk> | did @whatwg.org just get spam? |
| 19:11 | <annevk> | http://googlemobile.blogspot.com/2008/08/google-translate-now-for-iphone.html -_- instead of actually making a normal Web page that just works they add special trickery for the iPhone |
| 23:40 | <takkaria> | oops, I almost replied to RB then |