User:Darrius Gothly/Babbage Linden 2009-12-16

From Second Life Wiki
< User:Darrius Gothly
Revision as of 06:10, 17 December 2009 by Darrius Gothly (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


List of Attendees

Transcript to Office Hours of Babbage Linden 2009-12-16

[02:56] Liandra Ceawlin: Yea, we measure point a to point b as time here in WV, cos the roads are so twisty. <_<
[02:56] Ardy Lay: I was trying to help him aim an antenna.
[02:56] Liandra Ceawlin: 50 miles dun mean much if you can't go any faster than 35mph on it. >_>
[02:57] Stickman Ingmann: I prefer metric. It makes more sense. Unfortunately, I'm stuck in a land that doesn't use it. :(
[02:57] Tonya Souther: Morning, Darrius.
[02:57] Tonya Souther: *yawn*
[02:57] Darrius Gothly: *glub glub*? LOL
[02:57] Darrius Gothly: Good morning.
[02:57] Imaze Rhiano: hi
[02:57] Stickman Ingmann: Polar bear swim.
[02:57] Ashiri Sands: good morning indeed
[02:57] Liandra Ceawlin: American cars are the worst, lol. My lug nuts are imperial but everything under the hood is metric. O_o
[02:58] Stickman Ingmann: Haha, that's horrible Liandra.
[02:58] Liandra Ceawlin: My motorcycle is all metric, except for the tire sizes.... So confusing. :<
[02:59] Ashiri Sands: See, the auto industry understodd the cost of not converting
[02:59] Liandra Ceawlin: Die imperial, die die die. <_<
[03:00] Liandra Ceawlin: So hungry. :x
[03:01] Liandra Ceawlin: I should have run to the store pre-babbage. <_<
[03:01] Stickman Ingmann: Ovaltine, you've got something on your... uh, self.
[03:01] Ovaltine Constantine: Teehee
[03:01] Darrius Gothly: shh ... I lied to my belly and told it I'd already eaten. You mention food, my lie is out.
[03:01] Imaze Rhiano: I did just eat chickens...
[03:01] Tonya Souther looks at Becky's group tag and heard the Liberty Bell March.
[03:01] Ovaltine Constantine: How many
[03:01] Imaze Rhiano: 1
[03:02] Darrius Gothly: Not sion .. oh never mind.
[03:03] Darrius Gothly: Has anyone else heard the rumor that recent server releases are already enforcing script limits?
[03:03] Stickman Ingmann: I've just been informed Ardy is a SPY. No wait, I don't think I was supposed to say that.
[03:04] Liandra Ceawlin: Hai Tillie!
[03:04] Gooden Uggla: darrius if that was true, the ITC would shut down LL and the board would go to prison
[03:04] Imaze Rhiano: I think recent server release is capable to monitor script memory limits - and maybe even able to enforce them - but it is not enforcing them yet
[03:04] Liandra Ceawlin: I don't think I've actually seen you before, just yacked in group chat. XD
[03:04] Gooden Uggla: so i doubt it, probably just a bug in the "fix" they rolled out, rush jobs rarely go well at the lab
[03:05] Gooden Uggla: look at the viewer code for zindra...
[03:05] Darrius Gothly: And not just at the lab. Any rush tends to overlook things.
[03:05] Stickman Ingmann: Darrius, the blog post said that they're going to give us tools to take a look behind the scenes and get our input before they even add in the script limits. They might be putting in some management code they can test things out with, but other than that I don't believe they're going to go doing things that can potentially break content.
[03:05] Stickman Ingmann: I've had them modify a SECURITY fix, because it broke my dragon.
[03:05] Tillie Ariantho: Hello Liandra. :)
[03:06] Tonya Souther: That's my main concern, Stickman...how do we know what's going to be limited and how can we know what to do to avoid it?
[03:06] Liandra Ceawlin: I think the limits will be high enough that it won't affect anything. Think Moore's law. By the time the limits go into effect, we'll be on class 6 sims and all the current stuff will work fine, I betcha.
[03:06] Darrius Gothly: That's why I asked Stick .. there was a blog post by someone else that stated they had already begun enforcing .. but I only just heard about it.
[03:06] Gooden Uggla: we've all gotten the "resident response and input" handjob from LL before, it's what they've said to cover the decisions that were already made
[03:06] Stickman Ingmann: I've been watching script limits for a while. And I'm actually really up for the idea.
[03:06] Ardy Lay: There is no Class 6. :-) There is Classless 7. ;-)
[03:06] Stickman Ingmann: Originally I was ready to panic. But now that I know a lot of the facts, it sounds pretty good.
[03:07] Liandra Ceawlin: As it is, by the time the to-be enforced limits get reached on a class 5, the sim will be dying anyway.
[03:07] Gooden Uggla: this is the first time babbage was involved in one of these fiascoes, i want to hear it from him
[03:07] Stickman Ingmann: Hey, another dragon!
[03:07] Stickman Ingmann: REPRESENT!
[03:07] Stickman Ingmann: Probably out of my chat range. :( Yep.
[03:07] Ovaltine Constantine: Im up for the idea of letting users see how much memory/script time they're using
[03:07] Ovaltine Constantine: Id hate to be causing lag and not even know about it
[03:07] Darrius Gothly: .. long as the numbers they see are stable and real, yeah.
[03:08] Tonya Souther: Good idea, Ovaltine, but that had better not be the *only* thing.
[03:08] Liandra Ceawlin: I think it's needed, cos it will force LL to fix all the crappy crap in LSL as a side effect, lol. >_>
[03:08] Stickman Ingmann: Well, the first step to efficient scripts is to give us tools so we can MAKE efficient scripts.
[03:08] Stickman Ingmann: Server 1.36 will help with that.
[03:08] Liandra Ceawlin: Stick++. :o
[03:08] Stickman Ingmann: FINALLY getting some tools we've been needing for ages.
[03:08] Imaze Rhiano: it all comes to current architecture that is not scalable and doesn't allow unlimited scripts running in server
[03:08] Gooden Uggla: i'm not saying it's a bad idea, but if there isn't progress on the underlying cause of mono failing so big, it's just another lab moneygrab... which is why i'm here... to ask a trustworth linden
[03:08] Tonya Souther: Yes. I've got a nice script suite, and have no clue as to how efficient it is, or how to make it more so, or even where to begin work.
[03:09] Tillie Ariantho: Yay, real memory usage output, script debugger... give it to us. :P
[03:09] Darrius Gothly: Truly .. if they really wanna find out what to add to LSL, let us figure out where the inefficiencies are now .. with good tools!
[03:09] Stickman Ingmann: llSetLinkPrimtiveParamsNoDelay() sounds like a dream. No rotation or movement or textures, but glow and alpha and hover text, and all sorts of wonderful goodness for any prim in the object. :D
[03:09] Tonya Souther whispers: no rotation or movement or textures?!
[03:09] Darrius Gothly: ???? Why not?
[03:09] Tillie Ariantho: Stickman: yay. ;)
[03:09] Ovaltine Constantine: Babbage is here!
[03:09] Darrius Gothly: Greetings Babbage.
[03:10] Liandra Ceawlin shouts: It's the man of the hour, clad in his asbestos suit. XD
[03:10] Tonya Souther: Good morning, babbage. *yawn*
[03:10] Babbage Linden: hi everyone
[03:10] Gooden Uggla: good morning babbage
[03:10] Stickman Ingmann: Babbage! :D He's out of my chat range. :(
[03:10] Stickman Ingmann: Hi Babbage!
[03:10] Ardy Lay: Hello Babbage.
[03:10] Nock Forager: Hello Babbage
[03:10] Imaze Rhiano: hi Babbie!
[03:10] Ashiri Sands: hi
[03:10] Liandra Ceawlin: You need a theme song that plays when you enter the sim, Babbage.
[03:10] Babbage Linden: sorry i'm a bit late
[03:10] Darrius Gothly: LOL
[03:10] Babbage Linden: windows crashed on me just as i was about to log in
[03:11] Tillie Ariantho: :P
[03:11] Darrius Gothly: Gosh .. never had that happ ... *click*
[03:11] Babbage Linden: heh
[03:11] Babbage Linden: so, this week:
[03:11] Gooden Uggla: if you go mac, you'll never go back...
[03:11] Liandra Ceawlin: *drumroll*
[03:11] Babbage Linden: it looks like we've tracked down the last region presence service bug
[03:11] Stickman Ingmann installs Windows on his Mac, defeating the purpose.
[03:11] Liandra Ceawlin: o/
[03:11] Gooden Uggla: (boom chicka wah wah)
[03:12] Babbage Linden: which was forcing us to send map item requests via the space server
[03:12] Babbage Linden: with luck we'll get that fix in to 1.36
[03:12] Babbage Linden: and then we'll be able to turn the space server off
[03:12] Tillie Ariantho: That mans? ;)
[03:12] Tillie Ariantho: ah :)
[03:12] Tillie Ariantho: means I meant :P
[03:12] Babbage Linden: and the last central, unscalable single point of failure for SL will be done
[03:12] Babbage Linden: gone, even
[03:12] Gooden Uggla: find the rush fix on SVC-5150 yet?
[03:12] Tillie Ariantho: uhm
[03:12] Talarus Luan: Groups? :P
[03:13] Stickman Ingmann: Glad to hear it, Babbage!
[03:13] Babbage Linden: we've also updated out version of mono 2.7.x to the tip of svn
[03:13] Babbage Linden: there was a problem using the version we had with valgrind
[03:14] Babbage Linden: so, now we've updated we should be able to get good data on the Mono script freezes to the Mono devs
[03:14] Tillie Ariantho: woot
[03:14] Babbage Linden: i'm hoping to do a run today and get the callgrind data to zoltan before I go on vacation
[03:14] Stickman Ingmann: Awesome. That's a big issue for my avatars, and my sim. Within a week, it freezes for half a dozen seconds whenever someone puts on an avatar.
[03:14] Babbage Linden: we've also specced out the efficient scripts API
[03:14] Babbage Linden: we have the first sprint planned
[03:14] Liandra Ceawlin: Ohhhh
[03:15] Babbage Linden: and it will start today as soon as we've had the API reviewed
[03:15] Stickman Ingmann: I am not familiar with this efficient scripts API. We talking C#? Or an LSL modification? Or something else?
[03:15] Liandra Ceawlin: Can you leak it to us nao? XD Or is it already up somewhere? <_<
[03:15] Babbage Linden: it's the llSetLinkedPrimitiveParamsFast
[03:15] Babbage Linden: and llGetLinkedPrimitiveParams functions
[03:15] Liandra Ceawlin: :F
[03:15] Babbage Linden: so hopefully that will get in to 1.38
[03:15] Liandra Ceawlin: Will all of the prim params be fast?
[03:16] Stickman Ingmann: 1.38? :( I can wait, then. I was hoping for 1.36.
[03:16] Babbage Linden: Fast means no delay
[03:16] Stickman Ingmann: I believe it'll only have the ones with no script delay in it, right? So no rotation, movement, etc. Just alpha, glow, scale, etc.
[03:16] Tonya Souther: If I can replace my existing adjustment technology with that, I will, happily...as long as I can adjust *all* primitive parameters with it.
[03:16] Babbage Linden: so you can use both functions in a tight loop
[03:16] Imaze Rhiano: is there going to removal of delays in other LSL functions - like instant messaging?
[03:16] Babbage Linden: instead of having to use 1 script per prim
[03:16] Liandra Ceawlin: We've gotta have 'em all, like the pokemon thingies. :< Position and textures for sure. :x
[03:16] Babbage Linden: in a 100 prim hairdo it can save around 1.5 MB of script memory
[03:17] Tillie Ariantho: woot!
[03:17] Tonya Souther: I need position, rotation, and alpha.
[03:17] Darrius Gothly: Babbage? What about adding a Parameter type to the new efficient calls that allows you to specify which link you are addressing next?
[03:17] Babbage Linden: they will work for all current llSetPrimiiveParameters parameters
[03:17] Talarus Luan: If they are no delay, it won't matter.
[03:17] Liandra Ceawlin: Sweeeeeeet.
[03:17] Stickman Ingmann: You mean llSetLinkList*, Darrius?
[03:17] Darrius Gothly: Ty for that. (all params)
[03:17] Stickman Ingmann: :o Happy news, Babbage! Totally worth waiting for 1.38.
[03:17] Darrius Gothly: Something like that Stick .. yes.
[03:18] Darrius Gothly: Then you can just build one list and make one call.
[03:18] Darrius Gothly: But affect 100 prims.
[03:18] Stickman Ingmann: There's a proposal for functions like that on Jira somewhere, I believe. It'd be nice, too. Qarl said it wouldn't be too hard.
[03:18] Babbage Linden: plus we're hoping to add PRIM_TEXT
[03:18] Babbage Linden: so you can use the methods to get and set float text too
[03:18] Talarus Luan: Anything for particle systems?
[03:18] Darrius Gothly: Woot @ PRIM_TEXT too.
[03:18] Babbage Linden: I'll be able to tell you the final API after review after christmas
[03:18] Babbage Linden: particle systems is in out backlog
[03:18] Tonya Souther smiles. "I smell another place to put persistent storage."
[03:18] Darrius Gothly: Well .. we could always *help* review it. *grin*
[03:19] Tillie Ariantho: ah floating text, not text directly on a prim...?
[03:19] Babbage Linden: we may be able to get to that, but it depends how the sprint goes
[03:19] Stickman Ingmann: After Christmas? Late present, then.
[03:19] Talarus Luan: Yep, hovertext
[03:19] Babbage Linden: well, once we have the internal review i can let you know what we're planning
[03:19] Tonya Souther: but if particle systems are in there, that would remove the last per-prim script I use.
[03:19] Stickman Ingmann: I think it can only put, not get text.
[03:19] Babbage Linden: then you can give feedback
[03:19] Talarus Luan: dynamic/procedural textures would be a new feature.
[03:20] Babbage Linden: we've also made some progress on our internal C# prototype
[03:20] Darrius Gothly: Tonya raises a good point .. persistent storage.
[03:20] Babbage Linden: fixed some bugs, got some more language features working
[03:20] Cerdita Piek: I could suggest a way to get and set name and description in linked prims.
[03:20] Tillie Ariantho: What would be useful now besides ARC is something like ASC... Avatar Script Count value, so we know which memory values we are talking of, per avatar. ^^
[03:20] Babbage Linden: great news on that front is that Mono 2.6 is officially out
[03:21] Babbage Linden: including the bytecode and metadata verifiers
[03:21] Babbage Linden: and coreclr sandbox
[03:21] Babbage Linden: which we've literally been waiting years for
[03:21] Tillie Ariantho: So you already beta-implemented mono for client side? :P
[03:21] Imaze Rhiano: well... LL could provide persistent storage for script after some extra payment or maybe tie it with preminium accounts...
[03:21] Babbage Linden: http://www.mono-project.com/Release_Notes_Mono_2.6
[03:22] Talarus Luan: So, what is 2.6 allowing you to do new and different?
[03:22] Gooden Uggla: ARC is worthless, until the texture cache can actually umm... cache textures
[03:22] Babbage Linden: it means we can use the Mono defined mechanisms for verifying and sandboxing untrusted code
[03:22] Tillie Ariantho: Gooden: but output of single and global script memory would be helpful. ^^
[03:22] Babbage Linden: at the moment we have our own verifier
[03:22] Babbage Linden: but it's limited
[03:22] Imaze Rhiano: it allows server to validate mono IL - and allows us to write someday C# or some other mono compatible code and upload it to server
[03:23] Talarus Luan: So, a step closer towards resident-compiled assemblies?
[03:23] Babbage Linden: and we don't want to have to extend it to support the whole of the CIL instruction set
[03:23] Gooden Uggla: yes, but the example scared me, sorry
[03:23] Babbage Linden: now we can use the Mono verifier
[03:23] Gooden Uggla: a metric that doesn't work...
[03:23] Babbage Linden: (which I wrote some of the tests for in 2005...)
[03:24] Babbage Linden: we've also got WSGI asset upload in to QAR
[03:24] Babbage Linden: that will hopefully be in 1.36
[03:24] Babbage Linden: and will make script compilation and other asset uploads more efficient
[03:24] Babbage Linden: and stop them being a DOS vector
[03:24] Imaze Rhiano: WSGI asset?
[03:24] Talarus Luan: Cool
[03:24] Babbage Linden: there were problems with snapshots especially
[03:25] Darrius Gothly hopes links will be provided to some of these acronyms .. cuz I'm really pretty new to a lot of them.
[03:25] Babbage Linden: on busy regions with lots of people taking and uploading pictures
[03:25] Babbage Linden: the upload service could end up using a lot of simulator host memory
[03:25] Talarus Luan: Web Server Gateway Interface... a cleaner way to gateway CGI-type applications.
[03:25] Babbage Linden: as we were using CGI
[03:25] Darrius Gothly: *nods* Ty
[03:25] Babbage Linden: which was spawning a python interpreter for every upload
[03:25] Gooden Uggla: snapshots are better than nothing, and all we have now
[03:25] Tonya Souther: ouch!
[03:26] Babbage Linden: now we have a single python interpreter
[03:26] Babbage Linden: as a WSGI daemon process
[03:26] Babbage Linden: and so asset upload is much more efficient
[03:26] Babbage Linden: and less likely to impact sim performance
[03:26] Darrius Gothly: Sweet .. cut out that upfront load time on each upload.
[03:26] Tillie Ariantho: Oh, where we are at snapshots, vote for http://jira.secondlife.com/browse/VWR-12917 ... for snapshots savenames with timestamps in it. ^^
[03:26] Babbage Linden: that will hopefully be in 1.36
[03:27] Babbage Linden: and I spent some time writing a blog post about script limits
[03:27] Darrius Gothly smiles ...
[03:27] Darrius Gothly: How many of the responses have you been able to wade thru?
[03:27] Tillie Ariantho: ah so? never heard of that blog post. :P
[03:27] Talarus Luan: Yus, we saw. :)
[03:27] Babbage Linden: to hopefully sooth some of the swirl around that that kicked up over the weekend
[03:27] Stickman Ingmann: You wrote that a couple days after I asked a question on sldev about it. Good timing.
[03:27] Gooden Uggla: efficient assets sounds good, fixing the texture cache might make that more noticable, looks like we'll have to wait...
[03:27] Babbage Linden: yes, there were some blog posts worrying about it too
[03:28] Stickman Ingmann: The blog posts worrying are what made me ask for official info. Spreading panic is fun, but facts are more useful.
[03:28] Babbage Linden: the important point is that we're not going to be enforcing script limits any time soon
[03:28] Babbage Linden: but the proposed limits will be visible
[03:28] Babbage Linden: so you'll be able to let me know if they're way off
[03:28] Stickman Ingmann will.
[03:28] Darrius Gothly: How soon can we expect to see "official" statements on which metrics are measured and considered?
[03:29] Tonya Souther: And how soon can we expect to see tools we can use to measure our own scripts - not at the script level, but much more fine-grained?
[03:29] Babbage Linden: (but if you come to me saying that your 1000 prim hair and 1000 prim shoes with scripts in each prim aren't going to work, I'm going to be less sympathetic)
[03:29] Darrius Gothly: LOL
[03:29] Talarus Luan: <.<
[03:29] Imaze Rhiano: Darrius: avatar and parcel script memory usage are measured
[03:29] Babbage Linden: well, the important tools are going to be in the next viewer release
[03:29] Babbage Linden: the UI is being worked on now
[03:29] Darrius Gothly: Planned release is ?
[03:30] Ovaltine Constantine: Ooh yay, /me wants
[03:30] Darrius Gothly: Can we get advance looks at the UI?
[03:30] Ashiri Sands: (one script only in my hair)
[03:30] Talarus Luan: Well, *Fast stuff should fix that script-in-every-prim thing. :D
[03:30] Babbage Linden: there's likely to be more information hanging off the objects tab
[03:30] Babbage Linden: in about land
[03:30] Tillie Ariantho: But wont it break existing content? I mean there are many hair designers right not with lots of scripted hair...
[03:30] Stickman Ingmann: Glad to hear the UI is being worked on. There were some issues with that.
[03:30] Tonya Souther: I'm a SL newbie (been here half as long as the next longer person here), but I've been programming for 35 years. I know how to program and to tune and to write efficient code - as long as there's a good way to see what's efficient and what's inefficient.
[03:30] Babbage Linden: which will show the size and location of each scripted object
[03:30] Babbage Linden: in your land and in attachments
[03:31] Darrius Gothly: Even for Parcel Owners and not just Sim or Region Owners?
[03:31] Babbage Linden: yes, it will work for parcel owners
[03:31] Tonya Souther: Not even parcel owners. I don't own a single plot of land, and need to see the stats.
[03:31] Darrius Gothly: And general residents?
[03:31] Talarus Luan: Yeah, it's going to break *some* existing content. Content creators need to be proactive and prepare for the change and be able to update their products for their customers.
[03:31] Babbage Linden: general residents will be able to see their attachment usage
[03:31] Babbage Linden: and available memory for attachments
[03:31] Darrius Gothly: What about for objects they've owned and rezzed on the land?
[03:32] Ovaltine Constantine: Are we just talking memory or also script time?
[03:32] Babbage Linden: we're just talking about script time
[03:32] Babbage Linden: hmm, that's a good point darrius
[03:32] Imaze Rhiano: each avatar is able to see their own memory uage - but no one else can't see it, parcel owner can see memory usage in parcel that they own, sim owner can see memory usage in entire sim in all parcels
[03:32] Tonya Souther: What, exactly, is going to be limited?
[03:32] Babbage Linden: for sandboxes we'll want everyone to see script sizes
[03:32] Babbage Linden: i'll check that that will be the case
[03:32] Darrius Gothly: Ty
[03:33] Tonya Souther: Am I going to have to buy land just to work on scripting?
[03:33] Babbage Linden: tonya, the memory availabe to scripts is going to be limited
[03:33] Babbage Linden: every square meter of land will give the parcel an amount of memory for scripts
[03:33] Gooden Uggla: i'm curious... if the lab couldn't/can't measure the asset metrics that result in the viewer cache bugs still being largely ignored, how can scripts expect to be accurately measured? DDoS attacks on the asset servers from every viewer and it was denied for months...
[03:33] Talarus Luan: See comment above about sandboxes
[03:33] Darrius Gothly: I have a Group for my land .. all in the group can build, but only a few have "owner" powers. What permission/ability will you need in order to see the overall stats for that Parcel?
[03:33] Stickman Ingmann: Tonya, ever try to build on nobuild land? You use attachments.
[03:33] Tonya Souther: I rent my land.
[03:33] Imaze Rhiano: Tonya: you can use sandboxes and attachments for scripting normally
[03:33] Babbage Linden: renting will be fine
[03:34] Babbage Linden: as you'll normally be the owner of the land
[03:34] Gooden Uggla: i hear a lot of fine things, and i trust the good doctor works hard, but... i have trust issues with the Lab...
[03:34] Babbage Linden: with the person you rent from being the estate owner
[03:34] Babbage Linden: well then you have issues gooden
[03:34] Gooden Uggla: tell me these things will be fixed and i will believe
[03:34] Babbage Linden: i don't work on the viewer
[03:34] Tonya Souther: Uhm, not the places I've seen...you join the group that owns the land.
[03:35] Babbage Linden: but i know i can measure the size of scripts accurately
[03:35] Gooden Uggla: just the mono freeze and the CGC, will that get fixed?
[03:35] Babbage Linden: we do right now to cause them to stack/heap collision when they run out of memory
[03:35] Talarus Luan: Oh.. that reminds me, will any of this script profiling be exposed to LSL via new functions at some point?
[03:35] Babbage Linden: as i said, I'm going to be collecting callgrind data to send to the Mono devs today
[03:35] Gooden Uggla: the CGC is working now?
[03:35] Gooden Uggla: ah, ok, thanks
[03:35] Darrius Gothly: Good idea Talarus.
[03:36] Babbage Linden: I'm working on the Mono freeze issue
[03:36] Babbage Linden: and have narrowed it down to a particular runtime function being slow
[03:36] Babbage Linden: so I'm working with the Mono developers to fix it
[03:36] Imaze Rhiano: Tonya: There are generally 2 kind land rental business in here - one where you buy land from estate owner and pay monthly tier (rent) for her then - and then - where you pay access to group land (for example in big apartment buildings where multiple users are sharing same parcel)
[03:36] Talarus Luan: IE, will we be able to, for example, use a scripted monitor for our land to keep an eye on usage, or to automate profiling of scripts?
[03:37] Tillie Ariantho: You think the fix will roll out this year? :)
[03:37] Tonya Souther: All of my land is the latter, Imaze, across 6 stores and two other places.
[03:37] Darrius Gothly: Babbage .. a number of people have expressed an interest in seeing what sorts of things will be on the new "Script Details" tab/report. When can that be published in some solid form?
[03:37] Ardy Lay: Babbage, could you lay to rest the rumor that LSL script memory usage metric is going to have a multiplier applied to it to discourage use of LSL?
[03:37] Imaze Rhiano: Tonya: If you can script there currently, you can script there also future - however - you are going to share parcel memory with everyone else in same parcel
[03:37] Liandra Ceawlin: Lol, where'd that rumor come from?
[03:38] Babbage Linden: at the moment the plan is to show the name and location of each scripted object along with its size
[03:38] Babbage Linden: plus buttons to put a beacon on the object and return it
[03:38] Gooden Uggla: i stayed awake because i wanted to hear from someone at the lab i know i can trust, do you really believe that the fix for the mono freeze is close and the script limits are necessary?
[03:38] Babbage Linden: but that may change as it's not finalized yet
[03:38] Darrius Gothly: Will "size" be explodable to show each script in that object too?
[03:38] Babbage Linden: probably not
[03:38] Darrius Gothly: Darn .. please??
[03:38] Tonya Souther: Oh dear.
[03:38] Darrius Gothly: How else will we determine which script is at fault?
[03:39] Talarus Luan: Is that possible, and you don't want to provide it, or?
[03:39] Babbage Linden: each script is the same size, at least at the moment
[03:39] Tonya Souther: Not just which script, Darrius, which *function*?
[03:39] Darrius Gothly: *nods* True.
[03:39] Babbage Linden: we're still discussing what to do about Mono vs LSO accounting
[03:39] Babbage Linden: for some scripts, LSO is more efficient
[03:40] Babbage Linden: but, we want to get away from supporting 2 VMs
[03:40] Tonya Souther: ...hang on, Babbage. You mean my big hairy 1250-line main script uses the same memory as my 120-line prim adjustment worker script?
[03:40] Babbage Linden: (in fact we want to get away from supporting any virtual machines)
[03:40] Stickman Ingmann: Babbage, any chance of getting an llSetLinkListPrimitiveParamsFast so we can specify a list of things to change, instead of looping through several calls? Also, would that make a signficant difference in bytecode or processing usage to make it worthwhile?
[03:40] Darrius Gothly: But I thought VMs were your insurance against aggressive or abusive scripting?
[03:41] Babbage Linden: so, we may add a higher cost to LSO scripts to avoid people both VMs in to the future
[03:41] Babbage Linden: that's still being discussed though
[03:41] Darrius Gothly: Oooh .. not so keen on that idea Babbage. Sorry .. just saying.
[03:41] Ardy Lay: Ouch.
[03:41] Babbage Linden: Tonya, each script has a reserved memory and a used memory
[03:42] Babbage Linden: at the moment each LSO script has 16K reserved memory
[03:42] Tillie Ariantho: Just make the mono part really good so that we dont need old lsl anymore. :P
[03:42] Ardy Lay: With 56,000 products in that wild that will drive us crazy doinf updates. :-(
[03:42] Ardy Lay: in the wild
[03:42] Babbage Linden: and each Mono script has 64K reserved Memory
[03:42] Babbage Linden: in most cases Mono is more efficient with memory than LSO
[03:42] Babbage Linden: but in some cases, when you use lots of lists or recursion for example, Mono can end up using more memory
[03:43] Darrius Gothly: What about "Mono Lite" .. that only reserves 16K memory .. so we can choose to voluntarily shrink our memory requirements but still use Mono?
[03:43] Talarus Luan: It seems that Mono memory is allocated in 512-byte blocks.
[03:43] Talarus Luan: at least in terms of the "used" vs "reserved" distinction.
[03:43] Babbage Linden: when we released Mono we gave it a bigger reserved memory so people could convert their scripts to Mono easily without having stack/heap collusions
[03:43] Tonya Souther: ...and using lots of lists is needed because of no persistent storage.
[03:43] Talarus Luan: Oh no! The stack is in collusion with the heap! :D
[03:43] Darrius Gothly: ^5's Tonya. *grin*
[03:44] Babbage Linden: we have plans for allowing Mono scripts to change their reserved memory
[03:44] Tillie Ariantho: Talarus :P
[03:44] Babbage Linden: so you'll be able to reserve 4K for a Mono script just responding to a door
[03:44] Darrius Gothly: Excellent. And that planned roll-out for that memory reservation is ?
[03:44] Babbage Linden: or reserve 1MB for a script sitting in a region doing pathfinding or whatever
[03:44] Tonya Souther: in order to do that well, Babbage, we'll need to see how much each script *needs*.
[03:45] Talarus Luan: That would be nice
[03:45] Babbage Linden: tonya, yes, so we should also be able to add a get used memory function
[03:45] Darrius Gothly: Yeah .. real live memory management calls would be a minimum.
[03:45] Cerdita Piek: will be llGetFreeMemory() more accurate to know exactly the memory that a script is using?
[03:45] Babbage Linden: for Mono scripts at least
[03:45] Talarus Luan: Well, until someone reserves 1mb in several attachments and tries teleporting around. <.<
[03:45] Babbage Linden: except that script limits will be in place before memory reservation
[03:45] Darrius Gothly: LOL @ Talarus
[03:45] Stickman Ingmann puts on 90MBs of script attachments.
[03:45] Tonya Souther: Talarus, I believe the term for that is TELEPORT FAIL.
[03:46] Darrius Gothly: LMAO
[03:46] Imaze Rhiano: that is why there is coming memory limitiations for attachments too
[03:46] Talarus Luan: Oh, if you provide the capability, someone is going to do it.
[03:46] Babbage Linden: once you have script limits, there's no reason not to let 1 script reserve all the memory in a parcel
[03:46] Babbage Linden: which will make it much easier to develop complex scripts
[03:46] Talarus Luan nodnods
[03:46] Babbage Linden: without having to break them in to many small pieces
[03:46] Talarus Luan: Well, I also used the word "tries" ;)
[03:46] Darrius Gothly shoots Stickman with a 50MB bullet ...
[03:46] Stickman Ingmann: hahaha
[03:46] Tonya Souther: I've got one script I had to break in half because I ran out of memory, and would love to be able to put back together.
[03:47] Babbage Linden: right
[03:47] Babbage Linden: you get to a certain complexity of script
[03:47] Tonya Souther: About 1300 lines, in my experience. :3
[03:47] Darrius Gothly: Yes, some sort of llGetMemoryType(TYPE_CONSTANT) call would be wonderful too.
[03:47] Stickman Ingmann: Babbage, before hours are up, there's two topics that have come up that I'm really interested in knowing more about.
[03:47] Babbage Linden: and then you're forced to make it even more complex by breaking it up and making the scripts link message to each other
[03:47] Babbage Linden: sure
[03:47] Stickman Ingmann: One is persistant memory storage. Is there any solution for that on the drawing board?
[03:48] lufpleh Obstreperous: what happens to me/my attached scripts if a bot is on a parcel and has reserved all the memory?
[03:48] Darrius Gothly: Votes for that ...
[03:48] Tonya Souther: <littlekittenvoice> please? </littlekittenvoice>
[03:48] Stickman Ingmann: Right now, I think the best thing is pinging an external server, or names/descriptions. Or even alpha/color values on prim faces.
[03:49] Darrius Gothly: I filed a JIRA suggesting a new type of Item inside prims that is a Datastore/Datagrid type .. and cannot leave the Host Prim.
[03:49] Imaze Rhiano: lufpleh: each avatar is going to have fixed amount of memory available for their attachment - your bot can't allocate someone elses memory
[03:49] Babbage Linden: there are discussion about persistent storage
[03:49] Talarus Luan: Well, you can store stuff in scripts, too, but that's as dicey as anything in SL in terms of persistence.
[03:49] Babbage Linden: but they're a way off
[03:49] Stickman Ingmann nods.
[03:49] Stickman Ingmann: Glad to hear it's being discussed, at least.
[03:49] Babbage Linden: our roadmap dissapears off in to the distance
[03:49] Stickman Ingmann: The other question I had was...
[03:49] Liandra Ceawlin: Once we have C# and libraries, we could define a persistency API for scripts that could plug into whatever persistence engine we wanted to use. :d
[03:49] Babbage Linden: but at least we have a roadmap for scripting now
[03:49] Babbage Linden: and are heading down it
[03:50] Babbage Linden: liandra
[03:50] Darrius Gothly wants a copy of that map ..
[03:50] Babbage Linden: exactly
[03:50] Babbage Linden: that's close to what we're thinking about
[03:50] Stickman Ingmann: Is it possible to get llSetLinkListPrimitiveParamsFast (for lists of prims) alongside the new llSetLinkPrimitiveParamsFast(), and would it be a benefit in bytecode or processing enough to warrent doing.
[03:50] Babbage Linden: i've told you about a lot of things on that roadmap
[03:50] Tonya Souther: Heck, I'd settle for some kind of file metaphor.
[03:50] Liandra Ceawlin: Assuming we can add multiple event handlers to a events. Like layering http_response events, etc...
[03:51] Darrius Gothly: I'd like to suggest that Persistent Storage is such a primal need of scripts in general, that shunting it off-world is building in an inefficiency that should be included in the main library.
[03:51] Liandra Ceawlin: *an event
[03:51] Babbage Linden: stickman, i don't think the processing savings warrant it
[03:51] Babbage Linden: calling to unmanaged code from Mono is pretty quick
[03:51] Talarus Luan: Yep, without a delay, it pretty much is the same thing, speed-wise.
[03:52] Babbage Linden: darrius there are a lot of issues with persistent storage
[03:52] Liandra Ceawlin: I can't tell any appreciable difference between sending a link message to each of 200 link numbers in a list in a loop and using LINK_SET. I'd assume primparams would be much the same. <_<
[03:52] Stickman Ingmann: Good to know. I'm a scripter, not a programmer. So I was curious. Thank you. :)
[03:52] Babbage Linden: at the moment sim hosts are set up to basically be able to fall in to the see without too much of a problem
[03:52] Talarus Luan: Scripting isn't programming? <.<
[03:52] Stickman Ingmann: Scripting isn't programming.
[03:52] Imaze Rhiano: just one idea for LL marketing department - add persistent storage for premium account owners :P
[03:52] Tonya Souther: However, the number of arguments to llSetLinkPrimitiveParams() for different argument types is different. Without a list call, we'll have to use a n-strided list with n being the largest number of arguments, which will waste memory.
[03:52] Babbage Linden: if you have precious persistent data on sim hosts we have to be much more careful with them
[03:53] Babbage Linden: or set up complex backup systems to each sim
[03:53] Stickman Ingmann: I asked a programmer at my college what he would say if I claimed to be one. His reply cannot be repeated in kind company.
[03:53] Babbage Linden: ops likes not having to care when a sim host melts or dies at the moemnt
[03:53] Babbage Linden: being able to just plug a new one in is nice
[03:53] Darrius Gothly: My proposal actually tied into the Asset memory, not the Sim memory. Much like floating text and other such attributes are now.
[03:53] Liandra Ceawlin: I've got some offworld data persistency stuff for appengine kicking around here somewhere if any of y'all want it. It's free to use, has big quotas, and will be around long after ya get hit by a bus.
[03:54] Babbage Linden: right, but being able to programatically create assets is also scary
[03:54] Talarus Luan: ..or until Google gets bored and dumps it. <.<
[03:54] Babbage Linden: we'd have to make sure it was correctly throttled etc
[03:54] Darrius Gothly: Not create an asset .. add to an asset's existing attributes.
[03:54] Babbage Linden: anyway, complex
[03:54] Babbage Linden: but on the roadmap
[03:54] Babbage Linden: which i should get back to heading down
[03:55] Darrius Gothly: Before you leave .. any expected time line for first view Script Limits?
[03:55] Babbage Linden: any more questions before i head off?
[03:55] Darrius Gothly: When can we expect to start seeing numbers?
[03:55] Cerdita Piek: wouldnt be easier to store persistent date in a object, to allow a script to create/write a notecard in the content of the object?
[03:55] Liandra Ceawlin: Thanks for your time, Babbage, and for the fast primparams work. This is awesome news. <3
[03:55] Babbage Linden: you'd have to talk to the viewer devs about that
[03:55] Tonya Souther: Babbage, any prospect for allowing lists to contain lists in LSL? Right now, we're stuck to single-dimensioned arrays. FORTRAN got past that in 1957.
[03:55] Kaluura Boa: One question: Will the not-so-tiny bug with rotations be fixed in their fast version?
[03:55] Babbage Linden: we're going to have the UI done for it before christmas
[03:55] Stickman Ingmann: So llGetLinkPrimitiveParams() is 1.38 as well?
[03:56] Babbage Linden: but i don't know what the release schedule will be
[03:56] Stickman Ingmann: There was a thread on sldev about writing to notecards. Short answer: Not gonna happen.
[03:56] Babbage Linden: stickman, hopefully efficient scripts wll be in 1.38
[03:56] Babbage Linden: but that's not frozen yet, so i can't say for sure until it is
[03:56] Darrius Gothly: We'd love to get at least a puppet show of the new UI .. even with the caveat that "everything here will probably change"
[03:57] Babbage Linden: i'll see what i can do
[03:57] Stickman Ingmann: :D
[03:57] Darrius Gothly: Ty .. cuz right now we hear something coming .. just dunno if it's an elephant or a bunny rabbit.
[03:57] Tonya Souther: Or a bunny rabbit with nasty sharp pointy teeth!
[03:57] Ardy Lay: i'm worried about having 56,000 avatars out in the wild becoming suddenly obsolete, even though we only avearage 15-25 scripts per av, most of them very concise.
[03:57] Darrius Gothly: LOL Is that you Pink?? *grin*
[03:57] Gooden Uggla: it's the bus... same as always...
[03:57] Gooden Uggla: have a good morning...
[03:57] Talarus Luan: About the only other thing I can think of is llLinkTargetOmega and llSetLinkTextureAnim
[03:57] Darrius Gothly: LOL @ Gooden
[03:58] Darrius Gothly: Thank you for your time and information Babbage.
[03:58] Babbage Linden: your welcome
[03:58] Stickman Ingmann: Indeed. Thank you.
[03:58] Babbage Linden: i'm off on vacation this week
[03:58] Gooden Uggla: thanks...
[03:58] Talarus Luan: Aye, thanks. :)
[03:58] Imaze Rhiano: thank you babbie
[03:58] Ashiri Sands: thanks Babbage
[03:58] Stickman Ingmann: Who's handling putting the log on the wiki?
[03:58] Darrius Gothly: Vacation .. whazzat??
[03:58] Talarus Luan: Happy holidays. :)
[03:58] Tonya Souther: Thanks, babbage. This is the first time I've actually been able to speak with anyone *at* Linden Labs.
[03:58] Babbage Linden: so this is the last office hour of the year
[03:58] Stickman Ingmann: Enjoy your time off, Babbage!
[03:58] Cerdita Piek: thanks, babbage, take care, and have fun :)
[03:58] Babbage Linden: have a lovely holiday and see you in 2010
[03:58] Becky Pippen: Thanks Babbage
[03:58] Stickman Ingmann: Merry Christmas, and happy New Year!
[03:59] Darrius Gothly: See ya next year!
[03:59] Nock Forager: oh, so see you in next year.
[03:59] Gooden Uggla: tponya, go see blue, he has field trips :)
[03:59] Babbage Linden: merry christmas!
[03:59] Nock Forager: merry xmas!
[03:59] Gooden Uggla: merry christmas
[03:59] Stickman Ingmann: Well, that was neat. I'm glad I came.
[03:59] Ardy Lay: Nock bas been posting transcripts.
[03:59] Darrius Gothly: Me too.
[04:00] Tonya Souther: Me too...migh even be able to get a nap in before I have to do things.
[04:00] Stickman Ingmann: K, I won't worry about it then. Thanks you guys, the transcripts on the wiki are fantastic resources.
[04:00] Darrius Gothly: now I can finally get outta this monkey suit too .. this tie is WAY too tight.
[04:00] Talarus Luan yawns. "Too early for me" ;)
[04:00] Liandra Ceawlin: Wow. I am pumped.
[04:00] Cerdita Piek: i have to go too. take care :)
[04:00] Stickman Ingmann: Poor Darrius.
[04:00] Darrius Gothly: LOL
[04:00] Tonya Souther: On balance, I see positives, but I do wish the reports available will be finer-grained than Babbage indicated.
[04:00] Darrius Gothly: *cough cough* whimper ...
[04:00] Liandra Ceawlin: Finally, I can fix all the hacky stuff that I tried to talk the clients out of but couldn't. <3
[04:01] Darrius Gothly: I agree Tonya .. and I really want more specifics. Babbage is good at pointing in a direction .. sorta. But not detailed enough IMO.
[04:01] Stickman Ingmann: So, Ardy. Not all good news for you. :/ We'll have to see what they can do about LSO. There oughta be some solution.
[04:01] Imaze Rhiano: adapt or die!
[04:01] Stickman Ingmann: Andrew Linden is another Linden who gives good info.
[04:02] Tonya Souther: Are there any rules of thumb as to when to use LSOO vs. Mono? I've been doing *everything* in Mono because I thought that was the wave of the future.
[04:02] Darrius Gothly: llAdaptOrDie()?? When is THAT one coming out?
[04:02] Stickman Ingmann: Nyx and BigPapi are smart and in the know, but they tend to hint more than give.
[04:02] Talarus Luan: It's an intrinsic. :P
[04:02] Ardy Lay: I can't imagine the fuss.... 38,000 customers and 56,000 avatars sold will be quite an update cycle if I lose LSL-LSO.
[04:02] Imaze Rhiano: currently - don't use MONO for attachments or objects that are rezzing lot
[04:02] Stickman Ingmann: Tonya, I haven't heard a good answer to that. There seems to be arguments for either way.
[04:02] Talarus Luan: Don't do Mono in attachments.
[04:02] Tonya Souther: I build furniture, so no rezzing involved.
[04:02] Talarus Luan: right now, anyway
[04:02] Liandra Ceawlin: I personally am not all that psychotic about them never breaking existing content. If you try to keep everything backwards compatible, you end up with the windows API or the intel line of microprocessors, with a bunch of obsolete stuff bogging things down that nobody has used for 20 years. <_<
[04:02] Stickman Ingmann: With Mono originally, they were gonna kill the old VM and convert all the scripts. And people pointed out that's not actually possible.
[04:02] Darrius Gothly: Static stuff .. mono. Moveable stuff .. LSL.
[04:03] Imaze Rhiano: mono should be okay in furniture
[04:03] Talarus Luan: or in vehicles.
[04:03] Darrius Gothly: Agreed .. the "Death of LSL" would be a tragic day indeed.
[04:03] Imaze Rhiano: also when are compiling mono - compile it at one primitve - then copy script to your inventory - and then drop it to other primitives that are using same script
[04:03] Stickman Ingmann: I agree, Liandra. But SL _is_ their content. So they have to protect it as best they can, even if not perfectly.
[04:03] Imaze Rhiano: that way you can share same assembly between mono scripts
[04:04] Tonya Souther: I've been doing it that way because I'm lazy, Imaze.
[04:04] Darrius Gothly wishes this "After Hours" chat would make the transcripts too.
[04:04] Talarus Luan: Add it. :)
[04:04] Stickman Ingmann: Sharing assembly code is awesome.
[04:04] Talarus Luan: It's a wiki
[04:04] Tonya Souther: Are there places folks new to the platform can go to get these kinds of answers, or these kinds of quesions answered?
[04:04] Ardy Lay: llOwnerSay(llGetInventoryKey(llGetScriptName()));
[04:04] Darrius Gothly: Good idea .. ty.
[04:05] Ardy Lay: To veryfy
[04:05] Ardy Lay: verify
[04:05] Talarus Luan: Some groups, and the wiki
[04:05] Liandra Ceawlin: Cursed openal crashes. D:=
[04:05] Stickman Ingmann: I'm gonna get some sleep. Got a final tomorrow worth 30% of my grade. Later everyone!
[04:05] Liandra Ceawlin: Oi! GL!
[04:05] Talarus Luan: Ciao.
[04:05] Darrius Gothly: Be well Stickman.
[04:05] Tonya Souther: Night, Stickman.
[04:05] Imaze Rhiano: wiki is good source
[04:05] Darrius Gothly: Good luck on the Final.
[04:06] Stickman Ingmann: Thanks! :D
[04:06] Tonya Souther: True, Imaze, for what it covers.
[04:06] Darrius Gothly: Break a pencil... Oh he left .. darnit.
[04:06] Tonya Souther: The section on writing efficient scripts is long on prescriptions, though, and woefully short on alternatives to doing inefficient things.
[04:06] Ardy Lay: Didn't even leave a hole in the water. :-)
[04:06] Tonya Souther: Like, for example, putting resize scripts in every prim :3
[04:06] Talarus Luan: He's an existential Dragon
[04:07] Ardy Lay: Talarus, I guess so.
[04:08] Liandra Ceawlin: I tend to write a helper script that you can put multiple copies of in the root prim, and then the main script counts the number of helpers and multiplexes. So you can install say 3 of em and retexture all of a 20 prim object in 1s in 5 chunks. Middle of the road, I guess. :<
[04:08] Nock Forager: OK log published: https://wiki.secondlife.com/wiki/User:Babbage_Linden/Office_Hours/2009_12_16
[04:08] Talarus Luan: Yeah, the script efficiency stuff is for micro-optimizations, not necessarily "best approach" macro design optimizations.
[04:08] Ardy Lay: Those avatars are awesome but NOT when 3 of them try to occupy a 20 meter diameter socialization area when others are there.
[04:08] Darrius Gothly: Ty Nock.
[04:08] Talarus Luan: Aye, is why I am "compact" in this form. :)
[04:08] Ardy Lay: Most people are considerate like that but there are a few that are not.
[04:09] Talarus Luan: Ancient size is just too big when dealing with others of "medium" size class. ;)
[04:09] Ardy Lay: Stickman arrived in the small form then found lots of space. :-)
[04:09] Talarus Luan: I end up with goo between my toes all too often. <.<
[04:09] Liandra Ceawlin: Ok, I have potential clients calling. :o See y'all next time!!
[04:09] Darrius Gothly: LOL
[04:09] Imaze Rhiano: bye Liandra
[04:09] Imaze Rhiano: good luck!
[04:09] Darrius Gothly hands Talarus a "goo remover stick" ...
[04:10] Darrius Gothly: TC Liandra
[04:10] Imaze Rhiano: right... I should continue my working... bye bye
[04:10] Liandra Ceawlin: Y'all TC too!
[04:10] Ardy Lay: Seeing the big green dragon in the water was a treat.
[04:10] Darrius Gothly: Be well Imaze.
[04:10] Nock Forager leaving too. seeya in next year.
[04:10] Talarus Luan: Aye, take care all. Need some rest.
[04:11] Darrius Gothly: Wow .. zoom. Okay all (that's left) .. My turn to vanish too.
[04:11] Tonya Souther smiles.
[04:11] Tonya Souther: See ya, Darriius...and whatever folks on the blog might think, thanks for raising the issue.
[04:12] Darrius Gothly: You're very welcome Tonya. I gotta thick hide .. flame retardant too. But I do appreciate the support.
[04:12] Ardy Lay: Hehe... The blog gets rather rowdy.
[04:12] Darrius Gothly: hehe .. nahh .. really?
[04:12] Ardy Lay: People don't seem to be reading the original post.
[04:14] Ardy Lay: 6:14AM..... I could take a nap I suppose.
[04:14] Tonya Souther: I'm debating it, Ardy...roommate gets ome from work in an hour or so.
[04:14] Ardy Lay: I expected a capacity+ mob so have been here for a long time.
[04:15] Darrius Gothly recites the super hero anthem .. up and up and away!! (then fumbles for the TP Home button ...)
[04:15] Ardy Lay: Hehe
[04:15] Tonya Souther: I got here at 4:30 (and, like you, I'm US Central).

Generated with SLog Wikifier