User:Babbage Linden/Office Hours/2008 09 24

From Second Life Wiki
Jump to navigation Jump to search

Transcript of Babbage Linden's office hours:

[7:59] Babbage Linden: afternoon

[7:59] Nock Forager: Hi

[7:59] Nock Forager: (still rezzing)

[7:59] Fake Fitzgerald: just midnight in Japan

[8:01] Babbage Linden: hi nock

[8:01] Beware Hax: hi

[8:01] Miteki Ling: Hello

[8:02] Babbage Linden: hi miteki and beware

[8:02] Miteki Ling: hi^^

[8:03] Babbage Linden: i'll give it a couple of minutes and then begin

[8:03] Babbage Linden: let me ping the groups too

[8:05] Cale Flanagan: hello

[8:05] Babbage Linden: hmm, we need some more chairs

[8:05] Andromeda Quonset: lol

[8:05] Babbage Linden: sitting on the spokes and spinning is fun too

[8:05] Nock Forager: yup :)

[8:05] Cale Flanagan: i only need a hole:)

[8:06] Cale Flanagan: ouch

[8:06] Babbage Linden: ok, it's gone 5 past, let's start with an update of where we are with mono

[8:06] Cale Flanagan: MISC-9999 Wheel on Babbage Kitchen blocked

[8:07] Babbage Linden: unfortunately we needed to include some urgent fixes in 1.24.6 server

[8:07] Babbage Linden: so that didn't go out last week

[8:07] Babbage Linden: but the pilot roll happened yesterday

[8:07] Babbage Linden: and the rest of the grid should follow this week

[8:08] Babbage Linden: it includes some further hardening of mono script objects

[8:08] Babbage Linden: which shuold help SVC-2908

[8:08] Dimentox Travanti: hey babbage

[8:08] Babbage Linden: hi dimentox

[8:09] Roberto Salubrius: I came and didn't say hi so... hello !

[8:09] Data Landau: hi all

[8:09] Babbage Linden: it also includes fixes for

[8:09] Andromeda Quonset: This is the first of anyone's office hour i ever attemded, i usually read transcripts.

[8:09] Babbage Linden waits for jira to load

[8:10] Babbage Linden: VWR-8997

[8:10] Linegirl McMillan looks

[8:10] Babbage Linden: (actually that will be in the next 1.21 viewer RC)

[8:10] Babbage Linden: SVC-3080

[8:10] Babbage Linden: SVC-3072: Error message using llBase64ToString under Mono

[8:10] Dimentox Travanti: Babbage did you adddress the Jira i dfont know the number with the system reflection error while searilisation?

[8:10] Babbage Linden: SVC-2973: MONO - timer() event triggers before on_rez() and state_entry()

[8:11] Babbage Linden: SVC-3030: MONO only: An IF that checks a function that returns a void

[8:11] Babbage Linden: (which becomes a compile errror)

[8:11] Babbage Linden: SVC-2347: User defined integer variable called rez will not compile

[8:11] Roberto Salubrius: so all of those are solved now ?

[8:12] Babbage Linden: and SVC-2403: Mono Beta: Full recompile of an object (Mass Recompile doesn't return errors)

[8:12] Babbage Linden: these should all be fixed in 1.24.6

[8:12] Babbage Linden: which is on the preview grid

[8:12] Roberto Salubrius: ok

[8:12] Babbage Linden: and being rolled out across the grid at the moment

[8:12] Babbage Linden: once that roll is complete

[8:12] Babbage Linden: there are no crash bugs or problems with scripts running on the LSO VM remaining

[8:12] Babbage Linden: that we know of, rather

[8:13] Babbage Linden: so the plan is to let the grid rest a week

[8:13] Roberto Salubrius: is there any work going on on: VWR-199

[8:13] Babbage Linden: and then start the 1.25 deploy

[8:13] Babbage Linden: which will likely have another batch of less urgent mono fixes

[8:13] Roberto Salubrius: that is mis filled should be a SVC but it is a VWR

[8:13] Babbage Linden: as well as new features that have been waiting for mono to stabalise

[8:13] Babbage Linden: yes, it's a scripting bug

[8:13] Babbage Linden: but not due to Mono

[8:13] Dimentox Travanti: SVC-2908?

[8:13] Babbage Linden: it's actually a UI problem

[8:14] Roberto Salubrius: no it's and old one

[8:14] Babbage Linden: which was introduced by the LSL picking functionality

[8:14] Babbage Linden: dimentox, there are lots of fixes for SVC-2908

[8:14] Babbage Linden: which should improve the situation a lot

[8:15] Babbage Linden: there may be remaining problems causing .NET error messages

[8:15] Babbage Linden: but they should be greatly reduced

[8:15] Dimentox Travanti: i am wondering if i can deploy dcs as mono yet... I guess ill have to do some testing

[8:15] Babbage Linden: I'm looking forward to seeing if anything remains

[8:15] Dimentox Travanti: Yeah ill do testing today

[8:15] Babbage Linden: I think there may be a problem with event dequeing

[8:15] Babbage Linden: dimentox, try it on a 1.24.6 region

[8:15] Babbage Linden: as that has our latest set of fixes

[8:16] Roberto Salubrius: listeners are still persisting during event changes ?

[8:16] Linegirl McMillan: how many regions runs that version?

[8:16] Linegirl McMillan: this is a Second Life Server

[8:16] Babbage Linden: no roberto, that was fixed a while ago

[8:16] Babbage Linden: linegirl, there are about 1000 regions in the pilot

[8:16] Roberto Salubrius: ok I tought you meant the dequeing related to that...

[8:16] Babbage Linden: including all the sandboxes i think

[8:16] Linegirl McMillan: ok..

[8:16] Roberto Salubrius: what did you mean by dequeing ?

[8:17] Babbage Linden: no roberto, the bug i think may still exist is an invalid index exception

[8:17] Babbage Linden: caused be dequeing an empty event list

[8:17] Babbage Linden: but it may be resolved

[8:17] Roberto Salubrius: oh ok .

[8:17] Roberto Salubrius: ty

[8:18] Dimentox Travanti: ok can you make toxia north west that version

[8:18] Dimentox Travanti: its my test area

[8:18] Babbage Linden: dimentox, it will be in the next couple of days if it's not already

[8:18] Dimentox Travanti: ok

[8:18] Babbage Linden: and i think toxia is still available on the preview grid

[8:18] Babbage Linden: which should all be 1.24.6 now

[8:18] Dimentox Travanti: ok

[8:18] Babbage Linden: so, that's where we are now

[8:18] Dimentox Travanti: ill do it there then

[8:18] Babbage Linden: any questions?

[8:19] Roberto Salubrius: do we have a relase date for RC1.2x to become the main viewer .. not mono related but to see about the new touch functions

[8:19] Roberto Salubrius: when we can mainstream them

[8:20] Babbage Linden: not sure yet roberto

[8:20] Babbage Linden: there are still a lot of outstanding issues i think

[8:20] Babbage Linden: and 1.20 took a long time to become the mainline viewer

[8:20] Babbage Linden: some people are still using 1.19 too

[8:20] Dimentox Travanti: Babbage, do you know of the offline LSL exitro... Is there any possible we can get code completion/intelisense for the editor

[8:20] Babbage Linden: so it will be a while before you can assume the pick functinos are available on the client

[8:20] Roberto Salubrius: oustanding issues Server Side or Client Side ?

[8:21] Babbage Linden: roberto, viewer side

[8:21] Roberto Salubrius: ok

[8:21] Babbage Linden: the RC and viewer process shouldn't be gated on any server changes at this point

[8:21] Babbage Linden: dimentox, i don't know of any plans for intellisense

[8:21] Babbage Linden: (although i didn't know about the line number changes until they happened, so you never know)

[8:22] Babbage Linden: i'd like to work towards allowing more external languages and tools

[8:22] Babbage Linden: rather than improving our own

[8:22] Babbage Linden: as it's not our core business

[8:22] Linegirl McMillan: java?

[8:22] Babbage Linden: probably c# first

[8:22] Dimentox Travanti: I just want true OOP and c# :P

[8:22] Babbage Linden: then maybe ruby and python

[8:22] Roberto Salubrius: I would like to see all that in the editor, sometimes is just... well... you guys code you know

[8:22] Babbage Linden: although they're much harder

[8:23] Babbage Linden mostly uses emacs and bash

[8:23] Babbage Linden: although i do appreciate visual studio

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

[8:24] Cale Flanagan: only update to my 3066..

[8:24] Babbage Linden: how are people finding mono?

[8:24] Babbage Linden: who's using it?

[8:24] Dimentox Travanti: any possibility on expanding the http responce leingth?

[8:25] Roberto Salubrius: if ruby and or python end up being supported how , or what kind of support will it be, functions, structures ? what about 3d functions that are intrinsic to LSL ?

[8:25] Babbage Linden: probably not until we allow more memory in scripts

[8:25] Dimentox Travanti: isint mono dynamic 64k?

[8:25] Babbage Linden: roberto, initially the support will be calls out to ll* functions

[8:25] Babbage Linden: and language features

[8:25] Babbage Linden: so, c# will provide arrays and exceptions etc.

[8:25] Babbage Linden: but not System.Collections

[8:26] Babbage Linden: initially

[8:26] Zena Juran: I'm still waiting to change over to all Mono scripts, the drag on resources is too great so far.

[8:26] Babbage Linden: just calles to LindenLab.SecondLife.LslLibrary.llSay(...) etc

[8:26] Babbage Linden: your development resources, or simulator resources?

[8:26] Andromeda Quonset: I'm doing a few items where I need the increased memory.

[8:26] Zena Juran: sim resources

[8:27] Roberto Salubrius: ok... that's good to know, at least we can get our way using functions that do not exist on LSL that do exist there so our jobs will be easier, that's good

[8:27] Dimentox Travanti: Most if all my items suffer from the System.reflection so no i cant switch yet. mono broke a few door scripts.

[8:27] Babbage Linden: dimentox, if you reset those scripts, they should work now

[8:27] Babbage Linden: on 1.24.6

[8:28] Linegirl McMillan: :)

[8:28] Dimentox Travanti: Ill have to wait till a full roll dcs is used in about 1500 sims

[8:28] Dimentox Travanti: but ill hit the beta grid and test

[8:28] Babbage Linden: thanks

[8:29] Babbage Linden: as always, if you find problems, please post them in the public jira

[8:29] Babbage Linden: and link them to this meta issue for mono problems

[8:29] Babbage Linden:

[8:29] Babbage Linden: i've been doing some testing

[8:29] Babbage Linden: and moved my mandelbrot explorer over to agni

[8:30] Babbage Linden: there's a full mod version of it available just up the hill if you'd like a copy

[8:30] Babbage Linden: it's a good demo of the mono speedup

[8:30] Cale Flanagan: i rebuilded it according to ur recipe:)

[8:30] Babbage Linden: running at least 50 times faster than the LSL version

[8:30] Babbage Linden: i've also converted the pathfinder to mono

[8:30] Babbage Linden: that's interesting to play with

[8:31] Cale Flanagan: was fun to find the right link-order...

[8:31] Babbage Linden: mono recalculates the paths much more quickly than LSO

[8:31] Babbage Linden: so the creeps don't let lost as often

[8:31] Babbage Linden: i think it's good enough to use as the basis for a desktop tower defense now

[8:31] Babbage Linden: i'm going to blog about my findings at

[8:32] Babbage Linden: so keep an eye on that

[8:32] Roberto Salubrius: kool

[8:32] Babbage Linden: (it's a bit too techy for these days)

[8:32] Linegirl McMillan: It would be nice to get the link and maybe the chat record of the meeting in a nc posted in the group?

[8:32] Linegirl McMillan: useful links

[8:32] Babbage Linden: yes, good idea

[8:32] Dimentox Travanti: Ill have to try some a* pathing. and see if its possible in lsl yet with mono

[8:33] Babbage Linden: the logs of our chats are in

[8:33] Roberto Salubrius: Vektor told me a while ago that state changes on LSL2 and mono are now fixed to 0.2seconds ( if I am not mistaken 0.2 or 0.4 ) will that stay that way or will they become more like they where on LSL2 that they could change as fast as possible ?

[8:33] Linegirl McMillan: ok.

[8:33] Babbage Linden: roberto, that was fixed a while ago now too :-)

[8:33] Babbage Linden: we've been busy :-D

[8:33] Roberto Salubrius: so it is static or as fast as it can be changed ?

[8:33] Roberto Salubrius: the change time that is

[8:34] Babbage Linden: you can change state as fast as either LSO or mono can do it

[8:34] Babbage Linden: up to your scripts time slice

[8:34] Roberto Salubrius: ok

[8:34] Roberto Salubrius: tyvm

[8:34] Babbage Linden: so you can spend 150 us changing state every frame in every script now if you like

[8:35] Babbage Linden: actually, when there are lots of scripts only some of them run each frame

[8:35] Cale Flanagan: so, i had the chance to check my heapcrashers on the new version, restart problem is solved, but i still see much ttime (even more now) in topscripts, when crashed and less if running

[8:35] Dimentox Travanti: Babbage has there been any work on the server side under channel communications? aka better handleing of messaging ques?

[8:35] Babbage Linden: dimentox, no

[8:35] Babbage Linden: message queuing is still the same as before

[8:36] Babbage Linden: i haven't changed that code

[8:36] Babbage Linden: and i'm not sure what the current logic does

[8:36] Dimentox Travanti: darn, It could use some tweaking ive manages to crash a sim with to many messages to fast

[8:36] Babbage Linden: well, if you find a crash bug, please report it in jira

[8:36] Dimentox Travanti: will do

[8:36] Babbage Linden: and we'll jump on it as a top priority

[8:36] Babbage Linden: but we're unlikely to change the event queuing logic

[8:37] Babbage Linden: as people will likely rely on it

[8:37] Cale Flanagan: i can now get 7.3ms in topscripts, yeah

[8:37] Dimentox Travanti: i was just hoping for faster processing cause in combat it tends to clog up

[8:38] Babbage Linden: in general scripts are only allowed to process 1 event per frame

[8:38] Babbage Linden: which can be limiting

[8:39] Babbage Linden: but we'd have to think carefully before changing it

[8:39] Dimentox Travanti: ok

[8:40] Dimentox Travanti: when you allow c# will you allow us to do threading?

[8:40] Babbage Linden: no, as all scripts will still be run from a single thread in the simulator

[8:41] Babbage Linden: using the uthreads to multiplex 10,000s of scripts on a single thread

[8:41] Babbage Linden: you can't get that concurrency from os threads

[8:41] Babbage Linden: and we'd have to do lots of reengineering to allow ll* functions to be called from many threas

[8:42] Babbage Linden: many of them manipulate the shared scene

[8:42] Dimentox Travanti: ok.. its like the example where you have a script that needs to have a timer run at different interveles... SO now the trick is to use elapsed and trigger the timer at the lowest possible one.

[8:42] Babbage Linden: which is not designed to be accessed from many threads

[8:42] Dimentox Travanti: which is why i was questioning threading

[8:42] Babbage Linden: message passing concurrency is also much easier to reason about that threading

[8:43] Babbage Linden: the LSL model is similar to the actor and messages model used in erlang

[8:43] Babbage Linden: which scales up to very high concurrency

[8:43] Dimentox Travanti: gotcha

[8:43] Babbage Linden: with fewer dead and live locking problems than you get with threads

[8:43] Babbage Linden: adding threads to LSL would make scripting in SL a lot more complicated

[8:44] Babbage Linden: adding a brain to a prim with its own flow of control

[8:44] Babbage Linden: and event inbox

[8:44] Babbage Linden: is a very powerful conceptual model

[8:44] Roberto Salubrius: that would be very interesting...

[8:44] Dimentox Travanti: yeah

[8:44] Babbage Linden: and one of the best things about SL scripting I think

[8:44] Babbage Linden: makes it easy to reason about what's going on

[8:44] Dimentox Travanti: Thats all my questions sorry to carry on :P

[8:45] Babbage Linden: no problem at all

[8:45] Babbage Linden: thanks for coming

[8:45] Roberto Salubrius: and about OOP ?

[8:45] Babbage Linden: and thanks for all your help with the mono beat

[8:45] Babbage Linden: beta

[8:45] Dimentox Travanti: oop will be covered when they allow c# yes?

[8:45] Babbage Linden: yes

[8:45] Roberto Salubrius crosess fingers

[8:45] Roberto Salubrius: oh YES !

[8:45] Dimentox Travanti: seeyas!

[8:45] Roberto Salubrius: tc dimentox

[8:45] Babbage Linden: the ll* functions will likely remain the shared interface

[8:46] Babbage Linden: used by both LSL and c#

[8:46] Babbage Linden: but you will be able to build OO interfaces on top of those methods

[8:46] Babbage Linden: define a LinkedPrim class for example

[8:46] Roberto Salubrius: that is awesome... really... I can't wait to see that

[8:46] Babbage Linden: that remembers it's link number

[8:46] Babbage Linden: and delegates calls to the llSetLink* functions

[8:47] Roberto Salubrius: well I guess that the development of that will take some time but when it comes SL change will change

[8:47] Roberto Salubrius: as much as it did with sculpts

[8:47] Babbage Linden: at the moment we're waiting for a new simulator host image

[8:47] Babbage Linden: including a new version of mono

[8:48] Babbage Linden: that will allow us to do c# compilation on the simulator

[8:48] Babbage Linden: once that's done and we've completed another higher priority project

[8:48] Babbage Linden: i hope to get to c#

[8:48] Babbage Linden: and release a proposed interface early

[8:48] Babbage Linden: for discussion

[8:48] Roberto Salubrius: I am guessing a few years work right ?

[8:49] Babbage Linden: no, it shouldn't be

[8:49] Babbage Linden: most of the ground work was done for mono

[8:49] Babbage Linden: c# will use the same interface

[8:49] Babbage Linden: in fact, when you compile a script to run on mono

[8:50] Babbage Linden: it compiles in to a .NET object

[8:50] Nock Forager: interesting :)

[8:50] Babbage Linden: that uses the same c# interface that we'd like to expose for c# scripts

[8:50] Babbage Linden: the LSL script compiles in to a LindenLab.SecondLife.UserScript subclass

[8:50] Roberto Salubrius: so there's much more to mono than meets the eye

[8:50] Babbage Linden: which you can just subclass using c#

[8:51] Roberto Salubrius: so it will be a matter of opening it

[8:51] Roberto Salubrius: of course after all of this is stable

[8:51] Babbage Linden: we have a prototype version of the simulator that supports c# scripting already

[8:51] Babbage Linden: that we're evaluating internally

[8:51] Babbage Linden: in order to iterate the interface

[8:51] Roberto Salubrius: well more good news I see

[8:52] Babbage Linden: it's definitely little enough work on top of the work that we've already done that i'm very keen to see it

[8:52] Cale Flanagan: did u get the updates to svc3066 between the lines, babbage?

[8:52] Babbage Linden: aha, that's the 3066 you were refering too cale :-)

[8:52] Cale Flanagan: allways:) 3066 or carrots:)

[8:53] Cale Flanagan: my home sim where i can look to estate is updated, so i could do a look

[8:53] Babbage Linden: that would be great

[8:53] Cale Flanagan: restart is np anymore

[8:54] Babbage Linden: we've made a lot of changes to object reset and error handling

[8:54] Cale Flanagan: only time in topscripts is still crazy

[8:54] Babbage Linden: it should be much more robust now

[8:54] Babbage Linden: is there a JIRA task for the topscripts issue?

[8:54] Cale Flanagan: and i got a serilazation error on startm bu i take this as simrestarteffect

[8:55] Cale Flanagan: no, but maybe i should do so:) but 3066 can be closed i think

[8:55] Babbage Linden: 3066 is fix pending

[8:55] Babbage Linden: it should be closed after the roll completes

[8:55] Cale Flanagan: (there are some on topscripts, but i have to look if also for "after-crash")

[8:56] Fake Fitzgerald: I have a question about implmentation of function in Mono.

[8:56] Babbage Linden: ok, time's nearly up

[8:56] Babbage Linden: go ahead fake

[8:56] Fake Fitzgerald: Is there any differnce of algorith of llFrand between LSL2 and Mono?

[8:57] Roberto Salubrius: well I have to go and the meeting hour is almost done, thank you all have a nice day, and babbage you made my day with that C# information ! = )

[8:57] Babbage Linden: you're welcome roberty

[8:57] Babbage Linden: roberto

[8:57] Cale Flanagan: try opensim, there u have c# :)))

[8:57] Babbage Linden: llFrand should run the same C++ code to generate numbers on mono

[8:57] Roberto Salubrius: I have one on my pc Cale, but it's not the same ... you know...

[8:58] Roberto Salubrius: but I better start working more on it

[8:58] Babbage Linden: mono just provides a thin c# shim over the C++ library calls

[8:58] Cale Flanagan: y, many things missing, but its a start

[8:58] Babbage Linden: i've been talking to the opensim developers about standardising on a c# interface

[8:58] Babbage Linden: so that c# scripts will be portable as well as lsl ones

[8:59] Nock Forager: "portable"

[8:59] Cale Flanagan: the fun with opensim is, hat u find the lsl to c# translated files on it:)

[8:59] Fake Fitzgerald: I see

[8:59] Nock Forager: So it may have some difference in numbers?

[8:59] Babbage Linden: nock, the goal is that you should be able to take an lsl or c# script from opensim and just be able to save it in second life and have it work

[9:00] Babbage Linden: at the moment we support the same lsl

[9:00] Babbage Linden: but have different c# interfaces

[9:00] Babbage Linden: so a c# script would currently be portable

[9:00] Nock Forager: ah I just want to know that for cautioning such as in game system or so.

[9:00] Babbage Linden: *would not* sorry

[9:01] Babbage Linden: ok times up

[9:01] Babbage Linden: thanks for a great discussion again everyone

[9:01] Babbage Linden: i'll see you all next week

[9:01] Andromeda Quonset: cool

[9:01] Nock Forager: See you.

[9:01] Fake Fitzgerald: thanks babbage, see you next week

[9:01] Babbage Linden: bye

[9:01] Cale Flanagan: thanks and bye

[9:01] Data Landau: bye all

[9:02] Andromeda Quonset: bye!

[9:02] Nock Forager: bye!