User:Andrew Linden/Office Hours/2008 10 28
< User:Andrew Linden | Office Hours
Jump to navigation
Jump to search
Revision as of 16:43, 30 October 2008 by Andrew Linden (talk | contribs) (formatted with Zero's perl script)
Transcript of Andrew Linden's office hours:
[11:03] | Simon Linden: | I'm multitasking, so ping me if I' |
[11:03] | Simon Linden: | I'm not responding |
[11:03] | Andrew Linden: | how do you want your ping? |
[11:03] | Simon Linden: | Hi Arawn |
[11:03] | Arawn Spitteler: | I was just getting that camera oscillation, with my back to the fence. I hope that means we aren't on the next release. |
[11:04] | Arawn Spitteler: | Hi, Andrew, Simon. Where's everybody else? |
[11:04] | Andrew Linden: | We're definitely not at the next release yet. |
[11:04] | Simon Linden: | yes, this is still 1.24.9 |
[11:04] | Andrew Linden: | ah ha! turns out 1.25-Server is up on the aditi grid |
[11:05] | Andrew Linden: | it made it there on Friday |
[11:05] | Andrew Linden: | which means it is open to the public, and that camera oscillation bug fix can be tested and verified |
[11:05] | Andrew Linden: | (or re-opened... let us consider all options) |
[11:06] | Arawn Spitteler: | Hi, Ella, Gaius, Gaius is finally rezzing |
[11:06] | Andrew Linden: | Ok, since 1.25-Server is now on the open preview grid (aditi) I need to go find all the "fix pending" bugs and add comments |
[11:06] | Arawn Spitteler: | I haven't my browser open, yet. How's SVC-2931 doing? |
[11:06] | Andrew Linden: | for anyone who happens to be watching those public jira items. |
[11:06] | Gaius Goodliffe: | Hello. Sorry to pop in in the middle of the convo -- if you're saying the camera oscillation bug is fixed, I'm gonna have to kiss you. :) |
[11:07] | Andrew Linden: | SVC0-2931 has not yet been updated |
[11:07] | Simon Linden readies SL movie capture | |
[11:07] | Gaius Goodliffe: | Heh |
[11:07] | Arawn Spitteler: | It's supposed to be in the preview, so give him a Beta Kiss |
[11:07] | Gaius Goodliffe: | Ah okay, it can wait until it deploys main grid. |
[11:07] | Gaius Goodliffe: | ;) |
[11:07] | Andrew Linden: | Test it first |
[11:08] | Andrew Linden: | Ok so Simon proposed some ground rules for this meeting... |
[11:08] | Andrew Linden: | no discussions about OpenSpace regions |
[11:08] | Andrew Linden: | Actually, I think that is the only rule |
[11:09] | Andrew Linden: | there is nnnnnooooooo..... rule number two |
[11:09] | Simon Linden: | I think it was specifically 'no discussion of @#$@ OpenSpace policies' -- I'm unhappy enough :( |
[11:09] | Gaius Goodliffe: | Roger that. |
[11:09] | Gaius Goodliffe: | I did have a performance issue I wanted to ask about... |
[11:09] | Andrew Linden: | I have not yet read the internal email thread we're having about it |
[11:09] | Simon Linden: | If there's a specific OS issue that's not just 'performace is bad' we can discuss it |
[11:09] | Arawn Spitteler assumes this will be discussed Thursday, at 11AM: You might like to go see the fun. Is it possible, to set an avatar for Streaming Media? | |
[11:10] | Andrew Linden: | What is going on Thursday 11 AM? |
[11:10] | Simon Linden: | You mean the textures on an avatar are streaming media? Cool |
[11:10] | Arawn Spitteler: | I was unable to log in, with the RC, earlier, and Bleeding Edge got me to Help Island. |
[11:10] | Andrew Linden: | I think he means... right now we can specify streaming media on a per-parcel basis |
[11:10] | Andrew Linden: | so why not have a streaming media setting per-avatar? |
[11:11] | Arawn Spitteler: | No, Video Streams on Textures is old, but an avatar that can act as a streaming media server, so you guys can watch Jack TV, on Thursday Morning. |
[11:11] | Simon Linden: | Probably because too many streams would be a way of overloading clients |
[11:11] | Simon Linden: | Ah, I see .. that's great. Do you know how they do the vidoe capture? |
[11:12] | Andrew Linden: | also, right now the SL client only has one channel for streaming media... the avatar setting would conflict with the parcel one |
[11:12] | Simon Linden: | I've had a pet feature idea for a while ... pipe the video output of the viewer as a virtual camera so it can be used by any streaming software |
[11:12] | Andrew Linden: | Make it so Simon (in your copius spare time) |
[11:13] | Gaius Goodliffe: | It woudl be nice if those with more powerful computers to do like you do with particles - adjust how many streams we cna view at once. Make it 1 by default but allow people to up the number... |
[11:13] | Simon Linden: | I haven't been able to find the 'cut and paste' camera source sample code |
[11:13] | Andrew Linden: | hehe |
[11:13] | Andrew Linden: | So Gaius, you had a question about performance? |
[11:14] | Gaius Goodliffe: | I was just wondering if openspaces deliberately cull events? I've noticed events not getting delivered reliably in openspaces. Even when there's no apparent load... |
[11:14] | Andrew Linden: | State the question, but we reserve the right to discard it... if it violates Simon's ground rule. |
[11:14] | Simon Linden: | No, I don't think there's any deliberate culling of events |
[11:15] | Arawn Spitteler: | Might be overloaded. |
[11:15] | Simon Linden: | The script performance might be really low, however, and they are getting dropped or it's getting overloaded |
[11:15] | Andrew Linden: | Oh, script events. |
[11:15] | Gaius Goodliffe: | Hmm. I have missiles that explode on contact in full sims, but in openspaces they frequently collide and keep going. I saw one bounce off various targets four times before finally getting its collision_start event. |
[11:16] | Simon Linden: | The time spent on scripts is calculated as "whatever's left over in the current frame" with some minimum |
[11:16] | Simon Linden: | So if it's running at less that 45fps, it will be the minimum |
[11:16] | Gaius Goodliffe: | I've also seen examples of llSay(somechannel, text) getting discarded, like you say something 10 times and only 5 are received by the target. |
[11:16] | Andrew Linden: | Uh... Gaius, that might be aggravated by one of the bugs in SVC-2511. You should test on the preveiw grid. |
[11:16] | Gaius Goodliffe: | I shall try that, see if it makes any difference on preview. |
[11:17] | Simon Linden: | yeah, Andrew, you fixed up collision events recently, right? |
[11:17] | Arawn Spitteler: | Are open sims old enough, to be on preview? |
[11:17] | Andrew Linden: | Not recently... months ago. |
[11:17] | Simon Linden: | But it's coming out in 1.25? Or should it already be out? |
[11:17] | Andrew Linden: | but it didn't get in before MONO... so it has been sitting around for 1.25-Server, yes. |
[11:18] | Gaius Goodliffe: | Ah cool. I seem to be ahving a lot of collision related issues lately. I'll make a trip to preview this week... |
[11:19] | Andrew Linden: | ah yes Arawn, I spoke with Michael Linden about the railroad system |
[11:19] | Andrew Linden: | SLRR -- he says they are working on a replacement system now |
[11:19] | Andrew Linden: | the moles are working |
[11:19] | Andrew Linden: | supposedly there is about 9 miles of track to overhaul |
[11:19] | Andrew Linden: | they are going to tear it out and replace with new track (new script system) |
[11:19] | Arawn Spitteler: | I think that would be just the start |
[11:20] | Arawn Spitteler: | Tuliptree to Jubata? |
[11:20] | Andrew Linden: | dunno which regions or where it is |
[11:20] | Andrew Linden: | also don't know the ETA of the project |
[11:20] | Andrew Linden: | however Michael hasn't forgotten |
[11:21] | Andrew Linden: | and no one wants to dissect Nigel Linden's scripts, so I think they are going for a rewrite. |
[11:21] | Arawn Spitteler: | Scripts are likely easier for the Sims to handle, but Collision is easier conceptually, for new builders. How does a Sniffer cross a border? |
[11:21] | Andrew Linden: | Too bad Kitto isn't here |
[11:21] | Andrew Linden: | perhaps he could try to sell some working trains to Michael and his moles |
[11:21] | Andrew Linden: | yeah, they are fighting with border crossings |
[11:22] | Andrew Linden: | that is one of the things the RR moles were working on. |
[11:22] | Arawn Spitteler: | Kitto might be able to debug Nigel's Scripts, but Garth Fairchang certainly should. |
[11:22] | Andrew Linden: | Yes |
[11:23] | Arawn Spitteler: | If we're going to cross borders, I've no idea what a sniffer could do. |
[11:23] | Andrew Linden: | what is a snifffer? |
[11:23] | Arawn Spitteler: | A nice feature would be, if a script could ask to sense, "In that sim over there." |
[11:23] | Gaius Goodliffe: | "sniff" on a chat channel. Ping and listen for the response. This works reliably, even across borders. |
[11:23] | Andrew Linden: | ah |
[11:24] | Arawn Spitteler: | Huggers collide with the rails, sniffers look for them, and I don't know what the Bots do, but those are the three types of Rail Vehicle |
[11:24] | Andrew Linden: | I think they were experimenting with sniffers |
[11:25] | Andrew Linden: | I wonder where the preview release notes are published these days |
[11:25] | Andrew Linden: | Anyone know? |
[11:26] | Arawn Spitteler: | It shouldn't be impossible, to get the Nigel Rail Running, but the trains would have to have their hugs retooled, and the Bato Solution wouldn't hurt on the rails, but it requires a regular Linden Touch, on the restart button |
[11:27] | Arawn Spitteler: | Who's the IC ofPreview Grid? |
[11:27] | Andrew Linden: | IC? |
[11:27] | Arawn Spitteler: | In Charge, who decides when to update the snapshot |
[11:28] | Andrew Linden: | Oh, there is a team. I call them the #deploy team since they tend to hang out on our internal #deploy IRC channel. |
[11:28] | Andrew Linden: | Almost anyone on that team should know the answer to that question. |
[11:29] | Andrew Linden: | The main IC's are Josh Linden and Prospero Linden |
[11:31] | Andrew Linden: | Simon, what are you working on these days? |
[11:31] | Simon Linden: | Odds and ends ... mostly bugs and minor projects |
[11:32] | Simon Linden: | There are some avatar improvements that I'm getting involved in (one new texture getting passed around, I'm not sure what it's used for yet) |
[11:33] | Andrew Linden: | I'm working on some internal tools and will probably continue on that project for another two weeks at least. |
[11:33] | Simon Linden: | I did recently get into the issues with controls, and will be looking at the restriction and problem with only one script being able to take control events |
[11:33] | Simon Linden: | There are some more internal performance things I want to move along as well |
[11:34] | Andrew Linden: | ok thanks, just curious |
[11:35] | Andrew Linden: | Arawn, you attend other Linden office hours right? Whose hours to you attend? |
[11:35] | Arawn Spitteler: | Depends what I can catch. Often CG's, Sometimes Michael's or Jack's. |
[11:36] | Arawn Spitteler: | I used to do Zero's, but suffer some language limitations, and sometimes Documentation |
[11:36] | Gaius Goodliffe: | Oh, any news on the "ghost objects" issue? I remember last time Andrew was wondering the the ghost objects show up in the parcel prim count. I can now confirm they do, although you can't return the object from the About Land > Objects tab. You see the prims there, but they can't be manually returned or auto-returned. |
[11:36] | Andrew Linden: | Oh, do they get all technical in Zero's office hours? |
[11:37] | Andrew Linden: | I suppose that makes sense. That is one of the main hours for discussing open platform protocol stuff. |
[11:37] | Arawn Spitteler: | The only meaning I know for POST is Power On Self Test |
[11:37] | Andrew Linden: | hehe |
[11:37] | Andrew Linden: | POST, GET, DELETE |
[11:38] | Andrew Linden: | the three communication types of a RESTful protocol |
[11:38] | Arawn Spitteler: | What's REST? |
[11:38] | Andrew Linden: | REST = ... I'll have to google for it |
[11:39] | Gaius Goodliffe: | hehe |
[11:39] | Andrew Linden: | REST = representational state transfer |
[11:39] | Arawn Spitteler: | The Acronyms don't tell as much, as they used to. I could give you the formula for NaPalm, and that might still be top secret |
[11:39] | Andrew Linden: | http://en.wikipedia.org/wiki/Representational_State_Transfer |
[11:41] | Andrew Linden: | Oh... it seems I forgot the PUT method |
[11:41] | Andrew Linden: | although... seems like you could do without PUT and just use POST |
[11:42] | Arawn Spitteler: | Put goes with Get |
[11:42] | Andrew Linden: | oh well, supposedly one of the reasons HTTP has been such a success is because it is a RESTful protocol |
[11:42] | Andrew Linden: | REST describes the general qualities a protocol must have to be "good" |
[11:43] | Andrew Linden: | that's what I gather, anyway |
[11:44] | Andrew Linden: | I'm not involved in the protocol design, and I've got too much stuff to do as it is, so I haven't been keeping up to date with that project |
[11:44] | Arawn Spitteler: | I read another article, that said Structured Programming would eliminate Memory Leaks. |
[11:44] | Andrew Linden: | And it has eliminated them... just use JAVA |
[11:44] | Simon Linden: | That's sort of like saying "safe driving will eliminate accidents" :) |
[11:44] | Andrew Linden: | ... except when the JAVA engine itself has memory leaks |
[11:44] | Andrew Linden: | or resource leaks (almost the same thing) |
[11:45] | Andrew Linden: | The problem with such paradigm's is when the paradigm's fail |
[11:45] | Arawn Spitteler: | Single Point of Return, is what it mentioned. |
[11:46] | Simon Linden: | That is good programming practice ... I can't stand it when I find a routine with a lot of return paths |
[11:46] | Andrew Linden: | <_< |
[11:46] | Andrew Linden: | >_> |
[11:46] | Arawn Spitteler: | But you still have to leave little piles of data product, lying about, with no idea of who will ever ask for it next. |
[11:47] | Arawn Spitteler: | Some sort of Archive Algorhythm is needed. |
[11:48] | Arawn Spitteler: | That's going to morph, with system resource upgrades. |
[11:48] | Andrew Linden: | I got lost |
[11:49] | Andrew Linden: | So we don't have many pressing issues that need to be raised today. |
[11:49] | Arawn Spitteler: | I think we drifted. Anyways, I should learn enough about Structured Programming, to do some intelligent scripting. |
[11:50] | Andrew Linden: | Should be end the hour early? Or do we want to talk about misc stuff? |
[11:50] | Arawn Spitteler: | miscellaniae, leads to the best ideas. |
[11:50] | Arawn Spitteler: | Would it be possible, for a script, to ask for an early sim transfer? |
[11:50] | Andrew Linden: | Earlier today I saw an article about the "new interest in virtual worlds"... |
[11:51] | Andrew Linden: | lemme see if I can find the link |
[11:51] | Andrew Linden: | "Early sim transfer"? You mean some sort of region crossing optimization? |
[11:52] | Andrew Linden: | No... I lost the link |
[11:52] | Arawn Spitteler: | Yeah, maybe run a script in another Sim's engine, or just ask for the wearing avatar to be in the other sim. "I'm going that way!!!" |
[11:53] | Andrew Linden: | well... the main problem with that is LSL scripts can only run on one region... we don't have any mirroring features for them |
[11:53] | Andrew Linden: | so the region that the script is in must wait until the last minute to save the script state off... |
[11:54] | Andrew Linden: | it would be hard to try to save it off, send that over, and then journal new changes to state and stream them over |
[11:54] | Arawn Spitteler: | So, it would be a protocol to optimize, "Which Sim Do I Want To Be In?" |
[11:54] | Andrew Linden: | I guess to sum up the idea I'm talking about... save the object state and send it over |
[11:55] | Andrew Linden: | early, and then only send the diff changes to that state at the last minute |
[11:55] | Arawn Spitteler: | Which is currently triggered by exiting the boundaries of a sim |
[11:55] | Andrew Linden: | that is one of those projects that is easier said than done |
[11:55] | Simon Linden: | Sorry gotta run to another meeting .... bye everyone |
[11:56] | Arawn Spitteler: | It's just as easy as picking up that little piece of paper, that the entire library is resting on. |
[11:56] | Andrew Linden: | there are a lot of corner cases... the object never actually crosses would be the biggest one |
[11:56] | Andrew Linden: | in which case the original state was sent over for nothing |
[11:57] | Arawn Spitteler: | Yeah, electing which Sim a Script is running on, could be taken to excess. |
[11:57] | Arawn Spitteler: | Still, Sniffers should be able to cross region boundaries. |
[11:57] | Andrew Linden: | right now the simulator code has direct access to the LSL script in memory |
[11:58] | Andrew Linden: | if the script were on a different process, or different server |
[11:58] | Andrew Linden: | then accessing the data of the script would take much longer |
[11:58] | Andrew Linden: | it would have to go through some weird cross-process pipeline |
[11:58] | Andrew Linden: | or network pipeline |
[11:59] | Andrew Linden: | so I think the most likely improvements to genera cross-region problems and border crossings could be fixed by simply smarter software |
[11:59] | Andrew Linden: | that is... optimizing the existing parts that are slow |
[12:00] | Andrew Linden: | cause if you can't optimize those... |
[12:00] | Andrew Linden: | it's just going to be a mess when the system gets even more complicated. |
[12:00] | Andrew Linden: | er... a bigger mess |
[12:01] | Arawn Spitteler: | It's a mess, I'm sure. Sensor could be replaced, by asking the Specified Server as to what's in a Bounding Box. |
[12:01] | Andrew Linden: | That is... if you can't optimize the simple system... what makes you think you can optimize the complex one? |
[12:01] | Arawn Spitteler: | Scalable Optimizations? |
[12:02] | Andrew Linden: | Yes, the Sensor query needs an overhaul. |
[12:02] | Arawn Spitteler: | I wonder that Gravity doesn't shut down, when we cross Region Borders. |
[12:02] | Andrew Linden: | Perhaps a general query like "what is in this box?" would be useful |
[12:02] | Arawn Spitteler: | BoundingBoxQuery? |
[12:03] | Andrew Linden: | however... I think a better way to optimize would be to supply a more specific query, and only return hits for the specific hits |
[12:03] | Andrew Linden: | in other words... let the deep-down C++ code cull the sensor results better |
[12:03] | Arawn Spitteler: | With Wild Cards, so we can ask if there's anything thsat starts "Kitto Track #" |
[12:04] | Andrew Linden: | right, searching by "regular expressions" would help (wildcards) |
[12:04] | Andrew Linden: | and if the search could better specify its range of interest, that would help |
[12:05] | Andrew Linden: | ... if the simulator could cull the relevant objects quickly |
[12:05] | Andrew Linden: | turns out, our own object culling system is not very fast or clever |
[12:05] | Arawn Spitteler: | Object Culling for Sensor? |
[12:05] | Andrew Linden: | that is, the culling of the LSL sensor pipeline is not very smart |
[12:05] | Andrew Linden: | Yeah |
[12:06] | Arawn Spitteler: | The term, Awful, comes to mind. |
[12:06] | Andrew Linden: | Perhaps. There are different levels of awful. |
[12:06] | Arawn Spitteler: | A box wold make more sense, than a cone. |
[12:07] | Arawn Spitteler: | Havok doesn't use Solids of Anticipation, does it? |
[12:07] | Andrew Linden: | well... a box is a little ambiguous... there is an AAB (axis-aligned box) which is not to be confused with a local box |
[12:07] | Andrew Linden: | AAB's can be optimized much easier |
[12:08] | Andrew Linden: | however, they are counter-intuitive, perhaps, to a LSL scriptor who is focusing on the local orientation of their object |
[12:09] | Andrew Linden: | alright, I've got to go too |
[12:09] | Andrew Linden: | Thanks for coming. |
[12:09] | Gaius Goodliffe: | Nice seeing everyone :) Take care |
[12:09] | Arawn Spitteler: | Glad to have you |
[12:10] | Arawn Spitteler: | I think I've solved the problem of the Wankel, by the way |
[12:10] | Andrew Linden: | You mean the Wankel engine? |
[12:10] | Arawn Spitteler: | Yeah, they have aluminum housings, that chill the air, you're trying to get work out of. |
[12:11] | Arawn Spitteler: | Stratified Charge, of a Direct Fuel Injector, should work until they have better housing materials. |
[12:11] | Arawn Spitteler: | Aluminum Nitride might make sense. |
[12:12] | Andrew Linden: | Hrm... perhaps. I don't know enough about the problem to really say. |
[12:12] | Andrew Linden: | the only Wankel engine in production these days is the one in the Mazda RX7, right? |
[12:12] | Arawn Spitteler: | It seems to obvious, to me, so there might be some problems that it leads to. |
[12:12] | Arawn Spitteler: | Renesis, as far as I know. |
[12:13] | Arawn Spitteler: | Elegant Engine, but I think it's got basic material problems. |
[12:13] | Andrew Linden: | the engines are small and light... but the complexity of the emissions systems tend to make up for the saved mass |
[12:13] | Arawn Spitteler: | That's because they're letting the flame touch the housing. |
[12:13] | Andrew Linden: | Yeah, they weren't able to make the RX7 engine until the material science could produce the right alloys |
[12:14] | Andrew Linden: | I expect electric vehicles to come into fruition before the Wankel engine reaches its full potential. |
[12:15] | Arawn Spitteler: | Electrics have distoance trouble, or would have dominated the Century |
[12:15] | Arawn Spitteler: | They're trying to run them on Nuclear Power. |
[12:15] | Andrew Linden: | right, so it comes down to the battery |
[12:16] | Arawn Spitteler: | I'd like a Diesel with a battery, but the Wankel still has potential |
[12:16] | Andrew Linden: | batteries have been improving, but the improvements have not come fast or in spurts |
[12:16] | Andrew Linden: | it has been a gradual improvement curve |
[12:16] | Andrew Linden: | but it is still going up |
[12:16] | Andrew Linden: | and then super-caps are approaching from another angle |
[12:17] | Arawn Spitteler: | Super Caps sound like a virtual rechargable battery, but we both have to go. |
[12:17] | Andrew Linden: | Ok Arawn, see you later. |