00:05 | <Philip`> | TabAtkins: It'll cause things like h(h(0)) = 0 which sounds dodgy since algorithms wouldn't expect that |
00:05 | <TabAtkins> | It' |
00:05 | <TabAtkins> | It's just a fixed point, which can happen anyway. |
00:06 | <Philip`> | Normally finding fixed points of a hash should be computationally infeasible |
00:08 | <The_8472> | <TabAtkins> OH: If I were ever to design a hashing function, I'd try to set things up so that hash(0) = 0. Even if that meant appending a final step to the algorithm: <- why would you do that? |
00:09 | <TabAtkins> | The_8472: So it's easier to recognize when you're hashing the empty string? |
00:09 | <The_8472> | empty string != 0x00 |
00:33 | <TabAtkins> | The_8472: For hashing purposes, they *are* equal, aren't they? An empty string should be equivalent to a string of nulls |
00:33 | <The_8472> | no |
00:33 | <The_8472> | an empty string has a length of 0. a null byte has the length of 1 |
00:34 | <TabAtkins> | Yes, but hashes run over integers, not strings. What's the difference in the input number? |
00:34 | <Philip`> | When hashing arbitrary strings, you usually append a 1 bit and then as many 0 bits as necessary to reach the block size |
00:34 | <TabAtkins> | Ah, that would do it. |
00:34 | <Philip`> | because otherwise "x" and "x\0" would hash to the same thing |
00:34 | <TabAtkins> | Yeah, that makes sense then. |
00:34 | <The_8472> | Philip`, the hash algorithms already do that |
00:34 | <The_8472> | you don#t have to do it manually |
00:35 | <Philip`> | Depends what part you consider the hash algorithm :-) |
00:35 | <TabAtkins> | The hash preprocessor does it. ^_^ |
00:35 | <The_8472> | the whole merkle-demgard construction, not just the core function |
06:37 | <myakura> | zcorpan, re the form attribute example in html5-diff draft (section 3.2), I see form and id values don't match (form=foo vs. id=test). Do you mean you want to show the input isn't associated with the form? http://dev.w3.org/html5/html4-differences/#new-attributes |
06:45 | <Akilo> | saluton |
07:52 | <matjas> | hsivonen: Since 13 January 2011, the character encoding declaration is now allowed to be within the first 1024 bytes instead of the first 512 bytes. |
07:52 | <matjas> | hsivonen: Can haz validator.nu update? |
07:52 | <matjas> | http://www.w3.org/TR/html5-diff/ |
07:58 | <matjas> | http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#charset |
09:14 | <myakura> | matjas, https://bitbucket.org/validator/htmlparser/src/tip/src/nu/validator/htmlparser/impl/Tokenizer.java#cl-1173 says 512 so it might not. |
09:14 | <matjas> | myakura: I know, that’s why I’m asking for an update :) |
09:19 | <myakura> | matjas: :) I didn't even know that's been implemented. http://bugzilla.validator.nu/show_bug.cgi?id=413 is still open :) |
09:25 | <matjas> | line 14662 of validator/spec/html5.html says ”<li id=charset1024><span id=charset512 title="">The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document.</span></li>” |
09:26 | <matjas> | that’s weird |
10:31 | <matjas> | The `id=charset512`, I mean |
10:34 | <Philip`> | That's just for compatibility with people linking to old #charset512 URLs, I believe |
11:35 | <Spacechimp> | wow |
11:36 | <Spacechimp> | Lots of folks here |
11:36 | <Spacechimp> | I have a question about websocket handshakes |
11:36 | <Spacechimp> | specifically draft-ietf-hybi-thewebsocketprotocol-00 |
11:37 | <Spacechimp> | and how to go about formulating the response |
11:37 | <Spacechimp> | this wikipedia article touches on it, http://en.wikipedia.org/wiki/WebSockets |
11:37 | <Spacechimp> | but its kinda murky |
11:38 | <Spacechimp> | anyone have a better resource? |
11:42 | <tomasf> | you've read the actual draft, right? :) |
11:42 | <Spacechimp> | no |
11:42 | <tomasf> | http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-00 |
11:43 | <Spacechimp> | ah, thank you Tomasf |
11:43 | <tomasf> | np |
11:43 | <Spacechimp> | I did see it, but didn't realize I could scroll down :P |
11:50 | <reschke> | actually, what you *want* to read is http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07 |
11:51 | <Spacechimp> | is this what chrome is currently using? |
11:52 | <reschke> | dunno |
11:53 | <Spacechimp> | The handshake data I am recieving match what is in 00 |
11:54 | <reschke> | http://www.chromium.org/developers/web-platform-status |
11:54 | <reschke> | i see |
11:54 | <reschke> | but be prepared for it to change in future Chrome versions |
11:55 | <Spacechimp> | ah! Left before I could say thank you. |
11:56 | <Philip`> | Spacechimp: You can say it anyway and he'll see it in the IRC logs :-) |
11:56 | <zcorpan> | Spacechimp: browsers are going to move away from -00 |
11:56 | <Spacechimp> | Ok, I will write current and legacy support |
11:58 | <zcorpan> | Spacechimp: if you're writing a -00 server, you might find opera's error console helpful (enable websockets in opera:config first) |
11:59 | <Spacechimp> | ok, I will check it out. |
11:59 | <Spacechimp> | ty |
11:59 | <zcorpan> | and a tcp inspector like wireshark is probably helpful |
11:59 | <Spacechimp> | yeah, i have been using wireshark |
11:59 | <Spacechimp> | :P |
11:59 | <zcorpan> | good :) |
12:00 | <Spacechimp> | Was using sysinternals tcp endpoint viewer, but it doesn't log afaik |
12:04 | <Spacechimp> | ah, This is exaclt what I was looking for. |
12:04 | <Spacechimp> | *exactly |
12:05 | <zcorpan> | what was? |
12:05 | <Spacechimp> | Thanks for the links guys! |
12:05 | <Spacechimp> | the docs you linked |
12:06 | <Spacechimp> | beats trying to figure out specs from wikipedia articles |
12:07 | <smaug____> | Spacechimp: Fx4 has websocket -00, but it is disabled by default |
12:07 | <smaug____> | Fx6, I hope, will have -07 |
12:08 | <Spacechimp> | Do you think the security concerns are realistic? |
12:09 | <smaug____> | for -00? |
12:09 | <smaug____> | yes, that is a reason why WebSockets aren't enabled by default in Opera or Fx4 |
12:09 | <Spacechimp> | firefox pulling websockets in general |
12:10 | <smaug____> | other reason was that the protocol specification was very unstable at the -00 time |
12:10 | <zcorpan> | doesn't seem particularly stable now either |
12:11 | <smaug____> | well, it is more stable :) |
12:11 | <zcorpan> | how is it more stable? |
12:11 | <smaug____> | do we expect handshaking to change? |
12:12 | <smaug____> | I wonder what is a stable spec nowadays... |
12:12 | <zcorpan> | i didn't expect handshaking to change at -00 time before the security thing was brought up |
12:12 | <zcorpan> | if i had known that websocket would be changed, we wouldn't have implemented it in opera yet |
12:13 | <smaug____> | that is probably true for gecko too |
12:13 | <smaug____> | since -07 implementation is quite different to -00 |
12:14 | <smaug____> | at least the -07 spec has gone through more reviews than -00 |
12:14 | <smaug____> | and that is usually good thing |
12:14 | <Spacechimp> | Yeah, I really love the idea of websockets. I do feel like a testpilot atm though. I have a feeling that I am going to be writing support for other (psudo)push tech for browsers that do not support it though. |
12:14 | <zcorpan> | smaug____: have you read my review of -06? |
12:15 | <smaug____> | nope |
12:15 | <smaug____> | apparently I should |
12:15 | <zcorpan> | smaug____: http://www.ietf.org/mail-archive/web/hybi/current/msg07063.html |
12:15 | <zcorpan> | smaug____: the security problem might have been fixed, but the spec is *bad* compared to -00 |
12:17 | <zcorpan> | i don't really want opera's implementation work to start with the state the spec is in now |
12:17 | <smaug____> | interesting |
12:17 | <zcorpan> | but i have not got any indication that the spec is going to be good, so i guess we'll just have to make something up or reverse engineer gecko and chrome |
12:18 | <smaug____> | I need to ask Patrick what he thinks about the stability of the spec |
12:19 | <Philip`> | Isn't this exactly the kind of case where it's been argued that specs should be forked? |
12:20 | <Philip`> | (so browser implementers can override the standardisation groups, without ending up in an unspecified mess) |
12:20 | <Philip`> | (if they refuse to implement what the standardisation group proposes) |
12:20 | <zcorpan> | Philip`: yeah forking the spec is a possibility |
12:22 | <zcorpan> | Philip`: it's not that i refuse to implement the spec, it's just that it leaves a lot of things undefined, so i have no idea what to implement |
12:23 | <zcorpan> | (not that it's me who's going to implement it, i'm just QA, but nevertheless) |
13:20 | <zcorpan> | seems the canvas spec has most support in the poll |
13:47 | <smaug____> | does anyone know any public tests for server sent events? |
13:50 | <zcorpan> | http://tc.labs.opera.com/apis/EventSource/ |
13:51 | <zcorpan> | has svn interface if you want to grab the php files |
14:24 | <smaug____> | zcorpan: where is the svn interface? |
14:25 | <zcorpan> | smaug____: same server i think |
14:26 | <smaug____> | zcorpan: btw, does 1 out of 1 PASSED mean that all the tests pass? |
14:27 | <smaug____> | since if there are failures the result is something X out of 46 PASSED |
14:27 | <zcorpan> | smaug____: i guess, dunno |
14:28 | <smaug____> | there are also strange cases when assert_throws doesn't seem to detect exceptions properly |
14:30 | <zcorpan> | smaug____: send email to annevk |
14:42 | <smaug____> | zcorpan: apparently it should report more that 1 PASSED |
14:42 | <smaug____> | the testrunner doesn't seem to work properly in Opera atm |
14:43 | <smaug____> | I need to click back to get it to run the tests |
14:49 | <zcorpan> | smaug____: ok |
19:50 | AryehGregor | keeps on confusing foolip with Philip` :( |
19:56 | <Philip`> | But we have totally different names :-p |
19:56 | <Philip`> | I have a "`", he doesn't |
20:49 | <Hixie> | ok i'm back |
20:49 | <Hixie> | is anyone editing CORS these days? |
21:11 | <AryehGregor> | Okay, so, what's a good company to look into getting a laptop from? Would probably be my primary computer, and I'd ultimately want Linux on it, probably with Windows in a VM. Is it reasonable to just look at someplace like Dell? What should I be looking for? |
21:12 | <Hixie> | what's your budget? |
21:12 | <Hixie> | that's really the dominating factor |
21:12 | <AryehGregor> | Well, I expect I'll be using it an awful lot, and don't expect to have lots of expenses anytime soon, so if a higher price tag will buy me features that are really useful then I'd be willing to go pretty high. |
21:12 | <Hixie> | if your budget is above $1000, something from the macbook line is probably the best option |
21:12 | <AryehGregor> | But I don't know what features are worth it. |
21:13 | <Hixie> | if it's below that, dunno |
21:14 | <Philip`> | Do you care about e.g. 3D graphics acceleration? |
21:14 | <AryehGregor> | I'm not really interested in going for Apple unless it's really clearly worth it. Also, Matthew Garrett always complains about how Linux doesn't work so well on Macs because of their nonstandard firmware. |
21:14 | <Hixie> | the apple hardware is definitely worth it |
21:14 | <Hixie> | i haven't seen anything comparable in quality |
21:14 | <Hixie> | and the tech support is by far the best |
21:14 | <AryehGregor> | Well, I've gone for a pretty long time with no 3D graphics acceleration on my primary computer, because of lack of open-source driver support, so I wouldn't say it's necessary. |
21:15 | <Hixie> | can't speak for the linux compatibility |
21:15 | <Philip`> | Graphics cards usually seem to be a distinguishing factor between decent-but-cheap business-oriented laptops and much more expensive home-user/gamer ones |
21:16 | <AryehGregor> | Decent-but-cheap sounds okay to me. |
21:16 | Philip` | uses a pretty cheap Lenovo laptop which was like a third of the price of a MacBook Pro, with similar CPU and RAM and disk |
21:17 | <Philip`> | (and a much less irritating keyboard) |
21:17 | <AryehGregor> | I'd mostly want battery life and lots of RAM, I imagine. |
21:17 | <Philip`> | (and a much worse screen) |
21:17 | <AryehGregor> | And known Linux compatibility, ideally. |
21:17 | <Hixie> | the lenovos were pretty good for linux back when they were thinkpads |
21:17 | <Hixie> | i used that for several years |
21:18 | <Philip`> | (and if it breaks then I can just buy a new one) |
21:18 | <Philip`> | (and in practice it's not broken more often than the MBP) |
21:19 | <Philip`> | This isn't a ThinkPad-equivalent one, it's some cheaper range |
21:19 | <The_8472> | <AryehGregor> Well, I expect I'll be using it an awful lot, and don't expect to have lots of expenses anytime soon, so if a higher price tag will buy me features that are really useful then I'd be willing to go pretty high. <- if you can afford it, get a SSD |
21:20 | <Hixie> | Philip`: ah |
21:20 | <The_8472> | laptop hard disks are practically the slowest part. getting a core 2 or even an i7 is affordable. a few gb of ram are cheap too... but the HDDs are the bottleneck. at least if you do developing work on it |
21:20 | <AryehGregor> | My workload is almost completely in-memory other than booting, so I'm not sure if I'd prefer the reduced disk space. Unless it has a small ancillary SSD. |
21:20 | <AryehGregor> | What sort of developing work uses the disk all the time? Compilation? I don't do that. |
21:20 | <The_8472> | well, nobody needs DVD drives anymore. kick the drive, add something useful into the bay |
21:20 | <Hixie> | i can vouch for the perf benefits of SSD |
21:21 | <Hixie> | no spin-up time, faster seeks, it's just crazy what a difference it makes |
21:21 | Philip` | wonders if HDD+SSD uses significantly more battery than either by itself |
21:21 | <The_8472> | AryehGregor, yeah... live compiling, automatic redeployment and stuff like that |
21:21 | <AryehGregor> | I had an Intel SSD in my desktop for a while, barely noticed the difference. |
21:21 | <AryehGregor> | Because I have 4 GB of RAM and never reboot. |
21:21 | <AryehGregor> | And have the same applications always open. |
21:21 | <The_8472> | 4GB of ram? that's full after booting for me |
21:22 | <The_8472> | i need 8+ |
21:22 | <AryehGregor> | So for a laptop, it might make a difference to hibernate time. |
21:22 | <The_8472> | but yeah, it depends on your usage patterns |
21:22 | <AryehGregor> | The_8472, I generally only have a browser, IRC, and terminal running. |
21:22 | <The_8472> | mhhh... |
21:22 | <AryehGregor> | Well, currently three browsers, 21 IRC windows, three terminal windows, plus OO.org Writer and Gnumeric. |
21:22 | <AryehGregor> | But I'm still way under 2 GB memory usage. |
21:23 | <Philip`> | Why hibernate? |
21:23 | Philip` | always uses suspend-to-RAM which is instant |
21:23 | The_8472 | has a 400+ tab browser session, 1 VM, 2 terminal windows, 2 java applications, irc, mail client, database workbench and a few other things open |
21:23 | <AryehGregor> | Doesn't it eventually hibernate to save more battery? Or is the difference small enough that it doesn't matter? |
21:24 | <AryehGregor> | My parents' Toshiba laptop with Windows 7 always hibernates eventually. |
21:24 | <AryehGregor> | (Even when plugged in, annoyingly.) |
21:24 | <The_8472> | you can configure that |
21:24 | <AryehGregor> | I know. |
21:24 | <Philip`> | I think it could last >20 hours in suspend on a full battery |
21:24 | <AryehGregor> | But I tend to assume defaults are sane until proven otherwise. |
21:24 | <AryehGregor> | Plus, it's not my laptop. |
21:24 | <Philip`> | and I never have it unplugged for more than about an hour |
21:24 | <Hixie> | Philip`: do you encrypt the disk? |
21:24 | <The_8472> | that's a faulty assumption |
21:24 | <The_8472> | windows defaults are always wrong. |
21:25 | <Philip`> | Hixie: No, but I'd probably notice if someone tried stealing it while suspended since I'm always carrying it |
21:26 | <Hixie> | if you don't encrypt the disk, suspend vs hybernate doesn't matter |
21:26 | <Hixie> | so nevermind :-) |
21:27 | Hixie | really needs changes to CORS |
21:27 | <Hixie> | i need two new ways of invoking CORS |
21:29 | <Hixie> | one that doesn't send Origin headers but supports the CORS semantics including through redirects, and either returns the data origin-tainted if no CORS headers are in the final response, or blocks if they're present and disallow; or lets the data out untainted if they're present and alllowed |
21:29 | <Hixie> | and one that does regular simple CORS except with the tainted-but-allowed case if there's no header in the response |
21:29 | <Hixie> | and this all seems way more complicated than it should be |
21:30 | <Hixie> | which is bad for security |
21:36 | <zcorpan> | hsivonen: apparently some people use <!--[if IE]><![endif]--><!doctype html> as a way to make ie not ignore x-ua-compatible despite having CCs before it |
21:45 | <zcorpan> | myakura: woah, thanks, will fix |
21:47 | <othermaciej> | Hixie: why do you need two modes? |
21:48 | <Hixie> | i may in fact not need those two modes |
21:48 | <Hixie> | i'm testing to see if browsers send origin with <video> currently |
21:48 | <Hixie> | the spec said they should, which is why i'd need two modes (<img> doesn't) |
21:49 | <Hixie> | looks like they don't though |
21:49 | <Hixie> | so maybe i can treat <img> and <video> exactly the same |
21:49 | <Hixie> | that'd be convenient |
21:52 | <othermaciej> | Hixie: incidentally, do you have any opinion on whether new resource embedding interfaces should be same-origin-only by default? |
21:53 | <othermaciej> | (with CORS exception) |
21:53 | <Hixie> | i think it very much depends on the type of resource in question |
21:53 | <othermaciej> | the case where this is relevant currently is @font-face |
21:53 | <Hixie> | i don't really see how fonts can contain origin-sensitive data (though we do currently taint the canvas when cross-origin fonts are used) |
21:53 | <othermaciej> | when I say "embedding", I mean to imply an inactive resource, and no ability to read back the contents, just to use it |
21:54 | <Hixie> | you can read back the contents of a font |
21:54 | <Hixie> | character presence, width, and height, at a minimum |
21:54 | <Hixie> | if we didn't taint the canvas, you could further obtain character pixel data |
21:55 | <othermaciej> | Mozilla folks argue that all new resource types should be same-origin-only by default, because that protects against hot linking and is easier for authors |
21:55 | <othermaciej> | some others (me included) tend to argue that it's better to match existing resource types even if there is a new model that is arguably better but not backwards-compatible |
21:56 | <Hixie> | it's not clear to me that hot linking needs protecting against, and it's certainly not easier for authors to require CORS as far as i can tell |
21:56 | <Hixie> | but i think it depends entirely on the resource type |
21:56 | <Hixie> | it's not something for which i think it makes sense to have a default |
21:56 | <othermaciej> | Mozilla event wanted to make video same-origin-only until that turned out to be impractical |
21:56 | <Hixie> | video data can be quite sensitive |
21:56 | <Hixie> | i think that one _should_ have been same-origin by default |
21:57 | <Hixie> | indeed the spec still says it is, though i'm fixing that as we speak |
21:59 | <Hixie> | hsivonen, roc: in case this isn't known, <video> in Gecko seems to sprout a tabindex="0" attribute out of nowhere |
21:59 | zcorpan | noticed that years ago |
22:05 | AryehGregor | noticed that in his execCommand() tests too |
22:23 | <Hixie> | when anne gets back i think he and i need to speak about making a spec that merges all the fetch and cors stuff into one single algorithm |
22:23 | <Hixie> | this is just crazy |
22:59 | <karlcow> | There I was working before, we had a (unvoluntary) DDOS with a simple IMG. The IMG on a very high traffic Web site was calling another server home page (with weaknesses) instead of an IMG. Each request from random user was creating processes on the small server app with crashes. At least we had the control of the two servers. |
23:44 | <Yuhong> | The funny thing about IE6 and CSS was that it was praised as standard compliant back in 2001. |
23:44 | <jcranmer> | it was the most standards-compliant browser when it came out |
23:47 | <Yuhong> | There is a reason I sent an email to ask about the history of position is everything. |
23:48 | <aho> | +10 years ago |
23:48 | <aho> | ;) |