User:Zero Linden/Office Hours/2007 Apr 17

From Second Life Wiki
< User:Zero Linden/Office Hours
Revision as of 12:51, 1 May 2007 by Zero Linden (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Transcript of Zero Linden's office hours:

[12:53] Zero Linden: nooooooo!
[12:53] Donovan Linden: hello
[12:53] Donovan Linden: no voice?
[12:54] Zero Linden: about to go to office hours, so no
[12:54] Zero Linden: and RUTH'd!
[12:54] Donovan Linden: ah
[12:54] Zero Linden: ah back
[12:54] Donovan Linden: you looked ok to me
[12:55] Wire Edman: Sorry. Don't want to blow your cover.
[12:56] Khamon Fate: Hi Zero
[12:56] Jarod Godel: Hi
[12:56] Hiro Market: hey
[12:56] Zero Linden: i'm early for once
[12:56] Wire Edman: Did I crash a meeting of some kind?
[12:56] Zero Linden: Yes - I'm about to hold office hours
[12:56] Zero Linden: or rather, "hour"
[12:57] Zero Linden: See the little easel to my left
[12:57] Wire Edman: Yes. wondered about that.
[12:57] Zero Linden: Welcome to SL, Wire - enjoying your first two weeks?
[12:57] Wire Edman: How'd you know?
[12:58] Wire Edman: And yes. I like it in here.
[12:58] Zero Linden: Right-click on someone, choose profile, and in the profile window, the upper right has the "since date"
[12:58] Zero Linden: or "born date", rather ---
[12:58] Wire Edman: Oh yeah. I saw that. Just forgot about it.
[12:59] Zero Linden: Some people say "Rez-day" -- which I like better
[12:59] Wire Edman: Yes. As in Tron.
[12:59] Zero Linden hums... "You say it's your rez-day..... And what is it to you?...."
[13:00] Wire Edman: I see you are a Linden employee.
[13:00] Zero Linden: Indeed - as are all avatars with the last name "Linden"
[13:00] Khamon Fate: You take that back!
[13:00] Zero Linden: also, the last name "Tester" is for Lindens too
[13:00] Khamon Fate: Oh, you mean Zero ha ha
[13:00] Zero Linden: Khamon -- come to the dark side --- you know you want to!
[13:00] Khamon Fate: I like to think that most Lindens have alternate avs that play in the wora'uld just like we do.
[13:01] Jarod Godel: Khamon as a Linden. scaaaary.
[13:01] Zero Linden: Khamon - I do, and you can find it by reading my 1st life profile
[13:01] Khamon Fate: Actually, I've thought about applying as a Liason when this semester if finished. I'll have more free time through the summer.
[13:01] Rex Cronon: hello everybody
[13:01] Jarod Godel: "We need more plants," he would bellow, "Forget scripting tools. Give them seeing tools!"
[13:02] Zero Linden: I suppose I should make people drop their weapons on the outside of the tent
[13:02] Wyn Galbraith: Boy was it hard to get here.
[13:02] Khamon Fate: Wull maybe I could help with Speedtree of something too. But that would take a lot of hours.
[13:02] Zero Linden: I've seen scripted seeds in SL
[13:02] Rex Cronon: don't worry zero
[13:02] Jarod Godel: No speed tree
[13:02] Wyn Galbraith: I was thing of scripting a seed.
[13:02] Jarod Godel: i hate speed tree
[13:02] Rex Cronon: i am not going to start shooting everything in sight
[13:02] Wire Edman: I'll leave you all to your meeting. Seya later.
[13:02] Jarod Godel: :-p
[13:02] Wire Edman: Oh, nice!
[13:03] Khamon Fate: Yeah the alife type projects are interesting but the sim software isn't really up to hosting it very well yet.
[13:03] Zero Linden: Later,Wire
[13:03] Rex Cronon: i just came from rausch, i was testing some bulletes, since swt is down:(
[13:03] Khamon Fate: You can stay Wire, it's a public meeting
[13:03] Wyn Galbraith had to go to Tinbuctu to get to Zero's Ground.
[13:03] Zero Linden: Indeed, Wire - it is
[13:03] Jarod Godel: What would it take for SL/LSL to be up to ALife ideal?
[13:03] Hiro Market: i had to log out and back in
[13:03] Khamon Fate: Remember when Clyde was between Rausch and Jessie
[13:03] Jarod Godel: larger memeory stacks?
[13:03] Khamon Fate: They really got bombarded
[13:04] Jarod Godel: llHTTPRequest gives them persistant storage.
[13:04] Zero Linden: Jarod - well, I know people doing A-Life and they like to milk every cycle out of their computer... so, basically it'll never be up to snuff
[13:04] Khamon Fate: Bots Jarod, we'd need bots.
[13:04] Wyn Galbraith: I did that twice, went to Zero's sandbox thinking maybe I could get here from there. Tried getting here from logging in... it was tough I started at 12:45.
[13:04] Khamon Fate: And more than 40 of them in the sim at a time.
[13:04] Wyn Galbraith loves bots.
[13:04] Jarod Godel: Khamon, we need a client API for true bots.
[13:04] Donovan Linden: I'm going to lurk
[13:05] Wyn Galbraith: Hello Donovan.
[13:05] Khamon Fate: We need flexible prims to be resized properly after they're resized by llSetPrimitiveParams()
[13:05] Khamon Fate: I mean rendered properly after they've...
[13:05] Wyn Galbraith loves meeting new Lindens :).
[13:05] Donovan Linden: flexi-prims are client side, that sounds like a bug that could be fixed in the open source client
[13:05] Donovan Linden: hi wyn
[13:06] Jarod Godel: Zero: heh, yes. A-Life types are likely the same kind of hackers who prefer C over Perl, because it gets them closer to the metal.
[13:06] Khamon Fate: Flexible prims are a feature Donovan, their proper rendering should be fixed by Linden Lab.
[13:06] Jarod Godel: Which is understandable given what they're doing.
[13:06] Jarod Godel: and that should be :assembly over C," sorry.
[13:06] Donovan Linden: Khamon: Sure, just sayin'
[13:06] Zha Ewry sits, betting the intenral IRC channel isn't quiet
[13:07] Khamon Fate: Isn't that like dividing by zero Jarod?
[13:07] Rex Cronon: hi donovan, zha
[13:07] Khamon Fate: Hey Zha
[13:07] Jarod Godel: I'm pretty sure Zero only multiplies.
[13:07] Zero Linden: now you're scaring me, Zha
[13:07] Zha Ewry: Took four tries to get here.
[13:07] Zha Ewry: Got ruthed, underwater. 50m from here, with an inv full of someoen elses stuff
[13:08] Khamon Fate: Zha is IRpsyCic
[13:08] Zha Ewry: I'm willing to bet.. that wasn't a good sign
[13:08] Wyn Galbraith: Hello, Zha. I ended up underwater too with a box.
[13:08] Khamon Fate: Really? Someone elses' stuff?
[13:08] Khamon Fate: That's a bit odd.
[13:08] Zero Linden: That's true - I like to multiply C++ by Python by (HTTP + XML)
[13:08] Rex Cronon: i don't like that.
[13:08] Zero Linden: okay, so there was an add in there...
[13:08] Wyn Galbraith loves SL cause you sometimes never know where you're going to show up. Part of the fun.
[13:09] Hiro Market: and as what
[13:09] Zha Ewry: Nor I.. Not clear who's it was. Ruthed, and clothing on that I don't own
[13:09] Rex Cronon: is not good if other people end up with my things:(
[13:09] Khamon Fate: In all fairness, the sims software wasn't designed to support alife type simulations. That's a possible future direction.
[13:09] Zero Linden: uhm - you probably had just the LIbrary inventory
[13:09] Khamon Fate: You people and your attachments
[13:09] Zha Ewry: For that matter. I'm rezzzed in the clothing I had on, 4 logs back
[13:09] Zero Linden: one cause of being Ruth'd is that the sim can't get to your inventory server fast enough -
[13:10] Khamon Fate: Have you been betagridding Zha?
[13:10] Zero Linden: in which case it can't get your body shape, and ditto your contents
[13:10] Zero Linden: in that case, you get only the library
[13:10] Zha Ewry: Not since I emptied my cache
[13:10] Khamon Fate: Oh that makes sense
[13:10] Wyn Galbraith: At least you're not naked.
[13:11] Zha Ewry: This was beyond the normal ruthing.. but.. shrug.
[13:11] Rex Cronon: ok, i have a question, how come possible for others to spam you so hard with textrues that your client crashes?
[13:11] Zha Ewry: Yesterday other people could see parts of *MY* RL desktop in thier clients
[13:11] Wyn Galbraith: How many can write in their diary, or blog, today at work I got Ruth'd?
[13:11] Zero Linden: Zha - now wait a minute!
[13:11] Zero Linden: your RL desktop? I assure you we don't send that up
[13:12] Zha Ewry: I had textures which were my desktop... People could read them.
[13:12] Zha Ewry: And I saw the same.. today.
[13:12] Zero Linden: Had you been VNCing with 'em
[13:12] Zero Linden: ?
[13:12] Zha Ewry: Jeans textured with someone's desktop
[13:12] Rex Cronon: if there are memory allocation problems they can see it
[13:12] Zero Linden: we sometimes show random segments of OpenGL memory as textures
[13:12] Zha Ewry: No.. I hadn't been
[13:12] Zha Ewry: I'll save you a screen shot
[13:12] Zha Ewry: It was freaky
[13:12] Zero Linden: Okay - let's officially begin
[13:13] Zero Linden: As always, everything said here will end up in the wiki - talk openly and be welcome.
[13:13] Wyn Galbraith: Would that have anything to do with the graphics memory getting dumped somehow?
[13:13] Zero Linden: SO.... let's look at the graphics issues a bit - insofar as I can
[13:13] Rex Cronon: how about my question?
[13:13] Zero Linden: The pipeline looks like this
[13:13] Zero Linden: sim sends jpeg2000 compressed streams bit by bit to the viewer
[13:14] Zero Linden: the viewer decodes them into a sequence of "MIP" levels, or the same image at different sizes
[13:14] Rex Cronon: u chunks in datagrams
[13:14] Zero Linden: it does so progressivly as it gets the data
[13:14] Rex Cronon: u mean*
[13:14] Zero Linden: Then it feeds the texture data to openGL
[13:14] Zero Linden: but - there is always, ALWAYS, too much of it
[13:14] Zero Linden: so it feeds different MIP levels based on how far away the texture is... and does
[13:15] Zero Linden: some other juggling to try to get an "optimized" mix
[13:15] Zero Linden: So - First likely place to get a crash
[13:15] Jarod Godel: Is that why GLIntercept always showed 2-3 versions of the same texture?
[13:15] Zero Linden: Jarod - yes
[13:15] Wyn Galbraith: Interesting.
[13:15] Khamon Fate: That *is* interesting
[13:16] Zero Linden: The decode is supposed to be "safe" -- you should be able to spew junk at the jpeg2000 decoded
[13:16] Zero Linden: and it should just happily say "malformed"
[13:16] Zero Linden: but - it isn't clear to us that that is certain - there may be cases where it crashes....
[13:16] Zha Ewry looks thoughtul at should
[13:16] Zero Linden: Second place for a possible crash-
[13:16] Wyn Galbraith notes that should doesn't make it so ;)
[13:16] Zero Linden: There is a tremendous amount of texture fragments flying around and so lots of memory and disk management for them
[13:17] Zero Linden: Oh yes, on the should - we didn't even write it! It is the KDU library with the "safe" options enabled
[13:17] Rex Cronon: griefers use textrues to spam others(even to crash their viewer) :(
[13:17] Zero Linden: So yes, we are well aware of the likelyhood of some sequence that might kill it.
[13:17] Wyn Galbraith wonders, "That could be why I have been getting blue screen stops in display threads since the last viewer release.
[13:18] Zero Linden: Wyn - I suppose - the way to detect the first one is to clear you cache, and then see if there is a particular texture that, when it comes into view, it crashes
[13:18] Khamon Fate: When you reach a point Zero, will you explain how shared RAM is used in addition to the GPU's memory?
[13:19] Zero Linden: If you have one that is reliable - let us know!
[13:19] Khamon Fate: and if video data is ever swapped to the HD
[13:19] Wyn Galbraith: Ah good idea. It usually happens when I'm building and zero'ng in on a section of the build. I figured it was taxing the display.
[13:19] Zero Linden: Okay - so second place for crashing is in memory management. We feel pretty confident that stuff is working there - since it if wasn't - things would go south pretty quickly -- there is a lot of texture data in almost every scene
[13:20] Donovan Linden: ALMOST every scene? :-)
[13:20] Hiro Market: how does your low level texture management work - deciding what to bind?
[13:20] Zero Linden: The third place for crashing is with moving things in and out of OpenGL memory.
[13:20] Zero Linden: Here there are many deamons - the most being that we are working to an abstract standard that is implemented
[13:20] Zero Linden: very differently, and often with extensions, with every different video card driver
[13:20] Wyn Galbraith increased her memory from 1G to 2G, updated her display driver, dumped Norton and put an icepack under the laptop. Now it happens less but it still happens.
[13:21] Zero Linden: What video system?
[13:21] Zero Linden: Now - as for movement of texture data
[13:21] Wyn Galbraith: Of course it's unsupported. Intel on a Gateway Tablet PC.
[13:21] Zero Linden: Ah - well, that is about the worst case -
[13:22] Zha Ewry nods @ icepack
[13:22] Wyn Galbraith: That's why I haven't filed a bug. Figured it would be tossed out.
[13:22] Zero Linden: Not that I don't think we'd like to support it - but those drivers are even harder to work with
[13:22] Wyn Galbraith: Hey the icepack helps.
[13:22] Zero Linden: at least, that's my understanding
[13:22] Zha Ewry has nearly burnt RL thighs on the laptop
[13:22] Donovan Linden: We don't have a very big graphics team
[13:22] Zero Linden: As I understand our texture methodology-
[13:22] Donovan Linden: Which is why I encourage people to take a look at the open source viewer and pitch in
[13:22] Zero Linden: we never move textures from the video card back to main memory EXCEPT
[13:23] Zero Linden: for two things (and now I think I know how Zha's friend saw her desktop...)
[13:23] Wyn Galbraith always tests boundries, it's her nature, "Too many years of QA".
[13:23] Donovan Linden: Doesn't baking textures composite on the gpu and then move the result to main memory
[13:23] Zero Linden: 1) When you "bake" your avatar - we use OpenGL to composite all the textures and then read back the composited result
[13:23] Donovan Linden: I think I know Zero's theory about Zha's bug
[13:24] Zero Linden: So - Zha - if the read back, which is one of the things in OpenGL that is very unevenily implemented - or there are lots of prorpitary extensions for it
[13:24] Zero Linden: could have read back part of your desktop
[13:24] Zha Ewry: Ahhh...
[13:24] Zero Linden: and then upload that as your clothing
[13:25] Zha Ewry: We will try and recreate and get you a screenshot
[13:25] Zha Ewry: That's what it looks like to us
[13:25] Zero Linden: Zha - do you have two monitors?
[13:25] Zha Ewry: Yeah.
[13:25] Wyn Galbraith: I bet it's my OpenGL, it's 1.something. I think SL recommends 2.something.
[13:25] Zha Ewry: External on the laptop..
[13:25] Zero Linden: And do you have SL on the non-main window?
[13:25] Zha Ewry: I never run 2 at once, tho
[13:25] Zero Linden: (the one without the menu bar, if it is a mac)
[13:25] Donovan Linden: I wish we did baking server-side, but we don't have any composition code available in that environment
[13:25] Zha Ewry: That's begging to blue screen
[13:25] Khamon Fate: This is making sense. What's the other reason you move textures into main memory?
[13:26] Zha Ewry: Zero.. with this as a clue.. we'll try and teack down a bit more
[13:26] Donovan Linden: composition? compositing
[13:26] Hiro Market: hmm, I've run the client expanded across two monitors and amazingly it works fine
[13:26] Zero Linden: No, even if you only run one SL - if SL is on the non-main screen, then the OpenGL support for readback isn't well defined - and our code doesn't always work
[13:26] Zero Linden: but we don't know of code that always will
[13:26] Zha Ewry: Ahh.
[13:26] Zha Ewry: Nodes
[13:26] Zha Ewry: Nods
[13:26] Zha Ewry: Ok.
[13:26] Donovan Linden: Hiro: That's awesome, mac or pc?
[13:26] Zero Linden: Hiro - it is only the read back function that doesn't seem to work
[13:26] Wyn Galbraith: This is so very informative.
[13:27] Zero Linden: there are coordinate things that don't seem to work correctly
[13:27] Zha Ewry: Why we all show up here ;-)
[13:27] Hiro Market: PC, nvidia 6600GT 256MB , Vista Business with aeroglass
[13:27] Sifu Moraga: :-)
[13:27] Wyn Galbraith grins and loves coming here.
[13:27] Zero Linden: "Nodes"! I like to node too.... I bet Khamon does all the time....
[13:27] Donovan Linden: Nice
[13:27] Wyn Galbraith just noded in her last network project for school.
[13:27] Zha Ewry winces at her usual sloppy typing
[13:28] Zha Ewry normally only nodes when her head is stubbed ub
[13:28] Zero Linden: The other read back happens when you click on anything --- we use openGL to redraw the screen, giving each object a fixed color, then read back the pixel color at the place themouse is
[13:28] Zero Linden: then we go back to normal drawing
[13:28] Zero Linden: this seems to work on multiple monitors flawlessly
[13:28] Sifu Moraga: !
[13:28] Donovan Linden: That part is probably not going to ever change... right?
[13:28] Wyn Galbraith: Don't worry Zha, that might be the viewer too. My son types like lightening and always complains of dropped or changed letters.
[13:29] Wyn Galbraith: Wait, it runs better on multiple monitors?
[13:29] Zero Linden: Donovan - no - it is a pretty clever trick which keeps the application from ahving to duplicate all the transforms that the video GPU does so well
[13:29] Sifu Moraga: definately the viewer. I get that all the time: the dropped letters
[13:29] Zero Linden: Wyn - no you misunderstood me - the clicking read-back from the video card works just as well on two monitors as one
[13:30] Wyn Galbraith: Ah, ok, I understand.
[13:30] Donovan Linden: I keep trying to think of ways we could figure out the x, y coordinates of the click on the face as well, but I fail
[13:30] Khamon Fate: If y'all do that, why don't we have touch areas on primitives?
[13:30] Zero Linden: Donovan - I have a plan for that....
[13:30] Khamon Fate: Great minds think alike.
[13:30] Donovan Linden: Khamon: Because we can figure out what prim was clicked, but not where
[13:30] Zero Linden: Khamon - we paint each object with a solid flat color
[13:31] Khamon Fate: Oh oh you said that DOH Khamon
[13:31] Donovan Linden: I guess figuring out where involves some sort of translation between two coordinate spaces
[13:31] Zero Linden: If we do a second pass, painting just the object selected, then we could determine both face and x,y
[13:31] Donovan Linden: I'm not a 3d graphics programmer :P
[13:31] Wyn Galbraith: I've seen the dead flat gray.
[13:31] Donovan Linden: Zero: I thought that might work
[13:31] Zero Linden: where x,y would be keyed to the texture repeat and angle and offest
[13:31] Khamon Fate: It would have to be the sim that knew the coords
[13:31] Zero Linden: ?
[13:31] Donovan Linden: would the second pass render some sort of gradient across the selected prim, and everything else as black?
[13:31] Zero Linden: No - we can do it all viewer side
[13:32] Khamon Fate: and then have the viewer transmit to the sim where I touched the prim?
[13:32] Wyn Galbraith ponders looking at the viewer code just for fun.
[13:32] Donovan Linden: This is another thing that could be done completely using the open source codebase
[13:32] Donovan Linden: Since linden isn't likely to get to it any time soon... :(
[13:32] Zero Linden: Yes - rerender the object, temporarily replacing all the textures with textures that ramp red from 0 to 1 in one axis, green 0 to 1 in the other, and encode the face number in blue
[13:32] Khamon Fate: True that kind of branch project is perfect for the open source crew
[13:32] Donovan Linden: Yes, and then the viewer would transmit to the sim where you touched the prim
[13:33] Zero Linden: Well- donovan, we'd need a message back to the sim that delivered that information
[13:33] Zero Linden: but the gathering of the info could be done on the open source side
[13:33] Wyn Galbraith: That's a interesting suggestion Zero.
[13:33] Khamon Fate: You would yes because the script would need to know.
[13:33] Donovan Linden: Right, but if the coords were gathered and the patch were submitted, it would be incentive for us to add the server side
[13:33] Donovan Linden: since many many scripts would benefit from it
[13:33] Zero Linden: You just need one such gradient texture for each face ... and they can be small, 128x128 is probably sufficient
[13:33] Donovan Linden: All interactive user interfaces would benefit
[13:33] Zero Linden: infact 64x64 probably is
[13:34] Khamon Fate: Just add it to the dialog box code as something talking to the script.
[13:34] Zero Linden: well, we'd add llDetectedFace() and llDetectedPos() calls methinks
[13:34] Khamon Fate: yes we don't need many touch points even on larger prims
[13:34] Zero Linden: then in touch_start() you could get them
[13:34] Zero Linden: well, for that matter 32x32 would probably be enough
[13:35] Zero Linden: (small textures are good as we'd need to keep all of them in the video memory at all times)
[13:35] Sifu Moraga thinks this all seems like the wrong approach but can't think of anything better
[13:35] Rex Cronon: at least detectedface can be quite usefull
[13:36] Zero Linden: Sifu - well - it is a sort of low level abstraction... but until there has been a decade of building 3D UIs, I'm not sure we know what the right tool kit is
[13:36] Khamon Fate: yes that's true, it provides a three touch prim
[13:36] Zero Linden: think of it as the X of virtual worlds
[13:36] Donovan Linden: the remote display protocol
[13:36] Khamon Fate: A more highly abstracted tool will likely just do this same thing transparently.
[13:36] Zero Linden: after two decades, we now know how a 2.5D window system should work - and all the APIs to all the toolkits are basically the same
[13:36] Sifu Moraga: don't take it as critism, Zero.
[13:37] Sifu Moraga: I'm a security geek, not a game programmer
[13:37] Donovan Linden: Khamon: You mean just tell you the coord that was clicked in the touched callback or something?
[13:37] Zero Linden: I don't - I'm just lamenting with you that we don't know what a 3D world UI should be yet
[13:37] Donovan Linden: Sifu: Heh yeah game programmers think completely differently about problems
[13:37] Donovan Linden: It's always about how fast you can do something
[13:37] Sifu Moraga: that's why this is all so much fun - the unknown
[13:38] Donovan Linden: At least, that's what it seems like to me, a non-game-programmer
[13:38] Donovan Linden: Or Non-game programmer
[13:38] Khamon Fate: Linden hires non-gamers? whoa
[13:38] Donovan Linden: heh. Well, I'm a gamer...
[13:38] Khamon Fate: Do y'all drink coffee too?
[13:38] Donovan Linden: I try not to
[13:38] Sifu Moraga: coffee? what's that?
[13:38] Donovan Linden: but sometimes I do ;)
[13:38] Wyn Galbraith has always been a wantabe program, took classes and everything, ended up working with programmers instead of being one :).
[13:39] Zero Linden: Khamon- I'm a non-gamer - never programmed them, hardly ever played 'em
[13:39] Rex Cronon: why doesn't each face have a different color, for each object?
[13:39] Sifu Moraga: It took Joi Ito to get me to try SL. I've never ever been into gaming.
[13:39] Khamon Fate: ha ha I graduated with programming degrees and would up building networks.
[13:40] Wyn Galbraith: SL isn't a game.
[13:40] Zero Linden: Rex - when we are picking an object for a click? I think they were worried about the number of distinct colors they could count on
[13:40] Zero Linden: when they wrote it....
[13:40] Sifu Moraga: That's what I found out, and Joi already knew
[13:40] Zero Linden: like remember when we all made our web pages use the "Netscape color pallet"?
[13:40] Wyn Galbraith remembers.
[13:40] Khamon Fate: I still use basic color codes, multiple of three.
[13:41] Sifu Moraga: *cough cough*
[13:41] Zero Linden: right - well, now we can assume 24bit color everywhere
[13:41] Khamon Fate: s, multiples
[13:41] Wyn Galbraith builds her webpages with TextPad.
[13:41] Zero Linden: but there was a time when 16bit color was not uncommon (might still be for all I know)
[13:41] Zero Linden: inwhich case 15k prims x 8 faces....
[13:41] Zero Linden: too many
[13:41] Khamon Fate: So you *are* a programmer Wyn if you're writing PHP in TextPad.
[13:41] Jarod Godel: I'm ff0000 with envy at your skill with colors Khamon.
[13:42] Rex Cronon: i think i know how to fix it, each face has a different alpha(at least for the get face touched)
[13:42] Sifu Moraga: lol
[13:42] Zero Linden: 9... 9 faces... a twisted tube can have 9 faces!!!
[13:42] Hiro Market: aye, but you'd have had to choose to put the client into 16 bit mode
[13:42] Khamon Fate: ahem that's 00FF00 Jarod
[13:42] Jarod Godel: my point exactly
[13:42] Khamon Fate: I generally prefer 009900 myself.
[13:42] Zero Linden: Jarod - that is the geekiest thing said at these office hours yet!
[13:43] Jarod Godel: yay
[13:43] Zero Linden: ...even if it was technically inaccurate...
[13:43] Jarod Godel: Now I feel 0000ff
[13:43] Wyn Galbraith suddenly gets Jarod's joke.
[13:43] Khamon Fate shouts: STOP STOP
[13:43] Zero Linden: LOL
[13:43] Sifu Moraga: OT alarm
[13:43] Jarod Godel 000000's out and sees an ffffff light
[13:43] Khamon Fate: 110001010100100110101011110010000100000000101010101001001010100101001!!1
[13:43] Zero Linden: Okay - so latest from the message liberation trenches
[13:44] Hiro Market: or fades to 00FFFFFF
[13:44] Wyn Galbraith: Oh don't make me decode binary... my favorite thing.
[13:44] Rex Cronon: translator needed from hex to english:)
[13:44] Khamon Fate: Is tomorrow's patch postponed? Really?
[13:44] Zero Linden: Seems the rebels (that's us) were delt a serious set back when they found that the protocol for adding child cameras wasn't going to easily
[13:44] Zero Linden: work with capabilities
[13:44] Khamon Fate: I made that up, don't waste your cycles.
[13:45] Zero Linden: We also spent hours going in circles trying to understand what the current packing order is and why it works
[13:45] Zero Linden: since our "fix" to it didn't, and in fact crashed horribly
[13:45] Rex Cronon: packing order of what?
[13:46] Zero Linden: Long and short of it is - we've whipped up a new protocol for getting child cameras to relay capabilities
[13:46] Jarod Godel: ...
[13:46] Jarod Godel: dooood!
[13:46] Sifu Moraga digs into SLDEV for the relevant discussion...
[13:46] Zero Linden: and as of just before lunch I finally understood how the crazy packing order was managed in both builder and decoded
[13:46] Rex Cronon: why exactly do u need child cameras?
[13:47] Zero Linden: Ah - Child Cameras
[13:47] Zero Linden: good topic
[13:47] Zero Linden: So - when you are near a sim edge and can see into a neighboring sim
[13:47] Donovan Linden: The child camera is a connection the viewer has to a sim the avatar can see, but is not on
[13:47] Zero Linden: rather than have that sim relay all information about it to the sim you are in, so that the sim you are in can send it to you
[13:48] Rex Cronon: so there are 8 child cameras available at all time?
[13:48] Zero Linden: the viewable sim has a "Child Camera" for you - a sort of phantom avatar - that is positioned in it's local space, off it's edges to match where you are
[13:48] Zero Linden: then it can send all object updates and sim info directly to you
[13:48] Zero Linden: under message liberation, that path needs to have capabilities, so your viewer can get those messages securely - via HTTP event polling
[13:49] Wyn Galbraith: Is that how throwing your sight works? It's a child camera?
[13:49] Zero Linden: SO, when the sim you're in establishes to the sim you can view, and to your viewer, that there needs to be this communication, there needs to be a single, secure "seed capability"
[13:49] Zero Linden: transmitted from the viewed sim to the current sim to you (as *that* is a secure channel) - after which the viewer has a secure channel to the viewed sim
[13:49] Zero Linden: follow me?
[13:50] Wyn Galbraith: Wow.
[13:50] Donovan Linden: Hey otakup0pe
[13:50] otakup0pe Neumann: Hi
[13:50] Zero Linden: Rex - no - the sim tracks your frustum - what you can see - so it needn't have all 8 child cameras active at once
[13:50] Jarod Godel: Zero, is that based on where our avatar is or where our POV is?
[13:50] Zero Linden: POV
[13:50] Zero Linden: so yes, the viewer is constantly informing the sim of camera motino
[13:50] Zero Linden: motion
[13:51] Rex Cronon: if i set the draw distance over 300, and look from up to ground i can see all 8 surrounding sims
[13:51] Zero Linden: (I'm not sure of the priority of that info... though....)
[13:51] Zero Linden: exactly
[13:51] Khamon Fate: The viewer sends the sim loads of data. No wonder avs are such a drag.
[13:51] otakup0pe Neumann: Heh.
[13:52] otakup0pe Neumann: Everybody should use Sleek.
[13:52] Zero Linden: So, the problem was that the sim basically told the viewed sim, and the viewer introductions to each other ---
[13:52] Donovan Linden: Yeah, and the sim has to do the hard work of calculating what the avatars can see, as well
[13:52] Donovan Linden: the "interest list"
[13:52] Zero Linden: but didn't allow for any data to flow from the viewed sim to the viewer
[13:52] otakup0pe Neumann: I've heard about this interest list.
[13:53] Jarod Godel: Zero, why can't child cam's just cache a sim and not load real-time?
[13:53] Zero Linden: So - we had to add protocol to the child camera code - and that wasn't easy - as it gets very complicated near corners
[13:53] Zero Linden: remember that each sim only talks with the four touching sims -
[13:53] Khamon Fate: not the corners
[13:53] Zero Linden: so the sim on the corner needs to get told that you can see it ... but this has to get relayed via the other sims...
[13:54] Zero Linden: ick!
[13:54] Rex Cronon: so touching courners is not really touching?
[13:54] Zero Linden: Rex- correct
[13:54] Zero Linden: Jarod - becuase then those regions would appear static to you
[13:54] Zero Linden: which would break the connected world
[13:54] Khamon Fate: Why *don't* sims talk to their corners?
[13:54] Wyn Galbraith repeats her wow.
[13:54] Zero Linden: Khamon - I was just wondering myself....
[13:55] Zero Linden: At least for this aspect of the protocol it would much easier!
[13:55] Donovan Linden: Yeah, is there a good reason not just to have sims talk to all 8?
[13:55] Khamon Fate: There must be a reason.
[13:55] Hiro Market: so if you moved a cube across a corner?
[13:55] Donovan Linden: I bet there isn't a reason
[13:55] Zero Linden: Donovan - once all communication is via HTTP - then probably not -
[13:55] Zero Linden: the UDP circuits have overhead to keep them alive
[13:55] Wyn Galbraith: That's why you can fall out when crossing sim borders too quickly.
[13:55] Khamon Fate: You don't Hiro, you always cross two borders to go through a corner.
[13:55] Donovan Linden: Yeah but 4 more sims are nothing compared to the overhead of the avatars! :)
[13:55] Wyn Galbraith does that for fun.
[13:55] Zero Linden: Wyn - there is quite a bit of clever protocol with retrying and fallback to make things like navigating corners work and be reliable
[13:56] Khamon Fate: What Donovan said.
[13:56] Zero Linden: Right - the Hiro's cube does two crossings
[13:56] Wyn Galbraith: I want to stop at the border sometime, there's one right behind my land, and say "Hey, I'm getting ready to cross..."
[13:56] Khamon Fate: The Child Camera that Ate the Corner Sim.
[13:56] Donovan Linden: Well if icehouse ends up doing the region domain work, we'll see about having all 8 neighbors talked to directly
[13:56] Zha Ewry would click that button, if it exited Wyn
[13:56] Zero Linden: Indeed....
[13:57] Donovan Linden: but that's not likely to be for quite a while...
[13:57] Wyn Galbraith: Maybe the corners could be secondary in the que.
[13:57] Zero Linden: Just remember - it is hard because, for example, any of the 8 might just drop off at anytime and reconnect (from another simulator host!)
[13:57] Khamon Fate: If you had a button that instantly ended all life in the Universe,
[13:57] Wyn Galbraith laughs at Zha's comment.
[13:57] Zero Linden: and we need to reestablish all the communications
[13:57] Jarod Godel: Click, click, click.
[13:57] Zero Linden: I'm actually in a bit of awe that it all works and how robust that aspect of our system is
[13:58] Zero Linden: (I know, "robust?!?!?" you're all thinking)
[13:58] Khamon Fate: Jarod Godel << Davros
[13:58] Wyn Galbraith: I've been afraid to think about the depth of the code that runs SL. But it leaks into dreams.
[13:58] Khamon Fate: Compelling Zero, you're supposed to call it compelling.
[13:59] Zero Linden: (but most systems would just give up and say something like "oh, that server crashed? just re-load to see it" - whereas for themost part SL systems automatically recover)
[13:59] Khamon Fate: Or is only Philip allowed to say that?
[13:59] Wyn Galbraith remembers testing a VR enviroment at Autodesk when she discovered some old software of theirs that no one wanted. "There was a demo."
[14:00] Khamon Fate: Remember Adobe's Atmosphere?
[14:00] Rex Cronon: so if they self-recover why does it take so long for sims to work again after griefers attack?
[14:00] Wyn Galbraith: No, missed that one.
[14:01] Khamon Fate: They have to IPL, then talk to the space server, then load ALL the sim data, at least. That's gotta take some time.
[14:01] Zero Linden: Rex - that's pretty open ended - there are many things that can go wrong - and reallyl most regions restart within 2 min. or so of crashing
[14:01] otakup0pe Neumann: if the state they save when crashing contains malicious objects, they'd keep looping
[14:01] Zero Linden: And then another 1 min. of start up at most...
[14:01] otakup0pe Neumann: is how i once heard it explained
[14:01] Zero Linden: otaku. - exactly
[14:02] Zero Linden: though we detect that and shut the region down after a few quick crashes
[14:02] Zero Linden: and then it requires grid monkeys....
[14:02] Khamon Fate: Y'all I gotta buzz. Thanks for hosting Zero
[14:02] Khamon Fate: And Thank You for attending Donovan
[14:02] Rex Cronon: i guess SWT(sandbox weapons testing) must be a bad exception, since it has been down since 10:05:(
[14:02] Khamon Fate: Oh look, I'm not standing in the chair
[14:03] Zero Linden: Rex - right
[14:03] Zero Linden: I'm looking at it now
[14:03] Zero Linden: It crashed at 10:04 - then cam back up -
[14:03] Zero Linden: and ran until 12:36 - crashed 5 times in 10 minutes
[14:03] Rex Cronon: i already talked to 2 lindes about it, but is still down
[14:03] Zero Linden: and is now marked "crashed"
[14:03] Zero Linden: and won't restart until someone goes and removes what's in it that is bad
[14:04] Jarod Godel: Keeping SWT up must be like running a bloodbank full of vampires.
[14:04] Rex Cronon: either phyical objects or self-replicators
[14:04] Zero Linden: YUP!
[14:04] Donovan Linden: Cleaning crashed sims is either the job of concierge or gridmonkey
[14:05] Sifu Moraga: We crashed a few clients doing weapons training on my island but not the sim
[14:05] Zero Linden: Okay all - time to hit the source code again for me
[14:05] Jarod Godel: l8r, 0
[14:05] Wyn Galbraith has a class to go to.
[14:05] Sifu Moraga: cu, tx
[14:05] Rex Cronon: bye zero
[14:05] Zero Linden: Thanks again - 'til Thursday.
[14:05] Hiro Market: that was really interesting 0
[14:05] Zha Ewry: Bye Zero, and thanks as always
[14:05] Rex Cronon: thanks for your time
[14:05] Wyn Galbraith: Thanks again Zero. Always interesting. I love this talk.
[14:05] Donovan Linden: bye everybody
[14:06] otakup0pe Neumann: Bye everyone as well.
[14:06] Rex Cronon: bye donavan
[14:06] Wyn Galbraith: Bye all, got to go make a wishing well.
[14:06] Sifu Moraga: bye Donovan