User:Babbage Linden/Office Hours/2009 08 12

From Second Life Wiki
Jump to navigation Jump to search

Transcript of Babbage Linden's office hours:

[3:02] Morgaine Dinova: The revolution?

[3:03] Babbage Linden: done

[3:03] Sebastean Steamweaver: Nice AV there Martin!

[3:03] Sebastean Steamweaver: Xugu, you aren't a pumpkin!

[3:03] Morgaine Dinova: So, what's new in the world of server-side scripting and sexy assemblies and VMs?

[3:04] Xugu Madison: I go through a few avatars :)

[3:04] Xugu Madison: and also in web services. Some of us want to poke at things with HTTP

[3:05] Babbage Linden: hopefully our new platform product manager will be joining us today

[3:05] Morgaine Dinova: Hiya Sai :-)

[3:05] Sebastean Steamweaver: I was actually giong to ask you about that Babbage!

[3:05] Babbage Linden: she is visiting us in brighton this week

[3:05] Sebastean Steamweaver: Is it ok if I poke at him with SVC-2885?

[3:05] JIRA-helper: http://jira.secondlife.com/browse/SVC-2885 [#SVC-2885] llSetObjectScale and llGetObjectScale

[3:05] Sebastean Steamweaver: her*

[3:05] Morgaine Dinova: We heard you on BBC Radio 4 :-))

[3:06] Babbage Linden: oh, i'm glad you listened

[3:06] Babbage Linden: i was a bit dissapointed

[3:06] Babbage Linden: it came out as a normal "wow, second life, eh" piece

[3:06] Morgaine Dinova: Yeah, could have been better, content was low. But I guess it's all the masses could take.

[3:06] Babbage Linden: which there have been many of already

[3:07] Sierra Janus: People won't shutup about Twitter but couldn't be bothered to look twice at Second Life...

[3:07] Babbage Linden: there were lots of more nuanced discussion about second life and engineering

[3:07] Babbage Linden: but it didn't make the cut

[3:07] Sebastean Steamweaver: Hi Gisele :)

[3:08] Babbage Linden: everyone, this is gisele

[3:08] Babbage Linden: a minty fresh linden

[3:08] Larissa Vacano: Hello Gisele

[3:08] Babbage Linden: and our new platform product manager

[3:08] Latif Khalifa: hi Gisele

[3:08] Morgaine Dinova: It's good that Twitter exists, gives the morons somewhere to go and talk about their boring first lives.

[3:08] Hu Beaumont: hola

[3:08] Gisele Linden: hi all!

[3:08] Imaze Rhiano: hi

[3:08] Sebastean Steamweaver: Please have my seat Gisele, doesn't seem right you should . . . oh wait, you're a tornado. Can you sit?

[3:08] Babbage Linden: who will be working on scripting, content creation tools and lots of other good stuff

[3:08] OliveOiled Limonaxit: hola

[3:09] Gisele Linden: sitting!

[3:09] Sebastean Steamweaver: Yay!

[3:09] Morgaine Dinova: Hiya Gisele --- nice to meet you. Welcome to thecommunity madhouse :-)

[3:09] Babbage Linden: gisele has only just started and is still very much getting up to speed

[3:09] Latif Khalifa: so Gisele is going to help us get decent scripting for objects in SL (c#) yey!

[3:09] Babbage Linden: but i thought it would be nice for you all to meet her

[3:09] Sebastean Steamweaver: I have a few things to poke at you with Gisele if I get the opportunity :>

[3:09] Saijanai Kuhn: well she needs to join Groupies so she can be warped as she moves

[3:09] Babbage Linden: and hear about the things we discuss

[3:09] Gisele Linden: ahhhahah

[3:09] Morgaine Dinova: Go for it Sai! :-)

[3:10] Saijanai Kuhn: invite i the mail

[3:10] Saijanai Kuhn: there we go

[3:10] Babbage Linden: so, everyone, gisele

[3:10] Babbage Linden: gisele, the scripters of second life

[3:10] Gisele Linden: my pleasure...

[3:10] Saijanai Kuhn: Hi Gisele

[3:10] Babbage Linden: (some of them at least)

[3:10] Sebastean Steamweaver: Nice to meet you Gisele :)

[3:10] Gisele Linden: i hope to learn alot from you all!

[3:10] Morgaine Dinova: Nice start for Gisele, griefing us with particles ;-))))

[3:10] Sebastean Steamweaver: D:

[3:11] Latif Khalifa: lol

[3:11] Babbage Linden: would you like to introduce yourself gisele, with some backgroun?

[3:11] Babbage Linden: d

[3:11] Gisele Linden: i am testing your tolerance levels!

[3:11] Morgaine Dinova: Haha

[3:11] xstorm Radek: is he as good as kelly linden ?

[3:11] Sebastean Steamweaver: You don't even make me flinch ;)

[3:11] Gisele Linden: hmmm... what is interesting?

[3:12] Saijanai Kuhn: anyone else need a Groupies invite?

[3:12] xstorm Radek: *GIGGLES* :)~~~~

[3:12] Gisele Linden: I am a product manager by profession, focusing on platform architecture and technicle-type initatives

[3:12] Sebastean Steamweaver: Groupies is a great way to stay informed about things folks. If you aren't a emmber now, I highly recommend it.

[3:12] Saijanai Kuhn: "They're everywhere!"

[3:12] Gisele Linden: rather than front-end marketing stuffs

[3:12] Sierra Janus: How's Snowglobe?

[3:13] Sebastean Steamweaver: Just what we need Gisele :D

[3:13] Gisele Linden: I funded my own little gaming startup but sadly it didnt make it ;-(

[3:13] Gisele Linden: i know WoW and am mean with a gun in Coutnerstrike

[3:13] Gisele Linden: haha

[3:13] Sebastean Steamweaver: D:

[3:14] Latif Khalifa: Gisele, did you have a SL account before you applied for job with Linden Lab ;)

[3:14] xstorm Radek: Gisele how do you feel about the way so many get to use SL for free and make money from it and never have to put any money back in to SL ?

[3:14] Sebastean Steamweaver: I wonder if I've been beaten by you in BGs.

[3:14] Gisele Linden: yes, i did have an account

[3:14] xstorm Radek: *GIGGLES* :)~~~~

[3:14] Gisele Linden: but i found it lonely ;-(

[3:14] Gisele Linden: so i didnt interact much --only explored on my own

[3:14] Latif Khalifa: a double newby then :P

[3:14] Gisele Linden: something other team members are working on improving

[3:15] Gisele Linden: for the less hard-core die hards like yourselves!

[3:15] Babbage Linden: lots of new friends here

[3:15] xstorm Radek: Gisele be glad you never known me

[3:15] Sebastean Steamweaver: Hehe

[3:15] Babbage Linden: play nicely everyone ;-)

[3:15] Morgaine Dinova: Aye, community needs interaction. One of the reasons why the state of group IM is so distressing.

[3:15] Latif Khalifa: aren't we always nice? :D

[3:15] Sebastean Steamweaver: Exactly Morgaine

[3:16] Gisele Linden: okay, Babbage, back over to you

[3:16] xstorm Radek: well Babbage what do you think will happen with a new linden *GIGGLES* :)~~~~

[3:16] Babbage Linden: thanks for coming gisele

[3:16] Babbage Linden: and for the introduction

[3:16] Saijanai Kuhn hears the tune for "What do you do with a drunken sailor" in the back of his mind

[3:16] Babbage Linden: i'm very excited about gisele's appointment

[3:16] Morgaine Dinova: We are nice. We're just not Yes people, so it's not all happy feedback, hehe.

[3:17] Saijanai Kuhn: "Lock him the cornfied, til he's sober.."

[3:17] Saijanai Kuhn: in the cornfield*

[3:17] Babbage Linden: as it means that we have someone on the product team focused on second life as a platform

[3:17] Babbage Linden: the content creation tools

[3:17] Morgaine Dinova: Define platform

[3:17] Babbage Linden: and, in particular scripting

[3:17] Latif Khalifa: cool, this platform needs serious scripting c# :)

[3:17] Saijanai Kuhn: smalltalk ftw

[3:18] Babbage Linden: for a while we've had a roadmap for things to do after mono

[3:18] Babbage Linden: we did a survey last year

[3:18] Morgaine Dinova: All languages. Kick the One True Language priests out. :-)

[3:18] Latif Khalifa: Gisele, that's what we'll be pestering you about, until we get c# :D

[3:18] Babbage Linden: but it has been very much a bottom up roadmap

[3:18] Sierra Janus: I remember someone once saying C# was being thought about when Mono was being implemented

[3:18] 4u2 Kira: what languages/platforms are you going to support?

[3:18] Babbage Linden: things that mono makes possible

[3:18] Babbage Linden: like c# scripting

[3:18] Babbage Linden: and libraries

[3:19] Babbage Linden: and client side scripting

[3:19] Saijanai Kuhn: client-side scripting is almost here anyway

[3:19] Xugu Madison: If anyone knows MSIL and wants to help out with getting C# into SL, please talk to Imaze Rhiano or myself by IM, and see http://xugumadison.org/csharp-sl/

[3:19] Babbage Linden: gisele will be able to help wire that roadmap in to the other roadmaps at linden

[3:19] Sierra Janus: In theory, we should be able to use anything which compiles to CIL right? I remember a while back that was the general idea

[3:19] Morgaine Dinova: Sai: that's separate from Babbage's work though

[3:19] Morgaine Dinova: Sierra++

[3:20] Babbage Linden: and be able to work out the benefits for the business

[3:20] Saijanai Kuhn: sure, but had a talk with the Lord of Green and he's thinking of just working on things on his own

[3:20] Babbage Linden: and the targets for the various projects

[3:20] Babbage Linden: so, it won't just be a collection of projects driven by engineering

[3:20] Morgaine Dinova: Babbage: focus on the benefits for your customers, and you'll find the benefits for your business automatically.

[3:20] Babbage Linden: but will be part of the broader roadmap

[3:20] Morgaine Dinova: Not the other way around

[3:21] Babbage Linden: it's also great that we now have someone focussed on content creation and second life as a development platform

[3:21] Gisele Linden: yes --we definitely focus on customers but we need to be able to prioritize and then resource the specific projects

[3:21] Babbage Linden: and are investing in improving the platform

[3:21] Gisele Linden: so it gets done when we commit to them and when our commmunity needs them,

[3:22] Babbage Linden: so, xugu would you like to tell gisele about your work helping finish the mono verifier?

[3:22] Gisele Linden: Yes --we are very aware our platform needs to scale..

[3:22] Babbage Linden: i think it's a great example of how the residents and lindens can work together

[3:22] Morgaine Dinova: Woot, go Xugu/Imaze!

[3:23] Sebastean Steamweaver tickles Xugu's nose with a feather.

[3:23] Xugu Madison: Hangon....

[3:23] Morgaine Dinova: One of them will wake up shortly :P

[3:23] Sebastean Steamweaver: Hehe

[3:23] Babbage Linden: heh

[3:24] Morgaine Dinova: Not everyone is good on UK time, hehe

[3:24] Xugu Madison: Sorry, coffee maker. Right; Imaze has been doing most of the actual work on this, but the major missing component for having non-LSL scripting in SL is a bytecode verifier

[3:24] Imaze Rhiano: metadata verifier

[3:25] Xugu Madison: So that the servers know that the code they're being given to run is valid, and not going to cause them to crash (security for ensuring they don't access disk/network is handled elsewhere)

[3:25] xstorm Radek: *GIGGLES* :)~~~~

[3:25] Morgaine Dinova: Babbage already instruments the assemblies, but presumably doesn't do much metadata sanity checking, since he knows what code he's generating from LSL

[3:26] Xugu Madison: This is coming as part of the Moonlight 2 project, which is Mono's version of Silverlight (which is MS' version of Flash... still with me?), but is going a bit slowly. So, we're trying to get people to help out with the tests, which at the moment primarly means extracting details of what needs testing, from the relevent specification

[3:26] Xugu Madison: List so far: http://xugumadison.org/csharp-sl/index.php?title=PMVerifier_Tests_PreliminaryList

[3:27] Imaze Rhiano: so... if you can read english - then start reading ecma-335 and add rules that you find to list :P

[3:28] Babbage Linden: so, the reason this is great gisele, is that we have been talking about c# scripting at these office hours for a while

[3:28] Xugu Madison: oh, and the ECMA-335 standard: http://www.ecma-international.org/publications/standards/Ecma-335.htm

[3:28] Morgaine Dinova: The actual CIL metadata verifier is always available and working ... but it just doesn't test many cases.

[3:28] Latif Khalifa: yeah, for two years now, we wait for c# scripting

[3:28] Babbage Linden: i explained that we were waiting for the metadata verifier to be complete before we could allow c#

[3:28] Morgaine Dinova: ilasm2 -exe hello_again.cil

Assembling 'hello_again.cil' , no listing file, to exe --> 'hello_again.exe'

Operation completed successfully

pedump --verify all hello_again.exe

[3:29] Morgaine Dinova: pedump is the verifier

[3:29] Babbage Linden: but that because mono is an open source virtual machine

[3:29] Xugu Madison: C# scripting would bring in several advantages, primarily being that it would allow use of more complex datatypes, which means we don't have to assemble weird halfway things out of lists. A more consistent API, actual error handling, more sensible handling of events are all benefits we'd also hope to see...

[3:29] Babbage Linden: people here could help out complete it

[3:29] Babbage Linden: xugu, imaze and others have taken that ball and run with it

[3:30] Babbage Linden: they are helping get the bits of mono we need finished

[3:30] Babbage Linden: so that we can add c# support to second life

[3:30] Morgaine Dinova: Not just C# support --- anything that compiles to CIL

[3:30] Babbage Linden: it's a great example of how open source technology can work

[3:30] Babbage Linden: right

[3:30] Sierra Janus: I can just imagein... VB.NET Ugh :P

[3:30] Latif Khalifa: yeah, and "advanced" CS concepts such as array :P LSL is about the only language I have to use that does not even know what an array is

[3:30] Morgaine Dinova: Latif++

[3:31] Xugu Madison nods "We use C# as the main example because people can understand it easily, but there's dozens of other languages we'd be able to use as well"

[3:31] Morgaine Dinova: lol @ "advanced"

[3:31] Babbage Linden: yes, once the verifier is complete we can allow any bytecode that is verifiable to run inside second life

[3:31] Xugu Madison: Sierra, VB.NET may not be our thing, but letting VB coders come to SL and find the platform easy to pick up would... probably... have benefits?

[3:32] Babbage Linden: which means that people could use any language that can be compiled to CLI assemblies

[3:32] Sierra Janus: I was basically just poking fun at VB

[3:32] Morgaine Dinova: If people want to code in VB, why not. It would open the platform to more people. Personally I'd use C# or Boo or Nemerle. And there are lots of other languages for CIL.

[3:32] Sierra Janus: If there is one thing we don't need is any more VB anywhere :P

[3:32] Babbage Linden: yes xugu, this is about letting people develop in second life whatever language they are comfortable with

[3:32] Saijanai Kuhn: you'd need a more rational api in the long run, I would think

[3:33] Xugu Madison: I should add; the bytecode verifier is believed complete, but not sufficiently tested. It should be at the point where work to integrate it (and particularly to look at how development in non-LSL will change the client), can start

[3:33] Morgaine Dinova: Languages are tools. Thumbing your nose at one or more of them is pretty silly.

[3:33] Babbage Linden: so, that's where the script libraries project comes in

[3:33] Babbage Linden: if you could build libraries that other scripts could use

[3:33] Babbage Linden: you could wrap the LSL api

[3:33] Sierra Janus: My humour is missed, don't worry :P

[3:33] Morgaine Dinova: Babbage++ for libraries!

[3:34] Babbage Linden: (which is just a bunch of public static methods in CLI land)

[3:34] Babbage Linden: in a library that matched your language idiom

[3:34] Imaze Rhiano: metadata verifier - xugu :P

[3:34] Xugu Madison: Sorry, I have bytecode on the head

[3:34] Babbage Linden: we have already developed an idiomatic C#/.NET interface for C# scripts

[3:35] Babbage Linden: that allow you to handle events in an idiomatic C# way

[3:35] Sierra Janus: How will events be handled? Callbacks?

[3:35] Babbage Linden: you could imagine a C# library that also wrapped the LSL functions

[3:35] Babbage Linden: to make them more object oriented

[3:35] Latif Khalifa: like Object.TochStart += my_touch_handler();

[3:36] Babbage Linden: and in line with the C# idiom

[3:36] Xugu Madison: Hopping topic slightly, with the concerns about memory usage by scripts, C# should help there. Right now, states in LSL are fairly memory intensive, but you need different states if you want to change the events you deal with (for example, not accepting payments to a vendor if it's not configured).

[3:36] Babbage Linden: one of the things i need to discuss with gisele is open sourcing that interface

[3:36] Latif Khalifa: yey!

[3:36] Babbage Linden: so that we can get community feedback

[3:36] Babbage Linden: and so it can be implemented as a test harness

[3:37] Babbage Linden: so you could write a second life script in an ide

[3:37] Morgaine Dinova: That would be cool

[3:37] Babbage Linden: and then test and debug it with synthetic events

[3:37] Xugu Madison: ..and if we can get the OpenSim peeps to match your API, it would mean easier movement of scripts between platforms

[3:37] Babbage Linden: and check that it made the write libarby calls

[3:37] Sierra Janus: Use to be a plugin for Eclipse which would simulate LSL scripts

[3:37] Babbage Linden: right xugu

[3:37] Xah Toll: sorry for abrupt, am wondering if u guys can comment on f# as lsl at some point.

[3:37] Babbage Linden: it would be an eclipse plugin

[3:38] Babbage Linden: or a vs.net extension

[3:38] Babbage Linden: or both

[3:38] Latif Khalifa: that would be great, and reduce the load on the sims while project is in development, so poor sims would not have to recompile each iteration as the script is being developed

[3:38] Xugu Madison: Xah, that's something I'm certainly wanting, and I can't see any problem with having C# in SL

[3:38] Xugu Madison: F# even

[3:38] Xugu Madison goes back to drinking coffee

[3:38] Babbage Linden: you would also be able to step through the code in a debugger

[3:38] Morgaine Dinova: F# would be just another thing that compiles to CIL

[3:38] Sierra Janus: Break points :)

[3:38] Babbage Linden: which would be a huge improvement over adding llOwnerSay calls everywhere

[3:38] Xugu Madison: Unit testing!

[3:39] Babbage Linden: i think f# should work

[3:39] Latif Khalifa: Babbaga, it all sound great, but we've been hearing about c# and all the wonders since about 2006

[3:39] Morgaine Dinova: Babbage: how do you propose we get to where we could generate synthetic LSL events within our IDEs?

[3:39] Babbage Linden: i'd like to give it a try

[3:40] Babbage Linden: i'd also like to try using boo

[3:40] Sierra Janus: Would about closed-source APIs?

[3:40] Latif Khalifa: i hope some of the things you mention can materialize before 2016 lol

[3:40] Morgaine Dinova: I play with Boo, seems OK

[3:40] Babbage Linden: which will allow people to write their own domain specific languages

[3:40] Takni Miklos: u could ask the LSLplus folks how do they do it

[3:40] Babbage Linden: so, you could imagine a DSL for building eco systems in SL

[3:40] Sierra Janus: What*

[3:41] Babbage Linden: with concepts like predator, prey, target etc. built in to the language

[3:41] Babbage Linden: so, in terms of time line

[3:41] Morgaine Dinova listens

[3:41] Latif Khalifa: yes, lets hear something about the timeline

[3:41] Takni Miklos: a concept like 'array' would be great too

[3:41] Babbage Linden: the first thing to do is to get the metadata verifier done

[3:41] Babbage Linden: which you're helping out with

[3:42] Babbage Linden: and should be done this fall

[3:42] Babbage Linden: then hopefully we can get to work on this next year

[3:42] Morgaine Dinova: Is fall autumn?

[3:42] Latif Khalifa: lol

[3:42] Babbage Linden: yes

[3:42] Babbage Linden: in the meantime i'd like to be able to open source the c# api for feedback

[3:43] Babbage Linden: but we'll have to see if that will be possible

[3:43] Morgaine Dinova: Cool!

[3:43] Morgaine Dinova: Babbage: is there someone we need to beat up for you?

[3:43] Babbage Linden: and gisele will need to get up to speed and we'll need to get buy in from across the company

[3:43] Sebastean Steamweaver: Not to break the train of thought, but would it be possible for me to chat about some scripting issues before office hours ends, for the benefit of our new platform manager? :)

[3:43] Gisele Linden: haha! i am the hired muscle

[3:43] Gisele Linden: hee-hee

[3:43] Morgaine Dinova: Hehe

[3:43] Babbage Linden: so, i know we've been talking about this for a long time

[3:44] Babbage Linden: but hopefully things will start moving soon

[3:44] Latif Khalifa: oh now, start to work on it next year, meaning we get a decent scripting in sl two years for now, sounds too far away knowing we already have mono running and executing scripts on every simulator node

[3:44] Imaze Rhiano: babbage - how is instrumentation going on? can soon get any numbers what kind memory limits we should except for scripts?

[3:44] Babbage Linden: imaze i'm currently getting the simulator running under tcmalloc again

[3:45] Babbage Linden: so we can use the heap profiler to analyse our memory usage

[3:45] Gisele Linden: We still need to have some discussions around script limits... to define what limits where..

[3:45] Gisele Linden: its a fine line

[3:45] Babbage Linden: we have the numbers for the current usage across the grid

[3:45] Sierra Janus: have to remember though, because of the lack of certain features, LSL scripts are usually larger then they have to be

[3:46] Babbage Linden: now we need to get a good picture of the memory breakdown in the simulators under various conditions

[3:46] Babbage Linden: so that we can be happy to say we're going to reserve 256 MB for scripts, or whatever

[3:46] Xugu Madison: I do wonder if memory limits are going to get here before we find better solutions. For example, client-side scripting would take a lot of work off the sims....

[3:46] Babbage Linden: so, that process is happening, but somewhat slower than i'd like

[3:46] Saijanai Kuhn: what would be scripted though

[3:47] Babbage Linden: also, sierra, you are correct, sometimes you have to use more memory than you'd like to

[3:47] Gisele Linden: yes -on the client side, what would you script there?

[3:47] Babbage Linden: because you need to put scripts in linked prims

[3:47] Latif Khalifa does not like prospect of getting decent scripting in 2011 at the earliest

[3:47] Xugu Madison: Also, do we have any sort of ETA, or even better specs, for class 6 sims?

[3:47] Babbage Linden: or because you need to split up scripts and message between them

[3:47] Babbage Linden: i'll be talking to gisele about those problems too

[3:48] Sierra Janus: Seb has a few JIRAs about things like that

[3:48] Hart Larsson: also havew a free memory reliable command :)

[3:48] Babbage Linden: yes

[3:48] Xugu Madison: Gisele, a lot of HUDs could remain clientside. AOs wouldn't make sense, but HUD games, prim resizers/color changes/texture changes....

[3:48] Gisele Linden: ahhh

[3:48] Sebastean Steamweaver: Speaking of resizers

[3:48] Xugu Madison: Oh, and this means you don't have to do sim-sim handover of running HUD scripts, when you teleport, too..

[3:49] Babbage Linden: the primary uses of client side scripts would be low latency ui's

[3:49] Babbage Linden: (ajax for SL)

[3:49] Sierra Janus: Can't have everything client side though due to trust issues

[3:49] Sebastean Steamweaver: I'd like to bring up a few JIRAs, if I may :)

[3:49] Babbage Linden: but also, hopefully client side prediction

[3:49] Saijanai Kuhn: Something that almost everyone has missed is that localhost servers work fine with the SL browser. Even without dirrect control of the viewer, you can do a lot with a private website

[3:49] Morgaine Dinova: Gisele: a lot of the complex logic of tools could be run client-side, and all of the presentation. It would reduce the load of sim scripts used for tools to just environment calls.

[3:49] Babbage Linden: so you could build twitch games that predict results and then check with the server

[3:49] Hart Larsson: par plugin use that way using aproxy local server

[3:50] Babbage Linden: rather than have to route all position updates through the server

[3:50] Gisele Linden: ic

[3:50] Xugu Madison: Sai, long term I'd love to see clients come with a home island, actually. So you log in to an island running on your desktop, and can work there without interruption, rather than having to rent in-world work space

[3:50] Saijanai Kuhn: for that matter, p2p client connections would allow for much faster uipdate of stuff. THe server would only receive updates to that the non-participants in an activity could see what was going on

[3:50] Babbage Linden: seb, can you drop your jiras in?

[3:51] Babbage Linden: i'll go through them with gisele later

[3:51] Sebastean Steamweaver: Gisele, for a long time, scripters have been required to use rather tedious methods of effecting change over multi-prim objects, and resizers are an excellent example. Changes which ought to be simple, are unnecessarily complex. For resizers, yoou have to set each and every prim in a loop, adjusting scale and position, and this also _requires_ the use of a script in each and every prim, often in objects which are 200+ prims.

[3:51] Morgaine Dinova: Xugu: that's coming. But not from LL, probably.

[3:51] Latif Khalifa: Seb has some low hanging fruit that will help reduce simulator load a lot

[3:51] Sebastean Steamweaver: Sure thing Babbage, here:

[3:51] Xugu Madison: As I have the JIRA open: http://jira.secondlife.com/browse/SVC-224

[3:51] JIRA-helper: [#SVC-224] Need a llGetLinkPrimitiveParams function

[3:51] Sebastean Steamweaver: SVC-2885

[3:51] JIRA-helper: http://jira.secondlife.com/browse/SVC-2885 [#SVC-2885] llSetObjectScale and llGetObjectScale

[3:51] Sebastean Steamweaver: SVC-2105

[3:51] JIRA-helper: http://jira.secondlife.com/browse/SVC-2105 [#SVC-2105] llSetLinkListPrimitiveParams() for setting multiple, specific linked items

[3:51] Sebastean Steamweaver: MISC-3077

[3:51] JIRA-helper: http://jira.secondlife.com/browse/MISC-3077 [#MISC-3077] Meta-Issue: List of Linden-Confirmed Easy Changes/Additions With Large Returns

[3:52] Latif Khalifa: llSetObjectScale() would kill thousands of scripts, improve teleporting speeds for an average user

[3:52] Sebastean Steamweaver: That last JIRA was organized at the request of Andrew Linden

[3:52] Sebastean Steamweaver: llGet/SetObjectScale are two functions I believe are really necessary -- It's been confirmed to be a very easy change by almost every linden I've brought itup with.

[3:52] Sebastean Steamweaver: Andrew, Qarl, and others

[3:52] Hart Larsson: well if we speak of implementatio there are tons of missing commands... in lsl like th esupport for estate things or command to have the key of the group weared by an user... i think most command that will be very usefull need a real implementation

[3:53] Sebastean Steamweaver: And yet they can't work on it, because it isn't assigned to them.

[3:53] Xugu Madison: an event on avatars entering/leaving a parcel would save a fortune in security orb time...

[3:53] Sebastean Steamweaver: It would literally replace hundreds of thoussands of scripts, in very common items.

[3:53] Hart Larsson: yep

[3:53] Sierra Janus: Yeah, having better/more estate managing functions would be great. Wouldn't have to use bots all the time

[3:54] Sierra Janus: Would extra features like that be a possibility when the CIL stuff comes in?

[3:54] Sebastean Steamweaver: You usually get them in people with hair resizers, who congregate at clubs, social events, or any place where people gather to shop/etc.

[3:54] Hart Larsson: yes limit bots = more resource and connection for all the network

[3:54] Babbage Linden: something to think about is whether some of these things should be web APIs rather than script APIs

[3:54] Xugu Madison: At the moment, security orbs use sensors (who is within a certain distance of this prim) to find avatars, which requires establishing distance, which is expensive. In reality, they frequently want "Who is in my parceL"

[3:54] Latif Khalifa: how many many attachments such as hair are sold with resizer scripts, and there is no way to resize say hair but to put a script in every prim... and that means hundeds of scripts that are just a workaraound

[3:54] Hart Larsson: well there is asolution to resize a linked prim withiout keepo in each child the script listening

[3:54] Babbage Linden: for example, scalaing prims is clearly a simulator job that should be scriptable

[3:54] Hart Larsson: but this solution is slow

[3:54] Babbage Linden: but managing estates might be better done using the web

[3:54] Hart Larsson: well

[3:54] Xugu Madison: Babbage; I'd love to see web APIs for image upload, and for item delivery, BTW

[3:55] Babbage Linden: right

[3:55] Hart Larsson: first example is estate ban

[3:55] Sierra Janus: Well yeah, but we can do that now with bots if we really wanted that. I'd rather have LSL functions

[3:55] Hart Larsson: estae access that can be controlled inworld by a script

[3:55] Sierra Janus: And implement our own web solution

[3:55] Xugu Madison: So be able to get a cap from an asset that you can then pass a resident key to, and it delivers that asset to them

[3:55] Hart Larsson: now u need to add orb every where

[3:55] Gypsy Paz: web based estate tools and an upload API both sound delicious

[3:55] Babbage Linden: some of those APIs could then potentially be used via LSL HTTP calls

[3:55] Sebastean Steamweaver: The need for llSEtLinkListPrimitiveParams is very similar. We have to use loops right now to set several prims at once. Simon has confirmed that it takes a lot of script time to use those loops, rather than setting them at once in one frame. We can already set all of the prims in a linkset, or all of the child prims in a linkset, using LINK_SET and LINK_ALL_CHILDREN, or LINK_ALL_OTHERs constants, yet we can't specify only 10 prims out of a 100 prim object to set all at once.

[3:55] Hart Larsson: and Name2Key????

[3:55] Babbage Linden: or using the web APIs from outside SL

[3:55] Sierra Janus: Yeah, name2key

[3:55] Hart Larsson: instead using external http things?

[3:56] Morgaine Dinova: Babbage: so how does one get LL devs to pay attention to such obvious wins? Everyone claims to be powerless to make it happen.

[3:56] Xugu Madison: Last question; how's HTTP textures doing Babbage?

[3:56] Sierra Janus: name2key implementation needs to consider decentralisation/OGP I suppose

[3:56] Morgaine Dinova: I find it hard to believe that all LL devs are powerless.

[3:56] Hart Larsson: i think the introduction of many request must be in the prospective to resolve with one movement more things possible

[3:56] Xugu Madison: Morgaine, I think the problem is scripting isn't seen as a major part of the user experience...

[3:56] Hart Larsson: so if we introduce a function that cover 100 situation is better

[3:57] Latif Khalifa: Babbage, web apis are nice and all but things like being able to resize a linkset is something we face every day and its really reducing user experience when someone not aware of 200 scripts than need to be serialized and deserilized on each teleport

[3:57] Hart Larsson: another funny implementation is the prim_http

[3:57] Morgaine Dinova: Xugu: but reducing lag *IS* a major part of the user experience. And these suggestions would help.

[3:57] Sierra Janus: Externally facing APIs are good but for things like estate management I would rather have Internally facing APIs first

[3:57] Hart Larsson: is a great idea but if the url of that prim change every time... the crode u need to make to cover this problem made the soluton not very great to use

[3:58] Latif Khalifa: average user is going to say "sl sucks, teleport and region crossing takes forever" not knowing what is involved, and every server linden says it would be trivial to implement

[3:58] Xugu Madison nods "If I had to pick one thing you could do to improve matters, http://jira.secondlife.com/browse/SVC-2885 or http://jira.secondlife.com/browse/SVC-224 (which is a more powerful version of the same idea) would be it"

[3:58] JIRA-helper: [#SVC-2885] llSetObjectScale and llGetObjectScale

[3:58] JIRA-helper: [#SVC-224] Need a llGetLinkPrimitiveParams function

[3:58] Sebastean Steamweaver: These are easy things that could be done, and would tremendously how server load.

[3:58] Hart Larsson: yep improve command to reduce land resource consumption is the must

[3:58] Babbage Linden: ok, thanks sebastean

[3:58] Babbage Linden: we're nearly at the hour

[3:58] Babbage Linden: so we've doing to need to head off

[3:59] Babbage Linden: thanks for coming everyone

[3:59] Morgaine Dinova: But don't just forget it :-)

[3:59] Sebastean Steamweaver: Xugu, though I'm for llGetLinkPrimitiveParams, I wouldn't sayit's the same as llGetObjectScale or llSEtObjectScale -- you still have to go through prim by prim if you try to resize it that way, which increases script time. llGetLinkPrimitiveParams I think is better used in other ways.

[3:59] Xah Toll: thanks

[3:59] Dyson Burt: thanks babbage and Gis :D

[3:59] Xugu Madison: Thanks for hosting Babbage, thanks for coming along Gisele, good to meet you!

[3:59] Babbage Linden: and thanks or welcoming gisele

[3:59] Larissa Vacano: Thank you very much

[3:59] Latif Khalifa: good luck Gisele :)

[3:59] Sebastean Steamweaver: Thanks Babbage and Gisele

[3:59] Latif Khalifa: take care Babbage

[3:59] Hart Larsson: ty

[3:59] Morgaine Dinova: Cyu Babbage + Gisele :-)

[3:59] Gisele Linden: nice to meet you all and hope we can make stuff happen a slightly more acceptable pace!

[3:59] Gypsy Paz: thanks ?

[3:59] Imaze Rhiano: thanks babbage and gisele

[3:59] Nock Forager: Thanks Babbage, and Gisele.

[3:59] Babbage Linden: (and giving her lots to think about)

[3:59] Xugu Madison: Sebastean, good point, but at least your teleports are faster :)

[3:59] Hart Larsson: so tomorrow we will have all new commands?

[3:59] Hart Larsson: lool

[3:59] Babbage Linden: ;-)

[3:59] Jim Gustafson: thanks Gisele and Babbage

[3:59] Gisele Linden: ;0(

[3:59] Latif Khalifa: Gisele, pace makes all the difference :)

[3:59] Babbage Linden: ok, see you all next week