Difference between revisions of "User:Strife Onizuka/Talkpage Archive 01"

From Second Life Wiki
Jump to navigation Jump to search
(New section: [[User talk:Strife Onizuka#LlListRandomize and the use of random vs pseudo random|LlListRandomize and the use of random vs pseudo random]])
 
(39 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{RightToc}}
{{RightToc}}


Hi Strife,
==DialogMenus Tutorial Piece==


yes it's me again, sorry if I'm annoying you. I tried to link page [[List of all Second Life Groups on Flickr.com]] to the respective [[:Category:Flickr Groups]] in order to get it listed on category index. Unfortunately I couldnt manage that. Could you please have a look at it to grant me some assistance?
Moved to [[Talk:DialogMenus#DialogMenus_Tutorial_Piece]].


Many thanks in advance, greetings --[[User:Huney Jewell|Huney Jewell]] 03:43, 23 November 2007 (PST)
== Hello from Chaz Longstaff ==


:I'm not sure what you want done. -- [[User:Strife Onizuka|Strife Onizuka]] 16:24, 23 November 2007 (PST)
Hi Strife, Chaz Longstaff here. (Wednesday, 15 July 2008.)


::[[:Category:Flickr Groups|This page]] contains an index of all articles within category "Flickr Groups". I tried to add [[List of all Second Life Groups on Flickr.com|this Article]] to the index by using a category template at the page bottom. Obviously that isn't sufficient to get the Article listed on the index page. But I don't know how to manage adding the Article to the respective index page so I asked you for some kind assistance. I hope, this might clarify what I'm intending. --[[User:Huney Jewell|Huney Jewell]] 04:22, 26 November 2007 (PST)
First of all, I want to thank you Strife for all you have done to date on the official wiki. Without you, it wouldn't be here at all. Your knowledge, skill and commitment (plus diplomatic skills and courtesy, noted by many) are a bonanza to LSL.


:::Oh I see what you were trying to do. That box is auto-generated by the wiki. You don't make it yourself. -- [[User:Strife Onizuka|Strife Onizuka]] 12:56, 26 November 2007 (PST)
>> At first your edits were naive


::::OMG, it's that easy, provided knowing how-to. Thanks a lot for your help, Strife. --[[User:Huney Jewell|Huney Jewell]] 02:24, 27 November 2007 (PST)
If you mean geared toward beginners, then I take that as an immeasurable compliment :} If you mean in terms of how to use your template, yep, I'm figuring it out piece by piece as I go. As for editing, I don't mind being edited; I've written professionally all my life up here in Canada and so am used to it. When you write something, you have to be willing to let it go and let a second-pair of eyes give it a once over.
----
Hi Strife,


after returning from vacancies I was very excited to notice that you meanwhile added the mode=user parameter to the LSL Function template. Thank you so much for this extension, which will simplify documentation of user functions a lot. I took the chance to complete the template documentation to publish this extension to all the wiki community.
>> the quality of your edits and contributions have been constantly improving
--[[User:Huney Jewell|Huney Jewell]] 09:06, 31 October 2007 (PDT)
----
Hi Strife,


I see you comment "it is really annoying when people remove things and don't notice the change" in the history of the [[llSetText]] article.
Ah yes, I'm slowly getting the hang of your template. Its construct wasn't apparent at first. No fault of yours: anything like this anywhere in life just takes a while and a bit of effort to figure out, but if you're going to join any project, it's common decency to first understand how people have done things to date and to catch up with the procedures. I'm making the effort and grokking more of it now.


Do you happen to know if you made that comment with reference to a change I made? If it was me, what change did I make without noticing? I didn't know I could do that. I'm using the browser interface to the LSL Wiki, I thought the Show Changes button showed me everything I did. Does it not?
>> I would love to dialog (on the wiki preferably).


Thanks in advance, most curiously yours, -- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 07:51, 29 October 2007 (PDT)
Where is the dialogue place? Is it here? https://wiki.secondlife.com/wiki/Talk:LSL_Portal_Guidelines


:Your changes were good, it was a change by {{User|Ralph Doctorow}} that got my feathers ruffled. The "LSL Function/*" and "LSL Generic/*" are more then just category templates, they insert content throughout article, it annoyed me that he stripped them and didn't notice that it had adversely affected the article. Non sequitur: I did a function template update a week or so ago, and there is now a mode=user. -- [[User:Strife Onizuka|Strife Onizuka]] 12:42, 29 October 2007 (PDT)
Just wanted to give you a heads-up that my emphasis would be on accessibility and relevance for beginners and learners. What would motivate me is adding to the LSL wiki how-to-do's, step-by-step, in readily-understood common-use language, so that even LSL dabblers can tackle in-world some scripting basics. I've just passed the initial 1 1/2 year learning hump, so I want to get down what puzzled me at the start, while it is still clear in my mind, before I become an older-hand and take all the basics for granted.


----
I don't think you'll object to that, though. I read here https://jira.secondlife.com/browse/WEB-658 that you feel that both (a) basic information (presented in accessible, plain old-fashioned English using good old Anglo-Saxon root words) and (b) more esoteric, complex concepts expressed in a technical vocabulary can and should have a place in the LSL wiki.
Hi Strife,


Thank you for coining the term "script time", distinct from the calendar time of the real world.
I realize that some techies may look down on "plain English", but I was taught to see it as a strength, not a weakness.


I agree that phrase gets the point across much more effectively than the previous phrase "dilated time".
So, you don't mind my jumping in? I know you want help, and want to make the "official" wiki more than an often-disregarded cousin to other LSL wikis on the Internet (or whatever analogy is appropriate.) But it must be hard, because it is your baby, to have others come in and just "do stuff", especially adding a focus that is different from the one you have brought to bear on it so far.  


Thanks also for making time to merge this new "script time" phrase in to clarify [[llGetRegionTimeDilation]], [[llGetTime]], [[llResetTime]], [[llGetAndResetTime]], [[llSetTimerEvent]], etc.
Given that you not only left but added (some good stuff, thanks!) to my entry on chat, for instance, I think you're okay with that kind of approach being added onto what's there already. Just to be clear, though, if you'd rather I didn't, now's the time to sing out, and I'll happily bow out with no hard feelings and focus on other projects.


-- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 13:22, 24 October 2007 (PDT)


:'Dilated time' seemed weird. 'correctly' was extraneous and the wrong word to use when referring to time (who's time is the right time? orbital or atomic? computers don't keep either). I don't think I coined 'script time', I think I've seen it used on the old wiki. There are other time functions besides llGetTimestamp, and singling it out exclusively isn't right (it isn't the right function for all situations). -- [[User:Strife Onizuka|Strife Onizuka]] 13:33, 24 October 2007 (PDT)


----
p.s. everything you've edited on my postings has been great, and muchly appreciated! Thank you for taking the time to review them!
Hi Strife,


I guess the "URU" of your user page refers to  
p.p.s. I see there is a project to port the LSL wiki to other languages. I speak 7 human languages, but I think I'll see how I get on with the English-language version first before enquiring further about the others.
http://en.wikipedia.org/wiki/Uru:_Ages_Beyond_Myst


I guess by netiquette I should not edit my belief into your user page, so I haven't.
[[User:Chaz Longstaff|Chaz Longstaff]] 08:41, 15 July 2008 (PDT)


-- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 18:23, 17 October 2007 (PDT)
: I want you to continue to contribute. Not just because it's easier to fix someone else's edits, but because you produce good meaty content. I have no interest in having the wiki all to my self, my goal is to have the content being the best it can be and you seem to share that. You explain things in such a way that they make sense but without going overboard on wordiness, or hide related caveats. Plain English is a hard balance, I tend to lean towards concise & technical but that doesn't make me right. I find it much easier to add content after someone has made edits to an article, it's easier to see what's needed. Some people take offense to the activity but wiki's are about the content not the contributers; I'm glad you aren't upset by it. I welcome you to review my content and make changes, we all need a second set of eyeballs.


----
: If I thought your contributions were crap I would remove them; I have no compunction with removing bad content. If I make changes to an edit it means I agree with what I don't change; if the changes were minor then I just felt the wording wasn't quite right. If I don't make changes at all it means I agree or I haven't seen it yet (or worst case scenario that I haven't gotten to it yet).
Hi Strife,


The [[LSL_Errors]] article claims:
: I think it's great you are targeting newbies. I've been coding in LSL so long (4 1/2 years?) that I don't remember what it was like to be a newbie (I knew how to program to start with so I wasn't really ever an LSL newbie), so I'm not that good at writing content targeted for them. I keep an eye on the SL forums and try to add content to the documentation to answer questions that crop up there but that don't really address the issue pro-actively. We need people who can write content for that audience.


"""ERROR : Byte code assembly failed -- out of memory"""
: I'm sorry to say that {{JIRA|WEB-65}} isn't me at my best, I don't get along well with Eren; I'm glad you were able to distill anything useful from it and weren't confused by it (which incidentally also raises my opinion of you). Finding and keeping the balance is hard; you seem to be doing a good job of it.


"""How much script is too much script can vary astonishingly. For example, the 2007-08 Second Life clients varied as much as 30X, from one to the next. Specifically, the Windows client accepted 22 else-if's and refused 23 else-if's, while Mac OS X was accepting 692 else-if's and refusing 693 else-if's."""
: To some things up, I not only don't mind, I'm excited that you have jumping in. I want you to continue.  


Do those claims interest you?
:p.s. There are a lot of variables you can use with the [[Template:LSL Function|LSL Function template]]. They aren't all listed in the article source (and the order they are defined in doesn't matter), if there is one missing (from the article source) you can just add it; the unused ones listed are for convenience. There is also a [[:Category:LSL_Newbie_Notes|Newbie Notes]] section you might be interested in, it's for writing tutorials for newbies, it allows for a short synopses to be inserted into the appropriate articles.
:-- [[User:Strife Onizuka|Strife Onizuka]] 12:48, 15 July 2008 (PDT)


Can we somehow work on fixing the Windows client to be less astonishingly broken? Else cripple the Mac client to match the Windows client, to keep script compilation compatible across platforms and free of accidental copy restrictions?
== [[LlListRandomize]] and the use of random vs pseudo random ==


-- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 16:06, 10 October 2007 (PDT)
Since you seem to have written and/or formatted a lot of the documentation on this I figure you'd be the best choice to answer this question. For [[LlListRandomize]] should all uses of random be replaced with pseudo random as appears to be the case with [[llFrand]]'s mentioning of random number generation or should it be left as it is currently referencing random which is less accurate in my opinion. [[User:Gordon Wendt|Gordon Wendt]] 13:31, 8 June 2008 (PDT)
 
:One step ahead of you. {{Jira|VWR-811}} -- [[User:Strife Onizuka|Strife Onizuka]] 18:34, 10 October 2007 (PDT)
 
::Yes perfect, thank you, I see {{Jira|VWR-811}} =  'Repeated "else if" statements throw syntax error' with Mac OS X vs. Windows diff's noted -- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 21:36, 10 October 2007 (PDT)
 
----
Hi Strife,
 
In your recent edits to [[llGetObjectPermMask]] and [[llGetInventoryPermMask]]. I see you moved the default perm masks of the Linden Lab's clients to Notes from Func_footnotes.
 
Thank you. I was unsure where to put that research to begin with it, and I like the rendering of your choice better. I still have no idea where I go to read of the intended difference between Notes and Func_footnotes. Notes is notes is notes, so far as I know.
 
-- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 06:46, 8 October 2007 (PDT)
 
:The footnote section is for function specific notes about the function itself. If it gets really detailed about the function it should be moved into the specification section. If it is notes about how the function fails or doesn't work as expected it should be in the caveats section. If it's notes that aren't about the function directly but are useful to know, the notes section is the best place for them. In this case it just seemed to fit better in the notes section. -- [[User:Strife Onizuka|Strife Onizuka]] 09:50, 8 October 2007 (PDT)
 
::Crystal clear, thank you. Doc'ed nowhere else, true? Good seed with which to create a new page to meta-discuss this wiki? -- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 17:52, 8 October 2007 (PDT)
 
:::Sounds like a good idea. Sort of thing that would go well in the LSL Primer page. -- [[User:Strife Onizuka|Strife Onizuka]] 20:46, 8 October 2007 (PDT)
 
::::1. Which page is the LSL Primer page? Maybe we mean the [[LSL Editing Primer]] page that explains how to wiki here? Before now, that page was too deeply buried and arcanely named for me to discover it. Guessing that yes that's the page we mean, I've now pulled that page up a level by tweaking the [[LSL Portal]] page to link directly to the LSL Editing Primer page along with a brief (four word) explanation of what that primer page primes. -- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 17:48, 9 October 2007 (PDT)
 
::::2. I now see that the LSL Editing Primer page links to the [[Template:LSL_Function]] page that defines func_footnote's vs. caveats vs. notes less well than you do above. Should we next copy these more correct/ complete definitions for func_footnote's vs. caveats vs. notes from here to that Template LSL Function page? -- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 17:48, 9 October 2007 (PDT)
 
:::::1. The LSL Editing Primer needs extensive work, I originally threw it together quickly.
 
:::::2. The documentation for the function template should be spun off onto a dedicated subpage (so updating the documentation doesn't force an update on all the pages that include the template). I'll put slitting the page on the TODO list. -- [[User:Strife Onizuka|Strife Onizuka]] 09:18, 10 October 2007 (PDT)
 
----
Hi Strife,
 
I see you tuned [[hex]] to remove if-tests. I like that, thank you. I see you say speed improved, I'm curious to know by how much and I'm curious to know what happened to byte code size, though I don't know yet if I'm curious enough to go measure those results myself.
 
-- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 06:46, 8 October 2007 (PDT)
 
:It irked me, most *-to-string functions usually do. I was this close to writing an LSO optimized version of it. -- [[User:Strife Onizuka|Strife Onizuka]] 09:50, 8 October 2007 (PDT)
 
::Ah. Google reminds me LSO is LSL assembly. How can I write LSO? Do we have inline assembly? Assembly listings of what we compile? -- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 17:52, 8 October 2007 (PDT)
 
:::Someone did trick some assembly compiler into doing LSO but it was a hack (and didn't work perfectly). I keep meaning to add inline LSO support to LSL. Not going to happen soon though. -- [[User:Strife Onizuka|Strife Onizuka]] 20:46, 8 October 2007 (PDT)
----
Hi Strife,
 
I see recently you edited [[llGetKey]] to tell us that llGetKey returns a key for the prim the script is attached to.


Thank you! I had seen the English there before say that llGetKey returns a key for the task, but I haven't yet learned to distinguish "task" from "prim". I guess task and prim are often the same thing?
:I've moved the conversation to [[Talk:LlListRandomize]]. -- [[User:Strife Onizuka|Strife Onizuka]] 13:54, 8 June 2008 (PDT)


-- [[User:Ppaatt Lynagh|Ppaatt Lynagh]] 05:43, 2 October 2007 (PDT)
== Typo in geometric function? ==


:Yes they are the same thing so far (since script can only be attached to prims). The "task" terminology is antiquated and confusing IMHO, it's left over from the dark ages of LSL. -- [[User:Strife Onizuka|Strife Onizuka]] 05:51, 2 October 2007 (PDT)
Since it appears the code came from you, I am just putting a pointer here to comments I've added:


----
[[Talk:Geometric#Typo in Box and Ray, Intersection Distance, or is it correct?]]
Hi Strife,


I came across your [[Dialog Module]] and wonder what is the ESL version published there. I tried a compile in-world, but it doesn't run. How did you manage that?
[[User:Scalar Tardis|Scalar Tardis]] 22:51, 15 June 2008 (PDT)


Greetz
== Endorsed Group Entry & Other Stuffz ==


--[[User:Huney Jewell|Huney Jewell]] 22:04, 20 September 2007 (PDT)
Heya Strife!<br>
Since you're one of the owners of the [http://world.secondlife.com/group/4e0cf500-f869-6676-6e22-eea96efd7332 LSL portal translation group], I'd like to ask you to consider joining the [[Introduction to Endorsed Resident Help Groups|endorsed group program]]. It would/could at least raise some attention to the project and therefor might attract new contributors. Problem: The group would need at least 25 members. But that should be managable somehow...<br>
Besides that I'd like to ask you to add it to [[Volunteer Groups#Other Volunteer Groups]] and maybe add info about how to join the group in the group charter.<br>
Might also want to add your point of view [[Project talk:Languages#Merge or Distinguish|here]].<br>
Greetz =) [[User:Zai Lynch|Zai Lynch]]<sup>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</sup> 22:18, 26 June 2008 (PDT)


:ESL is LSL passed through a C/C++ preprocessor (you can use Microsoft's cl or gcc to do this). There isn't much talk about ESL these days but it's the way to fight off LSL induced insanity. It's a bit involved to set it up but once its working it's the bees knees. [http://forums.secondlife.com/showthread.php?t=18335] [http://sl.sdfjkl.org/secondlife/scite/index.html] -- [[User:Strife Onizuka|Strife Onizuka]] 01:12, 21 September 2007 (PDT)
== [[LSL Library]] ==
----
Heyas Strife!<br>
I just used to clean the [[Special:DoubleRedirects]] and the [[LSL Library]] is confusing me there... It's listed as it would link to [[Float]], what it's not doing. Is it because the page still got content besides the redirect? And should the [[Talk:LSL_Library|talkpage]] be moved too? I'm just confused atm but I'm sure you'll know the answers.<br>Greetz, --[[User:Zai Lynch|Zai Lynch]]<sup>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</sup> 22:55, 11 July 2008 (PDT)


:I'd say either leave the talk page or merge it with the category talk page. The [[Float]] stuff is because of theU other content on the page yes. Oh and good job cleaning up the double redirects, i looked at that recently and was like "this is more work then i want to do." -- [[User:Strife Onizuka|Strife Onizuka]] 01:58, 12 July 2008 (PDT)


Hi Strife,
::Thankies (^_^). Ok, merged the talkpages and cleared the other. That fixed the problem. Greetz, [[User:Zai Lynch|Zai Lynch]]<sup>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</sup> 04:05, 12 July 2008 (PDT)
why did you kill the routine for negative values in Meter2Feet? Results now are wrong if negative meter value is entered!


:Pffft, i'll check this out. -- [[User:Strife Onizuka|Strife Onizuka]] 08:29, 12 September 2007 (PDT)
== Second parameter of [[Template:Multi-lang]] ==


Sure the results are wrong; of course I checked that and restored the routine! And your constant for meter to feet conversion was also wrong, see here: http://en.wikipedia.org/wiki/Foot_%28unit_of_length%29
Hi Strife, thanks for fixing [[Template:LSL Function/zh-Hans]] (although currently it's only used in [[llGetPizza/zh-Hans]] XD). So the second parameter of [[Template:Multi-lang]] are mandatory for translations? --[[User:Geneko Nemeth|Geneko Nemeth]] 07:40, 18 July 2008 (PDT)


But nontheless many thx for your assistance. Nobody is perfect ;-)
:It's not mandatory for language codes that don't indicate a dialect. It's easy to read two char tags but we sometimes get false positives so, if we added support for dialect detection we would likely get a lot more in the way of false positives though now that I think about it, it might not be that bad of a problem. I'll put it on the list of things to investigate. For the time being languages like Traditional and Simplified Chinese, you will need to use the appropriate dialect tags. -- [[User:Strife Onizuka|Strife Onizuka]] 10:52, 18 July 2008 (PDT)
::Hmm, it seems to be a bit broken. Using <code><nowiki>{{multi-lang|2=zh-Hans}}</nowiki></code> (not specifying base page name) gives you a wrong base page name with an extra trailing / (e.g. "Quickie Wiki Intro/") --[[User:Geneko Nemeth|Geneko Nemeth]] 16:22, 25 July 2008 (PDT)
:::For complexity reasons, the "/" is considered to be part of the code, you should be setting it to <code><nowiki>{{multi-lang|2=/zh-Hans}}</nowiki></code> -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 22:48, 25 July 2008 (PDT)


----
== Clustered Linksection(s) ==


Strife...
Heyas Strife!<br>
I don't know what you're doing..but I was really helped by the comment Indira Bekkers gave me.
While translating, I noticed that the related links for related functions are always the same (for obvious reasons). So I wondered if it would benefit the portal in case those were outsourced with a template for each cluster. For example, all communication function links ([[llWhisper]], [[llSay]], [[llShout]], [[llRegionSay]] etc.) in one cluster. Why would it benefit? Changes in the description of one of these functions would be visible to all related functions. I'm currently lacking an appropriate example, but I noticed differences in the descriptions of some links. This could be unified with such an additional template. So I'm referring to the <nowiki>|also_functions= {{LSL DefineRow||[[FUNCTION]]|}}</nowiki> part.<br>
I had to turn on the Pay-behavior..
Greetz, [[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 22:36, 11 September 2008 (PDT)
Your description might be useful to you..but it doesn't say a thing to me.
So I'm going to put back my description ..without the name of course..
--[[User:Gal Canning|Gal Canning]] 13:11, 3 August 2007 (PDT)<br/>


Hi Strife....the term is "deprecated", not "depreciated".  See [http://en.wikipedia.org/wiki/Deprecation "Deprecation" in Wikipedia] -- [[User:Rob Linden|Rob Linden]] 16:37, 27 January 2007 (PST)
:I have thought about that, and a number of the templates do do that (script permissions for example), the problem is you have to add in extra conditions to keep the article from linking to itself. Alternatively a special brief description set of pages could be created with template to inline those descriptions where needed. A giant switch statement can't be used because it kicks the crap out of the wiki (I tried). -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 09:34, 12 September 2008 (PDT)
:I was wondering about that. I'll change the template (it's handled in the template).[[User:Strife Onizuka|Strife Onizuka]] 16:42, 27 January 2007 (PST)
:I'm still learning the ins and outs of MediaWiki, so these templates are moving along.[[User:Strife Onizuka|Strife Onizuka]] 17:25, 27 January 2007 (PST)
::Excellent work on the templates. The pages look really good! -- [[User:Rob Linden|Rob Linden]] 18:38, 27 January 2007 (PST)
::It's amazing what can be done with good documentation. MediaWiki is gold (just wish it was 1.9.x).
::I was considering making some generic templates for function definition pages. Hasn't happened yet. And still have to make the templates for events.
::And I made a bit of a mess of the Template namespace (you can delete the redirecting pages). Getting out of the habit of using CamelCase is tough ~_~  [[User:Strife Onizuka|Strife Onizuka]] 18:59, 27 January 2007 (PST)
::: Great to see your contributions, Strife. Thanx for building up this resource. --[[User:Torley Linden|Torley Linden]] 14:25, 30 January 2007 (PST)


== Template magic needed ==
:Ultimately I never came to a decision as to the correct solution and at the time I was the only one concerned with the issue. All solutions are a bunch of work and with the wiki, it's no good to make a decision if nobody wants to do the work. It looks like we might have the critical mass needed to make a decision and implement a solution.


Hi Strife: great work on the wiki so far. When you get a chance, could you take a look at [[Template:LSL conformance test]] and [[Template:LSL conformance script]], which were created for adding our conformance suite?  See [[LSL llGetUnixTime test]] for an example. I'm mainly looking for help making sure that the interface is sensible (i.e. the template parameter list makes sense and the general structure makes sense).  The formatting can wait. The idea is to get these stabilized, and that will provide us a mechanism for those of us at LL to consolidate our tests, and for the community to chip in if desired. -- [[User:Rob Linden|Rob Linden]] 22:46, 7 February 2007 (PST)
:There are really 3 solutions and they each have nasty implementation caveats.
:#Each article is a template too and use the <nowiki><includeonly>, <noinclude> and <onlyinclude></nowiki> tags..
:#*Complicates the articles and if not implemented properly on each article will result in a huge mess.
:#Each article has a child article that contains the description.
:#*Requires the generation of a huge number of pages.
:#System of templates and divided database of descriptions
:#*The core DB templates will be included multiple times
:#Topic specific templates that provide links with descriptions for that specific topic.
:#*A description might be different between different topics, this might not be a bad thing.
:--'''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 09:48, 12 September 2008 (PDT)
::Hmm... I'm not even sure if it's such a bad thing. I was concerned about it in the beginning too but now I'm seeing it as some kind of "''Where am I and where can I go from here?''" feature, with a "current article in a nutshell" description. So I'm not sure if effort and outcome of hiding the link are in a decent relationship. Since the links aren't clickable either when they are linking to the current page. See [[llAddToLandPassList/de]] for an implementation in a German translation.
::[[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 00:05, 13 September 2008 (PDT)


(moved rest of conversation to [[Template talk:LSL conformance test]] -- [[User:Rob Linden|Rob Linden]] 22:22, 8 February 2007 (PST))
:::It does make sense. On many constant pages currently we just inline the table and ignore the self-link problem as you have. Maybe we should be thinking about modules for topics; like what they have on wikipedia (footers and right side floaters). I'm all for anything that saves us work and makes the articles better. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 00:27, 13 September 2008 (PDT)


== function & generic template ==
::::So with wikipedialike modules, you're referring to something like the [http://en.wikipedia.org/wiki/Template:The_Dresden_Dolls Template:The Dresden Dolls] in the [http://en.wikipedia.org/wiki/The_Dresden_Dolls_(album) The Dresden Dolls (album)] article? (Would we be able to build such a shiny hide/show javascript feature too?) Looks neat indeed... [[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 00:45, 13 September 2008 (PDT)


Are you planning on putting something in your templates for constants used by that function or event? [[User:Anthony Reisman|Anthony Reisman]]
:::::That's what I was thinking of yes, my initial thoughts are that given the current layout that it isn't the best solution but I can't quite see how to make it better. Something to think about but in the mean time standardized links seem like a reasonable stopgap solution. As to collapsible sections, that is something that comes as a feature of later versions of MediaWiki (I've got a jira on collapsible sections/tables). It really only requires copying the javascript over. The sortable tables JS needs updating too. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 00:52, 13 September 2008 (PDT)


:There is, just set 'constants' equal to a table. Checkout {{LSLG|llDetectedType}}. [[User:Strife Onizuka|Strife Onizuka]] 13:24, 8 February 2007 (PST)
:The only reason we use the "LSL DefineRow" template for links was because I was too lazy at the time to create a specialized template for it. The entire DefineRow solution was never a perfect solution even for it's intended application (which is something that has annoyed me). -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 00:59, 13 September 2008 (PDT)


Ok, I wasn't sure if you were making a general table template or something. Sorry, I'm still new at wiki formatting. I didn't want to just edit if we working on a standard for the pages.--[[User:Anthony Reisman|Anthony Reisman]] 11:24, 9 February 2007 (PST)
::Okiesh, voted on {{Jira|WEB-235}} (created July 2007? '''(x_X)''').
::I'm currently using [[Template:LSL DefineRow/de]] in [[Template:LSL Security Links/de]]. So should it be(come) a box instead with a change in [[Template:LSL Function/de]]? Or can I continue to build up clusters in such a way?
::[[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 01:17, 13 September 2008 (PDT)


Templates for tables are very difficult to make and not very useful. By the time you have populated the template with information you have done more work then it would have been just to make the table by hand. [[User:Strife Onizuka|Strife Onizuka]] 11:28, 9 February 2007 (PST)
:::I say, with DefineRow derivatives do what seems appropriate. As long as the appearance (of the articles) is consistent it really doesn't matter how you get there. Refactor to your hearts content if the wind blows you that way. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 01:26, 13 September 2008 (PDT)


In the example that you used, I noticed it was a template, which is why I wondered. I'll figure out how to make a table, and just stick it in the page I'm editing. Also, where do I find the list of all the templates used? I found the unused templates, but didn't find the a list of all. Again, sorry for the silly questions. I'm picking wiki up as I go.
::::Wow, that sounds philosophical. I will store that quote (^_^) luv ya [[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 01:38, 13 September 2008 (PDT)


:An inline example you can find on {{LSLG|llParcelMediaCommandList}}. [[User:Strife Onizuka|Strife Onizuka]] 11:56, 9 February 2007 (PST)
== function/de ==


Thanks! That was exactly where I was going to put it in. Back to my other question. How to I find all the templates and template names we'll use. I can use the examples from other pages, but it might be nice to look at all the templates we have available. Thanks again! [[User:Anthony Reisman|Anthony Reisman]] 12:14, 9 February 2007 (PST)
Sorry for the extra work with /de functions. I was sure [[Template:LSL Function/de]] would automatically register them to /de cats but haven't payed attention to it... Will have a look at the few translated ones to ensure that they aren't cluttering the english cats. Greetz, [[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 03:06, 23 September 2008 (PDT)
:No biggy, I only just noticed the problem and it drove me to fix some template bugs. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 07:44, 23 September 2008 (PDT)


Really isn't a big list of LSL templates yet.
== LSL Caveats - Range ==
The ones I use and wrote are:
{|{{Prettytable}}
!Name
!Description
|-
|[[Template:LSL Header]]
|The bit at the top of the page, you need it if your page isn't using 'LSL Function', 'LSL Event', or 'LSL Conditional'.
|-
|[[Template:LSLG]]
|Used for links to any LSL_* page
|-
|[[Template:LSLGC]]
|Used to link to categories that start LSL_*
|-
|[[Template:LSLC]]
|Used to add a page to a category to which the category name starts LSL_*. This template also tries to figure out the sort value needed.
|-
|[[Template:LSL Hex]]
|Used for hex values.
|-
|[[Template:LSL Hex/Parse]]
|Template used to convert hex literals into integers. Doesn't work just yet.
|-
|[[Template:LSL Function]]
|Template used for function pages
|-
|[[Template:LSL Event]]
|Template used for event pages
|-
|[[Template:LSL Conditional]]
|Template used for flow control pages
|-
|[[Template:LSL Generic]]
|Parent Template of 'LSL Function', 'LSL Event', or 'LSL Conditional'. It is the template that does the heavy lifting, it also has a couple sub templates that handles some of the intersting stuff required for the child templates.
|-
|[[Template:LSL Generic/Text]]
|Sub template for the making the text of the first box of text.
|-
|[[Template:LSL Generic/Title]]
|Sub template for the making the title of the first box of text.
|}


== re: Talk:LSL Function Style ==
Heyas =)<br>
I recognized some LSL caveats and wasn't sure how to word them properly, so I'll leave the suggestion up here for you. So, when you got a linkset and attach a script with a listener to a childprim, the listener is only triggered when the chat is spoken in the listeningrange of the root prim. While, when a llSay is spoken from a child prim, it's heard in a 20m radius around that child prims location (not root prim). So the prim listens at root and speaks at child. This should somehow be mentioned, I think. I also recognized that the llRezObject function is failing if the location is more than 10 m away from the '''child''' prim who has the script attached, again. So all functions which only work within a certain range should have a note if the range is measured from the prim where the script is attached in or if it is always the root prim.<br>
Greetz, [[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 14:43, 1 October 2008 (PDT)


I apologise if anything I've said has offended you personally- accessibility is something of a sore point to me.
:I'll take a look at the wording for the llRez* functions and see what I can do to clarify. You are right that the chat/listen thing should be documented, this is the first I've heard of it thou and I've never come across it in any of my strangest of experiments (trust me on them being strange, ask me about the link-growth experiments some time). You should probably make a jira topic on it under SVC, just to see what information bubbles to the surface on this, a low priority bug maybe? -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 20:39, 1 October 2008 (PDT)
<br />[[User:SignpostMarv Martin|SignpostMarv Martin]] 12:27, 11 February 2007 (PST)


== LSL markup ==
::Some bits of memory or false memory bubbled up as I was writing the caveat for listen and is reflected in the caveat. Take a look and tell me what you think. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 21:09, 1 October 2008 (PDT)


Have we got LSL syntax highlight yet?  If not what's the holdup?  Anyone know? [[User:Gigs Taggart|Gigs Taggart]] 15:38, 11 February 2007 (PST)
:::Google helped me to dig out {{Jira|VWR-2923}} which is appearently missfiled (wrong category) but describes the same problem. I think the explanation you gave (prevention from spy scripts) could be the reason indeed, although there is no official statement on it that I was able to find. Thx for the clarification in the articles! =)
 
:::P.S.: I'll poke you on that link-growth story the next time I see you around (^_^).
:"We tried to use start using this on Thursday, but ran into some problems. Thraxis, it'll help if you can contact me privately to discuss some of the issues. -- Rob Linden 00:37, 11 February 2007 (PST)" Taken from [[Talk:LSL Portal]]
:::Greetz, [[Image:Zai_signature.png|45px]] '''[[User:Zai Lynch|Lynch]]''' <sup><small>([[User talk:Zai Lynch|talk]]|[[Special:Contributions/Zai Lynch|contribs]])</small></sup> 04:45, 2 October 2008 (PDT)
 
== Energy: 10? ==
 
Why do all the functions take 10 energy?  Even ones that have nothing to do with physics? [[User:Gigs Taggart|Gigs Taggart]] 15:46, 11 February 2007 (PST)
 
:I can't say for sure. Probably to counter balance bytecode throttling and to keep complex objects from using all the CPU time. As a non sequitur {{LSLG|llSleep}} and {{LSLG|llDie}} do not require any energy to call. Don't remove the value though, it is technically important, all objects have energy and if it runs out the scripts stops regardless of physics. [[User:Strife Onizuka|Strife Onizuka]] 16:38, 11 February 2007 (PST)
::Oh. Oops.  I took it out on one or two.  [[User:Gigs Taggart|Gigs Taggart]] 20:07, 11 February 2007 (PST)
:::Already fixed it, don't worry about it. It is only a minor annoyance (a pet peeve) but an easily fixed one at that. I got the information from one of the source files used by LSL, so it is accurate. [[User:Strife Onizuka|Strife Onizuka]] 20:12, 11 February 2007 (PST)
::::This would be where the lookup templates I alluded to in the layout examples I proposed- allowing the information only to be included where it's relevant. The information for all functions can then be displayed in a separate article- [[Energy (Havok)]] perhaps ? The Havok-disambig'd article will become more relevant if/when the server code is released, although the structure of the article should not take this into account until such time as the code is released.
::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 03:12, 12 February 2007 (PST)
:::::Energy is implemented in the {{HoverText|VM|linden\indra\lscript\lscript_execute\lscript_execute.cpp}}. While energy predominantly is important for physical objects you can also run out of it on non-physical objects, such as ones with negative mass (which don't have any at all). And it's not like it takes up a lot of space on the right side of the page. There isn't much known about energy at this time so it would not be a good thing to remove it until there is more known. But if you want I'll comment out the code that displays the value. Better to have the value and not display it then not have it at all (I am not keen on going through the source again to re-add those values to 328 pages; so please don't remove it).
:::::I was planning on making tables for all of that information on their pages but it hasn't happened yet (with the exception of delay). So much to do and it not been a high priority. [[User:Strife Onizuka|Strife Onizuka]] 06:06, 13 February 2007 (PST)
::::::I repeat; '''''allowing the information only to be included where it's relevant. The information for all functions can then be displayed in a separate article.'''''
::::::Including content that doesn't affect the operation of a script will confuse new comers, and the "seperate article" would be written in a relatively technical language and only be of interest to those working with the VM directly.
::::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 07:08, 13 February 2007 (PST)
::::::P.S. If you '''''don't''''' use a lookup template, you'll find that it'll be a pain in the ass to update everything if the default energy value for non-energetic LSL functions (you want to try updating 328 pages with the current issue of "session data" getting lost ?), whereas using a lookup template will be one edit.
::::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 07:10, 13 February 2007 (PST)
:::::::LL is loath to change the VM, even to fix bugs. I can only think of two instances in my three years in SL that the Sleep value has changed for a function. Energy usage could be considered a caveat. It normally isn't something a user needs to worry about unless it is causing them problems. The information is relevant because it is a number specific to each function (and there are functions with different requirements). If I were a user wanting to know the energy requirements for a function would I look for a central table on energy usage first or the functions article? Well we don't know, it could go either way. Best to have it in both places. I did consider making a huge template to include such information as a lookup table, but that just smacked me as inefficient, a waste of CPU time.<br/>The information is relevant because it is a function specific attribute. Information should be easy to find, not just easy to edit. [[User:Strife Onizuka|Strife Onizuka]] 07:34, 13 February 2007 (PST) <br/>P.S. It's not even like it takes up a large amount of screen space.
::::::::I repeat:
::::::::# '''''Including content that doesn't affect the operation of a script will confuse new comers'''''
::::::::# '''''"seperate article" would be written in a relatively technical language'''''
::::::::Also:
::::::::# Lookup templates aren't a waste of CPU time.
::::::::# You still seem to be forgetting this whole "community resource vs technical manual" thing.
::::::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 11:53, 13 February 2007 (PST)
:::::::::You seemed to have missed the most important fact of energy. It does effect the operation of scripts. It causes them to stop working if none is left. I would imagine a new scripter would be quite peeved if such information were not obvious and their scripts stopped working. For an example a rapid firing turret: rezzing many prims quickly. If it rezzes too many prims too fast the scripts will stop working in the entire object. Why? because llRezObject has a high energy cost. Where should the energy cost for llRezObject be? On an obscure article about energy? Yes, but it should also be on the page for llRezObject. Now you're going to say: "But a new user wouldn't make a rapid firing turret" you would not believe the percentage of new scripters who make guns.<br/>Imagine for a moment going into a store and there were no price tags. How would you know if you had enough money before going to the checkout? Energy is the price of scripting. [[User:Strife Onizuka|Strife Onizuka]] 12:40, 13 February 2007 (PST)
:::::::::: For the third time:
::::::::::*'''''Including content that doesn't affect the operation of a script will confuse new comers'''''
::::::::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 13:21, 13 February 2007 (PST)
:::::::::::Exactly why it should be included I'm glad we agree. ^_^ [[User:Strife Onizuka|Strife Onizuka]] 13:32, 13 February 2007 (PST)
::::::::::Read the LSL Wiki article on Energy. http://lslwiki.org/index.php/Energy
::::::::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 13:26, 13 February 2007 (PST)
:::::::::::I wrote a good portion of that article. The information it contains could not be verified at the time of it's writing. I know it is inaccurate because I've read portions of the applicable LSL VM source code. If you like I will cite the line numbers. [[User:Strife Onizuka|Strife Onizuka]] 13:32, 13 February 2007 (PST)
:::::::::::: *reads article* hmmm looks like some idiot came back and rewrote it. That is not what I would have written about energy at all. What it has to say about energy is incomplete. Looks like something Eep wrote. [[User:Strife Onizuka|Strife Onizuka]] 13:35, 13 February 2007 (PST)
:''Branching out discussion due to pain-in-the-ass nesting''
 
=== How many functions actually use the energy listed ===
 
The key point is that functions like llAbs() don't appear to actually consume energy.....
<br />[[User:SignpostMarv Martin|SignpostMarv Martin]] 15:01, 13 February 2007 (PST)
 
:Yeah the branching is a pain. The return of llGetEnergy is normalized. Part of what I don't know yet is how much energy an object has. Sure llAbs may use 10 energy, but if thats out of 1,000,000 total, it would regenerate before you can call llGetEnergy. Or there is the other possibility that LSO VM no longer uses the Energy Supply Register (ESR). It is a small detail in the bigger picture to me, being that it can be easily removed from the template I wasn't going to research it until later. Further research would most undoubtedly require a conversation with Phoenix or Babbage. On a side note, executing any arbitrary bytecode costs 0.1 energy per operator (according to the source). [[User:Strife Onizuka|Strife Onizuka]] 15:28, 13 February 2007 (PST)
::It's fairly trivial to test. Have between 20 and 100 scripts running a function on a fast timer, with a separate script:
<pre>float energy = 1.0;
 
default
{
    state_entry()
    {
        llSetTimerEvent(0.01);
    }
    timer()
    {
        if(llGetEnergy() < energy)
        {
            llSetText((string)llGetEnergy(),ZERO_VECTOR,1.0);
        }
    }
}</pre>
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 18:32, 13 February 2007 (PST)
 
:::Haven't logged in a while. If you tried that on such a short timer most of the updates would be dropped because of the rapid updates. AND events only trigger every 0.1 seconds (unless you are talking about control events which are every 0.05 seconds). If you want that code to actually work try:
<pre>
//Slaves
default
{
    link_message(integer a, integer b, string c, key d)
    {
        a = 1000;
        do llAbs(b); while( a=~-a);
    }
}
</pre>
<pre>
//Master
default
{
    touch_start(integer a)
    {
        llMessageLinked(LINK_SET, 0, "", "");
        list b;
        float c;
        a = 100;
        do if(1.0 != (c = llGetEnergy())) b+=c; while( a=~-a);
        a = -llGetListLength(b);
        do llOwnerSay(llList2String(b,a)); while( a=-~a );
    }
}
</pre>
:::[[User:Strife Onizuka|Strife Onizuka]] 19:11, 13 February 2007 (PST)
::: *notices the category name change*<br/>Well, what happens is, on any bytecode, 0.1 is subtracted from the ESR and then when a function is called whatever thats specific energy amount is subtracted from the ESR as well. The code is functional, but you see, only the essential parts of the LSL VM are included in the source package and not the sim code that interfaces with it. The bits that read and set the initial value of the ESR (and the SLR) are in the sim code. [[User:Strife Onizuka|Strife Onizuka]] 19:37, 13 February 2007 (PST)
:::: Bleh ?
:::: [[User:SignpostMarv Martin|SignpostMarv Martin]] 21:04, 13 February 2007 (PST)
::::: *nods* "Bleh" pretty much sums it up. [[User:Strife Onizuka|Strife Onizuka]] 21:30, 13 February 2007 (PST)
:::::: Do functions like llAbs() consume energy or not ?
:::::: [[User:SignpostMarv Martin|SignpostMarv Martin]] 04:08, 14 February 2007 (PST)
::::::: Is the energy value for each function, the one transcribed onto every function page, used to update the Energy Supply Register? Yes. Is the Energy Supply Register used to update the objects memory? Unknown. Need to talk to a Linden who has detailed knowledge of the insides of the VM & Havok. From the parts of the source visible the answer could be said to be: Yes or No. [[User:Strife Onizuka|Strife Onizuka]] 07:51, 14 February 2007 (PST)
 
:::::::: you know if you'd run the test you'd get an answer. If it is not obvious from running a test, then for the sake of simplicity one would assume "no". Besides, having every single function consume energy would be moronic.
:::::::: [[User:SignpostMarv Martin|SignpostMarv Martin]] 10:00, 14 February 2007 (PST)
 
::::::::: How many languages would allow a bug like (1.0-2) == 1 to exist (think they may have finally fixed this one)?
::::::::: Or how about a compiler that has such a limited stack size you have to get creative to work around it's limits?
::::::::: Or a compiler that doesn't even remove dead?
::::::::: LSL is moronic.
::::::::: I take it then you ran the test and it spammed chat with lines of nothing?
::::::::: [[User:Strife Onizuka|Strife Onizuka]] 10:08, 14 February 2007 (PST)
:::::::::: Nope, not had the chance- although when I ran mine I had an endless stream of 1.00000
::::::::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 11:21, 14 February 2007 (PST)
:::::::::::If yours returned an endless stream of 1.00000 then the value was not in fact 1.0 (remember you are doing a test to filter out 1.0) but something less or more. Though it's unlikely it would round up even if it were only a bit away from 1.0 hmmm.
:::::::::::Try:
<pre>
//Slaves
default
{
    link_message(integer a, integer b, string c, key d)
    {
        a = 1000;
        do llAbs(b); while( a=~-a);
    }
}
</pre>
<pre>
//Master
string hexc="0123456789ABCDEF";//faster
 
string Float2Hex(float input)
{// Copyright Strife Onizuka, 2006, LGPL, http://www.gnu.org/copyleft/lesser.html
    if((integer)input != input)//LL screwed up hex integers support in rotation & vector string typecasting
    {//this also keeps zero from hanging the zero stripper.
        float unsigned = llFabs(input);//logs don't work on negatives.
        integer exponent = llFloor(llLog(unsigned) / 0.69314718055994530941723212145818);//floor(log2(b))
        if(exponent > 127) exponent = 127;//catch fatal rounding error in exponent.
        integer mantissa = (integer)((unsigned / (float)("0x1p"+(string)exponent)) * 0x1000000);//shift up into integer range
        while(!(mantissa & 0x1))
        {//strip extra zeros off before converting or they break "p"
            mantissa = mantissa >> 1;
            exponent = -~exponent;//++c;
        }
        string str = "p" + (string)(exponent - 24);
        do
            str = llGetSubString(hexc,15&mantissa,15&mantissa) + str;
        while(mantissa = mantissa >> 4);
        if(input < 0)
            return "-0x" + str;
        return "0x" + str;
    }//integers pack well so anything that qualifies as an integer we dump as such, supports netative zero
    return llDeleteSubString((string)input,-7,-1);//trim off the float portion, return an integer
}
 
default
{
    touch_start(integer a)
    {
        llMessageLinked(LINK_SET, 0, "", "");
        list b;
        float c;
        a = 100;
        do if(1.0 != (c = llGetEnergy())) b+=c; while( a=~-a);
        if(a = -llGetListLength(b))
            do llOwnerSay(Float2Hex(llList2Float(b,a))); while( a=-~a );
        llOwnerSay("done");
    }
}
</pre>
:::::::::::Float2Hex is lossless (tested the edges and fed it random numbers along the entire float range, without unexpected error). Should answer the question. If Float2Hex says the value is 1 then the value is 1. It doesn't work properly in Mono though because they uses doubles and not singles and it wasn't written with they extended range or precision in mind (it was made to run fast and efficiently in LSO without writing it LSO assembly). Something unconsidered is that llGetEnergy might only looks at a portion of the range or that it is a rounded or cropped result.
:::::::::::[[User:Strife Onizuka|Strife Onizuka]] 11:38, 14 February 2007 (PST)
 
== re [[User:Strife Onizuka#Downloads]] and [[Downloads]] ==
 
You wouldn't happen to have a handy shortcut for the OS X & Linux Main/Preview Viewers and First Look Viewers for all 3 OSs would you ?
<br />[[User:SignpostMarv Martin|SignpostMarv Martin]] 05:35, 15 February 2007 (PST)
 
:Let me see if I can dig them up, I remember seeing it somewhere recently. [[User:Strife Onizuka|Strife Onizuka]] 10:11, 15 February 2007 (PST)
::Think it was the downloads page you just mentioned that I saw. I did some quick tests looks like the update URL doesn't take an 'os' parameter. If I come across anything I'll post it. *wanders off to make a late breakfast* [[User:Strife Onizuka|Strife Onizuka]] 10:22, 15 February 2007 (PST)
:::Should one of us file a JIRA "New Feature" later to have the update urls improved to include OS params and first look ?
:::[[User:SignpostMarv Martin|SignpostMarv Martin]] 06:03, 17 February 2007 (PST)
::::I'm not in a wag-the-dog mood today, but please go ahead. [[User:Strife Onizuka|Strife Onizuka]] 08:37, 17 February 2007 (PST)
 
== re: Wiki Troll (but a good one, causing drama isn't why i'm here). ==
 
I believe the correct term for a good Wiki Troll is a Wiki Gnome :-D
:Thanks for the tip. [[User:Strife Onizuka|Strife Onizuka]]
 
== My love for you. ==
 
I love you man.  Thanks for finishing the de-prefixing. I was going to get to finish it soon but it sure is tedious work.  [[User:Gigs Taggart|Gigs Taggart]] 17:53, 20 February 2007 (PST)
 
BTW, why are functions even on the new template like LlList2CSV not sorting right? I checked and it had a sort param in it. [[User:Gigs Taggart|Gigs Taggart]] 17:55, 20 February 2007 (PST)
 
:Not sure what you mean about the problem with LlList2CSV, it should be sorted under L. I have been noticing some very strange corruption with categories. Probably has to do with the changing of the templates. When a template is changed I think it re-renders all the pages that depend upon it. I've been trying to keep the number of changes down on the big templates but i suspect that i may have caused a collision in the edits. I have finished the first phase of template change over. Still a few small bugs to work out though. Next time if you are going to do something drastic like moving pages, first write it in the guidelines (If it is in the guidelines you can beat them about the head with the guidelines if they try an edit war). [[User:Strife Onizuka|Strife Onizuka]] 18:08, 20 February 2007 (PST)
::That was a bad example, llFloor is one like I'm talking about.  It's sorted in the L's, it has a sort parameter, and it's on the right template. [[User:Gigs Taggart|Gigs Taggart]] 07:34, 21 February 2007 (PST)
 
:If you find a page in a category it shouldn't be in, edit the page; it may fix the problem. [[User:Strife Onizuka|Strife Onizuka]] 18:10, 20 February 2007 (PST)
 
::Bringing up sorting; What's the policy on double-sorting ? e.g. listing a [[llList2CSV]] under "L" for List and "C" for CSV ?
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 21:09, 20 February 2007 (PST)
:::Media wiki won't allow a page to be listed twice in a category. I think it's better to list them alphabetically instead of getting creative; straight forward is easier to understand.[[User:Strife Onizuka|Strife Onizuka]] 21:24, 20 February 2007 (PST)
:::: Huh. I swear I saw it do that once. Nevermind then :-D
:::: [[User:SignpostMarv Martin|SignpostMarv Martin]] 02:29, 21 February 2007 (PST)
 
== "LSL Function" vs "LSL_Function" ==
 
Just wondering why you changed "LSL Function" to "LSL_Function".
<br />[[User:SignpostMarv Martin|SignpostMarv Martin]] 17:30, 21 February 2007 (PST)
:Is there are specific example? The couple pages I updated that you converted I did so to tweak and add the extra parameters to make future editing easier (having to look up the field names is a pain); also you had kept the pages in the Stub category, which was an idea I had when I first deployed the pages but then realized I could do it alot better by making the templates smart enough to include them selves in categories describing what actually needed to be done to the pages. So as a side project I've been removing pages from it. It was just enough to prod me into action. As to the " " vs "_", the regex i use to convert the pages is to blame for that i think. [[User:Strife Onizuka|Strife Onizuka]] 17:40, 21 February 2007 (PST)
 
:[[llTarget]]
:As I'm sure you're aware, the "_" isn't needed.
:[[User:SignpostMarv Martin|SignpostMarv Martin]] 17:50, 21 February 2007 (PST)
 
::<.< A few of your revisions I started with the base page so the regex would work (then I put your revisions into the output... then rewrote them as needed, i was not pleased with your example on [[llTargetOmega]]). In truth when i was writing the templates I meant it to be an "_" and not a space but if the wiki engine doesn't care I don't. I don't really trust it not break on the space though. [[User:Strife Onizuka|Strife Onizuka]] 17:57, 21 February 2007 (PST)
 
== [[:Category:LSL Flow Control]] vs [[:Category:Flow Control]] ==
 
Boo.
 
I tried updating the templates to point to [[:Category:Flow Control]], waited till after the [[Special:Statistics|job queue]] cleared, but it didn't seem to work. Since it involves your templates, could you do that (since you know how your templates work better than me :-P )
 
[[User:SignpostMarv Martin|SignpostMarv Martin]] 07:50, 23 February 2007 (PST)
 
: There is a guideline for LSL prefixed categories. My hands are tied. The guideline can't just be repealed or rewritten now it has come under dispute, a proper debate needs to happen. Until the debate is formally concluded further action would be Wrong. [[User:Strife Onizuka|Strife Onizuka]] 08:58, 23 February 2007 (PST)
 
:ah :-P
:[[Category_talk:LSL_Flow_Control#LSL_Prefix]]
:[[User:SignpostMarv Martin|SignpostMarv Martin]] 09:48, 23 February 2007 (PST)
 
== Stub ==
 
Why is the stub category broken? [[User:Gigs Taggart|Gigs Taggart]] 12:58, 11 March 2007 (PDT)
:How do you mean broken? Why are there no articles in it? There is no way to automate putting articles in it. I suppose template parameters could be read by length and that used to determine if it should go into the stub category but thats a bit procrustean (and not worth the effort). Some articles don't need extensive... articles, like llSin; but others need extensive articles. Or do you mean that the sort is borked? I've been over the code that handles the sort and I'm at my whits end as to what is causing that, I think there is some corruption going on in the article rebuilding code; it's ok if you only rebuild a dozen or so pages at a time, but more then that and it borks. [[User:Strife Onizuka|Strife Onizuka]] 13:19, 11 March 2007 (PDT)
 
== Template complexity ==
 
Hi Strife - you do a lot of great work here.  However, we've gotta figure out how to be nicer to the servers.  The templates you are creating are *killing* them, and we can't keep buying more servers to keep up (we have a cluster of six).  Prior to an emergency fix I made, [[Template:Chat]] rendered [[Open Source Meeting/2007-07-19]] totally unreadable, because it was using 30 seconds(!) of execution time. 
 
I'm going to start keeping a closer eye on this, and try to figure out which pages are CPU pigs and figure out how to pare them down.  Now that we have better caching, that will help matters, but it won't solve them.  There are still cases where pages need to be rerendered, and using that much execution time means it will take forever. -- [[User:Rob Linden|Rob Linden]] 22:46, 19 July 2007 (PDT)
 
:I've been trying to keep an eye on this as well. I was seeing if the template was usable, I suspected it wasn't but you don't know until you try. Sorry for tanking it. Was it only effecting that page or everything? (I'm really sorry didn't mean to tank things). -- [[User:Strife Onizuka|Strife Onizuka]] 23:18, 19 July 2007 (PDT)
 
:Definitely a better solution to static render chat tables and not use a template. I take it when a page is displayed it just uses the cached version only re-renders it on edit? I really don't like changing the templates once they go into circulation. I'll work on making them simpler and less CPU intensive. -- [[User:Strife Onizuka|Strife Onizuka]] 23:35, 19 July 2007 (PDT)
 
::I brought this up a while back with the LSL Wiki templates being needlesly complex.
::I watched the stats page process all the pages one by one. Things like using variables to populate category tags when you could just pass over the category tags themselves would be a good place to start.
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 04:58, 20 July 2007 (PDT)
 
:::That's an interesting point (with the category tags) but that is one of the least complex features, there are a couple templates that could be inlined and dead code removed that would probably have a greater impact. I have been doing this. The function template for example doesn't depend upon the generic layout template anymore, which resulted in a reduction of variables used internally. I don't want to make breaking changes to features unless they are unused features. Requiring the passing of the entire category tag would require updating several hundred pages; that could take quite a while to do. I don't have time to devote so that the transition would be short enough that the user experience wouldn't suffering. -- [[User:Strife Onizuka|Strife Onizuka]] 17:04, 20 July 2007 (PDT)
:::::Thanks for looking at this.  I'll keep an eye out for tools and techniques that help you see where the hotspots are. -- [[User:Rob Linden|Rob Linden]] 17:07, 20 July 2007 (PDT)
::::For the category tag stuffages, do a substring check for [[, if it isn't found assume that the template is using the old style usage. if it is found, dump the variable into the body. This allows a certain degree of backwards compatibility while going through and "upgrading" manually.
::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 03:16, 22 July 2007 (PDT)
:::::The irony is that that is going to end up just as costly as what I'm currently doing if not more. To maintain compatibility would require keeping the old variables, and there wouldn't be a need to do that form of type checking because there is no need to push finished data like that into a template parameter. There is nothing stopping people from inlining category tags at the bottom of the page (matter of face I think the Detected functions do just that). The fun stuff to do with sorting these days is handled by configuring the default page sort (which meant alot of code was stripped from LSLC). LSLC these days is just a single #if to see if a sort key was passed to it. I haven't a clue why pages are still ending up out of order and in the wrong categories; it's not a template issue (don't ask me how [[llAtan2]] shows up in {{LSLGC|Color}} under 'P'). Speaking of wiki issues, the #var & #vardefine extension doesn't get along with span tags for some reason (which is why LSL_Const uses HoverLink instead of inlining). *trundles off to bed* -- [[User:Strife Onizuka|Strife Onizuka]] 04:04, 22 July 2007 (PDT)
 
== assistance on a wiki template ==
 
Hi- just wondering if you could take a peak at [[Template:HCalendar event/Office Hours]]- I'm not exactly familiar with the time parsing functions, but basically it seems that the template is displaying times in UTC- ISO timestamps are meant to be displayed in UTC, but my understanding is that the <nowiki>{{#time}}</nowiki> function is a wiki-code version of PHP's date() function, which suggests that the SL Wiki has it's timezone set incorrectly.
 
[[User:SignpostMarv Martin|SignpostMarv Martin]] 12:07, 3 December 2007 (PST)
 
:Wouldn't surprise me one bit. I'll look into it. -- [[User:Strife Onizuka|Strife Onizuka]] 14:55, 3 December 2007 (PST)
 
::According to <nowiki>{{LOCALTIMESTAMP}}</nowiki>, the local ISO 8601 timestamp is {{LOCALTIMESTAMP}}
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 20:55, 10 January 2008 (PST)
 
== <nowiki> <pre> to <lsl> on your userpage</nowiki> ==
 
Hope you don't mind strife but I took the liberty of changing <nowiki><pre> to <lsl></nowiki> in your script examples on your userpage, I did it all by hand and double checked my work so there shouldn't be any errors but I hope I'm not being too intrusive by doing so on your userpage. -- {{User|Gordon Wendt}}
 
:I don't mind. -- [[User:Strife Onizuka|Strife Onizuka]] 02:16, 9 December 2007 (PST)
 
== [[Template:Multi-lang]] ==
 
<nowiki>{{#var:lang}}</nowiki> doesn't appear to fall back to english
:[[User:SignpostMarv Martin|SignpostMarv Martin]] 11:52, 11 December 2007 (PST)
 
:That is correct, English may not be the default language of the article. Also, by having it not fallback I can use it it categorize articles based on their language. It means that if someone uses the English function template on the French translation it will be put in the French categories instead of the English categories. -- [[User:Strife Onizuka|Strife Onizuka]] 11:57, 11 December 2007 (PST)
 
== Experience editing Wiki templates ==
 
An age ago on my talk page you wrote "I was wondering how you found the experience of doing the face template mod".  I hope this is the right way to answer that!
 
I wanna be both kind and frank here.  *8)  I know lots of work has gone into the template structure on the Wiki, and I imagine it's very well-motivated, but as a casual user wanting to make a relatively small change or contribution here and there on the Wiki, I find the templating pretty baffling, and a rather large barrier to making contributions.  When I see a piece of text on an LSL page that I want to modify or add to, often it turns out not to be on the page itself but buried a level or six down into the templates.  And even if it is on the page itself, it's usually a parameter or a delimited thing that has to obey syntax rules that I'm not familiar with.  So it's kinda tough, and requires a time investment that I'm not always willing or able to make for my small addition.  (I'm also slightly worried that the extensive templating is part of why the Wiki is so utterly dog-slow, but I don't know whether or not it actually is.)
 
I imagine the templating addresses important needs, and that the folks who contribute here often find it natural and useful; this is just the pov of one very casual user.  If there is a guide to editing the templatized pages and the templates somewhere, it'd be very nice if there were a good prominent pointer to it on the editing page.  (That guide could also talk about the motivation for such extensive templating, to help the newcomer or casual editor understand the whys as well as the hows.)
 
Tx very!  [[User:Dale Innis|Dale Innis]] 07:48, 6 January 2008 (PST)
 
:I understand perfectly. I wish there was some way I could simplify it without sacrificing the strengths. When you changed that template it effected 20 other articles; for someone to make that change manually on 20 articles would have been tedious and inexact. They shouldn't be lagging the wiki, the pages should be be cached after rendering. -- [[User:Strife Onizuka|Strife Onizuka]] 08:46, 6 January 2008 (PST)
 
::Good, glad it's efficient.  *8)  It would probably be worth having a page with a brief newcomer's introduction to the templating and basic suggestions on how to edit in its presence, as well as a pointer to the documentation (I hope there is some somewhere!) on the template syntax, for the non-experts; linked prominently from the Edit page.  I'd be glad to help with that if there's something within my skillz... [[User:Dale Innis|Dale Innis]]
 
:::You want to take a look at [[LSL Editing Primer]]. -- [[User:Strife Onizuka|Strife Onizuka]] 06:15, 9 January 2008 (PST)
 
::::V nice!  Is there any way to have a pointer to that on the Edit page somewhere?  I don't know the overall Wiki organization / platform well enough to know. -- [[User:Dale Innis|Dale Innis]] 08:27, 14 January 2008 (PST)
 
== Template:LSL_Function/face ==
 
Speaking of editing the templates an' all...  *8)  I notice that the [[llSetPrimitiveParams]]() page, and others in this family, contain the rather confusing and seemingly misplaced line "If face is ALL_SIDES then the flag works on all sides" in the header.  It's misplaced because "face" hasn't even been mentioned yet (it isn't one of the arguments to the function), and it's confusing because of the reference to "the flag" (I have no idea what the word "flag" means there).  There's similar "flag" confusing in the Caveats section, where it says "The flag silently fails if its face value indicates a face that does not exist".
 
I suspect this is because these pages use Template:LSL_Function/face, which is actually designed to be used with functions that have a face as an argument, whereas these guys have a "face" field inside a list that's an argument.  I have no idea what the Right Thing to do is to fix this, but I thought I'd point it out.  If there's a low-skill way to fix it *8) that someone can describe in sufficient detail, I'd be glad to do the typing, if that seems cost-effective.
 
[Edit: Okay, I figured out what "flag" means.  *8)  It's referring to a sublist of the list argument, that does a particular operation, and has a "face" value as one of the arguments.  Someone who reads more thoroughly than I do might well have figured that out by the time they got to the Caveats section; it still seems rather misplaced in the header, though.  Maybe the template could just put this line into caveats rather than into the header in general?  Is that an easy change?]
 
-- [[User:Dale Innis|Dale Innis]] 06:45, 14 February 2008 (PST)
 
:I have some ideas for the ll*PrimitiveParams functions to make them more accessible that I've been putting off implementing. I see what I can do to fix that while I'm at it. -- [[User:Strife Onizuka|Strife Onizuka]] 10:13, 14 February 2008 (PST)
 
:I've moved it into the Caveats section and added a quick access and description table for the set functions. -- [[User:Strife Onizuka|Strife Onizuka]] 12:04, 14 February 2008 (PST)
 
== Help Portal, and help for newbies ==
 
Hi, thanks for your comment, please see my reply posted at
https://wiki.secondlife.com/wiki/User_talk:Jaszon_Maynard/Proposed_Introduction
<br>--[[User:Jaszon Maynard|Jaszon Maynard]] 16:19, 25 February 2008 (PST)
 
== Signing LSL Examples ==
 
I would agree that "The signing of examples is kinda taboo".[http://wiki.secondlife.com/w/index.php?title=LlGetVel&diff=57548&oldid=57214]  <s>I am for removing all signing of examples,</s> except on examples which are unique designs.  To sign an example on a single function script is a vanity imho.  After all, credit for contribution to the Wiki is given in the edit histories.  --[[User:JetZep Zabelin|JetZep Zabelin]] 19:45, 7 March 2008 (PST)
 
:I have to agree with you on this. Unique is a good but unfortunately hard to qualify. That said I still think it should be the metric. I only sign my code when it's something novel or ground breaking. I don't mind it at the end as a comment in the source. It gives people someone to contact when the script isn't working properly. I don't think this should be carried over to the useful tidbits section as those are more about providing useful code, not so much about teaching how to script (if something is truly useful then some credit is due); also when they don't work the user knows who to complain to. -- [[User:Strife Onizuka|Strife Onizuka]] 22:26, 8 March 2008 (PST)
 
::Yes, I was referring mostly to something like this, of course my example is a bit extreme! Cheers
 
<lsl>
default
{
  state_entry()
  {
    llSay("Hello Avatar", ALL_SIDES);
  }
 
} // JetZep Zabelin 24:05, 10 March 2008 (PDT)</lsl>
 
== Combined Library ==
 
Hi Strife, I've been enjoying your [[Combined Library]] today. I noticed that the Base64ToDwordList function on the wiki page didn't completely make it through the preprocessor. The current version is slightly different, so I decided not to edit myself. That led me to download the .esl versions, where I found library.esl wants to include a missing Unicode.esl, an easy commenting fix for the moment. Thought you might want to know; otherwise I'm blissfully putting your code to use -- [[User:Niaht Nakamichi|Niaht Nakamichi]] 23:07, 16 March 2008 (PDT)
 
:I'll take a look into Base64ToDwordList later but I'll add Unicode.esl to the package now. -- [[User:Strife Onizuka|Strife Onizuka]] 22:19, 17 March 2008 (PDT)
 
::Packaged updated. You will find that a lot of functions have undocumented macros that change how the functions function. Some change the return, others add new functionality. There are some targeting, compatibility and optimization macros that do interesting things. It is always good to test the functions, I sometimes let a bug slip past... other times I change a macro and things break. Most development into the library doesn't involve changing the functions but adding new functions (mostly in Binary Functions.esl). -- [[User:Strife Onizuka|Strife Onizuka]] 22:31, 17 March 2008 (PDT)
 
:::Awesome, thanks! It is a nice setup. Test twice, roll-out once :) (ohhh if only)
 
:::On a different but related note, I noticed one odd bug in your [[XTEA]] code. (or one of the functions from the Combined Library it uses, which is why I'm putting this here since I'm not sure yet). If string to encrypt contains a '0', 'h', 'l', 'p', 't', etc.. as the last character, and the string is a length of 1, 4, 7, 10, etc.. you will loose the last letter somewhere (e.g. "test" becomes "tes"). If I manage to figure this out I'll post a fix. [[User:Niaht Nakamichi|Niaht Nakamichi]] 21:28, 18 March 2008 (PDT)
 
::::That bug is back? The problem is that you can't tell the length of an XTEA encoded string by looking at it. I'll see what I can do about coaxing it to behave. I need to overhaul XTEA, I've deployed it in a less then optimal way (code book instead of stream). I need to revisit most of the encryption & hashing functions I've written, I wrote them before I wrote "Binary Functions.esl" and they could benefit from using those functions. -- [[User:Strife Onizuka|Strife Onizuka]] 23:09, 18 March 2008 (PDT)
 
:::::I've been working on a different project and I don't know when I'll have time to work on CL or XTEA :( -- [[User:Strife Onizuka|Strife Onizuka]] 02:05, 20 March 2008 (PDT)
 
:::::: No worries.. I've been piecing together a little XXTEA implementation (not pretty, but functional), so I was just going through testing the different XTEA implementations for comparative and learning purposes. No sense in not reporting a bug :) -- [[User:Niaht Nakamichi|Niaht Nakamichi]] 11:23, 20 March 2008 (PDT)
 
----
 
Hey Strife, I wanted to actually add a legend but forgotten about it, thanks for reminding! --[[User:Nexii Malthus|Nexii Malthus]] 15:15, 7 May 2008 (PDT)
 
== Redirects Reply... ==
 
(I'm not sure how to inform people of a talk reply...) [[User_talk:Scalar_Tardis]]
 
== [[LlListRandomize]] and the use of random vs pseudo random ==
 
Since you seem to have written and/or formatted a lot of the documentation on this I figure you'd be the best choice to answer this question.  For [[LlListRandomize]] should all uses of random be replaced with pseudo random as appears to be the case with [[llFrand]]'s mentioning of random number generation or should it be left as it is currently referencing random which is less accurate in my opinion.  [[User:Gordon Wendt|Gordon Wendt]] 13:31, 8 June 2008 (PDT)

Latest revision as of 09:01, 4 November 2008

DialogMenus Tutorial Piece

Moved to Talk:DialogMenus#DialogMenus_Tutorial_Piece.

Hello from Chaz Longstaff

Hi Strife, Chaz Longstaff here. (Wednesday, 15 July 2008.)

First of all, I want to thank you Strife for all you have done to date on the official wiki. Without you, it wouldn't be here at all. Your knowledge, skill and commitment (plus diplomatic skills and courtesy, noted by many) are a bonanza to LSL.

>> At first your edits were naive

If you mean geared toward beginners, then I take that as an immeasurable compliment :} If you mean in terms of how to use your template, yep, I'm figuring it out piece by piece as I go. As for editing, I don't mind being edited; I've written professionally all my life up here in Canada and so am used to it. When you write something, you have to be willing to let it go and let a second-pair of eyes give it a once over.

>> the quality of your edits and contributions have been constantly improving

Ah yes, I'm slowly getting the hang of your template. Its construct wasn't apparent at first. No fault of yours: anything like this anywhere in life just takes a while and a bit of effort to figure out, but if you're going to join any project, it's common decency to first understand how people have done things to date and to catch up with the procedures. I'm making the effort and grokking more of it now.

>> I would love to dialog (on the wiki preferably).

Where is the dialogue place? Is it here? https://wiki.secondlife.com/wiki/Talk:LSL_Portal_Guidelines

Just wanted to give you a heads-up that my emphasis would be on accessibility and relevance for beginners and learners. What would motivate me is adding to the LSL wiki how-to-do's, step-by-step, in readily-understood common-use language, so that even LSL dabblers can tackle in-world some scripting basics. I've just passed the initial 1 1/2 year learning hump, so I want to get down what puzzled me at the start, while it is still clear in my mind, before I become an older-hand and take all the basics for granted.

I don't think you'll object to that, though. I read here https://jira.secondlife.com/browse/WEB-658 that you feel that both (a) basic information (presented in accessible, plain old-fashioned English using good old Anglo-Saxon root words) and (b) more esoteric, complex concepts expressed in a technical vocabulary can and should have a place in the LSL wiki.

I realize that some techies may look down on "plain English", but I was taught to see it as a strength, not a weakness.

So, you don't mind my jumping in? I know you want help, and want to make the "official" wiki more than an often-disregarded cousin to other LSL wikis on the Internet (or whatever analogy is appropriate.) But it must be hard, because it is your baby, to have others come in and just "do stuff", especially adding a focus that is different from the one you have brought to bear on it so far.

Given that you not only left but added (some good stuff, thanks!) to my entry on chat, for instance, I think you're okay with that kind of approach being added onto what's there already. Just to be clear, though, if you'd rather I didn't, now's the time to sing out, and I'll happily bow out with no hard feelings and focus on other projects.


p.s. everything you've edited on my postings has been great, and muchly appreciated! Thank you for taking the time to review them!

p.p.s. I see there is a project to port the LSL wiki to other languages. I speak 7 human languages, but I think I'll see how I get on with the English-language version first before enquiring further about the others.

Chaz Longstaff 08:41, 15 July 2008 (PDT)

I want you to continue to contribute. Not just because it's easier to fix someone else's edits, but because you produce good meaty content. I have no interest in having the wiki all to my self, my goal is to have the content being the best it can be and you seem to share that. You explain things in such a way that they make sense but without going overboard on wordiness, or hide related caveats. Plain English is a hard balance, I tend to lean towards concise & technical but that doesn't make me right. I find it much easier to add content after someone has made edits to an article, it's easier to see what's needed. Some people take offense to the activity but wiki's are about the content not the contributers; I'm glad you aren't upset by it. I welcome you to review my content and make changes, we all need a second set of eyeballs.
If I thought your contributions were crap I would remove them; I have no compunction with removing bad content. If I make changes to an edit it means I agree with what I don't change; if the changes were minor then I just felt the wording wasn't quite right. If I don't make changes at all it means I agree or I haven't seen it yet (or worst case scenario that I haven't gotten to it yet).
I think it's great you are targeting newbies. I've been coding in LSL so long (4 1/2 years?) that I don't remember what it was like to be a newbie (I knew how to program to start with so I wasn't really ever an LSL newbie), so I'm not that good at writing content targeted for them. I keep an eye on the SL forums and try to add content to the documentation to answer questions that crop up there but that don't really address the issue pro-actively. We need people who can write content for that audience.
I'm sorry to say that WEB-65 isn't me at my best, I don't get along well with Eren; I'm glad you were able to distill anything useful from it and weren't confused by it (which incidentally also raises my opinion of you). Finding and keeping the balance is hard; you seem to be doing a good job of it.
To some things up, I not only don't mind, I'm excited that you have jumping in. I want you to continue.
p.s. There are a lot of variables you can use with the LSL Function template. They aren't all listed in the article source (and the order they are defined in doesn't matter), if there is one missing (from the article source) you can just add it; the unused ones listed are for convenience. There is also a Newbie Notes section you might be interested in, it's for writing tutorials for newbies, it allows for a short synopses to be inserted into the appropriate articles.
-- Strife Onizuka 12:48, 15 July 2008 (PDT)

LlListRandomize and the use of random vs pseudo random

Since you seem to have written and/or formatted a lot of the documentation on this I figure you'd be the best choice to answer this question. For LlListRandomize should all uses of random be replaced with pseudo random as appears to be the case with llFrand's mentioning of random number generation or should it be left as it is currently referencing random which is less accurate in my opinion. Gordon Wendt 13:31, 8 June 2008 (PDT)

I've moved the conversation to Talk:LlListRandomize. -- Strife Onizuka 13:54, 8 June 2008 (PDT)

Typo in geometric function?

Since it appears the code came from you, I am just putting a pointer here to comments I've added:

Talk:Geometric#Typo in Box and Ray, Intersection Distance, or is it correct?

Scalar Tardis 22:51, 15 June 2008 (PDT)

Endorsed Group Entry & Other Stuffz

Heya Strife!
Since you're one of the owners of the LSL portal translation group, I'd like to ask you to consider joining the endorsed group program. It would/could at least raise some attention to the project and therefor might attract new contributors. Problem: The group would need at least 25 members. But that should be managable somehow...
Besides that I'd like to ask you to add it to Volunteer Groups#Other Volunteer Groups and maybe add info about how to join the group in the group charter.
Might also want to add your point of view here.
Greetz =) Zai Lynch(talk|contribs) 22:18, 26 June 2008 (PDT)

LSL Library

Heyas Strife!
I just used to clean the Special:DoubleRedirects and the LSL Library is confusing me there... It's listed as it would link to Float, what it's not doing. Is it because the page still got content besides the redirect? And should the talkpage be moved too? I'm just confused atm but I'm sure you'll know the answers.
Greetz, --Zai Lynch(talk|contribs) 22:55, 11 July 2008 (PDT)

I'd say either leave the talk page or merge it with the category talk page. The Float stuff is because of theU other content on the page yes. Oh and good job cleaning up the double redirects, i looked at that recently and was like "this is more work then i want to do." -- Strife Onizuka 01:58, 12 July 2008 (PDT)
Thankies (^_^). Ok, merged the talkpages and cleared the other. That fixed the problem. Greetz, Zai Lynch(talk|contribs) 04:05, 12 July 2008 (PDT)

Second parameter of Template:Multi-lang

Hi Strife, thanks for fixing Template:LSL Function/zh-Hans (although currently it's only used in llGetPizza/zh-Hans XD). So the second parameter of Template:Multi-lang are mandatory for translations? --Geneko Nemeth 07:40, 18 July 2008 (PDT)

It's not mandatory for language codes that don't indicate a dialect. It's easy to read two char tags but we sometimes get false positives so, if we added support for dialect detection we would likely get a lot more in the way of false positives though now that I think about it, it might not be that bad of a problem. I'll put it on the list of things to investigate. For the time being languages like Traditional and Simplified Chinese, you will need to use the appropriate dialect tags. -- Strife Onizuka 10:52, 18 July 2008 (PDT)
Hmm, it seems to be a bit broken. Using {{multi-lang|2=zh-Hans}} (not specifying base page name) gives you a wrong base page name with an extra trailing / (e.g. "Quickie Wiki Intro/") --Geneko Nemeth 16:22, 25 July 2008 (PDT)
For complexity reasons, the "/" is considered to be part of the code, you should be setting it to {{multi-lang|2=/zh-Hans}} -- Strife (talk|contribs) 22:48, 25 July 2008 (PDT)

Clustered Linksection(s)

Heyas Strife!
While translating, I noticed that the related links for related functions are always the same (for obvious reasons). So I wondered if it would benefit the portal in case those were outsourced with a template for each cluster. For example, all communication function links (llWhisper, llSay, llShout, llRegionSay etc.) in one cluster. Why would it benefit? Changes in the description of one of these functions would be visible to all related functions. I'm currently lacking an appropriate example, but I noticed differences in the descriptions of some links. This could be unified with such an additional template. So I'm referring to the |also_functions= {{LSL DefineRow||[[FUNCTION]]|}} part.
Greetz, Zai signature.png Lynch (talk|contribs) 22:36, 11 September 2008 (PDT)

I have thought about that, and a number of the templates do do that (script permissions for example), the problem is you have to add in extra conditions to keep the article from linking to itself. Alternatively a special brief description set of pages could be created with template to inline those descriptions where needed. A giant switch statement can't be used because it kicks the crap out of the wiki (I tried). -- Strife (talk|contribs) 09:34, 12 September 2008 (PDT)
Ultimately I never came to a decision as to the correct solution and at the time I was the only one concerned with the issue. All solutions are a bunch of work and with the wiki, it's no good to make a decision if nobody wants to do the work. It looks like we might have the critical mass needed to make a decision and implement a solution.
There are really 3 solutions and they each have nasty implementation caveats.
  1. Each article is a template too and use the <includeonly>, <noinclude> and <onlyinclude> tags..
    • Complicates the articles and if not implemented properly on each article will result in a huge mess.
  2. Each article has a child article that contains the description.
    • Requires the generation of a huge number of pages.
  3. System of templates and divided database of descriptions
    • The core DB templates will be included multiple times
  4. Topic specific templates that provide links with descriptions for that specific topic.
    • A description might be different between different topics, this might not be a bad thing.
--Strife (talk|contribs) 09:48, 12 September 2008 (PDT)
Hmm... I'm not even sure if it's such a bad thing. I was concerned about it in the beginning too but now I'm seeing it as some kind of "Where am I and where can I go from here?" feature, with a "current article in a nutshell" description. So I'm not sure if effort and outcome of hiding the link are in a decent relationship. Since the links aren't clickable either when they are linking to the current page. See llAddToLandPassList/de for an implementation in a German translation.
Zai signature.png Lynch (talk|contribs) 00:05, 13 September 2008 (PDT)
It does make sense. On many constant pages currently we just inline the table and ignore the self-link problem as you have. Maybe we should be thinking about modules for topics; like what they have on wikipedia (footers and right side floaters). I'm all for anything that saves us work and makes the articles better. -- Strife (talk|contribs) 00:27, 13 September 2008 (PDT)
So with wikipedialike modules, you're referring to something like the Template:The Dresden Dolls in the The Dresden Dolls (album) article? (Would we be able to build such a shiny hide/show javascript feature too?) Looks neat indeed... Zai signature.png Lynch (talk|contribs) 00:45, 13 September 2008 (PDT)
That's what I was thinking of yes, my initial thoughts are that given the current layout that it isn't the best solution but I can't quite see how to make it better. Something to think about but in the mean time standardized links seem like a reasonable stopgap solution. As to collapsible sections, that is something that comes as a feature of later versions of MediaWiki (I've got a jira on collapsible sections/tables). It really only requires copying the javascript over. The sortable tables JS needs updating too. -- Strife (talk|contribs) 00:52, 13 September 2008 (PDT)
The only reason we use the "LSL DefineRow" template for links was because I was too lazy at the time to create a specialized template for it. The entire DefineRow solution was never a perfect solution even for it's intended application (which is something that has annoyed me). -- Strife (talk|contribs) 00:59, 13 September 2008 (PDT)
Okiesh, voted on WEB-235 (created July 2007? (x_X)).
I'm currently using Template:LSL DefineRow/de in Template:LSL Security Links/de. So should it be(come) a box instead with a change in Template:LSL Function/de? Or can I continue to build up clusters in such a way?
Zai signature.png Lynch (talk|contribs) 01:17, 13 September 2008 (PDT)
I say, with DefineRow derivatives do what seems appropriate. As long as the appearance (of the articles) is consistent it really doesn't matter how you get there. Refactor to your hearts content if the wind blows you that way. -- Strife (talk|contribs) 01:26, 13 September 2008 (PDT)
Wow, that sounds philosophical. I will store that quote (^_^) luv ya Zai signature.png Lynch (talk|contribs) 01:38, 13 September 2008 (PDT)

function/de

Sorry for the extra work with /de functions. I was sure Template:LSL Function/de would automatically register them to /de cats but haven't payed attention to it... Will have a look at the few translated ones to ensure that they aren't cluttering the english cats. Greetz, Zai signature.png Lynch (talk|contribs) 03:06, 23 September 2008 (PDT)

No biggy, I only just noticed the problem and it drove me to fix some template bugs. -- Strife (talk|contribs) 07:44, 23 September 2008 (PDT)

LSL Caveats - Range

Heyas =)
I recognized some LSL caveats and wasn't sure how to word them properly, so I'll leave the suggestion up here for you. So, when you got a linkset and attach a script with a listener to a childprim, the listener is only triggered when the chat is spoken in the listeningrange of the root prim. While, when a llSay is spoken from a child prim, it's heard in a 20m radius around that child prims location (not root prim). So the prim listens at root and speaks at child. This should somehow be mentioned, I think. I also recognized that the llRezObject function is failing if the location is more than 10 m away from the child prim who has the script attached, again. So all functions which only work within a certain range should have a note if the range is measured from the prim where the script is attached in or if it is always the root prim.
Greetz, Zai signature.png Lynch (talk|contribs) 14:43, 1 October 2008 (PDT)

I'll take a look at the wording for the llRez* functions and see what I can do to clarify. You are right that the chat/listen thing should be documented, this is the first I've heard of it thou and I've never come across it in any of my strangest of experiments (trust me on them being strange, ask me about the link-growth experiments some time). You should probably make a jira topic on it under SVC, just to see what information bubbles to the surface on this, a low priority bug maybe? -- Strife (talk|contribs) 20:39, 1 October 2008 (PDT)
Some bits of memory or false memory bubbled up as I was writing the caveat for listen and is reflected in the caveat. Take a look and tell me what you think. -- Strife (talk|contribs) 21:09, 1 October 2008 (PDT)
Google helped me to dig out VWR-2923 which is appearently missfiled (wrong category) but describes the same problem. I think the explanation you gave (prevention from spy scripts) could be the reason indeed, although there is no official statement on it that I was able to find. Thx for the clarification in the articles! =)
P.S.: I'll poke you on that link-growth story the next time I see you around (^_^).
Greetz, Zai signature.png Lynch (talk|contribs) 04:45, 2 October 2008 (PDT)