User:Gordon Wendt
JIRA
General
Specific to me
Misc
- /watchlist - Issues I am keeping an eye on for one reason or another
- /blacklist - Issues that I usually cull as I see when I'm doing the bug triage agenda
People
- <videoflash>hTIsIjZCvHk</videoflash>
Subpages
- Personal
- Code
- Articles
About Strife
Synopses
Strife joined 3/3/2004, and is an avid scripter, wiki author and SL forum denizen. Not content in selfish information gathering, he shares what he knows through various mediums, so that others may benefit and learn. He volunteers his time to work on many public projects which include: giving scripting advice, writing LSL documentation, providing and improving LSL scripts and libraries. Secondlife has been on Strife's brain for that last 2 decades.
SL Status
Strife is unemployed. Leave me a note on my talk page.
Honors
Through his public works Strife became a pillar of the SL community.
Strife is a Hippo award winner, awarded "Best Community Organizer" in the 2007 Linden Lab Innovation Awards, and here is his mention as a runner-up in the 2008 "Best Documentation" category: "Last year's winner, Strife Onizuka, continued to be insanely prolific, with thousands of edits over the past year.... Anyone learning LSL is almost certainly indebted to Strife's work in some way."
Own Words
I'm an immigrant from URU. Was in all 3 of it's beta's.
Wiki Gnome (causing drama isn't why I'm here) for about 21 years.
I havehad a webpage but I haven't updated it in a fewmany monthsyears...
Wiki's are the way of the future when it comes to making documentation Ad-hoc. With popularity graffiti becomes a worsening problem. The wiki owner is left between a rock and a hard place: cope with graffiti edits or cope with out-of-data information. The popular choice is to restrict editing, which ultimately drives away legitimate editors.
I also contribute to some other wikis:
When it comes to writing I tend to go towards concise. A short accurate description is better then a long equally accurate description; less to get confused with, easier to find the important information (because it is all important).
Scite/ESL
My config files:
- Google Drive
- lsl.api
- lsl.properties
- stripper.zip - Whitespace stripper
- clipboard.zip - copies text to clipboard
- lslint (Makopo's fork)
- builtins.txt - Up to date keyword file for lslint (generated by kwdb)
- indent - code beautifier (picks up where the whitespace stripper leaves off)
- MSVC Express
TightList
See TightList
Float Functions
See /Float Functions
BitCount
integer bitcount(integer n)
{//MIT Hackmem 169, modified to work in LSL
integer tmp = n - ((n >> 1) & 0x5B6DB6DB)//modified mask
- ((n >> 2) & 0x49249249);
return (((tmp + (tmp >> 3)) & 0xC71C71C7) % 63) - (n >> 31);
}
Tenebrous
string ignore = "c228d1cf-4b5d-4ba8-84f4-899a0796aa97";
list Tenebrous(){
integer link = llGetNumberOfPrims();
list out;
string s;
for(link -= (link == 1); !llGetLinkNumberOfSides(link);)
{
list t = llGetLinkPrimitiveParams(link, [PRIM_TEXTURE, ALL_SIDES]);
integer i = t != [];
while((i -= 4) >= 0)
if(ignore != (s = llList2String(t, i)))
out = [i >> 2, s] + out;
out = llGetLinkKey(link--) + out;
}
return out;
}
CMAKE
My various cmake notes
User:Michelle2_Zenovka/cmake-flags
User:Michelle2_Zenovka/cmake-notes
How to cook the voice daemon so it runs on 64 bit debian
Debian packages of the secondlife viewer
[www.byteme.org.uk/secondlife/apt-get-a-secondlife.html]
[wiki.debian.org/Games/OpenMetaverseViewer] - Great cmake instructions for building the viewer
- - again, too many great contributions to count and/or describe
- Jesse Barnett - Scripter Extraordinaire
Meetings
- Bug triage - The main page for the bug triage meetings
- General
- Mondays
- 12pm PST
- Hippotropolis Meeting area
- Release Candidate
- Wednesdays
- 3pm PST
- Bridie Linden's house
- General
- Open Source Meeting - The main page for the open source meetings
- Thursdays
- 2pm PST
- Hippotropolis
- User Experience Interest Group - The main for the User Experience Interest Group Meetings
- Thursdays
- 3 PM PST
- Benjamin Linden's office
Useful pages
- Special:Random - Directs to a random page on the wiki
- Submitting_code - Info on how to submit code as well as the proper way to create a patch
- Office Hours - A listing of all the Lindens' Office Hours
Miscellaneous
/sandbox - an internal sandbox I use to test various wiki specific changes.
/testbed - For posting my experimental ideas including scripts, scraps of code, etc... --- USE AT YOUR OWN RISK
Free Scripts
Some scripts that I have written that I am freely releasing
Quick and Dirty chat repeater
Repeats whatever you say on a user definable channel on channel 0 (public chat), also added commented out info on how to make it shout or whisper as well as say
<lsl>
// Coded by Gordon Wendt, free to reuse, snip, recode, give away, or use in derivative works for all perpetuity, all I ask is that you leave this notice intact, add your name below mine if you add something to the code, and leave this and any other creator's notice intact
// ----- // GORDON WENDT
// ACTUAL CODE STARTS HERE
// Change the object name to whatever you want the message to be prefixed by, replace with a single space to make object name appear blank, though message will still have a semicolon (:) before it
integer chan = 5; // replace with whatever channel number you want the object to listen on
default {
state_entry() { llListen(chan,"","",""); // sets the listen so that object listens to says on that channel }
listen(integer channel,string name,key id,string message) { llSay(0,message); // says whatever it heard on channel 5 in channel 0 which is the standard general chat // ALTERNATE MODES (ADVANCED) // to use these instead of llSay put two forward slashes (//) before llSay and remove the two slashes from oen of the lines below, to reverse just re-add the slashes to that line and remove the ones from the llSay line // llShout(0,message); // if you'd prefer it to shout // llWhisper(0,message); // if you'd prefer it to whisper }
}
</lsl>
Free code snippets
A couple of code snippets I"m freely releasing for anyone to use
Naming Trick
A cheap little trick to make the object name on the way the script name then change the object name back
<lsl>
default { state_entry() { a = llGetObjectName(); // grabs the current object name and stores it so it can be restored later llSetObjectName(llGetScriptName() ); // changes the object name to the script name ( see advanced use for more info) llOwnerSay("this is the test statement"); // your test statement, said with the name of the script name llSetObjectName(a);// changes the object name back to what it originally was // ADVANCED USE: change llGetScriptName() to a string of text (surrounded by quotes ("") or just change the script name } }
</lsl>