00:10
<hober>
"I'm not going to go all 'hixie' on your asses." -- shane mccarron, http://lists.w3.org/Archives/Public/public-rdfa-wg/2010Oct/0239.html
00:10
<Dashiva>
I'm not convinced that's a good thing
00:58
<Hixie>
hober: if that isn't him "going hixie" i wonder what "going hixie" looks like
00:59
<Dashiva>
Probably involves more three-level step-by-step algorithms
01:24
<Hixie>
Dashiva: something tells me that's not what he meant
01:28
<hober>
Hixie: indeed
01:34
<MikeSmith>
perhaps he meant it involves writing good specs in general
01:35
<MikeSmith>
ones that address market needs
01:35
<MikeSmith>
and solve real problems
01:53
<nessy>
and generally getting shit done ;)
02:09
<MikeSmith>
I think the sound of "Ostanite mirni i stvorili stvari." is beautiful
02:10
<MikeSmith>
that is the best-sounding way to say it in any language I have tried so far
02:16
<nimbupani>
MikeSmith: that sounds like R2D2-speak to me :|
02:17
<MikeSmith>
heh
02:18
<MikeSmith>
"stvo" and "stva" are great ways to start words
02:38
<karlcow>
wow, that's totally innapropriate
02:55
<nessy>
google translate reckons it's serbian - cute!
03:03
<MikeSmith>
google translate usually does a pretty good job at guessing
03:04
<MikeSmith>
I wonder how much it reads in and analyzes before it makes a determination
03:04
<karlcow>
Mechanical Turk :)
03:57
<MikeSmith>
nessy: you reported your crasher?
07:32
<nattokirai>
fantasai: ping
07:32
<nattokirai>
fantasai: wondering what i should do about invalid font test...
07:33
<nattokirai>
remove it or stub it out?
09:28
<jgraham>
HTML parsing pop quiz:
09:29
<jgraham>
<script>document.write("<plaintext>Filler"); document.close()</script>
09:30
<jgraham>
What does the DOM look like after document.close?
09:30
<wirepair>
broken?
09:30
<wirepair>
does broken count? :)
09:31
<jgraham>
No :)
09:31
<gsnedders>
Is it not just <plaintext>Filler?
09:31
<jgraham>
gsnedders: The theory is that it is not
09:32
<jgraham>
The theory might be wrong :)
09:32
<jgraham>
(biab)
09:37
<hsivonen>
jgraham: <html><head></head><body><plaintext>Filler</plaintext></body></html>
09:37
<hsivonen>
jgraham: (I didn't cheat. That is, I didn't actually try running your snippet.)
09:39
<abarth>
hum
09:39
<abarth>
no script tag?
09:40
<abarth>
seems like that would still be in the dom
09:40
<gsnedders>
Well, yeah. But I'm not convinced that's the interesting part. :P
09:41
<abarth>
i'm not sure whether we've properly handled all the document.close() cases
09:41
<hsivonen>
oh. I misread. I though the calling code was outside the document itself given .close()
09:41
<abarth>
especially with synchronous script execution with nested insertion points
09:42
<abarth>
exactly how synchronous it is is tricky
09:42
<abarth>
but this isn't one of those cases
09:53
<jgraham>
The theory is that the document.close() does nothing and, at the point it is called there is no <plaintext> in the DOM because EOF has not yet been reached
09:55
<jgraham>
(If this theory is true the results of nesting the whole construct inside a document.write of its own would be interestingly different)
10:13
<hsivonen>
jgraham: why wouldn't both the plaintext element and its child text node be already in the DOM at the point of calling .close()?
10:13
<hsivonen>
jgraham: I thought the spec changed to require that
10:14
<hsivonen>
jgraham: I expect it's even tested on html5test.com
10:16
<jgraham>
hsivonen: The theory could be wong, like I said, but I thought it only got emitted on EOF
10:16
<jgraham>
*wrong
10:17
<jgraham>
Oh, no, that seems right
10:18
<jgraham>
OK, so the original case I was looking at is more complex
10:18
<jgraham>
Maybe the more complex is needed
10:18
jgraham
goes spec hunting
10:20
<jgraham>
Right, I oversimplified
10:21
<jgraham>
Or..
10:21
<jgraham>
More thinking less typing
10:23
<jgraham>
Right
10:24
<jgraham>
<script>document.write("<table><plaintext>Filler"); document.close()</script> was the original case
10:24
<jgraham>
more or less
10:25
<jgraham>
And in this case at the point of document.close the dom should have the <plaintext>, the <table> but *not* the string "Filler"
10:32
<zcorpan>
http://software.hixie.ch/utilities/js/live-dom-viewer/saved/673
10:35
<zcorpan>
<table> is a neat way to make some content load later but appear earlier in the dom
10:35
<zcorpan>
too bad it's invalid to do that :)
10:38
<jgraham>
Where "neat" in this case mean "non-interoperable and weird"
10:40
<zcorpan>
it'll soon be interoperable
10:41
<zcorpan>
oooh 11 alpha
10:45
<othree>
http://addons.labs.opera.com/addons/extensions/
10:45
<zcorpan>
hmm, wonder why the background and canvas examples don't work in opera in http://blog.dholbert.org/2010/10/svg-as-image.html
10:45
<othree>
sorry
10:45
<othree>
wrong channel
11:27
<annevk>
hello
11:28
<annevk>
still not published
11:28
<annevk>
hmm
11:28
<annevk>
later today?
11:34
<hsivonen>
Re: Shane's email, shouldn't one want spec writers to go all Hixie?
11:58
<zcorpan>
hsivonen: which email?
12:01
<jgraham>
hsivonen: I think "writing clear accurate specs" was not what he had in mind
12:01
<jgraham>
I'm not sure what he *did* have in mind though
12:03
<Philip`>
I assumed it was about him not advocating switching to an incompatible design that can be understood by more than 10 people in the world
12:05
<zcorpan>
ah, found link in the logs
12:05
<hsivonen>
yeah, I meant the link in the logs
12:06
<kuya>
hello, validators are telling me that im missing required attributes with `<style type="text/css">` - ive looked at the html5 spec but i dont see what im missing
12:07
<kuya>
any hints?
12:07
<Philip`>
It probably means you need to move it into your <head>, if I remember correctly
12:07
<kuya>
ahh i do have one not in the head ...
12:07
<Philip`>
(You can only use <style scoped> inside <body>, which is why it complains about the missing scoped attribute, I think)
12:08
jgraham
wonders if the scoped feature will survive
12:08
<hsivonen>
yes, the validator wants to see the scoped attribute
12:08
<hsivonen>
jgraham: I doubt it
12:08
<kuya>
thanks guys
12:08
<zcorpan>
the attribute that's missing is scoped="" (since you put the style in body)
12:13
<annevk>
almost flying time yay
12:13
<jgraham>
(but the problem is not that the attribute is missing, but that you put <style> in <body>)
12:14
<kuya>
yes it was a mistake from old code
12:14
<kuya>
didnt think i had any of those left
12:44
<MikeSmith>
so http://twitter.com/#!/hsivonen/status/28004974377 seems to imply you might be working on releasing a standalone version of the gecko/vnu HTML5 parser
12:44
<MikeSmith>
which would be very cool
12:45
<MikeSmith>
if that is in fact a goal
12:46
<jgraham>
hsivonen: libxml2
12:47
<hsivonen>
MikeSmith: not working but planning without any promise or commitment or schedule
12:48
hsivonen
wonders what C or C++ people use to convert various encodings into UTF-8
12:48
<MikeSmith>
hsivonen: OK, understood
12:49
<hsivonen>
libiconv looks surprisingly bad
12:49
<MikeSmith>
I was about to say…
12:49
<MikeSmith>
I think that is what most use
12:49
Philip`
handles XML in C++ via a system that first uses libxml2 to convert the XML to a custom binary format, and then the rest of the application uses a custom API to read that custom binary format
12:49
<jgraham>
hsivonen: Getting a real HTML parser into libxml2 would be amazingly awesome
12:50
<hsivonen>
it has the same API design error that causes Gecko to be unable to detect an incomplete byte sequence right before EOF in multibyte encodings
12:50
<hsivonen>
it being libiconv
12:50
<MikeSmith>
well, somebody should fix that
12:50
<hsivonen>
AFAICT, ICU converts to UTF-16
12:50
<MikeSmith>
since iconv is in fact used all the hell all over the place
12:51
<hsivonen>
it's probably easier to fix Gecko's internal APIs than to fix the libiconv public API
12:51
<MikeSmith>
libxml2 does rely on iconv
12:51
<MikeSmith>
for example
12:51
<hsivonen>
(it's also possible that I have misunderstood the libiconv API)
12:51
<MikeSmith>
I think
12:52
<MikeSmith>
(I meant I think libxml2 relies on iconv)
12:52
<hsivonen>
MikeSmith: yeah, I guess there's no point in trying to fight libiconv if one isn't using ICU
12:54
<MikeSmith>
it may be that libiconv is broken by design that way
12:54
<MikeSmith>
just thinking out loud
12:54
<MikeSmith>
for compat of some kind
12:55
<MikeSmith>
I guess that large parts of the FOSS platform may also be in that state
12:55
<MikeSmith>
like the Web platform
12:55
<hsivonen>
indeed
12:55
<MikeSmith>
crap we are effectively stuck with forever
12:55
<Philip`>
Like commercial platforms too
12:55
<MikeSmith>
or for a long time at least
12:55
<MikeSmith>
Philip`: true
12:55
<MikeSmith>
that's a given
12:56
<zcorpan>
everything's crap, and we're stuck in it
12:56
<MikeSmith>
but that's their problem
12:56
<Philip`>
Like most non-computer-related platforms, too
12:56
<MikeSmith>
Philip`: such as?
12:58
<MikeSmith>
zcorpan: you have given me my translation target for the day
12:58
<Philip`>
Like TV, and electricity, and road systems, and book publishing, and all sorts of things, I guess
12:58
<hsivonen>
after university, I haven't written normal C or C++ code at all. I've been writing on top of all this Mozilla-specific infrastructure, so I don't really know how people really do stuff like stream io outside the Mozilla land
12:59
<hsivonen>
but I imagine no one really writes big apps in the io style shown in Stroustrup's book
12:59
<Philip`>
They're stuck with suboptimal designs because there's lots of interacting parties and it's too expensive to change them all at once
13:00
<MikeSmith>
I think DV addressed the broken dependency problem by reinventing a lot of wheels
13:00
<Philip`>
hsivonen: Most non-trivial projects seem to make up their own project-specific infrastructure, so there isn't any "normal"
13:00
<MikeSmith>
libxml2 seems to have a lot of stuff that it could be relying on libraries for
13:02
<MikeSmith>
wow
13:02
<MikeSmith>
zcorpan: Allt är skit, och vi är fast i den.
13:02
<MikeSmith>
zcorpan: does that sound natural?
13:02
<MikeSmith>
seems to round-trip at least
13:04
<MikeSmith>
oh
13:04
<MikeSmith>
wait
13:04
<MikeSmith>
"stuck _in_ it"
13:04
<MikeSmith>
hmm
13:04
<MikeSmith>
not quite the same at all
13:04
<MikeSmith>
though still a good sentiment
13:06
<Philip`>
Good C++ library design usually seems to involve having as few dependencies as possible, to minimise friction with whatever crazy infrastructure is already used in projects
13:06
<Philip`>
e.g. don't use any libraries for IO (even standard iostreams), just let the application provide a simple callback function
13:07
<Philip`>
(then add an extra layer of convenience API that takes a filename and does sensible default behaviour)
13:08
<hsivonen>
it seems to me that java.io and org.xml.sax have a lot of value even when they suck
13:10
<Philip`>
Yeah, C++ is pretty rubbish at having standard ways to do simple things like that
13:10
<Philip`>
You can't even write a library that uses standard new/delete without some applications considering it unacceptable and requiring a way to override the behaviour
13:12
<MikeSmith>
Philip`: I realize my previous experiences in working on proprietary commercial software does exhibit exactly what you describe
13:13
MikeSmith
worked a lot at one time on product dev or e-mail infrastructure - MTA, message store, DB interfaces, congestion control stuff, related ldap server, other stuff
13:14
<MikeSmith>
somebody should write a book about this
13:14
<MikeSmith>
along the lines of Mythical Man Month
13:15
hsivonen
notes that Gecko supplies its own malloc on Windows and Linux and then puts a customized operator new on top of it
13:15
<MikeSmith>
when I worked we used some third-party malloc
13:15
<MikeSmith>
which we had licensed
13:15
MikeSmith
tries to remember the name
13:16
<MikeSmith>
very common one
13:16
<MikeSmith>
but it was a give that using the platform malloc was a non-starter
13:16
<MikeSmith>
*given
13:16
<hsivonen>
Mozilla uses jemalloc
13:16
<hsivonen>
isn't Lea malloc the other one people like to use?
13:21
<MikeSmith>
SmartHeap is what we used
13:21
<MikeSmith>
I think
13:22
<MikeSmith>
actually, we had our own branch of it
13:22
<MikeSmith>
that we maintained as part of our code
13:22
<MikeSmith>
we licensed in and forked it basically
13:22
<MikeSmith>
further example of the phenomenon Philip` was describing
13:56
<hsivonen>
I'd love to see some kind of tutorial that explains the memory management options for local name strings in the libxml2 DOM
14:01
<rubys>
hsivonen: cool to see you interested in libxml2; I may be able to help starting mid next month
14:04
<hsivonen>
rubys: to set expectations correctly: I'm just trying to find out what steps are required. I don't promise to take those steps at any particular schedule or at all.
14:05
<hsivonen>
rubys: of course, it would be awesome if you did :-)
14:06
<hsivonen>
I'm rather surprised that neither libxml2 nor Xerces C++ has a special interned type for local names
14:06
<hsivonen>
both Gecko and WebKit do interning around this area
14:07
<hsivonen>
hmm. I see that libxml2 docs say something about a dict for names
14:07
<hsivonen>
maybe there's optional interning or something?
14:08
<rubys>
I do a lot of HTML parsing. Example which helps me keep track of issues and bugs: http://intertwingly.net/stories/2010/10/21/libxml2-html5-test.rb
14:08
<rubys>
wrong link
14:08
<rubys>
http://intertwingly.net/stories/2010/10/21/wgstatus.rb
14:08
<rubys>
example output: http://intertwingly.net/stories/2010/10/21/wgstatus.html
14:09
<rubys>
of course, that depends on being able to parse HTML, and most of the HTML I parse is "mostly" clean
14:09
<karlcow>
ooooh http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html#//apple_ref/doc/uid/TP40010380-CH4-DontLinkElementID_2
14:09
<hsivonen>
I'm also surprised at how few word are used to talk about the memory management / object ownership considerations in the libxml2 docs
14:09
<karlcow>
"As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated."
14:09
<rubys>
back to the link I incorrectly posted at first, that is a test of the parser, and here is output: http://intertwingly.net/stories/2010/10/21/libxml2-html5-test.out
14:10
<rubys>
not all of those differences are problems, but most are
14:10
<hsivonen>
makes me wonder if I'm clueless and libxml2 DOM memory management is obvious for everyone else
14:10
<rubys>
http://xmlsoft.org/xmlmem.html
14:12
<hsivonen>
rubys: that page doesn't really explain if its possible to share local name memory between nodes and such
14:13
<rubys>
Author of libxml2 seems active: http://mail.gnome.org/archives/xml/2010-October/thread.html
14:14
<rubys>
look for Daniel Veillard
14:14
<hsivonen>
of course, the easy way would be not to care and use the node creator that always copies the local name
14:15
<rubys>
+1
14:15
<rubys>
get it working, and then fix the problems that are real problems later
14:15
<smaug____>
hsivonen: just wondering, what are you doing?
14:17
<hsivonen>
smaug____: I'm looking at the libxml2 tree API to get an idea what it would take to target the Java to C++ translator to target libxml2 in addition to targeting NSPR/Gecko
14:18
<smaug____>
hsivonen: ah, so the idea is that libxml2 could support html5 parsing
14:19
<hsivonen>
smaug____: the idea is the have a library that does HTML5 parsing and is API-compatible with libxml2
14:20
<hsivonen>
(maybe sometime in the future when Firefox 4 has shipped, etc.)
14:20
<hsivonen>
with emphasis on "maybe"
14:21
<zcorpan>
MikeSmith: Allt är skit, och vi sitter fast i det
14:22
<MikeSmith>
zcorpan: thanks
14:22
MikeSmith
tweets
14:23
<hsivonen>
first I was inclined to correct MikeSmith with s/den/det/ but then I figured 'den' was right. But apparently 'det' would have been right anyway.
14:23
MikeSmith
remembers now that hsivonen speaks Swedish too
14:23
<hsivonen>
MikeSmith: for *very* small values of "speak"
14:24
<MikeSmith>
heh
14:24
<smaug____>
all the Finns speak Swedish, well at least a bit
14:26
jgraham
had a notion that s/den/det/ was better but has embarassingly bad Swedish
16:15
<annevk>
so a new ARIA document is published...
16:15
<annevk>
I'm still waiting for answers to my previous series of comments
16:23
<annevk>
hsivonen, http://i.imgur.com/51f9p.jpg is great
16:33
<Workshiva>
annevk: And the truth
19:21
Ms2ger
just found http://www.w3.org/Style/css2-updates/russian/Overview.html
20:09
<Ms2ger>
Look, someone found a bug in XHTML1
20:09
<JonathanNeal>
"To be or not to be" - William Shakespeare ... what is the proper HTML5 markup for this?
20:10
<JonathanNeal>
I used to think it was blockquote+cite, but based on #the-blockquote-element in the spec it would seem not to be. Anyone around here know?
20:11
<Hixie_>
<p><q>To be or not to be</q> - William Shakespeare ... what is the proper HTML5 markup for this?</p>
20:11
<JonathanNeal>
Williams Shakespeare does not receive a cite, all right.
20:11
<Hixie>
a cite?
20:11
<JonathanNeal>
Yes, a cite, #the-cite-element
20:12
<Hixie>
ah, correct. <cite> is for titles of works.
20:13
<Ms2ger>
Yay for bruce muddling the waters again
20:13
<JonathanNeal>
not for authors? got it.
22:16
<AryehGregor>
So it turns out bidi is complicated.
22:16
<zcorpan>
let's go shopping!
22:19
<Hixie>
AryehGregor: no kidding
22:19
<Hixie>
what made you realise that?
22:19
<AryehGregor>
Aharon's comments on the dir=auto thing.
22:19
<AryehGregor>
I'll have to take some time to read them carefully.
22:20
<AryehGregor>
I'm pretty sure his proposal isn't ideal, but I doubt mine is so great either.
22:20
<Hixie>
ah
22:20
<Hixie>
i wish those bugs started from use cases rather than proposals
22:21
<Hixie>
though we seem to be getting better on that front now
22:21
<AryehGregor>
This is what you get from task forces.
22:23
<jgraham>
The word "tak force" always makes me think that camouflage paint should be involved somewhere
22:23
<jgraham>
*task
22:29
<annevk>
"Task Force" always reminds me of the route we did not take
22:30
<AryehGregor>
Okay, my number-one desired feature right now is that browsers sync history and passwords and stuff between different vendors' browsers.
22:30
<AryehGregor>
Is anyone interested in that, like, at all?
22:40
<jgraham>
AryehGregor: define "anyone"
22:41
<AryehGregor>
"anyone who actually stands a chance of encouraging it to happen"
22:41
<othermaciej>
AryehGregor: there's probably not a lot of people who use browsers from different vendors regularly
22:42
<othermaciej>
so I suspect there is not a lot of demand
22:42
<jgraham>
annevk: Well you it is disappointing that the reality often seems to be less "action man" and more "paralysed by self-imposed bureaucracy man"
22:42
<AryehGregor>
Tons of people use IE at work and some other browser at home.
22:42
<AryehGregor>
Also, it would let people try out other browsers more easily, that's the real point.
22:42
<jgraham>
othermaciej: I believe something called XMarks did this
22:43
<AryehGregor>
So if I want to try out Firefox 4, I don't have to be constantly distracted by having to go look up my login info.
22:43
<AryehGregor>
(which is stored in Chrome)
22:44
<jgraham>
AryehGregor: It seems like a hard problem and even harder to convince browser vendors to implement
23:02
<gsnedders>
jgraham: Yeah, but years of experience tell me that by the time I get close enough to the photos (or more normally, they get close enough to me), it's August and I don't care any more
23:24
<AryehGregor>
jgraham, why is it much harder than intra-browser sync?
23:25
<AryehGregor>
The stuff you're syncing is essentially the same cross-browser, no?
23:25
<Hixie>
it's hard for intra-browser too
23:25
<AryehGregor>
Well, yes, but clearly that's not *too* hard.
23:28
<Hixie>
it's difficulty^N harder to get N browsers to do it in a compatible way
23:28
<Hixie>
(ok i pulled that out of my behind, but the idea is sound)
23:29
<Hixie>
it's even harder than normal since the user benefit is low so it's unlikely anyone will care enough to write a spec, etc8
23:30
<AryehGregor>
On the other hand, if this were widely supported, browsers could scrap their code for importing all this stuff from other browsers, which they currently all have to write anyway.
23:31
<AryehGregor>
And that's surely even more annoying and fragile, because they have to reverse-engineer the other browser's storage formats.
23:31
<Hixie>
*shrug*
23:32
<Hixie>
write a spec, get browsers to implement
23:32
<AryehGregor>
I know the procedure.
23:32
<Hixie>
:-)