Mono/2008-02-27

[8:11] Saijanai Kuhn: have you been tracking the jira and webpage that I and Stryfe have put up?
 [8:12] Babbage Linden: The LSL3 JIRA?
 [8:12] Periapse: https://jira.secondlife.com/browse/SVC-1657 ??
 [8:12] Saijanai Kuhn: https://wiki.secondlife.com/wiki/LSL3 https://wiki.secondlife.com/wiki/LSL3
 [8:12] Babbage Linden: I saw it when it went up
 [8:12] Babbage Linden: I haven't been following it
 [8:13] Babbage Linden: As I've said before, I'd like to look in to supporting existing languages once LSL on Mono is done
 [8:13] Saijanai Kuhn: most peoplle are saying "lets wait until things settle down before discussing new features"
 [8:13] Babbage Linden: rather than extending or revising LSL
 [8:13] Harleen Gretzky: Such as C#?
 [8:13] Babbage Linden: yes, I'm interested in your thoughts, but the focus is on LSL on Mono at the moment
 [8:13] Saijanai Kuhn: well, there's so much invested in people having already learned LSL, it seems a shame to waste a few million man hours learning time
 [8:14] Babbage Linden: and everything else is just in discussion
 [8:14] Saijanai Kuhn: I wouldn't have put that up unless Periapse had mentioend a "next steps" question
 [8:14] Periapse: I think it's important to have this discussion
 [8:14] Babbage Linden: Thanks Saijanai
 [8:14] Babbage Linden: yes, it's good to have the discussion
 [8:15] Babbage Linden: as long as it's clear that LSL on Mono is the focus at the moment
 [8:15] Babbage Linden: and that we're collecting thoughts rather than committing to anything
 [8:15] Babbage Linden: but, it's great to get feedback
 [8:15] Saijanai Kuhn: sure, I tried to make it clear this was a "discussion" of future stuff, not a "lets do this right now"
 [8:15] Babbage Linden: great :-)
 [8:15] Periapse: Yeah, we still have about three dozen open issues.
 [8:16] Babbage Linden: Hopefully some of the existing bugs will be easier to narrow down after this refresh
 [8:16] Babbage Linden: Which fixes a lot of issues which would have caused some scripts to fail in subtle and strange ways
 [8:17] Saijanai Kuhn: is that the change to acknowledge LSL2's interesting way of handling variables?
 [8:17] Babbage Linden: As the core language features start working correctly it should be easier to narrow down problems with particular events or library calls
 [8:17] Babbage Linden: Yes, the main fixes in this refresh are to change to pass by value
 [8:17] Harleen Gretzky: When is the refresh happening?
 [8:17] Periapse: Cordova crashed and is coming back up. I'm going to diable scripts for this office hour
 [8:17] Periapse: Just for Goguen
 [8:17] Babbage Linden: The refresh happened late last night
 [8:17] Entering god mode, level 200
 [8:17] Babbage Linden: So the new code is running now
 [8:18] Harleen Gretzky: sweet
 [8:18] Babbage Linden: Vector, Quaternion and List assignment should work correctly now
 [8:18] Becky Pippen: yay!
 [8:18] Saijanai Kuhn: so now, things might be running even slower in order to maintain backwarsd compatibility... E.G> for lists and the like
 [8:18] Babbage Linden: And Keys should be properly distinguished from Strings
 [8:18] Leaving god mode, level 200
 [8:18] Babbage Linden: I ran our benchmarks last night and the Mono speedup seems to have held steady
 [8:19] Babbage Linden: Although most of our benchmarks test math and language features, rather than library calls
 [8:19] Babbage Linden: It shouldn't have affected performance much if at all
 [8:19] Saijanai Kuhn: is there any way you can see to get link messages working faster? Its not that big a slowdown, just wondering
 [8:20] Babbage Linden: And it should fix a lot of scripts that would have behaved strangely with pass by reference semantics
 [8:20] Babbage Linden: Saijanai, possibly
 [8:20] Babbage Linden: As I said before, I'd like to prioritise language bugs, then library call event bugs and then look at performance problems
 [8:21] Babbage Linden: I don't see a reason why link messages should be any slower, so it's worth a look once we have the other bugs fixed
 [8:21] Babbage Linden: I'd like to see Mono have the same or faster performance than LSL2 in all areas
 [8:22] Babbage Linden: So that there is no debate as to which is the better VM to use
 [8:22] Babbage Linden: That may not be possible, but for now at least it's the goal
 [8:22] Saijanai Kuhn: Did you ever look at Squirrel Wood's graphing thignie? It causes huge lag when compiled to mono
 [8:22] Babbage Linden: No, not yet
 [8:22] Babbage Linden: Is there a JIRA task for it?
 [8:23] Periapse: I haven't seen one
 [8:23] Saijanai Kuhn: haven't looked. Uses thousands of listens which seem to have more letnecy or something in mono
 [8:23] Saijanai Kuhn: latency*
 [8:23] Babbage Linden: It would be good to have minimal tests and JIRA tasks for all the areas in which Mono seems to run more slowly or induce more latency
 [8:24] Saijanai Kuhn: I'll remind him (her?) to submit one next time I see him
 [8:24] Babbage Linden: Certainly event invocation may be slower in Mono, but in our tests it seemed to be about the same performance
 [8:24] Babbage Linden: Thanks
 [8:25] Becky Pippen: does that mean scripts may tend to overflow their 64-event queues more easily?
 [8:25] Babbage Linden: I doubt it Becky#
 [8:25] Saijanai Kuhn: well, the simple test of having a link set pass messages back and forth yields different results in mono then in LSL2
 [8:25] Babbage Linden: If event handlers do even a small amount of processing, then Mono will execute the event handler faster
 [8:26] Becky Pippen: that makes sense
 [8:26] Babbage Linden: There may be a case where really trivial event handlers take longer to execute in Mono
 [8:26] Babbage Linden: If the overhead of calling the event handler is greater
 [8:26] Saijanai Kuhn: requires a rethin of tricks to speed things up is all (I suspect)
 [8:26] Babbage Linden: But in most cases the execution of the handler being faster should outweigh that
 [8:26] Babbage Linden: Possibly
 [8:27] Babbage Linden: If code is relying on particular quirks of LSL2 it may need tweaking
 [8:27] Babbage Linden: But all reasonable code should run faster on Mono as is
 [8:28] Drew Dwi: wee made it
 [8:28] Saijanai Kuhn: my faux joints sign goes a little slower in mono now probably due to the lnik message and related issues
 [8:29] Babbage Linden: Peri noticed that there haven't been any bugs filed recently
 [8:29] Drew Dwi: q if taking.... whats the stance on LSL developement of new functions ect, is it dead in favor of importing other languages? there are many jira feature requests ect is why I ask
 [8:29] Babbage Linden: Hopefully this refresh will allow scripts to fail differently and reveal other issues that we need to fix
 [8:30] Babbage Linden: It's good that there hasn't been a crash bug in a while, but I can't believe that we've smoked all the bugs out yet
 [8:30] Periapse: Cordova is really hosed. It's tried to come back up three times since I've been here.
 [8:30] Periapse: I'm going to try to restore an old simstate
 [8:30] Babbage Linden: OK, that might be the bug we saw that was causing Goguen to not come up last week
 [8:30] Babbage Linden: It's the next on my list to look at
 [8:31] Babbage Linden: A bug that stops sims restarting is worse than one that causes them to crash
 [8:31] Babbage Linden: There were a number of significant changes in the new refresh, which is why it took longer to get out
 [8:32] Babbage Linden: So, please check your scripts again, even if they worked on Mono previously
 [8:32] Babbage Linden: Just in case we've introduced any new issues
 [8:32] Saijanai Kuhn: I'm stil trying to keep that mono bug table current
 [8:32] Babbage Linden: We're keeping the unit tests we use public on the wiki
 [8:32] Saijanai Kuhn: https://wiki.secondlife.com/wiki/User:Saijanai_Kuhn/Mono_issues
 [8:33] Babbage Linden: And those should catch regressions
 [8:33] Saijanai Kuhn: its got more than 450 hits so I assume people are using it
 [8:33] Babbage Linden: But that's not guaranteed
 [8:34] Babbage Linden: Any other questions or issues?
 [8:35] Drew Dwi: whats the stance on LSL developement of new functions ect, is it dead in favor of importing other languages in mono?
 [8:35] Babbage Linden: Not at all
 [8:35] Babbage Linden: We haven't been working on new language features
 [8:35] Saijanai Kuhn: https://jira.secondlife.com/browse/SVC-1657 https://wiki.secondlife.com/wiki/LSL3
 [8:36] Babbage Linden: But the library calls will likely be shared by any other languages used to script SL
 [8:36] Drew Dwi kicks the wiki to load faster
 [8:36] Drew Dwi: I know you may not be the right group to ask, but who's tasked with LSL development then?
 [8:36] Babbage Linden: And as LSL will need to call those library functions, its likely that we'll use ll* library calls for the foreseeable future
 [8:37] Babbage Linden: Scouse, Peri and I are the only group working on LSL specifically at the moment
 [8:37] Babbage Linden: But other groups have been fixing LSL functions
 [8:37] Babbage Linden: And possibly adding new ones
 [8:38] Drew Dwi: is there a process in which new features proposed on jira are slotted to be developed or declined?
 [8:38] Babbage Linden: If we continue to develop scripting further after Mono, then it's likely that Peri, Scouse and I will be working on it
 [8:38] Babbage Linden: which is why we were asking for feedback on future directions
 [8:38] Drew Dwi: ah
 [8:38] Babbage Linden: which we can feed in to internal discussions about what we should be working on next
 [8:38] Saijanai Kuhn: which is what that page and jira are about
 [8:39] Babbage Linden: right
 [8:39] Drew Dwi: ok, so for now its more of waiting for mono to complete before anything new will be happening on LSL front?
 [8:39] Babbage Linden: we'll take that feedback in to consideration when we discuss what to work on next
 [8:39] Saijanai Kuhn: https://jira.secondlife.com/browse/SVC-1657 and https://wiki.secondlife.com/wiki/LSL3
 [8:40] Babbage Linden: yes, we need to get Mono compatible and running on the main grid before we start on anything else
 [8:40] Saijanai Kuhn: I was talking to Tedd Maaa (Ted Nelson?) f OPenSim about things.
 [8:40] Babbage Linden: but, now is the time to start talking about the next steps
 [8:40] Babbage Linden: I've been talking to tedd too
 [8:40] Babbage Linden: and following his blog
 [8:40] Saijanai Kuhn: he mentioned that
 [8:40] Drew Dwi: this looks like a good direction to go
 [8:41] Saijanai Kuhn: Drew you should also look at the OSSL bloag that Babbage mentioned
 [8:41] Babbage Linden: I'd like to talk to him about keeping OpenSim and SL compatible if possible
 [8:41] Becky Pippen: Oh yes, please let's don't let LSL diverge
 [8:42] Babbage Linden: I think OpenSim needs to support LSL
 [8:42] Babbage Linden: The questions are around whether anything else is supported
 [8:42] Saijanai Kuhn: My understanding is that that is the goal.
 [8:42] Babbage Linden: and how
 [8:42] Babbage Linden: there are definitely areas in which we could cooperate
 [8:43] Saijanai Kuhn: Ted says he'd rather not get into public debates about feature sets.
 [8:43] Saijanai Kuhn: that he'd rather talk privately with knowledgeable people, etc
 [8:43] Babbage Linden: I'd like to know what people think
 [8:44] Saijanai Kuhn: OPenSim doesn't have to support existing customers ;-)
 [8:44] Babbage Linden: But I agree that it may not be productive to try to get a complete consensus
 [8:45] Saijanai Kuhn: I was thinking that a transitional syntax that moves from LSL-ish to C# might be a good way to go...
 [8:45] Babbage Linden: Anyway, for the moment, we need to get Mono finished and deployed to the main grid
 [8:46] Saijanai Kuhn: are there any specific thigns we can do to help speed upyour work?
 [8:46] Babbage Linden: The most useful thing is to have minimal repros for all the filed bugs
 [8:46] Babbage Linden: Most of the reports have been really clear
 [8:47] Babbage Linden: And everyone has worked together to simplify the repros where possible
 [8:47] Babbage Linden: So that's been great
 [8:47] Babbage Linden: Just trying as many different scripts
 [8:47] Babbage Linden: And as many strange corner cases as possible is the biggest help
 [8:48] Saijanai Kuhn: one thing I mentioned in my comments jira that will be even more important with future languages is to have some clear idea of what is what with debugger messages
 [8:48] Babbage Linden: Then, when you find something broken, finding the simplest thing to reproduce the broken behaviour
 [8:48] Babbage Linden: And filing that in JiRA
 [8:49] Babbage Linden: Saijanai, at the moment if ever you see a stack trace, it's a bug
 [8:50] Saijanai Kuhn: sure. Something I already mentioned and use in that bug table is a section for the stack trace/debug message. If a section of the jira allowed input for that, it would make it sortable within the jira itself
 [8:51] Saijanai Kuhn: once you get to multiple language support, that would become even more useful, I think
 [8:51] Babbage Linden: Yes
 [8:51] Babbage Linden: We can document the exceptions that can be thrown by different library calls
 [8:52] Babbage Linden: And, if the language allows for it, allow exceptions to be defined, thrown and caught inside the script
 [8:52] Saijanai Kuhn: still need a jira input section for them though
 [8:53] Saijanai Kuhn: don't know how the jira forms work. IF a comment section could be designated for that would standardize how thiey are written/used
 [8:54] Babbage Linden: It may be useful in the future, yes
 [8:54] Babbage Linden: But, I'm not sure how much work it would be to change
 [8:54] Babbage Linden: And so whether it's worth adding to JIRA
 [8:54] Saijanai Kuhn: me neither. I can ask Rob L. I guess
 [8:54] Babbage Linden: Yep
 [8:54] Babbage Linden: Good idea
 [8:55] Babbage Linden: OK, we're nearly out of time
 [8:55] Babbage Linden: Anyone else have anything?
 [8:56] Periapse: Cordova is still down, even after restoring a simstate from yesterday
 [8:56] Babbage Linden: OK, I'll look at that when we're done here Peri
 [8:56] Periapse: osssm
 [8:56] Harleen Gretzky: Turn scripts back on :P
 [8:56] Periapse: will do
 [8:56] Becky Pippen: :-)
 [8:56] Entering god mode, level 200
 [8:56] Babbage Linden: OK, thanks for coming everyone
 [8:56] Becky Pippen: thank you guys
 [8:56] Babbage Linden: Please keep up the great work
 [8:57] Periapse: scripts back on
 [8:57] Harleen Gretzky: ty
 [8:57] Babbage Linden: Test as many scripts as you can
 [8:57] Leaving god mode, level 200
 [8:57] Periapse: Thanks all, I'll post the transcript to the wiki
 [8:57] Babbage Linden: And let us know whenever you find anything unusual
 [8:57] Babbage Linden: Thanks Peri
 [8:57] Babbage Linden: Thanks all