User:Ama Omega/archive/Office Hours/2010-08-09

From Second Life Wiki
Jump to navigation Jump to search


[09:00] Latif Khalifa: hey Kelly :)
[09:01] Kelly Linden: Hello.
[09:01] Kelly Linden: Good morning.
[09:01] Dwen Dooley: morning all
[09:01] Kaluura Boa: Good evening...
[09:02] Dwen Dooley: trying to see if this is meant to be a chair. :-)
[09:02] Techwolf Lupindo: Good afternoon here. (12:01PM)
[09:02] Kelly Linden: So, I'll start with an update on the Mono work.
[09:02] Morgaine Dinova: Happy Monday, folks :-)
[09:02] Morgaine Dinova: /me waves at Kelly and listens
[09:03] Kelly Linden: We have two fronts we are attacking this week. One is that we actually do some internal dev on windows for the server side, so we need to make our project w/ updated mono build and run on windows.
[09:03] Kelly Linden: The other is that we discovered last week that there is a bit more incompatibility between the scripts generated by the new mono and old sims. So we need to resolve that.
[09:03] Talarus Luan: Windows on the server side? O.o
[09:04] Kelly Linden: Yar. Visual Debugger > GDB
[09:04] Latif Khalifa: Talarus, server development, not deployment :)
[09:05] Kelly Linden: yea, just development. Everything gets tested on and runs on debian for actual use
[09:05] Talarus Luan: Yeah, was going to say.. :P
[09:05] Techwolf Lupindo: Its sad when devolopers can't debug without a GUI.
[09:05] Techwolf Lupindo: :-)
[09:05] Kelly Linden: It isn't a case of "can't"
[09:05] Talarus Luan: /me chuckles
[09:05] Kelly Linden: It is a case of being able to do in 2 minutes what would take 15 - 20 without a gui
[09:05] Latif Khalifa: tech "best tool for the job",why not make your work easier if the tools is available
[09:07] Kelly Linden: It isn't even really a debate - we have devs that prefer both sides and do both ways. We have been ignoring windows while doing the mono (and the C#) work. We just need to fix that before we can merge back with the mainline
[09:07] Morgaine Dinova: You are doing internal work on server-side nn Windows? That's quite a departure.
[09:07] Kelly Linden: I've done most of my server work for the last 6 years on windows, when it is feasible.
[09:08] Kelly Linden: I personally prefer the debugging tools available there over command line tools. <shrug>
[09:08] Latif Khalifa: how is the work on porting sim code to the latest mono progressing?
[09:08] Rex Cronon: hello everybody
[09:08] Kelly Linden: That is what I have been talking about, Latif.
[09:08] Kelly Linden: Sorry if I wasn't clear.
[09:08] Latif Khalifa: ah, tht's a part of it
[09:08] Latif Khalifa: i see :)
[09:09] Kelly Linden: "the mono work" is moving the sim code to a more recent mono. (2.6.7 right now)
[09:09] Kelly Linden: It is a bit more complicated as we have to pull in some script life cycle unit tests and fixes / changes as well.
[09:10] Kelly Linden: so we don't repeat 1.38
[09:10] Kaluura Boa: hehehe
[09:10] Kelly Linden: Next Topic: LSL API Design Philosophy
[09:11] Kelly Linden: I have been working on refining a set of rules / guidelines for extending the LSL API in the interim time before we can bring back the C# / CLR projects.
[09:12] Kelly Linden: Basically a set of guiding principles to judge all the LSL function requests and ideas
[09:12] Kelly Linden: And to help design them consistently
[09:12] Kaluura Boa: Add "shorter names" to your criters of selection...
[09:12] Kelly Linden: Things like: No more script sleeps. Use throttles if needed, and only if really needed.
[09:13] Rex Cronon: what is going to happen with the existing functions that r not designed consistently:)
[09:13] Talarus Luan: Good deal
[09:13] Liisa Runo: when your done, make it public, so we can make better feature requests in the future
[09:13] Kelly Linden: (along with more details for internal devs about how to do the throttles etc)
[09:13] Opensource Obscure: IIRC, it was said that LSL was not going to be 'expanded' - but maybe I'm not precise. anyway, is this project you're working on now .. something "new"?
[09:13] Talarus Luan: That was before the downsizing. <.<
[09:13] Imaze Rhiano: what about versioning?
[09:14] Boroondas Gupte: API versioning?
[09:14] Jupi Shinn: hi
[09:14] Kelly Linden: OO: There will be some opportunity to add new library calls (llFoo) though we very probably will not be adding new language features (arrays)
[09:14] Rex Cronon: hi
[09:14] Kaluura Boa: Alas...
[09:14] Kelly Linden: Boroondas: That is an issue I haven't decided how to handle yet. Some devs really want to start adding a function version parameter to every new library call they create. So you would have llCastRay(....., integer version)
[09:15] Boroondas Gupte: ew
[09:15] Kelly Linden: I think that is pretty ugly, just for the off chance you need to someday change it.
[09:15] Rex Cronon: is ading arrays to lsl behyond ll capabilities:)
[09:15] Talarus Luan: Yah.. yuck
[09:15] Kaluura Boa: Ugly, sue!
[09:15] Kaluura Boa: sure*
[09:15] Kelly Linden: So I want to discourage that.
[09:15] Latif Khalifa: I agree, that is a bad API design
[09:15] Kelly Linden: Rex: It is not, but it is potentially dangerous - LSL is not as robust internally and arrays can be hard.
[09:16] Kelly Linden: It would take lots of testing and time, which we don't really have.
[09:16] Rex Cronon: at least make lists more efficient:)
[09:17] Kelly Linden: Rex: Yes. We have some ideas for doing that on mono. But now we are trending off topic.
[09:17] Kaluura Boa: Yeah... So that no copy of a list is made when it's not really needed
[09:17] Latif Khalifa: It's hard to make LSL interop with outside world because of the limits of it's type system. We could add features for parsing xml or json, but how could we represent the result in LSL?
[09:17] Talarus Luan: I think the best idea would be to overload with new functionality on the same name, and rename older/sunset functions. Like llSetPrimitiveParamsV2 or something if you updated llSetPrimitiveParams. The former would retain whatever legacy functionality "V2" had, and the original name would always be current functionality.
[09:18] Kelly Linden: Latif: Yeah that is hard, but unfortunately something that will have to wait for a better language.
[09:18] Kelly Linden: Talarus: that means existing scripts would change behavior on recompile
[09:18] Kelly Linden: or not even recompile
[09:19] Kelly Linden: Which is why we've gone the way of making new versions have new names
[09:19] Talarus Luan: Yes, i realize. It was the same behavioral change when PRIM_TYPE changed from PRIM_TYPE_LEGACY.
[09:19] Kelly Linden: yea
[09:19] Talarus Luan: That's OK, it gives people impetus to upgrade or simply keep the old functionality with full knowledge that it happened.
[09:19] Latif Khalifa: some sort of #define api_version 1.2 then?
[09:19] Talarus Luan: Existing scripts wouldn't change, though
[09:20] Kelly Linden: Latif: maybe something like that. But if we did that, we'd really want to take the time to go through and fix a bunch of stuff at once probably.
[09:21] Talarus Luan: hehe.. GIVE US TEH MPP!! :D
[09:21] Talarus Luan: (macro preprocessor!) :D
[09:21] Kelly Linden: Hate to have a new point version for every function we fixed
[09:21] Latif Khalifa: yeah so if script says "i'm using api2" all the functions that are broken but cannot be fixed get done
[09:21] Latif Khalifa: instread of having individual function versions
[09:22] Kelly Linden: Unfortunately I don't think we'd have time to do a large project like that. What seems actually possible to get done is a few functions at a time.
[09:23] Kelly Linden: And I think we'd rather get those fixes out there as we do them, than not see any changes for a year until we've accumulated enough fixes to make v2 of the api reasonable
[09:23] Boroondas Gupte: I like python's "from future import ..."
[09:23] Latif Khalifa: python isn't exactly poster child for inter version compabitily :P
[09:23] Boroondas Gupte: true
[09:24] Kelly Linden: There are a lot of changes that are just going to have to wait for the next language
[09:24] Kelly Linden: And we need to keep the next language in mind as we extend the API
[09:24] Talarus Luan: Lot of changes which shouldn't have to, either, though. <.<
[09:24] Dwen Dooley: whats the schedule for the next language?
[09:25] Liisa Runo: /me is happy to hear that LL still look forward to next language
[09:25] Kaluura Boa: 2025...
[09:25] Kelly Linden: true, but if I suddenly get a large block of time like it would take to do some of the ideas, I'm going to put that time towards getting the next language done
[09:25] Talarus Luan: (just don't that to become the "pat excuse" for avoiding a simple llFoo() request ;) )
[09:25] Latif Khalifa: Kelly++
[09:25] Talarus Luan: *don't want that
[09:25] Kelly Linden: Talarus: that is part of the goal of the guide I'm working on.
[09:26] Kelly Linden: Make the line pretty clear so we can pick up and do the simple ones, and make it so we don't have to spend a lot of time figuring out basic design principles for each one, like we do now.
[09:26] Talarus Luan: Cool, so we can beat you over the head with it when you all refuse a reasonable request that falls within the guidelines? :P
[09:27] Talarus Luan: (I'm kidding.. sorta.. ;) )
[09:27] Latif Khalifa: Kelly, perhaps a good step in that direction is to think about encapsulation of types if that becomes available. Say instead of getting llGetDetectedXXX we could have an Event object that encapsulates all of it. Maybe this can be done internally even before we get a OO language
[09:27] Kelly Linden: Right now every function we add is pretty much a unique snow flake - we go through the same process of design and figuring out all the basics for every function and they all en d up different and take too long.
[09:27] Kelly Linden: Latif: I'd like to see more details about what you are saying, but maybe not here.
[09:27] Rex Cronon: why don't u separate the functions into packages, at least?
[09:27] Latif Khalifa: ok
[09:28] Kelly Linden: LSL doesn't have a good way to create packages of functions
[09:29] Kelly Linden: Back on the topic of these guidlines, one of them is a 'minimal interface'. That is we want to focus on functions that are thin and close ties into simulator data / SL data etc.
[09:30] Kelly Linden: So, for example I'd rather we worked on some solution to llGetAgentsInRegion (though not that for reasons in the jiras) than adding json or llsd parsers.
[09:30] Kelly Linden: The thinking is that while the json parser may be hard in LSL in future languages it is easy and even done for us, so we want to focus on the things that will still be useful then.
[09:31] Kelly Linden: And any functions we add now becaome the 'minimum api' of the future language that we have to support going forward.
[09:31] Latif Khalifa: llGetAgentsInRegion() will face the same data representation problem since what sensors (radars) do is collect name, key, position for each avatar... and that sort of structure is difficult to represent in LSL
[09:32] Talarus Luan: Once you publish these guidelines, will there be a push to comb through JIRA and make a "pony list" of requests/fixes that fit within its context to triage for potential near-term implementation?
[09:32] Kelly Linden: That is true, it is probably a bad example but I was just using it to make the distinction between functions that connect to or give visibility into or control the simulation or SL specific data Vs general functionality libraries
[09:33] Kelly Linden: Talarus: once I publish them I will probably try and turn every other week of this meeting into some sort of triage of the issues in jira.
[09:33] Liisa Runo: we only need llGetAgentsInRegion() to list keys. llGetObjectDetails can do the rest
[09:33] Kelly Linden: somehow.
[09:33] Kelly Linden: I hate jira.
[09:33] Talarus Luan: I hate voting for bugs. :-/
[09:34] Latif Khalifa: but yes i agree, making simulator speifi functions is much more valuable than making stuff that you get for free once you uprade the language
[09:34] Kelly Linden: it isn't particularly effective Talarus, unfortunately.
[09:34] Talarus Luan: It never made any sense to me.. they're BUGS; FIX them! <.<
[09:34] Dwen Dooley: well it identifies the squeakiest wheels.
[09:34] Talarus Luan: Don't need a vote to determine if anyone wants them fixed.
[09:35] Kelly Linden: I want to be able to go through the jiras and cull those that we probably just won't ever get to, or those that don't match the design goals and also to promote and track the ones that we should be doing.
[09:35] Talarus Luan: Cool.
[09:35] Ardy Lay: How can we define "bug" when "implimentation is documentation" is the rule at LL?
[09:35] Kelly Linden: yeah that is a crappy 'rule'
[09:36] Imaze Rhiano: I think that LSL documentation in Wiki is now pretty accurate
[09:36] Latif Khalifa: yup, LSL is pretty well docummented
[09:36] Morgaine Dinova: Kelly, small local changes are appealing at first glance, without being able to develop non-local changes, you get stuck in local minima.
[09:37] Kelly Linden: How do you define 'local'?
[09:37] Rex Cronon: IMO there r "small" details that r not really documented
[09:37] Morgaine Dinova: I think you need a bit of both in the guidelines.
[09:37] Latif Khalifa: anyone have a suggestion how could we help propritize LSL enhancements?
[09:38] Liisa Runo: common sense of experienced scripter?
[09:39] Rex Cronon: flipping a coin is a good as any other way to propritize LSL enhancements:)
[09:39] Latif Khalifa: Kelly does making collections like help?
[09:39] Kelly Linden: Some thoughts on that priority will be in the guidelines
[09:39] Talarus Luan: Everyone that has time, make up a priority list, under the published guidelines, and LL merge / tally those lists? Sounds like redundant JIRA voting, but meh..
[09:40] Morgaine Dinova: Kelly: there is no single definition of "non-local", because however you define it, there is always a hill a bit further away that should have been considered. But that's where design commonsense comes in --- experienced devs raise their eyes from current code and look further ahead.
[09:40] Kelly Linden: Latif: not as much yet. I need to work out how I will handle the triages, and how to track the results of the triages.
[09:40] Kelly Linden: Morgaine: Agreed.
[09:40] Rex Cronon: liisa. what is experienced scripters disagreen on the priority of lsl functions:)
[09:40] Kelly Linden: Latif my hate for jira colors that. But we will figure out something.
[09:41] Rex Cronon: disagree*
[09:41] Imaze Rhiano: how about undocumented features like JumpPos and other things achieved by bugs?
[09:41] Latif Khalifa: Kelly, I'd try to catch up with Alexa, she'd the Jira wranger and the triage queen :)
[09:41] Kelly Linden: yeah, I talked with her some.
[09:42] Kelly Linden: I think I just expect too much of jira.
[09:42] Kelly Linden: But I will talk with her more.
[09:42] Latif Khalifa: well in my experience you are not going to get much more out of any other tracking system either...
[09:43] Kelly Linden: Ok, 3/4 done. Last 15 minutes for general questions?
[09:43] Latif Khalifa: how's life? :D
[09:43] Talarus Luan: How soon do you plan to get these guidelines completed and published?
[09:43] Kelly Linden: Life is all right. :)
[09:43] Liisa Runo: tell us more about the problems with old sims and new MONO. What kind of problems?
[09:43] Latif Khalifa: (and did you survive the dental appointment :P)
[09:43] Kelly Linden: Talarus: Depends on how the rest of my schedule goes. Probably not for a couple of weeks.
[09:43] Kelly Linden: at best
[09:43] Talarus Luan: ok
[09:44] Kelly Linden: Latif: Hah, I did. They put a new temp crown on and said it would probably fall off too, but it hasn't yet. Get the real one on friday.
[09:44] Talarus Luan: ack
[09:44] Talarus Luan: Well, next time, don't swallow it. :P
[09:44] Latif Khalifa: hahaha
[09:45] Kelly Linden: Talarus: yeah, my dentist suggested I try not to swallow at all for a couple weeks
[09:45] Kaluura Boa: =^_^=
[09:45] Morgaine Dinova: I wonder if old dental fittings get "digested" by the hydrochloric acid in the stomach. It's pretty strong :-)
[09:45] Talarus Luan: Just tongue-check every bite beforehand. :p
[09:45] Latif Khalifa: Liisa, my understanding is that if you compile a script on the new version of the runtime and move to the old sim with the old runtime can crash the old sim. So steps taken to roll out the update are critical
[09:45] Kelly Linden: My dentist is awesome though. In his spare time he builds robots.
[09:45] Morgaine Dinova: Haha
[09:45] Latif Khalifa: wow
[09:46] Talarus Luan: Ooo.. should have asked him for a cybernetic crown or something. :P
[09:46] Rex Cronon: he might make u into a cyborg, kelly:)
[09:46] Kelly Linden: Sorry Liisa, I missed that question. Latif has it right.
[09:47] Kelly Linden: The old 1.2.6 mono doesn't understand 'version tolerant serialization' so we try to load a newer script and it freaks
[09:47] Talarus Luan: It's not strong enough to dissolve fillings or dental reconstructing compound (or whatever it is called) :P
[09:47] Talarus Luan: You get to pass them pretty much intact. :P
[09:47] Kelly Linden: We need to either make some more changes to make the new scripts compatible with old sims or release an interim simulator that doesn't crash when it sees a new script
[09:48] Kelly Linden: And Morgaine: I swallowed and entire temp crown in tact.
[09:48] Kelly Linden: like a pill
[09:48] Latif Khalifa: haha
[09:48] Morgaine Dinova: O.O
[09:48] Kelly Linden: didn't even realize I had done it. Was only drinking water, one drink was fine, the next SUPER sensitive to cold.
[09:48] Latif Khalifa: /me still thinks it must've been an awesome party :)
[09:48] Kelly Linden: haha
[09:49] Morgaine Dinova: I really don't wanna think about that.
[09:49] Dwen Dooley: need to run, ty kelly and all. :-)
[09:49] Kelly Linden: o/
[09:49] Rex Cronon: tc
[09:49] Talarus Luan: Well, outside of talking about specific JIRAs, are there any new highlights of upcoming server releases related to scripting?
[09:50] Kelly Linden: The next scripting related things are the updated mono and maybe a new PRIM_ROT and someday llCastRay
[09:50] Kelly Linden: I don't have anything past that on the roadmap yet. But my roadmap is dreadfully short right now.
[09:50] Morgaine Dinova: Is there a wiki entry on llCastRay?
[09:51] Latif Khalifa: yup
[09:51] Kelly Linden: Morgaine: yes, Falcon has been manning it and it's discussion page rather well.
[09:51] Morgaine Dinova: Coolness. /me looks
[09:51] Latif Khalifa: there are some sims on aditi that have draft version of the function for people to test/provide feedback
[09:51] Kelly Linden:
[09:52] Morgaine Dinova: Thanks Kelly
[09:52] Kelly Linden: I dunno if the sims are still up on aditi - I think Falcon is in between versions / iterations of the function.
[09:52] Kelly Linden: so I'm not sure of the status
[09:52] Kelly Linden: (been a week and a half since I have talked to him about it at all)
[09:53] Latif Khalifa: i last chacked a couple of weeks ago, they were still available (i forgot the sim name)
[09:53] Liisa Runo: oatmeal 14 i think
[09:53] Morgaine Dinova: There should be a standard NON-PRODUCTION template on the wiki, so that all the disclaimers don't have to be repeated for each new idea that Lindens write up.
[09:54] Liisa Runo: 9 and 13 have it too but they are no-script, (though have not checkjed for couple weeks)
[09:55] Kelly Linden: kinda weird to test a new LSL function on no script regions
[09:55] Liisa Runo: yes, scripts are slow in no-script
[09:55] Kelly Linden: haha
[09:55] Latif Khalifa: hehe, well there is at least one that has scripts on :)
[09:56] Latif Khalifa: lol Liisa, that remindend me of the old joke "our CPU is so fast it does infinite loops in 3 seconds" :P
[09:56] Kelly Linden: send me a note with which regions are script only if they are and I'll go fix em.
[09:56] Kelly Linden: er, no script I mean
[09:56] Liisa Runo: 9 and 13
[09:57] Liisa Runo: but as i said, couple weeks since i checked
[09:57] Kelly Linden: kk
[09:57] Latif Khalifa: oatmeal xx sims is where new stuff get sandbox testing these days :)
[09:57] Latif Khalifa: havok 7 was crashed to death many times there :P
[09:58] Bau Ur: Oh look. A Linden who is still employed. Hi Kelly.
[09:58] Morgaine Dinova: lol
[09:58] Latif Khalifa: and it appears it worked well, the new sim isn't crashier because of the new physics engine
[09:58] Talarus Luan: <.<
[09:58] Kelly Linden: /me keeps his fingers crossed.
[09:58] Liisa Runo: speaking of H7.. it seem to be lot more easy to do the "viral floor" in H7 than in H4
[09:59] Kelly Linden: I dunno what the viral floor is
[09:59] Bau Ur: What's a viral floor?
[09:59] Bau Ur: the floor where the prims appear under your feet as you walk?
[09:59] Liisa Runo: it is when physics get bugged and everything physical that touch sim ground start to move east
[09:59] Rex Cronon: if u stand on ground u start sliding towards east
[09:59] Morgaine Dinova: /me looks down worriedly
[10:00] Kelly Linden: oooh fun.
[10:00] Rex Cronon: if u fly or walk on a prim u r ok
[10:00] Kelly Linden: NaNs probably
[10:00] Bau Ur: /me notices that thes gears do not mesh. The teeth hit one another.
[10:00] Talarus Luan: They are holohgrams
[10:00] Latif Khalifa: Liisa, I think Andrew mentioned that happens when havok sees a "not a number" NaN in it
[10:00] Kelly Linden: hard to get that right when using the viewer hack llTargetOmega
[10:00] Opensource Obscure: this is viral floor
[10:00] Talarus Luan: They can do that and get away with it :P
[10:00] Bau Ur: I did not know target Omega was a hack.
[10:01] Liisa Runo: Kelly, dont forget to build your own office over there on your land.
[10:01] Liisa Runo: :)
[10:01] Latif Khalifa: I have seen that in all previous versions too
[10:01] Latif Khalifa: mystitool "toss" weapen seem to trigger it often
[10:01] Kelly Linden: aye. It just sends a rotation to every viewer to show the object as rotating. Unless it is physical it isn't rotating on the server and not everyone will see the exact same rotation
[10:01] Kelly Linden: Liisa right.
[10:01] Kelly Linden: I need more hours in my day.
[10:02] Liisa Runo: or let us build our versions, and pick the one that please you most
[10:02] Morgaine Dinova: Nyx is working on cloning itself.
[10:02] Kelly Linden: Speaking of, I need to run now. If anyone else wants to build an office on my land, just let me know. LOL
[10:02] Latif Khalifa: hehe
[10:02] Liisa Runo: me! me!
[10:02] Morgaine Dinova: Cya Kelly, have fun :-)
[10:02] Rex Cronon: just rez a cube and call it "office":)
[10:02] Kelly Linden: Go for it, I'll turn off auto return.
[10:02] Latif Khalifa: happy hacking Kelly :)
[10:02] Rex Cronon: tc kelly
[10:02] Kelly Linden: cya all

Generated with SLog Wikifier