Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

I finally got tired of it all...

Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
09-28-2004 00:36
I went and wrote Philip, Cory, Andrew, Robin, Don, and... hrm... am I forgetting anyone? *ponders* Don't think so.

So yeah, I just fired off five emails to them.

What'd I say? Here's the text:

From: someone
Ok.

From what I recall, the last two LSL changes since 1.5's release were later reversed in the patch that immediately followed them. Why? Mostly because the coders who use LSL complained about a lack of warning, about breaking scripts, and unforseen side effects of such changes.

[insert personalized paragraph here of why I'm writing to them in specific]

I'm also writing several other people in LL about this same topic.

LSL is not like most other things in SL. One change to LSL can have wide reaching consequences across the entire world, and effect every user you have. Making a change to LSL would be similar to, say, changing every sphere in the game into a dodecahedron. You CAN do it, and it might even be something that NEEDS to be done for some reason, but it changes large portions of the world of SL in ways that it's users have to deal with, both in having something that's "always" worked suddenly not any more, and in those users having to fix what was working "fine" in the first place.

In addition to it affecting your user base, the last two LSL changes have resulted in what is, in essence, money flushed down the toilet for LL. You see, I'm not sure if you know this or not, but coders cost money AND they can't do everything at once. Every second they spend working on project A is time they're not spending on project B. So when they recode LSL and impliment changes into it, that's time they could have been spending on something else. Now, I'm not saying that changes to LSL aren't appreciated. Bug fixes and the like are alright, but when you have a horde of torch wielding users carrying the broken remains of their scripts as rusty knives to cut off your fingers with and have to have to spend MORE (though I'm sure not much more) time reversing the changes, you've essentially wasted time and effort.

So what's my point? Any and all changes should follow a strict procedure. First, the change should be announced and the old way of doing things should be depreciated. Not -removed-. Depreciated. You've done it before. It should still work fine, but coders should have ample warning about it being changed in the future.

Second, the change should be introduced in a TEMPORARY function. This should occur at the same time as the annoucement. I honestly don't care if you call them ttParseString2List, or llTempFunction1. (This idea just came to me as I was writing this email, so I haven't thought it out yet and it may be flawed.) This will give coders time to test out patches and such, and make sure the new function works. Sort of like a beta test period. This will also allow coders to make suggestions so that other tweaks might be done to help make the function even more friendly.

Third, after a SIGNIFICANT amount of time (say, at LEAST two weeks, if not a month, since you never know who's taking a break from SL), the change is implimented, replacing the old function with the new one. No one has to learn a new function name every time a change is made to LSL this way. The new ttParseString2List replaces llParseString2List. Or whatever the function is. If the ttParseString2List temporary functions (or whatever they're called) can actually be changed to the real function name within the database and script itself, so that when you open it up to edit it, what was once the name of the temporary function is now the name of the real function, all the better. It'll allow coders to release patches using the temporary function and have them transition smoothly over to the new code once the permanent one is done, and it'll allow the name of the temporary function to be reused in the future if future changes are needed. The temporary function should cease to function entirely. If someone types in the temporary function's name after the real change has been made, it shouldn't be recognized as a valid function. However, if the temporary function can't be replaced with the real one, coders should be warned of this fact, so they can have patches READY using the real function name, but not released until the change is official.

I don't see this creating much more work for LL than the present way of doing things, and LSL changes will actually STICK with this method. All coders ask for is warnings, and time to get ready for the changes. That's all. We're not asking for you to put changes up to a vote, just a decent heads-up.

All that said... Can something PLEASE be done about that damn edit camera? For a good year+ now people have been asking for the camera to NOT be moved by Edit mode. It can't be THAT hard to comment out the camera-change lines of code, or put it in as an option. Please?

--Moleculor Satyr


Emails are already away, but go ahead and tell me what you think anywho. I know you want to.
_____________________
</sarcasm>
Padraig Stygian
The thin mick
Join date: 15 Aug 2004
Posts: 111
09-28-2004 01:24
::gives a swift kick to the edit camera:: Yes, thank you.

I definitely agree that when replacement functions are made, the old function should be deprecated, iinstead of immediately removed. However, I'm not sure about this "temporary function" naming thing... It looks like it will make things more difficult, but I may also be tired and reading that wrong.

Just my $.02.
_____________________
(You): Aww! My pants won't rez! Does this texture look okay on me?

Incidental Radio :: Because nothing is by design
Now featuring Torley-tastic technomusic!
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
09-28-2004 02:17
You people are all over-reacting... Sure, the change broke a few things for me, but I'm used to it :D
My security system started to reproducibly crash the simulator in 1.5. I reported it to Kelly. Maybe I should have used the bug report thingy. I dont know if this has been fixed but I couldn't care less either.
I just shrugged off this new semantic as yet another bug, confident that it would be fixed soon.
I do agree that it is a bit irresponsible to go around changing semantics like that. But hey, "it's just a game" ;)
Hiro Pendragon
bye bye f0rums!
Join date: 22 Jan 2004
Posts: 5,905
Re: I finally got tired of it all...
09-28-2004 03:09
From: someone
Originally posted by Moleculor Satyr
I went and wrote Philip, Cory, Andrew, Robin, Don, and... hrm... am I forgetting anyone? *ponders* Don't think so.

*coughs*
How about Dan and Kelly? They're the bug-testers, and are the ones most directly swamped with IMs and e-mails after each patch.
_____________________
Hiro Pendragon
------------------
http://www.involve3d.com - Involve - Metaverse / Emerging Media Studio

Visit my SL blog: http://secondtense.blogspot.com
Malachi Petunia
Gentle Miscreant
Join date: 21 Sep 2003
Posts: 3,414
09-28-2004 04:13
Join the club. I stopped trying to script LSL around 1.3 for exactly the same reason. As Eggy said, it's just a game.... and scripters are the ball :)
Adren Sojourner
Junior Member
Join date: 24 Aug 2004
Posts: 9
09-28-2004 08:13
The only problem I have with LSL (only having been here a month and 1 release) is that it seems to be made with little standards, and to be growing in various directions, with no actual direction behind the scenes.

I look at releases like the Java SDKs, .NET, and the C standards, and can see intelligent direction and standards. Thats the only thing I'd love to have added to LSL.
Samhain Broom
Registered User
Join date: 1 Aug 2004
Posts: 298
09-28-2004 08:35
I was quite surprised to see a change the the list parsing function. There were no complaints *I* had heard about it, granted it was flawed, but it was a known flaw, and documented so that it could be dealt with.

It seemed like without a real need to "fix" it, LL changed it and then said, as if it were a good thing that they had done it.

People complained, and even so, went and made patches to corrrect their "fix". Just when the dust was settling, they change it back. There was an easier solution. That being the addition of an optional flag in that function which would permit you to use the function to remove the nulls "IF YOU WANTED".

Oi!

And as if it needed a seconding... I want to get on the edit bandwagon. Some of us live in small places and when invoking the edit, sometimes it throws my camera out the window, and I have to repeatedly reposition my character till I can get in the edit range of the item. Not fun!
_____________________
rm -rf /bin/ladden #beware of geeks bearing grifts
Strife Onizuka
Moonchild
Join date: 3 Mar 2004
Posts: 5,887
09-28-2004 09:32
From: someone
Originally posted by Samhain Broom
People complained, and even so, went and made patches to corrrect their "fix". Just when the dust was settling, they change it back. There was an easier solution. That being the addition of an optional flag in that function which would permit you to use the function to remove the nulls "IF YOU WANTED".

Oi!

And as if it needed a seconding... I want to get on the edit bandwagon. Some of us live in small places and when invoking the edit, sometimes it throws my camera out the window, and I have to repeatedly reposition my character till I can get in the edit range of the item. Not fun!


I totally agree.

To the issue of standards, SL is growing and nobody is sure which direction it will go; so standards would not help it's growth but only inhibit it by chaining it down to something dreamed up months before. Also I don't think LL wants to invest in a standards board. (50 people working on a language for a single platform doesn't exactly require the same restrictions as a full programing language, which would be running on 50 platforms).

Temporary functions would be a hassle. But there is no reason why LL couldn't have them and then when they are no longer needed just pull them from the highlighter (there are keywords in LSL that will compile but won't be highlighted).
_____________________
Truth is a river that is always splitting up into arms that reunite. Islanded between the arms, the inhabitants argue for a lifetime as to which is the main river.
- Cyril Connolly

Without the political will to find common ground, the continual friction of tactic and counter tactic, only creates suspicion and hatred and vengeance, and perpetuates the cycle of violence.
- James Nachtwey
Ace Cassidy
Resident Bohemian
Join date: 5 Apr 2004
Posts: 1,228
09-28-2004 09:41
If there is a need for a "better" function, then there needs to be a "new" function.

Deprecating an old one is kewl... Breaking an existing one is not.

llParseString2ListNew() would have been good. Breaking tons of existing scripts is not.

Fix it, don't break it!

- Ace
_____________________
"Free your mind, and your ass will follow" - George Clinton
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
09-28-2004 14:04
Ok. I think y'all missed my point. Which worries me. This is not a problem specific to ParseString2List. This is a problem inherent in the way that LSL changes are made. In general. ParseString2List is just the LATEST change in a series of changes that manages to piss off every coder here every time it happens. I'm just offering a way that things might be better.
_____________________
</sarcasm>