00:44
Dashiva
chuckles at 1472
00:50
<webben>
Philip`: Have you done a survey of @abbr ?
00:57
<takkaria>
The Endgame
00:57
<takkaria>
mispaste there
01:00
<Philip`>
webben: What kind of survey?
01:03
<Philip`>
webben_: http://krijnhoetmer.nl/irc-logs/whatwg/20080422#l-43
01:04
<Philip`>
From looking at a few cases of @abbr, it's used almost entirely for day names in calendars, and I think that's all from Wordpress
01:04
<webben_>
any sort of survey
01:05
<Philip`>
except for some who get the full/abbreviated forms the wrong way round
01:06
<Philip`>
and some who have abbr="abbrText" and abbr="%A"
01:06
<webben_>
Philip`: Do you have a link to that survey?
01:06
<Philip`>
webben_: No, since I only just started my thing looking for @abbr uses - it'll probably take ten minutes or so
01:06
<webben_>
oh right, that was quick
01:07
<Philip`>
Actually, it'd be more useful if I got the full cell text as well as the @abbr value
01:07
<webben_>
Yep.
01:10
Philip`
wonders what happens if he runs the surveyer process twice
01:10
<Philip`>
(*twice simultaneously)
01:11
<Philip`>
Oh, the second one goes fast since all the HTML data is cached
01:12
<Philip`>
webben_: Do you have any ideas of a useful way to present the data?
01:13
<webben_>
um ... cell innerHTML, abbreviation, URL to page/ideally page fragment
01:14
<webben_>
Philip`: conceivably one might want to include some other markers of sanity
01:14
<webben_>
e.g. abbr doesn't make much sense for a layout table: is this table using th/caption/summary/headers/scope
01:14
<webben_>
dunno how hard that would be to build into your tests though
01:15
<Philip`>
webben_: Hmm, there seems to be few enough non-calendar @abbr examples that it'd probably be better just to check those cases manually
01:16
<webben_>
maybe it's worth gathering non-calendar examples
01:16
<webben_>
specifically
01:16
<Philip`>
It'd be nice if I could automatically detect all the calendars
01:16
<Philip`>
but they're in lots of languages
01:16
<webben_>
if the calendar examples are just some devs following the same markup pattern, they won't tell us much
01:16
<webben_>
but they all have months and stuff?
01:17
<webben_>
I mean, it's not like the localizations are that complex
01:17
<Philip`>
(土曜日, woensdag, Martedì, domingo, ...)
01:17
<Philip`>
They're mostly day names, and only occasional month names
01:17
<Philip`>
(as far as I can tell)
01:17
<webben_>
hmm
01:18
<webben_>
if you had days of the week in major languages, that might do it.
01:18
<Philip`>
星期六 -- hmm, charset error
01:19
<Philip`>
Maybe I could just look for any page with seven @abbr attributes
01:19
<webben_>
that's a bit fuzzy, might quasi-work though
01:21
Philip`
wonders if he can write the result-processing script before the result-collecting program finishes the last 50K pages...
01:22
<webben_>
hehe :)
01:23
<Philip`>
Erk, only 7K left
01:23
<Philip`>
I think I'm going to lose
01:24
<webben_>
Quick! Code faster ;)
01:25
<Philip`>
I lost
01:34
<Philip`>
webben_: Is http://philip.html5.org/data/table-abbr.html vaguely useful?
01:34
<Philip`>
Uh, that table needs borders
01:34
<Philip`>
(How do I give a table borders?)
01:34
<webben_>
td {border: 1px solid black;}
01:35
<Philip`>
Ah, thanks, that doesn't look too ugly
01:37
Philip`
updates the file
01:37
<Philip`>
It's sorted by number of abbr on the page, so all the ones with 5 are grouped together
01:42
<Philip`>
(By "5", I obviously mean "7", though that doesn't change the validity of my statement)
01:43
<Dashiva>
Philip`: Are you saying the ones with 5 aren't grouped? :)
01:44
<Hixie>
well
01:44
<Philip`>
Dashiva: I am making no statement whatsoever about the ones with 5
01:44
<Philip`>
except to the extent that my statement about 7 generalises to all values of 7, including 5
01:44
<Hixie>
what we determine from this is that people suck and abbr is as much of a mess as the rest of the web
01:44
<Hixie>
good times!
01:44
<Philip`>
I'm quite surprised that that page is valid HTML5, since I was hardly even trying
01:44
<Dashiva>
I used abbr for actual abbreviations today, so all is not lost
01:44
<Philip`>
though I doubt it's a very accessible table
01:45
<Philip`>
and also it doesn't render right unless you have a beta browser
01:47
<Philip`>
Hixie: Alternatively, we can determine that Wordpress has ensured that a majority of @abbr users are using it correctly and usefully
01:47
<Philip`>
(Well, I'm guessing it's Wordpress, but I only looked at about two examples...)
01:48
<Philip`>
Oh, I'm guessing wrong, there's lots of generic calendar widgets too
02:14
<Hixie>
Philip`: yeah, because the odds of someone knowing what "Sun" means in teh context of a calendar are so low that it's critical that it be marked up!
02:17
<Philip`>
Hixie: It seems reasonably critical when the headers say "M, T, W, T, ..." and you're navigating through the table and want to work out what day the 22nd is (by getting your AT to read the cell's headings) and you're in a "T" column
02:17
<Dashiva>
Surely you can afford two letters
02:17
<Philip`>
Two-letter day names are ugly
02:17
<Philip`>
Three letters looks fine by takes too much space
02:18
<Hixie>
Philip`: maybe.
02:18
<Dashiva>
Then use single letter but Tu and Th
02:18
<jruderman_>
i've seen R used for thursday
02:18
<Philip`>
That's even worse
02:18
<jruderman_>
MTWRF
02:18
<Philip`>
jruderman_: That's even worser, since it doesn't even make sense
02:18
<Dashiva>
jruderman_: That ruins the WTF substring
02:19
<jruderman_>
haha
02:19
<jruderman_>
"My Japanese class isn't just a WTF class. it meets on monday and tuesday too!"
02:21
<Philip`>
Making tables uglier for a vast majority of users, to make it more accessible for a minority, doesn't seem like a tradeoff that people will often pick
02:22
<Philip`>
so there should be a way to make the table accessible whose cost is lower than that ugliness
02:23
<jwalden>
R for Thursday makes total sense
02:23
<Philip`>
I can't stop myself reading it as "Rursday"
02:24
<Philip`>
And you still get problems on weekends, unless you say Sunday = U or N or something
02:24
<Dashiva>
You're only allowed to do that on days ending in -amburger
02:28
<Philip`>
Catalan(?) calendars look fun to abbreviate, since the days are dilluns, dimarts, dimecres, dijous, divendres, dissabte, diumenge
02:29
<MikeSmith>
日月火水木金土
02:30
<Philip`>
日一二三四五六
02:31
<Philip`>
(Chinese?)
02:31
<Philip`>
(I'm guessing based on the web site design, not on the text)
02:32
<MikeSmith>
日一二三四五六 is not used in Japan at least
02:32
<MikeSmith>
so must be Chinese I guess
02:32
<MikeSmith>
weird that it uses numbers for every day except Sunday
02:32
<Philip`>
Is Sunday the first or last?
02:33
<Philip`>
(or middle?)
02:33
<MikeSmith>
Sunday is the first character
02:33
<Philip`>
Okay
02:33
<MikeSmith>
the last one is six
02:33
<MikeSmith>
日 actually means "Sun"
02:34
<MikeSmith>
or also "day"
02:34
<blooberry>
mikesmith: wow, what you had just said could be hard to interpret if you didn't know the kanji.
02:34
<Philip`>
Looks more like a chest of drawers to me
02:35
<Hixie>
looks like the svgwg's requirement for svg in text/html is that any svg thing that works in text/html must work in xml if copy-pasted
02:35
<Hixie>
i wonder if that requirement is achievable
02:35
<Philip`>
What about SVG things that don't work in text/html?
02:35
<Philip`>
(and what does "work" mean?)
02:35
<Hixie>
not sure about svg things that don't work in text/html
02:36
<Hixie>
work means that you get an equivalent rendering with no new errors if you copy and paste the fragment from the original source bytestream and reserve it as image/svg+xml
02:37
<Hixie>
which i guess means we have to do extreme validity checking, e.g. making sure there are no conflicting xmlns attributes, and not rendering any graphics if there are any errors
02:38
<othermaciej_>
Hixie: I don't see how to achieve it without introducing some level of draconian handling to text/html
02:38
<othermaciej_>
which, to my mind, largely defeats the purpose of putting svg in text/html
02:38
<Hixie>
yes, you would have to introduce some sort of draconian handling for svg subtrees
02:38
<Hixie>
i'm not saying i agree with the requirement
02:38
<Hixie>
i'm saying that that is their requirement
02:39
<Hixie>
if we disagree with their requirement, then unless either we change our mind or they change their mind, we won't get consensus on what the spec should say
02:39
<Hixie>
the point might be moot if the requirement is no achievable, though
02:40
<Hixie>
so if one disagrees with the requirement, one has two lines of attack, either argue against the requirement, or argue that the requirement is not met (assuming it is indeed not met by their proposals)
02:40
<Hixie>
if one agrees with the requirement, then one would have to find a solution that meets it
02:40
<Hixie>
i don't see a sane solution that achieves it yet
02:44
<Philip`>
Hixie: Even if you do agree with the requirement, shouldn't you still argue that the requirement is not met if it's not met?
02:45
<Philip`>
That argument seems independent of opinions on the requirements, it's just about technical facts of the proposals
02:46
<jruderman_>
Philip`: whoever came up with the names for the days of the week clearly didn't think it through
02:47
<Philip`>
They really should have predicted that I'd have a digital watch with only space for two uppercase letters
02:48
<h3h>
isn't two easy?
02:48
<Hixie>
Philip`: sure
02:48
<Hixie>
Philip`: i
02:48
<h3h>
one is the hard case
02:48
<Hixie>
er
02:48
<jruderman_>
and that colleges would want to be able to express classes as being held on "MWF" or "TR"
02:48
<h3h>
I love Rursday
02:48
<Hixie>
Philip`: i'm just saying that if the requirement can't be met, and you're against hte requirement, it may be easier to argue that you agree with it and that it isn't met, than to disagree with it
02:49
<Philip`>
h3h: It's easy but it doesn't look very elegant
02:49
<Hixie>
Philip`: usually requirements _can_ be met, and thus arguing that it isn't met is not a successful argument against the requirement
02:49
<h3h>
true. it's easier to just use 0-6
02:49
<Philip`>
Hixie: That seems like a dishonest way to argue
02:50
<jruderman_>
http://www.google.com/search?q=Rursday+mtwrf "Did you mean: Thursday mtwrf"
02:50
<jruderman_>
<3 google
02:50
<Hixie>
Philip`: i'm not necessarily advocating it
02:50
<Hixie>
Philip`: just making an observation :-)
02:50
<Philip`>
h3h: 0-6 is not easier when sensible people think weeks start on Monday but everyone else says Sunday
02:51
<Hixie>
Philip`: (it is important to be able to recognise such debate tactics since often people use them in the standards world)
02:51
<Philip`>
Hixie: I'm not necessarily implying it's a bad thing to do :-)
02:51
<h3h>
sounds like it's ripe for an RFC
02:51
<Hixie>
(or in politics in general!)
02:53
<Philip`>
(At least numeric day-of-week input is easy, because you can accept 0 and 7 as Sunday, and people can choose whether they want to think about Su-Sa=0-6 or Mo-Su=1-7)
02:58
<othermaciej>
Hixie: by the way, when do you plan to update acid3?
02:59
<othermaciej>
we've been sitting on the patch to fix WebKit
02:59
<othermaciej>
(which is lame and cheesy of us, admittedly)
03:10
<Hixie>
oh right
03:10
<Hixie>
will do that shortly
03:24
<Hixie>
just did big updates the the faq
06:48
<Hixie>
the ps3 web browser is so great i can't even click on the link to go to the acid3 test
06:49
<Hixie>
25/100 and a renderig better than IE's
06:49
<Hixie>
not bad
06:49
<othermaciej>
heh
06:54
<Hixie>
hey it passes acid1 perfectly
07:51
<webben_>
Philip`: Thanks for the table :) From an initial look through, the abbr are either wrong and harmless (), or just harmless, or helpful (albeit not always /shorter/, but when not shorter, clearer)
07:52
<webben_>
wrong and harmless e.g. empty abbr on td when td is a layout cell in a layout table, not acting as a header.
07:53
<webben_>
It's interesting to see some people using abbr in a somewhat similar way to how I've used it (not just shortening/clarifying, but also dropping widgets like links out of headers)
07:53
<webben_>
e.g. where you have << M, dropping the << link to the previous week and substituting Monday for M.
07:54
<Hixie>
apparently the ps3 browser is a netfront build of some description
07:54
<Hixie>
which explains the less than stellar results i've been getting
07:54
<Hixie>
it also appears to not support |for (x in o) ...|
07:54
<webben_>
Hixie: is it still being developed?
07:54
<Hixie>
in js
07:54
<Hixie>
webben_: no idea
07:55
<webben_>
I got the impression a lot of the console browsers are developed by those mobile browser companies who've been thrown onto the rocks by Opera Mini and WebKit-derivatives.
07:58
<othermaciej>
Opera developed the Wii browser did they not?
07:58
<othermaciej>
(or do you count them as thrown on the rocks?)
07:59
<webben_>
othermaciej: I wouldn't count Opera as a mobile browser company (by which I really mean, a company that produces dedicated rendering engines for mobile, but not for desktop)
07:59
<webben_>
so not thrown on the rocks
08:00
<webben_>
s/by Opera Mini and WebKit-derivatives/by Opera and WebKit-derivatives/
08:00
<webben_>
there's a least one browser of that sort where development has been canned entirely
08:00
<webben_>
forget which console it's for now
08:00
<othermaciej>
I'm just saying, there is no reason a console browser can't use a top tier engine
08:01
<webben_>
Oregan
08:01
<othermaciej>
I have heard of pure mobile browsers having trouble yeah
08:01
<webben_>
othermaciej: Absolutely. That's why the old products are being thrown on the rocks, as I understand it.
08:01
<Hixie>
yeah really, i don't understand why the ps3 doesn't use webkit or gecko
08:01
<Hixie>
the netfront browser is pretty crappy
08:02
<webben_>
it's funny they don't support for (x in o) given they have a whole Ajax widgets platform
08:02
<othermaciej>
they probably contracted it out and with with the lowest bidder
08:02
<webben_>
maybe this is an old version though
08:02
<webben_>
http://www.access-company.com/products/netfrontmobile/browser/widgets.html
08:03
webben_
tries to imagine being paid to develop a Netfront mobile widget. Can't quite see it.
08:03
<webben_>
we have way too many widget platforms
08:04
<hsivonen>
their marketing material shows the network operator as someone who should read browser marketing material. that's a bug right there.
08:20
<hsivonen>
Lachy: deleted spam and spammer from WHATWG blog
08:37
<annevk>
it seems that almost all abbr= usage is wrong from http://philip.html5.org/data/table-abbr.html
08:38
<annevk>
after all, abbr= should contain the abbreviated form, not the expansion
08:38
<Lachy>
hsivonen, thanks
08:38
<annevk>
admittedly, i never got that either when i've used it so i used it incorrectly too...
08:39
<Lachy>
hmm. There's still more to delete. I'll do it shortly.
08:39
<Lachy>
I also have to upgrade to WP2.5
08:44
<webben_>
annevk: Well, it's "wrong" in a strict spec sense of not being an abbreviation; but unlike a lot of HTML usage, it's /right/ in the sense of picking up on how the attribute is meant to be used by user agents.
08:44
<webben_>
"Abbreviated names should be short since user agents may render them repeatedly. For instance, speech synthesizers may render the abbreviated headers relating to a particular cell before rendering that cell's content."
08:45
<webben_>
i.e. authors using expanded names for days are actually doing something useful for that usecase
08:45
<webben_>
even if they're tunnelling it through abbr
08:46
<webben_>
I suppose one could also argue that Monday is an "abbreviated form of the cell's content" of M in so far as M only really makes sense in the context of that row.
08:48
<webben_>
I grant it wouldn't work very well for " For visual media, the latter may be appropriate when there is insufficient space to render the full contents of the cell. " ... but then UAs could trivially detect which is shorter.
08:48
<webben_>
and in any case, no UA has implemented that visual use AFAIK.
08:50
<webben_>
see also: "Provide terse substitutes for header labels with the "abbr" attribute on TH. These will be particularly useful for future speaking technologies that can read row and column labels for each cell. Abbreviations cut down on repetition and reading time." (WCAG 1.0) ... Monday is a "summary information" for that header cell, given its context.
08:51
<webben_>
http://www.w3.org/TR/WCAG10-HTML-TECHS/#table-summary-info
08:52
webben_
wonders if any mobile browsers might implement short abbr attribute in visual display.
08:52
<webben_>
I can't see how an attribute works well for that, given table headers often contain links and so forth.
08:52
<annevk>
I don't think arguing it's right is useful. It's clear that nobody understood how it was to be used.
08:53
<webben_>
They understood how it /was/ used.
08:53
<webben_>
(and is used)
08:55
<webben_>
annevk: I'm not so much arguing it's right, as that the way it's used is useful, and reflects a use-case envisaged in the spec and actual UA implementations.
08:56
<webben_>
Actually, given it only says "may be appropriate", I guess it's consistent with the unimplemented(?) feature too.
08:57
webben_
concludes most abbr= usage is more-or-less right in Philip's sample.
08:59
<webben_>
that is, it's not unreasonable for UAs to apply an algorithm to decide whether it /is/ more appropriate.
09:04
<hsivonen>
wow. issue graph looking good.
09:08
<Hixie>
hsivonen: notice the new blue line :-)
09:10
<hsivonen>
Hixie: what's that?
09:10
<Hixie>
number of occurances of "XXX" and "big-issue" in the spec
09:10
<hsivonen>
lots of those
09:10
<Hixie>
508
09:11
<hsivonen>
I now see that the page documents the blue line
09:11
<hsivonen>
somehow it's hard to pick up from the middle of a paragraph
09:11
<Hixie>
i added it last week when my mail was being slow, since i started working on XXXs instead of mails
09:12
<Hixie>
that's where the document.scripts, applets, etc, was added
09:13
<hsivonen>
looking at my open schema bugs, unresolved WF2 questions are the main theme
09:14
<Hixie>
yeah
09:14
<Hixie>
i'm waiting for the task force to resolve in some way
09:14
<Hixie>
i don't want to merge wf2 if the w3c decides we're doing something else
09:14
<Hixie>
(though i'm likely to time out when i run out of other things to deal with)
09:15
<hsivonen>
I'm rather disappointed that there hasn't been more WF2 action in the Gecko and WebKit code bases by now
09:16
<Philip`>
http://code.google.com/soc/2008/webkit/about.html has a WF2 one
09:18
<othermaciej>
part of the reason we haven't moved very fast on WF2 is due to it being in semi-limbo
09:18
<roc>
yeah, didn't Hixie just say he was going to gut it?
09:19
annevk
would like most to stay in
09:19
<annevk>
though i'm obviously biased working for an implementor and having made a test suite
09:19
<roc>
personally I want XBL2 more
09:20
<annevk>
yeah, that'd be nice
09:20
<hsivonen>
roc: I thought Hixie said the repetetion model will be axed
09:20
<othermaciej>
XBL2 is also a WebKit gsoc project
09:20
<othermaciej>
both of those are pretty ambitious
09:20
<hsivonen>
othermaciej: implementing it would be the best way to get out of limbo
09:20
<othermaciej>
likely will not get to 100% in the scope of a single summer
09:21
<othermaciej>
hsivonen: yeah, but when we implement things we almost always have comments
09:21
<Hixie>
roc: i dunno about gutted, but maybe slimmed and trimmed
09:21
<hsivonen>
I thought "everyone" was expecting hyatt do implement XBL2 in WebKit
09:21
<othermaciej>
and the path to fielding them and updating the spec is a little unclear
09:21
<othermaciej>
hyatt has a short attention span
09:21
<othermaciej>
you can expect "someone" or maybe "multiple people" to implement XBL2 in WebKit sometime
09:23
<hsivonen>
Hixie: are you considering trimming something other than the repetition model?
09:25
<roc>
also, WF2 gives you better ways to do things that you can already do today
09:26
<roc>
but features like offline apps give you ways to do things you just can't do today
09:26
<roc>
the latter are a bit more compelling
09:26
<Hixie>
yeah
09:26
<Hixie>
hsivonen: everything is always at risk
09:26
<hsivonen>
roc: yeah, but not having native sliders sucks. and having to use ARIA to make the "today" version accessible sucks
09:27
<roc>
yeah, I understand
09:27
<othermaciej>
roc: we try to balance improvements to existing stuff and brand new functionality
09:27
<othermaciej>
Selectors API would be in the former category
09:27
<roc>
so do we
09:27
<othermaciej>
arguably CSS Transitions too
09:27
<roc>
I would argue that's more in the new functionality category
09:28
<othermaciej>
really? almost every JS library has a well-optimized version
09:28
<Hixie>
it's a continuum
09:28
<othermaciej>
saving the big pile o' code and the > order of magnitude speedup is good of course
09:28
<roc>
giving the browser control of the frame rate is a great new capability
09:29
<othermaciej>
well, being able to write an AJAX combo box without a big pile of script and explicit XHR is also a great new capability
09:29
<othermaciej>
as is a slider control (though that one we already have in WebKit)
09:29
<Hixie>
the slider control was the first whatwg feature to get a public demo
09:30
<Hixie>
though i doubt steve jobs knew what he was demoing when he showed it
09:30
<Hixie>
wwdc 2004, iirc
09:30
<roc>
othermaciej: stuff like GWT exists
09:30
<roc>
I'm not saying WF2 is worthless
09:31
<Hixie>
it's not as exciting
09:31
<othermaciej>
roc: GWT is surely far more of a burden for delivering features than, say, jQuery or Dojo
09:31
<roc>
sure, they exist too
09:31
<othermaciej>
I really want <input type="search"> and <input placeholder=""> in the spec
09:31
<othermaciej>
so I know what we need to fix to make them spec-compatible
09:32
<Hixie>
othermaciej: get the task force disolved :-)
09:32
<Hixie>
or at least resp;ved
09:32
<othermaciej>
Hixie: I did my best!
09:32
<Hixie>
resolved
09:32
<othermaciej>
I will have to write the Architectural Consistency document myself, I guess
09:32
<othermaciej>
and fruitlessly get people to comment
09:32
<roc>
I spent a significant amount of effort polishing getBoundingClientRect/getClientRects this cycle, so I do care about improving existing stuff :-)
09:32
<othermaciej>
I guess odds are no one else on the TF will do real work though
09:33
<annevk>
i will update the webpage to point to your document :)
09:34
<othermaciej>
roc: I'm not even sure what we are debating because I almost always agree with your judgment about what is good to add to the web platform
09:35
<Hixie>
othermaciej: well, if nobody does any real work, your job is easier -- just do the work you want, and keep pushing it and giving deadlines until you basically have a de facto resolution
09:35
<roc>
yeah, it's one of those silly conversations
09:39
<annevk>
so since you're all here
09:39
<annevk>
would it be problematic if i pushed rangeFromPoint and caretRangeFromPoint to v2?
09:40
<annevk>
along with all other improvements for a CSS box model API?
09:40
<othermaciej>
not sure what is in that category
09:40
<annevk>
i'm not sure either
09:40
<othermaciej>
it's not a problem for me but we may feel compelled to invent something ourselves due to high-priority developer requests
09:41
<othermaciej>
(specifically for hit testing to a character)
09:41
<roc>
RangeView is in that category too, getBCR and getCR for ranges
09:41
<annevk>
that'd be caretRangeFromPoint...
09:41
<othermaciej>
yeah
09:41
<othermaciej>
what is RangeView?
09:42
<annevk>
some additional features for Range
09:42
<othermaciej>
ah
09:42
<annevk>
to get the size of ranges
09:42
<roc>
it
09:42
<annevk>
ok, I suppose i can add caretRangeFromPoint and rangeFromPoint and have another WD first before going to Last Call
09:43
<roc>
the reverse of rangeFromPoint etc ... methods to give you the bounding boxes of text subranges
09:43
<othermaciej>
I'm still not sure what the regular rangeFromPoint is suposed to do
09:43
<othermaciej>
and how it is different
09:43
<othermaciej>
roc: yeah, that sounds useful
09:43
<annevk>
the regular rangeFromPoint is hit testing without layout calculations
09:43
<annevk>
so it would return an element range if you click in the margin
09:43
<othermaciej>
what does that mean?
09:43
<roc>
rangeFromPoint is like elementFromPoint
09:43
<othermaciej>
"without layout calculations"
09:44
<roc>
except that if you're over a text node, it can give you a particular character cell
09:44
<othermaciej>
all hit testing is based on layout
09:44
<annevk>
othermaciej, well, I mean you don't need to find the nearest text node, it just returns what's right under the cursor
09:44
<othermaciej>
what is the use case for that?
09:44
<annevk>
"cursor"
09:44
<othermaciej>
you still have to hit test line boxes if it is supposed to give character cells when you click the character
09:45
<othermaciej>
and you'd also have to define what happens when you click in the gap between lines
09:45
<othermaciej>
is that part of the line box?
09:45
<roc>
you can specify it in terms of event targeting
09:45
<othermaciej>
it sounds like it would actually be harder to implement, potentially
09:46
<othermaciej>
since every engine that supports editing must have the logic to do the equivalent of caretRangeFromPoint
09:46
<othermaciej>
mouse events don't target text nodes
09:47
<roc>
I'd argue that's a quirk of the DOM
09:48
<roc>
you may be right, perhaps the use cases for rangeFromPoint are limited enough that authors should just use a combination of elementFromPoint and caretRangeFromPoint
09:48
<othermaciej>
I'm still not entirely sure what would be a use case for rangeFromPoint
09:48
<roc>
but hmm
09:48
<othermaciej>
not denying there is one
09:48
<othermaciej>
I just can't think of one off hand
09:49
<roc>
for example, people want to track the mouse cursor and show, say, the definition of the word that the mouse is hovering over
09:49
<annevk>
so if we let rangeFromPoint slide for the moment and only have caretRangeFromPoint, how would we define it?
09:49
<roc>
so if the cursor is in the padding of a block, you don't want to show anything
09:49
<othermaciej>
why isn't caretRangeFromPoint good enough?
09:49
<othermaciej>
presumbly you want to show only when you'd be between two chars of a word
09:49
<othermaciej>
not at the edge
09:49
<roc>
you don't want to return the character position for the start of the line
09:50
<hsivonen>
does XPatch context position count comment nodes and whitespace-only text nodes?
09:50
<hsivonen>
XPath
09:50
<roc>
suppose they want to show when the caret's at the start or end of a word
09:51
<roc>
or the mouse, I mean
09:51
<roc>
so the thing is, if the mouse is over the first character, you'd want to show the popup
09:52
<roc>
hmm
09:52
<roc>
I suppose if caretRangeFromPoint is defined so that when the mouse is in the padding, you get an empty range postiioned at the start of the line, but if it's over a character then you get the range containing the character
09:52
<roc>
then that case would be fine
09:52
<othermaciej>
annevk: well, I could look up what we do to implement hit testing to characters, but I am not sure if that will result in anything that gives a sane definition
09:52
<othermaciej>
roc: though, to be fair, I guess that would require you to slide partway over the first character to see it, which is annoying
09:52
<othermaciej>
you do want to be able to hit test to a glyph (and detect when you did not hit a glyph box at all)
09:53
<othermaciej>
yeah but that's not a caret range, so you'd have to change the name
09:53
<roc>
yeah
09:53
<othermaciej>
presumably for a multichar glyph you'd want to give the range of all contributing characters in such a case
09:53
<roc>
I think I agree that the "caret" range is going to be more useful than any alternative
09:53
<roc>
yeah
09:53
<othermaciej>
so maybe glyphBoxRangeFromPoint
09:53
<roc>
no
09:54
<roc>
that would be confusing when dealing with ligatures
09:54
<othermaciej>
hmm yeah
09:54
<othermaciej>
you'd want to decide that some way through the ligature the chars split
09:54
<roc>
yeah
09:54
<roc>
the browser has to do that when selecting text containing ligatures, anyway
09:56
<othermaciej>
typography is hard
09:56
<roc>
tell me about it
09:56
<othermaciej>
I just did
09:56
<othermaciej>
:-)
09:58
<roc>
maybe something like selectionRangeFromPoint
09:58
<othermaciej>
a point doesn't really define a selection
09:59
<Hixie>
selectionRangeFromTwoPoints()? :-)
09:59
<roc>
where one end of the range is the nearest possible selection anchor "before" the given point, and the other end of the range is the nearest possible anchor "after" the given point
09:59
<othermaciej>
it is hard to think of a good name
09:59
<othermaciej>
Hixie: that would be redundant with getting the caret range for each point and using those as the endpoints
09:59
<annevk>
selectionRangeFromRect()
09:59
<roc>
I dunno
09:59
<Hixie>
true
09:59
<roc>
argh no
09:59
annevk
was joking
10:00
<annevk>
othermaciej, it might help, dunno
10:11
<annevk>
roc, re: www-style, :)
10:12
<roc>
I have decided to be the bad cop
10:12
<roc>
on this issue
10:12
othermaciej
guesses what the issue is before checking www-style
10:13
<Hixie>
what's going on in www-style these days
10:13
othermaciej
guessed correctly
10:13
<annevk>
fonts and cssom-view rants
10:13
<othermaciej>
roc: I almost asked him if he could point to any font EULA that specifically allows use on the web in EOT form but not as regular OpenType, with specific wording
10:14
<Hixie>
seems i haven't looked at www-style for a month now
10:14
<roc>
othermaciej: that's more jdaggett's angle.
10:14
<Hixie>
oh has paul still not replied to my e-mail?
10:14
<roc>
too subtle for me
10:14
zcorpan
hasn't looked at www-style for, uh, over a year probably
10:14
<othermaciej>
he says font vendors will sue you if you use WebFonts: http://lists.w3.org/Archives/Public/www-style/2008Apr/0372.html
10:14
hsivonen
agree's with howcome's latest in that thread
10:15
<hsivonen>
agrees
10:15
<hsivonen>
the linguistic quality of my IRC output has gotten terrible lately
10:15
<Hixie>
http://lists.w3.org/Archives/Public/www-style/2007Nov/0263.html http://lists.w3.org/Archives/Public/www-style/2007Nov/0274.html http://lists.w3.org/Archives/Public/www-style/2007Dec/0084.html
10:17
<annevk>
hsivonen, it's not you, it's the medium
10:17
<roc>
font vendors are welcome to sue anyone they please
10:17
<roc>
as long as it's not our problem
10:17
<hsivonen>
jdaggett has a good point Re: Mac OS X fonts.
10:17
<hsivonen>
Mac OS X automates embedding the fonts Apple ships in PDFs all over. are those fonts fair game for CSS usage, too?
10:17
<roc>
whoever it was who pointed out that exactly the same issues apply to *images* was spot on
10:18
<Hixie>
not just images
10:18
<roc>
indeed, before the rise of HTML there were a lot of competing hypermedia platforms which invested heavily in strict DRM
10:18
<Hixie>
stylesheets too!
10:18
<Hixie>
and html!
10:18
<Hixie>
and scripts!
10:18
<hsivonen>
roc: it's this crazy idea that fonts, movies and music are holier than images and text
10:18
<Hixie>
in fact, fonts have _LESS_ copyright protection than anything else!
10:19
<hsivonen>
Hixie: bitmap fonts in the U.S. yes
10:19
<roc>
people went around saying that hypermedia can't be successful until we've solved the issues of making sure authors get paid
10:19
<hsivonen>
Hixie: Adobe has been pretty good at casting outline fonts as software
10:19
<Hixie>
font outlines aren't copyrightable. programs that define font hinting are, maybe.
10:20
<Hixie>
i dunno if that's ever been tested though.
10:20
<Philip`>
roc: Does that mean we needs fonts that have embedded adverts?
10:20
<Philip`>
*need
10:20
<roc>
they also made consistency requirements, so there are never broken links
10:20
<othermaciej>
I'm once again thinking of proposing my own idea for a secure font format
10:20
<othermaciej>
OpenType-rot13
10:20
<roc>
how's that different from EOT?
10:20
<othermaciej>
it would provide just as much security as EOT but it would be way easier to implement
10:20
<roc>
well yeah
10:20
<roc>
I think Paul might even argue that's actually good enough
10:21
<hsivonen>
Hixie: fortunately, people are arguing the legal angle from the U.S. point of view
10:21
<othermaciej>
roc: I admire your assumption of relative good faith on his part
10:21
<roc>
the only requirement seems to be that you can't grab a URL from somewhere, download the font in your browser and drop it into your fonts folder
10:21
<Hixie>
yeah i have to say, i'm at least as cynical as maciej at this point
10:21
<roc>
nobody out-paranoids me!
10:22
<hsivonen>
Hixie: over here, there's no exception for fonts, so per statute, the copyright situation of fonts is insane
10:22
<othermaciej>
I think Microsoft's main reason for pushing EOT is that they already have it implemented as a web font format
10:22
<hsivonen>
Hixie: here the legal culture leaves lots of special cases undefined and relies on people having common sense
10:22
<Hixie>
hsivonen: ah
10:22
<roc>
but here there's nothing to lose from a good-faith assumption
10:22
<annevk>
for those who can read it, http://lists.w3.org/Archives/Member/w3c-css-wg/2008AprJun/0091.html has more information
10:22
<othermaciej>
Microsoft is a big fan of standardizing whatever they happen to have implemented already
10:22
<roc>
othermaciej: yeah
10:22
<othermaciej>
see OOXML
10:22
<Hixie>
the whole discussion is moot anyway
10:23
<roc>
hey man, Apple's a big fan of OOXML
10:23
<Hixie>
everyone (other than microsoft) should just implement TTF and move on
10:23
<Hixie>
and let IE linger in its obsolescence
10:23
<roc>
that's certainly what's going to happen
10:23
<othermaciej>
there's little chance of WebKit removing OpenType support
10:23
<othermaciej>
but we have gotten requests to also support EOT
10:24
<Hixie>
othermaciej: be strong!
10:24
<othermaciej>
Hixie: well, if some crazy bastard put it in an Acid test I might not say no
10:24
<Hixie>
hehe
10:24
<roc>
you need to be strong vs Hixie too
10:25
<Hixie>
i learnt a lot from acid3
10:25
<Hixie>
sadly my job means that my learning experiences get splattered across the web and affect a lot of engineers
10:25
<othermaciej>
acid3 didn't have any feature tested that we were truly deeply opposed to
10:26
<Philip`>
Acid3 shows that browser vendors are easily manipulated into implementing whatever you want
10:26
<othermaciej>
though some would have been much more on the back burner otherwise (mainly svg animation and fancy svg font stuff)
10:26
<roc>
I have a linger resentment over SMIL
10:26
<roc>
but I'll get over it
10:26
<Hixie>
Philip`: not really, i always got a majority agreement from the vendors before adding anything to the test
10:26
<Hixie>
roc: yeah, one of the things i learnt is that i should not have pushed for 100 tests
10:27
<Hixie>
roc: when i ran out of thigns to test, i should have stopped, not gotten other people to submit their pet peeves
10:27
<othermaciej>
I think the third-party submissions should have been reviewed more carefully
10:27
<roc>
I learned that I should have submitted *my* pet peeves
10:27
<othermaciej>
some of the submitted tests were good
10:27
<othermaciej>
the svg ones were kinda crazy
10:27
<othermaciej>
even heycam's test which I respect the thoroughness of
10:28
<othermaciej>
I thought about submitting tests but I felt it would be a bit dodgy to do so as a browser vendor
10:28
<othermaciej>
(maybe unless webkit failed them too)
10:30
<Philip`>
Hixie: I wouldn't worry about the damaging splatters of your learning experiences (/mistakes) in Acid3 - they'll be dwarfed by the problems caused by HTML5
10:32
<othermaciej>
Acid3 highlighted for me how much critical web application functionality lacks a proper spec
10:32
<othermaciej>
(many now in progress though)
10:33
<Hixie>
Philip`: oh i was thinking of html5 too when i said that
10:35
<hsivonen>
is Silverlight already in a standards pipeline at ECMA or somewhere?
10:36
<othermaciej>
not that I'm aware of
10:36
<othermaciej>
though Microsoft has let Novell clone it
10:36
<Hixie>
parts of it are already standardised
10:36
<Hixie>
dunno about the silverlight-specific APIs
10:37
<othermaciej>
C# and its standard library are standardized
10:37
<othermaciej>
well, insofar as an ECMA rubber stamp means anything
10:39
Hixie
throws his lot into the webfonts debate
10:40
Philip`
wonders if the criticisms of the OOXML-in-ECMA process apply at all to ECMAScript
10:40
<othermaciej>
ECMAScript is its own kind of hot mess
10:40
<othermaciej>
not a lotta rubber stamping happening though
10:44
<othermaciej>
ironically WebKit now has (I think) code to convert OpenType files to EOT to support OpenType WebFonts with GDI text
10:44
<Hixie>
that's fucked up
10:44
<othermaciej>
(since that is the only format that has a GDI API for in-memory activation)
10:49
<roc>
it is?
10:49
<roc>
bah
10:49
Philip`
got worried by how many people use @font-face, until realising that @font-face{src} was the interesting thing, and not many (~0.03%) use that
10:50
<Philip`>
(or at least use it in inline <style> in their HTML file)
10:54
<krijnh>
MikeSmith: is http://michaelwsmithfans.org/ yours? :)
10:56
<roc>
no
10:56
<roc>
I doubt it :-)
10:56
<MikeSmith>
no
10:56
<MikeSmith>
I have no fans
10:57
<MikeSmith>
I have only a hate club
10:57
<annevk>
Hixie, document.createElement("meta") is non-conforming?!
10:57
<krijnh>
:)
10:57
<Hixie>
annevk: the meta element that comes out of it is, yes, until it has an attribute set
10:58
<annevk>
that means it's impossible to insert elements without at some point being non-conforming
10:59
<annevk>
i'd like a way to be pedentically correct without having to resort to innerHTML tactics
10:59
<Hixie>
you know, this is pretty insane. i give all my wireless devices static IPs on my network, and my list of (actively used) static IPs now has nine separate devices on it.
10:59
<Hixie>
annevk: it doesn't matter if it's non-conforming while script is running
10:59
<Hixie>
annevk: just like it doesn't matter if the document is non-conforming while the parser is still parsing the file
11:00
<annevk>
that sounds reasonable
11:00
<Hixie>
wii, ps3, my three laptops, my girlfriend's laptop, my mac mini, my router, and my ipod
11:01
<Lachy>
Hixie, in 8.2.4 Tokenisation, the spec says "When a DOCTYPE token is created, its self-closing flag must be unset (its other state is that it be set), and its attributes list must be empty. Comment and character tokens have data." - I think that's supposed to say Start Tag token
11:02
<Lachy>
it's the end of the 3rd paragraph in that section.
11:04
<hsivonen>
speaking of Mac Mini, the rumors said there'd be a new one today.
11:04
<hsivonen>
is it really Apple announcement Tuesday today?
11:04
<othermaciej>
every Tuesday is Announcement Tuesday
11:04
<othermaciej>
well, almost every
11:08
<Hixie>
Lachy: looks like you're right. can you send mail?
11:09
<Hixie>
hsivonen: new mac minis? just refreshes, or apple awesome?
11:09
<hsivonen>
Hixie: the rumors did not say
11:10
hsivonen
wants iMac internals without the integrated display
11:10
<hsivonen>
the 2GB RAM cap on Mini sucks
11:11
<mpt>
Is it appropriate to have multiple adjacent <nav> elements? The spec's not clear about that
11:12
<annevk>
it seems to be allowed
11:15
<annevk>
<abbr title> or <abbr aria-describedby=foo> <abbr title id=foo>
11:16
<mpt>
hmm
11:16
<annevk>
i'm joking
11:16
<mpt>
In Firefox 3 <nav> is rendered as inline
11:16
<mpt>
oh well, back to <div> :-)
11:17
mpt
should have realized that earlier
11:17
<Hixie>
mpt: thought they'd fixed that
11:17
<Hixie>
did they only do <Section> or something?
11:18
<mpt>
(I mean, back to <nav><div>...</div><div>...</div></nav>, as opposed to <nav>...</nav><nav>...</nav>)
11:18
<annevk>
mpt, hmm, nav { display:block } ?
11:18
<mpt>
annevk, yeah, but we have can't-be-ignored text browser usage too
11:18
<annevk>
that should work fine in Firefox 3 / Opera 9.x / Safari 3.x
11:18
<mpt>
So Firefox's behavior was more of a cluestick for me, than an actual blocker
11:20
<mpt>
And then there's that pesky 4% of IE6 users
11:20
<annevk>
document.createElement('nav')
11:20
<annevk>
makes it work in Ie
11:20
<annevk>
IE, even
11:20
<Lachy>
Hixie, yeah, I'll send mail now
11:20
<mpt>
yeah, but I don't actually *need* <nav> for anything :-)
11:20
<mpt>
I was just using it because it was there
11:20
<hsivonen>
XPath is hard. Why am I not doing this in SAX/Java?
11:21
<Hixie>
Lachy: thanks!
11:21
<annevk>
mpt, now you're just making up random excuses :p
11:21
<mpt>
I need to use classes on them anyway, so <div class="foo"> is no worse than <nav class="foo">, and it works in more browsers, end of story
11:23
<Hixie>
the createElement hack is pretty freaky cool
11:24
<hsivonen>
what's the right way to check if the context node has following sibling elements or non-whitespace text nodes?
11:25
<annevk>
iterator
11:25
<annevk>
nextElementSibling doesn't actually barf if there's non whitespace text nodes
11:25
<hsivonen>
in XPath
11:26
<annevk>
dunno
11:26
<annevk>
#whatwg is the wrong place for such questions I'm afraid :)
11:26
<hsivonen>
following-sibling::node() seems to be it
11:27
<hsivonen>
for some weird reason following-sibling::* didn't work even for elements
11:27
<krijnh>
(A test for the IRC logs, like http://www.example.com/)
11:28
<annevk>
The coolest website is http://www.example.com/. I love it!
11:28
<krijnh>
:)
11:28
<annevk>
Do you know what the coolest website is (http://www.example.com/)?
11:29
<Dashiva>
hsivonen: odd, element should be default node type there...
11:29
<annevk>
In e-mails we write URLs like so: <http://www.example.com/>;. Does it work?
11:29
<Dashiva>
annevk: I prefer www.example.com myself
11:30
<annevk>
krijnh, I hope no fix is deployed yet because it's a big multifail :)
11:30
<krijnh>
Not yet
11:30
<krijnh>
(^|[\\s.:;?\\-\\]<\\(])(http://[-\\w;/?:@&=+$.!~*\'()%,#]+[\\w/])(?=$|[\\s.:;?\\-\\[\\]>\\)])
11:30
<Dashiva>
Maybe he's bugtesting and not feature testing
11:30
<krijnh>
Damn nasty
11:30
<Dashiva>
My eyes
11:31
<hsivonen>
hrm. ::node() seems to select whitespace nodes, too
11:31
<Dashiva>
"A node test node() is true for any node of any type whatsoever."
11:32
<hsivonen>
I thought the XPath data model was supposed to omit whitespace-only nodes
11:32
<annevk>
::following-sibling[node() != text()]
11:33
<annevk>
oh wait, whitespace
11:34
<hsivonen>
one would think that an XML-specific language made whitespace-only ignoring easy...
11:35
<krijnh>
http://krijnhoetmer.nl/irc-logs/whatwg/20080422#l-669
11:35
<krijnh>
[link] or the plain uri?
11:35
<Hixie>
<link> didn't work
11:35
<Hixie>
i prefer the plain uri
11:35
<Hixie>
personally
11:36
<Dashiva>
I always figured xpath worked on a DOM, so the whitespace ignoring would take place during the parsing step instead
11:36
<annevk>
plain URI please
11:36
<krijnh>
Done
11:36
<annevk>
and you need to add > to the lits of characters
11:36
<annevk>
and < prolly
11:37
<hsivonen>
how can testing for following sibling presence be this hard?
11:37
<annevk>
also, some weird semi colon is added after the <> link
11:37
<annevk>
hmm
11:37
<Hixie>
hsivonen: what are you doing?
11:37
<hsivonen>
Hixie: testing if a first table child of datagrid has following siblings
11:37
<krijnh>
That's weird, does work on http://krijnhoetmer.nl/zooi/php/preg_replace_2.php
11:38
<Hixie>
hsivonen: in some schema language?
11:38
<hsivonen>
Hixie: yes
11:38
<annevk>
krijnh, is it some htmlentities cleanup weirdness later?
11:38
<Hixie>
hsivonen: sorry to hear that
11:38
<annevk>
krijnh, or maybe the htmlentities happens first which is what messes it up?
11:38
<hsivonen>
Hixie: I'm going to implement it in Java later anyway. This is supposed to be a rapid prototype
11:39
<Hixie>
heh
11:39
<hsivonen>
but XPath doesn't make this case exactly rapid
11:39
<krijnh>
Ah, doh
11:39
<Hixie>
rapid, you say :-)
11:39
<Dashiva>
Rapid descent into frustration
11:39
<krijnh>
Yeah, it's first htmlspecialchared
11:39
<hsivonen>
I mean, you'd think XPath could express this sort of thing!
11:40
<annevk>
krijnh, probably better to reverse that order
11:40
<hsivonen>
hmm. perhaps I should check that the context node is the last child of its parent
11:40
<Dashiva>
Or next-to-last with whitespace following
11:40
<krijnh>
annevk: then <a href="foo"> gets htmlspecialchared
11:41
<annevk>
krijnh, oops, duh
11:41
<Dashiva>
krijnh: urlencode it first then :)
11:41
<krijnh>
You guys just shouldn't use < and > around your links :)
11:42
<krijnh>
Or just str_replace('&gt</a>;', '</a>&gt;') :>
11:43
<annevk>
or include end at & but not at &amp;
11:43
<annevk>
s/include//
11:43
<annevk>
for the URI regexps
11:43
<annevk>
this might make it even more insane :)
11:44
<Dashiva>
How 'bout not inserting the URLs, but rather a placeholder, and doing a replace on the placeholders at the very end
11:44
<Hixie>
krijnh: while you're working on the logs, any chance i could get you to change the line counts on the front page to not count the lines that the log pages filter out?
11:44
<Hixie>
e.g. joins, parts
11:46
<krijnh>
I don't filter those on the homepage
11:46
<krijnh>
That's just a simple count on the array of all lines
11:46
<Hixie>
yeah
11:46
<krijnh>
What a mess
11:46
<krijnh>
:D
11:46
<Hixie>
sometimes i see a log has a lot of lines and i excitingly go to see what was said and i just see two lines, log started, log ended. :-)
11:46
<Dashiva>
Just make the filtering be off by default, then people won't notice :)
11:48
<krijnh>
<http://www.example.com/>; works now
11:50
<zcorpan>
[http://www.example.com/] http://www.example.com/, {http://www.example.com/}
11:51
<zcorpan>
hmm opera includes } in the link
11:51
<krijnh>
What the
11:53
<jwalden>
by the way, so people know, I'm working on converting Mozilla's postMessage tests to work with an async postMessage, should that happen; it is an extremely painful process to do so
11:53
<jwalden>
converting http://bonsai.mozilla.org/cvsblame.cgi?file=/mozilla/dom/tests/mochitest/whatwg/test_postMessage_origin.xhtml&rev=1.2&mark=412-432#388 took around three hours to do and get right, with multiply-nested setTimeouts in at least one place
11:54
<jwalden>
my conclusion is that sequential communication using postMessage is significantly harder when postMessage works async, as opposed to when it is sync
11:55
<Hixie>
jwalden :-/
11:55
<Hixie>
er, with fewer spaces
11:55
<Hixie>
on the long run we really want a pipe system link my endpoint proposal
11:55
<Hixie>
that would make it much easier i imagine
11:56
<jwalden>
I don't know how common back-and-forth will be as opposed to one-shotters, but I don't think it'll be fun when it happens
11:56
<jwalden>
some of the tests Just Worked, but those were the ones that tested one thing in isolation
12:02
<annevk>
can Firefox still change?
12:02
<annevk>
for Firefox 3, that is
12:02
<roc>
probably
12:02
<krijnh>
Hixie: fixed
12:02
<Philip`>
Automated insertion of <abbr> is great when people use that kind of thing on blogs and it makes their XHTML examples print like <HTML xmlns="http://www.w3.org/1999/XHTML">; where the uppercase bits are in <acronym>s (and styled to uppercase)
12:02
<krijnh>
I think
12:03
<Hixie>
krijnh: thanks!
12:03
<krijnh>
It's pretty slow though :/
12:04
<annevk>
krijnh, could you also filter session start, session end and such?
12:04
<annevk>
krijnh, so that for effectively empty logs it says 0 rather than 4
12:04
<Hixie>
hm, entities allow one to include control characters and permanently undefined unicode characters
12:05
<annevk>
there are raised issues about that
12:05
<annevk>
in particular the way entities are locked to UTF-16 in some implementations is interesting (and potentially troublesome)
12:07
<zcorpan>
what alt text should the randomly selected image on http://ln.hixie.ch/ have? :) same as it has on Flickr?
12:07
<Philip`>
zcorpan: alt="" since it's decorative and doesn't otherwise enhance the value of the page
12:07
<jwalden>
I have async implemented; the patch is a bit complicated due to the way you have to split computation and use to avoid timing issues, but it's not bad
12:08
<krijnh>
annevk: done
12:08
<jwalden>
updating the tests will easily eclipse the time needed to change the implementation
12:08
<annevk>
krijnh, it still reports 1 for some reason...
12:08
<annevk>
weird
12:08
<jwalden>
I'm guessing at least a factor of three
12:08
<krijnh>
No it doesn't :)
12:09
<annevk>
no some logs report -1
12:09
<annevk>
:p
12:09
<annevk>
now*
12:09
<annevk>
i guess that's acceptable
12:09
<krijnh>
Yeah, that's only for 18 days
12:09
<jwalden>
right now I'm staring at http://mxr.mozilla.org/mozilla/source/dom/tests/mochitest/dom-level0/test_setting_document.domain_idn.html?force=1 and writhing in pain
12:09
<jwalden>
sequential city, there
12:10
<krijnh>
{http://example.com/}
12:11
<krijnh>
{ http://example.com/ }
12:11
<krijnh>
<-- brain boiled
12:11
<Philip`>
http://sub1.exämple.test
12:11
<Philip`>
krijnh: ^ doesn't work :-(
12:12
<annevk>
krijnh, the regexp is now failing everywhere :(
12:12
<krijnh>
:/
12:12
<annevk>
"http://example.com/"; is another one
12:14
<Hixie>
krijnh: you now have plenty of cases to add to some smoketests :-)
12:14
<Philip`>
http://robert.accettura.com/blog/2008/04/15/shell-stats/ - auto-acronym failure
12:15
<Hixie>
do you think ben's recent e-mail is a request for someone to explain how we addressed that in wf2?
12:16
<annevk>
yes, and it also seems to be a request for XForms
12:16
<annevk>
Philip`, auto-acronym is a misfeature imo
12:16
<Hixie>
trying to work out if i should bother explaining wf2 in this case
12:16
<Hixie>
or let someone else do it
12:17
krijnh
needs an IRClogger5
12:17
<Hixie>
ok bed time
12:17
<Hixie>
nn
12:18
<Philip`>
Is a required checkbox like on those forms with "I accept the terms and conditions that I didn't read: [x]" where you have to check it?
12:19
<annevk>
yes
12:19
<Philip`>
A helpful UA should check that box automatically
12:19
<annevk>
that depends on the user
12:20
<annevk>
i would rather it did not check it automatically
12:20
<Philip`>
The only thing you're ever going to do with the checkbox is check it, so the UA might as well save you the effort
12:20
Philip`
reads WF2
12:20
<annevk>
the checkbox also serves as a reminder that you have to check something else
12:21
<Philip`>
Oh, it sounds more useful when you have >1 checkbox with the same name
12:21
<annevk>
if the ua has already checked it you will not get that reminder when you submit the form
12:30
Philip`
tries replying to explain what WF2 does
12:47
hsivonen
expects a bikeshed about labeled vs. labelled
12:48
<Lachy>
hsivonen, why do you expect that to become a bikeshed?
12:49
<hsivonen>
oh dear :-)
12:49
<Dashiva>
We got through referrer without too many paint marks, didn't we?
12:50
<hsivonen>
ARIA even has a note about it
12:50
<Philip`>
The more common usage is "bike shed", not "bikeshed"
12:50
<Philip`>
Sadly the OED has neither :-(
12:51
<Lachy>
I expect the <abbr> vs. <abbr title=""> to become a bikeshed (or bike shed to keep Philip` happy)
12:55
<Philip`>
That's easy to solve by just making <abbr> conforming, because it already exists and it's at least useful as a style hook :-)
12:57
Philip`
doesn't actually remember ever having seen a bike( )shed
12:58
<Lachy>
Philip`, exactly. It's for all those authors who want dotted borders rendered underneath all abbreviations in their page, without serving any other function :-)
12:58
<Philip`>
(I see bike racks everywhere, and sometimes covered ones, and one underground one, but that's all I can think of)
12:59
<Philip`>
Lachy: Firefox and Opera don't do dotted underlines (or any other styling) on title-less abbr
13:00
<Philip`>
which is good, because otherwise it would confuse users into looking for tooltips
13:00
<Philip`>
and authors can add small-caps styling to make their acronyms look nice
13:00
<Lachy>
Philip`, maybe you have seen a bike shed, but because you can't see through walls, you didn't realise there were bikes inside.
13:01
<Lachy>
has that behaviour changed? I thought older versions of FF used to underline them anyway
13:01
<Philip`>
Lachy: I would hope most bikesheds have doors, in which case there's a non-negligible probability that looking at one will reveal the contents
13:01
<Lachy>
yeah, most sheds have doors.
13:01
<Philip`>
Lachy: Not sure - I'm testing FF2
13:02
<Lachy>
When I was younger, our bikes were kept in a shed at home.
13:02
<Philip`>
Mine was kept in our garage
13:02
<Philip`>
Actually, it still is in there
13:08
<jwalden>
more on async postMessage, splitting up computations and object creation between at-time-postMessage-is-called and at-time-when-event-is-dispatched is a somewhat touchy business, in that there's a very specific way it has to be done to avoid time-of-check-to-time-of-use concerns
13:09
<jwalden>
gotta calculate the caller's origin at postMessage time, gotta compare the computed target origin against the target's origin at dispatch time, etc.
13:10
<jwalden>
I don't think you can just reuse generic async-event-dispatch code to implement this
13:10
<jwalden>
not safely, at least
13:11
<zcorpan>
Error: Required attributes missing on element script.
13:11
<zcorpan>
From line 19, column 3; to line 19, column 24
13:11
<zcorpan>
esheet>↩ <script src=status.js></scri
13:11
<zcorpan>
Error: Required children missing from element table.
13:11
<zcorpan>
From line 48180, column 4; to line 48180, column 11
13:11
<zcorpan>
</tr>↩ </table>↩ <!
13:12
<zcorpan>
hsivonen, Hixie: ^
13:12
<zcorpan>
which children are missing from table?
13:15
<zcorpan>
(Total execution time 282728 milliseconds, with image report, without show source)
13:17
<hsivonen>
zcorpan: are you validating the spec?
13:18
<zcorpan>
hsivonen: yeah, the whatwg version
13:18
<hsivonen>
zcorpan: I see only one message: legacy doctype
13:19
<zcorpan>
hsivonen: on validator.nu, not html5.validator.nu
13:19
<hsivonen>
oh
13:20
<zcorpan>
(i have 5 messages: text/html->html parser, doctype without SI, xhtml 1.0 schema, 2 errors)
13:21
<hsivonen>
it's indeed horribly slow
13:21
<hsivonen>
I think I should run it in a profiler locally
13:21
hsivonen
suspects Schematron
13:24
<zcorpan>
HTTP ERROR: 500
13:24
<zcorpan>
Java heap space
13:24
<zcorpan>
RequestURI=/
13:24
<zcorpan>
Caused by:
13:24
<zcorpan>
java.lang.OutOfMemoryError: Java heap space
13:24
<zcorpan>
(trying to validate again without image report)
13:28
mpt
scowls at elinks
13:28
<mpt>
elinks renders alt=" " as nothing, but alt="" as [IMG]
13:29
<Philip`>
Can you configure it to handle images differently?
13:29
<Philip`>
(I remember something like that in either Lynx or Links)
13:29
<Philip`>
(By the way, it's really very stupid to choose a name that's a homophone of a very similar project :-( )
13:31
<mpt>
In Lynx you can type "*" to show links to all images
13:31
<mpt>
There doesn't seem to be an equivalent option in elinks
13:32
<Philip`>
http://en.wikipedia.org/wiki/Links_(web_browser) - "The focus on intuitive usability makes it suitable as a web browser for low-end terminals in libraries, Internet cafes etc." - uh, if you're running an Internet cafe, your whole business revolves around giving people web access, so I'm not sure Links is the best idea
13:33
<mpt>
Lynx does the right thing with alt=""
13:34
mpt
wonders whether to s/alt=\"\"/alt=\" \"/g
13:34
<Philip`>
alt=" " is non-conforming HTML5 in almost all cases
13:35
<annevk>
it should be conforming for decorative images...
13:36
<mpt>
"Focus on intuitive usability"? Who writes that crud?
13:36
<Philip`>
Do any UAs treat <a href=...><img alt=" "> Text</a> differently from <a href=...><img alt=""> Text</a> ?
13:37
<Philip`>
Actually, I can't remember what I was thinking of in that case
13:37
<Philip`>
so I'm not sure why it's relevant to anything at all, so please ignore me
13:37
<mpt>
darn
13:38
<mpt>
(the answer was "yes, elinks does")
13:39
<Philip`>
Maybe I was thinking about whether e.g. some AT might render it as "Linked Image Text" vs "Text", because it makes them think it's a significant image
13:39
<Philip`>
but I don't think that question makes sense anyway
13:39
Philip`
gives up
13:40
<hsivonen>
whoa! Validator.nu just did something really weird and scary
13:40
<zcorpan>
hsivonen: did it steal a candy?
13:41
<hsivonen>
it's feeding my browser what looks like binary junk
13:41
<zcorpan>
ouch
13:41
<hsivonen>
I hope it's just gzip going wrong and not a privileged memory dump
13:41
<Philip`>
Easy way to find out: try compressing the output
13:42
<Philip`>
and if it compresses much, it's not gzip
13:42
<zcorpan>
can you take the junk through some content sniffing codepath and see if it's handled as something?
13:42
<Philip`>
Or just search for your password strings in there
13:43
<hsivonen>
how do I get the original bytes out of Firefox?
13:44
Philip`
doesn't know if 'File / Save Page As / Web Page, HTML only' saves the raw data or tries fiddling with encodings
13:44
<hsivonen>
the schematron stuff I have for XHTML 1.0 is written really inefficiently
13:44
<Philip`>
but I'd tend to hope it's the raw data
13:46
<hsivonen>
going forward, I really need to get rid of the Schematron presets
13:46
<hsivonen>
and then isolate the custom schema stuff from what most people use
13:46
<mpt>
hsivonen, I think if Firefox had the original bytes, it wouldn't need to reload the page to change encodings
13:47
<mpt>
(which can be a dataloss problem)
13:47
<hsivonen>
custom schemas are a huge DoS attack vector
13:47
<zcorpan>
is "URL percentage escape non-unreserved characters in a string" defined somewhere?
13:49
<hsivonen>
$ file Downloads/validator.nu.html
13:49
<hsivonen>
Downloads/validator.nu.html: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT)
13:50
<hsivonen>
I wonder why Firefox didn't decompress it
13:52
<Philip`>
Did it get sent with the right headers?
13:55
<hsivonen>
Philip`: I don't know how to tell after the fact
13:56
<zcorpan>
which unicode normalisation form should be used when percent-escaping URLs?
13:57
<Philip`>
hsivonen: Oh, good point
13:59
<hsivonen>
zcorpan: no normalization
13:59
<hsivonen>
zcorpan: but if you are minting a new IRI, you should use NFKC
14:01
<zcorpan>
i meant converting a random string to a percent-escaped URL
14:01
<zcorpan>
thanks
14:01
<hsivonen>
the Schematron that gets generated when Schematron is embedded in RELAX NG is so inefficient it isn't even funny
14:21
<hsivonen>
even profiling this is insanely slow
14:22
<hsivonen>
I don't need a profiler to tell me that Schematron sucks
14:23
<Philip`>
Would you get the same results from profiling a smaller test case?
14:23
<hsivonen>
not necessarily
14:28
<hsivonen>
still slow but not insanely so...
14:29
<hsivonen>
local dev version that is
14:30
<hsivonen>
the schematron bit that check for id and name sharing the same namespace are bad for perf
14:34
<hsivonen>
I wonder if Saxon has a main loop somewhere, so that I could insert a wall clock test against runaway Schematron
14:35
<hsivonen>
though checking system clock and accessing a ThreadLocal in a hotspot would suck, too
14:37
<Philip`>
Is it bad in HotSpot to have a separate alarm timer thread, which sleeps then interrupts the useful thread, and the useful thread checks for interruptions occasionally?
14:38
<hsivonen>
Philip`: killing a thread from the outside is dangerous in the general case
14:39
<hsivonen>
Philip`: and making the potential problem thread poll for a stop condition is problemtic as mentioned above
14:40
<Philip`>
But interrupt should be safe, since that only does anything when there's an explicit check and it won't clobber internal locks or do whatever other bad things there are
14:41
<hsivonen>
Philip`: to do it without a ThreadLocal, Saxon would need to pass the polling object around...
14:41
<Philip`>
I was thinking of Thread.interrupted()
14:42
<hsivonen>
oh.
14:42
<Philip`>
which doesn't need an object, and isn't explicitly ThreadLocal
14:42
hsivonen
goes read JavaDoc
14:42
<hsivonen>
argh. looks like about.validator.nu just died
14:43
<annevk>
wfm
14:43
<Philip`>
(No idea how it's implemented in JVMs, though)
14:43
<annevk>
oh wait, about.validator.nu doesn't
14:45
<hsivonen>
Philip`: indeed it looks like interrupt() could work
14:52
<hsivonen>
I wonder what's going on on the machine hosting about.validator.nu
14:52
<hsivonen>
the CPU is not pegged
14:52
<hsivonen>
I wonder if something is clogging the network
14:53
<Philip`>
ping seems to work fine, with constant low latency
15:18
<hsivonen>
looks like someone from China is leeching stuff from the server using a really impolite bot
15:22
<zcorpan>
wow, i thought html5 said that tabindex=-1 means "focusable but not in tab order"
15:23
<annevk>
the only problem with impl is the handling of invalid values it seems
15:24
<annevk>
HTML5 needs fixing anyhow
15:24
<hsivonen>
zcorpan: validating the spec as HTML 4 now works with reasonable performance
15:25
<hsivonen>
zcorpan: thanks
15:26
<hsivonen>
Hixie: the table error that zcorpan spotted is that the whole entity table is in thead
15:30
<zcorpan>
hsivonen: wow sweet. Total execution time 6310 milliseconds.
15:30
<zcorpan>
5365 milliseconds without image report
15:32
Philip`
wonders at the resolution of the clock used for those timings
15:32
<zcorpan>
pretty good compared to 282728 milliseconds and HTTP ERROR: 500, respectively :)
15:33
<zcorpan>
Philip`: well i counted to 6 for the first so it's accurate enough for me :)
15:33
<hsivonen>
Philip`: wouldn't badness happen if the thread was blocking on IO when a watchdog interrupted it?
15:41
<Philip`>
hsivonen: The blocking method would clean up after itself and throw an InterruptedException, and the caller should be expecting that exception and so nothing bad will happen
15:42
<Philip`>
(assuming the blocking method is interruptible (and declares it throws InterruptedException), which is hopefully the case, because otherwise it'd get messier)
15:46
<hsivonen>
Philip`: it still seems like a bad idea to interrupt write to the ServletOutputStream
15:47
<hsivonen>
because if it breaks, the user will not get any feedback
15:49
<Philip`>
Oh, if that's what you mean by badness then it does sound like badness
15:49
<Philip`>
(I was thinking more of the deadlock-the-entire-VM badness, like in Thread.destroy())
15:51
<hsivonen>
Philip`: I suppose I could wrap the ServletOutputStream in an object that raises a "don't inturrupt right now" flag when in servlet IO
15:51
<Philip`>
That sounds potentially delicate
15:51
<hsivonen>
the other potential problem is avoiding putting Commons HttpClient in a bad state
16:16
<annevk>
in case it was missed somehow: http://intertwingly.net/blog/2008/04/19/Ingrates#c1208838277
16:35
<hsivonen>
annevk: I think that's different from general distributed extensibility.
16:35
<hsivonen>
annevk: it's just about using HTML to serve as an indirection mechanism to get a less pretty or less stable URI
16:36
<hsivonen>
seems like a case for registering a rel value on the wiki
16:36
<annevk>
You lost me.
16:36
<annevk>
:)
16:37
<hsivonen>
annevk: Re: what markp referred to Sam referring
16:38
<annevk>
what does it have to do with URIs though?
16:38
<annevk>
(rel values can be registered on a wiki)
16:50
<hsivonen>
hmm am I misunderstanding the whole issue?
16:51
<hsivonen>
X-XRDS-Location is an URI autodiscovery mechanism, no?
16:52
<hsivonen>
just like feed autodiscovery, openid and pingback
16:53
<annevk>
Oh yes. The discussion is whether <meta http-equiv> shoud be extensible or not and Sam Ruby points to data- attributes as the supposedly provided alternative to confuse matters or something...
16:54
<annevk>
Well, "discussion"
16:56
<Lachy>
which thread are you referring to?
16:57
<hsivonen>
Lachy: the one anne linked above
16:57
<hsivonen>
http://intertwingly.net/blog/2008/04/19/Ingrates
16:59
<hsivonen>
Philip`: would I be crazy if I managed "don't kill thread" flags around IO and then used the dangerous thread stopping mechanism when the flag isn't set?
17:02
<Lachy>
hsivonen, ok. I missed that earlier since I wasn't in the channel
17:02
<annevk>
btw, it's almost certain I get a lightning talk spot at XTech on HTML 5
17:02
<annevk>
if people have some input for that let me know
17:03
<hsivonen>
annevk: did you see my three points?
17:07
<hsivonen>
oops. ten points
17:07
<hsivonen>
I wonder why I typed "three"
17:12
<hsivonen>
http://pastebin.ca/992541
17:47
<gsnedders>
Do you think someone should go and help cwilso find his keys?
19:34
<Philip`>
hsivonen: Hmm, that sounds a little bit crazy if it's using Thread.interrupt, since the interrupt mechanism isn't really meant to work that way
19:35
<Philip`>
(Not that I actually have any experience or knowledge in this area, other than attending some lectures and reading the documentation a bit, so I could be misrepresenting situations)
19:36
<Philip`>
I can't think of a better way to do it, though
19:39
<Philip`>
(at least not without having access to e.g. an object with a volatile boolean youGotInterrupted field which can be polled)
20:05
<blooberry>
hixie: yt?
20:31
<hsivonen>
Philip`: I was thinking about using Thread.stop()
20:31
<hsivonen>
Philip`: as far as I can tell, the danger of Thread.stop() is that introducing an unexpected exception may leave objects that are shared between threads in an inconsistent state, because locks were opened and cleanup code didn't run
20:32
<Philip`>
hsivonen: Oh, Thread.stop is evil and should never be used, from what I've heard
20:32
<hsivonen>
Philip`: so if I make sure that I never call Thread.stop() when execution is in a shared object or call it only on lockless read-only shared objects, what's the harm?
20:32
<Philip`>
It can do things like stop the thread while it's in the middle of a GC operation, and not release the locks, and deadlock the whole VM
20:33
<hsivonen>
ah. I didn't know it can break GC
20:33
mpt
wonders if having two <footer>s is appropriate
20:33
<hsivonen>
isn't it kinda silly that the VM lets you break GC? shouldn't the VM be able to defer Thread.stop() until GC isn't active?
20:34
<Philip`>
Thread.interrupt is safe because it works like proper Java exceptions, but Thread.stop just makes everything abort uncleanly
20:36
<hsivonen>
Philip`: documentation says the locks are released as ThreadDeath propagates through the stack.
20:36
<Philip`>
Oh, indeed, I'm mixing things up with Thread.suspend
20:36
<Philip`>
(looking at http://java.sun.com/j2se/1.5.0/docs/guide/misc/threadPrimitiveDeprecation.html )
20:37
<Philip`>
and suspend seems to be the one that causes nasty interactions with GC and stuff
20:37
<Philip`>
(unless I'm still remembering things wrong and/or making things up)
20:38
<hsivonen>
Philip`: that's the document I'm reading. as far as I can tell, the approach I outlined addresses the issues recounted in that document
20:41
<hsivonen>
ouch. I just realized that log4j is synchronized IO that is sprinkled around
20:41
<Philip`>
hsivonen: It sounds like you'd have to make sure Thread.stop isn't called at any time while you're executing methods in objects that are shared between threads (else they might get stuck in an inconsistent state)
20:42
<Philip`>
and I'd guess there's quite a lot of shared objects being accessed via libraries
20:42
<hsivonen>
Philip`: unless the shared object is safe for concurrent reads by having immutable internal state, right?
20:43
<Philip`>
If the objects aren't modified, it sounds like that'd probably be alright
20:43
<hsivonen>
what library entry points do I have except servlet output, log4j, and http input?
20:44
<hsivonen>
assuming that I replace JDK 1.1 Hashtable and friends in oNVDL with copies grabbed from Harmony and remove the locks
20:44
<Philip`>
I imagine all the Java classes
20:44
<Philip`>
Presumably there's all sorts of things like String.intern that share stuff between threads
20:44
<hsivonen>
ah right
20:44
<hsivonen>
there goes my cunning plan
20:45
hsivonen
forgot about String.intern()
20:45
<Philip`>
I still have no practical knowledge or experience of anything to do with this, but it just looks like a kind of dodgy thing to do, particularly since it's been deprecated since 1995 :-)
20:47
<hsivonen>
well, the documentation suggested that in special apps it could make sense when being careful, but String.intern() makes being careful too hard
20:48
<hsivonen>
for example, Java 1.2 Collections are supposed to be safe for lockless concurrent reads, so they wouldn't have been a problem
20:48
<Philip`>
In almost any practical code it seems impossible to be careful enough, since you can't possibly check what all the libraries are doing and what assumptions they're making
20:49
<Philip`>
and it's not something you can test for, since the errors will only happen on one in 10^n occasions and will be impossible to debug
20:51
<hsivonen>
Philip`: it's not impossible to consider all the code you don't see as dangerous edges, search all the code you do see for synchronized and assumed that promises about thread safety without using synchonized are clue-based and true
20:51
<hsivonen>
but the problem is that String.intern() is a dangerous edge that is too pervasive to protect on every call site
20:52
<hsivonen>
the IO edges would have been reasonably protectable
20:52
<Philip`>
hsivonen: That would be possible but it sounds insufficiently paranoid, and I always get scared when doing anything non-trivial with concurrency because it'll probably go wrong; but maybe that's just me :-)
20:53
<hsivonen>
:-)
20:53
<hsivonen>
it seems to me that even with interrupt(), I'd have to manually protect output generation
20:54
<Philip`>
(I also have no idea how Thread.stop interacts with Java's consistency guarantees - it seems quite possible that it'd try to stop the thread in the middle of a code block that has been reordered by the optimiser, so the execution won't even correspond to the source code)
21:00
<hsivonen>
of course, all this could be solved by eliminating Schematron
21:00
<hsivonen>
thereby making Validator.nu less generic
21:01
<hsivonen>
or if someone wrote a zealously streaming Schematron implementation--possibly rejecting schemas that don't translate to reasonably streamable things
21:41
<Philip`>
"It should show up under http://canvex.lazyilluminati.com/misc/cgi/issues.cgi/folder/widgets-tabindex once Hixie has filed the email." - plus up to 24 hours for Hixie's database to get updated, plus up to 24 hours for my cached copy to expire - it's kind of sad that it takes half a second to transmit email anywhere in the world, but two days for my software to notice :-(
21:42
<Hixie>
heh
21:55
<Hixie>
hahaha
21:57
<Hixie>
dude, krijnh, i'm so sorry about your experience with the csswg
21:58
<Hixie>
man that's fucked up
21:58
<gavin_>
?
21:59
<Hixie>
the csswg resolved to log their channel, so he set up his system to start logging it, and they got annoyed that it was being logged
21:59
<Hixie>
"we resolve to be public... but not if it means people can see what we wrote"
22:00
<Hixie>
way to build a community!
22:01
<gavin_>
ah, heh
22:02
<othermaciej>
do they want the ability to pre-censor the logs or something?
22:03
<Hixie>
# [13:57] <krijnh> (In case anybody missed it, anne asked me to log this channel as well, on http://krijnhoetmer.nl/irc-logs/css/ )
22:03
<Hixie>
# [13:57] <Bert> Yes, I noticed. I will be careful when I say something. Or I may leave completely, not sure yet.
22:03
<othermaciej>
oh, Bert was against the logging in the first place
22:04
<Hixie>
14:01 < glazou> krijnh: I want the WG to agree on this logging
22:04
<Hixie>
14:02 < glazou> krijnh: anne never mentioned logging outside of w3c
22:05
<Philip`>
The problem with public logging of IRC is that it allows discussions like this one to come into existence
22:05
<Hixie>
14:12 < glazou> a 3rd party then controls the log, it's a matter of trust, confidence, IPR
22:06
<Philip`>
The W3C is a 3rd party in relation to me
22:06
<Philip`>
and I don't particularly trust them to never edit the logs
22:07
<Lachy>
wow, that's just crazy. The W3C should be logging all channels, even if some of them aren't public
22:07
<takkaria>
it's already a public channel, which is what I don't understand
22:07
<Hixie>
given that the w3c once censored me, and krijnh has never censored me, i trust krijnh a whole heck of a lot more than the w3c
22:08
<othermaciej>
Hixie: what did they censor?
22:09
<Hixie>
http://lists.w3.org/Archives/Public/www-archive/2007Nov/0104.html
22:09
<Hixie>
i rearchived that post here: http://damowmow.com/playground/archives/reply-to-dean-edridge.html
22:10
<Philip`>
The only sure thing you can trust is apathy, so make sure all logs and archives are held by someone who's never going to care enough to alter them
22:11
<Hixie>
annevk, annevk, annevk. you should have posted your e-mail to the public list!
22:30
jgraham_
is somewhat bemused that "public" seems so hard to understand
22:33
<Dashiva>
jgraham: It's easy to understand, it's just easy to redefine too :P
22:34
<Philip`>
jgraham: Beaches are public areas, but I imagine most people wouldn't like someone continually taking photos of them while they're there and sticking them all up on a wall
22:35
<Dashiva>
Philip`: Well, the beach goers didn't resolve to have their beach going be an open activity, the state did
22:37
<Philip`>
Dashiva: The beachgoers resolved in the morning that they'd like to go to the beach today, knowing that that would entail being in a public space
22:39
<Dashiva>
A false choice, as all beaches were made open against their will
22:40
<roc>
originally all beaches were private property that was then confiscated by the state? interesting
22:43
<Philip`>
Dashiva: There are plenty of non-public places the people could have gone, but they chose to go to a public one instead under reasonable expectations of publicness (e.g. they expect strangers might come up and say hello, but don't expect everything they say to be recorded and published for eternity)
22:43
<Philip`>
So, uh, I think beaches are public IRC channels in this analogy, rather than being all IRC channels
22:53
<jgraham_>
Philip`: I don't think that's a particularly good analogy. It's like having a public meeting any being annoyed if someone records it
22:53
<Hixie>
actually it's like being annoyed at the google street view van taking a picture of you
22:53
<Hixie>
which plenty of people are
22:54
<Hixie>
but they're wrong to be :-)
22:54
<jgraham_>
The objections make no sense because anyone can be privately logging the channel and no one would be any the wiser
22:54
<Hixie>
yup, as i've been doing for years now
22:54
<jgraham_>
If they need to have secret discussions they should do so elsewhere
22:54
<Hixie>
like #css-secret
22:54
<jgraham_>
(or make the channel private again)
22:55
<Philip`>
#css-secret-treehouse
22:58
<Philip`>
jgraham_: It's like having a public meeting and being annoyed if someone releases a recording that loses all the subtleties of context so things can get misinterpreted easily, instead of waiting for the official minutes which everyone present can agree are representative of the meeting
22:58
<jgraham_>
Philip`: Not at all. The only context that's lost is the realtime nature.
22:59
<Philip`>
jgraham_: That context is often significant
22:59
<jgraham_>
If you recorded a physical meeting there would be information loss from body language, etc.
22:59
<jgraham_>
(assuming audio onlly recording)
23:00
<Philip`>
e.g. references to current mailing list activity, or to conversations in other IRC channels, would no longer make sense when taken out of the temporal context
23:00
<jgraham_>
Philip`: I haven't found it to be a problem with the logged channels
23:00
<Philip`>
Oh, okay then
23:01
<Hixie>
i agree that it would be like having a public meeting and being annoyed if someone releases an audio or video recording of it
23:01
<Dashiva>
People have been taking full advantage of #whatwg being logged, and we aren't objecting, are we?
23:01
<Hixie>
and i think it's dumb to be scared of that
23:01
<Hixie>
though many people are
23:02
<jgraham_>
Dashiva: Quite.
23:02
<Dashiva>
The ACM put pictures of me playing vocalist on the internet, but they removed the context of what song I'm singing, so I just look silly.
23:02
<Hixie>
we look silly a lot in the #whatwg archives :-D
23:03
<Dashiva>
Indeed
23:03
<Dashiva>
Say Hixie, do you still play lggwg?
23:03
<Hixie>
haven't for a while
23:03
<Hixie>
waiting for the next version
23:03
<Philip`>
Dashiva: We aren't objecting, but maybe we should be, since experience shows that people get upset/annoyed/etc by things in the logs that wouldn't have been a problem if those people were part of the conversation
23:04
<Dashiva>
Philip`: It's a minor inconvenience compared to the improved communication
23:04
<Hixie>
Philip`: those people find things to be annoyed at whatever we do
23:04
<Hixie>
Philip`: we shouldn't optimise for them
23:04
jgraham_
notes that Google suggests lggwg might be a misspelling of "logging"
23:05
<jgraham_>
Philip`: I would be opposed to the logs being removed
23:05
<Philip`>
I suppose I don't notice how useful the logs are for communication since I'm connected constantly anyway
23:05
<Hixie>
hah
23:05
<jgraham_>
they have good cost/value
23:05
<Dashiva>
Yeah, that sounds likely
23:05
<Philip`>
(Irssi uptime: 186d 6h 31m 50s, yay)
23:05
<Hixie>
(hah @ lggwg/logging)
23:06
<Hixie>
my uptime is 4 days, but only because someone cut through the trondheim powerlines 5 days ago
23:06
<Hixie>
killed power to half hte city or something
23:06
<Hixie>
even the traffic lifghts were out
23:06
<gavin_>
our shell server was rebooted 13 days ago :(
23:06
<Hixie>
apparently that delayed the repair people from going to fix it
23:06
<Hixie>
as they were stuck in traffic
23:07
<gavin_>
(for kernel updates)
23:08
<Philip`>
(My server is sufficiently old that the recentish Linux root exploit, introduced in 2.6.17, didn't affect it at all, so I didn't have to reboot for that)
23:09
<Dashiva>
Security through obsoletedness
23:09
<Philip`>
(Please don't tell me about any other root exploits that are in 2.6.11, because I'll have to ignore you)
23:10
<Lachy>
it would be good if systems could be updated without restarting ever
23:11
<Philip`>
What would you do when there's a bug in the live update code?
23:11
<Dashiva>
Overwrite it in place
23:12
<Lachy>
start up a new process, kill the live updater, overwrite the live updater, restart the updater, kill the new process from before and cleanup
23:13
<Lachy>
basically, any individual component should be able to be killed, updated and restarted without restarting the entire system
23:13
<Philip`>
How do you overwrite the live updater, when the live updater is the thing that overwrites files with their updated versions?
23:14
<Philip`>
...and when the live updater is buggy, hence the need to update it
23:14
<Philip`>
(where 'buggy' means 'doesn't work')
23:14
<Dashiva>
What if there were two processes, one kickstarting the other to overwrite itself and then restart it?
23:14
<Lachy>
I already answered that. You start a seperate updater program specifically for updating the main live updater
23:14
<jgraham_>
You download new code that implements a new live updater and uses it to replace to old live updater with itself
23:15
<Philip`>
If you split things into restartable components, how do you make a component restart without losing all the data contained within that component?
23:15
<Lachy>
Philip`, magic
23:15
<Philip`>
(particularly if e.g. its internal data structures have been redesigned)
23:15
<Hixie>
back in the old days, there were computers that could have their motherboards updated without rebooting
23:16
<Philip`>
Lachy: Magic is merely sufficiently advanced technology, so you should still be able to explain it :-p
23:16
<Hixie>
Philip`: that's not what clarke said!
23:16
<hsivonen>
Philip`: IBM mainframe programmers don't write bugs
23:17
<jgraham_>
I was under the general impression that lisp proponents cited the ability to update running code in place as one of the big lisp advantages
23:17
<Philip`>
Hixie: You can still do that in modern computers, if you have sufficient money
23:17
<Hixie>
Philip`: he didn't say magic was technology, he said sufficiently advanced technology was indistinguishable from magic
23:17
<Hixie>
Philip`: yeah, haven't heard of it recently though
23:17
<Lachy>
Philip`, there are live update programs that update themselves already. that particular problem is already solved
23:17
<Philip`>
Hixie: If two things are indistinguishable, you might as well say they're the same thing
23:18
<Hixie>
Philip`: they could be indistinguishable because of insufficient precision in the measuring instrument
23:18
<Lachy>
e.g. the Apple Software Updater and Norton Anti-virus Live Update
23:18
<Hixie>
all updaters pretty much support that
23:19
<Philip`>
I have a C++ wxWidgets GUI application which was kind of painful to compile/link/run/test, so I've rewritten lots of the GUI stuff into JS, and it automatically reloads the code at runtime when you change it, which is really a much nicer way of developing GUI applications
23:19
<hsivonen>
even Validator.nu build.py now selfupdates and execs its new self over its old self
23:20
<Philip`>
but that just throws away all the GUI state when it reloads, which is sometimes a bit of a pain
23:20
<Lachy>
Philip`, remembering previous states from before the update is also a solved problem
23:20
<Hixie>
bbl
23:21
<Philip`>
Lachy: Not when the data structures storing the state have changed incompatibly
23:21
<Lachy>
Just record sufficient information to disk before closing, and when restarting the updated app, run a conversion program to convert the older data to a new format if necessary and reload
23:21
<Lachy>
Philip`, changes can be made incrementally to avoid having to throw it all away and start again
23:24
<Philip`>
For an OS kernel, it's hard enough to make suspend-to-RAM work reliably, so I don't hold out much hope for being able to suspend and then rewrite all the data into a new format and then resume a new kernel version :-(
23:25
<Philip`>
(Hmm, lots of bugs - I shouldn't have left my window open)
23:26
<Philip`>
(I hate things that fly at me in bed :-( )
23:26
<Dashiva>
Make sure you make testcases for each one
23:28
<Lachy>
Philip`, the kernel would be written by an infallible intelliegent designer so that it is perfect just the way it is. It never needs updating!
23:28
<Philip`>
I should employ one, and then I can say it WORKSFORME
23:30
<Dashiva>
Lachy: That's why intelligent sort is so awesome
23:31
<Lachy>
what's intelligent sort?
23:31
<Lachy>
is that like quick sort?
23:31
<Philip`>
Is it like bogosort?
23:32
<Philip`>
The easy way to sort a list of integers is to redefine the order relation so that all integers are equivalent and therefore all lists of integers are already sorted
23:37
<Lachy>
Quantum Bogosort is better
23:39
<Dashiva>
Lachy: http://www.dangermouse.net/esoteric/intelligentdesignsort.html
23:41
<Lachy>
Dashiva, you are Expelled: No Intelligence Allowed in here! ;-)
23:42
<Lachy>
intelligent sort breaks the 2nd law of bogodynamics!
23:42
<Philip`>
The problem with the theory of sorting is that it contradicts the second law of thermodynamics - an ordered list has lower entropy than an unordered list, and scientists all agree that the laws of thermodynamics are inviolable, so clearly it is not possible to sort a list
23:42
<Dashiva>
Philip`: It only seems violated to our imperfect minds
23:50
<Lachy>
Dashiva, intelligent sort would mean that it's impossible to ever generate a random number, since the intelligent sorter is always sorting. So the next number in sequence is always predetermined, even if we primitive humans fail to understand how
23:51
<annevk>
Hixie, I'm still somewhat confused with the process / technical distinction and get flamed enough as it is...
23:53
<Dashiva>
Lachy: Wonderful, isn't it?
23:54
<Lachy>
Dashiva, indeed.
23:57
Lachy
goes to join the church of numerology and spread the mathematics of the divine academic
23:59
<Dashiva>
Al'Gebra
23:59
<Philip`>
Lachy: I don't think numerology has much to do with maths
23:59
<Philip`>
Dashiva: Is he a relation of Al-Khwārizmī?