User:Which Linden/Office Hours/2007 Oct 18

From Second Life Wiki
< User:Which Linden/Office Hours
Revision as of 12:49, 18 October 2007 by Which Linden (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

I forgot to enable timestamps in my chat logging, so these are sadly timestamp-less. Sorry about that.

Transcript of Which Linden's office hours:

Which Linden: Good morning, Morgaine
Morgaine Dinova: Hi Which :-) AFK for 1m while ressing
Which Linden: Hi Wyn!
Which Linden: Good to see you again
Wyn Galbraith: LOL Morgaine!
Wyn Galbraith: Hi Which, we were... ah just dancing ;)
Which Linden: It's always a party in Second Life
Wyn Galbraith: Look Which has a table.
Which Linden: ?
Wyn Galbraith: Was that there before, the table you're on?
Which Linden: oh, yeah
Wyn Galbraith: Doh, must have missed it.
Which Linden: There was a bug that disabled right-clicks for me, so I never sat on it
Wyn Galbraith: Ah that's it then.
Which Linden: It was awkward
Wyn Galbraith: I was going to say, coming up inworld
Steady Rockin: howdy folks
Which Linden: Thanks Harleen
Lily Argus: hello =)
Rex Cronon: hello everybody
Wyn Galbraith: Sai forgot to touch the floor too.
Morgaine Dinova: Aha, people visible :-) (This is my slow MS box, but at least cut'n'paste works)
Harleen Gretzky: Everyone comes in dancing, lol
Wyn Galbraith: Secret AWG meeting.
Rex Cronon: people forgot to click on floor to stop dancing
Rex Cronon: :)
Which Linden: As usualy, I'll be posting a transcript on the wiki
Wyn Galbraith: LOL
Wyn Galbraith: Sitdown Sai, maybe it will stop the dance.
Morgaine Dinova: Which, are you studio Icehouse or do you work in a separate one?
Saijanai Kuhn: Jane! Help me get off this crazy things...
Which Linden: I'm in Studio DaBoom, Morgaine
Wyn Galbraith just ROTFLHAO in RL
Wyn Galbraith: DaBoom!
Morgaine Dinova: AHa! Sorry for ignorance :-)
Harleen Gretzky: Tools-Stop All Animations and walk
Which Linden: I was in Icehouse, but this project was in DaBoom, so I jumped ship. :-)
Wyn Galbraith: Loves the sound of that.
Saijanai Kuhn: thats interesting
Saijanai Kuhn: when I stop I STOP
Wyn Galbraith: Turtle is making you do it.
Which Linden: That's actually how studios are supposed to work -- they're not a management hierarchy, they're a project hierarchy
Morgaine Dinova: Guy Fawkes coming up soon, DaBoom is the place to be :-)
Wyn Galbraith: Oh? Don't know that reference.
Tao Takashi: Hi
Wyn Galbraith: I mean I know Guy Fawkes day.
Which Linden: Hi Tao
Wyn Galbraith: Oh cause it's Dutch?
Tao Takashi: Which: as soon as I have time I will post a tutorial on eggs
Wyn Galbraith: Wait is Guy Fawkes Dutch?
Which Linden: DaBoom is Dutch?
Saijanai Kuhn: Guy Fawkes is Dutch?
Wyn Galbraith: Yes it means the tree.
Morgaine Dinova: Guy Fawkes == guy who tried to blow up the Houses of Parliament centuries ago. Now we have a bonfire/fireworks night each year to celebrate.
Wyn Galbraith: Oh!
Which Linden: Thanks Tao, that would be awesome. Also, if it would be less work for you, you could make a patch or something.
Saijanai Kuhn: ah OK. Had visions of this Hollander guy trying to blow up Parliment
Wyn Galbraith facepalms.
Morgaine Dinova: Because secretly we all know that that's the only way to solve the politicians problem :-)))
Tao Takashi: Which: the question is how you best would do it.. if you start an egg from scratch it probably will have a different directory structure
Tao Takashi: like a separate directory with e.g. eventlet inside
Tao Takashi: which is what then in the end gets installed
Which Linden: Ah, OK.
Wyn Galbraith: I first heard DaBoom I though the original sim was named after the Big Bang. But it's named after an alley in SF that's Dutch for 'the tree'
Tao Takashi: the other way is bit more complicated as you basically say which folder not to install
Tao Takashi: like examples
Which Linden: OK, well, I'll check out the tutorial and see what's easiest
Which Linden: :-)
Morgaine Dinova: It's nice, the naming of studios in LL this way. Very informal, friendly way of working.
Tao Takashi: you need to define the correct information in the egg info anywa
Tao Takashi: y
Saijanai Kuhn: Thanks REx
Tao Takashi: like right author, license, description
Which Linden: So, the topic for today is: where does Certified HTTP fit into the Architecture?
Tao Takashi: with setuptool you then can also register it with the cheeseshop and upload it there
Rex Cronon: np, wear that, should stop animations
Tao Takashi: and I wanted to do that tutorial anyway as I want to document it a bit more.. the official documentation is a mess and starts very low level somehow
Which Linden: I think "what's it for" is a major question on everyone's mind, much more than any of the details of what it does
Tao Takashi: as long as it's fun I don't care about what it's for ;-)
Rex Cronon: scripts r off here. u need to tp somewhere else and come back
Tao Takashi: I mean, what is Second Life for?!? ;-)
Which Linden: Hah, true
Which Linden: Oh, hold on, I can turn on scropts here
Morgaine Dinova: I think today's topic is crucial. The mechanism of last week's chat was merely tech fun.
Tao Takashi: which I missed actually due to being on the Plone Conference
Which Linden: SCripts
Which Linden: are on
Wyn Galbraith: Still looked blocked to me.
Tao Takashi: lets start the griefing fun then!
Morgaine Dinova: Tools->Stop All Animations worked for me
Rex Cronon: u might need to rezz that sai, and clickk on it
Which Linden: Yay for our animation system
Wyn Galbraith: Na just let him keep dancing.
Tao Takashi: sort of distracting ;-)
Saijanai Kuhn: LOL I thought I'd stopped sorry
Wyn Galbraith: Sit down.
Which Linden: So, we already have the one use case for chttp: the escrow
Tao Takashi: I think in most cases a relog is probably faster anyway than searching for the right objects etc ;-)
Wyn Galbraith: Or are you sitting?
Wyn Galbraith thinks it's cute.
Morgaine Dinova: Which: you're not kidding. SL is *way* advanced over everyone else in server-side scripting. I have plenty of critcisms too, but credit where credit is due :-)))
Wyn Galbraith: Sai is a great dancer.
Saijanai Kuhn: Am I still dancing? my client shows me sitting piecefully
Wyn Galbraith: LOL might be me.
Saijanai Kuhn: Sai used to weith 180 pounds les than he does now.
Rex Cronon: i see u dancing
Harleen Gretzky: Dancing to me
Which Linden: I stilll see it too, but my viewer has a bug that doesn't render anything except attachments so it's even weirder for me
Morgaine Dinova: hehe
Wyn Galbraith: Fly up over 200 meters and come back down.
Which Linden: But, so, chttp
Wyn Galbraith: Don't know if that will work but it's amazing what it fixes.
Rex Cronon: use what i gave u
Tao Takashi: yes, chttp
Morgaine Dinova: Can't you run a pose, Sai?
Wyn Galbraith: There's no build here so he can't rez it.
Which Linden: It seems that one of the major use cases is for inter-domain communication
Saijanai Kuhn: sometimes clicking woring items works
Saijanai Kuhn: did it?
Morgaine Dinova: Just run a pose to override it, then don';t need to res anything
Which Linden: I.e., doing transactions across domains
Tao Takashi: yes, seems to have stopped
Wyn Galbraith: Stand up and sit down again.
Tao Takashi: I am just wondering where e.g. an escrow sits in the domain model
Harleen Gretzky: Stopped now
Rex Cronon: u seem to have stopped dancing, but now u r in a starnge pos
Wyn Galbraith: There better. :D
Rex Cronon: normal
Morgaine Dinova: Back on track, give Which the floor :-)
Wyn Galbraith: Now we can get on with the meeting
Wyn Galbraith: Or a table
Which Linden: ha ha
Morgaine Dinova chuckles
Which Linden: So I imagine that each domain will be running two sets of services
Which Linden: Escrow end points (i.e. agent stores)
Which Linden: And escrows for performing their own transaction
Which Linden: But that's pretty well defined
Which Linden: What else could we use chttp for?
Which Linden: Sending of guaranteed-delivery IMs?
Saijanai Kuhn: whoooray
Saijanai Kuhn: or at least 90% guaranteed
Which Linden: Chttp is pretty heavyweight so you wouldn't want all IMs to be sent that way
Saijanai Kuhn: only bother with one callback iteration
Morgaine Dinova: Well pretty much every client-invoked action can benefit from idempotency. There's nothing more annoying that having things happen twice, even if they're not financial transactions.
Which Linden: True, so maybe there's a place for a "weak" chttp?
Tao Takashi: well, other IM systems handle delivery sort of better than SL without chttp ;-)
Saijanai Kuhn: Crazy-HTTP instead of Certified HTTP?
Morgaine Dinova: With hysteresis in the callback, or in the chttp layer?
Saijanai Kuhn: CrHTTP
Which Linden: The current chttp design is supposed to be 100% reliable
Which Linden: And that's where a lot of the heavyweight-ness and requirements come from
Harleen Gretzky: We talking group IMS or avatar IMs?
Which Linden: So, yeah, simple dupe suppression would probably get you up to 90% or something
Saijanai Kuhn: like I said, only one iteration for the callback
Morgaine Dinova: Explanation: a GUI action that occurs 10 milliseconds after a chttp transaction completes was probably just another attempt at the original transaction.
Which Linden: one iteration for teh callback means what?
Which Linden: exactly, Morgaine
Saijanai Kuhn: maybe I misunderstand teh cHHTP design. Doesn't it require acknowledgemetn verficiation?
Rex Cronon: why u need to use chttp? u use whatever works for what u r trying to do.
Morgaine Dinova: Rex: we're trying to reduce ad hoc solutions
Which Linden: Sai: sort of, the client tells the server to clean up its state
Saijanai Kuhn: "can you hear me now?"
Which Linden: So you're saying just skip that?
Rex Cronon: maybe one of those "ad hoc" solutions is the best that can happen
Saijanai Kuhn: if the client doesn't respond after a certain limited number of tries, o well
Morgaine Dinova: Rex: yes, ad hoc solutions are often "better" ... and you always pay for it later :-)
Which Linden: All of Second Life is an ad ho solution
Which Linden: ad hoc
Morgaine Dinova: Hahahaha
Saijanai Kuhn: ad ho works too
Which Linden: Those ad hoes, always gettin' in my yard
Morgaine Dinova: lol
Saijanai Kuhn is an ad ho
Saijanai Kuhn: marketing reference
Tao Takashi: for an IM wasn't the idea anyway to reuse some existing implementation or make it pluggable or something?
Morgaine Dinova: So, we have two application areas ... transactions, and UI action sanitzation.
Morgaine Dinova: Any more?
Which Linden: So, just throwing ideas out there for where "full" chttp would work: internal operations
Saijanai Kuhn: if not IM, then...
Which Linden: we have use cases for migrating agents between agent stores
Morgaine Dinova: IM ... sore point
Which Linden: yeah, IM has architectural problems ATM, it's possible that with those fixed it'd be better to the point of no one caring about reliability any more
Which Linden: I think IMs aren't a good candidate for even weak chttp since they're advisory anyway
Tao Takashi: I am also not sure about the Long Time for IMs.. I'd rather have a message "timeout" instead of delivering it the next day ;-)
Which Linden: and it's not like you lose a lot if one goes down the drain
Morgaine Dinova: Several people have suggested that AWG start with redesigning IM, just to give itself a comms platform
Which Linden: Yeah, that would be cool
Which Linden: Our group IM is hampered by some assumptions (such as: you join every group chat for every group you're in when you log in) that we can't really experiment with too much
Morgaine Dinova: The timing argument probably doesn't stand up, ... but yeah, it's sure tempting
Tao Takashi: maybe while doing AWG a new client can be done along the way ;-)
Which Linden: Hey and let's call it something else while we're at it!
Which Linden: :-P
Saijanai Kuhn: Various people have suggested Jabber. Is there ar reason NOT to use Jabber?
Tao Takashi: probably it's hard to replace the existing system and integrate well
Which Linden: Hoo, well, I don't want to get into this discussion too much because I wasn't really part of that team
Saijanai Kuhn: new client, new architecture...
Which Linden: So yes there were reasons but I don't really know what they are
Morgaine Dinova: Oh yeah, let's not distract from chttp
Which Linden: So IM is a red herring
Which Linden: What else do we do across servers?
Saijanai Kuhn sees no compelling reason why several different solutions cant be used at once. Old School IM for communciation with old clients, IRC, Jabber, etc
Which Linden: Region crossing?
Saijanai Kuhn: the trick is to devise an interface that could shield most issues from the user
Which Linden: Taking things into/out of inventory?
Tao Takashi: isn't this cross domain?
Which Linden: Well, yes, Tao, but those operations could be cross domain too
Which Linden: But don't forget that we're planning on using chttp inter-domain
Saijanai Kuhn: that goes back to "what is an asset", especially in a metagrid world
Which Linden: intra
Tao Takashi: actually I think I'd simply go ahead and implement the protocol bit by bit and decide with each function whether it might need chttp or not
Morgaine Dinova: Exceptions handler? When things fail catastrophically, and there is a pending action that needs to be reattempted, it's jolly nice to have idempotency in the loop.
Which Linden: Not sure what you mean there, Morgaine. When sims crash?
Morgaine Dinova: Yes, or run out of memory and alloc abort, etc
Which Linden: Yeah, so when our sims crash, they try to dump their state to teh asset server
Which Linden: They actually already have retry logic, and the dump is already idempotent, so that might not be a great candidate
Morgaine Dinova: Good, looks like you have it covered
Which Linden: Often they crash because they don't have network connectivity, and by the time they get it back the simstate has become irrelevant
Which Linden: D'oh
Morgaine Dinova: Hmmm
Which Linden: So, not much that chttp can help with there
Which Linden: Good thought though
Morgaine Dinova: Is sim crashing in Zero's domain?
Which Linden: No, it's everyone's really
Morgaine Dinova: Hahaha
Morgaine Dinova: :P
Which Linden: I guess Andrew has sort of taken the lead these days though
Which Linden: I'm kinda out of ideas for where strong chttp would be useful
Morgaine Dinova: What about on handover? There's the potential for reapeat attempts at a transation there too.
Which Linden: oh a new idea!
Which Linden: yay
Wyn Galbraith unidles and scrolls to catch up, "You could invite like Trillian, they're already hooked up to all the other IM providers out there.
Which Linden: Don't forget that chttp is about more than retries
Wyn Galbraith: Kill two birds with one stone.
Tao Takashi: as said, I think we figure out places for chttp while doing the actual protocol
Tao Takashi: and I guess we will find some additional places.. right now it's quite theoretical for everybody I guess
Which Linden: Unfortunately so
Wyn Galbraith: That's how it begins... the next generation ;)
Rex Cronon: i think tao is right, the protocol should define what and how is going to be used
Which Linden: I like this idea of weak chttp though, which is essentially retries and dupe removal that doesn't have as much protection against race conditions
Tao Takashi: so for me it would actually be interesting to take one usecase like buying an object or transferring it and seeing how that works in detail. which components are needed, what is where located (if we take the domain approach) etc.
Morgaine Dinova: I think it's pretty awesome .. but I need to see it working too before I have an engineer's gut feeling for it.
Tao Takashi: something I wanted to write down someday (or start to)
Tao Takashi: I think i need to experiment with some stuff to get a feeling for it
Tao Takashi: e.g. start implementing whatever
Which Linden: It's going to take a long time before anyone sees any public-facing uses of chttp from us
Tao Takashi: then I'd know more how to handle the tools the best way
Tao Takashi: well, maybe not the best but a better way :)
Rex Cronon: why so laggy here?
Morgaine Dinova: Which: you can expose an interface without it being tied into the world though.
Wyn Galbraith seems fine at the moment.
Tao Takashi: and from experience I'd say that it might take some generations of coding anyway to get things in a good shape
Which Linden: I think we need to think about chttp somewhat in advance of "just figure it out along the way" because sometimes it's hard to just sprinkle on magic pixie dust after teh fact
Morgaine Dinova: Hehe, yea
Which Linden: True, Morgaine, that is part of the plan: an echo server
Wyn Galbraith: Which is why we're doing this exercise.
Tao Takashi: that's why I actually would like to start coding at least something even if I have to trash it afterwards again and even if it's just some script calling another script without actually a real viewer involved
Morgaine Dinova: Good
HD - couch sit 1: llStopAnimation: Script trying to stop animations but agent not found
Tao Takashi: well, if it's not usable for something then it has to change ;-)
Morgaine Dinova: I believe in pixie dust btw. Just not in a production environment. I need to tie it down more solidly.
Which Linden: That is also a good point, Tao
Tao Takashi: of course before production
Tao Takashi: but I think we all will have a better idea of it when we see something in action
Which Linden: That's why I like this weak chttp because that seems like it might have more use cases
Tao Takashi: it will most certainly need to change anyway
Which Linden: when you said "it" jsut then did you mean the architecture or chttp?
Tao Takashi: both ;-)
Tao Takashi: right now we seem to code tools for use cases we have not yet really defined
Tao Takashi: ok, you have some already I guess :)
Which Linden: Yeah
Which Linden: But it worries me that they're the only ones
Saijanai Kuhn: what does weak chttp mean? Seems I've misunderstodd a bit
Which Linden: And maybe that's OK, maybe full chttp will only be used for doing transactions
Tao Takashi: there will be more once we understand the new architecture more
Tao Takashi: right now we all have just a rough idea of what migth be happening
Tao Takashi: and even this idea might change if we really write the detailed use cases down
Tao Takashi: like I need to think a bit more about what Zero said earlier about identity and agents and domain access etc.
Tao Takashi: and I'd rather write down the use cases without having the domain model in mind
Which Linden: Sai: weak chttp means a watered-down version of chttp that has weaker requirements, such as not requiring hosts to be completely durable, and allowing duplicate messages as long as they don't happen too often
Tao Takashi: then we can see if it still fits
Which Linden: I'll have to write up my thoughts about waek chttp
Saijanai Kuhn: OK
Rex Cronon: why not start with a few very simple use case, like login, logout, and next send a text message, receive a text message?
Tao Takashi: writing down is always good :)
Tao Takashi: for me some central use case is still object moves from A to B I think
Saijanai Kuhn: Could be part of Zha's client-server test harness
Tao Takashi: e.g. a=agent, and B=sim
Morgaine Dinova: Well it's already on the wiki, so just needs expanding
Saijanai Kuhn: The thing Gareth appears to be working on
Which Linden: Tao: you mean rezzing?
Tao Takashi: in this case it probably would be rezzing
Tao Takashi: but B might be an agent, too
Tao Takashi: probably 2 use cases then
Tao Takashi: and more ones depending whether it's buying or not
Tao Takashi: I wonder if we can abstract buying
Which Linden: Right now, all transfers of objects between two agents has to have the object on a sim first
Which Linden: (AFAIK)
Saijanai Kuhn: except notecard
Tao Takashi: ok, but does it need to be the case in the future?
Saijanai Kuhn: amd scripts
Tao Takashi: what if I drah an object into your profile?
Saijanai Kuhn: or send it via IM
Tao Takashi: or notice
Which Linden: Yeah, it doesn't have to be that way in the future
Tao Takashi: I think having only agent domains should work, too
Saijanai Kuhn: Zha and me have been around an round about "proto-assets" which haven't been published to an asset server
Saijanai Kuhn: and user-private content which probably never will get published
Saijanai Kuhn: Zero is repelled by calling those "inventory" but to a USER they are
Tao Takashi: what are proto-assets?
Saijanai Kuhn: and some might get sent from avatar to avatar without rezzing
Which Linden: Yeah that word is fine to mee
Wyn Galbraith: Blood
Saijanai Kuhn: things that could be turned into assets by draggging them from inventory
Kooky Jetaime: hrm
Morgaine Dinova: Before we get carried away ... chttp creates a substantial protocol time overhead because of to-and-fro latencies (even ignoring processing and storage). Wearing my Scalability VAG hat, this is an area of concern if chttp becomes central to any choke-point transactions. I'll be looking at that carefully.
Which Linden: hello new folks
Tao Takashi: I think you should put that into use case scenarios (e.g. "User creates proto-asset")
Which Linden: Morgaine: that's a great point. Hopefullly chttp just adds latency and doesn't decrease throughput
Wyn Galbraith: There's someone who shouldn't be allowed near an open flame.
Tao Takashi: I think we really need to define the term "asset" ;-)
Morgaine Dinova: Hope so, I'll be looking at it.
Flight Band: All Go
Tao Takashi: why isn't it an asset before it's dragged form inventory?
Rex Cronon: asset=anything that resides in a database?
Saijanai Kuhn: zha's definition ended up being close to Zero's If the servers know about it, its an asset
Which Linden: So, Rex, you wanted to go through a simple use case, and I think that's a good thing to do next time
Saijanai Kuhn: anyting that a grid-related database knows about
Which Linden: (you said that like 10 minutes ago, srry)
Morgaine Dinova: We're letting Zero define asset by fiat. Because otherwise World Wars 3-7 are imminent :-))))
Which Linden: Ha ha, yeah
Rex Cronon: yes which, start with the basics, and buid on them
Saijanai Kuhn: Zha goes along with it as well. I don't care about terminology as long as we acknowledge there is ore on teh client side than JUST rezzed stuff
Rex Cronon: build*
Tao Takashi: I would think an asset is just some blob of data regardless where it is
Tao Takashi: and once you give it to someobdy that blog will be copied to that person
Kooky Jetaime: Hmm Wouldn't an Asset be the actual in world object/script/card/gesture?
Rex Cronon: text send in chat shouldn't be an asset, or it should?
Saijanai Kuhn: that blog will reside in the asset server. A copy is sent to a person, but once it exists in the server, the server "owns" itnot the person
Tao Takashi: in-world object = this blob of data in the region storage
Kooky Jetaime: text isn't an asset
Morgaine Dinova: I have no attachment to words. If an existing word is taken, I'll just add another to represent what I need.
Kooky Jetaime: An asset is something that can be owned
otakup0pe Neumann: well it's been fine listening but i have to run.....
Kooky Jetaime: I like that
otakup0pe Neumann: also, did anyone else notice that house plant talking ?
otakup0pe Neumann: freaky.
Tao Takashi: to define what an asset is we maybe need to define what can be done with it to group things together :)
Which Linden: FunkyFunky
Saijanai Kuhn: zha is going to scream when she reads this conversation
Kooky Jetaime: heh
Which Linden: I have to jet, folks, thanks for the great conversation today
Rex Cronon: i was wandering why i can't see which, until i saw the leaves moving:)
Tao Takashi: is there some documentation of what you and Zha discussed?
Wyn Galbraith: Thanks Which.
Tao Takashi: cya Which, thanks again for hosting :)
Saijanai Kuhn: think she posted it, not sure
Phli Foxchase: Wich, can I have your linden Bear please ?
Wyn Galbraith: Did I get your bear?
Rex Cronon: bye which
Which Linden: Oop, bears all around
Wyn Galbraith: Great minds and all.
Saijanai Kuhn: is it a bear or a piece of bamboo being eaten by a bear?
Tao Takashi: I'd like some wiki page with what an asset is, where it's stored, how it's created and what you can in general do with it. Like what happens if Agent A gives it to Agent B etc.
Morgaine Dinova: Which: we've only looked at use case areas .. next time we'll need to examine actual use, in one specific use case for example
Kooky Jetaime: Yes, I do need a which bear
Which Linden: whoops
Tao Takashi: I really was thinking more about transferring blobs of data, nothing more
Kooky Jetaime: or is it a which plant?
Wyn Galbraith needs some greens in her collection.
Harleen Gretzky: bear for me please :)
Saijanai Kuhn: "meta data" isassociated with an asset
Wyn Galbraith: Thank you, Which.
Kooky Jetaime: Bear here too please!
Harleen Gretzky: thx
Saijanai Kuhn: you have the raw data, the meta data and a reference that the server can understand
Phli Foxchase: thanks
Tao Takashi: I don't get this reference discussion actually ;-)
Kooky Jetaime: Thanks :)
Which Linden: ok, outta here, I'll see you next week!
Tao Takashi: reference from where to where?
Wyn Galbraith: Still dancing.
Harleen Gretzky: bye Which
Tao Takashi: cya Which, I will send you the tutorial once I've written it
Morgaine Dinova: Good meeting, thanks Which