User:Babbage Linden/Office Hours/2008 09 24

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 1.24.5.96115

[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: http://jira.secondlife.com/browse/SVC-1276

[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 jimpurbrick.com

[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 blog.secondlife.com these days)

[8:32] Linegirl McMillan: It would be nice to get the http://jira.secondlife.com/browse/SVC-1276 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 wiki.secondlife.com

[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!