User:Ama Omega/archive/Office Hours/2010-11-08
< User:Ama Omega | archive | Office Hours
Jump to navigation
Jump to search
List of Attendees
- Gazanfer Jehangir
- Haravikk Mistral
- Harry Gleeson
- Ivy Sunkiller
- Johan Neddings
- JS Uralia
- Lestat Demain
- Liisa Runo
- Melchizedek Blauvelt
- Moon Metty
- Morgaine Dinova
- Something Something
Transcript
[08:59] | ||
[09:00] | ||
[09:00] | JS Uralia | (js.uralia): good morning! |
[09:00] | Ivy Sunkiller | (ivy.sunkiller): hi Kelly, Kaluura |
[09:00] | Ivy Sunkiller | (ivy.sunkiller): and JS :) |
[09:01] | Liisa Runo | (liisa.runo) has coffee: we can start. Hi all |
[09:01] | Melchizedek Blauvelt | (melchizedek.blauvelt): Heya :) |
[09:01] | Ivy Sunkiller | (ivy.sunkiller): hiya Haravikk |
[09:01] | Haravikk Mistral | (haravikk.mistral): Hi there! |
[09:01] | we are | gonna start with topics, lets see how fast we can get through them. |
[09:01] | ||
[09:02] | JS you | have the floor for the first topic - improve LSL instead of add a new language. |
[09:03] | JS Uralia | (js.uralia): Thank you. My goal is to help and plead that instead of turning our backs on everyone who has ever spent time learning LSL, that instead we offer a backward-compatible |
[09:03] | JS Uralia | (js.uralia): path toward the world's most popular languages: C and JavaScript |
[09:03] | JS Uralia | (js.uralia): I think this is important not just to support those who have already invested what many think is a crufty syntax (by improving it substantially to save keystrokes per task) |
[09:04] | I agree | with 1,3, 4, 5 |
[09:04] | JS Uralia | (js.uralia): but also to show faith in and respect towards users and learners in a way that telling them to learn the much more verbose C# would not |
[09:04] | Ivy Sunkiller | (ivy.sunkiller): hey there Morgaine |
[09:05] | JS Uralia | (js.uralia): in particular, I'm concerned that the C# "object" nomenclature substantially clashes with the words pervasively used to describe prim objects in SL |
[09:05] | Gazanfer Jehangir | (gazanfer.jehangir): how safe would be a language like C, its the meanest machine around |
[09:05] | Lets divide | this topic, briefly then since I see two issues for discussion. |
[09:05] | JS Uralia | (js.uralia): ok |
[09:05] | JS Uralia | (js.uralia): go aheah |
[09:05] | turning our | backs on existing developers' and then the actual suggestions |
[09:05] | JS Uralia | (js.uralia): ahead* |
[09:05] | Morgaine Dinova | (morgaine.dinova): Hi Ivy, and all :-) |
[09:05] | JS Uralia | (js.uralia): ok |
[09:06] | We do | not intend to turn our backs on existing developers. |
[09:06] | JS Uralia | (js.uralia): Have there been any usability tests with intermediate level LSL scripters asked to learn C#? |
[09:06] | LSL is | not going to go away |
[09:06] | There has | not. But we don't plan on forcing anyone to switch. |
[09:06] | Ivy Sunkiller | (ivy.sunkiller): that's good, but LSL of today is clearly not enough :) |
[09:07] | JS Uralia | (js.uralia): Ivy: what are the deficiencies which you think most need to be addressed? |
[09:07] | That said | C# is very similar to LSL in most of the key areas. |
[09:07] | Gazanfer Jehangir | (gazanfer.jehangir): javascript is already available via the MoaP architecture and work on C# had been some. so its doable |
[09:08] | Morgaine Dinova | (morgaine.dinova): I though the "New languages beyond LSL for server-side scripting" topic was shelved with Babbage and Co leaving. Not so? |
[09:08] | Morgaine Dinova | (morgaine.dinova): thought* |
[09:08] | Ivy Sunkiller | (ivy.sunkiller): JS: datastructures as such and easy ways to iterate them. I absolutely love JSON and how transparent it is across platforms (Python for that matter) |
[09:08] | Gazanfer Jehangir | (gazanfer.jehangir): rotations and sorting have always been sore points kelly? |
[09:08] | The topic | is not shelved. |
[09:08] | JS Uralia | (js.uralia): I am not sure beginning and intermediate level LSL programmers will be able to transition to C# sucessfully, and I respectfully ask that it be measured before decided upon |
[09:08] | Morgaine Dinova | (morgaine.dinova): That's good to hear, Kelly. |
[09:09] | JS Uralia | (js.uralia): Ivy: if lists were available from square brackets, would that address your data structure concerns? |
[09:09] | they will | continue to be able to use LSL if they wish, JS. |
[09:09] | Morgaine Dinova | (morgaine.dinova): But it WAS shelved. So I guess there has been a change of official plan. |
[09:09] | Melchizedek Blauvelt | (melchizedek.blauvelt): I'm willing to volunteer for that JS I fall in precisely that category of LSL scripters |
[09:09] | The project | is shelved - the topic of the switch isn't. There is a distinction. |
[09:09] | Ivy Sunkiller | (ivy.sunkiller): JS: not, unless they allow me to use them as associative arrays/hash tables and allow to nest them |
[09:09] | Johan Neddings | (johan.neddings): as a developer in both C# and LSL |
[09:09] | Johan Neddings | (johan.neddings): I think having C# working in script would pose a threat |
[09:10] | JS Uralia | (js.uralia): that's good, Kelly, and I sincerely appreciate that. I am concerned that LSL has been stagnant -- and was explicitly declared stagnant on purpose during Babbage's tenure -- in favor of work on C# instead |
[09:10] | Something Something | (something.something): a threat? |
[09:10] | Johan Neddings | (johan.neddings): C# is more powerfull then LSL |
[09:10] | Ivy Sunkiller | (ivy.sunkiller): *everything* is more powerful than LSL :) |
[09:10] | Morgaine Dinova | (morgaine.dinova): It's a good topic for discussion. But, totally without purpose unless there is a possibility to bring the shelved project back off the shelf. Is there a a possibility of that? |
[09:10] | and that | is still the case JS. |
[09:10] | Johan Neddings | (johan.neddings): With LSL i can't open files or even do "harmfull "things |
[09:10] | Gazanfer Jehangir | (gazanfer.jehangir): C# is better for the intermediate programmer as well |
[09:11] | Haravikk Mistral | (haravikk.mistral): I think LSL definitely needs continued support for new functions, but I don't think there's much point in adding new language features that C# already has and will add, it's not a hard language to learn and is very powerful |
[09:11] | we plan | on bringing it off the shelf eventually. It is just a matter of 'when'. |
[09:11] | Morgaine Dinova | (morgaine.dinova): kk |
[09:11] | JS Uralia | (js.uralia): Johan and Ivy: both are Turing equivalent languages. If by powerful you mean requires fewer keystrokes per task, I would like to see how you came to that conclusion |
[09:11] | Ivy Sunkiller | (ivy.sunkiller): JS: I'm more about expression power than keystrokes |
[09:11] | JS Uralia | (js.uralia): Johan: you can open notecard files, you just can't write to them |
[09:11] | is way | more powerful than LSL, that isn't even a debatable topic. |
[09:12] | While we | wait for C# to be un-shelved, something should be done for what we have: LSL |
[09:12] | Johan Neddings | (johan.neddings): JS, simple. At this moment other grids have the possibility to use C# as a script source |
[09:12] | Johan Neddings | (johan.neddings): and I have seen "breaking" grids that enabled it |
[09:12] | Johan Neddings | (johan.neddings): and within 2 hours either disabled it completly |
[09:12] | JS Uralia | (js.uralia): Ivy: what good is experssion power (and what do you mean by that) when it takes longer to do something. Do "object" nomenclature conflictes affect power? |
[09:12] | and there | comes the interesting point. IF (big if) we had time and resources to devote to any of these requests then why wouldn't we put that time towards C#? |
[09:12] | Ivy Sunkiller | (ivy.sunkiller): there is atm no way to present JSON structure in LSL, no other high level scripting languages has such limitations |
[09:12] | Johan Neddings | (johan.neddings): or handled things to "safe mode" |
[09:13] | JS Uralia | (js.uralia): Kelly: how are you using the word "powerful"? |
[09:13] | s the | real status of C# at LL? Shelved or not? |
[09:13] | none of | these are easy or trivial, combined with LSL which is extremely fragile and the legacy of content makes developing and testing really hard. |
[09:13] | Morgaine Dinova | (morgaine.dinova): I support Kaluura's point, if the unshelvingof C# is not expected for a year or more. Need to upgrade LSL if nothing else is on the horizon |
[09:13] | any definition | you come up with. Ease of use and feature set and speed. |
[09:13] | Melchizedek Blauvelt | (melchizedek.blauvelt): Does C# offer the same sense of instant accomplishment LSL offers to beginning scripters? |
[09:13] | If we | had the resources to devote to improving LSL we could finish C# |
[09:14] | JS Uralia | (js.uralia): I know that they must seem like dangerous upgrades, but is there any way to find out other than implementing and testing them on a test grid? |
[09:14] | I think | so. Maybe more. |
[09:14] | that is | one of the biggest costs. |
[09:14] | JS Uralia | (js.uralia): Ease of use: why is that not associated with keystrokes per task? |
[09:15] | keystrokes per | task seems completely meaningless to me, and unrelated. |
[09:15] | Whether it | is improving LSL or bringing C#, something must be done NOW... LSL is stagnant |
[09:15] | Ivy Sunkiller | (ivy.sunkiller): why C# though? There are languages out there that are very comfortable to write in for wizard-level coders, yet friendly enough for even script kids to use. |
[09:15] | Haravikk Mistral | (haravikk.mistral): How many keystrokes does it take to do nested (non-strided) lists in LSL? |
[09:15] | Johan Neddings | (johan.neddings): Kaluura, yes |
[09:15] | JS Uralia | (js.uralia): Speed is a function of the underlying bytecode interpreter. I'm not sure if people are affected by compile time, but I think LSL is better than C# in that respect, is it not? |
[09:15] | lets call | that a new topic for its own discussion another time. |
[09:15] | Johan Neddings | (johan.neddings): I agree on the LSL not being able to do some things |
[09:15] | Ivy this | topic is improve LSL or C#. |
[09:15] | Ivy Sunkiller | (ivy.sunkiller): alright! |
[09:15] | JS Uralia | (js.uralia): Keystrokes per task means a lot to intermediate and beginning scripters. |
[09:16] | Johan Neddings | (johan.neddings): Kelly, the best Q I can make up is: "Where's the developers on LSL" ? |
[09:16] | The one | who decided on "llSetLinkrimitiveParamsFast()" should be flocked! |
[09:16] | JS you | are incorrect. C# compiles to cleaner bytecode and gives better memory management options that give way better performance results. |
[09:16] | Johan Neddings | (johan.neddings): Because I hope there's more then 1 person working on it ? |
[09:16] | There are | currently no developers on LSL. |
[09:16] | Morgaine Dinova | (morgaine.dinova): Agree with Kelly, keystrokes is a very poor metric of anything in programming. Other than COBOL and APL at the two ends of the scale, most languages have roughly the same keystrokes/function range. |
[09:16] | Something Something | (something.something): how powerful is Blue Mars's Lua language? If impressive things can be done with it, then moving to something like C# becomes more of a priority |
[09:17] | Morgaine Dinova | (morgaine.dinova): Lua has nothing to do with Blue Mars |
[09:17] | Johan Neddings | (johan.neddings): Kelly, and how is that possible ? |
[09:17] | How is | what Johan? |
[09:17] | Something Something | (something.something): I mean, if the competition can do more impressive things, then SL has to keep up |
[09:17] | JS Uralia | (js.uralia): what makes bytecode cleaner? I understand the value of memory management options, but I'm sure you would have happier customers if those were brought to LSL. Both collect garbage |
[09:17] | Johan Neddings | (johan.neddings): Did the big "sweep" sweep people away from working on new LSL functions ? |
[09:18] | Something Something | (something.something): as I understand it, it uses Lua. I didn't mean to imply that they invented it |
[09:18] | We simply | can not bring those to LSL without rewriting LSL from the bottom up which is several orders of magnitude more work than finishing C@ |
[09:18] | ||
[09:18] | Morgaine Dinova | (morgaine.dinova): Lua is a very clean yet powerful scripting language. If Cory had known about Lua, I think there's a good likelihood he would have used it instead of inventing LSL |
[09:18] | Johan Neddings | (johan.neddings): So, it's choosing between 2 evils really ? |
[09:18] | JS Uralia | (js.uralia): Morgaine: I have worked in the software industry under conflicting constraints. My experience is that keystrokes per task is proportional to time to complete tasks is proportional to productivity |
[09:18] | Johan Neddings | (johan.neddings): Either get people to completly redesign LSL |
[09:18] | We have | a limited number of developers and are working hard to focus our efforts as a company - right now improving scripting in SL is not one of our focus points. But that is subject to change at any time. |
[09:18] | Johan Neddings | (johan.neddings): or get people to work on C# |
[09:18] | Ivy Sunkiller | (ivy.sunkiller): Lua would definitely satisfy my needs |
[09:18] | Haravikk Mistral | (haravikk.mistral): It can't be the only thing or we'd all use Haskell or similar |
[09:19] | Ivy Sunkiller | (ivy.sunkiller): World of Warcraft is using Lua for interface addons, so it has to do something right :) |
[09:19] | JS Uralia | (js.uralia): I don't think the discussion at http://wiki.secondlife.com/wiki/Talk:LSL_Useful_Function_WishList #backwards-compatible_ways_to_save_typing_or_be_more_like_C_or_Javascript supports the "several orders of magnitude more work" comment |
[09:19] | Lua as | it exists does not meet the concurrency requirements of our current scripting model. Please let us table the 'which language' discussion for now so we don't confuse the topic. |
[09:19] | Something Something | (something.something): How long would it take to get C# usable, assuming the project was staffed? What would be the timetable? |
[09:20] | Morgaine Dinova | (morgaine.dinova): Yep, Lua is the gave devs preferred language for client extension in games, by far. Blizzard's choice wasn't unexpected, it's a good match. |
[09:20] | 3mo to | public beta 6-9mo for release, Somthing. |
[09:20] | Morgaine Dinova | (morgaine.dinova): s/gave/game/ |
[09:20] | Morgaine Dinova | (morgaine.dinova): (devs) |
[09:20] | JS Uralia | (js.uralia): I remember Babbage saying "months" more than a year ago |
[09:20] | Something Something | (something.something): go for it then :) |
[09:20] | Wish I | were staffed for it. :) |
[09:21] | As I | said, it is not currently a focus. When that changes, then that is the timetable we are looking at. |
[09:21] | What you | just said is depressing... |
[09:21] | Johan Neddings | (johan.neddings): So, in other words |
[09:21] | ||
[09:21] | Johan Neddings | (johan.neddings): LSL development is on the shelf |
[09:21] | Johan Neddings | (johan.neddings): and either way, the shelf might get dusty |
[09:21] | JS Uralia | (js.uralia): Without actual usability testing, I'm really concerned about the "object" nomenclature namespace conflicts... how are the C#-enabled grids seeing beginning scripters language choice panning out? |
[09:21] | As well | as C# |
[09:21] | Morgaine Dinova | (morgaine.dinova): While language discussions are fun, this isn't really helpful given that there is neither time to work on another language nor to extend LSL. |
[09:21] | Johan Neddings | (johan.neddings): or it will break down and we'll buld a new shelf which holds C# |
[09:21] | Something Something | (something.something): sophisticated in-world objects, like say smarter and more efficient virtual pets, would be a factor in user retention. I think you could make a strong business case for more sophisticated scripting. |
[09:22] | Something Something | (something.something): LSL has too many backwards-compatibility issues |
[09:22] | it is | on the table for discussion and in the list of potential projects. Right now it isn't a focus though. |
[09:22] | JS Uralia | (js.uralia): Morgaine: intermediate LSL scripters who have to type llList2Whatever() instead of [] might disagree |
[09:22] | Ivy Sunkiller | (ivy.sunkiller): Something: JavaScript allows for both sophisticated scripting and is newbie friendly, so it's not really one way or the other, we can have both |
[09:22] | Liisa Runo | (liisa.runo): ..many of us live and breath SL scripting. Unfair to keep our lifes shelved. |
[09:22] | Gazanfer Jehangir | (gazanfer.jehangir): LUA is better at client side |
[09:23] | Gazanfer Jehangir | (gazanfer.jehangir): how about improving lsl and C#, what was meant to be actually |
[09:23] | There is | a large variety of people using SL for a large variety of reasons. I assure you I am doing everything I can to get scripting to be a focus - it has been a passion of mine for the last 8 years nearly. |
[09:24] | Gazanfer Jehangir | (gazanfer.jehangir): javascript already works thriugh the browser so yes java can be embedded easily |
[09:24] | having focuses | that we work on is a good thing, even if what I want to be a focus isn't always a focus. |
[09:24] | Ivy Sunkiller | (ivy.sunkiller): javascript != java |
[09:24] | JS Uralia | (js.uralia): well, I've hope I've covered the salient motivations. I understand that you are going on vacation soon, Kelly, and I hope you'll give it some thought in a less pressured environment and perhaps come back energized and refreshed. Is there any way the open source community can suggest patches for the LSL parser? |
[09:24] | Gazanfer Jehangir | (gazanfer.jehangir): *javascript |
[09:24] | Ivy Sunkiller | (ivy.sunkiller): :) |
[09:24] | Morgaine Dinova | (morgaine.dinova): JS: we all know LSL is unusable for advanced programming, nobody doubts that. There's no point discussing it though if LL is unable to proceed on either the LSL nor C# fronts at this time. |
[09:24] | it is | far better than the 5 projects per dev ratio we have sometimes had in the past where things just progressed soooooo slowly. |
[09:25] | now we | focus on things, get them done then focus on something else and get it done. |
[09:25] | Gazanfer Jehangir | (gazanfer.jehangir): cant the mono/c# project be revived |
[09:25] | JS Uralia | (js.uralia): Morgaine: what makes one Turing equivalent language usable for "advanced" programming and another not? For me, it's keystrokes per task. |
[09:25] | ||
[09:25] | it is | on the global company backlog as a potential project and is a potential for revival. |
[09:25] | Gazanfer Jehangir | (gazanfer.jehangir): "advanced" prpgaramming includes every scope. is it needed |
[09:26] | Ivy Sunkiller | (ivy.sunkiller): JS: not only, not having a sctrict typed language also helps with new users who might not be aware of what is the difference between float double and int |
[09:26] | JS Uralia | (js.uralia): Why not do usability testing for C# instead of assuming that beginners and intermediate scripters will grok the object nomenclature conflicts? |
[09:26] | Gazanfer Jehangir | (gazanfer.jehangir): and javascript is currently restricted through ,oap. Full implementation would surely help |
[09:26] | it is | functionality. We have a limited memory space which means something that are too difficult or memory inefficient are just not possible at all in LSL. |
[09:26] | keystrokes per | task is meaningless. |
[09:27] | But shorter | keywords help scripting faster |
[09:27] | That every | list operation copies the list makes some things impossible. Yet that is fundamental to how LSL works and not something we can change in LSL |
[09:27] | Morgaine Dinova | (morgaine.dinova): JS: You're mostly wrong. By your metric, every language should aim towards having the briefest possible syntax, with no readable keywords for example. Keystrokes is a pretty poor metric. You could make Fortran and LISP have the same number of keystrokes per function, and LISP would be orders of magnitude more powerful. |
[09:27] | That you | can't have a container class or struct beyond a generic list makes things that should be simple incredibly difficult |
[09:27] | JS Uralia | (js.uralia): Ivy: you are saying strong typing helps? I've seen actual measurements of how often uncasted type mismatches occur in Perl, and it is very rare. I believe you are mistaken if you are saying all those extra declarations are worth even a tiny fraction of the time it takes to type them |
[09:28] | Ivy Sunkiller | (ivy.sunkiller): JS: contrary, loose typing helps |
[09:28] | Haravikk Mistral | (haravikk.mistral): With class libraries and mature programming environments keystrokes are pretty meaningless since you can auto-complete or create re-usable classes. That's why LSL Plus is one of the few ways to develop seriously in LSL as it has modules |
[09:28] | Gazanfer Jehangir | (gazanfer.jehangir): Kelly is nt it time to incrase available memory blocks now in wake of developments like mesh |
[09:28] | JS Uralia | (js.uralia): I agree; I'd rather have weak typing but neither LSL or C# does.... |
[09:28] | ||
[09:29] | JS Uralia | (js.uralia): Haravikk: do you have a URL for LSL Plus? |
[09:29] | We must | table this topic for now. |
[09:29] | Haravikk Mistral | (haravikk.mistral): lslplus.sourceforge.net |
[09:29] | Haravikk Mistral | (haravikk.mistral): It's a bit stagnant too now unfortunately, but still very useful |
[09:29] | Gazanfer Jehangir | (gazanfer.jehangir): C is good only for programmers who very well know what they do, it crosses HAL |
[09:29] | It has | been half of my OH and I have said what I have to say on the subject. |
[09:29] | We can | bring it up again later. |
[09:29] | Something Something | (something.something): I would strongly support C#. Good luck. |
[09:30] | JS Uralia | (js.uralia): Morgaine: and by your metric why doesn't Javascript have the declaration requirements of C#? |
[09:30] | this topic | is done for now, please. |
[09:30] | JS Uralia | (js.uralia): ok |
[09:30] | Gazanfer Jehangir | (gazanfer.jehangir): well i hope we see the mono/C# project revived soon as well as a fuller implementation of Javascript in MoaP so we wont need tricks like tunneling |
[09:30] | Morgaine Dinova | (morgaine.dinova): JS: I wasn't talking about explicit typing, but answered your previous line about keystrokes metric. |
[09:30] | Next topic | is rotation library improvements. |
[09:30] | Harry Gleeson | (harry.gleeson): <.> |
[09:31] | Honestly I | think andrew's office hours are better for that, but |
[09:31] | I think | he sent you to me |
[09:31] | Lestat Demain | (lestat.demain): objects or avs? |
[09:31] | JS Uralia | (js.uralia): yes |
[09:31] | Moon Metty | (moon.metty): why don't you join Andrew and Simon's hour to combine forces? |
[09:31] | lets get | those in as specific Jira's if they aren't already and on the jira triage. |
[09:32] | this is | my last office hour for the next 3 months) |
[09:32] | Liisa Runo | (liisa.runo): ! |
[09:32] | Moon Metty | (moon.metty): ahhh, you're becoming a father again, yes |
[09:32] | Liisa Runo | (liisa.runo): why? |
[09:32] | JS Uralia | (js.uralia): I'd like to see the inner loop compound operations in single function calls, SLERP is a good example, but any of the different ways to for example maintain a prim pointed on a path in 3D is an even better example |
[09:32] | Having a | kid born on Wednesday |
[09:32] | Haravikk Mistral | (haravikk.mistral): Void Singer's been working on some new rotation code snippets for LSL, to hopefully spruce up the rotations page to be a bit more useful, as I've always hoped for it to be more of a "cheat sheet" than it is right now |
[09:32] | JS Uralia | (js.uralia): I agree they need to be in JIRA |
[09:32] | Morgaine Dinova | (morgaine.dinova): Congratulations / commiserations, Kelly :-) |
[09:32] | ||
[09:33] | Liisa Runo | (liisa.runo): Grats for the kid :) we will miss you |
[09:33] | Haravikk Mistral | (haravikk.mistral): Hehe, congrats Kelly! Will anyone be covering scripting general topics in your place? |
[09:33] | Morgaine Dinova | (morgaine.dinova): "Oh sleep, thou shalt so be missed" |
[09:33] | ll float | the idea, but unless the project is revived in my absense I doubt it. |
[09:33] | JS Uralia | (js.uralia): also reviewing the transcript, sorry, I don't know if it's chatlag or what, but did anyone see my question about how the open source community might be able to help with LSL parser improvments? Is that a possibility? (please forgive, but I honestly don't see that ? in my log) |
[09:34] | Ok that | segues nicely into Haravikk's topic though I think it has already been answered. |
[09:34] | Haravikk Mistral | (haravikk.mistral): You've kind of already addressed my question earlier with the no staffing problem, so I guess I'm interested in "what if you had the staffing", want to make sure there is a procedure for minor issues rather than them being left for later all the time |
[09:34] | JS Uralia | (js.uralia): yes, congratulations on the birth of your child!! |
[09:34] | t a | possibility, sorry. The majority of it is in the server side and not open.. |
[09:34] | JS Uralia | (js.uralia): ok |
[09:35] | JS Uralia | (js.uralia): Haravikk: I am so glad those snippets are being worked on! I hope that the inner loops of some of the multimove vehicles can be measured and the compound operations replaced with fewer llQuatOperation() function calls |
[09:35] | unfortunately we | have so many major and higher issues that it remains rare for anything less to get addressed. Even the smallest issue takes at least a week of work time minimum given design, testing and deployment. |
[09:35] | Haravikk Mistral | (haravikk.mistral): I mean, some minor issues are years old, and not too hard to implement but of potentially quite large benefit |
[09:35] | and that | is the most trivial change possible. |
[09:36] | So they | add up extremely quickly |
[09:36] | JS Uralia | (js.uralia): one of the reasons I've been asking for double precision as a non-default float alternative is that some of my multimove vehicles fall apart when trying to fly in formation along arbitrary 3D paths |
[09:36] | JS Uralia | (js.uralia): I've isolated the problem to round off errors |
[09:36] | Johan Neddings | (johan.neddings): I was under the impression that now that the server releases are going steadier then before, the development on things like that would be in a higher gear |
[09:36] | Johan Neddings | (johan.neddings): but it seems just the other way around as I hear you now Kelly |
[09:36] | Haravikk Mistral | (haravikk.mistral): Still, someone should work on them IMO, as they're only going to continue to mount up |
[09:37] | Basically they | get grabbed occasionally and packaged with other issues. But it is rare and there isn't a formal process for it. |
[09:37] | Haravikk Mistral | (haravikk.mistral): Even if each scripting linden (if we had any) just had a few hours a week to pick up minor things until they're reading to queue for deployment, some really important little features could actually see some movement |
[09:37] | Haravikk Mistral | (haravikk.mistral): *reading = ready |
[09:37] | ambroff and | myself all do pretty much exactly that. |
[09:38] | give or | take our availability of a few hours in the week |
[09:38] | Johan Neddings | (johan.neddings): You would almost ask LL for the 20% deal that Google has |
[09:38] | Morgaine Dinova | (morgaine.dinova): What is the current focus of work in the scripting team anyway? |
[09:38] | Johan Neddings | (johan.neddings): in the 20% the Google devs make things that make Google a better place :P |
[09:38] | Morgaine Dinova | (morgaine.dinova): Johan: yep, it's the birth place for ideas |
[09:39] | JS Uralia | (js.uralia): There is a NASA interplanetary space ship in Space Frontier up around 100 meters on the North which is a great example of a multimove vehicle which would need at least eight seperate components. They can chat at each other to stay in formation, but the artificial gravity segment needs to rotate as well (it can't use targetOmega because it has chairs) and it's a great project for anyone working on quaternion operation snippets |
[09:39] | Gazanfer Jehangir | (gazanfer.jehangir): wish C# would arrive along with mesh and the castray |
[09:39] | Gazanfer Jehangir | (gazanfer.jehangir): that would pace things a bit |
[09:39] | Johan Neddings | (johan.neddings): Morgaine, and what more. They created the funniest things there |
[09:39] | Johan Neddings | (johan.neddings): just because they're not bound inside the box |
[09:39] | Morgaine Dinova | (morgaine.dinova) nods |
[09:39] | since there | is no scripting focus there is no scripting team. The people that would be the scripting team are focused on sim stability, region crossing performance and interest list performance (which is sim performance as more people are in |
[09:39] | ||
[09:39] | Morgaine Dinova | (morgaine.dinova): Oh! |
[09:40] | Haravikk Mistral | (haravikk.mistral): Hmm, well Kelly it might be nice if things could get assigned a queue position or something and features assigned these, just so that people can actually see as things are added into the queue of work to be done, and how close to the top they may be. |
[09:40] | Morgaine Dinova | (morgaine.dinova) does an about-take |
[09:40] | Gazanfer Jehangir | (gazanfer.jehangir): ... |
[09:40] | Johan Neddings | (johan.neddings): and i think it's time for LL developers / workers to be handed that same 20% rule in their working week |
[09:40] | Haravikk Mistral | (haravikk.mistral): Sort of like how Snowstorm issues are sorted? |
[09:40] | Morgaine Dinova | (morgaine.dinova): I didn't realize that Babbage's team had been effectively disbanded and the members redistributed. |
[09:40] | Haravikk I | agree and it is kind of where I am hopeing to end up with the script triages I have been doing. |
[09:40] | s team | that is left at linden you are talking to. |
[09:40] | ||
[09:41] | would be | a new team of other simulator developers. |
[09:41] | JS Uralia | (js.uralia): Haravikk: is there a snippets project wiki page you're collaborating on? |
[09:41] | Liisa Runo | (liisa.runo): .. would be the most sexy team in LL |
[09:41] | Haravikk Mistral | (haravikk.mistral): Okay cool, that makes me happier, is just a bit unfortunate that your triage is essentially all we have (not that I don't appreciate it a great deal, I do!) |
[09:41] | well even | that is new, so hopefully I can develop it into something better after I get back. |
[09:42] | Morgaine Dinova | (morgaine.dinova): Esbee was going to provide a list of teams so that we aren't guessing at the team structure, but it hasn't happened yet. |
[09:42] | Johan Neddings | (johan.neddings): But Kelly, i hope you will have a good 3 months of leave |
[09:42] | I dunno | that the internal teams are part of that. I'm not really involved in that side of things. |
[09:42] | JS Uralia | (js.uralia): Kelly, do you have script bytecode profilers to get statistics on the quaternion operator utilization inside running scripts inner loops? |
[09:42] | Johan Neddings | (johan.neddings): and hope to see you back, all fresh and drifworthy for LL |
[09:43] | JS we | have some basics. |
[09:43] | Morgaine Dinova | (morgaine.dinova): Still 1/4 hour to go of the OH, right? (Or are these farewells?) |
[09:43] | Johan Neddings | (johan.neddings): Morgaine, sadly for me it's a farewell |
[09:43] | JS Uralia | (js.uralia): please move on. I don't want to monopolize; I'll get with Haravikk later |
[09:44] | Johan Neddings | (johan.neddings): My customers are all waiting at the store to be served |
[09:44] | 4 hour | to go, but I can probably stay late today. I've got my important stuff wrapped up since I wasn't sure I'd be in today. |
[09:44] | Morgaine Dinova | (morgaine.dinova): KK Johan, take care :-0 |
[09:44] | Johan Neddings | (johan.neddings): Have a good day all |
[09:44] | Ivy Sunkiller | (ivy.sunkiller): see you Johan |
[09:44] | Moon Metty | (moon.metty): bye Johan :) |
[09:44] | Johan Neddings | (johan.neddings): and Kelly, twitter when you know what you got |
[09:44] | Johan Neddings | (johan.neddings) waves to all :) |
[09:44] | bye johan | thanks for coming |
[09:45] | Moon Metty | (moon.metty): Kelly, i noticed https://jira.secondlife.com/browse/SVC-3679 is assigned to you |
[09:45] | So I | think that wraps up the topics page - anyone have any last minute topics to bring up? |
[09:45] | Gazanfer Jehangir | (gazanfer.jehangir): di we sort the rotation and sort issues already? |
[09:45] | Morgaine Dinova | (morgaine.dinova): I don't do the twitter thing, but yeah, please let people know how things are going over the 3 months, Kelly. (Unless you want home life to be strictly private of course :P) |
[09:45] | m gonna | pass that off for my leave. |
[09:45] | Rotations are | unfixable... |
[09:45] | Moon Metty | (moon.metty): does that mean a rework of the scheduler? |
[09:46] | it is | a rework of the scheduler that has been complete for over a year now. |
[09:46] | Gazanfer Jehangir | (gazanfer.jehangir): now thats a quick solution kaluura |
[09:46] | Moon Metty | (moon.metty): that particular jira is about a bug that was removed a long time ago .... |
[09:46] | problem is | it may break some (very small number) of scripts |
[09:46] | Lestat Demain | (lestat.demain): are we going to covert to boost 1.44 soon? |
[09:46] | so we | have been holding off because the move to 64bit simulators (which we thought was coming up ....) will also break (again a very small number) of scripts. |
[09:46] | so we | were hoping to combine the two events |
[09:46] | Moon Metty | (moon.metty): i know lol |
[09:47] | Moon Metty | (moon.metty): but i think it's best to start a new jira on that subject |
[09:47] | Moon Metty | (moon.metty): more similar to https://jira.secondlife.com/browse/SVC-3997 |
[09:47] | Moon Metty | (moon.metty): which should be closed too, btwe |
[09:47] | Lestat Demain | (lestat.demain): omg i assumed u were running 64 bit sims years ago cuz its amd |
[09:48] | we compile | to 32bit and run on 64bit etch hosts. |
[09:48] | Moon Metty | (moon.metty): 64 bit servers were fast :p |
[09:48] | Moon Metty | (moon.metty): scripts ran 50% faster on 64 bit |
[09:48] | and used | twice the memory in some cases |
[09:48] | ||
[09:49] | ||
[09:49] | Moon Metty | (moon.metty): that too lol |
[09:49] | Liisa Runo | (liisa.runo): memory is cheap :P |
[09:49] | we are | not adding more memory to existing hosts though. so, it isn't for existing sims. |
[09:49] | Liisa Runo | (liisa.runo): you will, one day |
[09:50] | Haravikk Mistral | (haravikk.mistral): Older class sims usually just get phased out don't they? |
[09:50] | not to | existing sim hosts, but new hosts have more memory and existing ones will be phased out eventually |
[09:50] | Liisa Runo | (liisa.runo): way or another, we will get more lovely mem |
[09:50] | more yummy | memory. |
[09:50] | to gobble | up |
[09:50] | Moon Metty | (moon.metty): so all i wanted to say is that that jira is better off closed .... |
[09:51] | Haravikk Mistral | (haravikk.mistral): Hmm, I suppose that means 64-bit could be pushed back till the worst sim class can support an increase? |
[09:51] | ||
[09:51] | Moon Metty | (moon.metty): since the bug doesn't exist anymore |
[09:51] | Morgaine Dinova | (morgaine.dinova): There's no limitation to how much memory can be used on a 32-bit host (using PAE), only in how much can be used *per process*. All PC hardware is 64-bit capable in the kernel these days. |
[09:51] | Moon Metty | (moon.metty): and there's a lot of confusion |
[09:51] | Gazanfer Jehangir | (gazanfer.jehangir): and when do we see that happening |
[09:52] | Second Life: | (haravikk.mistral) is now known as Haravikk. |
[09:52] | not for | a couple years at least. |
[09:53] | Morgaine Dinova | (morgaine.dinova): Is the LSL interpreter and the Mono scheduler in the same process as the rest of the sim? |
[09:53] | ||
[09:53] | Gazanfer Jehangir | (gazanfer.jehangir): i am just waiting for mo since 2 years |
[09:53] | Morgaine Dinova | (morgaine.dinova): Ouch |
[09:53] | Gazanfer Jehangir | (gazanfer.jehangir): mono |
[09:54] | Gazanfer Jehangir | (gazanfer.jehangir): and i think my kids will love to play with the mesh av i am making now in beta sims. |
[09:54] | JS Uralia | (js.uralia): LSL is compiled to bytecode, which is interpreted, by the way |
[09:54] | Gazanfer Jehangir | (gazanfer.jehangir): haha |
[09:55] | compilation to | bytecode happens outside the sim, running the bytecode happens in the sim. |
[09:55] | JS Uralia | (js.uralia): (sorry to be pedantic, but if the bytecode isn't clean, which was mentioned earlier, that's a compiler problem, not an inherent language problem, just to be clear) |
[09:55] | Lestat Demain | (lestat.demain): lol i ran the mesh client and it wouldnt even let me login...you cannot access the grid from this computer |
[09:55] | Morgaine Dinova | (morgaine.dinova): Is there any project to refactor the sim process into multiple processes at all? |
[09:55] | Not right | now. |
[09:56] | Morgaine Dinova | (morgaine.dinova): Kelly: it would be your baby to be involved in that refactoring, when it happens, right? |
[09:56] | Morgaine Dinova | (morgaine.dinova): LOL, unintended use of "baby" there :P |
[09:56] | ||
[09:56] | Moon Metty | (moon.metty): hehe |
[09:57] | I was | trying to guess whether you meant I would lead that project or that my offspring would |
[09:57] | Ivy Sunkiller | (ivy.sunkiller): you might just predict the timeframe right there |
[09:57] | Ivy Sunkiller | (ivy.sunkiller): <_< |
[09:57] | Morgaine Dinova | (morgaine.dinova): lol |
[09:57] | ||
[09:57] | JS Uralia | (js.uralia): well, it's already threaded, right? That's better than multiple processes because of the lighter context switch overhead; the trade-off is that threads are harder to debug and more dangerous |
[09:57] | I would | probably be involved in that project, though I doubt it would solve that many problems directly. |
[09:58] | Morgaine Dinova | (morgaine.dinova): Nah, I'm just assuming it's your main subject area, so you'd be involved. |
[09:58] | Morgaine Dinova | (morgaine.dinova): kk |
[09:58] | Gazanfer Jehangir | (gazanfer.jehangir): stuck at mone for 2 years and mesh for 10 months sharding would be for my grandkids for sure.GoogleSl ir whatever oy be called |
[09:58] | JS Uralia | (js.uralia): I'm sure the server is threaded because of the way sim stats are reported |
[09:58] | the server | has a couple of threads but is largely not threaded. |
[09:59] | JS Uralia | (js.uralia): interesting. Putting all the scripts in a limitable thread might solve resource problems |
[09:59] | JS Uralia | (js.uralia): some of them anyway. A subset. Maybe a big one |
[09:59] | the cases | where scripts screw sim performance are when scripts ask the sim to do something expensive (like rez an object) and that won't be fixed with just threading. |
[09:59] | JS Uralia | (js.uralia): I often see laggy sims with stats reporting script ops taking the vast plurality (majority?) of microseconds |
[09:59] | loading of | scripts on region crossing ever get multi-threaded or is that another hopefully later project? |
[10:00] | JS Uralia | (js.uralia): ah, sure |
[10:00] | scripts that | don't ask the sim to do "bad" things pretty much can not effect sim performance. |
[10:00] | JS Uralia | (js.uralia): Are llListen()s still fairly expensive? |
[10:00] | Lots of | chat can be. |
[10:00] | JS Uralia | (js.uralia): good |
[10:01] | Only if | they're on a busy channel really? So PUBLIC_CHANNEL is bad =) |
[10:01] | JS Uralia | (js.uralia): I'd like to have a bunch of objects with 10-15 listens each for some multimove things I've been thinking about |
[10:01] | Lestat Demain | (lestat.demain): really? i suggest putting a stats meter on each side of a sim line and watch the spikes kelly |
[10:02] | Morgaine Dinova | (morgaine.dinova): Kelly: Somewhat general question, but ties in directly to what you've just said. What is the company policy (or yours, in the absence of a company one) on how to harness the extra cores that will appear on future CPUs? If you continue down the "1 core per sim" route, your scalability options are almost nil, so I'm hoping there's some different kind of concept floating around. |
[10:02] | and that | wouldn't show anything, except that some scripts in one of the regions or the other are doing "bad" things. |
[10:02] | Lestat Demain | (lestat.demain): because anything crossing makes huge spikes scripted or not |
[10:02] | that is | crossing, not scripts running Lestat. |
[10:03] | Working on | fixing that, there is even a mono2-aware region on aditi right now. |
[10:03] | Gazanfer Jehangir | (gazanfer.jehangir): supposedly sim crossing lag has been helped somewhat |
[10:03] | Lestat I | think scripts are serialised, sent, then deserialised and verified back into a running script, which isn't too pretty at the moment? |
[10:03] | re not | really running during the actual crossing |
[10:03] | in general | it is 1 per core, but possibly with leaving a spare core or so for 'extra' stuff. Unless we start some major refactoring work which is when we would re-evaluate that. |
[10:03] | Gazanfer Jehangir | (gazanfer.jehangir): can we see a mesh aware region on aditi? |
[10:04] | JS Uralia | (js.uralia): if one of the avis in a sim has a bad internet connection, that can slow down object updates... some of them have to be acked -- that's a source of lag that most people aren't aware of. I think that makes group chat bad too, sometimes |
[10:04] | Gazanfer Jehangir | (gazanfer.jehangir): i mean agni |
[10:04] | ve seen | that too, I'll make sure the interest list team is aware of that case as well. |
[10:04] | Gazanfer Jehangir | (gazanfer.jehangir): yes JS naby people produce the they complain of |
[10:05] | Gazanfer Jehangir | (gazanfer.jehangir): *lag |
[10:05] | Morgaine Dinova | (morgaine.dinova): Kelly: Someone had better work on that, or ultimately, SL is dead from non-scalability versus the competition that emerges. It's that bad. |
[10:06] | JS Uralia | (js.uralia): I wonder why/if object updates can't be all UDP-style unacked/streaming. I guess the physics engine wants to make sure clients know about some of the physical things |
[10:06] | JS Uralia | (js.uralia): not sure at all, way out of my certainty level here |
[10:06] | most dynamic | updates should be unacked udp |
[10:06] | Gazanfer Jehangir | (gazanfer.jehangir): also by the slow pace new tech is being adopted ut ll be half obsolete when implemented. i mean what could hold mesh or castray back |
[10:07] | m not | too fussed about cast ray being held back, I don't really like the function as proposed at the moment |
[10:07] | Morgaine Dinova | (morgaine.dinova): UnACKed UDP should not be used for dynamic ipdates. It should be used only for OPTIONAL updates. There's a difference, and ignoring the difference means bugs. Big ones, things not happening when they should. |
[10:07] | Gazanfer Jehangir | (gazanfer.jehangir): ok i ll settle for mesh |
[10:07] | Gazanfer Jehangir | (gazanfer.jehangir): :) |
[10:08] | Dynamic objects | tend to send very frequent updates. |
[10:08] | Gazanfer Jehangir | (gazanfer.jehangir): combat sims have major lag from prjectiles. and castyay is the wanswer how ever mesh could change things for everyone |
[10:08] | Mesh could | be pretty sweet, though I only just started making sculpties properly when it was announced, bah! |
[10:09] | Morgaine Dinova | (morgaine.dinova): If an object makes a single step transition in its position, that's not an optional update. Send it over unACKed UDP and you have a bug on packet loss. |
[10:09] | Liisa Runo | (liisa.runo): Will take LONG time before mesh will be usefull for anything, cause LL refuse to release mesh supporting client with proper UI |
[10:10] | The focus | is on making sure the meshes themselves work properly I think, the UI is only basic right now |
[10:10] | I think | the UI is gonna get some serious overhauling at some point |
[10:10] | Lestat Demain | (lestat.demain): lol sl client with a blender builder window? |
[10:10] | Melchizedek Blauvelt | (melchizedek.blauvelt): Cutest thing ever: a 7 yo boy made a tutorial explaining how to make a spaceship in Maya http://www.youtube.com/watch?v=dAHffOISTNw |
[10:11] | Morgaine Dinova | (morgaine.dinova): Liisa: TPVs are almost all migrating to a V2 codebase with a usable UI, so that'll all change in a few months. |
[10:11] | Liisa Runo | (liisa.runo): And CastRay is neat but not at all sure if it will be used with combat stuff much. it is too limited. Big lag in combat sims is usually created by insanely made weapon systems that have 900scripts and think that rezzing 200 phys cube followers somehow do better job than 1 |
[10:12] | Liisa Runo | (liisa.runo): and not everybody trust TPV's, for a very good reasons |
[10:12] | Gazanfer Jehangir | (gazanfer.jehangir): mesh is doing all it can for me right now |
[10:12] | Morgaine Dinova | (morgaine.dinova): OMG Mel, that kid has one hell of a future |
[10:13] | Gazanfer Jehangir | (gazanfer.jehangir): except advanced kinematics |
[10:13] | Cast ray | for combat is a bit limited in general, as it allows arbitrary origin points, and doesn't lend itself well to verification as it's basically 100% trust that it actually validly "hit" you, though I think Falcon is considering adding an event |
[10:13] | m gonna | get back to work for my last day in the office. Thanks everyone for coming out, time to see how the wiki-parser chokes on a display names chatlog. |
[10:13] | Gazanfer Jehangir | (gazanfer.jehangir): more than what scupts can do |
[10:13] | Moon Metty | (moon.metty): Kelly, i wish you the best of luck with your family |
[10:14] | good luck | Kelly, with that and the months to come! |
[10:14] | Ivy Sunkiller | (ivy.sunkiller): thanks Kelly, and all the best! |
[10:14] | ||
[10:14] | Moon Metty | (moon.metty): i'm sure everything will go fine :) |
[10:14] | Melchizedek Blauvelt | (melchizedek.blauvelt): that kid is badass Morg, skip to the end to see the thing he made :) |
[10:14] | Gazanfer Jehangir | (gazanfer.jehangir): see you kelly |
[10:14] | Morgaine Dinova | (morgaine.dinova): Thanks Kelly, and have a great time in your 3 months off :-) |
[10:14] | Gazanfer Jehangir | (gazanfer.jehangir): thanks a lot |
Generated with SLog Wikifier