User:Babbage Linden/Office Hours/2008 12 10

From Second Life Wiki
Jump to: navigation, search

Transcript of Babbage Linden's office hours:

[8:01] Babbage Linden: afternoon all

[8:01] WolfPup Lowenhar: any one know the best way to mod this function so that i can slowly step through the winging of a door here is the function: swing_door()
vgRotDoorSwing.s *= -1;
llSetLocalRot( vgRotDoorSwing * llGetLocalRot() );
llTriggerSound(doorOpenSound, 1.0);

[8:01] Fake Fitzgerald: hi Babbage

[8:01] Nock Forager: Hi Babbage

[8:01] Twisted Laws: hello

[8:02] Babbage Linden: let me ping the groups

[8:02] WolfPup Lowenhar: helo babbage

[8:02] Cale Flanagan: wow a hello in lsl:) hi

[8:03] WolfPup Lowenhar: actualy i was asking some of you more experienced scripters abot how to mod a dor swing function

[8:04] WolfPup Lowenhar: basic ly it for a single prim door

[8:04] Babbage Linden: ok, done

[8:04] Babbage Linden: let's wait a few minutes for people to turn up

[8:05] Imaze Rhiano: Wolfpup... there is plenty of examples around for that - but if you want really smooth opening - look llTargetOmega function

[8:05] tigerpawz Keen: Hi everone :)

[8:06] Patrick Wunderland: hi everyone

[8:06] WolfPup Lowenhar: im doing an experiment cause of a post i saw in the sl scripting fourm

[8:07] WolfPup Lowenhar:

[8:07] Babbage Linden: ok

[8:07] Babbage Linden: thanks for coming everyone

[8:07] Belshazaroth Fargis: would someone kindly teleport me. The chair got me stuck to 0,0,0

[8:07] tigerpawz Keen: oh lemme stop my hyper bouncy AO

[8:07] tigerpawz Keen: D:

[8:07] Patrick Wunderland: @Babbage Linden: when can we expect something like real object orientation and libraries, modularization in LSL?

[8:07] Patrick Wunderland: @Babbage: are there any plans?

[8:07] Babbage Linden: we've been thinking about http in quite a bit the week

[8:08] WolfPup Lowenhar: they sugested that she try target omega but she says she is having dificult with the size if thedoor being to big for it to work right

[8:08] Babbage Linden: there are a few issues we need to look at before it goes to agni

[8:08] Babbage Linden: the first is whether to limit the number of requests that can be sent to a URL per second

[8:09] Babbage Linden: my current thinking is that we shouldn't do it

[8:09] Lestat Demain: to bypass DoS attacks that would make sense

[8:09] Patrick Wunderland: @Babbage for the http requests/per second limit i currently implementing a scheduling component for that reason

[8:09] Babbage Linden: in order to make the limit useful to stop DoC

[8:09] Babbage Linden: DoS

[8:09] Babbage Linden: we'd need to limit the number so that all of the requests to all of the URLs it's possible to allocate in an agent pool

[8:10] Patrick Wunderland: @Babbage: the sheduling component stores all requests in a queue, which is triggered by a timer()

[8:10] WolfPup Lowenhar: well if you do have to many request to a gven url the 'site could in advertantly shut down due to to much data flow

[8:10] Babbage Linden: which would potentially be so low that it would affect your ability to use a single URL for an application

[8:10] Patrick Wunderland: what is the current limit of http request per second and in the future?

[8:10] Ayumi Cassini: hello everyone

[8:10] Babbage Linden: in effect it would force you to use multiple URLs

[8:11] Babbage Linden: in order to get reasonable throughput

[8:11] Hucklederry Weatherwax: u late?

[8:11] Babbage Linden: which would be a problem

[8:11] Hucklederry Weatherwax: hope i didnt make u late

[8:11] Babbage Linden: the other thing is that event queues on scripts limit the rate anyway

[8:12] Patrick Wunderland: but it is the only way to loose no http request

[8:12] Babbage Linden: so if you attempt to DoS a URL the simulator will end up dropping requests on the floor anyway

[8:12] Patrick Wunderland: an my applications are business critical apps

[8:12] Patrick Wunderland: i cannot accept loosing request

[8:13] Patrick Wunderland: so i've to queue them

[8:13] Babbage Linden: so, we'll probably leave that as it is

[8:13] Hucklederry Weatherwax: hi lestat ㋡

[8:13] Hucklederry Weatherwax:

[8:13] Hucklederry Weatherwax: and Tigerpawz

[8:13] Hucklederry Weatherwax: nice

[8:13] Lestat Demain: hiya :)

[8:13] tigerpawz Keen: :D

[8:13] tigerpawz Keen: Sheer coicindence.

[8:13] Patrick Wunderland: how do you define "DoS a URL" ?

[8:13] Babbage Linden: the other thing we've been talking about is the problem of using http to do phishing attacks

[8:14] Hucklederry Weatherwax: thought u were bots ㋡

[8:14] Babbage Linden: currently we send all information as text/plain

[8:14] Babbage Linden: but IE doesn't respect that

[8:14] Lestat Demain: flood url so it denies service to otherts 'Lockout"

[8:14] Babbage Linden: even if you send the information with a text/plain mime type

[8:14] Belshazaroth Fargis: @Babbage, speaking of dropping requests. I have a syaytem that uses RegionSays to communicate back and forth, yet I'm having synchronization problems. The grid seems to be dropping messages or not delivering them to all objects that are listening. Is there a limit I should know about?

[8:14] Babbage Linden: if it looks like HTML IE will render it

[8:15] Babbage Linden: as HTML

[8:15] Babbage Linden: so, we're currently thinking about looking at the client header of the request

[8:15] Babbage Linden: and wrapping the output with a warning if it's a well known browser

[8:15] Babbage Linden: so the data will be sent unchanged if the client is a library

[8:15] Babbage Linden: from some web app

[8:16] WolfPup Lowenhar: that should work

[8:16] Babbage Linden: but will be wrapped to avoid phishing if a browser requests the URL

[8:16] Babbage Linden: you will still be able to use a browser for debugging

[8:16] Babbage Linden: but hopefully not for phishing

[8:17] Babbage Linden: with those changes made, hopefully we'll be able to get http in in to 1.26 server

[8:17] Twisted Laws: yeah!

[8:17] Babbage Linden: which is looking like being frozen in january

[8:17] Babbage Linden: and hopefully shipped in february

[8:17] Babbage Linden: but those are tentative dates

[8:17] Lestat Demain: frozen as in no longer work?

[8:18] Babbage Linden: we've also fixed the problem with http request being broken on the http in branch

[8:18] Babbage Linden: so will do a deploy to the beta grid with that fix in soon

[8:18] Belshazaroth Fargis: @Babbage, speaking of dropping requests. I have a syaytem that uses RegionSays to communicate back and forth, yet I'm having synchronization problems. The grid seems to be dropping messages or not delivering them to all objects that are listening. Is there a limit I should know about?

[8:18] Belshazaroth Fargis: *system

[8:19] Babbage Linden: the only limit i know of is the 64 event limit

[8:19] Babbage Linden: is this communication within a region or between regions?

[8:19] Babbage Linden looks up the region say documentation

[8:20] Belshazaroth Fargis: So if I send a message, only 64 of the listens will be triggered?

[8:20] Babbage Linden: if a script ends up with 64 events waiting to be processed

[8:20] Babbage Linden: any new events will be thrown on the floor

[8:20] Babbage Linden: for example, if you have a script with a listen

[8:20] Babbage Linden: and it sits in a tight loop

[8:21] Babbage Linden: for long enough

[8:21] Babbage Linden: it will start missing listen events

[8:21] Babbage Linden: as 64 will be queued up

[8:21] Twisted Laws: is that limit after a filter on a listen?

[8:21] Belshazaroth Fargis: it might be more accurate I have more than 64 listening objects that don't all seem to receive messages

[8:22] Babbage Linden: it's a global limit for all evens pending on a script

[8:22] Babbage Linden: so if you rapidly touch a prim

[8:22] Babbage Linden: and constantly chat

[8:22] Babbage Linden: and the script is listening for both chat and touch events

[8:23] Gazanfer Jehangir: So, How many listens can be considered a safe limit?

[8:23] Babbage Linden: eventually it will start missing both types of event if it can't keep up with the rate at which events are being processed

[8:23] Babbage Linden: it depends on how much traffic there is on the channel

[8:23] Babbage Linden: if you're listening on channel 0 on a crowded sim

[8:23] Babbage Linden: it can be easy for a script to get behind

[8:23] tigerpawz Keen: the famous Stack heap error?

[8:23] Babbage Linden: if your script is listening on a channel N

[8:24] Babbage Linden: and another is generating messages on channel N at a rate of 1 per second

[8:24] Babbage Linden: then the listening script will get all of the messages as long as it doesn't spend more than a second processing each

[8:25] tigerpawz Keen: Sorry people i'll be right back, pup needs to walk.

[8:26] Lestat Demain: so cant use multiple scripts to do same job?

[8:26] Belshazaroth Fargis: I have an idea then. I use multiple channels and have my listening devices pick a random one to listen on of those. That way I can send messages on each channel one at a time and limit how many objects receive a message at a time

[8:26] Babbage Linden: all events are delivered to all scripts in a prim

[8:26] Babbage Linden: but you could have multiple scripts listening on multiple channels

[8:27] Babbage Linden: and have a sender rotate through channels

[8:27] Babbage Linden: if you needed to

[8:27] Belshazaroth Fargis: yeah, with a delay I'm thinking

[8:27] Lestat Demain: was just thinking in terms of speed/missing stuff

[8:28] Belshazaroth Fargis: well it explains the inconsistent behavior

[8:28] Belshazaroth Fargis: AWESOME

[8:28] Belshazaroth Fargis: ok, Thanks

[8:28] Babbage Linden: try slowing the sender down by a factor of 10 or 100

[8:28] Babbage Linden: see if that fixes it

[8:28] Babbage Linden: if so, it could be the send rate that's causing the problems

[8:28] Belshazaroth Fargis: it is the number of things that is receiving the same message at the same time

[8:29] Belshazaroth Fargis: I have more than 40 teleporters receiving the same sync message

[8:29] Babbage Linden: that shouldn't be a problem

[8:29] Belshazaroth Fargis: not all of them get the same info though

[8:29] Babbage Linden: as each receiver has it's own queue

[8:29] Babbage Linden: try running it *really* slowly

[8:30] Babbage Linden: to see if it fixes it

[8:30] Belshazaroth Fargis: alright, Thanks sir. Food for thought

[8:30] Babbage Linden: welcome

[8:30] Gazanfer Jehangir: is it possible for an object to remain functionally connected with a script even after its no longer placed in it?

[8:30] Babbage Linden: no

[8:31] Gazanfer Jehangir: i have recently seen a texture of a blinking eye on a pet bird although it contained no script in it

[8:31] Cale Flanagan P i have an object without script which still react on its old script

[8:31] tigerpawz Keen: Gazanfer

[8:31] Gazanfer Jehangir: you do calw?

[8:31] tigerpawz Keen: sometimes scripts keep running even when the script has been deleted.

[8:32] tigerpawz Keen: i had that happen to a rotation script :P

[8:32] Babbage Linden: that's a bug then

[8:32] Babbage Linden: it shouldn't happen

[8:32] Cale Flanagan: if i rerezz it its gone:) is magic:)

[8:32] Gazanfer Jehangir: it can be a welcome bug

[8:32] tigerpawz Keen: indeed Gazanfer.

[8:32] Babbage Linden: i wouldn't rely on it ;-)

[8:33] tigerpawz Keen: Well on a scale from one to ten on bugs that i encounter and severity this one ranks 10

[8:33] tigerpawz Keen: <ten being lowest priority>

[8:35] Babbage Linden: any other questions?

[8:35] Gazanfer Jehangir: one more question, how soon is mesh import coming to sl and will it be supported by LL scripting API for some functions as in sculpties have texture functions for them

[8:36] Babbage Linden: not sure

[8:36] Babbage Linden: i know it's being talked about

[8:36] Belshazaroth Fargis: Oh god yes. I wanna know that too

[8:36] Babbage Linden: but i don't know what the timeline is

[8:36] Lestat Demain: and can u at least make it maya compatible :P

[8:36] Belshazaroth Fargis: do it do it do it do it! doit!

[8:36] Gazanfer Jehangir: can it be a safe 2 years like it was for mono?

[8:37] Gazanfer Jehangir: and hey pls dont leave the max users stranded this time please please please

[8:37] tigerpawz Keen: excuse me Gazan, can you define Mesh Import ?

[8:37] Belshazaroth Fargis: I'm a 3ds max user T_T

[8:38] tigerpawz Keen is trying to learn how to use the program

[8:38] Babbage Linden: it's a big deal for enterprise

[8:38] Lestat Demain: same mesh as maya

[8:38] tigerpawz Keen: Bels may I add you?

[8:38] Babbage Linden: so i imagine it will get done reasonably soon

[8:38] Twisted Laws: Babbage, can you comment on how well mono is meeting the original expectations at this point?

[8:38] Babbage Linden: but, i don't know as i'm not on that team

[8:38] Gazanfer Jehangir: mesh import is as in importing mesh directly without converting to sculpt texture

[8:38] Babbage Linden: good question twisted

[8:38] Gazanfer Jehangir: and maybe it will be physics compatible

[8:39] tigerpawz Keen: That'd be awesome Gazan

[8:39] Babbage Linden: mono is meeting expectations in the sense that it allows scripts to run a couple of orders of magnitude faster

[8:39] Cale Flanagan: (OT: in opensim i can walk on my sculpties...)

[8:39] Babbage Linden: and there are few bugs and incompatibilities now

[8:39] Belshazaroth Fargis: I dun care if the physics are even the same collision model as a sculpty. I want my meshes that support UV mapping, and maybe multiple mapping channels

[8:40] Babbage Linden: i'd like to see us support other languages like c#

[8:40] Babbage Linden: but the first objectives of mono have been met

[8:40] Twisted Laws: how soon do you think expansions to mono will start happening?

[8:40] Babbage Linden: 1.26 will include facilities to measure how many CIL and LSO scripts are running in each region

[8:41] Babbage Linden: so we'll be able to see what the uptake is

[8:41] Babbage Linden: which will be interesting

[8:41] Babbage Linden: anecdotally i've started to see scripters like ordinal updating their products to use mono

[8:41] Lestat Demain: more serverload :P

[8:41] Babbage Linden: which is encouraging

[8:41] Babbage Linden: what do you think?

[8:41] Babbage Linden: do you like mono?

[8:41] Gazanfer Jehangir: mono puts the scripts on super steroids as compared to lsl

[8:41] Babbage Linden: are you having success with it?

[8:42] Gazanfer Jehangir: love it

[8:42] tigerpawz Keen: I had someone re-script some stuff for me

[8:42] Babbage Linden: does it meet your expectations?

[8:42] Gazanfer Jehangir: yes

[8:42] tigerpawz Keen: and i absolutely love it.

[8:42] Twisted Laws: seems to be good and faster for some things, some things just dont' seem to matter

[8:42] Cale Flanagan: faster and more memory, thats fine, so im happy

[8:42] Gazanfer Jehangir: in fact the faster response expands some horizons in real time stuff like rp weapons and all

[8:43] Imaze Rhiano: strings high memory usage was unhappy surprise for me

[8:43] Twisted Laws: i'm looking forward to the expansions with things like C#

[8:43] Babbage Linden: we're currently waiting on a finished mono metadata verifier before we move forward with c#

[8:44] Babbage Linden: which is due end of q1

[8:44] Lestat Demain: q1 of which year?

[8:44] Babbage Linden: once that's available i'll start talking to people about scheduling work on c#

[8:44] Babbage Linden: next year

[8:44] Lestat Demain: good was just wondering

[8:45] Imaze Rhiano: Are you planning to use

[8:45] Arawn Spitteler: We've a lot of issues, that could ahve been cleaned up with Mono, sit-target etc.

[8:45] Babbage Linden: arawn, mono wasn't intended to change anything

[8:45] Babbage Linden: that was one of the design goals :-D

[8:45] Arawn Spitteler: I wonder, if we might have version options, to clean up the stuff.

[8:46] Babbage Linden: we have actually cleaned up some of the weirder corners of LSL though

[8:46] Belshazaroth Fargis: true, not made to change anything, but imagine what scripts you'd see if we had more powerful high-level thingies to play with.

[8:46] Babbage Linden: powerful high-level thingies will come with c#

[8:46] Arawn Spitteler: H4 changed stuff it shouldn't have, and totally borked the railroads. Mono would have more options, but only by offering version choice.

[8:47] Babbage Linden: and later resident created libraries

[8:47] Gazanfer Jehangir: thats very interesting and promising

[8:47] Chaley May: I just hope you dont go and make things too complicated for me to learn

[8:48] Gazanfer Jehangir: if we could make and provide our own libraies but there is a question about that with the server end itself going open source in near future how much control we would have on the accesiblity of our scipt codes

[8:49] Gazanfer Jehangir: i mean what some bots do

[8:49] Babbage Linden: currently scripts can't be copied anywhere

[8:49] Babbage Linden: and we don't intend changing that any time soon

[8:50] Gazanfer Jehangir: and how feasible would that be with an open source server end if i may know? coz my knowledge is quite limited when it comes to servers

[8:50] Imaze Rhiano: bots can't access to script's source code - but in open sim - server administrator have all access - so if you upload your scripts to open sim, then administrator can do whatever they want for it

[8:51] Babbage Linden: yes, and you have to be aware of that

[8:51] Gazanfer Jehangir: i have no intentions for opensim

[8:51] Babbage Linden: you have to trust whoever is running the simulator

[8:51] Babbage Linden: whether that is linden lab or someone else

[8:51] Gazanfer Jehangir: ok

[8:51] Babbage Linden: we have no intention of letting scripts uploaded to sl be run anywhere else without permission from the author

[8:52] Babbage Linden: which may mean permissions changes in the future if we want to let people allow scripts to be transfered outside SL

[8:52] Babbage Linden: it all gets very complicated around permissions vs licenses

[8:52] Lestat Demain: so like any other crappy peice of software just cuz u buy it doesnt mean its yours

[8:52] Gazanfer Jehangir: which means my scripts cant be hacked as long as they are on ll's servers whether it goes opensource or not?

[8:53] Arawn Spitteler: So, to use our scripts in Phishing Sim, we'd have perms to upload outside LL Server

[8:53] Belshazaroth Fargis: you'd have to for openspace sim or other VW interoperability

[8:53] Belshazaroth Fargis: can't enforce the rules on OS sims, making it a market for piracy kinda

[8:54] Babbage Linden: exactly, so you have to make it very clear that allowing scripts outside sl means allowing them outside lindens control

[8:54] Arawn Spitteler: You can put your scripts on external servers, and only interface through an open script.

[8:54] Belshazaroth Fargis: how about only transmitting the bytecode or whatnot and leaving the script uneditable?

[8:55] Arawn Spitteler: People would have to subscribem, to use your scripts.

[8:55] Babbage Linden: if the bytecode is sent it can be decompiled

[8:55] Imaze Rhiano: mono bytecode is very easy to decode back to source

[8:55] Arawn Spitteler: Bytes can still be hacked.

[8:55] Gazanfer Jehangir: not to mention they might phish ur client to their servers

[8:55] Babbage Linden: yep

[8:56] Imaze Rhiano: Belshazaroth - you don't need to worry about those at least couple years... those things are moving very slowly (unfortunately)

[8:56] Babbage Linden: once other people are running grids you need to consider the simulator in the same way that you would a web server

[8:56] Babbage Linden: do you trust who is running it with your code?

[8:56] Babbage Linden: how can you find out who is running it?

[8:56] Babbage Linden: etc

[8:56] Gazanfer Jehangir: so here is another pandora's box

[8:56] Babbage Linden: there are lots of trust issues to work out

[8:57] Babbage Linden: as there are with opensocial and other initiatives like it

[8:57] Gazanfer Jehangir: maybe i ll need a full time lawyer to file DCMA s

[8:57] Belshazaroth Fargis: suppose an OS sim wanting to do stuff with LL was forced to use a special LL-made script engine in addition to their own stuff. it'd be a set of libraries that does all the handling of scripts for the LL grid and wouldn't let them do anything that you can't do here.

[8:57] Chaley May: will there ever be a region sensor function

[8:57] Chaley May: i want to be able to know who goes into my sim

[8:58] Chaley May: and now my old senso only reaches 750

[8:58] Imaze Rhiano: ... except that when open sims really get up speed most of servers are going to run outside US (don't start learning DCMA's yet) :P

[8:58] Babbage Linden: Belshazaroth, that would be impossible to enforce

[8:58] Babbage Linden: in the same way that DVD and Blu Ray security is impossible to enforce

[8:58] Belshazaroth Fargis: I'm saying LL scripts simply wouldn't work without using that library

[8:58] Gazanfer Jehangir: some opensims will be from nigeria for sure

[8:59] Lestat Demain: oh great the scamming capitol of the net

[8:59] Twisted Laws: client needs a popup when u connect to a sim that tells u who owns it, etc... (offtopic :p)

[8:59] Babbage Linden: twisted, yes i agree

[8:59] Babbage Linden: all that needs to be very clear

[8:59] Babbage Linden: just like browsers make it clear which web site you're talking to

[8:59] Twisted Laws: yes, and hopefully not too easy to spoof

[9:00] Lestat Demain: lol depends on redirection scripts

[9:00] Arawn Spitteler: Going into a sim would be similarly warned, as using software. "What is the security rating from Linden Labs (TM) Quality Assurance??"

[9:00] Gazanfer Jehangir: interesting

[9:01] Gazanfer Jehangir: could there be a better support available for inter sims teleport than the current lm based one?

[9:01] Arawn Spitteler: That could put Linden Labs into the Insurance Business.

[9:01] Lestat Demain: would u really wanna see that flash up on your screen at every sim crossing?

[9:01] Belshazaroth Fargis: okok, suppose LL released its own server, not opensource, but as an installable.

[9:01] Twisted Laws: only if different than current....

[9:02] Belshazaroth Fargis: with auto-updates and stuff

[9:02] Arawn Spitteler: It could pop-up on Overlap, to warn of inter grid crossings.

[9:02] Belshazaroth Fargis: could it then have content protection enforced?

[9:02] Arawn Spitteler: Maybe lot of scripts could be run AD

[9:03] Imaze Rhiano: somekind trust network: Linden is going to trust some open grid hosts that are audited regulary by another entity... hosts are then verified through public/private keys... go to Zero's/Whump's they are not talking about anything else except interoperatively and things like this...

[9:03] Babbage Linden: agreed, this is definitely getting on to zero/whump's territory

[9:03] Babbage Linden: and we should wind up now as i have other meetings to get to

[9:03] Babbage Linden: thanks for coming everyone

[9:04] Babbage Linden: and for another interesting discussion

[9:04] Gazanfer Jehangir: you are welcome

[9:04] Twisted Laws: thanks and bye

[9:04] Belshazaroth Fargis: AWEOSME

[9:04] WolfPup Lowenhar: thx for having the meeting babbage

[9:04] Babbage Linden: see you all next week

[9:04] Belshazaroth Fargis: mhmmmm

[9:04] Nock Forager: seeya round Babbage

[9:04] Babbage Linden: (which will be my last before christmas)

[9:04] Ayumi Cassini: see you

[9:05] Babbage Linden: bye1

[9:06] Gazanfer Jehangir: Bye Friends