Options:
- # Session Start: Mon Sep 10 00:00:00 2007
- # Session Ident: #whatwg
- # [00:05] * Joins: dev0_ (i=Tobias@dslb-088-076-241-001.pools.arcor-ip.net)
- # [00:05] * Quits: tndH (i=Rob@adsl-87-102-114-117.karoo.KCOM.COM) ("ChatZilla 0.9.78.1-rdmsoft [XULRunner 1.8.0.9/2006120508]")
- # [00:11] * Quits: grimeboy (n=grimboy@85-211-247-60.dsl.pipex.com) (Remote closed the connection)
- # [00:11] * Joins: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [00:12] <jgraham> html5lib just reached rev. 1000
- # [00:13] <annevk> party?
- # [00:19] <annevk> jgraham, ah, so you're building a table model using the HTML5 algorithm and made various heading algorithms on top of that?
- # [00:21] * Quits: zcorpan (n=zcorpan@c-d391e355.022-154-6c6b7013.cust.bredbandsbolaget.se) (Read error: 110 (Connection timed out))
- # [00:23] <jgraham> annevk: Yeah (to both ;) )
- # [00:23] * Quits: dev0 (i=Tobias@unaffiliated/icefox0) (Read error: 110 (Connection timed out))
- # [00:26] <hsivonen> after talks about an "IRC cabal", I find http://wilbur.bytowninternet.com/pipermail/list_html4all.org/ interesting
- # [00:27] * Quits: tantek (n=tantek@77-99-141-250.cable.ubr03.hari.blueyonder.co.uk)
- # [00:27] <annevk> there's also http://html4all.org/pipermail/list_html4all.org/ ...
- # [00:27] <annevk> I guess they're the same
- # [00:53] <hsivonen> http://html4all.org/pipermail/list_html4all.org/2007-August/000032.html
- # [00:53] <hsivonen> wow.
- # [00:55] <annevk> the "html4all cabal"
- # [00:56] <takkaria> it's a cabal-eat-cabal world...
- # [00:59] * Joins: tantek (n=tantek@77-99-141-250.cable.ubr03.hari.blueyonder.co.uk)
- # [01:02] * hsivonen finds that his relative openness to ideas compared to annevk is assessed at http://www.w3.org/2002/09/wbs/40318/dprv/results
- # [01:03] <hsivonen> doh. edit in mid sentence
- # [01:03] <hsivonen> s/is assessed //
- # [01:05] <annevk> I'm open to changes, I just don't really mind the current text
- # [01:06] <annevk> (also taking into account that perfection is not needed for a first draft, imo)
- # [01:08] * weinig|zZz is now known as weinig
- # [01:09] <Philip`> hsivonen: You have been corrupted by your years in the presence of Hixie's Ring - it bends you to its will, and it will never let go unless you cast it into the flames
- # [01:10] <takkaria> I thought you were joking for a minute, there
- # [01:10] <Philip`> (Hmm, I think the metaphor broke down before the end of the sentence)
- # [01:11] <annevk> It's interesting that the blog from Gregory is full of <b> and <i> ( http://my.opera.com/oedipus/blog/ )
- # [01:11] <annevk> while he claims they're bad for accessibility
- # [01:12] <annevk> (fwiw, this is about markup in the posts he writes)
- # [01:12] <hsivonen> Philip`: no comment after looking it up in urbandictionary.com
- # [01:14] * annevk is confused
- # [01:14] <webben> annevk: How does Opera's blogging thingy generate emphasis? And how does it generate italic?
- # [01:14] <webben> (I mean, what is the UI.)
- # [01:14] <annevk> dunno
- # [01:14] <webben> I rather doubt it's under Gregory's control.
- # [01:15] <hsivonen> hmm. perhaps the ad hominem wasn't intended to be as dirty as I thought. carry on
- # [01:15] <annevk> webben, that's besides the point though
- # [01:15] <webben> annevk: It is?
- # [01:15] <annevk> webben, why would he use them?
- # [01:15] <webben> Why would he use Opera's blogging software?
- # [01:15] <webben> Dunno. I've never used it.
- # [01:15] <annevk> no, why would he use the italic and bold markup
- # [01:15] <Philip`> hsivonen: Hmm, urbandictionary.com has, uh, cruder meanings than I was thinking of
- # [01:16] <webben> annevk: What makes you think he has any effective control of what Opera's blogging software generates?
- # [01:16] * Quits: dev0_ (i=Tobias@unaffiliated/icefox0) (Read error: 104 (Connection reset by peer))
- # [01:17] <annevk> webben, I've no idea what you're talking about
- # [01:17] <hsivonen> Philip`: I was just figuring out what he mean with his footnote about connotations and that was what I found.
- # [01:17] <hsivonen> meant
- # [01:17] <webben> annevk: (NB I know zilch about Opera's blogging software, but it could for all I know be like blogger. Blogger doesn't have em and strong as options.)
- # [01:17] <annevk> it's not about options, it's about using them in the first place
- # [01:17] <annevk> obviously they have some sort of effect, even in the software he's using
- # [01:18] <webben> annevk: Then I don't understand your point (or perhaps you've misunderstood the problem with <i>, I'm not sure.)
- # [01:19] <annevk> I suppose, I already said your remark was besides the point...
- # [01:19] <webben> That is to say: the problem with i is ambiguous semantic; but some effect in UAs may be better than no effect at all.
- # [01:20] <annevk> all elements in HTML have ambiguous semantics afaict...
- # [01:20] <annevk> anyway, bedtime
- # [01:20] <webben> annevk: good night
- # [01:26] * hsivonen finds "divide and conqueror the current crop of HTML5 manglers" in the html4all archives...
- # [01:28] <takkaria> url?
- # [01:29] <hsivonen> takkaria: hmm. they don't seem to have an easy facility of mapping message-ids to URLs.
- # [01:29] <hsivonen> takkaria: http://html4all.org/pipermail/list_html4all.org/2007-August/000054.html
- # [01:29] <takkaria> ta
- # [01:31] <webben> Interesting. A quick test shows Opera's blogging software has only B and I buttons, and emits <i> for I and <strong> for B.
- # [01:32] <webben> unless I'm missing something (easily possible) it doesn't offer a way to enter HTML directly
- # [01:48] <Hixie> hsivonen: wow, that's awesome in so many ways
- # [01:49] * Quits: hasather (n=hasather@90-227-221-48-no62.tbcn.telia.com) ("leaving")
- # [02:03] * Joins: yod (n=ot@softbank221018155222.bbtec.net)
- # [02:10] <Hixie> http://html4all.org/pipermail/list_html4all.org/2007-August/000016.html
- # [02:10] <Hixie> it's interesting to note how different his opinions are from those that the whatwg used as a foundation (as described in the opera/mozilla position paper)
- # [02:15] * Quits: webben (n=benh@dip5-fw.corp.ukl.yahoo.com)
- # [02:20] * Joins: jruderman (n=jruderma@c-67-180-15-227.hsd1.ca.comcast.net)
- # [02:21] <jruderman> Hixie: does HTML5 specify https://bugzilla.mozilla.org/show_bug.cgi?id=395597 either way?
- # [02:22] <jruderman> (if set innerHTML on a new element and *then* put that element into the document, do <script>s in the innerHTML execute?)
- # [02:27] * Joins: karlUshi (n=karl@133.27.247.173)
- # [02:31] <Hixie> the spec does cover it
- # [02:37] <Hixie> jruderman: search for "If the parser was originally created for the HTML fragment parsing algorithm, then mark the script element as "already executed""
- # [02:52] <jruderman> so it's a bug, then
- # [02:52] <jruderman> in gecko
- # [02:53] <jruderman> thanks
- # [03:00] <Hixie> unless you think we should change the spec, yeah
- # [03:01] <jruderman> the spec seems sane to me, and it matches ie and opera according to the bug report
- # [03:02] <Hixie> cool
- # [03:03] <jruderman> "already executed" might not be the best name for the flag, though
- # [03:03] <Hixie> well originally it was just set when the <script> element was executed
- # [03:04] <Hixie> i added innerHTML support later
- # [03:04] <Hixie> it's true it is no longer a hugely accurate name
- # [03:09] * Quits: weinig (i=weinig@nat/apple/x-a81ae52b31b50c5e)
- # [03:21] * Joins: dbaron (n=dbaron@219.142.181.8)
- # [03:22] * Quits: dbaron (n=dbaron@219.142.181.8) (Client Quit)
- # [03:52] * Joins: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com)
- # [04:03] * Quits: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com) ("ChatZilla 0.9.78.1 [Firefox 3.0a8pre/2007090604]")
- # [04:04] * Joins: kfish (n=conrad@61.194.21.25)
- # [04:05] * othermaciej wonders how that works in Safari
- # [04:12] * Joins: weinig (n=weinig@c-67-188-122-206.hsd1.ca.comcast.net)
- # [04:22] * Joins: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com)
- # [04:40] * Joins: Philip`_ (n=philip@zaynar.demon.co.uk)
- # [04:48] * Quits: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com) (Read error: 104 (Connection reset by peer))
- # [04:54] * Quits: Philip` (n=philip@zaynar.demon.co.uk) (Read error: 110 (Connection timed out))
- # [04:55] * Joins: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com)
- # [04:55] * Quits: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com) (Client Quit)
- # [06:07] * Quits: tantek (n=tantek@77-99-141-250.cable.ubr03.hari.blueyonder.co.uk)
- # [06:10] * Joins: KevinMarks (n=KevinMar@c-76-102-254-252.hsd1.ca.comcast.net)
- # [06:46] * Quits: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca) ("http:/www.csarven.ca")
- # [06:55] * Quits: yod (n=ot@softbank221018155222.bbtec.net) ("Leaving")
- # [08:11] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [08:17] * Joins: marcosc (n=chatzill@131.181.148.226)
- # [08:20] * Quits: doublec (n=doublec@202.180.114.137)
- # [08:26] * Joins: boogs (n=boogs@dsl081-073-212.sfo1.dsl.speakeasy.net)
- # [08:27] <boogs> Does anyone know how in Hixie's most recent offline proposal the last caveat-paragraph (the same url shows up in two applications) can happen?
- # [08:28] <boogs> I thought it should be impossible since the first time a page shows up with it's application URL pointing to someplace else it is an error, or removed from the prior place.
- # [08:28] <Hixie> consider this case:
- # [08:28] <Hixie> go to http://example.com/a
- # [08:28] <Hixie> it has an application="a.manifest"
- # [08:28] <Hixie> you load a.manifest and it says to load http://example.com/b
- # [08:29] <Hixie> you load http://example.com/b and it has application="a.manifest"
- # [08:29] <Hixie> then, totally separately, you go to http://example.com/c, and it has application="c.manifest", which also says to load http://example.com/b
- # [08:29] <Hixie> when you load http://example.com/b now, the server sends back a file with application="c.manifest".
- # [08:30] <Hixie> now, you go to http://example.com/b -- which app cache should it load from?
- # [08:30] <boogs> Right, ok, I agree that can happen.
- # [08:30] <boogs> Right now this is a bug in Gears, the result is non-deterministic, which is bad.
- # [08:31] <boogs> our only idea was to make the second one an error.
- # [08:32] <Hixie> making it an error doesn't say what should happen :-)
- # [08:32] <boogs> I mean, it would be a runtime error, the capture would fail.
- # [08:32] <Hixie> so you couldn't load http://example.com/c ?
- # [08:32] <Hixie> or rather, couldn't cache it?
- # [08:32] <boogs> right.
- # [08:33] <Hixie> seems a bit draconian
- # [08:33] <boogs> It seems like the other option is to invalidate the first application.
- # [08:33] <boogs> otherwise, you lose atomicy, right?
- # [08:33] <Hixie> especially if the http://example.com/a was a mistake
- # [08:34] <Hixie> my proposal was just to say that the last one wins, iirc
- # [08:34] <Hixie> i don't think it's a huge issue
- # [08:34] <Hixie> it's not like it'll happen much; maybe occasionally in development
- # [08:34] <Hixie> but then you want the last one to win anyway
- # [08:34] <boogs> it is a problem
- # [08:35] <boogs> so in the current proposal, if a resource is in more than one app caches, the browser loads it from the cache that got it last?
- # [08:35] <Hixie> you mean if you go there as a top-level page?
- # [08:35] <boogs> let's just say a non-top-level thing for now.
- # [08:35] <Hixie> or do you mean if you load it in an <img> or <iframe> or something?
- # [08:35] <boogs> a js file.
- # [08:36] <Hixie> non-top-level always loads from the current top-level-page's own app cache
- # [08:36] <Hixie> or the network if it's not there
- # [08:36] <boogs> I see, it wasn't clear from the new proposal that you were keeping that feature from the old one.
- # [08:37] * Quits: aroben (n=adamrobe@unaffiliated/aroben) (Remote closed the connection)
- # [08:37] <Hixie> ah, my bad
- # [08:37] <Hixie> yeah
- # [08:37] <Hixie> otherwise there's not much point having multiple caches :-)
- # [08:37] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [08:38] <boogs> Another question: why have the slurp feature at all, if you're going to have manifests?
- # [08:38] <boogs> it seems so mushy
- # [08:38] <boogs> I mean, I can construct cases where I want XHR to go to the cache
- # [08:39] <Hixie> well, the slurp feature is useful in the one-page-app case, but also, you don't want to have to specify every dependency, you only want to need to specify the other top-level pages and the per-page or only occasional dependencies
- # [08:40] <Hixie> like, an image that you don't always preload
- # [08:40] <Hixie> or a stylesheet that you only use occasionally
- # [08:40] <Hixie> why would you want XHR to go from the cache?
- # [08:40] <Hixie> (the app cache, that is, vs the general network layer cache)
- # [08:40] <boogs> well we actually do that in a gears unit test, to test that the cache is working
- # [08:40] <boogs> does that count? :)
- # [08:41] <Hixie> no :-P
- # [08:41] <Hixie> use a dynamically added <script> or something :-P
- # [08:41] <boogs> well, if you want to get the text contents of some resource, to process it.
- # [08:41] <boogs> like a text file.
- # [08:42] <boogs> maybe it's config.
- # [08:43] <Hixie> just load it once from the network and cache it in the database, or cookies
- # [08:43] <boogs> Also, going the other way, like I said, it is common to use a new Image() to ping a server.
- # [08:43] <boogs> In which case you don't want it to go the app cache.
- # [08:44] <Hixie> since you have to rewrite your apps for this anyway, it doesn't seem bad to require authors to use a more appropriate pinging method
- # [08:44] <Hixie> creating an image is really not an appropriate pinging method
- # [08:44] <Hixie> since it has nothing to do with images
- # [08:44] <Hixie> no?
- # [08:44] <boogs> That *is* the pinging method we are using in new apps. I guess it is just more convenient than xhr
- # [08:45] <boogs> What if it was just that it slurped the things that were in the html markup, not dynamically created things. That might be crisper.
- # [08:45] <Hixie> that's basically impossible to do from an architecture point of view
- # [08:46] <Hixie> dynamically created from the parser vs dynamically created by script should work the same
- # [08:46] <Hixie> (not even considering things like innerHTML, which blur the lines yet further)
- # [08:46] <boogs> hm, ok.
- # [08:46] <Hixie> i don't really understand why new Image() is considered a good way of pinging a server
- # [08:47] <Hixie> it's not an image... why would you use Image()?
- # [08:47] <boogs> We do ping an image.
- # [08:47] <Hixie> that's like using a table for layout purposes...
- # [08:47] <boogs> x.gif, or whatever
- # [08:47] <boogs> or the google logo
- # [08:47] <Hixie> why?
- # [08:47] <Hixie> why not just grab an actual status file?
- # [08:47] <boogs> because xhr can fail in a variety of dramatic ways on different browsers and catching all of them is difficult.
- # [08:47] <boogs> where as image just fires onerror no matter what happened.
- # [08:47] <Hixie> sounds like something we should fix
- # [08:48] <Hixie> we could also just provide a server-status-pinging api
- # [08:48] <Hixie> what is it you want to know? whether you're online?
- # [08:48] <boogs> Whether our server is alive.
- # [08:49] <Hixie> to sync with the server?
- # [08:49] <boogs> yes.
- # [08:49] <Hixie> hm
- # [08:49] <boogs> We try to not do this ever, but there are cases where you need to know.
- # [08:49] <boogs> For example, the login screen must be different if you can't reach the server.
- # [08:49] <boogs> It is useless to show the password box.
- # [08:50] <Hixie> a login screen while offline?
- # [08:50] <boogs> A pick-which-user-you'd-like-to-be screen
- # [08:50] <boogs> profile picker
- # [08:50] <Hixie> wouldn't you have to be logged in for the app to be cached in the first place?
- # [08:50] <Hixie> ew
- # [08:50] <Hixie> isn't that what the os profile picker is for?
- # [08:50] <boogs> do people use that? :)
- # [08:51] <boogs> having multiple users on the same os session is a fact of life for web apps I think.
- # [08:52] <Hixie> hm, that wasn't on the list of reqs :-/
- # [08:52] <Hixie> i have no idea how to handle that well
- # [08:52] <boogs> you don't need to spec for it
- # [08:52] <boogs> It is possible to provide the feature without any changes to your spec, it just means webdevs need to do some ugly things.
- # [08:53] <Hixie> wanna avoid ugly things if possible :-)
- # [08:54] <boogs> Anyway, all of this is workaroundable. If you make the image ping trick not work, we can just use xhr. My main point was that it seems mushy to me that some requests silently get cached, others don't.
- # [08:54] <Hixie> well the idea is they all get cached except XHR (that being the official way to talk to servers) and anything that isn't a GET (because i don't really want to think about what it means to cache a POST or DELETE)
- # [08:55] <Hixie> would be interesting to have an explicit way to check for the server though
- # [08:55] <boogs> But only during load, right?
- # [08:55] <boogs> (that is what the previous proposal said)
- # [08:55] <Hixie> i don't think there's anything limited to load, in either proposal
- # [08:56] <boogs> I think the previous one said that all requests that were GET during load were slurped.
- # [08:56] <Hixie> no, all GET requests always
- # [08:56] <Hixie> (maybe when the server gets the manifest (changed or not) we fire an event saying "server up"?)
- # [08:57] <Hixie> uh, when the UA gets the manifest
- # [08:57] <boogs> Maybe.
- # [08:58] <boogs> So if you always capture GETs, that means you can get an inconsistent application.
- # [08:58] * Quits: virtuelv (n=virtuelv@pat-tdc.opera.com) ("Leaving")
- # [08:58] <boogs> I guess that can happen anyway though, if the server restarts during capture.
- # [08:58] <boogs> or if new files show up or whatever, and apps will have to be robust to that.
- # [08:58] <Hixie> how would you get an inconsistent application?
- # [08:59] <boogs> well if you're running v1 on your server, and then you push v2, and then an app requests a resource dynamically.
- # [08:59] <boogs> it will get resource(v2)
- # [08:59] <boogs> but it will be running app(v1)
- # [08:59] <Hixie> oh yeah, but that'll happen today anyway, and also happens regardless of whether we limit it to before load or after load
- # [09:00] <boogs> gears prevents this by checking the manifest version before and after update
- # [09:00] <Hixie> how does that prevent it?
- # [09:00] <Hixie> does it just not show the app in that case?
- # [09:00] <Hixie> that seems like it would slow page load dramatically
- # [09:00] <Hixie> (in the initial load case_
- # [09:00] <Hixie> )
- # [09:00] <boogs> updates are not linked to page load
- # [09:00] <boogs> in gears
- # [09:01] <boogs> they happen completely in the background
- # [09:01] <Hixie> so what happens if i visit http://example.com/ the first time
- # [09:01] <boogs> it loads it from the network
- # [09:01] <Hixie> and an update is pushed at the same time
- # [09:01] <boogs> you have to call an api to capture in gears
- # [09:01] <Hixie> ah
- # [09:01] <boogs> it doesn't happen automatically
- # [09:01] <boogs> and then updates happen automatically after that
- # [09:02] <boogs> I had another question: what happens if the upgrader fails?
- # [09:04] <Hixie> re the earlier question, we could make this system also check the manifest before and after and check they're the same, and throw everything out and retry if they're not
- # [09:04] <Hixie> what kind of failure? script syntax error so it never responds to the other pages? or?
- # [09:05] <boogs> right, like a script error at parse or runtime, or maybe a database error updating the schema
- # [09:07] <Hixie> a database error updating the schema will work the same as in the only-online-app case
- # [09:07] <Hixie> an error in the script, though, can work gracefully -- the other pages, when they try to communicate with the upgrader, will see something bad happened (e.g. cos it doesn't respond) and will be able to report it, or ignore the upgrader
- # [09:07] <boogs> to put it another way, is the update successful before or after the updater?
- # [09:08] <boogs> sorry, upgrader
- # [09:08] <Hixie> for the purposes of checking consistency?
- # [09:08] <Hixie> before
- # [09:08] <Hixie> well
- # [09:08] <Hixie> hmm
- # [09:10] <Hixie> i guess it would only work in the manifest case
- # [09:10] <Hixie> the consistency check, i mean
- # [09:10] <Hixie> since in the other case, you're already running script
- # [09:12] <boogs> It seems like it simplifies things to just have the first page load with the new code responsible for doing the update.
- # [09:12] <Hixie> if you have the app open in multiple tabs, how do they know which is the first?
- # [09:13] <boogs> Whichever one reloads first.
- # [09:13] <Hixie> they all reload at the same time
- # [09:13] <boogs> You can use db transactions (if you keep your local state in the db) to serialize them.
- # [09:13] <boogs> anyway that is what we do.
- # [09:13] <Hixie> i guess you could
- # [09:13] <Hixie> still seems nice to be able to negotiate
- # [09:14] <Hixie> e.g. you might not want to reload the whole page, but still have the db update
- # [09:14] <Hixie> in which case you might want to talk to the upgrader to determine what needs to happen
- # [09:14] <boogs> Yeah, it's a neat idea.
- # [09:14] <Hixie> i guess we don't need the upgrader concept, just seemd like a useful thing to have if we were having the simple one-page case slurp anyway
- # [09:15] <Hixie> i mean, it's basically free at that point
- # [09:15] <Hixie> and seems easy enough to implement
- # [09:15] <boogs> What you mean because you already had to implement the hidden window thing?
- # [09:16] <Hixie> yeah assuming we still support the one-page case the way it's described, with no manifest, the upgrader in the manifest case seems to be a minor addition
- # [09:16] <Hixie> maybe i'm just trying to be too clever for my own good though
- # [09:17] <boogs> It's a nice touch to be able to communicate between the windows.
- # [09:17] <boogs> That solves one problem in gears because right now if window 1 upgrades the schema, window 2 doesn't know and can corrupt it by accessing it with old code.
- # [09:17] <Hixie> yeah
- # [09:18] <boogs> We had wanted to solve that by having versioned db connections
- # [09:18] <Hixie> i've added a note about an event to fire with the manifest is fetched (whether changed or not)
- # [09:18] <Hixie> to my notes
- # [09:18] <Hixie> fwiw
- # [09:18] <Hixie> the other issues was ensuring consistency during an update, right?
- # [09:18] <boogs> yes, it would be nice to check the manifest again after update.
- # [09:19] <boogs> i guess it's then on the developer to know that if they fetch things after load, that can make their app inconsistent.
- # [09:19] <boogs> and they should check that.
- # [09:19] <Hixie> yeah
- # [09:20] <Hixie> what's the alternative? just fail the later loads?
- # [09:20] <boogs> I suppose you could recheck the manifest before each later load :-/
- # [09:20] <boogs> and after :P
- # [09:20] <Hixie> heh
- # [09:21] <boogs> aight, i'm off. thanks for your time.
- # [09:21] <Hixie> later
- # [09:21] <othermaciej> boogs: if you are doing anything that would make the autoslurping unworkable...
- # [09:21] <Hixie> boogs: and thank _you_!
- # [09:21] <othermaciej> boogs: you can always use a manifest
- # [09:22] <othermaciej> it doesn't seem to hurt to also have it
- # [09:22] <boogs> othermaciej: yeah, i liked the slurping a lot from the first proposal because it seems great for new developers.
- # [09:22] <othermaciej> the question is just whether any real apps are simple enough to work that way
- # [09:23] <othermaciej> I guess it is nice for prototyping
- # [09:23] <boogs> we have a lot of disagreements on our team about whether it is more of a help or a hinderance.
- # [09:23] <boogs> and also the guys say that it seems implement for gears, so we might have to skip it either way.
- # [09:24] <othermaciej> pardon?
- # [09:24] <boogs> pardon which?
- # [09:24] <othermaciej> "and also the guys say that it seems implement for gears" ==> parse error
- # [09:24] <boogs> heh
- # [09:24] <boogs> seems hard to implement
- # [09:25] <othermaciej> ah
- # [09:25] <othermaciej> I have to get to bed
- # [09:25] <boogs> me too.
- # [09:25] <othermaciej> I'm gonna take the train to work tomorrow so I have quiet time to read the relevant proposals
- # [09:25] <othermaciej> nini
- # [09:25] <boogs> toodles.
- # [09:25] * othermaciej is now known as om_sleep
- # [09:26] * Quits: boogs (n=boogs@dsl081-073-212.sfo1.dsl.speakeasy.net)
- # [09:30] * Quits: karlUshi (n=karl@133.27.247.173) ("Where dwelt Ymir, or wherein did he find sustenance?")
- # [09:54] * Joins: yod (n=ot@softbank221018155222.bbtec.net)
- # [09:59] * Joins: virtuelv (n=virtuelv@pat-tdc.opera.com)
- # [10:33] * Quits: ozamosi (n=ozamosi@ubuntu/member/ozamosi) (Read error: 104 (Connection reset by peer))
- # [10:34] * Joins: ROBOd (n=robod@86.34.246.154)
- # [10:34] * Quits: marcosc (n=chatzill@131.181.148.226) (Read error: 104 (Connection reset by peer))
- # [10:34] * Joins: ozamosi (n=ozamosi@85.8.1.10.static.se.wasadata.net)
- # [10:37] * Joins: hendry (n=hendry@nox.vm.bytemark.co.uk)
- # [10:37] * Joins: zcorpan (n=zcorpan@pat.se.opera.com)
- # [10:50] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [10:54] * Quits: annevk (n=annevk@86.90.70.28) (Read error: 110 (Connection timed out))
- # [10:58] <hsivonen> Philip`_: re: th in layout tables: http://www.spiderrobinson.com/ looks like SEO. yay for trustworthy semantics
- # [10:59] <hsivonen> eww. http://blindconfidential.blogspot.com/ is hard to read visually due to all the <br>s
- # [11:02] <Lachy> comment 42 is interesting http://www.456bereastreet.com/archive/200709/can_the_alt_attribute_be_omitted_without_hurting_accessibility/#comment42
- # [11:03] <Lachy> though I'm not sure how a UA could treat img without alt any different from <img noalt> - I thought it was just a validation indicator
- # [11:04] <zcorpan> they might want to treat altless <img> the same as alt="" because of the many decorative images that don't have alt, perhaps?
- # [11:05] <Lachy> maybe, but there are also a lot of existing content images without alt as well and adding noalt now won't fix them all
- # [11:05] <hsivonen> suppose J. Random Hacker is a dev on a Web app team
- # [11:05] <zcorpan> Lachy: true
- # [11:06] <hsivonen> the app gets images from users and external database or whatever source outside the policy enforcement control of the app devs
- # [11:06] <hsivonen> marketing has just advertised the app as being standards compliant
- # [11:06] <hsivonen> the manager tells the devs to make sure the pages validate
- # [11:07] <hsivonen> now the devs are going to generate whatever the spec says is OK
- # [11:07] <hsivonen> if the spec says it is no alt attribute, they'll do that
- # [11:08] <hsivonen> if the spec says it is some alt attribute, they'll put some junk in there
- # [11:08] <hsivonen> if it says noalt, they'll just do that
- # [11:08] <hsivonen> in the end, noalt would just get autogenerated
- # [11:08] <hsivonen> so you couldn't use it for determining how essential an image is
- # [11:09] <hsivonen> just that the generator couldn't tease an alt out of the image source
- # [11:09] <hsivonen> now how is noalt better than no alt?
- # [11:09] <hsivonen> for UAs
- # [11:09] <Lachy> so it really depends which alternative can help make the best of a bad situation for the end user?
- # [11:09] * om_sleep is now known as othermaciej
- # [11:10] <hsivonen> Lachy: yes
- # [11:11] <hsivonen> actually s/generate whatever the spec says is OK/whatever passes the validator with the least effort/
- # [11:11] <othermaciej> I don't know if noalt would be useful to UAs
- # [11:11] <othermaciej> the way it would be helpful is for thoughtful content authors or web app developers who want to make sure that every image has alt text that possibly could
- # [11:11] <othermaciej> and who want to use a validator to ensure that
- # [11:12] <othermaciej> if omitting alt is not allowed, it can't be a validator error
- # [11:12] <othermaciej> it could be a validator warning
- # [11:12] <othermaciej> but if sometimes you meant to omit alt and other times it was just a mistake, in the same document, then the warning is not very helpful
- # [11:12] <othermaciej> because you can't get the warning count to 0 so it's hard to notice new ones creeping in
- # [11:12] <othermaciej> I don't know if that is enough justification for adding an attribute to the language
- # [11:13] <othermaciej> but it seems like it would be a real benefit
- # [11:13] <othermaciej> my mental analogy is to warnings from a C/C++ compiler
- # [11:13] <othermaciej> any warnings that can be practically avoided in all cases, we just turn on -Werror and they never happen
- # [11:13] <othermaciej> warnings that can't always be practically avoided we basically don't benefit from
- # [11:13] <othermaciej> to draw a more concrete analogy
- # [11:13] <othermaciej> gcc will warn on this:
- # [11:14] <othermaciej> if (x = someFunc()) { /.../ }
- # [11:14] <othermaciej> (because you probably meant ==)
- # [11:14] <othermaciej> but not on this:
- # [11:14] <othermaciej> if ((x = someFunc())) { /*...*/ }
- # [11:14] <othermaciej> because the extra parens are so unlikely to occur by accident that clearly you did it to say you really meant to do an assignment there
- # [11:15] * othermaciej hopes he is still connected
- # [11:15] <zcorpan> you are :)
- # [11:15] <othermaciej> zcorpan: ok I guess I just bored everyone then :-)
- # [11:15] <hsivonen> othermaciej: gcc warnings are for human programmers
- # [11:15] <hsivonen> othermaciej: not code generators
- # [11:16] <othermaciej> hsivonen: we build our generated source files with full warnings too, to catch bugs in the code generators
- # [11:16] <hsivonen> I compiled genx for python yesterday and got and awful lot of warnings but didn't care
- # [11:17] <othermaciej> well, warnings are for developers of the code, not consumers of the code
- # [11:17] <othermaciej> I don't care about warnings either when I am just compiling someone else's code
- # [11:20] <hsivonen> yeah. bad example
- # [11:21] <hsivonen> but too many warning lead to warning fatigue. my Eclipse workspace has 927 warnings
- # [11:21] <hsivonen> too many to bother to fix them all
- # [11:21] <hsivonen> and too harmless to really care
- # [11:22] <othermaciej> the WebKit build system treats warnings as errors so it makes me fix mine as I go
- # [11:22] <othermaciej> usually they're not indicative of real bugs, but sometimes they are, often enough to be worth the effort
- # [11:23] <othermaciej> (I would consider even one real bug fix for every 20 warnings worth it, when considering the cost of any other form of QA)
- # [11:24] <othermaciej> but I know of other projects that turn on lots of warning flags in the build system but never fix the warnings
- # [11:24] <othermaciej> sometimes they have a theory that they'll go back and fix them in batches at some later time
- # [11:24] <othermaciej> usually that later time does not arrive
- # [11:25] <othermaciej> I guess this is a matter of taste, and it's hard to pick one option that lets validators cater to anyone's tastes
- # [11:25] <othermaciej> I must admit, the terrible results of omitting alt in screen readers (well, JAWS at least) make me doubt the wisdom of omitting alt in public content, it seems like even the worst imaginable autogenerated alt is better
- # [11:26] <othermaciej> alt="" or alt="image here"
- # [11:27] <hsivonen> even if I had a zero-tolerance policy for my own code, importing someone else's code is a problem
- # [11:27] <hsivonen> a great number of warnings come from someone else's code that wasn't originally developed in Eclipse
- # [11:32] <othermaciej> a possible middle ground would be to make noalt allowed but not required when alt isn't specified
- # [11:32] <Lachy> it may actually end up being better for the wikipedia and flickr examples in the spec, which are marked up using figure/legend, to just use alt="", since figure already indicates that it's a content image
- # [11:32] <othermaciej> and validators could have an optional warning for when neither alt or noalt is specified
- # [11:33] <othermaciej> that makes its utility even more marginal though
- # [11:34] <othermaciej> perhaps the root of the problem is just that announcing the filename is a very bad heuristic
- # [11:34] <othermaciej> perhaps compounded by the fact that reading a long string of digits in a garbage filename with millions, billions and thousands instead of just as digits makes it even more annoying
- # [11:35] <Lachy> sure, but in some cases, there's nothing else available. Consider <a href="..."><img src=home.png></a>, it's really not that bad
- # [11:35] <othermaciej> D3124597.JPG wouldn't think "3 million" while reading it
- # [11:36] <Lachy> it just doesn't work for long numeric, auto-generated file names
- # [11:36] <othermaciej> it works well for the kind of filenames that are most likely to occur in cases where useful alt text is more likely to be available
- # [11:38] <othermaciej> I guess I'm assuming that hearing "dee three million one hundred twenty-four thousand five hundred ninety-seven dot jay pee gee" is way more irritating than seeing the filename
- # [11:38] <othermaciej> especially repeatedly hearing similar ones
- # [11:39] <othermaciej> but I could be wrong on that, since I've never tried to seriously use a screen reader
- # [11:46] <krijnh> Philip`_, zcorpan: added white-space: pre-wrap; :)
- # [11:48] <zcorpan> did it make a difference?
- # [11:48] <krijnh> In Opera, yes :)
- # [11:49] <zcorpan> ah, there
- # [11:49] <krijnh> Hmm, Kestrel has support for :target as well, nice
- # [12:11] * othermaciej is now known as om_sleep
- # [12:19] <hendry> is there some forms stuff for telephone numbers with whatwg?? I assumed there probably was
- # [12:23] * Parts: jruderman (n=jruderma@c-67-180-15-227.hsd1.ca.comcast.net)
- # [12:29] <Dashiva> I hope not, telephone number validation is a nightmare
- # [12:29] <Dashiva> (mostly for the users)
- # [12:31] <hendry> i'm tired of crap form validators by web authors
- # [12:31] * krijnh guilty!
- # [12:32] * Joins: dev0 (i=Tobias@unaffiliated/icefox0)
- # [12:35] <Dashiva> hendry: The only way to validate a phone number is not to validate it
- # [12:37] * Quits: dev0 (i=Tobias@unaffiliated/icefox0) (Read error: 104 (Connection reset by peer))
- # [12:37] * Joins: dev0_ (i=Tobias@unaffiliated/icefox0)
- # [12:42] <zcorpan> hendry: pattern=""?
- # [12:43] <krijnh> How can you style the default Opera error message?
- # [12:43] <zcorpan> not sure you can
- # [12:44] <zcorpan> but you can override it altogether
- # [12:52] <hendry> zcorpan: ok. i see web authors struggling to come up with a pattern for telephone numbers. oh well
- # [13:05] <virtuelv> oh, I never noticed that :target was in
- # [13:05] <virtuelv> means http://virtuelvis.com/gallery/css3/target/interface.html#contact now works in most browsers
- # [13:07] <krijnh> virtuelv: you work at Opera ;]
- # [13:08] <krijnh> How can you not know about :target
- # [13:08] <virtuelv> krijnh: yeah, but my day job isn't exactly centered around CSS
- # [13:08] <krijnh> Is there anything else?
- # [13:09] <krijnh> :+
- # [13:09] <virtuelv> :)
- # [13:09] * hsivonen smiles at “Sometimes I go so far as to use quotation marks rather than <q> or <blockquote>. I know, I'm completely out of control.”
- # [13:16] <Lachy> it's interesting how some people want to introduce semantics for just about everything, while others want to remove existing and useful semantics like blockquote
- # [13:32] <virtuelv> removing blockquote!?
- # [13:33] <zcorpan> yes, <div class="quote" cite="..."> makes more sense, apparently
- # [13:37] <zcorpan> hmm. wonder if there's a simple way to compare two elements' all properties except namespace prefixes
- # [13:38] <Lachy> zcorpan, using DOM APIs?
- # [13:38] <zcorpan> with javascript
- # [13:38] <zcorpan> yeah
- # [13:39] <zcorpan> for the purpose of testing getting innerHTML in XML
- # [13:39] <zcorpan> i'll build a particular dom tree, then serialize that with innerHTML, parse the resulting string and compare the result with the original tree
- # [13:40] <zcorpan> (for now i'll assume that cdata sections must be serialized as cdata sections)
- # [13:40] <Lachy> I think you'll have to write your own function
- # [13:40] <zcorpan> yeah
- # [13:43] <Lachy> why would you compare everything except namespace prefixes? aren't they preserved?
- # [13:45] <zcorpan> "User agents may adjust prefixes and namespace declarations in the serialisation (and indeed might be forced to do so in some cases to obtain namespace-well-formed XML)."
- # [13:45] <Lachy> ok
- # [13:46] <zcorpan> e.g., if you have an attribute in a namespace but no prefix, you have to come up with a prefix when serializing
- # [13:48] <Lachy> I don't understand how people are interpreting header and footer as being presentational?
- # [13:48] <Dashiva> Anything that's not a div or span is presentational
- # [13:49] <Lachy> headers and footers are common features in documents. It's what common word processing software calls them, it's what a significant portion of authors are calling them
- # [13:49] <Dashiva> Joke aside, I'd guess they consider having default placement as presentation
- # [13:50] <Dashiva> Cf. the footer { position: absolute; top: 0; } example on the list
- # [13:50] <Lachy> http://en.wikipedia.org/wiki/Page_header http://en.wikipedia.org/wiki/Page_footer
- # [13:52] <zcorpan> http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2007-April/010686.html
- # [13:52] <Lachy> yeah, but so what? Just because their names are somewhat derived from their presentation doesn't make them presentation
- # [13:53] <virtuelv> zcorpan: dropping blockquote sounds more than a little over-the-top
- # [13:53] <zcorpan> virtuelv: indeed
- # [13:55] <Dashiva> I've been expecting some interaction between the "semantics for semantics' sake" people and the "we don't need no stinkin' new elements" people, but so far there's been little
- # [13:58] <Lachy> the people that think "semantics for the sake of semantics" is a good idea, clearly don't understand what we mean by it
- # [13:58] <Lachy> they say it's a good idea, and then back it up with examples illustrating semantics that fulfill some use case (though the use case isn't always very strong)
- # [13:59] <Dashiva> Yeah, we still have a long way to go in establishing a shared vocabulary
- # [14:00] <Lachy> for those people reading IRC logs who don't understand it: semantics for the sake of semantics means the introducing semantics that have no use case at all. Basically a talisman for semanitc purists
- # [14:03] * zcorpan waves to log readers :)
- # [14:04] <Dashiva> The <sentence> suggestion made me think... <sentence><word role="pronoun">I</word><whitespace /></word>agree</word></sentence>
- # [14:04] <hsivonen> http://stevenclark.com.au/2007/09/08/the-solution-is-a-html-5-apathetic-doctype
- # [14:05] <zcorpan> http://youtube.com/watch?v=dPHtKarae2Q -- log!
- # [14:06] <Dashiva> Makes me wonder why anyone would rather read logs on irc than within the comfort of their own irc client
- # [14:06] <Dashiva> *on the web
- # [14:09] <Lachy> some people may find the temptation to chat all day too distracting to do any work
- # [14:13] <Lachy> krijnh, a cool feature for the irc logs would be to list the 20 or so most recent URIs posted in a nice convenient list, so that it's easier to find the interesting ones again later
- # [14:13] * Joins: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com)
- # [14:21] <krijnh> Lachy: good idea
- # [14:21] <krijnh> Lachy: where? :)
- # [14:22] <krijnh> And only the last x URIs or an archive?
- # [14:22] <krijnh> Can also make a checkbox at the top of the log; "only show lines with URIs"
- # [14:22] <Lachy> make it a monthly archive
- # [14:23] <takkaria> #
- # [14:23] <Lachy> should you do it per channel, or combine them all?
- # [14:24] <krijnh> What I should do, is work right now :)
- # [14:24] <Lachy> probably better to combine them and then include the channel name and a link to the comment it came from
- # [14:24] <Lachy> what? this is work!
- # [14:24] <Lachy> :-)
- # [14:24] <krijnh> Hehe :)
- # [14:25] <Lachy> no worries, there's no rush. let me know when it's done
- # [14:25] <krijnh> I think you'll notice when it's done :)
- # [14:25] <Lachy> maybe, but I don't check the logs every day
- # [14:25] <krijnh> What?!
- # [14:26] <Lachy> sorry, I cheat on your logs by reading them from my own client sometimes :-(
- # [14:27] <krijnh> Well thanks for ruining my dreams..
- # [14:27] <krijnh> Go ahead and remove alt as well ;]
- # [14:30] <Lachy> hey, is there any progress on mirroring the logs on w3.org?
- # [14:30] <krijnh> Yeah
- # [14:31] <krijnh> "So for now :) I think we can continue like this."
- # [14:31] <krijnh> That's progress :)
- # [14:31] <Lachy> ok, so the idea has been dropped?
- # [14:32] <krijnh> Yeah
- # [14:32] <Lachy> ok
- # [14:32] <krijnh> Told Karl I wasn't planning to take down my domain/server
- # [14:32] <krijnh> And if I did, I would hand over all logs and stuff to them
- # [14:33] <krijnh> And would make sure I'd redirect everything properly
- # [14:33] <Lachy> ok
- # [14:42] <hsivonen> krijnh: RFE for the IRC logs: it would be useful to have classes for people who say stuff on IRC and for people to whon stuff is being said
- # [14:42] <krijnh> Come again?
- # [14:42] <hsivonen> like the above would have class='auth-hsivonen re-krijnh' or somethig
- # [14:42] <krijnh> Ah
- # [14:42] <krijnh> That'd be cool
- # [14:43] <krijnh> Combined with user stylesheets you mean?
- # [14:43] <hsivonen> krijnh: yes
- # [14:45] <zcorpan> custom attributes! _author="hsivonen" _re="krijn"
- # [14:46] <krijnh> If anybody can hand me the regex stuff for that :)
- # [14:46] <krijnh> PHP, $line is the entire line
- # [14:47] <krijnh> <?php foreach ($lines as $number => $line) { ?>
- # [14:47] <krijnh> <li id="l-<?php echo $number + 1; ?>"<?php if (in_array($number + 1, $flaggedLines)) { echo ' class="flagged"'; } ?>><a href="#l-<?php echo $number + 1; ?>">#</a> <?php echo rtrim($line); ?> <span> </span></li>
- # [14:47] <krijnh> <?php } ?>
- # [14:47] <krijnh> That's what I'm currently using :)
- # [14:47] <zcorpan> hold on
- # [14:48] <krijnh> ($line is htmlspecialchar()'ed btw)
- # [14:50] <zcorpan> it would be simpler to fetch the relevant bits before htmlspecialchar() :)
- # [14:50] <krijnh> Yeah :)
- # [14:50] <zcorpan> is that possible=
- # [14:50] <zcorpan> ?
- # [14:50] <krijnh> Now I just read in the entire file
- # [14:50] <krijnh> And htmlspecialchar() that
- # [14:51] <krijnh> But it's PHP, so totally flexible ;]
- # [14:51] <zcorpan> can't you htmlspecialchar() at the end, after splitting lines?
- # [14:51] <krijnh> Sure
- # [14:51] <zcorpan> ok
- # [14:52] <krijnh> You want the entire code?
- # [14:52] <zcorpan> no
- # [14:52] <krijnh> oki
- # [14:52] <krijnh> Ow wait
- # [14:52] <krijnh> I htmlspecialchars() before adding <a> :)
- # [14:52] <krijnh> That's why
- # [15:04] * Joins: markp (n=markp@adsl-221-31-154.rmo.bellsouth.net)
- # [15:05] * krijnh is waiting like http://youtube.com/watch?v=TTwgNhX4BSo ;p
- # [15:09] <krijnh> Lachy did a better job presenting himself on Youtube
- # [15:11] <zcorpan> sorry, got distracted :)
- # [15:11] <krijnh> Np :)
- # [15:12] <krijnh> It's not like you get payed to work on HTML5
- # [15:12] <krijnh> Ow, wait ;)
- # [15:14] * Joins: aaron (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com)
- # [15:14] <zcorpan> ereg('/<([^>]+)> ([^ ]+(?:\:|,))?/', $line, $regs);
- # [15:14] <zcorpan> $author = $regs[1];
- # [15:15] <zcorpan> $re = $regs[2];
- # [15:15] <zcorpan> not tested
- # [15:15] * Lachy wonders if that german kid was a set up? Why would someone film themselves freaking out and then post it on youtube?
- # [15:20] <Lachy> you'd have to process the $author and $re to handle special characters that can't be used in class="" (if any) and you might want to treat names ending with underscores as equivalent to those without
- # [15:21] <gsnedders> zcorpan: ereg is being removed by default from PHP6
- # [15:21] <zcorpan> gsnedders: ok. what is to be used instead?
- # [15:21] <gsnedders> zcorpan: pcre
- # [15:21] <gsnedders> zcorpan: which is installed by default since PHP 4.1, IIRC
- # [15:22] <Lachy> what's the difference between the pcre and ereg?
- # [15:22] <gsnedders> typical PHP attitude to backwards compat
- # [15:22] <gsnedders> Lachy: ereg is POSIX regex, PCRE is perl-compat
- # [15:23] <Lachy> yeah, I knew that much, but do they use differnet reg ex syntax?
- # [15:23] <zcorpan> ereg is presentational, pcre is semantic
- # [15:23] * zcorpan hides
- # [15:24] * zcorpan would be surprised if his suggested regex would actually work, he usually gets something wrong
- # [15:24] <krijnh> :)
- # [15:25] <gsnedders> zcorpan: what are we trying to do?
- # [15:25] * Quits: aaronlev (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com) (Read error: 110 (Connection timed out))
- # [15:25] <zcorpan> extract author and re
- # [15:25] <zcorpan> from $line
- # [15:25] <krijnh> gsnedders: extracting hsivonen and krijnh from '[14:43] <hsivonen> krijnh: yes'
- # [15:25] <Lachy> gsnedders, see the last messages from hsivonen
- # [15:25] <gsnedders> Lachy: POSIX allows things like [[:digit:]], whereas in PCRE you'd need to use [0-9]
- # [15:27] <zcorpan> krijnh: the regexp (if it works at all) will only work with "[14:43] <hsivonen> krijnh: yes"
- # [15:27] <krijnh> zcorpan: Yeah, I know
- # [15:29] <krijnh> Will fix it tomorrow
- # [15:29] <krijnh> Real work now :)
- # [15:30] <gsnedders> preg_match('/<([^)]*)> (\S*)[:,]/', $line, $match);
- # [15:30] <gsnedders> $author = $match[1];
- # [15:30] <gsnedders> $to = $match[2];
- # [15:30] <gsnedders> preg_match('/<([^>]*)> (\S*)[:,]/', $line, $match); even
- # [15:31] <krijnh> (and now with < and > ;> )
- # [15:31] <gsnedders> well, just replace them verbatim
- # [15:33] <gsnedders> bbl
- # [15:33] * Quits: gsnedders (n=gsnedder@host86-139-120-102.range86-139.btcentralplus.com) ("Don't touch /dev/null…")
- # [15:38] * Quits: dev0_ (i=Tobias@unaffiliated/icefox0) (Read error: 104 (Connection reset by peer))
- # [15:38] * Joins: dev0 (i=Tobias@dslb-088-076-249-134.pools.arcor-ip.net)
- # [15:39] * Philip`_ is now known as Philip`
- # [15:40] <zcorpan> that looks better than mine :)
- # [15:40] <krijnh> Only matches lines with both in it though :)
- # [15:40] <krijnh> Splitting them works
- # [15:40] * Joins: Ducki (n=Ducki@nrdh-d9b980cb.pool.mediaWays.net)
- # [15:44] <zcorpan> /<([^>]*)> (?:(\S*)[:,])?/
- # [15:44] <zcorpan> should work
- # [15:45] <krijnh> <li id="l-598" _a="zcorpan"><a href="#l-598">#</a> [15:44] <zcorpan> should work <span> </span></li>
- # [15:45] <krijnh> \o/
- # [15:45] <zcorpan> perhaps \S+ instead of \S* also
- # [15:45] <krijnh> Including the tbe bugs :]
- # [15:46] <krijnh> <li id="l-597" _a="zcorpan> /<([^>]*)"><a href="#l-597">#</a> [15:44] <zcorpan> /<([^>]*)> (?:(\S*)[:,])?/ <span> </span></li>
- # [15:46] <krijnh> Bah
- # [15:46] <krijnh> preg_match('/<(.*)>/U', $line, $match);
- # [15:46] <krijnh> (Ungreedy stuff)
- # [15:48] <zcorpan> yeah, you need [^>] to make it not leak outside the <...>
- # [15:48] <krijnh> Now in your user stylesheet put something like ol#lines li[_a='me'] { color: #aaa; font-size: 60%; }
- # [15:49] <zcorpan> which is why it needs to be done before htmlspecialchars :)
- # [15:49] * Lachy is now known as Lac
- # [15:49] <krijnh> It's okay now, right?
- # [15:49] * Lac is now known as Lachy
- # [15:50] <zcorpan> afaict
- # [15:50] * Joins: tndH_ (i=Rob@adsl-87-102-114-117.karoo.KCOM.COM)
- # [15:50] * tndH_ is now known as tndH
- # [15:50] <krijnh> Or if you really like yourself: ol#lines li[_a='me'] { font-weight: bold; font-size: 120%; }
- # [15:51] <krijnh> Of course :)
- # [15:52] <Lachy> krijnh, you could make it easier for us and allow us to log in with our usernames, which then sets a cookie that you can use to generate the appropriate CSS
- # [15:52] <krijnh> Sure, sure
- # [15:52] <krijnh> ;p
- # [15:52] <krijnh> *sigh*
- # [15:53] <Lachy> where logging in only requres a name, not a password or anything complicated
- # [15:53] <krijnh> Yep
- # [15:53] <krijnh> A list of names prolly
- # [15:53] <zcorpan> doesn't the "to" work?
- # [15:53] <krijnh> Not yet
- # [15:53] <krijnh> But thanks for trying! :p
- # [15:54] <zcorpan> :)
- # [15:59] <Lachy> krijnh, replace /:-?[\)\(]/ with emoticon graphics
- # [16:00] <Philip`> <li id="l-442" _a="q"><a href="#l-442">#</a> [13:09] * hsivonen smiles at ?Sometimes I go so far as to use quotation marks rather than <q> or <blockquote>. I know, I'm completely out of control.? <span> </span></li>
- # [16:00] <Philip`> ^ that _a="q" shouldn't be there
- # [16:00] <krijnh> Lachy: Hush! ;p
- # [16:00] <krijnh> Any ideas for styling your own lines?
- # [16:00] <krijnh> Philip`: good point
- # [16:01] * Joins: Ducki_ (i=Ducki@nrdh-d9b980d4.pool.mediaWays.net)
- # [16:01] <Philip`> What happens if I write <"style="text-decoration:blink> ?
- # [16:01] <Lachy> krijnh, how about checking it into google code so we can all contribute to it instead of making you do all the work?
- # [16:01] <krijnh> If a line starts with * foobar _a should be foobar
- # [16:01] <Philip`> Uh
- # [16:01] * Philip` tries <"style="text-decoration:blink> again
- # [16:01] * Joins: aaron_ (n=chatzill@c-66-31-86-217.hsd1.ma.comcast.net)
- # [16:01] * aaron_ is now known as aaronlev
- # [16:01] <Philip`> Bah, you escape it :-(
- # [16:02] * Quits: aaron (n=chatzill@209-6-168-245.c3-0.arl-ubr2.sbo-arl.ma.cable.rcn.com) (Read error: 110 (Connection timed out))
- # [16:02] <zcorpan> /^.{8}<([^>]*)> (?:(\S+)[:,])?/
- # [16:03] <krijnh> :D
- # [16:03] <krijnh> http://krijnhoetmer.nl/irc-logs/
- # [16:03] <krijnh> Everybody
- # [16:03] <krijnh> Insert your nicks!
- # [16:03] <krijnh> ;]
- # [16:03] <krijnh> (comma separated doesn't work yet btw)
- # [16:04] <zcorpan> lol
- # [16:04] <krijnh> :>
- # [16:05] <krijnh> Eat that for rapid development, RoR ;p
- # [16:05] <krijnh> Anyway, styling for your own lines?
- # [16:05] <zcorpan> font-weight:bold ?
- # [16:05] <Lachy> yeah, bold would be better than a colour
- # [16:06] <krijnh> Refresh
- # [16:06] <krijnh> Horrible ;\
- # [16:06] <Philip`> krijnh: What if I have a different name on each channel? :-)
- # [16:06] <krijnh> Philip`: comma separated list
- # [16:06] <Lachy> oh, I didn't realise you put blink in there (I have it disabled, so I didn't notice)
- # [16:06] <krijnh> Philip`: but not yet :) don't want to spoil it this quick
- # [16:07] <zcorpan> krijnh: can you have font-family:monospace so i can get my preferred monospace font? :)
- # [16:07] <krijnh> Done
- # [16:07] <zcorpan> thanks
- # [16:08] <krijnh> I don't like the boldish stuff
- # [16:08] <Lachy> hmm. bold doesn't work too well with monospace fonts
- # [16:08] <krijnh> Nope
- # [16:09] <zcorpan> works good with the font i use :)
- # [16:09] <krijnh> I guess it's a personal preference
- # [16:09] <krijnh> My lines don't make sense
- # [16:09] <krijnh> So I like them whiped out
- # [16:09] <krijnh> :p
- # [16:09] <Lachy> background: lime; isn't too bad
- # [16:10] <krijnh> If you like Spice Girls it isn't
- # [16:10] <krijnh> (or testcases)
- # [16:10] <zcorpan> a left thick border?
- # [16:11] <Lachy> background: deepskyblue; ?
- # [16:11] * krijnh evil
- # [16:11] <zcorpan> mediumspringgreen
- # [16:12] <Lachy> oh, nice
- # [16:12] <krijnh> Anybody else want their own colors? :P
- # [16:12] <Lachy> add a colour selector
- # [16:12] <krijnh> I should integrate this with myspace
- # [16:12] <Lachy> let us pick our own!
- # [16:13] * zcorpan needs to do actual work now
- # [16:13] <krijnh> Same here
- # [16:13] * Parts: zcorpan (n=zcorpan@pat.se.opera.com)
- # [16:13] <krijnh> Done playing for today :)
- # [16:15] <krijnh> Philip`: remind me of the bugs if I forget to do anything about them ;]
- # [16:15] <virtuelv> hm. does khtml support "opacity" now, or is it just -khtml-opacity?
- # [16:15] <virtuelv> (and webkit?)
- # [16:17] <Philip`> krijnh: Don't expect me to ever remember anything :-p
- # [16:18] <krijnh> :)
- # [16:18] <Philip`> Or, rather, expect me to remember things, but don't expect any specific thing to be remembered by me, since it's pretty much random whether I remember or forget a particular thing
- # [16:18] * Quits: Ducki (n=Ducki@nrdh-d9b980cb.pool.mediaWays.net) (Read error: 113 (No route to host))
- # [16:21] * Joins: gsnedders (n=gsnedder@host86-139-120-102.range86-139.btcentralplus.com)
- # [16:38] <hsivonen> krijnh: thank you.
- # [16:43] <krijnh> hsivonen: np
- # [16:45] * Joins: hasather (n=hasather@90-227-221-48-no62.tbcn.telia.com)
- # [16:51] * Quits: yod (n=ot@softbank221018155222.bbtec.net) ("Leaving")
- # [16:51] * Quits: gsnedders (n=gsnedder@host86-139-120-102.range86-139.btcentralplus.com)
- # [16:53] * Joins: aroben (n=adamrobe@unaffiliated/aroben)
- # [16:57] * Quits: kfish (n=conrad@61.194.21.25) ("TMR8: http://www.haskell.org/sitewiki/images/d/dd/TMR-Issue8.pdf")
- # [17:01] * Quits: weinig (n=weinig@c-67-188-122-206.hsd1.ca.comcast.net) (Remote closed the connection)
- # [17:02] * Joins: weinig (n=weinig@c-67-188-122-206.hsd1.ca.comcast.net)
- # [17:04] * Joins: zcorpan (n=zcorpan@pat.se.opera.com)
- # [17:04] <zcorpan> yay!
- # [17:04] <zcorpan> i think my function compareNodes actually works
- # [17:04] <zcorpan> on first try (after fixing trivial syntax mistakes)
- # [17:09] <zcorpan> http://simon.html5.org/test/html/serializing/support/test.xht
- # [17:09] <zcorpan> the demo doesn't work in opera though since we don't support getElementsByTagNameNS :(
- # [17:12] * Joins: gsnedders (n=gsnedder@host86-139-120-102.range86-139.btcentralplus.com)
- # [17:12] <zcorpan> oh wait
- # [17:12] <zcorpan> we do... i just uploaded the wrong file
- # [17:19] <Lachy> zcorpan, it's not clear what this output actually means: [object Text],[object Text],the text nodes' data
- # [17:21] <zcorpan> indeed
- # [17:22] <zcorpan> it returns the nodes that were different and a text that explains what was different
- # [17:22] <zcorpan> if nothing was different it returns the nodes and an empty string
- # [17:23] <Lachy> ok
- # [17:23] <zcorpan> that demo isn't very useful except for me to see that it works :)
- # [17:40] <zcorpan> hmm, didn't get it quite right with namespaced attributes
- # [18:01] * Joins: Ducki (n=Ducki@nrdh-d9b980da.pool.mediaWays.net)
- # [18:11] * Quits: KevinMarks (n=KevinMar@c-76-102-254-252.hsd1.ca.comcast.net) ("The computer fell asleep")
- # [18:16] * Quits: weinig (n=weinig@c-67-188-122-206.hsd1.ca.comcast.net)
- # [18:19] * Quits: Ducki_ (i=Ducki@nrdh-d9b980d4.pool.mediaWays.net) (Connection timed out)
- # [18:19] * Joins: hober (n=ted@unaffiliated/hober)
- # [18:26] * Quits: aroben (n=adamrobe@unaffiliated/aroben) (Remote closed the connection)
- # [18:27] * Joins: aroben (n=adamrobe@c-67-160-250-192.hsd1.ca.comcast.net)
- # [18:38] * Quits: aroben (n=adamrobe@unaffiliated/aroben)
- # [18:39] * Joins: tantek (n=tantek@77-99-141-250.cable.ubr03.hari.blueyonder.co.uk)
- # [18:42] * Quits: psa (n=yomode@posom.com) (Remote closed the connection)
- # [18:44] * Joins: KevinMarks (n=KevinMar@c-71-202-19-232.hsd1.ca.comcast.net)
- # [18:44] * Joins: weinig (i=weinig@nat/apple/x-d510a796d39a0b37)
- # [18:47] * Joins: maikmerten (n=maikmert@T7879.t.pppool.de)
- # [18:52] * Joins: maikmerten_ (n=maikmert@L9027.l.pppool.de)
- # [18:52] * Joins: psa (n=yomode@posom.com)
- # [18:56] * Quits: KevinMarks (n=KevinMar@c-71-202-19-232.hsd1.ca.comcast.net) ("The computer fell asleep")
- # [19:09] * Quits: maikmerten (n=maikmert@T7879.t.pppool.de) (Read error: 113 (No route to host))
- # [19:12] * Joins: aroben (n=adamrobe@17.203.15.154)
- # [19:31] <Philip`> http://canvex.lazyilluminati.com/misc/shadow/shadowdemo.png / http://canvex.lazyilluminati.com/misc/shadow/shadowdemo.html - did I forget any interesting cases to test?
- # [19:36] * Joins: tndH_ (i=Rob@87.102.14.215)
- # [19:41] * Joins: jruderman (n=jruderma@c-67-180-15-227.hsd1.ca.comcast.net)
- # [19:45] * Joins: kingryan (n=kingryan@corp.technorati.com)
- # [19:47] <zcorpan> http://simon.html5.org/test/html/serializing/002.xht
- # [19:47] <zcorpan> phew!
- # [19:48] <zcorpan> i really had to jump through hoops to test getting innerHTML (in both html and xml)
- # [19:50] <zcorpan> i had to come up with a custom format to express dom trees: http://simon.html5.org/specs/sdf
- # [19:50] <zcorpan> write a parser for that format in javascript
- # [19:51] * Quits: Ducki (n=Ducki@nrdh-d9b980da.pool.mediaWays.net) (Connection timed out)
- # [19:52] <zcorpan> then write the actual tests in that format, and the expected html string (or exception) and expected exception for xml (if any)
- # [19:53] <zcorpan> for html, i parse the custom format and build a tree, then serialize it using innerHTML and compare the string with the expected html (or check if an exception was raised)
- # [19:54] * Quits: tndH (i=Rob@adsl-87-102-114-117.karoo.KCOM.COM) (Read error: 110 (Connection timed out))
- # [19:54] <zcorpan> for xml, i parse the custom format and build a tree, then serialize it using innerHTML, then parse that with an XML parser, then compare the result with the original tree using a function that compares all characteristics of each node *except* namespace declarations and namespace prefixes
- # [19:55] * Joins: Ducki (n=Ducki@Nb4e6.n.pppool.de)
- # [19:56] <Philip`> zcorpan: http://simon.html5.org/specs/sdf - "It has tree strings ..."
- # [19:57] <Philip`> and "respecively"
- # [19:58] * Joins: virtuelv_ (n=virtuelv@58.80-202-82.nextgentel.com)
- # [19:58] <Philip`> "U+00A0 LINE FEED"
- # [19:59] <zcorpan> fixed, thanks
- # [20:00] * Joins: KevinMarks (i=KevinMar@nat/google/x-921c6550b14ce620)
- # [20:02] * Dashiva wonders why anyone would consider [[:digit:]] an improvement over [0-9]
- # [20:03] <Hixie> in case the range changes
- # [20:04] <Hixie> like "PI" is better than 3.14..., in case the value of PI changes
- # [20:04] <Hixie> :-P
- # [20:05] <Philip`> You might want to include all Unicode digits, and the [...] syntax isn't incredibly great for that
- # [20:05] * Joins: Ducki_ (n=Ducki@nrdh-d9b980c1.pool.mediaWays.net)
- # [20:07] <Hixie> :digit: doesn't include Ud, does it?
- # [20:07] <Hixie> i thought it was only 0-9
- # [20:08] * Quits: Ducki (n=Ducki@Nb4e6.n.pppool.de) (Read error: 104 (Connection reset by peer))
- # [20:10] <Hixie> er, Nd, i guess
- # [20:10] <Philip`> perl -e'for (qr/[0-9]/, qr/[[:digit:]]/, qr/\d/) { print "\x{0b66}" =~ $_ ? 1 : 0 }'
- # [20:10] <Philip`> says 011
- # [20:10] <Philip`> since U+0B66 is category Nd
- # [20:11] <Hixie> ah
- # [20:11] <Hixie> then that answers Dashiva's question
- # [20:11] <Hixie> they're not the same :-)
- # [20:11] <Dashiva> But if you're matching more than 0-9 you'd obviously use \d
- # [20:12] <Philip`> What if you want to match e.g. digits or commas?
- # [20:12] <Dashiva> [\d,]
- # [20:12] <Philip`> Hmm...
- # [20:13] <Philip`> What if you want to match e.g. digits or whitespace?
- # [20:13] <Philip`> given that \s is not equivalent to [:space:]
- # [20:13] <Philip`> Actually, ignore the digits bit
- # [20:13] <Philip`> Actually, ignore all of that
- # [20:14] <Philip`> since you could use [\s\ck] instead of [[:space:]] which isn't that bad
- # [20:15] <Philip`> and it's irrelevant for the case of [:digit:] vs \d
- # [20:16] * Joins: briansuda (n=briansud@85-220-21-145.dsl.dynamic.simnet.is)
- # [20:16] <Philip`> But [:digit:] wins because it has theoretical purity, being consistent with the other Unicode category matchers
- # [20:20] <Dashiva> Semantics for semantics' sake, eh? :P
- # [20:24] * Quits: tantek (n=tantek@77-99-141-250.cable.ubr03.hari.blueyonder.co.uk)
- # [20:29] <tndH_> fwiw, with a recent php/pcre you can do stuff like /\p{Nd}/u
- # [20:29] * tndH_ is now known as tndH
- # [20:33] <Philip`> Looks like Perl does that too, but without the /u
- # [20:33] <Hixie> i just realised that this e-mail: http://html4all.org/pipermail/list_html4all.org/2007-August/000054.html
- # [20:33] <Hixie> was sent the very day before i banned him from the whatwg list for 2 weeks for being unreasonable.
- # [20:36] <Dashiva> So while we joke about cabals and conspiracies, they go and form one?
- # [20:36] <Hixie> yeah, isn't it awesome?
- # [20:38] * Quits: jruderman (n=jruderma@c-67-180-15-227.hsd1.ca.comcast.net)
- # [20:39] <Dashiva> I dunno, how come they aren't getting formal complaints against them? :)
- # [20:39] <Philip`> I still don't see why they form a secret cabal with a public mailing list
- # [20:49] * Quits: zcorpan (n=zcorpan@pat.se.opera.com) (Read error: 110 (Connection timed out))
- # [20:52] <kingryan> Philip`: for the same reason we formed a secret cabal w/ a public IRC channel
- # [21:11] * Joins: jruderman (n=jruderma@corp-241.mountainview.mozilla.com)
- # [21:28] * Quits: maikmerten_ (n=maikmert@L9027.l.pppool.de) (Remote closed the connection)
- # [21:31] * Joins: zcorpan (n=zcorpan@c-d391e355.022-154-6c6b7013.cust.bredbandsbolaget.se)
- # [21:56] * Quits: briansuda (n=briansud@85-220-21-145.dsl.dynamic.simnet.is) (Read error: 110 (Connection timed out))
- # [22:03] * Quits: Ducki_ (n=Ducki@nrdh-d9b980c1.pool.mediaWays.net) ("Weq")
- # [22:04] * Joins: weinig_ (i=weinig@nat/apple/x-5885a9777b7deb6d)
- # [22:04] * Quits: weinig (i=weinig@nat/apple/x-d510a796d39a0b37) (Read error: 104 (Connection reset by peer))
- # [22:13] * om_sleep is now known as othermaciej
- # [22:25] * Quits: ROBOd (n=robod@86.34.246.154) ("http://www.robodesign.ro")
- # [22:46] <zcorpan> interesting.
- # [22:46] <zcorpan> in opera, setting innerHTML in xml does not raise an exception if the string was malformed
- # [22:47] <zcorpan> but with DOMParser() it does
- # [22:47] <zcorpan> safari is the exact opposite
- # [22:47] <zcorpan> DOMParser() silently passes (it seems to use some sort of liberal xml parser, actually) while innerHTML throws
- # [22:50] <othermaciej> DOMParser uses libxml
- # [22:50] <othermaciej> however, it might give you an XML error document (parsed up to the first error) instead of failing
- # [22:51] <zcorpan> aha
- # [22:51] <zcorpan> does it have any characteristics i can look for?
- # [22:54] <zcorpan> a <parseerror> element somewhere
- # [22:55] <zcorpan> as the first child of the root element even
- # [22:55] <zcorpan> ok
- # [22:56] <Hixie> kingryan: #whatwg is hardly secret :-)
- # [23:02] <gsnedders> Hixie: shhhhh
- # [23:02] <gsnedders> Hixie: don't tell anyone!
- # [23:13] * Quits: virtuelv_ (n=virtuelv@58.80-202-82.nextgentel.com) ("Leaving")
- # [23:22] <zcorpan> er, make that <parsererror>
- # [23:24] * Quits: dev0 (i=Tobias@unaffiliated/icefox0) (Read error: 104 (Connection reset by peer))
- # [23:24] * Quits: othermaciej (n=mjs@dsl081-048-145.sfo1.dsl.speakeasy.net)
- # [23:27] * Quits: weinig_ (i=weinig@nat/apple/x-5885a9777b7deb6d) (Read error: 104 (Connection reset by peer))
- # [23:27] * Joins: weinig (i=weinig@nat/apple/x-f682129261e2b753)
- # [23:28] * Quits: aaronlev (n=chatzill@c-66-31-86-217.hsd1.ma.comcast.net) (Read error: 110 (Connection timed out))
- # [23:35] * Quits: weinig (i=weinig@nat/apple/x-f682129261e2b753) (Read error: 104 (Connection reset by peer))
- # [23:35] * Joins: weinig_ (i=weinig@nat/apple/x-d56d6b7deda26ed8)
- # [23:35] * Quits: YaaL (n=yaal@hell.pl) (Read error: 110 (Connection timed out))
- # [23:37] <zcorpan> so in webkit, the error page can either have a root element "parsererror", or the root element's first child is a "parser error", or the root element's first child's first child is a "parser error"
- # [23:37] <zcorpan> s/parser error/parsererror/
- # [23:38] * Joins: csarven (n=nevrasc@modemcable130.251-202-24.mc.videotron.ca)
- # [23:38] * zcorpan would really prefer an exception instead
- # [23:38] <zcorpan> when dealing with DOMParser()
- # [23:41] <zcorpan> re done event, isn't it possible to do onload = onerror = onabort = function() { ... } ?
- # [23:42] <zcorpan> (which is still less nice than ondone = function() { ... } i guess)
- # [23:45] * Joins: YaaL (i=yaal@hell.pl)
- # [23:52] <zcorpan> Hixie: when serializing innerHTML in xml, and the element is in no namespace, does xmlns="" need to be specified?
- # [23:53] <zcorpan> e.g., take this document: <h:p xmlns:h='http://www.w3.org/1999/xhtml'><x/></h:p>
- # [23:53] <zcorpan> what is the P's innerHTML?
- # [23:53] * Quits: KevinMarks (i=KevinMar@nat/google/x-921c6550b14ce620) ("The computer fell asleep")
- # [23:53] <zcorpan> is <x/> ok, or does it need to be <x xmlns=""/>
- # [23:56] <zcorpan> since setting innerHTML will imply a default namespace, i think the latter
- # [23:57] * Joins: annevk (n=annevk@c5144430c.cable.wanadoo.nl)
- # [23:58] * zcorpan thinks the spec needs to be specific about the namespace declarations and prefixes
- # Session Close: Tue Sep 11 00:00:00 2007
The end :)