User:Zero Linden/Office Hours/2008 Mar 13

From Second Life Wiki
Jump to navigation Jump to search
  • [8:41] Zero Linden: hello all
  • [8:41] Zha Ewry: Morning zero
  • [8:41] JayR Cela: hi Zero
  • [8:41] Morgaine Dinova: 'Morning Zero
  • [8:41] Pavig Lok: hello zero
  • [8:41] Siann Beck: Hello Zero
  • [8:42] Saijanai Kuhn: Good morning Teacher
  • [8:42] Zero Linden: I see the presence of an actual spec (such as it is) scared off half the normal crowd!
  • [8:42] Saijanai Kuhn: I forgot to spam. Hold on
  • [8:42] Tao Takashi: Hi!
  • [8:42] Siann Beck: Aloha Tao
  • [8:42] Tao Takashi: This DST is driving me crazy, I am missing everything ;-)
  • [8:43] Zero Linden: Ditto here -
  • [8:43] Rex Cronon: hello everybody
  • [8:43] Zero Linden: this morning in my house was a zoo once we realized what time it was and got out of bed
  • [8:43] JayR Cela: hi Rex
  • [8:43] Pavig Lok: heh
  • [8:43] Morgaine Dinova: Zero: there seems to be high variability of attendance as normal, odd.
  • [8:43] Zha Ewry: Not that odd
  • [8:43] Zero Linden: Thanks for all the notices, Saijanai
  • [8:44] Zha Ewry: RL makes it hard for a lot of people to keep in sync
  • [8:44] Morgaine Dinova: Having a spec is great though! Although I do have worries.
  • [8:44] Siann Beck: A spec for what?
  • [8:44] Rex Cronon: i have unbelivable lag:(
  • [8:45] Zero Linden: Siann, thanks for reminding me.....
  • [8:45] Zero Linden: Welcome all to my office hours -- here to discuss the technical architecture of Second Life, past present and future
  • [8:45] Zero Linden: Today we'll be focusing on the first draft of the first bit of the "Second Life Grid - Open Grid Protocol" spec I put out on Tuesday
  • [8:46] Morgaine Dinova: Zero: my first meta-worry: The spec page is controlled by LL, AWG members can't write to it. Yet we are not designingSL we are designing protocols for future interop of many parties, not just LL. Why does LL have exclusive write access to that page?
  • [8:46] Zero Linden: [1]
  • [8:46] Siann Beck: Ah.
  • [8:46] JayR Cela: ok / present / the Dazzle client is working very well for me
  • [8:46] Kopilo Hallard: greetings :)
  • [8:46] Zero Linden: These office hours are recorded and the transcripts put in the wiki --- speak freely, speak openly
  • [8:46] JayR Cela: the RC is not too good
  • [8:46] Tao Takashi: Morgaine: I think the idea is to keep it locked for now so we talk about the same version
  • [8:46] Tao Takashi: then the discussion items can be incorporated at some point
  • [8:47] Zero Linden: Morgaine - In my experience writing standards, all of which, like this one, have been the product of committees,
  • [8:47] Zero Linden: it has always been crucial that there be one editor of the text and that the drafts are unambiguously published and can be referred to
  • [8:47] Saijanai Kuhn: Morgaine, I've been working with Rob and Tess to change some stuff on the page having to do with legacy login. Its mutable, even if its not open directly
  • [8:48] Zero Linden: Most standard organizations, such as the W3C and the IETF have extensive formal procedures around the management of drafts
  • [8:48] Saijanai Kuhn: One of the realXtend guys really wants to be here. Has a lot of stuff to talk about. O well
  • [8:48] Zero Linden: It is true, in this case I appointed myself draft editor
  • [8:48] Morgaine Dinova: Zero: if that one editor doesn't incorporate only one party's requirements, but requirements from many parties, then I'd agree with you. Is that where we are though?
  • [8:49] Zero Linden: But I hazzard that is warranted
  • [8:49] Tao Takashi: one thing I noticed was if we shouldn't put some definition of MUST, SHOULD etc. in front to make clearer later on what has to be implemented and what is nice to have
  • [8:49] Zha Ewry: @Tao: Yeah,. nab the standard RFC language
  • [8:49] Zha Ewry: one really wants that sort of precision
  • [8:50] Zha Ewry: "Shall" means if you don't do this, Zero may come and wonk you with his coffee mug, in person, in RL, until you fix it.
  • [8:50] Zero Linden: Morgaine - if I wanted to simply write it myself, I wouldn't bother with all this, now would I?
  • [8:50] Siann Beck: lol
  • [8:50] Kopilo Hallard: lol
  • [8:50] Saijanai Kuhn: BTW, Zero, Tes and I went over the legacy portion of the strawman yesterday after I revised it. I'm redoing the current login page with your page as a template so the revisions can just be pasted in once I'm done
  • [8:50] JayR Cela: ok i have question ??? / why is everything so darn dark with all the new clients
  • [8:50] Zha Ewry: Ahm. That is "shall"'s definition here, right?
  • [8:50] Kopilo Hallard: dark?
  • [8:50] JayR Cela: yeah dark
  • [8:50] Pavig Lok: what platform you running on jarR?
  • [8:51] Zero Linden: Seriously, though, I see this as a group effort.... but like most things with group effort, someone has to be the "benevolent dictator" and pull the final work together
  • [8:51] Zero Linden: Think Linus and the Linux kernel
  • [8:51] JayR Cela: i cant hardly see anything unless i am in midday setting
  • [8:51] Kopilo Hallard: xD
  • [8:51] Zha Ewry: The end test, of all of this will be
  • [8:51] Siann Beck: Jon Postel
  • [8:51] Dr Scofield: hi
  • [8:51] Zha Ewry: do we all implement it
  • [8:51] Zha Ewry: And how we see feedback incorproated
  • [8:51] Zha Ewry: As with *any* standard
  • [8:51] Tao Takashi: or do we fork ;-)
  • [8:51] Zero Linden: Exactly
  • [8:51] Kopilo Hallard: problem is LL is a corporation and need to follow a business structure
  • [8:51] Zha Ewry: that's what matters
  • [8:52] Rex Cronon: can stadards be copyrighted?
  • [8:52] Zha Ewry: Oh. Shoot. companies have rules to follow?
  • [8:52] Zha Ewry: looks nervous
  • [8:52] Dr Scofield: rex, sure
  • [8:52] Kopilo Hallard: yes
  • [8:52] Tao Takashi: and another thing was that maybe there need to be more examples, e.g. for caps
  • [8:52] Zha Ewry: Yes, Rex, almost always
  • [8:52] Kopilo Hallard: make profit lol
  • [8:52] Zero Linden: The reality is that almost all open standards are championed by someone in the employ of a company
  • [8:52] Tao Takashi: like I know which problems I had understanding how it works at Linden Lab before somebody said that it's basically a proxy
  • [8:52] Zero Linden: And yet, they do seem to maange to operate in the collective's interest (most of the time)
  • [8:52] Morgaine Dinova: Zero: I want to think that it is so. However, past experience with uncomfortable issues such as scalability make me think that in some cases you will go with what you/LL want, and not necessarily with what third parties might want from a protocol.
  • [8:53] Pavig Lok: standards can't be copyrighted per se, but for examples of how they can be controlled by IP law look to microsoft's model - they've got plenty of ideas :P
  • [8:53] Zero Linden: As for copyright - you'll notice that we expressly called out that the spec was under CC license
  • [8:53] Dr Scofield: you have copyrights and then you have licenses
  • [8:53] Dr Scofield: licenses tell you what you can do with stuff
  • [8:53] Zero Linden: Actually, standards, like almost all authored works these days, are automatically copyrighted under the author
  • [8:53] Visitor Tracker: Diffusr Gears - Arrived at House
  • [8:54] Dr Scofield: copyright tells you who can set licenses
  • [8:54] Zero Linden: This is important so that the standard can be legally licensed openly -
  • [8:54] Neas Bade: suggests not doing a divergence into copyright law :)
  • [8:54] Kopilo Hallard: good idea
  • [8:54] Visitor Tracker: Diffusr Gears - Left from House
  • [8:54] Kopilo Hallard: *seconds*
  • [8:54] Morgaine Dinova: The spec seems to be under CC read access, but a more restrictive contribution access, which is mighty odd.
  • [8:54] Saijanai Kuhn: do we have that up for a vote on the wiki?
  • [8:54] Zero Linden: If you public domain the standard, then you loose control over derivatives (someone else can own them) and variants become murky
  • [8:55] JayR Cela: yeah but try to enforce copyright under US law is a big undertaking / you gonna loose / unless you got lots of $$
  • [8:55] Zero Linden: No - The need for the contribution license is so that there be one copyright owner
  • [8:55] Dr Scofield: agrees..otherwise yu end up with a mess
  • [8:55] Zero Linden: If there isn't one owner, then when it comes time to submit the spec to a standards body, which will require that the copyright
  • [8:56] JayR Cela: GPL
  • [8:56] Zero Linden: be turned over to them, then we'd need to go back and get consent from each contributor
  • [8:56] Pavig Lok: yups let's not get into copyright - CC covers use cases and lindies got edit rights, so it's kinda cut and dry unless someone wants to challenge it legally or go activist
  • [8:56] Neas Bade: the reality is the market ends up deciding if a standard is good or not. There are thousands of standards out there that no one uses because they are dumb.
  • [8:56] Saijanai Kuhn: GPL isn't suitable for a standard I think
  • [8:56] Zero Linden: Which could cause any one contributor to halt progress
  • [8:56] Morgaine Dinova: Enforcing copyright on an evolving protocol spec is just silly. We are not creating a recipe for stagation. By all means let people copy and improve.
  • [8:56] Kopilo Hallard: GPL is currently being tested with the uhh attmpeted copywriting of shareaza by discordia
  • [8:57] JayR Cela: ok if not GPL then what ?
  • [8:57] Saijanai Kuhn: copy and improve is one thing, copy and claim owndership is another
  • [8:57] Saijanai Kuhn: JayR. THe Creative Commons license is at the top of the page
  • [8:57] Zero Linden: It isn't the draft we are being careful about, it is the eventual work, which will be seen as a derivative of these earlier efforts
  • [8:57] Kopilo Hallard: *nods*
  • [8:57] Kopilo Hallard: standards of testing
  • [8:58] Morgaine Dinova: The US has gone copyright mad. Who cares who wrote something? All that matters is whether the spec is good. We don't follow RFC abcd becaure IETF wrote it, but because it's a good spec.
  • [8:58] Zero Linden: And the license does allow for derivative works
  • [8:58] Saijanai Kuhn: ack, sero, your CC license link is broken
  • [8:58] Saijanai Kuhn: Zero*
  • [8:58] Zero Linden: I just noticed
  • [8:58] Zero Linden: [2]
  • [8:59] Neas Bade: typically as long as the license allows unrestricted implementation, you are fine. If anyone wants to get strict on standards they come up with a certification process
  • [8:59] Zero Linden: haha - the word "for" got yanked into the URL ... silly XSLT !
  • [8:59] Neas Bade: which doesn't limit what you can do, it just limits on what you can call your implementation
  • [9:00] Zero Linden: (the wiki version is the output of an XSLT transformation on the XML source)
  • [9:00] Zha Ewry: right
  • [9:00] Zha Ewry: I think, that we as a coummnity will offer some test ahrneses
  • [9:00] Zha Ewry: But.. to be honest, the point I'd worry about strict compatibviliyt
  • [9:00] Zero Linden: Okay - let's let those issues and throughts digest
  • [9:00] Neas Bade: agreed
  • [9:00] Zero Linden: and move on to the technical meat (or veggies for us vegitarians) of the matter
  • [9:00] Zha Ewry: is when I'ma grid owner.. and looking at whether I should allow a region to attach
  • [9:00] Morgaine Dinova: LOL. When you post something into a wiki, you are inherently allowing anyone to copy, modify, or delete it. If a spec is created in a wiki, the argument that it needs singlecopyright ownership for submission to a standards body is nonsense, because anyone can take a copy of a wiki page by its very nature and intent.
  • [9:01] Neas Bade: Zero, minor question, did inventory move to CAPS for the 1.19.1 viewer?
  • [9:01] JayR Cela: Morgaine / exactly / you are correct
  • [9:01] Zero Linden: Naes - yes it did!
  • [9:02] Zero Linden: Thanks to Aura Linden
  • [9:02] Tao Takashi: ah, that's why it broke for me recently ;-)
  • [9:02] Zero Linden: Really - what broke?
  • [9:02] JayR Cela: Zero / why is new inventory loading taking so long now ?
  • [9:02] Neas Bade: it seems to be done in a different way that previously, and we'd like to make sure that by the time 1.19.1 is out there for real, opensim works with it (which it doesn't right now)
  • [9:02] Pavig Lok: ok i gotta question - what on earth happened to the RC? windlight was a firstlook so you would assume more buggy than a release candidate - but when it went RC it gained LOTS of showstoppers and code reversions / new bugs -
  • [9:02] Tao Takashi: well, at least it couldn't find some stuff and esp. textures when trying the texture picker
  • [9:02] Neas Bade: it's just us playing catch up
  • [9:02] Neas Bade: just wanted to confirm
  • [9:02] Kopilo Hallard: I think inventory was switched to tcp
  • [9:02] Zero Linden: I understand that despite being now sent as LLSD serialized as XML, it is 10% to 20% less bandwidth than the old binary over UDP message version
  • [9:03] Kopilo Hallard: instead of upd
  • [9:03] Tao Takashi: so nothing serious broke and I will watch it
  • [9:03] Saijanai Kuhn: the RC is a bunch of different code rolled into one viewer
  • [9:03] Saijanai Kuhn: not just windlight
  • [9:03] JayR Cela: well once inventory finnaly loads / everything is kool
  • [9:04] Pavig Lok: has never had a full inventory load under RC
  • [9:04] Kopilo Hallard: are you using linux JayR?
  • [9:04] JayR Cela: but it takes me a half a dozen re-loggs to get everything
  • [9:05] JayR Cela: i use Win XP & Linux
  • [9:05] Zero Linden: Well, I'll forward our experiences on to Aura and the team
  • [9:05] Zero Linden: But for now
  • [9:05] Zero Linden: back to our belov©d spec
  • [9:05] Dr Scofield: question re voice: is the result from ParcelVoiceInfo the only indication whether voice is enabled on a parcel/island or are there other bits to signal that?
  • [9:05] Zero Linden: Dr. - I don't know
  • [9:05] Saijanai Kuhn: Zero, one thing Zha and I were wondering about is the inclusion of the path as part of the message that comes through the event queue/get
  • [9:06] Zha Ewry: looks at the pretty spec
  • [9:06] Dr Scofield: whom, should i ask?
  • [9:06] Zha Ewry: right, as well as the whole prose nomenclature of the pipe back to the client
  • [9:06] Zero Linden: Dr. - e-mail a question and I'll forward it
  • [9:06] Dr Scofield: ok, ta!
  • [9:07] Zero Linden: Well - yes, it is really hard to keep one's writing in "spec tone"
  • [9:07] Zero Linden: and I easily slip into prose
  • [9:07] Zero Linden: which needs to be tighted up
  • [9:07] Zha Ewry: prefers it in prose
  • [9:07] Saijanai Kuhn: Zha was using "prose" in a more liberal sense
  • [9:07] Zero Linden: It is a tricky balance - and I like the HTTP spec's balance
  • [9:07] Saijanai Kuhn: lie how the client and server talk to each other
  • [9:07] Zero Linden: Just enough to explain, without going into a litany of the background on the choices
  • [9:08] Saijanai Kuhn: like* how
  • [9:08] Zero Linden: So - we are talking about section 2.4
  • [9:08] Saijanai Kuhn: https://wiki.secondlife.com/wiki/SLGOGP_Draft_1#Event_Queues
  • [9:09] Zero Linden: And in 2.4, you are asking about "should we include a path" in the request?
  • [9:09] Zero Linden: and Zha, which nomenclature?
  • [9:09] Morgaine Dinova: I wrote some comments on that section, got some concerns.
  • [9:10] JayR Cela: i think the event que is not syncing properly
  • [9:10] Zero Linden: So, let's start with what this section is trying to achieve
  • [9:10] Tao Takashi: e.g. "The key words €MUST€, €MUST NOT€, €REQUIRED€, €SHALL€, €SHALL NOT€, €SHOULD€, €SHOULD NOT€, €RECOMMENDED€, €MAY€, and €OPTIONAL€ in this document are to be interpreted as described in [RFC2119
  • [9:10] Zero Linden: You'll see that I've tried to model *all* communication as "invocation of requests"
  • [9:10] Zero Linden: Tao - please add that as a comment on the section 1 discussion page
  • [9:11] Tao Takashi: I was just about to do that :-)
  • [9:11] Zero Linden: And requests and their invocation, as you can see are a subset of what you get with HTTP - and follow REST principles
  • [9:12] Zero Linden: (the XML schema the spec is authored in has markup for RFC2119 keywords!: <rfc2119>MUST</rfc2119> !!)
  • [9:12] Zero Linden: This enables them to use HTTP/S and Capabilities as transport layers for the reuqest
  • [9:12] Dr Scofield: had to read twice to realize client != viewer
  • [9:13] Zero Linden: Indeed - I try to use client to mean the invoker of a resource
  • [9:13] Zero Linden: whcih can be any of the three entities (viewer, agent or region)
  • [9:13] Morgaine Dinova: Zero: that's not a good model for long-lived communication such as event transmission though, hence my query. If it's a true poll, and not just REST operation for creating a permanent event stream, then it's bad bad bad.
  • [9:13] Zha Ewry: Getting that distinction clear is of the essnece
  • [9:14] Zha Ewry: Well, the killer, Morgaine, is how do you deal with NAT firewalls, in any other wscheme
  • [9:14] Dr Scofield: nods
  • [9:14] Zero Linden: Well, first, notice that I've tried to fit events into the resource model
  • [9:14] Morgaine Dinova: Zha: no
  • [9:14] JayR Cela: to many differnt protocalls
  • [9:14] Zero Linden: an event is just a resource invocation without an expected result
  • [9:14] JayR Cela: settle on one standard
  • [9:14] Tao Takashi: so maybe we should add a glossary then
  • [9:15] Zero Linden: for example, when the simulator wants to relay local chat, it invokes the "proximal_chat" resource on the viewer
  • [9:15] Zero Linden: but doesn't expect any response
  • [9:15] Zha Ewry: No Morgaine?
  • [9:15] Zero Linden: Now, the problme is this: the simulator can't open a TCP connection to the viewer
  • [9:15] Dr Scofield: it's just pushing an event for proximal_chat on the event queue for the viewer?
  • [9:15] Morgaine Dinova: Zha: NAT and firewalls are dealt with easily by creating the stream from the client end. That part is fine. What's not fine is thinking "This must look like HTTP" and terminating the TCP stream, and hence requiring another poll.
  • [9:16] Dr Scofield: morgains, but then you need to keep TCP stream open
  • [9:16] Zero Linden: Wait - who said anything about terminating the TCP stream?
  • [9:16] Zero Linden: Keep-Alive
  • [9:16] Kopilo Hallard: lol
  • [9:16] Zero Linden: it's your friend!
  • [9:16] Kopilo Hallard: xD
  • [9:16] Saijanai Kuhn: Morgaine the poll only closes if someone tells it to
  • [9:16] Saijanai Kuhn: viewer or server
  • [9:17] Dr Scofield: thinks, hmm...but then we could use xmpp right away
  • [9:17] Morgaine Dinova: Zero: it's not established whether it's held open indefinitely or not, that was very vague. HTTP1.1 still allow the server end to terminate it if it wants. It depends how you do it. You can do it well or badly, both within 1.1 with keepalivezzzzzz
  • [9:17] Lulworth Beaumont: If I could insert a question - is there documentation for the new inventory CAPS for 1.19.1 around anywhere?
  • [9:18] Zero Linden: Well - what I like is that by couching it this way, using standard HTTP1.1 and keep-alive, we get quite a number of free infrastructure components
  • [9:18] Morgaine Dinova: Sai: are you saying that the server end WILL NOT close the TCP stream under normal operation, and therefore actual polling will not be required?
  • [9:18] Dr Scofield: true
  • [9:18] Zero Linden: for example - w dont' need to invent extra signalling for dropped sessions -
  • [9:18] Saijanai Kuhn: ILulworth all the TCP packets that come in through CAPs (EventQueueGet) are in the same format as teh UDP version
  • [9:19] Zha Ewry: Unless there is a really good reason to do anythign other than bog stanard http, why woud we?
  • [9:19] Dr Scofield: plus you can drop sessions
  • [9:19] Tao Takashi: btw, a link to an explanation of the COMET long-polling technique is here: [3]
  • [9:19] Saijanai Kuhn: The poll is a post message sent to the http that is returned through the existing connnection
  • [9:19] Lulworth Beaumont: saijani: okay, is that all one needs to knwo? (I must admit, my knowledge of caps is very rusty)
  • [9:19] Kopilo Hallard: if the connection is dropped shouldn't it be cut for security reasons?
  • [9:19] Zero Linden: Indeed, the capability host should, under normal operation, keep the connection alive after serving the request
  • [9:19] Tao Takashi: Lulworth: my attempt on explaining caps is here: [4]
  • [9:20] Lulworth Beaumont: thanks tao
  • [9:20] Saijanai Kuhn: Not everything coming through EventQueueGet has a UDP version though
  • [9:20] Tao Takashi: so regarding the long-poll: The client is starting a request which the server only answers if some event occurred and then it's closed and reopened?
  • [9:20] JayR Cela: i dont think there is a security risk there / just bigg time lagg
  • [9:20] Dr Scofield: is seeing the point
  • [9:21] Zero Linden: Nice page, Tao
  • [9:21] Tao Takashi: if so, the long poll stuff should maybe be explained more in detail
  • [9:21] Zha Ewry: You're stuck doing *something* like this in a NAT firewall world
  • [9:21] Zero Linden: Tao - there is no need to close it when the event is open
  • [9:21] Tao Takashi: like when does the connection close etc.
  • [9:21] Tao Takashi: event is open means?
  • [9:21] Tao Takashi: no event occurred yet?
  • [9:21] Zero Linden: at that point, the HTTP connection from the viewer has gottne a response to it's invocatin of event_queue/get
  • [9:21] JayR Cela: dont run a firewall
  • [9:22] Zero Linden: but then under HTTP's keep-alive rules, the TCP connection just stays open
  • [9:22] Zero Linden: and the capability host is just waiting for another caps request
  • [9:22] Zha Ewry: Ah. JayR for 90% of end users, that's not an option. The NAT in the little linksys routers, is problematic enough and all the corporate ones, worse
  • [9:22] Zero Linden: which will be the next invocation of event_queue/get (just as soon as the viewer is done processing the events)
  • [9:22] Morgaine Dinova: Zero: if the intended mode of operation is that the TCP stream received from the event queue remain open indefinitely (exceptions excepted), so that a client can rely on a continuous stream of events to trigger its event-driven machinery, then fine. But in that case it needs to be stated.
  • [9:23] Zero Linden: Firewalls are a fact of the internet
  • [9:23] Dr Scofield: starts thinking about XMPP over comet
  • [9:23] Saijanai Kuhn: Morgaine, the client triggers the event stream with each poll
  • [9:23] JayR Cela: I dissagree on the firewall issue
  • [9:23] Zha Ewry: NAT ones, which don't make it easy to do symetric pipe even more so
  • [9:23] Dr Scofield: refocuses on discussion
  • [9:23] JayR Cela: all they do is screw up stuff
  • [9:23] Tao Takashi: there was a better page which describes all polling techniques for COMET, trying to find it
  • [9:24] Saijanai Kuhn: each event is really an array of one or more messages sent in XML-LLSD form
  • [9:24] Tao Takashi: [5] has a list
  • [9:25] Morgaine Dinova: Sai: I'm talking about stream shutdown, not startup. A single long poll to start the stream is fine, and the fact that it's done with an HTTP request is not a problem. But once the stream is made it need to stay open permanently, except when the session terminates or other exceptions.
  • [9:25] Tao Takashi: he also mentioned keep-alive in the comments below
  • [9:25] Zero Linden: Morgaine - that is what happens in practice -
  • [9:25] Saijanai Kuhn: Morgaine, it does. As long as neither side explicitly closes it, you just poll the same connection
  • [9:25] Tao Takashi: so it's not the connection which finishes but the request
  • [9:25] Zero Linden: and both sides of the implementation have incentive to make it work
  • [9:25] Morgaine Dinova: Super. So please specify that!
  • [9:26] Zero Linden: but there is no reason to legislate it -- I prefer to keep the spec minimal
  • [9:26] Zero Linden: we can put in an advisory that both sides SHOULD implement HTTP 1.1/Keep-Alive
  • [9:26] JayR Cela: ok so that is the problem / impropper communication betwean the client an server side
  • [9:26] Zero Linden: that would be fine
  • [9:26] Tao Takashi: +1
  • [9:26] Morgaine Dinova: Because when you don't write that down, it sounds like you're promoting the kind of dreadful design we had in the old client (has it been fixed?), with communication polling within the rendering loop.
  • [9:27] Saijanai Kuhn: I guess my understanding from hainv written a script to handle it biases my perception. I thought it was obvious it stayed open
  • [9:27] Zero Linden: (can someone add that to the discussion page for 2.4?)
  • [9:27] Neas Bade: plus I think you may find situations in which the cost of openning new sessions isn't nearly as much of a problem as the cost of keeping 100k sessions alive
  • [9:27] Morgaine Dinova: I did, Zero
  • [9:27] Saijanai Kuhn: the polling can go anywhere it likes, Morgaine
  • [9:27] Morgaine Dinova: Sai: polling needs to go one place only, in the waste bin
  • [9:27] Zero Linden: (in general, if you've brought up ideas here, please be sure to ALSO add them to the discussion pages --
  • [9:27] Zha Ewry: Protocol doesn't get to dictate imp[lementation
  • [9:27] Neas Bade: allowing for keepalive, but not requiring it, is definitely the right approach
  • [9:27] Zha Ewry: This is one of the ocnstattn struggles
  • [9:27] Zha Ewry: *constant
  • [9:27] Zha Ewry: in spec writing
  • [9:27] Zero Linden: -- that allows people not here to read them, and when I start in on draft 2, I will work from those comments)
  • [9:28] Zha Ewry: We can say "It would be clever to do X"
  • [9:28] Tao Takashi: Here is another article on latency, btw: [6]
  • [9:28] Zero Linden: Morgaine - I mean the expressly that "SHOULD" langauge
  • [9:28] Zha Ewry: but..we can't stop people from writing back conformat code
  • [9:28] Zha Ewry: *bad confomrant
  • [9:28] Zha Ewry: sheesh
  • [9:28] Zha Ewry: NEED more coffee
  • [9:28] Zha Ewry: new fewer 7:00 am phone meetings
  • [9:28] Zha Ewry: *need
  • [9:29] Morgaine Dinova: Use of the word "poll" IMPLIES a particular implementation. If you don't want to imply an implementation, then use phrases like "event stream setup".
  • [9:29] Saijanai Kuhn: Zero, it turns out there's no mention of "path" in the spec, but Tess was mentioning that eventually, the Event Queue/Get would return a path to a resource as part of the event
  • [9:29] Zha Ewry: @neas exactly. Permit,
  • [9:29] Saijanai Kuhn: Morgaine the "poll" is a post to the TCP connection. Its like the old GetNextEvent loop of the original Mac OS
  • [9:30] Zha Ewry: Right, that came up at AWGroupies on Tiuesday
  • [9:30] Zero Linden: Sai - she was talking about a possible way to extend the event queue to support resource invocations that do want an response
  • [9:30] Zha Ewry: The notion of extending the poll model a bit
  • [9:30] Morgaine Dinova: Sai: that is not the meaning of "poll" in computer science
  • [9:30] Zha Ewry: and.. I am trying to understand
  • [9:30] Zha Ewry: what she was implying
  • [9:30] Zero Linden: one way to do that is to include a resource path (or URL) in the request that is the place the result should be POSTed
  • [9:30] Zha Ewry: Well.. it's *one* of the meanigns, Morgaine. Not like CS people use a single meanign for *any* word
  • [9:31] Saijanai Kuhn: CGI for example
  • [9:31] Zha Ewry: But... in any case, I think we all agree, we need some more words around the long poll approach
  • [9:31] Morgaine Dinova: Zha: no, there is no meaning of "poll" in computer science that includes posting to anything anywhere. "Poll" is a highly specific term.
  • [9:31] Zero Linden: Another way to do it is include UUIDs and tag the responses with those in the next poll
  • [9:31] Tao Takashi: Zha: I just put this on the discussion page that more details are needed there
  • [9:32] Dr Scofield: got to go, train to catch
  • [9:32] Tao Takashi: and added the links I mentioned, maybe they are helpful
  • [9:32] Dr Scofield: bye all
  • [9:32] Tao Takashi: cya Dr!
  • [9:32] Kopilo Hallard: tc
  • [9:32] Zha Ewry: The getNextEventloop, would be recogznied as polling by lots of people in CS..
  • [9:32] Zero Linden: That all looks good
  • [9:32] Lazarus Longstaff: tc DrSco
  • [9:32] Zero Linden: OKAY
  • [9:32] Rex Cronon: bye dr
  • [9:32] Zero Linden: I need to run off - it being 9:30
  • [9:32] Meghan Dench: YAY Did I run into an OH?
  • [9:32] Saijanai Kuhn: laters DR
  • [9:32] Zha Ewry: Laters Zero
  • [9:32] Zha Ewry: Good stuff
  • [9:32] Zero Linden: Next week on Tuesday is the AWG meeting
  • [9:32] Tao Takashi: ok, cya Zero! :)
  • [9:32] Saijanai Kuhn: Laters Zero
  • [9:32] Zero Linden: so - no office hours
  • [9:32] Zha Ewry: Need o rerad comment, read more
  • [9:32] Lazarus Longstaff: tc Zero
  • [9:32] Zha Ewry: comment more
  • [9:32] Tao Takashi: btw, is there some page with an agenda for that meeting?
  • [9:33] Kopilo Hallard: calander?
  • [9:33] Saijanai Kuhn: Tao any progress on streaming it yet?
  • [9:33] Rex Cronon: bye zero
  • [9:33] Zero Linden: not yet, Tao, but will be
  • [9:33] Zero Linden: today or tomorrow
  • [9:33] Tao Takashi: good :)
  • [9:33] Morgaine Dinova: Zero: why are you talking about "the next poll"? It sounds like you're encouraging a particular implementation, which polls for events.
  • [9:33] Tao Takashi: Sai: Unfortunately I have been a bit busy but ustream etc. should in theory work
  • [9:33] Tao Takashi: they did recently at least ;-)
  • [9:34] Saijanai Kuhn: wants at least one dry run before the day
  • [9:34] Tao Takashi: Sai: What about meeting on monday 10AM SLT for some test at Hippotropolis?
  • [9:34] Zha Ewry: Tao, do you want to hold a test run at some point?
  • [9:34] Saijanai Kuhn: sounds good to me, Tao
  • [9:34] Zero Linden: Well, Morgaine - at the level above the HTTP transport, at the resource level - that is exactly what it is doing - polling for events
  • [9:34] Tao Takashi: unfortunately I am gone the next 3 days but I hope monday is sufficient
  • [9:34] Tao Takashi: ok, I will put it into my calendar then
  • [9:34] Saijanai Kuhn: KK Monday, 10 AM SLT
  • [9:34] Zero Linden: tomorrow all
  • [9:35] Zero Linden: er
  • [9:35] Tao Takashi: my tomorrow morning I will then try to get all the software in place
  • [9:35] Zero Linden: what?
  • [9:35] Rex Cronon: .
  • [9:35] Saijanai Kuhn: Take care Zero
  • [9:35] JayR Cela: byeeee
  • [9:35] Tao Takashi: ok :)
  • [9:35] Zero Linden: I nEEd mOrE coFFee
  • [9:35] Zero Linden: later