User:Which Linden/Office Hours/2008 Nov 13

From Second Life Wiki
< User:Which Linden/Office Hours
Revision as of 13:20, 13 November 2008 by Which Linden (talk | contribs) (New page: * [11:05] Which Linden: PEACE ON Y'ALL * [11:05] Morgaine Dinova: Aha, a clickety clack * [11:05] Morgaine Dinova:...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • [11:05] Which Linden: PEACE ON Y'ALL
  • [11:05] Morgaine Dinova: Aha, a clickety clack
  • [11:05] Morgaine Dinova: Hiya Which L0(
  • [11:06] Morgaine Dinova: Erm, dunoo what that was on end
  • [11:06] Morgaine Dinova: Hiya Which :-)
  • [11:06] Which Linden: Sorry I'm late -- I was busy cracking wise about Obama
  • [11:06] Which Linden: about his Secret Service name, specifically
  • [11:07] Morgaine Dinova: I don't think there's quorum today :-( And better not to talk politics with me, because I have no time for any of them ;-)
  • [11:07] CherishCapalini Braveheart: accepted your inventory offer.
  • [11:08] Morgaine Dinova: Oh, Sai's just come on, that's less of a non-quorum ;-)
  • [11:09] Which Linden: ha ha ha, well I enjoy talking with a non-quorum as well
  • [11:09] Which Linden: less pressure actually
  • [11:10] Morgaine Dinova: Hehe, that's good. I go all the way and prefer talking to myself ;-))))
  • [11:10] Which Linden: I should do a lolplant here.... "camoflage, you doin it pretty well akshually"
  • [11:11] Which Linden: [1]
  • [11:11] Morgaine Dinova: A lolplant? Now that's a term I've not heard before, but in a world of lolcats, it's good that they don't all have it their way :P
  • [11:11] Morgaine Dinova: Awww, how cute :-)
  • [11:12] Which Linden: this was the one I was thinking of though: [2]
  • [11:13] Morgaine Dinova: It reminds me of a pic a friend of mine took, of his kitten standing on the belly of his rottweiler.
  • [11:13] Which Linden: btw, there must be something better than Linden grass for populating the ground around here -- it's a little weird to see some leaves growing from your midsection in that seat
  • [11:14] Saijanai Kuhn: hey all
  • [11:14] Which Linden: d00d
  • [11:14] Morgaine Dinova: Talking of which, we mentioned at Andrew's last week the problem of attached prims penetrating bodies, and about the possibility of overcoming that in some hypothetical SL-NG
  • [11:15] Morgaine Dinova: Hiya Sai!
  • [11:15] Saijanai Kuhn: hey Morgaine
  • [11:15] Which Linden: Making sl have more versimilitude would be a great thing
  • [11:15] Morgaine Dinova: Wow, good word. Not sure I've ever used it myself :P
  • [11:15] Which Linden: hell I'd like it if games in general solved interpenetration
  • [11:15] Saijanai Kuhn: well, lots of potential with the OGP but wondering how committed LL is to it these days
  • [11:16] Morgaine Dinova: LL is a mystery, hahaha, that's for sure
  • [11:16] Which Linden: even to ourselves
  • [11:16] Morgaine Dinova: ROFL
  • [11:16] Saijanai Kuhn: nods sagely
  • [11:16] Morgaine Dinova: Nice comment Which :P
  • [11:17] Which Linden: yeah so was there something that made you think that our commitment to OGP was waning?
  • [11:17] Which Linden: hasn't heard of any changes of direction
  • [11:18] Morgaine Dinova: Is it in order to ask what Philip does these days? Doesn't seem to be visible much
  • [11:18] Saijanai Kuhn: though, I realized suddenly I was worrying about nothing with the ImprovedisntantMessage packets and group IM. regardless of how hard it is to send binary blobs over llidl, a pure text message doesn't have that problem
  • [11:18] Saijanai Kuhn: well, Zero has disapeared for the next 6 weeks straight...
  • [11:18] Which Linden: speaking of IIM, I just used that page internally to help someone who was confused
  • [11:18] Morgaine Dinova: Not asking for inside information, just what Philip has changed his role to
  • [11:18] Which Linden: weird, I wonder what he's up to
  • [11:18] Saijanai Kuhn: the table page?
  • [11:19] Which Linden: yeah the table page
  • [11:19] Saijanai Kuhn: something about executve meetings or something. INfinity has been covering. Speaking of which, I missed that meeting this morning :-/
  • [11:20] Saijanai Kuhn: morgine did yiou go?
  • [11:20] Morgaine Dinova: There wasn't a meeting this morning, not a real one. Infinity only hung around for about 10 mins discussion, and no real topic got going.
  • [11:20] Which Linden: I believe that Philip is just being himself, just not talking as much to the press. I believe he's more of an engineer than most people really understand.
  • [11:20] Saijanai Kuhn: ah ok
  • [11:20] Saijanai Kuhn: so my decisions to sleep was agood one ;-0
  • [11:21] Morgaine Dinova: That's cool Which. Doing things is better than talking about them.
  • [11:21] Morgaine Dinova: I need to do more doing and less talking.
  • [11:21] Which Linden: Um.... we um..... this conversation is is ironic
  • [11:21] Morgaine Dinova: Sai++ ... he's doign plenty :-)
  • [11:22] Saijanai Kuhn: well I'm leveraging second life to recover lost skills so I have an excuse
  • [11:23] Saijanai Kuhn: 3 projects going at once
  • [11:23] Saijanai Kuhn: big change form 6 months ago
  • [11:23] Morgaine Dinova: I'm currently using SL as rest from work, hehe, so it's sort of the opposite :-)
  • [11:23] Which Linden: ha ha, I know how that is -- exhilarating at first, but then you get worn down
  • [11:24] Saijanai Kuhn: yeah, well, worn down is beter than chronic inactivty
  • [11:24] Which Linden: I've been sending this link around lately because I think it's good: [3]
  • [11:24] Morgaine Dinova: I'm not worn down. Although I was terribly disappointed to discover after a few months of AWG that the talk about scalability was entirely lip service. That wasn't cool. It cooled my interest though.
  • [11:24] Saijanai Kuhn: oh, and turns out that Tao put the core of this AD script into pyogp a long time ago. Unfortuately, it expects to use ZCA, which ENus just spent a couple of weeks factoring out
  • [11:25] Which Linden: Eh? Well, it's not lip service, it's prioritization of limited resources.
  • [11:25] Morgaine Dinova: The interest has sparked again because of the community though. They're really pushing hell for leather.
  • [11:25] Which Linden: BTW, I agree with the decision to factor out ZCA -- the fewer dependencies, the better
  • [11:25] Saijanai Kuhn: the AD design itself is the first and most important step toward scalability, I think
  • [11:25] Which Linden: yes -- the AD puts up an abstraction barrier that will make it easier to change things under the hood
  • [11:26] Saijanai Kuhn: Which, I understand, though, the concept of a built in modular plugin handler is extremely attractive
  • [11:26] Morgaine Dinova: Which: no, unfortunately, it was just lip service. Zero said point blank (after a lot of coaxing) that it was LL's choice not to scale sims, and that that would have to be done by third parties.
  • [11:26] Which Linden: Really.
  • [11:27] Saijanai Kuhn: Tao leveraged it for his plone implementation. As I understand it, with the ZCA hooks you could substitute any other webservice transparently
  • [11:27] Which Linden: Well, ok, but you're sure that was not prefixed with a "for now"?
  • [11:27] Morgaine Dinova: Sad, as I've always regarded sim scalability as the key to your success.
  • [11:28] Saijanai Kuhn: Morgaine, ironically, the big rumor right now is that LL is considering switching to 64-bit, which woudl allow 512x512 sims..
  • [11:28] Morgaine Dinova: Well, not explicitly. But of course, implicitly there's a "for now" in front of everything :-)
  • [11:28] Saijanai Kuhn: Zero used to work for Steve Jobs.
  • [11:28] Which Linden: Heh.
  • [11:29] Saijanai Kuhn: there's volumes left unsaid in that last statement
  • [11:29] Saijanai Kuhn: "No, Mr Amelio, I don't know where Larry is coming from, claiming I'm taking over the company..."
  • [11:29] Morgaine Dinova: Well there's a sort of RDF operating here too, the distortion of reality that is tying land acreage to cost. :-)
  • [11:30] Saijanai Kuhn: well, insomuch as its tied to server cores, its not that big a ficton I think
  • [11:31] Which Linden: Yeah -- there's a lot to be said for the fixed allocation of space to resources
  • [11:31] Saijanai Kuhn: make billing easier
  • [11:31] Saijanai Kuhn: otherwise you have to come up with some strange formula that no customer is going to understand anyway
  • [11:32] Which Linden: I think it works remarkably well -- it's the one concept that makes SL a scaleable world
  • [11:32] Morgaine Dinova: That coupling was the design flaw, and if LL doesn't decouple it PDQ then they're dead in the water as soon as a rival uses commonsense and doesn't tie disk storage to sims. 100,000 acre plots for $1, anyone? That's the cost of storage, or less
  • [11:32] Morgaine Dinova: Which: the SL world is utterly non-scalable.
  • [11:32] Saijanai Kuhn: but it's not the storage, its the scripting and physics
  • [11:33] Morgaine Dinova: It scales only if everyone stays at home, and people don't do that. So it's non-scalable.
  • [11:33] Which Linden: Compared to its predecessors? It sure is scaleable in that field.
  • [11:33] Saijanai Kuhn: disk cost isn't the issue. It's CPU and bandwidth costs
  • [11:33] Saijanai Kuhn: and bandwidth is actualy becoming more scarce
  • [11:33] Which Linden: But you are correct that tying cost more closely to actual resource usage will dramatically expand the possibilities
  • [11:34] Which Linden: It's just that land area is currently a reasonable proxy
  • [11:34] Morgaine Dinova: I know, which is why land acreage shouldn't be tied to cost. Disk storage (which gives acreage) costs nothing, only CPU and bandwidth have high costs. That's why the unit of cost should not have been tied to acreage.
  • [11:34] Morgaine Dinova: It's OK until you have competition.
  • [11:35] Morgaine Dinova: And then it's instant death./
  • [11:35] Which Linden: Disk storage isn't coupled to acreage -- object count matters for that
  • [11:35] Saijanai Kuhn: goes back to the complexity of the billing formulas though.
  • [11:36] Saijanai Kuhn: the acreage thing is tied to the internal handling of adjacent sims, I think
  • [11:36] Morgaine Dinova: Objects are not acreage. 10 objects on 100m^2 of land generate the same load as 10 objects on 1000000000000000000m^2.
  • [11:36] Saijanai Kuhn: one of hte OPenSIm guys tried to explain it to me once
  • [11:36] Saijanai Kuhn: Aside from objecting culling and script interactions and physics interactions...
  • [11:37] Morgaine Dinova: In fact, widely dispersed objects generate LESS load, since they're not all in range at once.
  • [11:37] Saijanai Kuhn: right, but then you get into issues concerning child-sims
  • [11:37] Which Linden: It gets pretty complex
  • [11:38] Morgaine Dinova: The whole concept of child sims is an artifact of LL's static tiling architecture --- we analysed that at length on the wiki in the first few months.
  • [11:38] Saijanai Kuhn: and the rest of the industry refuses to even try to handle the concept
  • [11:38] Morgaine Dinova: But since that's not going to change rapidly, you need to find some way of decoupling the acreage from the equation at least, or you're dead in the water once third party worlds do.
  • [11:39] Saijanai Kuhn: had a chat with a WoW engineer in the pygame channel a few months ago.
  • [11:39] Saijanai Kuhn: "no-one wnats interoperability" "no-one else uses visble adjacent sims because they are too slow anyway" etc
  • [11:40] Saijanai Kuhn: though, I can see a need to disallow adjacent sims for gameworlds
  • [11:40] Morgaine Dinova: Well that's the view of a dev who works in a universe of disjoint shards ... of course he'd say that :-)
  • [11:41] Saijanai Kuhn: sure, but he has a point: for HIS universe, those things have huge overhead and little benefit (that he can see)
  • [11:41] Which Linden: Yeah, it's all in how you cast the use cases
  • [11:41] Saijanai Kuhn: though interoperability is another issue. realXtend is planing on using SL as a social lobby for its gameworlds, I think
  • [11:42] Which Linden: Oh that's a cool idea
  • [11:42] Dontelio Bellic: hello
  • [11:42] Which Linden: Hi
  • [11:42] Morgaine Dinova: Fact of the matter is, the whole sharding vs single-universe argument is itself largely a red herring, because you can gain the benefits of instancing dynamically as well as statically. It's easier in WoW's static instanced way, but it's not the only way.
  • [11:43] Saijanai Kuhn: well, they've been concentrating on compatibiity and have their own TP solutions and implemented an agent domain-like thing months ago to facilitate that
  • [11:43] Which Linden: I guess, but who has actually deployed a production system that does dynamic sharding?
  • [11:43] Dontelio Bellic: wheres which linden?
  • [11:43] Which Linden: Who? :-)
  • [11:43] Dontelio Bellic:  !!!
  • [11:43] Dontelio Bellic: TREE!
  • [11:44] Dontelio Bellic: typing!
  • [11:44] Dontelio Bellic: TYPING TREE!
  • [11:44] Saijanai Kuhn: Which? ;-)
  • [11:44] Dontelio Bellic: YOU!!!
  • [11:44] Dontelio Bellic: how the?
  • [11:44] Dontelio Bellic: what the?
  • [11:44] Which Linden: All the cool avatars go vegeform these days.
  • [11:44] Saijanai Kuhn: specialized avatar
  • [11:44] Dontelio Bellic: haha
  • [11:45] Which Linden: One can hide the person-shaped avatar in various ways, and have a plant-shaped one show up instead
  • [11:45] Morgaine Dinova: In a simplistic way, ArenaNet has, in games like Guild Wars. Although it's only a poor-man's dynamic system, a single world where you can play with anyone anywhere, but you actually have to zone instead of fading between them, so not very dynamic.
  • [11:45] Dontelio Bellic: AAAAAAAAAAHHHHHHHHHH MONSTER!!!!!!!
  • [11:46] Saijanai Kuhn: from HP Lovecraft
  • [11:46] Morgaine Dinova: Don't be speciest, Dontelio ;-)
  • [11:46] Saijanai Kuhn: hmmm. interesting reaction...
  • [11:47] Which Linden: Yeah -- Morgaine : I think the underlying idea is simple, but in practice it multiplies the other complexities of the system. Not that it can't be done, but it's a lot of effort.
  • [11:47] Morgaine Dinova: There's no point doing anything that doesn't take effort :-)
  • [11:47] Which Linden: True, but, you know, like I said, prioritization of limited resources
  • [11:48] Saijanai Kuhn: well, one thing I'm hoping to do is open up experimentation with the Agent DOmain. that was the idea behind getting INfinity to define connection points and service discovery
  • [11:49] Which Linden: Think upon how long it took for virtual worlds to emerge from prototype to practice -- decades!
  • [11:49] Morgaine Dinova: And it's no less effort to make a static system either. Eg. SL has statically tiled zone allocation, which at first glance appears to be the simple approach, yet the primary objects of interest move around in the world, so you get into the complexities of handover and teleports and object migration etc etc .... so was it really simpler?
  • [11:49] Saijanai Kuhn: well, MUDs have been around for a long time...
  • [11:50] Which Linden: 99% of objects don't move, so, yes, it's a lot simpler because we can make assumptions about region crossings being rare events
  • [11:51] Which Linden: Yes but MUDs are to virtual worlds as roguelikes are to Warcraft
  • [11:51] Which Linden: (not to say that MUDs and roguelikes are not awesome)
  • [11:51] Saijanai Kuhn: rougelikes?
  • [11:51] Which Linden: nethack
  • [11:51] Which Linden: is playing Dwarf Fortress
  • [11:51] Morgaine Dinova: Which: The fact that 99% of objects don't move doesn't make it simpler. :-) It just means that the code for moving objects only gets exercise 1% of the time :-)
  • [11:52] Saijanai Kuhn: ah. Oh, BTW, the first multi-person virtual world was available on the XEROX Star 30 years ago
  • [11:52] Which Linden: Yes, which means that that code can receive 90% less attention
  • [11:52] Which Linden: Sad but true
  • [11:53] Saijanai Kuhn: I played it once on the Mac. fun stuff. MazeWars
  • [11:53] Which Linden: Oh, yeah, that's cool stuff, though that was more of an FPS wasn't it?
  • [11:53] Which Linden: is not sure about the line between virtual world and multiplayer game
  • [11:53] Saijanai Kuhn: wireframe shooter yeah
  • [11:54] Saijanai Kuhn: virtual lasertag with multi-levels
  • [11:54] Morgaine Dinova: Not moving is a property of movable objects too ... so designing for the non-moving case isn't even separable. :-) Effectively you have a statically tiled world of objects that move between them. Whether the resources move to the objects or vice versa have in principle equivalent complexity :-)
  • [11:55] Morgaine Dinova: Something wrong with last verb there :-)
  • [11:55] Saijanai Kuhn: hmmm, but either/or seems like it would be less complex that handling both cases at the same time
  • [11:55] Which Linden: On an unrelated note: [4]
  • [11:56] Morgaine Dinova: That's scary :-)
  • [11:56] Which Linden: Basically I believe the code works like this: if(thing is within 5 meters of sim border) { ah crap } else { party }
  • [11:57] Morgaine Dinova: Hahaha
  • [11:57] Saijanai Kuhn: amazing
  • [11:58] Morgaine Dinova: Well the only GOOD thing you have going for you is that as sim acreage increases, your handover band decreases as a percentage of it, which means less handover. Everything else is bleak though ;-)
  • [11:58] Saijanai Kuhn: One thing I've been wondering about is the caching issue. Right now its pretty broken anyway
  • [11:59] Which Linden: Are we caching anything?
  • [11:59] Morgaine Dinova: Everyone's always wondered about the caching :-)
  • [11:59] Saijanai Kuhn: in a multiverse, having a bunch of canned creative common textures and items could be stored permanently in its own cache amd speed things up
  • [11:59] Morgaine Dinova: It might be worthwhile commenting out the caching code entirely, and seeing if anything changes at all ;-)
  • [12:00] Which Linden: Heh well we don't do much caching you see
  • [12:00] Which Linden: We do cache assets because those are immutable, ditto for names
  • [12:01] Which Linden: The list of things that are cacheable is much shorter than the list that are not
  • [12:01] Which Linden: That can change if we rearchitect the system
  • [12:02] Saijanai Kuhn: another place where pyogp can help. You can run 2+ parallel architectures in the design
  • [12:02] Morgaine Dinova: I actually suggested on the forums some years ago that the current sim hardware be changed to nothing more than caches, with content migrating closer to where it's being used through normal caching methods. That was in a different context though, when the other site abroad was being discussed.
  • [12:02] Morgaine Dinova: The AD's going to pick up that role now though, sorta
  • [12:02] Saijanai Kuhn: OGP, not pyogp specifically
  • [12:03] Saijanai Kuhn: though Tao left his agent domain code instead the pyogp libraries anyway I just found out
  • [12:03] Saijanai Kuhn: code insdie* the pyogp libraries
  • [12:03] Which Linden: heh who know's what's in there!
  • [12:03] Morgaine Dinova: What does his AD code currently do?
  • [12:03] Which Linden: sorry about the grocer's apostrophe there
  • [12:04] Saijanai Kuhn: well after 2+ =weeks of stepping through with the debugger, I undeerstand the messaging system pretty well I think
  • [12:04] Morgaine Dinova: Very cool
  • [12:04] Saijanai Kuhn: it implements the protocols for draft 3 login and uses ZCA to talk to some web framework to do the actual talking
  • [12:05] Saijanai Kuhn: so you can login to the metaverse and end up in any specific OpenSim world
  • [12:05] Which Linden: so it's like a meta-ad?
  • [12:05] Saijanai Kuhn: he never implemented TP hower, and neer went back and brought the code up to date with the current specs for login, but the basic idea should work
  • [12:06] Saijanai Kuhn: well its a canned python-based AD you could stick on a webpage
  • [12:06] Saijanai Kuhn: which is eseential for tetsing AD to AD interactions
  • [12:06] Which Linden: ah I see
  • [12:06] Which Linden: right
  • [12:06] Saijanai Kuhn: or for testing modifications to the defined spec
  • [12:07] Morgaine Dinova: Have we ever had an AD-AD' interaction?
  • [12:07] Saijanai Kuhn: which is why I really want INfinity to finish describing a "blessed" way to add and discover facilities (like group IM) to the protocol
  • [12:07] Saijanai Kuhn: Morgaine,w itih only one official AD, the answer is nope
  • [12:08] Morgaine Dinova: The OpenSim's don't have a viable AD?
  • [12:08] Saijanai Kuhn: but once we have service discovery and an outgoing event pipe via caps, we can apply that to agent domain interactions as well as AD/client interactions
  • [12:08] Morgaine Dinova: Haha, same kind of apostrophe from me now :P
  • [12:08] Saijanai Kuhn: not that I'm aware of
  • [12:09] Saijanai Kuhn: group IM is the tip of the iceberg. Custom clients could establish P2P music collaboration for example
  • [12:09] Which Linden: Man, I think Zero wanted to solve the AD-RD problem before moving on to AD-AD'
  • [12:09] Saijanai Kuhn: yeah, and zero is out of the loop for 6 weeks.
  • [12:10] Morgaine Dinova: Well I'm confused as hell, because I thought we were doing a RESTful design, and I can't even see any REST nouns to target ;-)
  • [12:10] Saijanai Kuhn: with a canned AD that anyone can work with and the service discovery/ outgoing pipe defined, people can start experimenting NOW
  • [12:11] Saijanai Kuhn: I'm confused also, MMorgaine. What is there about an outgoing message pipe and service discovery that violates RESTful design?
  • [12:11] Which Linden:  ? there are plenty of nouns
  • [12:11] Which Linden: they're mostly caps, but, you know, that's for the children
  • [12:12] Morgaine Dinova: Sure, but where are they? There's not even a basic listing :-)
  • [12:12] Saijanai Kuhn: not sure I understand that last remark, but OOK
  • [12:13] Which Linden: there are some listed here, for example: [5]
  • [12:13] Which Linden: e.g. rez_avatar/derez
  • [12:13] Saijanai Kuhn: well, the EQG names are defined for sim messages in their own file. The packet structure fo the UDP packets reamains the same, but there's pleny that aren't defined by the udp message template
  • [12:14] Saijanai Kuhn: the question isn't about THOSE though, but about giving us a way of defining our own extensions AND a way of sending caps-based mesages out from the client
  • [12:14] Morgaine Dinova: Well look, caps are meant to represent the right to access REST resources. One needs to know the names of the resources (or at least the *classes* of those resources) to be able to figure out the architectural relationship between those resources, so that you can figure out bottlenecks, scalability, etc. But I don't see those resource names anywhere.
  • [12:14] Morgaine Dinova: So I don't see the architecture, except mentioned on the fly as bits of protocol.
  • [12:15] Morgaine Dinova: I can *infer* it, slightly.
  • [12:15] Saijanai Kuhn: wel, its a question of defining protocols I guess. We can define plenty of RESTy things if we have the protocols defined, but we don't, so its all handwaving in the air right now
  • [12:16] Saijanai Kuhn: we need two things: a way of discovering services and a way of sending messages OUTWARD over CAps
  • [12:16] Saijanai Kuhn: I mean, we know how to get caps for predefiend things like rez/avatar
  • [12:16] Morgaine Dinova: Those outbound message being over OGP still?
  • [12:16] Which Linden: yes -- REST should be good about discovering services -- just provide links
  • [12:17] Saijanai Kuhn: but there's no defined way of getting extenstion. and even if there was, there's no defined way of sendig things like a constant tream of packets to a CAP
  • [12:18] Saijanai Kuhn: assumes we are avoiding re-using UDP in teh AD<=>AD or AD<=>client communications
  • [12:18] Which Linden: ok, I should go, thanks for the lively discussion!
  • [12:19] Saijanai Kuhn: KK
  • [12:19] Morgaine Dinova: Well it ought to be exactly the same mechanism as the long-poll pipe that we keep talking about in the other direction.
  • [12:19] Saijanai Kuhn: thanks for hosting ths
  • [12:19] Morgaine Dinova: Wow, that went fast
  • [12:19] Morgaine Dinova: Cheers Which :-)
  • [12:19] Saijanai Kuhn: morgaine, I would assume that too but,
  • [12:19] Which Linden: Time flies when you're having fun. :-)