00:05 | <roc> | smaug____: wfm too |
00:06 | <smaug____> | k |
00:08 | <roc> | actually I think it would be slightly neater to have "sandbox" be a boolean attribute and have allow="forms same-origin" etc |
00:08 | <roc> | but maybe it's too late for that |
00:09 | <annevk> | Opera does not have sandbox |
00:09 | <annevk> | does IE? |
00:10 | <roc> | I believe IE10 does |
00:11 | <smaug____> | yes, IE10 has http://msdn.microsoft.com/en-us/library/hh673561%28v=VS.85%29.aspx |
00:11 | <annevk> | guess there goes the idea for a better syntax |
00:12 | <roc> | well, IE10's not out yet |
00:12 | <zewt> | roc: is there really much benefit to that over just having regular attributes? since that's how everything else does it... |
00:12 | <annevk> | yeah, and we could transition from one to the other somehow |
00:13 | <roc> | a browser could easily support both syntaxes |
00:13 | <smaug____> | yeah |
00:13 | <zewt> | but why have two syntaxes? |
00:13 | <annevk> | zewt: currently it's sandbox=allow-scripts |
00:13 | <annevk> | zewt: or sandbox="allow-scripts allow-forms" |
00:13 | <annevk> | if we are going to have an allow attribute |
00:13 | <annevk> | letting that take "scripts" and "forms" seems way better |
00:14 | <annevk> | (and other values) |
00:14 | <roc> | zewt: it seems cleaner and easier to use to have all the permission-granting following the same pattern instead of some permissions only working in the sandbox attribute and others working in the "allow" attribute |
00:14 | <Hixie> | i prefer keeping the things that sandbox="" turns off separate from the things that allow="" turns on |
00:14 | <Hixie> | but i think that ship has sailed, anyway |
00:14 | <roc> | sandbox doesn't turn things off, it turns things on |
00:14 | <roc> | the things in its attribute value |
00:15 | <roc> | so now you have to know, for each thing you want to turn on, whether it belongs with sandbox or not |
00:15 | <Hixie> | sandbox="" turns things off, its value can then turn things back on |
00:15 | <annevk> | which it first disables |
00:15 | <Hixie> | as opposed to allow="", which turns things on that are by default off |
00:17 | <roc> | as an author, if I've got a sandboxed iframe and I want to add fullscreen permission and forms permission, say, I have to know that the former doesn't belong in "sandbox" and the latter does. It's no biggie, but it's unnecessary complexity |
00:19 | <zewt> | requesting fullscreen permission in markup would be bizarre anyway |
00:19 | <zewt> | and way outside the general permissions model that's been used so far (ask when you need it, don't bundle up permission requests and ask at the start) |
00:20 | <roc> | this is different |
00:20 | <smaug____> | (this has nothing to do with requesting permission) |
00:20 | <roc> | this is about the outer page allowing the content in an <iframe> to go fullscreen |
00:21 | <roc> | it's about granting permission, not requesting it |
00:24 | <zewt> | Hixie: fwiw, if there's both sandbox="allow-things" and allow="other-things", i'd change one "allow" or the other (to "permit" or something) |
00:26 | <Hixie> | i don't think it'd be wise to change sandbox="" at this stage |
00:26 | <Hixie> | churn in specs just pisses people off |
00:26 | <Hixie> | especially once they've implement it |
00:27 | <Hixie> | and pissing off implementors is not a good way to get interoperability in the future |
00:27 | <zewt> | two ways to go though--is @allow newer? |
00:27 | <Hixie> | allow="" doesn't exist yet |
00:27 | <zewt> | then that'd be the one to change |
00:29 | <annevk> | I do think though that if a feature is not deployed everywhere yet changing it should be acceptable even though not ideal |
00:30 | <annevk> | If you look at the kind of relatively minor details that trip people up... If we can simplify, we should |
00:44 | <zewt> | uhh, what? javascript:alert("foo") in FF8 is ... not finding alert() |
00:45 | <gavin> | javascript: URLs entered into the lcoation bar in Firefox 6 and later don't inherit the context of the current page |
00:45 | <zewt> | braaaaaaaindamage |
00:45 | <gavin> | they are also unfortunately not run in a DOM context at all, so no window.alert |
00:45 | <gavin> | javascript:1+1 works, though! |
00:45 | <zewt> | "we can't remove this! let's just utterly break it, because that's okay" |
00:45 | <zewt> | ugh. |
00:46 | <gavin> | we broke it because users were getting pwned on facebook |
00:46 | <zewt> | no, really. ugh. |
00:46 | <smaug____> | I thought other browsers will do the same |
00:46 | <gavin> | they did (some in less effective ways) |
00:46 | <zewt> | (trying to write some test instrumentation dumping javascript: stuff into the address bar to avoid having to modify the page directly, which should work just fine) |
00:46 | <smaug____> | and yes, it is really annoying, though I use javascript: mainly as a calculator |
00:47 | <roc> | shift-ctrl-K, go crazy in the Web Console |
00:47 | <roc> | it's actually less to type than "javascript:" |
00:47 | <zewt> | that'll be different in every browser (vs. automating alt-d + type stuff) |
00:48 | <zewt> | no, i was trying to automate keystrokes to run diagnostic code on different browsers; javascript: in the address bar is one approach that shouldn't have been massively different in each browser |
00:50 | <roc> | various Firefox extensions let you remap keys |
00:51 | <zewt> | this is automation from an external script |
00:51 | <kbrosnan> | javascript: is an attack vector |
00:53 | <zewt> | not a reason to not have an about:config to revert this nonsense for the people who are 1: not stupid enough to copy and paste whatever people tell them to and 2: actually do use browser features that have been around forever |
00:54 | <zewt> | guess i'll just need more browser special cases; oh well |
02:02 | <MikeSmith> | hmm |
02:02 | <MikeSmith> | http://www.securityweek.com/ca-industry-group-creates-new-standard-issuance-ssltls-certificates |
02:02 | <MikeSmith> | http://cabforum.org/Baseline_Requirements_V1.pdf |
02:02 | <MikeSmith> | Are browser vendors actually still participating the CA/Browser Forum? |
02:03 | zewt | clicks link, gets a "subscribe to us" nag and hits control-f4 |
06:15 | MikeSmith | reads |
06:15 | MikeSmith | reads http://www.w3.org/2011/webtv/wiki/MPTF/Netflix_Content_Protection |
06:16 | <zewt> | is anyone actually taking that seriously? heh |
06:18 | <zewt> | drm being fundamentally and irreconcilably incompatible with open source browsers, apis specifically to support pieces of it seem completely useless (unless browsers become less open, and anything encouraging that is bad) |
06:20 | <Hixie> | not to mention it being user-hostile |
06:20 | <Hixie> | i don't understand how any engineer who works on drm tech can live with themselves |
06:21 | <zewt> | i've worked on drm :( (but for turnkey arcade systems, not consumer stuff) |
06:23 | <zewt> | (and given that the underlying game engine was, for the most part, released open source, I can live with that) |
06:24 | <Hixie> | the vast majority of arcade machines i see these days are privately owned |
06:24 | <Hixie> | so it's still "consumer stuff" |
06:25 | <zewt> | $5000+ machines aren't consumer products, no matter who ends up buying them in the end |
06:26 | <Hixie> | cars aren't consumer products? :-) |
06:26 | <Hixie> | houses aren't consumer products? :-) |
06:26 | <zewt> | different scale of product :) |
06:26 | <Hixie> | i don't see how |
06:26 | <zewt> | consumer games are $50, not $5000 |
06:27 | <Hixie> | my point is that if it's privately owned, the drm would stop someone from making private modifications to their property |
06:27 | <zewt> | also vastly different scale (we'd have been happy to sell a thousand units) |
06:28 | <zewt> | i know all the arguments; at least in that case (the one I happen to have direct experience with), the practicalities had to come before principle |
06:28 | <Hixie> | (and if it's not a consumer product, why bother with drm? a commercial competitor who is so beyond the law that the legal system is not a sufficient recourse is certainly not gonna have any trouble reverse-engineering some obfuscation) |
06:29 | <zewt> | because the variables don't work out that way |
06:29 | <Hixie> | (in fact such a competitior is far more likely to just steal the code/assets/designs/whatever straight from the source repository than bother with buying an actual product) |
06:29 | <Hixie> | (just look at how movies get redistributed before they're even commercially available) |
06:29 | <zewt> | there are plenty of people who would pirate our game if it was easy to do (just a new HDD), but nobody with the expertese to break it was actually trying |
06:30 | <Hixie> | and how many of those people actually bought copies instead? |
06:30 | <zewt> | versions of our game where the encryption was broken sold significantly less than the ones where it wasn't (don't have exact numbers, probably couldn't say them if I did) |
06:31 | <zewt> | also, enforcing copyright internationally takes a lot more resources than domestically |
06:32 | <Hixie> | should've just paid for a security guard for each unit to stand there with a cane and beat anyone who tried to open the box, instead |
06:32 | <zewt> | then we'd need our own legal defense team. heh |
06:32 | <Hixie> | anyway |
06:32 | <Hixie> | the ends don't justify the means |
06:32 | <Hixie> | consumer or not |
06:33 | <zewt> | when the lack of DRM means there will be no future product, they can |
06:33 | <Hixie> | better to have no products than to have drm, imho |
06:34 | <Hixie> | (luckily, that isn't even close to the actual result of not having drm) |
06:34 | <zewt> | it definitely was in our case (i'm not saying it is in *all* cases) |
06:35 | <Hixie> | i'm skeptical, but i don't have all the data so can't comment one way or the other on your specific case |
06:35 | <Hixie> | generally when i've seen people make those claims though they tend to forget to account for all the factors, e.g. the opportunity cost of working on drm |
06:36 | <zewt> | what? |
06:36 | <zewt> | (i know the cost to us in implementing the drm, since i did it all myself--took 3-4 weeks) |
06:37 | <Hixie> | 3-4 weeks total, or 3-4 weeks on the ones that got broken, or 3-4 weeks on one game that didn't get broken?L |
06:38 | <zewt> | as far as I know it was never broken so long as I worked there, at least (at least based on the fact that bootlegs didn't show up in the wild) |
06:38 | <zewt> | (forget how long; well over a year) |
06:38 | <Hixie> | i thought you just said "versions of our game where the encryption was broken sold significantly less than the ones where it wasn't" |
06:39 | <zewt> | that was a much older system (written maybe 6-7 years earlier) |
06:39 | <Hixie> | so 3-4 weeks per game then |
06:39 | <zewt> | it was much weaker and used on too many products without changing |
06:39 | <Hixie> | how much more would you have made if you'd spent those 3-4 weeks e.g. working on a system where they could buy the disks to put new games in for very little instead of requiring that they buy an entirely new unit? (i'm guessing as to the mechanics here since i don't know what you did exactly) |
06:40 | <zewt> | 3-4 weeks initially; that system was used on two products while I was there |
06:40 | <zewt> | we actually did have a system for in-place upgrades; the market wasn't really set up to use it, so we didn't make much use of it |
06:40 | <zewt> | (insert USB drive with upgrade, push button, wait a minute) |
06:40 | <Hixie> | but the market was set up to do it without you if they broke the drm? |
06:41 | <zewt> | the market is always set up to copy games for free if they can |
06:41 | <zewt> | (at least in some countries) |
06:42 | <Hixie> | not at all, e.g. valve has found that by making buying games actually easier than copying them, they sell more games than they would if they had drm |
06:42 | <zewt> | that's for consumers buying games online; it doesn't translate to $500+ upgrade packs for arcade games |
06:43 | <zewt> | (eg. many arcades can't get internet access to machines) |
06:43 | <Hixie> | so maybe the problem isn't that your market isn't set up for it but that you were charging rates the market wasn't ready to support without using artifical tactics like drm |
06:44 | <zewt> | the market isn't prepared to pay anything whatsoever, if it can get stuff for $0 (or $30 or whatever the cost of a tiny HDD is) |
06:44 | <Hixie> | again, valve has shown that to not be true |
06:44 | <Hixie> | iTunes has also shown that to not be true (for music) |
06:44 | <zewt> | again, steam has no comparative value to arcade machines |
06:45 | <zewt> | buying a song on iTunes is "push button, spend $1, get a song"; arcade owners don't spend hundreds of dollars on an upgrade on a one-click whim purchase |
06:45 | <Hixie> | i see no reason to believe that any particular market would be any mare special than another here |
06:45 | <Hixie> | again, maybe the problem is that you were charging too much to make it sustainable |
06:45 | <zewt> | it's completely different, because upgrading an arcade machine is a financial investment, buying a game on steam is not |
06:46 | <Hixie> | all purchases boil down to investments |
06:46 | <zewt> | not in comparable notions of the word |
06:46 | <Hixie> | when you buy a game on steam, you're return is going to be in entertainment per hour instead of dollars per hour |
06:46 | <zewt> | i buy a $40 game if I think I'll have $40 of fun with it; an arcade owner buys a $500 upgrade if he thinks he'll make $500 more money from coin drops as a result |
06:46 | <Hixie> | but at the end of the day, what are dollars if not a way to get entertainment? |
06:47 | <Hixie> | sounds the same to me |
06:47 | <zewt> | sounds unrelated to me |
06:47 | <Hixie> | whatever lets you sleep at night :-) |
06:48 | <hsivonen> | RDFa continues to live in a time warp where HTML and XHTML are developed separately: http://www.w3.org/News/2011.html#entry-9301 |
06:48 | <zewt> | our engine was almost all released as open-source, so I have no trouble sleeping at night :) |
06:49 | <zewt> | http://sourceforge.net/projects/stepmania/ |
07:19 | <roc> | there are different kinds of DRM |
10:13 | <annevk> | thanks Hixie for picking up on the callback stuff |
10:13 | annevk | had given up |
11:13 | <annevk> | can someone explain to me what I did wrong here: |
11:13 | <annevk> | http://validator.nu/?doc=http%3A%2F%2Fdvcs.w3.org%2Fhg%2Fencoding%2Fraw-file%2Ftip%2FOverview.html |
11:14 | <annevk> | ooh, this goes for a lot on dvcs |
11:14 | <annevk> | maybe it says charset="utf-8" in the HTTP header and validator.nu has the same bug Gecko once had? |
11:20 | <hsivonen> | annevk: yeah. is it a v.nu bug or a W3C server config bug? |
11:26 | <annevk> | per HTTP v.nu |
11:27 | <annevk> | but HTTP is not defined in a pragmatic way, so "unclear" :( |
11:33 | <annevk> | hsivonen: ideas on how to make http://dvcs.w3.org/hg/encoding/raw-file/tip/single-octet-research.html more readable? |
11:33 | <annevk> | hsivonen: pull not supported before the table I guess and maybe give the "other labels" bit a heading of some sorts? |
11:33 | <annevk> | it needs to stay fairly compact because there's so much information |
11:34 | <hsivonen> | annevk: first of all, you could separate the encoding tables from the browser support data instead of interleaving them |
11:35 | <hsivonen> | annevk: then maybe have a table of with browsers as columns and encodings as rows and markers in the cells and cell bg colors that communicate the same info as the markers |
11:36 | <annevk> | ooh that sounds pretty good |
12:25 | smaug____ | kicks sicking |
12:25 | <sicking> | huh? |
12:26 | <Echoes2> | o_O |
12:26 | <smaug____> | I strongly disagree your idea that if websocket buffer is full, let's just cut it |
12:27 | <smaug____> | it is like "hey, we have little problem, and we don't want to handle it at all, so please re-start everything" |
12:28 | <sicking> | smaug____: you should check archives, this discussion has been had at least a dozen times |
12:28 | <smaug____> | where? |
12:28 | <smaug____> | I do recall this discussed few times |
12:28 | <sicking> | webapi list i would think |
12:29 | <sicking> | smaug____: the thing is, running out of buffer space should never happen. It's equivalent to OOM |
12:29 | <smaug____> | your point about data integrity is valid, but that just means that error handling is now forced to happen in error event listener |
12:29 | <sicking> | smaug____: error handling *should* happen in the error handler |
12:29 | <sicking> | that's what it's for |
12:30 | <sicking> | what else woudl you do there? |
12:30 | <smaug____> | er, error or close handler, whatever |
12:31 | <smaug____> | well, we could for example change send() so that you can't send more stuff before the previous trial has succeeded |
12:31 | <smaug____> | closing the connection is really overkill |
12:31 | <sicking> | smaug____: is it overkill to throw an uncatchable exception on OOM |
12:32 | <sicking> | smaug____: and that in JS. In C++ if you run out of OOM we quit firefox |
12:32 | <sicking> | err.. if you OOM (not run out of OOM) |
12:32 | <smaug____> | I don't know what OOM has to do with this |
12:32 | <sicking> | smaug____: the buffer is memory, running out of buffer is running out of memory |
12:33 | <smaug____> | yes, but you know before putting anything to the buffer that hey, there is no room there atm |
12:34 | <sicking> | who knows that, and how? |
12:35 | <smaug____> | well, in our impl, when we try to copy the data to the buffer |
12:35 | <smaug____> | if allocation doesn't work, there would be OOM |
12:35 | <sicking> | yes, the implementaiton knows that |
12:35 | <smaug____> | which could be reported in a meaning full way to JS |
12:35 | <sicking> | same thing when allocating a C++ or JS object |
12:36 | <sicking> | when spidermonkey is asked to allocate a JS object we know we won't be able to honor it |
12:36 | <sicking> | but we don't report an error in the normal fashion, we simply abort JS execution ("uncatchable exception") |
12:36 | <smaug____> | this is about quite a bit different case |
12:37 | <sicking> | we really shouldn't be running out of websocket buffer any more than running out of JS-heap |
12:37 | <sicking> | so i don't see how they are different |
12:38 | <smaug____> | you don't create JS object of size 100s of MBs |
12:38 | <smaug____> | there is a reason why Gecko doesn't use infallible malloc always |
12:39 | <hsivonen> | smaug____: as I understand it, infallible malloc is avoided when Web content can directly control the allocation size |
12:40 | <smaug____> | hsivonen: which is the case here |
12:40 | <sicking> | hsivonen: the problem is in the definition "directly" |
12:40 | <sicking> | there's plenty of things that we store in nsTArrays which come from web content |
12:41 | <hsivonen> | sicking: yeah. It's rather annoying that OOM crashes from the infallible malloc are treated as bugs. as if those crashes weren't an expected feature. though sometimes it really makes sense to "fix" those by using fallible malloc |
12:42 | <sicking> | hsivonen: yeah, i don't agree that those are always bugs |
12:42 | <sicking> | malicious content has always been able to crash any browser |
12:43 | <smaug____> | in this case it is quite clear that web content can easily control the buffer size. JS data is converted to UTF8, and that UTF8 data is buffered |
12:45 | <sicking> | smaug____: so here's an idea |
12:45 | <sicking> | smaug____: we could fire an event when running out-of-websocket-buffer |
12:45 | <sicking> | the default action of the event would be to close the connection |
12:46 | <sicking> | but the page can call .preventDefault and do its own error handling |
12:46 | <smaug____> | that sounds better :) |
12:46 | <sicking> | however |
12:46 | <sicking> | we really should only be running out of websocket buffer when running oom |
12:46 | <sicking> | so it'll be hard to fire an event |
12:46 | <smaug____> | not true |
12:47 | <sicking> | which part? |
12:47 | <smaug____> | if someone is sending jssrtring.length == 100000000 |
12:47 | <smaug____> | converting that to utf8 certainly would take lots of memory |
12:48 | <smaug____> | so if reserving memory for that utf8 OOMs, we can easily fire the event |
12:48 | <sicking> | true |
12:48 | <sicking> | but |
12:48 | <sicking> | if that's the concern, is it really worth adding a feature for people that sends strings that are 100MB in size? |
12:49 | <smaug____> | if browser/OS is really OOMing, then there isn't much to do |
12:49 | <smaug____> | people do send huge files |
12:49 | <smaug____> | they may have modified the file |
12:49 | <sicking> | using strings? |
12:49 | <smaug____> | and send arraybuffers |
12:49 | <sicking> | as a single arraybuffer? |
12:49 | <smaug____> | why not? |
12:50 | <sicking> | if you have that much data you should be using Blobs |
12:50 | <sicking> | otherwise you risk running OOM no matter what |
12:50 | <smaug____> | people do use XHR for file transfer |
12:50 | <sicking> | sure, they should send Blobs there too |
12:52 | <smaug____> | or could |
14:46 | <annevk> | can anyone think of a good way to black box test multi-byte encodings? |
14:46 | <annevk> | kind of seems like you should test on a per encoding basis |
14:47 | <zewt> | wouldn't it just be dumping a bunch of test data into HTML and examining the resulting DOM? |
14:47 | <wilhelm> | Which software will you test? Browsers interpreting something from the web? |
14:48 | <annevk> | wilhelm: yeah |
14:48 | <zewt> | what the test data looks like would be very encoding-specific, for the most part, i think |
14:48 | <annevk> | zewt: I can't really think of a magic bullet |
14:48 | <annevk> | zewt: right |
14:49 | <annevk> | I heard some horror stories from our encoding guy; not sure I want to put that much time into defining these encodings |
14:49 | <zewt> | hmm |
14:50 | <annevk> | there's a few things I could do that would improve the current situation somewhat |
14:50 | <zewt> | one question i'd have first off: is <span>any text</span> guaranteed in all browsers to actually parse as a span, no matter what "any text" is (assuming it doesn't contain "<") |
14:50 | <wilhelm> | Yes. Encoding-specific test data, look at DOM? |
14:50 | <annevk> | which is define the labels and such to the extent HTML does |
14:50 | <annevk> | so HTML no longer needs encoding specific stuff |
14:50 | <annevk> | and all languages can do the same for these encodings |
14:50 | <zewt> | for example, if you have just one initial byte of SJIS in there, does the decoder reliably break out of it and parse out the </span> |
14:51 | <wilhelm> | annevk: You should take a look at t/imported/kaz, by the way. |
14:51 | <annevk> | zewt: I think shift_jis is HTML-safe |
14:51 | <wilhelm> | annevk: Lots of legacy encoding tests. |
14:51 | <zewt> | this matters because it'd be nice to write the tests as <span id=test1>X</span> and each test as a separate span, so you can pull out each span to look precisely at that one test |
14:51 | <wilhelm> | Maybe it can be reused. |
14:51 | <wilhelm> | (Lots as in several hundred thousand.) |
14:51 | <zewt> | but if there are cases where (intentional, here) encoding breakage within "X" might cause the span to not be closed, it'd get messier |
14:53 | <annevk> | zewt: HTML has this vague note |
14:53 | <annevk> | "An ASCII-compatible character encoding is a single-byte or variable-length encoding in which the bytes 0x09, 0x0A, 0x0C, 0x0D, 0x20 - 0x22, 0x26, 0x27, 0x2C - 0x3F, 0x41 - 0x5A, and 0x61 - 0x7A, ignoring bytes that are the second and later bytes of multibyte sequences, all correspond to single-byte sequences that map to the same Unicode characters as those bytes in ANSI_X3.4-1968 (US-ASCII)." |
14:53 | <annevk> | "An ASCII-compatible character encoding is a single-byte or variable-length encoding in which the bytes 0x09, 0x0A, 0x0C, 0x0D, 0x20 - 0x22, 0x26, 0x27, 0x2C - 0x3F, 0x41 - 0x5A, and 0x61 - 0x7A, ignoring bytes that are the second and later bytes of multibyte sequences, all correspond to single-byte sequences that map to the same Unicode characters as those bytes in ANSI_X3.4-1968 (US-ASCII)." |
14:53 | <annevk> | oops |
14:53 | <Ms2ger> | wilhelm, I sure hope these are becoming public ;) |
14:53 | <annevk> | "This includes such encodings as Shift_JIS, HZ-GB-2312, and variants of ISO-2022, even though it is possible in these encodings for bytes like 0x70 to be part of longer sequences that are unrelated to their interpretation as ASCII. It excludes such encodings as UTF-7, UTF-16, GSM03.38, and EBCDIC variants." |
14:53 | <annevk> | wilhelm: I think I looked at those |
14:53 | <zewt> | annevk: well, the issue here is what browsers *really* do today... |
14:54 | <wilhelm> | Ms2ger: Indeed. But as of last week, I am no longer an Opera employee. So apart from prodding, I can't do much about it. |c: |
14:55 | <zewt> | though I suppose if that sort of thing breaks the test, then it'd show up fairly quickly (and once you've tracked that sort of thing down, they can be moved to their own test files) |
14:57 | <annevk> | I wonder how browsers will cope with > 65000 <span> elements |
14:58 | <zewt> | well, better off breaking tests into blocks |
14:58 | <Ms2ger> | Well, how do they deal with the HTML spec? |
14:58 | <zewt> | sticking them in spans just makes it easier to batch them, so tests aren't split across thousands of tiny files |
14:59 | <wilhelm> | annevk: They cope moderately well wit kaz' tests. SPARTAN, however... (c: |
14:59 | <zewt> | could use other ways of dealing with it, like sticking each test between ASCII framing ("XXX 1 test YYY") and picking it apart in scripts |
15:00 | <zewt> | (uglier, of course) |
15:03 | <zewt> | iso-2022 makes me sad |
15:05 | <zewt> | at least most crappy legacy encodings aren't *modal* |
15:06 | <annevk> | what does that mean in this context? |
15:06 | <Ms2ger> | That ISO-2022 pops up an alert, obviously |
15:06 | <zewt> | it has escape codes that change the meaning of future sequences |
15:07 | <zewt> | (modal in the sense of having multiple modes, eg. vim is a modal editor) |
15:08 | <Ms2ger> | Isn't the latter usage just a synonym of "horrible"? :) |
15:08 | <zewt> | trooooll :P |
15:09 | <Ms2ger> | Yeah :) |
15:09 | <zewt> | apparently in iso-2022 you can have *both* 1: multiple ways to encode the same codepoint and 2: multiple codepoints represented by a particular sequence |
15:09 | <zewt> | so it's evil in both directions |
15:10 | <Ms2ger> | (I troll vim and emacs just as much, though) |
15:10 | <zewt> | i use notepad.exe as often as vim these days, so *shrug* :P |
15:11 | <zewt> | "sometimes an editor's just an editor" |
15:11 | <annevk> | TextWrangler and nano |
15:11 | <Ms2ger> | gedit/jedit/nano |
15:11 | <annevk> | but that does sound evil |
15:11 | <annevk> | ooh gedit |
15:11 | <annevk> | when I was still on Ubuntu, I used that |
15:12 | <annevk> | Notepad++ in the Windows days |
15:12 | <annevk> | they're all more or less the same to me :) |
15:12 | <zewt> | i think you can trace a clear path from utf-8's design directly to iso-2022 |
15:12 | <zewt> | "here's iso-2022. here are a bunch of ways it sucks. let's not do any of those things" |
15:14 | <zewt> | data point: technically iso-2022 can remap the ASCII range; doing so would violate the abovementioned vague note |
15:18 | <annevk> | there's also problems with using those encodings |
15:18 | <annevk> | as Philip` once explained on the WHATWG list |
15:18 | <annevk> | "The string "숍訊昱穿" encoded as ISO-2022-KR is the bytes 0e 3c 73 63 72 69 70 74 3e. A UA that doesn't support ISO-2022-KR (e.g. Chrome, when I last checked) will decode it as Windows-1252 and get the string "<script>", which is bad." |
15:19 | <wilhelm> | That's beautiful. |
15:19 | <Ms2ger> | Yeah, that's the kind of thing Philip` would tell us about |
15:19 | <zewt> | hacked by chinese? |
15:19 | <zewt> | ... literally |
15:19 | <divya> | hahaha |
15:19 | <Ms2ger> | Koreans? |
15:20 | <divya> | annevk: sounds like a good intro if you were gonna write about your encodings spec |
15:20 | <divya> | on your blog |
15:20 | divya | throws hints |
15:23 | <annevk> | nah, my blog is reserved for those who wrote books I enjoyed :p |
15:24 | <Ms2ger> | Murakami? |
15:24 | <annevk> | I kid, mostly, I think you are right |
15:24 | <annevk> | Ms2ger: you wouldn't say, but I'm a big fan |
15:26 | <Ms2ger> | I would say, actually :) |
15:27 | <zewt> | same thing happens with iso-2022-jp |
15:29 | <zewt> | wonder how common it is for web content (does japan *really* need three legacy encodings?) |
15:30 | <zewt> | i'd expect it to be more common for mail (don't really know, though) |
15:31 | <zewt> | (three major legacy encodings, i should say--you'd get more if you start picking apart sjis, cp932, etc) |
15:42 | <hsivonen> | why is the Web Intents work proceeding based on Google's proposal at the W3C instead of proceeding based on Mozilla's Web Activities or Microsoft's Contracts? |
15:42 | <Ms2ger> | Because Google is pushing at the W3C and we don't, I guess |
15:47 | <hsivonen> | Ms2ger: :-( |
15:48 | <Ms2ger> | Most Mozillians don't seem to have a habit to get things specified |
15:49 | <hsivonen> | <code agents="" but="" can="" have="" historically="" implement="" implemented="" indeed="" others="" title="javascript:</code>" user=""> |
15:49 | <hsivonen> | awesome spec markup |
15:49 | <Ms2ger> | Hah |
15:51 | <erlehmann> | hsivonen, WTF IS THIS SHIT |
15:51 | <erlehmann> | i've never seen it before |
15:57 | <timeless> | yeah, mozillans seem to be incredibly anti standards in certain areas |
15:57 | <timeless> | "not going to bother spending time working with others" |
15:58 | <timeless> | hsivonen: where's that one? |
15:58 | <smaug____> | hsivonen: I thought Mozilla is working with Google to get Web Intents spec'ed |
15:58 | <timeless> | smaug____: not on the list |
15:58 | <timeless> | they might have done some hand waving about it |
15:58 | <smaug____> | timeless: not sure anyone else is better with standards |
15:58 | <timeless> | but they haven't spoken |
15:58 | <timeless> | smaug____: oddly microsoft is |
15:58 | <Ms2ger> | Well, Google isn't too good at standards |
15:59 | <timeless> | (and opera) |
15:59 | <hsivonen> | timeless: it's a recent change to the HTML spec |
15:59 | <Ms2ger> | But they are good at getting W3C stamps |
15:59 | <smaug____> | timeless: not in general |
15:59 | <smaug____> | timeless: they have all sorts of non-standard stuff coming |
15:59 | <timeless> | smaug____: in the last year or two |
15:59 | <hsivonen> | smaug____: Opera seem to be pretty good at standards |
15:59 | <smaug____> | Opera is pretty good indeed |
16:00 | <timeless> | smaug____: anyway, i'm not saying ms is perfect |
16:00 | <timeless> | but at least they're trying |
16:00 | <timeless> | the only thing i can point to that mozilla has done recently is requestAnimationFrame or whatever that was |
16:01 | <timeless> | i can point to a number of things where mozilla has diverged impls, impl experience, and no interest in helping |
16:01 | <Ms2ger> | (Also, browser API) |
16:08 | <timeless> | hsivonen: got a link for your <code> ? i'm lazy :) |
16:09 | <zewt> | annevk: fwiw, the only solution i can think of to that weirdness (other than everyone removing 2022 encodings) is making them not fall back--if a document is iso-2022-*, browsers that don't want to implement it should refuse to load it at all, not fall back on something else |
16:11 | <hsivonen> | timeless: post-process of http://html5.org/tools/web-apps-tracker?from=6874&to=6875 |
16:12 | <zewt> | i wish google results on the html spec would put the full-page and multipage results next to each other |
16:12 | <zewt> | single-page rather |
16:12 | <zewt> | it always ends up putting the single-page result way at the top, and i have to scan through a bunch of other noise to find the multipage result to avoid destroying my browser |
16:15 | <timeless> | + example is "<code title="javascript:</code>", but user agents can |
16:15 | <Ms2ger> | And then it goes through parser+serializer at least once |
16:15 | timeless | can't figure out if that markup is intentionally screwy or accidentally screwy |
16:16 | <annevk> | Mozilla is doing Web IDL these days |
16:16 | <annevk> | fwiw |
16:16 | <annevk> | I think that's pretty awesome |
16:17 | <Ms2ger> | And I guess we can claim tantek |
16:17 | <zewt> | is it possible for a browser that implements prescan to execute an inline script twice if the encoding has to be changed? |
16:17 | <annevk> | I do wish I would not have to extract feedback from bugzilla.mozilla.org every now and then... |
16:17 | <annevk> | zewt: yes |
16:17 | <zewt> | <script>alert("%")</script><META http-equiv="Content-Type" content="text/html; charset=ibm864"> |
16:18 | <annevk> | zewt: but you have to put the encoding declaration prolly after 1024 bytes |
16:18 | <annevk> | zewt: so I guess not because of the prescan, but because of the parser |
16:19 | <zewt> | well, it's a side-effect of the prescan |
16:19 | <zewt> | was just wondering if there was any magic to prevent things with side-effects from happening until the prescan finished |
16:20 | <annevk> | content-type header :) |
16:20 | <zewt> | fwiw, firefox doesn't execute the script above twice, just once (with the charset applied) |
16:20 | <annevk> | yes that's what I said |
16:21 | <annevk> | needs to be after 1024 octets |
16:21 | <annevk> | prescan goes over 1024 octets |
16:21 | <annevk> | after that the parser starts going |
16:21 | <annevk> | and then the parser finds the declaration, and boom |
16:21 | <zewt> | eh, i thought content-type metas had to be in the prescan; that's lame |
16:21 | <timeless> | annevk: you're not alone re extracting feedback |
16:22 | <timeless> | to be fair though, bugs.webkit seems to be just as annoying |
16:22 | <timeless> | (as a place where people leave comments that don't get upstreamed to w3) |
16:22 | <annevk> | zewt: I think hsivonen wanted that but I'm not sure it happened |
16:24 | <gsnedders> | annevk: What happens if the parser changed the encoding post pre-scan? |
16:24 | <zewt> | http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html#changing-the-encoding-while-parsing happens |
16:25 | zewt | takes a breath and loads the singlepage version |
16:25 | <gsnedders> | zewt: Did you hit a sarcasm end tag? |
16:25 | <gsnedders> | (in the "in body" state) |
16:25 | <timeless> | hsivonen: seriously is that code line intentionally screwy or accidentally screwy? |
16:26 | <zewt> | hmm? i'm loading the singlepage version to get working references, heh |
16:29 | <zewt> | hmm, odd |
16:30 | <zewt> | <meta charset> seems to be allowed anywhere in head, whether in prescan or not (this isn't the "odd" part) |
16:30 | <zewt> | but the http-equiv=content-type method seems to only be mentioned in prescan |
16:32 | <zewt> | (the prescan seems to be designed under the assumption that if the prescan misses something, it'll always be fixed by the reparse, but that seems to only be the case for the former, not the latter?) |
16:48 | <annevk> | hsivonen: it was pretty difficult to make that table :( |
16:49 | <annevk> | hsivonen: I submitted something to www-archive now, hopefully it is of some value |
16:49 | <annevk> | hsivonen: http://lists.w3.org/Archives/Public/www-archive/2011Dec/att-0020/encoding-labels.html |
16:49 | <annevk> | hsivonen: unfortunately it does not list spec in relation to the browsers |
16:49 | <annevk> | hsivonen: maybe at some point |
16:50 | <zewt> | annevk: by the way, the references script seems broken on dom4 |
16:51 | <annevk> | oh shit, it excludes encodings supported by less than all four browsers |
16:51 | <annevk> | euh five |
16:51 | <annevk> | zewt: the script or the style sheet? |
16:52 | <zewt> | didn't look that closely, could be the css |
16:52 | <zewt> | don't know how that stuff is implemented |
16:52 | <zewt> | This interface is called HTMLCollection for historical reasons. The namedItem method returns an object for interfaces that inherit from this interface, which return other objects for historical reasons. |
16:52 | <Ms2ger> | It's been for a while, I think |
16:52 | <zewt> | ^ what interfaces inherit from HTMLCollection? hard to search for that |
16:53 | <Ms2ger> | HTMLAllCollection |
16:53 | <zewt> | (search engines are notoriously bad at searching for ": HTMLCollection") |
16:53 | <Ms2ger> | And various others in HTML |
16:54 | <zewt> | huh, I searched for it in HTML and it didn't come up (and I'm not even accidentally in case-sensitive mode); thanks |
17:07 | <zewt> | uhh, what? ie9 only defines window.console after the console has been opened? |
17:09 | <zewt> | aside from being seriously annoying and pointless, it also lets sites detect that the f12 window has been opened and go "error, browser debuggers are not allowed", heh |
18:06 | <dglazkov> | good morning, Whatwg! |
18:06 | <divya> | hai dglazkov |
18:07 | <dglazkov> | for your viewing pleasure: http://vimeo.com/33692624 |
18:25 | <annevk> | hsivonen: try http://lists.w3.org/Archives/Public/www-archive/2011Dec/att-0021/encoding-labels.html instead |
18:27 | <annevk> | also shows that maybe we should add certain labels |
18:27 | <annevk> | e.g. iso_8859-6 |
18:27 | <annevk> | there's a WebKit bug to that effect too (to add them for all iso- stuff) |
18:27 | <hsivonen> | annevk: thanks |
18:32 | <rillian_lime> | foolip: what do you think about (a) adding the IETF Opus audio codec to WebM and/or (b) adding a new, audio-only format using Opus as a baseline for <audio>? |
18:35 | <erlehmann> | rillian_lime, you can bet your gonads that will not fly with apple. |
18:36 | <hsivonen> | annevk: encoding stuff would suck slightly less if each encoding had exactly one label |
18:37 | <rillian_lime> | erlehmann: perhaps. I'm wondering if it's worth trying again. |
18:37 | <erlehmann> | rillian_lime, they haven't implemented support for *vorbis* even though it is in cheap chinese mp3 players. |
18:37 | <zewt> | hsivonen: the labels seem like the smallest problem, though, heh |
18:37 | <zewt> | though the huge variance in that table is pretty gross |
18:38 | <rillian_lime> | Opus is suffiently better for audio books that there might be some interest in adopting it as a separate format for <audio>, and it had a more "respectable" standarization process than Vorbis did |
18:39 | <erlehmann> | >implying its all about the process |
18:39 | <erlehmann> | >implying ALAC was necessary |
18:39 | <rillian_lime> | erlehmann: are you saying we shouldn't try again? |
18:40 | <erlehmann> | rillian_lime, i am not against trying. i am just saying that if apple engineers had any change of mind or command, they'd surely have come out of the woodwork and announced something. |
18:40 | <erlehmann> | well, actually they had a change of command. |
18:40 | <erlehmann> | or didn't they? |
18:41 | <erlehmann> | rillian_lime, also, “your multimedia codec is almost certainly patented” is a meme now. |
18:41 | <rillian_lime> | now? that's been a meme for years. |
18:41 | <erlehmann> | then it's an old meme now. |
18:41 | <erlehmann> | :3 |
18:41 | <zewt> | making the phrase "patent reform" actually mean "making patents stronger" was a genius move by whoever thought it up. heh |
18:43 | <rillian_lime> | anyway, I wanted to know what browser folks thought of the idea, not what they thought apple would think of the idea :/ |
18:44 | <rillian_lime> | zewt: a general problem with "reform" I think |
18:44 | <rillian_lime> | let's reform HTML! |
18:44 | <zewt> | (to mean what we want it to mean!) |
18:45 | <zewt> | i'd like to reform the money in your wallet into my wallet. sound ok? |
18:45 | <rillian_lime> | :) |
18:46 | <erlehmann> | rillian_lime, i am of the impression that any browser folks caring about the web already have wav and vorbis. those who don't let out one or both. also, since the spec is more descriptive than normative in regards to that, it makes at least some sence to think about what apple engineers would do. |
18:47 | <erlehmann> | sense |
18:58 | <annevk> | hsivonen: totally |
20:18 | <Velmont> | annevk: Yup, I had very little overview, and started with something known. :-) |
20:57 | <roc> | timeless: dbaron, bz, fantasai, heycam and tantek all spend a lot of time on spec feedback and editing |
20:57 | <roc> | timeless: fullscreen is a big thing that we initiated and specced (and annevk took over, bless him) |
20:57 | <Ms2ger> | And smaug complains a lot about specs :) |
20:59 | <roc> | Opus is a big spec effort |
21:00 | <Ms2ger> | And it's all over my newsgroups |
21:01 | <roc> | jonas and bent have been super-engaged evolving IndexedDB |
21:01 | <roc> | we have done a lot of WebGL spec work |
21:02 | <dbaron> | also other stuff in https://wiki.mozilla.org/Standards |
21:02 | <roc> | ha, there's a whole lot of stuff on that list that I'd forgotten about |
21:03 | <roc> | media fragments (I think we're the only browser vendor doing anything there, maybe that's not a good thing) |
21:03 | <Ms2ger> | Indie UI? |
21:04 | <hober> | Ms2ger: yes? |
21:05 | <Ms2ger> | What's that? |
21:05 | <roc> | let's not forget all the work Henri did to provide feedback to ensure the HTML parsing spec is Web-compatible |
21:05 | <TabAtkins> | roc: I wish we had someone doing Media Fragments work. ;_; |
21:05 | <hober> | Ms2ger: let me dig up a link for you |
21:06 | <hober> | Ms2ger: http://www.w3.org/2011/11/indie-ui-charter |
21:06 | <roc> | timeless: I sense you have some gripe about some specific group or project(s), in which case, let's hear it, but a blanket statement that Mozilla people aren't interested in standards is just ridiculous |
21:06 | <Ms2ger> | hober, that's what I was looking at |
21:07 | <Ms2ger> | I think |
21:07 | <zewt> | "indie" ui? randomly-chosen word? heh |
21:07 | <Ms2ger> | Yeah |
21:07 | <Ms2ger> | Bi-weekly telcons |
21:07 | <zewt> | i guess that's better than calling it "Web User Intents" ... |
21:08 | Ms2ger | doesn't expect much useful to come out of it, then |
21:10 | <TabAtkins> | ...I can only guess that it comes from INput-mode DEpendent |
21:10 | <TabAtkins> | Or, wait, duh, input method INDEpendent. |
21:10 | <zewt> | Ms2ger: well, telecons on top of list activity doesn't make a group less useful (though it definitely makes things less open) |
21:10 | <zewt> | i can't tell if there's a list attached to this, since half of the links point at "http://www.w3.org/2011/11/@@" |
21:10 | <zewt> | (not that i'm especially interested in reading it anyway) |
21:10 | <Ms2ger> | IME, people spend more time on telcons and administrivia than on work |
21:10 | <zewt> | well i mean |
21:11 | <zewt> | nothing's more frustrating on spec lists than a reply that says "we talked about this in our telecon and here's the decision" |
21:11 | <zewt> | heh |
21:11 | <zewt> | (... or on any lists) |
21:11 | <TabAtkins> | Unfortunately, that interaction mode is easier for handling some types of things. |
21:12 | <zewt> | easier than lists, sometimes; easier than IRC or other realtime comms, no (not for me, ever) |
21:12 | <TabAtkins> | Does it make things better if the call it well-minuted and you can participate via IRC as well? |
21:12 | <zewt> | (well, face-to-face can be, of course, but comparing distributed comms) |
21:13 | <erlehmann> | i only do face-to-face with protocol or email. |
21:13 | <zewt> | whenever voice meetings are happening, everyone who isn't or can't actually be on the call becomes a second-class participant at best |
21:13 | <erlehmann> | only when i agree with someone and we have both similar targets, phone or chat becomes worthwile. |
21:13 | <Ms2ger> | That's true for all sync communication, though |
21:14 | <TabAtkins> | I find that sync comm can help resolve confusion/misunderstandings faster than async. |
21:14 | <zewt> | and text communications (eg. this) is a lot easier for people like me (interested parties but not implementors) to participate |
21:42 | <jamesr_> | i've found some w3c telecons favor abusive personalities over technical goodness |
21:42 | <jamesr_> | so i kind of hate them |
21:42 | <zewt> | they always favor loud people who talk over everyone else, heh |
21:42 | <jamesr_> | exactly |
21:42 | <zewt> | https://adblockplus.org/development-builds/allowing-acceptable-ads-in-adblock-plus aaand abp loses all of its credibility overnight |
21:44 | <jamesr_> | can you pay ABP to get on the acceptable list? |
21:45 | <zewt> | dunno, seems a thoroughly tempting thing for them to do though, heh |
22:10 | <Ms2ger> | Don't you love the integer constants in webrtc? |
22:11 | <TabAtkins> | Oh god, seriously? Man, that means I gotta yell at someone. |
22:11 | <Ms2ger> | Please do |
22:11 | <Ms2ger> | Then I don't have to |
22:19 | <TabAtkins> | I'm confused as to why the PeerConnection constants aren't all sequential. |
22:19 | <TabAtkins> | Is it meant to allow someone to compose them all into a bitfield? |
22:20 | <TabAtkins> | Also: Hm, I appear to have gained AC permissions in the W3C. |
22:21 | <TabAtkins> | Or this page is badly permissioned, and has horrible UI. |
22:21 | <TabAtkins> | (It thinks I'm T.V. Raman.) |
22:21 | <zewt> | i always have trouble finding PeerConnection-related specs; searches never find anything but lists |
22:22 | <TabAtkins> | The webrtc homepage has useful links. |
22:24 | <zewt> | what's the deal with these giganto parameter tables? what possible use are they? |
22:27 | <zewt> | TabAtkins: maybe the numbers map to protocol numbers, in a (somewhat strange) attempt to avoid having to translate? |
22:27 | <zewt> | (don't recall anything about the underlying protocol) |
22:27 | <TabAtkins> | Argh, I'm going to compromise my principles and send an HTML email so I can get decent ins/del-like formatting. |
22:27 | <TabAtkins> | zewt: I suspect that's the case. It's lazy design, though. |
22:29 | <zewt> | http://dev.w3.org/2011/webrtc/editor/images/media-stream-1.png random image in spec is ... somewhat startling (and not terribly enlightening) |
22:30 | <TabAtkins> | Agree. Also, somewhat fuzzy, indicating poor scaling. |
22:30 | <TabAtkins> | Which is odd, since the check marks are well-scaled. |
22:30 | <zewt> | TabAtkins: it smells like this spec was made by someone who's only recently read the filesystem API spec, which is in much the same style (both the spec style, and the use of constant ints) |
22:31 | <Ms2ger> | TabAtkins, usually it shows AC-member-only forms as if you were the AC rep, with a note saying "you can't do this" |
22:31 | <TabAtkins> | zewt: The use of int constants is very common among anyone who primarily programs in C++ or Java (that is, most browser devs). |
22:32 | <TabAtkins> | Ms2ger: Yeah, that's usual. I *appear* to have the ability, though, to make Google leave the WebRTC group. The checkboxes and submit button are all enabled. |
22:32 | <Ms2ger> | Interesting |
22:33 | <zewt> | give it a shot, what could possibly go wrong? :P |
22:33 | <zewt> | what's the worst that could happen (two weeks later Google withdraws from the w3c and an asteroid strikes the planet) |
22:34 | <jamesr_> | a wild pack of lawyers appear! they use beatdown on TabAtkins. it's super effective! |
22:34 | <zewt> | TabAtkins: one would hope that anyone designing a web API would have a good deal of experience with existing APIs and current design practices, though |
22:34 | <TabAtkins> | zewt: One would hope, yes. |
22:34 | <zewt> | (for whatever vain level of "hope") |
22:34 | <TabAtkins> | zewt: One would be very, very disappointed. |
22:35 | <zewt> | TabAtkins: on the other hand, the editors list on this spec reduces one's hope |
22:35 | <zewt> | (nothing personal to those names; referring to the company list, except for Mozilla) |
22:36 | <zewt> | (i assume those constants weren't in there when hixie wrote the initial draft?) |
22:36 | <zewt> | (never mind the fs-api-ization of the whole thing) |
22:37 | <zewt> | at least where it really matters (eg. method algorithms), it hasn't gone that way |
22:40 | <zewt> | (i'm meaning to compare to the "file api: directories and system" spec, not File API; i suppose i should refer to the former as "file-system" or something) |
22:41 | <zewt> | roman numeral hostnames? heh |
22:42 | <TabAtkins> | All right, complaint about constants sent. |
22:48 | <MikeSmith> | https://twitter.com/#!/jarrednicholls/status/147804488848261120 |
22:48 | <MikeSmith> | "I just added support for XMLHttpRequest.responseXML to handle HTML documents http://t.co/HaRiuLoa http://t.co/wipNrLVu #WebKit" |
22:49 | <TabAtkins> | Yessssssss |
22:49 | <MikeSmith> | so already landed in Firefox and shipping in FF10 |
22:49 | <MikeSmith> | and now Webkit too |
22:49 | <MikeSmith> | annevk: ↑ |
22:49 | <MikeSmith> | oh |
22:49 | <TabAtkins> | With that in place, it's finally easy to do an easy upgrade to ajax-based navigation by swapping out sections. |
22:50 | <MikeSmith> | this doesn't add support for json yet, I don't think |
23:10 | <Hixie> | huh |
23:11 | <Hixie> | someone points out that the <input type=""> sections don't actually include the keyword needed to trigger them |
23:11 | <Hixie> | that's kinda silly of me |
23:11 | <Hixie> | i wonder where to put them |
23:12 | <Hixie> | in the heading? ("Text state (type=text) and Search state (type=search)") In the first paragraph? In examples? |
23:12 | <Hixie> | wouldn't be bad to add examples in general, i guess |
23:12 | <TabAtkins> | I like the headings. |
23:12 | <TabAtkins> | So you can see them in the TOC easily. |
23:12 | <Hixie> | yeah, that's probably reasonable |
23:12 | <Hixie> | curses |
23:13 | <TabAtkins> | Why curses? |
23:13 | <Hixie> | means work |
23:13 | <TabAtkins> | Come here and I'll pat you on the head. Specs is hard. |
23:13 | <Hixie> | don't i know it |
23:14 | <Hixie> | "(type=hidden)" or "(type="hidden")"? |
23:14 | <TabAtkins> | The first. |
23:14 | <Hixie> | k |
23:14 | <Hixie> | (type=hidden) or ("type=hidden") ? |
23:15 | <TabAtkins> | Hm. I think the first. |
23:15 | <Hixie> | k |