User:Which Linden/Office Hours/2008 Mar 20

From Second Life Wiki
Jump to: navigation, search
  • [11:05] Morgaine Dinova: Every player I've tried on Linux and WinXP recognizes the flash envelope (of course) and the video codec. They all fail on the sound though.
  • [11:05] Which Linden: good morning!
  • [11:05] Arawn Spitteler: Good morning
  • [11:05] Harleen Gretzky: Hello Which :)
  • [11:05] Saijanai Kuhn: thinking I could open it in QT or iTunes and export to something more standard
  • [11:06] Morgaine Dinova: Yeah. An export or conversion would be fine. I just want to archive the video for posterity, an that can't be done with a proprietary audio codec.
  • [11:06] Morgaine Dinova: Hiya Which!
  • [11:06] Which Linden: what's going on with you all?
  • [11:07] Arawn Spitteler: can't click on the couch, next to morgaine
  • [11:07] Which Linden: there you go
  • [11:07] Morgaine Dinova: Not much this end, all seems cool. Enjoy AWG2?#
  • [11:07] Morgaine Dinova: Not much this end. Enjoy your AWG2?
  • [11:07] Which Linden: I just got back from PyCon, I didn't get to attend AWG2
  • [11:07] Morgaine Dinova: Wow, major vicinity chat lag.
  • [11:08] Which Linden: yah
  • [11:08] Which Linden: did anyone here go to awg2?
  • [11:08] Arawn Spitteler: You can say that again, but I haven't figured out how.
  • [11:08] Saijanai Kuhn: /riaises hand
  • [11:08] Which Linden: how was it?
  • [11:08] Which Linden: what topics did you all cover?
  • [11:08] Saijanai Kuhn: OK, I can get it to open in QT which format do you want it in?
  • [11:09] Morgaine Dinova: I caught only the last 45 mins, but read up half of transcript, will complete it today hopefully.
  • [11:09] Saijanai Kuhn: https://wiki.secondlife.com/wiki/AWG_Meeting_2
  • [11:09] Saijanai Kuhn: Morgaine that transcript is only the local chat log
  • [11:09] Saijanai Kuhn: its NOT the transcript of the voice
  • [11:09] Morgaine Dinova: Oh dear!!!!
  • [11:09] Saijanai Kuhn: its only been 2 days, Morgaine
  • [11:10] Saijanai Kuhn: 3 hours of manual transcripting is a long hard job
  • [11:10] Which Linden: who is doing the transcripting?
  • [11:10] Saijanai Kuhn: no idea. But I don't expect anything text to show up for a week or more
  • [11:10] Morgaine Dinova: Ah, so someone is doing a voice transcript? That would sure be cool. Yes, a ton of work :-(
  • [11:10] Which Linden: Probably it could be contracted out. A friend of mine worked for a company that did that
  • [11:10] Saijanai Kuhn: I have part one on QT. What format do you want it in, morgaine?
  • [11:11] Morgaine Dinova: Anything that vlc or mplayer can play, hehe
  • [11:11] Saijanai Kuhn: avi?
  • [11:11] Saijanai Kuhn: windows media?
  • [11:11] Morgaine Dinova: Sure
  • [11:11] Saijanai Kuhn: AIFF?
  • [11:11] Saijanai Kuhn: qt does dozens of conversions so...
  • [11:11] Morgaine Dinova: well maybe better not Windowss media, but yeah, vlc and player can handle even that
  • [11:12] Harleen Gretzky: There are MP3s on Tao's blog [1]
  • [11:12] Morgaine Dinova: Harleen: I want it integrated with the video though --- it was an event that deserves recording for posterity :-)
  • [11:13] Saijanai Kuhn: those are actually itunes compatible podcasts
  • [11:13] Which Linden: man, I'm sorry I missed it
  • [11:13] Harleen Gretzky: Videos are there also
  • [11:13] Saijanai Kuhn: the video and audio is availble via that webpage I listed
  • [11:13] Saijanai Kuhn: https://wiki.secondlife.com/wiki/AWG_Meeting_2
  • [11:14] Saijanai Kuhn: I'm converting the audio form iTune mp3 to avi right now.
  • [11:14] Which Linden: I kinda want a summary of what happened
  • [11:14] Morgaine Dinova: Harleen: those are the videos we're talking about. When you grab the .flv files from Tao's page, the result isn't playable in the major cross-platform players.
  • [11:14] Which Linden: You know, FAIL or WIN. :-)
  • [11:14] Saijanai Kuhn: weh, we introduced ourselves for 25 minutes, then started chatting
  • [11:15] Which Linden: Heh, nice.
  • [11:15] Which Linden: Meanwhile, donovan, nat and I cleaned up and improved eventlet a lot
  • [11:16] Saijanai Kuhn: [2] is Tao's take on what happened
  • [11:16] Morgaine Dinova: Which, will it be possible to place Sai's conversion up on LL servers somewhere, so the wiki can link to them?
  • [11:16] Saijanai Kuhn: after testing to make sure it works, natch
  • [11:16] Morgaine Dinova: Ayee, hehe
  • [11:17] Saijanai Kuhn: just cause QT will read it back doesn't mean WMV wil
  • [11:17] Morgaine Dinova: You're doing this on your Mac Sai?
  • [11:17] Which Linden: sure, I can stick some files somewhere
  • [11:18] Which Linden: Why not just upload them to the wiki itself?
  • [11:18] Morgaine Dinova: Yes, if it's happy with collosal uploads, sure
  • [11:18] Saijanai Kuhn: ack with no compression the bloody thing is 152 MB
  • [11:18] Saijanai Kuhn: it was only 56 in Itunes format
  • [11:19] Saijanai Kuhn: wait, its not even done yet, LOL>
  • [11:20] Saijanai Kuhn: the joys of a $30 swiss army knife codec converter
  • [11:20] Morgaine Dinova: No hurry. ustream was so jammed on the day that it took me the whole night to get the two videos, and it's a 20Mbps connection here so i wasn't slowing it down :-)
  • [11:21] Saijanai Kuhn: chee 205 MB> I'm going to compress it just a tad
  • [11:22] Which Linden: Hmmm.... looking through the summary it looks like people were discussing alternative standards to the Event Queue
  • [11:22] Saijanai Kuhn: I think it was set to 16 bit audio :-/
  • [11:22] Morgaine Dinova: So, how was PyCon Which?
  • [11:22] Which Linden: [3]
  • [11:22] Which Linden: One thing we encountered during PyCon were the protocols Bayeux and CSP
  • [11:22] Which Linden: It was good! We got a lot of time with developers working on similar things as us.
  • [11:22] Morgaine Dinova: Which: we dedicated all of Zer's OH today to event queue, was very interesting.
  • [11:23] Which Linden: Hah, cool
  • [11:23] Which Linden: Well, if those two Comet-based protocol I just mentioned have been examined and idscarded, then so be it.
  • [11:24] Saijanai Kuhn: 8-bit 11Khz instead of 16 bit 22 Khz.
  • [11:24] Which Linden: But they are interesting if you haven't seen them before.
  • [11:24] Which Linden: Bayeux: [4]
  • [11:24] Morgaine Dinova: The idea of Zero's I most liked is that we should define our own word for "long poll", so that we're not dependent on COMET's spec. We get into so much hot water with COMET that that was a great suggestion.
  • [11:24] Saijanai Kuhn: well, we were going with the non-closing version of the long poll that is in use already
  • [11:24] Which Linden: Hah, yeah. I kinda thought that there were only a few ways to do Comet. Turns out there's like 15
  • [11:24] Saijanai Kuhn: of course, I'm STILL not sure if COmet closes or not. The definition I first saw said yes, The one Tao found said no
  • [11:25] Morgaine Dinova: Ah, sample rate conversion, not encoding bitrate. Yes, good idea Sai, no need for 22Khz on speech
  • [11:25] Which Linden: I think the distinction, Sai, would be between "streaming" or not
  • [11:26] Morgaine Dinova: Which: yes
  • [11:26] Which Linden: Streaming, I think, implies that the connection is never closed.
  • [11:26] Which Linden: Dunno, it seems to me that streaming is just an extension of long polling. The system has to cope with broken connections anyhow
  • [11:27] Saijanai Kuhn: The long poll sends an ack which evokes the next event packet if it exists. Morgaine's been thinking we just let the stream keep coming withotu the ack
  • [11:28] Morgaine Dinova: Which: the sticking point seems to be that Zero refuses to state that ***under normal circumstances***, with HTTP1.1 and keepalives on, that the TCP connection will NOT be closed after every event returned. I don't know why he's reticent, but it's a major problem if the TCP stream dies in practice.
  • [11:28] Which Linden: But it shouldn't be a problem.
  • [11:28] Which Linden: TCP streams die all the time
  • [11:28] Which Linden: The system should be able to recover gracefully
  • [11:29] Which Linden: I.e. it should be 'crash only'
  • [11:29] Saijanai Kuhn: I now my eventqueue get implementation doesn't do anything fancy and it hasn't failed yet
  • [11:29] Morgaine Dinova: I mean on every event, dozens or hundreds of times a second. COMET was never designed to cope with such rates of TCP breakages.
  • [11:29] Which Linden: But yes I get your point about normal circumstances
  • [11:29] Which Linden: I think our current implementation breaks the connection every time
  • [11:29] Which Linden: Not sure though
  • [11:30] Arawn Spitteler: Grace might be defined as good manners, where connections are broken
  • [11:30] Saijanai Kuhn: Which, I don't think it does, but
  • [11:30] Morgaine Dinova: Zero: so that's why Zero doesn't want to entertain the issue even? He doesn't want to propose anything for the protocol that differs w.r.to the current usage?
  • [11:30] Saijanai Kuhn: I thought Zero said it doesn't close?
  • [11:31] Morgaine Dinova: Well, let's test it, hehe. We're engineers, not hand wavers :-))))
  • [11:31] Which Linden: Heh
  • [11:31] Saijanai Kuhn: MY implementation sends undf at the start and just uses the same http connection forever after. I don't know how Python';s libs are handling it behind the scenes
  • [11:31] Morgaine Dinova: ties hands behind back
  • [11:31] Which Linden: I have no idea why Zero is reticent
  • [11:32] Saijanai Kuhn: I think Zero is just being precise. He says "as long as possible" for the connection life and Morgaine wants "never closes during normal operation"
  • [11:32] Which Linden: Ah, yes
  • [11:32] Morgaine Dinova: Sai: good point. Your libs may be handling the breal after every event and useing the next TCP stream created, Ouch
  • [11:32] Which Linden: Two different ways of saying the same thing
  • [11:32] Morgaine Dinova: tcpdump
  • [11:32] Which Linden: I'd also be wary of using the word "never"
  • [11:32] Morgaine Dinova:  :-)
  • [11:32] Saijanai Kuhn: its over https, so not sure how well I'd read it
  • [11:32] User not: online - inventory has been saved.
  • [11:33] Which Linden: You just want to look for tcp connection and close packets
  • [11:33] Saijanai Kuhn: KK
  • [11:33] Which Linden: Been a while since I've done that sort of thing
  • [11:34] Saijanai Kuhn: though.. Thats a server side issue anyway. The server could change and my code will still work if I understand what is being sad
  • [11:34] Morgaine Dinova: Does the downstream event-queue traffic contain login information? I understand caps traffic needing to be SSL'd, but the event stream?
  • [11:34] Which Linden: Yes, cause the server closes the connection explicitly, so if it wants to keep the connection open, it just does so
  • [11:34] Saijanai Kuhn: and... what about smart phone clients? They probalby DO close after every connection
  • [11:34] Which Linden: The downstream event queue can contain new caps, so it has to be secure
  • [11:35] Morgaine Dinova: Sai: yeah, but they'd request the closure per event from their end, that's no problem.
  • [11:35] Which Linden: Dunno about smart phones, those things are completely fucked up
  • [11:35] Which Linden: I bet the iphone does keepalives though
  • [11:36] Larissa Vacano: accepted your inventory offer.
  • [11:36] Morgaine Dinova: Tomorro's smart phone will be more powerful than today's desktop, anyway
  • [11:36] Morgaine Dinova: And we're designing for tomorrow :-)
  • [11:36] Which Linden: is still waiting for a dick tracy watch
  • [11:36] Morgaine Dinova: Hehe
  • [11:37] Which Linden: I wonder if wireless network connections will still be as big of a battery drain as they are today
  • [11:37] Morgaine Dinova: Which: if the event queue has to come over https, then we're even more screwed if the TCP stream is closed per event. SSL setup takes ages.
  • [11:38] Arawn Spitteler: wonders if "Calling Dick Tracy, Calling Dick Tracy," would be taken by the operator as a request to jack the connection into the proper hole.
  • [11:38] Saijanai Kuhn: I'm pretty sure Zero says the conection is kept alive
  • [11:38] Saijanai Kuhn: hey, they programmed compuers that way...
  • [11:38] Morgaine Dinova: Yeah, nothing else makes sense. I guess he's not willing to state it plainly just because, well, Zero is Zero :-)
  • [11:39] Which Linden: Maybe just not in those words
  • [11:39] Which Linden: Like I said, "never" is a powerful word
  • [11:39] Saijanai Kuhn: 51.4 MB. Much better
  • [11:39] Arawn Spitteler's: mother programmed computers that way; she quit when asked to write the first Compiler
  • [11:39] Ito Dickinson: nice place
  • [11:39] Which Linden: Thanks!
  • [11:40] Ito Dickinson: bye
  • [11:40] Larissa Vacano: bye
  • [11:40] Arawn Spitteler: Halve a Seat, Ito; We're talking to a Bamboo plant
  • [11:40] Morgaine Dinova: Well, you can't put "as long as possible" ain a spec and try to pretend that it's a spec. We're going to have to tie Zero down a little.
  • [11:40] Saijanai Kuhn: So I have teh mp3 encoded as a .avi. Testing to see if my other players habndle it besides QT
  • [11:40] Morgaine Dinova: Super, Sai
  • [11:41] Saijanai Kuhn: divx check
  • [11:41] Morgaine Dinova: Sai++
  • [11:41] Saijanai Kuhn: Real Player
  • [11:41] Which Linden: Wewt
  • [11:41] Morgaine Dinova: LOL, Sai-- on realplayer :-)
  • [11:42] Morgaine Dinova: But still a good test
  • [11:42] Saijanai Kuhn: VLC will work but thinks its borken
  • [11:42] Morgaine Dinova: Mplayer then pls
  • [11:42] Saijanai Kuhn: media player isn't available on the Mac any more
  • [11:42] Saijanai Kuhn: wmv
  • [11:43] Morgaine Dinova: I think your test is good enough Sai. After all, mplayer has the divx codec
  • [11:43] Saijanai Kuhn: part of MS's attempts to kill the Mac
  • [11:43] Saijanai Kuhn: so now, to figure out where to upload...
  • [11:43] Saijanai Kuhn: Might be able to make it available for download via my .mac account
  • [11:44] Morgaine Dinova: No mplayer on your box? (Or reinstall vlc)
  • [11:45] Which Linden: We really need an sldev sandbox host
  • [11:45] Morgaine Dinova: That would be a great idea, ssh only.
  • [11:46] Arawn Spitteler: That's starting to touch on an issue, that occured to me during Zero Hour.
  • [11:46] Arawn Spitteler: When we teleport, between sims, we sometimes Crash, because the receiving sim wasn't as ready as it thought.
  • [11:46] Morgaine Dinova: Arawn: handover race condition allegedly
  • [11:47] Arawn Spitteler: When we teleport between sims, that are friendly to different client side operating systems, that's going to be worse.
  • [11:47] Morgaine Dinova: And the window for the race condition is meganormous when either source or destination is lagged
  • [11:47] Arawn Spitteler: Handover Race Condition?
  • [11:47] Which Linden: Yeah the teleport handshake code is....gordian
  • [11:48] Arawn Spitteler: It's got to be maintainable, for Open Grid
  • [11:48] Which Linden: What I would like to do is define One True Open Grid TP Protocol and then move to it
  • [11:48] Which Linden: One that is relatively clean and doesn't have race conditions
  • [11:49] Which Linden: One question is whether and how avatar data is serialized for TP
  • [11:49] Morgaine Dinova: I don't know what the solution is to that. I wanted to get rid of handover altogether by virtualizing regions, but that's not going to happen, Zero's not interested.
  • [11:49] Arawn Spitteler: I was thinking Bilocation, which would be both places in simultainy.
  • [11:49] Which Linden: Well, I think that such should be an imlpementation detail
  • [11:49] Which Linden: No matter what virtualization solution you have, you're eventually going to have to account for someone coming in or out to "the outside"
  • [11:50] Morgaine Dinova: It's a "detail" in the same sense that WW II was a "detail" in the history of humanity :-)
  • [11:50] Arawn Spitteler: All TP by way of Agent Domain?
  • [11:50] Which Linden: So the baseline is "ball up all of this avatar's state and shoot it out of a cannon at the destination"
  • [11:50] Which Linden: But if you want to optimize that by sharing the state incrementally beforehand, that's fine
  • [11:52] Which Linden: I have been talking about coarse-grained state charing pools that would sit across 4 regions each, that would reduce region crossing lag
  • [11:52] Which Linden: state *sharing*
  • [11:52] Which Linden: I already char your state just fine
  • [11:52] Arawn Spitteler: Doesn't Char work in Personell?
  • [11:53] Morgaine Dinova: Which: the two proposals made for region virtualization were rather more ambitious than that. :-) There was no serialization at all, because the whole grid was just a number of worker clusters, and within each cluster the participants were working on a since but distributed world state :-)
  • [11:53] Morgaine Dinova: But it's history, hehe
  • [11:53] Which Linden: Yeah, I know what you meant
  • [11:54] Arawn Spitteler: If we're modeling after the internet, then your on-line status should be client side, rather than a handoff.
  • [11:54] Which Linden: Morgaine: I think that model shouldn't be explicitly disallowed, FWIW
  • [11:54] Morgaine Dinova: Which: it'll have to be done by third parties. If I want it, I should code it :-)
  • [11:54] Larissa Vacano: pls excuse i have to go, good bye to all. see you soon
  • [11:54] Which Linden: Arawn: ideally, yes, but practically the sim knows stuff about your state that it can't easily share with your client (e.g. script and physics state)
  • [11:54] Morgaine Dinova: Cya Larissa
  • [11:55] Arawn Spitteler: So, these states could be e-mailed, and opened at liesure.
  • [11:56] Arawn Spitteler: A major problem of walking across boundaries, seems to be that Physics is kept open fro those flying.
  • [11:56] Arawn Spitteler: When I type into a chat box, do I see what bounces from Linden Labs?
  • [11:57] Which Linden: I'm not sure I understand what you're asking
  • [11:57] Arawn Spitteler: I was just annoyed at the lag of back-space.
  • [11:57] Morgaine Dinova: Half of the problem of handoffs actually had the potential to disappear when agent domains were introduced, in the sense that agent state would not be handed over at all to the sim. Unfortunately that's not how the LL implementation of agent domain works though.
  • [11:57] Which Linden: Well, as long as agent state includes attachments with scripts, it has to be shepherded in part by the sime
  • [11:58] Saijanai Kuhn: well, seeing how there is currently NO agent domain...
  • [11:58] Which Linden: I think declaring "no agent state can exist except for that which can be run on the agent hosts" is rather limiting
  • [11:58] Arawn Spitteler: Handoffs have to be maintainable, between non-LL Clusters.
  • [11:58] Which Linden: Heh, Icehouse is working on the agent domain
  • [11:59] Morgaine Dinova: Yeah, but currently it uses a poor design pattern, bu passing all the state across to the sim. The sim really doesn't need the extra work, it's one of the reasons why region scalability is zero or negative in SL.
  • [11:59] Saijanai Kuhn: I know, but Morgaine seemed to be saying that the current Simulator Way of DOing Things was going to continue into the Agent DOmain
  • [12:00] Saijanai Kuhn: I'm not sure what they're passing in at first. Maybe just the requirement you ask the Agent Domain to give you the simulator cap
  • [12:00] Arawn Spitteler: Agent Domain would include our account log-ins, wouldn't they?
  • [12:00] Saijanai Kuhn: Login and a proxy for the simulator seed cap (assuming I'm using "proxy" correctlyy here)
  • [12:01] Morgaine Dinova: Well I have no problem with that continuity if it's just to EVOLVE towards something better. But given that there is no stated goal at all to offload work from the sim, things are a bit bleak for region scalability.
  • [12:01] Which Linden: What do you mean when you say "scalability" there?
  • [12:01] Saijanai Kuhn: morgaine I think its stated in all those diagrams Zero drew up last year
  • [12:01] Arawn Spitteler: There's a point, at which the server gives things to a designated avatar.
  • [12:01] Which Linden: Cause, from my perspective, scalability is great
  • [12:01] Morgaine Dinova: Region scalability, eg. for events, Which
  • [12:02] Morgaine Dinova: Hehe, region scalability is non-existent
  • [12:02] Arawn Spitteler: CG mentioned havoing had 500 Avies in a single sim, on a test
  • [12:02] Which Linden: Do you mean "more hosts running one region?"
  • [12:02] Pookie Gufler: accepted your inventory offer.
  • [12:02] Which Linden: Cause, for me, "region scalability" means "can add more regions without scaling problems"
  • [12:02] Morgaine Dinova: If you plot region celing against growth in population, the scalability curve is negative.
  • [12:03] Saijanai Kuhn: Forget which group has 2000 avies running on a sim, but they don't have the same abilities as SL IIRC
  • [12:03] Morgaine Dinova: No, that's grid growth scalability, that's different, and scalable in a grid.
  • [12:03] Which Linden: Right, ok, so you're talking about taking a 256m2 plot and running it on an arbitrary number of hosts
  • [12:04] Morgaine Dinova: "Number of hosts" is an implementation detail
  • [12:04] Morgaine Dinova: laughs
  • [12:05] Which Linden: I see
  • [12:05] Which Linden: Yeah, I dunno, I don't think that's so importatn
  • [12:05] Which Linden: And here's why: because there's only so much *stuff* you can physically fit into a space
  • [12:06] Which Linden: I.e. if we split this region across 4096 hosts, so that each host was running 1m2, most hosts would have nothing to do
  • [12:06] Which Linden: And even if we worked really hard to pack the region full of stuff, it'd start to look like a junk store well before those hosts even had anything to do
  • [12:06] Morgaine Dinova: Which: talking about the server end alone (client is a differnet issue), the sim stats plummet into unusable beyond 100 or so, and that's on a high end sim box. During SL4B, we saw sim Time Dilation of 0.05
  • [12:07] Which Linden: Yeah, but that only needs a constant improvement, not infinite improvement
  • [12:07] Arawn Spitteler: remembers falling through the ground, without crossing boundaries
  • [12:07] Morgaine Dinova: Which: nah, you can't subdivide like that. I put an extremely detailed technical analysis of subdivision on the wiki. You don't wanna go there :)
  • [12:07] Which Linden: I.e., let's say we improved avatar concurrency to 1000. That would probably be enough for all time
  • [12:08] Morgaine Dinova: Hahahaha
  • [12:08] Morgaine Dinova: Not a chance.
  • [12:08] Which Linden: is wary of the bill gates 640k statement
  • [12:08] Which Linden: An avatar needs at least 1m3 of personal space
  • [12:09] Morgaine Dinova: 1000 isn't even enough for a year ago. We've had more audience pressure than that in SL Live Music for 3 years.
  • [12:09] Which Linden: Hm
  • [12:09] Morgaine Dinova: Which: if this interests you in detail, I've got the figures for it on the wiki
  • [12:09] Which Linden: Yeah, I'd like to see that
  • [12:09] Morgaine Dinova: Lemme try to find it.
  • [12:12] Morgaine Dinova: [5]
  • [12:12] Arawn Spitteler: I was wondering, if the bamboo was supposed to be non-phantom. Vegetation is normally phantom
  • [12:12] Which Linden: It is supposed to be non-phantom
  • [12:12] Which Linden: It's a wall
  • [12:12] Which Linden: Thanks, Morgaine, I'll read that over
  • [12:12] Which Linden: I do agree that subdividing a region physically is a losing game
  • [12:13] Which Linden: daaamn, this is *detailed*
  • [12:13] Which Linden: has some homework to do
  • [12:13] Which Linden: And it's lunchtime for me
  • [12:14] Which Linden: Loved chatting with you, as always
  • [12:14] Morgaine Dinova: Which: this wasn't related to anything coming out of Lindens. It was to show some people making handwaving proposals that their ideas were somewhat problematic :-)
  • [12:14] Which Linden: Yeah, that makes sense. It's good grist for the mill though