User talk:Strife Onizuka
is hereby awarded with the
Geek Award
for
the most creative template name:
Template:Template
by Zai Lynch
You found my talk page... Find old discussions at: User:Strife_Onizuka/Talkpage_Archive_01
Question about Template:Multi-lang
Heyas =)
I was trying to add the new version feature to the help template and stumbled upon a difficulty where I hoped you could help me with... I made a testpage at User:Zai Lynch/Sandbox/MLtest/de but it acts weird... when i make a change to User:Zai_Lynch/Sandbox/MLtest/version then the box is displayed at the test page. When I just edit and save the test page (without changing anything) it eats up the language bar. It acts somehow unexpectedly/random. I don't really know why it is... (o.O) Any ideas?
Lynch (talk|contribs) 19:42, 5 November 2008 (UTC)
- I'll take a look at the template and fidget with it. No ideas come to mind. -- Strife (talk|contribs) 20:00, 5 November 2008 (UTC)
- hm... the bug seems to be very strange. And it isn't part of the template.
- Please try the following and tell me what you see:
- Log out of the Wiki and then browse to Quickie_Wiki_Intro/Usercategories (or User:Zai_Lynch/Sandbox/MLtest/de). Notice: there is a language bar on top
- Log in the Wiki and look at the same page. Notice: Language bar is gone.
- Edit the article and preview. Notice: Language bar is visible in preview.
- Save the article. Notice: Language bar is gone again.
- Go to Special:Preferences and change the interface language (to German, for example). Notice: The language bar is visible...
- Change the language back to English. Notice: The language bar is gone again...
- o.O Lynch (talk|contribs) 07:47, 6 November 2008 (UTC)
grid list
Strife, I was wondering if you'd mind if I took the idea from the grids and downloads list that you have and turned it into a template since I know of a few places (my userpage for one :) ) where it could be useful and I didn't just want to copy off the code especially without your permission. Gordon Wendt 16:34, 6 November 2008 (UTC)
- Do what you want with it, I didn't put it in the global space because...
- Make changes without having to fix what it breaks.
- Unsure about who would want to use it.
- Didn't want to fix my content when others changed it.
- To recap, you are welcome to reuse the code. -- Strife (talk|contribs) 20:24, 6 November 2008 (UTC)
LSL Category Localization Template
Heyas! =)
It's me again... I wanted to ask for feedback/input on these two templates: German, French.
It would be supposed to easily provide unified localized LSL cats so translators wouldn't accidentally connect an article to a wrong category when they'd choose another translation for the same word. I implemented a small test version in Template:LSL Function/de, Template:LSL Event/de, Template:LSL Constant/de, Template:LSLC/de and Template:LSLGC/de. I tried about 5 different ways of implementing the template itself (without database-slaves) but they all failed due to either wiki limitations or parser function bugs (it worked well in the sandbox wiki). I'd like to try it in the German localization (can't break much content there at the moment...) and in case it works out fine, Gally would be willing to help me for the French implementation. Do you have any objections against the template (could it break something? slow the wiki down?) or input, thoughts, ...? Are there more templates besides the 5 I already altered, where I should pay attention to?
Greetz, Lynch (talk|contribs) 00:35, 21 November 2008 (UTC)
- I've given a lot of thought to slaves in the past (there was a time I wanted a centralized function/constant/event description lookup for the "Also..." section). The correct way to implement them is to have a slave for each letter, the advantage is that slaves can have slaves. If implemented properly the cost is very small. The problem however is that you have to be conscious of the format. If you want to change the format you have to change the entire DB. I believe the best solution is to version each of the entries. Now at this point you need to take a step back and ask "Am I reinventing the wheel?" And the answer is "Yes". Essentially what you want is a database where you can feed it a key and get the stored value pair.
- There is of course another solution to this problem. Make all the Categories smart so they can be included (like the PRIM_* flags), and pass it a parameter that tells it to only return the foreign language category name you specify OR you could make a subpage like we do for the translation version (which would be really smart) and just have the lookup table there.
- Anywho there are my initial thoughts on this. Last time I checked MW executes both sides of a conditional, so you need to make it so what is inside the conditional is not the template but just the name of the template (so it only executes text and not a template). -- Strife (talk|contribs) 01:42, 21 November 2008 (UTC)
- Thx for the feedback =)
- @Slaves: I didn't wanted to use any slaves for this. My goal was, to have all translations stored on one page so that only that one needed to be localized. Unfortunatly, the else-if chain exceeded the maximum depth allowed by the mediawiki. So I tried to break the chain into two chains and store a variable value in case the first chain didn't give a result, so the second chain starts. This works in the sandbox but not over here due to the nasty bug you mentioned as well. I also tried a recursive process where the template called itself with a value but the Wiki complained again (it doesn't like loops...). After two other work arounds failed too, I had to create the slaves to do the job... But I'm not really happy with that solution since it splits my database into 2. Splitting it further (for every letter) would erase one of the benefits: easy localization. I think the database (around 100 terms in worst case, usually less cause not all terms need a translation) is to small to justify that.
- The smart cat version is a way I thought about too (and Gally had a similar idea to unify categories on translated subpages), but the problem with it would be again that it is a decentralized implementation. Someone who wants to begin with a new translation of the portal would have to edit all smart-cat pages instead of only one (or two) database pages. So I would consider this method in case it notably decreases the load on the Wiki. I don't know how computationally intensive it is for the Wiki to check the current database slaves. In case it's to much, I'd like the subpage-lookup best. With some preperation (collecting translations for more than one language, like done with the HP L10n) and then add them all when we got maybe 5 or 6 languages.
- Lynch (talk|contribs) 17:03, 21 November 2008 (UTC)
- You would actually want to use "switch" instead of "ifeq", that said, you don't want to have a huge switch statement, it's not good for the wiki. Huge templates take a long time to execute (take a look at the templates on LSO, they take so long to rebuild that the connection times out and the wiki has a fit). Anyway you cut it, to add a new language would require duplicating the slave DB. It would not be fun. You may gain some centralization by having the Slave DB but to keep it from bringing the wiki to it's knees you won't have much. If we decide to forgo the centralization altogether and go with a system like the article versioning, we can solve several problems all at once that would have popped up as a result of having it in a DB. If we do it properly we can set it up like multi-lang with the articles in need of translation. Sure it would be a bear to setup for each language but the alternatives just don't scale or require maintenance to allow it to scale. -- Strife (talk|contribs) 04:25, 22 November 2008 (UTC)
- Just to make sure that we're on the same page: I meant one DB (or X slaves) for each language. Not one DB for all languages. The German templates would only call the German DB, French only French, etc. So the maximum else-if depth got an upper bound at the count of LSL cats (worst case, when every cat has a translation other than cat/ISO-CODE) which seems to be something between 100 and 110.
- That beeing said, I got to agree about the LSO article. I also checked the L10n lookup database and got to say that it needs like forever to load... Might be since I included it a hundret times in the table to verify that all translations work right and (since most of the translations are missing) it needs to run the else-if chain till the end. So it would only be included about 4 times on an average article I guess. Load would then be roughly ((current load)/100)*4 + (load of other templates).
- So I think we'll go with the smart-cat-subpage-lookup? I'd then need a complete list of LSL cats to hand them out to linguists to translate. I think the table should be complete but I'm not 100% sure. For implementation we'd need to take care of the input format. French translations use "cat/fr" as input while Japanese and German translations just use "cat". So we'd either need to add these differences at the subpages (bad imho) or make the template unify the input before passing it to the lookup (better imho).
- Lynch (talk|contribs) 14:46, 22 November 2008 (UTC)
- It won't be ((current load)/100)*4 + (load of other templates), it will be (current load)*4 + (load of other templates); there is no speed gain to my knowledge to a big switch statement (that I know of), it's O(N), not O(1). You probably don't want more than 25 items per slave, properly configured, it won't be much more costly then the slaves. -- Strife (talk|contribs) 01:27, 23 November 2008 (UTC)
- Currently, the template is included about 100 times in the table. At an average article, it would be only included maybe 3, 4 or 5 times. So it would be ((the load of the 100 includes table) / 100) * (number of inclusions in the article). That is what I meant. Not the else-if depth or the switch.
- Lynch (talk|contribs) 01:37, 23 November 2008 (UTC)
MIA
Ouch, I hope you get yourself setup soon with a new job and computer, your a valuable member of the community and it would be somewhat depressing to lose you. I wish you good luck. --Nexii Malthus 10:53, 30 November 2008 (UTC)
What Nexii said... *adds home, job and PC to Santa's list for Strife, as well as a four leaf clover and a fresh polished horseshoe for the x-tra boost of luck*
Lynch (talk|contribs) 13:37, 30 November 2008 (UTC)
- It all basically means I can't write scripts, login to SL or do much template work (alignment gets funky at smaller than 100% zoom). -- Strife (talk|contribs) 01:31, 1 December 2008 (UTC)
take care... (o.O) hope you're one of them and we'll have you back soon. *hugz*
Lynch (talk|contribs) 22:57, 21 December 2008 (UTC)
- *Borrows a computer* for the moment things are ok, after the holidays things will be a mess... *hugs* -- Strife (talk|contribs) 17:04, 22 December 2008 (UTC)
Geek Award
LOL. That really makes my day. As to the inspiration... I got sick of having to manually double embed templates to avoid the call cost. I had been wanting a null/empty template so I could have an if on the template name and so nothing would get included... but then I'm like, why not a variable template? So I start to write it and I'm then like? What to name it... I know "Template". On review though, the null/empty template is the better idea. -- Strife (talk|contribs) 21:44, 10 December 2008 (UTC)
- Glad you like it (^_^)
- Can you explain why an empty template is reducing the load on the Wiki when you call it with a parser function as an argument? Has it got something to do with WEB-896?
- Lynch (talk|contribs) 22:45, 10 December 2008 (UTC)
- Yep it has to do with WEB-896. Say you had the following code but you wanted it conditional:
{{ugly|ugly param1|ugly param2}}
- The easy thing would be to just wrap it:
{{#if:{{{test|}}}|{{ugly|ugly param1|ugly param2}}}}
- The problem is, Template:Ugly gets evaluated (and it effects #vars).
- Lets look at this solution:
{{{{#if:{{{test|}}}|ugly|/dev/null}}|ugly param1|ugly param2}}
- By putting the conditional around the name of the template, when the test fails it evaluates Template:/dev/null ... which does nothing, and with MediaWiki 1.12 template parameters aren't evaluated until they are first used by the template; so in this case, they are never evaluated. It gets us around the ugly problem of conditional templates getting called needlessly.
- Historically I've used Template:! instead of /dev/null, for the only reason I hadn't gotten around to making the /dev/null template. This of course had it's own problems (specifically that it inserted a | (pipe character)). I'll probably start converting things over to /dev/null when I do template updates.
Haha, nice award. Template:Template is definitely something interesting. --Nexii Malthus 02:11, 11 December 2008 (UTC)
Widgets
Kuraiko added the widgets extension to our sandbox and added your account to the widget editors group. So if you'd like to play arround with widgets in a sandboxed SLwiki-like environment in order to develop some for this Wiki, you can have a look there when you're back and got time and so... Keep in mind that parser functions are acting slightly different, but the rest should be the same and the content isn't so much outdated (maybe a few month old). Have fun =)
I hope it will all turn out well for you soon... oh btw: you got mail. Outdated though.
Greetz, Lynch (talk|contribs) 02:10, 23 December 2008 (UTC)
Notecard campaign to M Linden
I have been distributing this notecard:
[If you agree, please remove this line, replace the signature below, and send to M] M, Please hire Strife Onizuka; please read his user page: http://wiki.secondlife.com/wiki/User:Strife_Onizuka I don't know him personally, only through his volunteer work, and I'm not related to him or interested in this financially. Would you please ask the Lindens in the HR department to read https://wiki.secondlife.com/wiki/User:Strife_Onizuka and see if he's ever applied, and if not, invite him to using his email address on file, and if so, resubmit him to jobs http://lindenlab.hrmdirect.com/employment/view.php?req=27066 and http://lindenlab.hrmdirect.com/employment/view.php?req=26066 ? Thank you. JS Uralia
JS Uralia 03:26, 30 December 2008 (UTC)
- As awesome as that is, I somehow have a feeling M Linden would be too overwhelmed with other inventory gives, IMs and other dialogs. --Nexii Malthus 17:47, 31 December 2008 (UTC)
- I haven't applied for a job with LL in 4 1/2 years. The triage job doesn't sound like a job I would want to do on a full time basis. With all honesty I don't think I'm skilled enough to be a senior developer for LL; I've met several of them and I don't feel I'm smart enough. -- Strife (talk|contribs) 21:45, 1 January 2009 (UTC)
- I didn't knew if I should answer to the topic, though I need to disagree now. I can not tell about your knowledge in C/C++ (etc.) or about the needed experience for the job. You might be lacking either or both and that might be the reason for not applying. But you're definatly not lacking smartness in any way. You've proofen that uncountable times.
- Lynch (talk|contribs) 05:20, 2 January 2009 (UTC)
WB
Glad to see you're still out there! Lack of life signals made me worry :-S Hope you're ok... Lynch (talk|contribs) 02:33, 28 February 2009 (UTC)
- Just stealing some time to catch things up. Things are pretty dull (to the point of insanity) here, I got a job working 3rd shift at a convenience store. The work is ok and the pay isn't terrible but it isn't something I want to do for much longer (I took the job to see if I could do it). My right knee started complaining in October and just a couple weeks ago my left joined the rebellion (along with a pain in my lower lumbar, though stretches help with that... now I can just about touch my toes). My flat feet determine how many days a week I can work, turns out two days on and one day off is what I have to do to avoid stabbing foot pain. My carpal tunnel fortunately enough has not reared it's ugly head. Any who, I figure it will look good on a Resume. With the economy as it is, I don't know when I'll get my computer fixed. -- Strife (talk|contribs) 03:26, 28 February 2009 (UTC)
- Sounds as if you're having a tough time. Was hoping for something more disney-esque to colorize your life... I don't really have an idea how, but in case I can help with anything, ping me via mail or here or so anytime! And leave a lifesign every couple of weeks plz (o.O)
- Lynch (talk|contribs) 17:12, 28 February 2009 (UTC)
- I wish you good luck! And thank you for updating LSL http server/examples with your correction :) --oobscure 00:05, 1 March 2009 (UTC)
- NP, It happens that the (keyword) change is the result of one of my feature suggestions. It's nice to know that I may be disconnected but not out of mind.
- I like to think of it as that part of the movie where the bad guy has it all his own way right before the hero makes a comeback. The job has been a good thing for me though, it's taken a bit of the cynicism away and dowsed the growing self-entitlement. The years of being a forum moderator took a lot of the cartilage off my personality; the job has forced some of it to regrow, for me to be less abrasive. The one thing it does lack is that "It's ALIVE, Mohohahaha" feeling you get with programming. Programming is chiseling you ego, your expertise, your farsightedness in stone; cleaning and stocking shelves is just pushing a boulder up hill, though serving customers has it's rewards. It is nice to be able to work with people, I missed that doing freelance programming. -- Strife (talk|contribs) 16:58, 1 March 2009 (UTC)
- Thx for enhancing the function with the bitwise shift! =) I gotta confess that I had no clue about that operator.
- @ {{dev/null}}: I'm not sure if it's still needed, since we finally got an up-to-date parser functions extension (WEB-896) and it might not execute both sides of the conditional anymore. And we got Cite! Still no collabsible tables tho...
- Your ability to analyze yourself and look at the positive side of thinks is... Just wonderful :-) Miss that so often when people tell about their lifes. Keep that! It's refreshing =)
- Lynch (talk|contribs) 22:44, 1 March 2009 (UTC)
Re: Free Hugs... Beware!
Had to think about you when I noticed more free hugs at a softer world.
(^_^) -- Lynch (talk|contribs) 15:31, 12 March 2009 (UTC)
Categorization
I've been running through Special:UncategorizedCategories trying to cut down the number of entries there.
I've reverted the help portal mod to Category:LSL ^_^
SignpostMarv Martin 21:23, 14 April 2009 (UTC)
Wiki Contributors
Heyas :-)
2 questions:
- Did I miss someone?
- Template:ZWSP (and ZWJ + ZWNJ)...? Can you name a possible usecase for the first one and tell what the other two are going to be about? (o.O)
Greetz ^^ Lynch (talk|contribs) 00:20, 17 April 2009 (UTC)
- ZWSP is the name of the character (Zero Width SPace), it might be useful when you need to kick the wiki engine into doing something that the parser doesn't want to let you do (like having a # as the lead character as a result in an #if and not have it put it on a new line *rolls eyes*). The other two, Zero Width Joiner and Zero Width No Joiner, are similar character, according to Unicode they cause certain characters to take on different forms when put next to each other (combination characters: Mayan? Chinese?). I really wanted Zero Width Non Breaking Space but my computers font doesn't support it (it would have been really useful, it would be a character that I could put anywhere, you wouldn't see it and it would have no effect except on the wiki engine) oh well. -- Strife (talk|contribs) 03:14, 17 April 2009 (UTC)
Why didn't I think of <nowiki>? -- Strife (talk|contribs) 17:16, 17 April 2009 (UTC)
Because I don't say it enough
And haven't said it recently to you but I should tell you directly, despite the emotional limitations of words: thanks for continuing to persist and relentlessly contribute to this wiki and to broader understanding of technical knowledge for so many Residents, AND myself! Since the beginning of my SL and seeing your tortured prim display, you've been influential on the later decisions I'd make to enlighten our communities. - Torley on 2009-04-17 @ 10:29 AM PST
- I'm not the type to point out the obvious... I consider a lot obvious that others don't. I often don't say what's important because of this, or what should be said or even what needs to be said.
- You are one of SL's greatest assets, you have done not just good works but great works. You have carried the torch of enlightenment better than anyone else. When others around you had lost their cool you kept yours. I have always struggled to achieve the completeness your works exude, you make me strive to do better, your work has always inspired me. You honor me too much. It has been an honor to work with. It has been an honor to be your friend and I am honored to have inspired you.
- For me the inspiration came from the short science fiction stories that I grew up on, the stories that shaped the minds of the computer communities of the 70's and 80's. The stories that had a kernel of truth in them: the context of the stories turned from science fiction into fact as hardware and software evolved. Stories that talked about governmental abuses, untrustworthy 3rd parties and the erosion of rights & privileges that are now all to poignant and relevant. I came by the ideals of GNU honestly and they left a deep impression on me. Why try to dam and control the rivers of information, to push it into canals and reservoirs only to portion out small amounts? Let the information go where it wants, give people access to it, let them work with it, they will amaze with what they do with it. But this isn't the 80's or even the 90's and that ideology just doesn't work anymore, there is a dark side to it which people have focused on; they have trouble focusing on enlightenment. -- Strife (talk|contribs) 21:31, 17 April 2009 (UTC)
You asked me to elaborate on my recent edit to llGetLocalPos()
Although I sent you a note in world I have not heard back from you as yet. I tested the return of the function in the same object as both physical and not. It returns the same vector!!?? I have thus removed my edit. However in my defence I will say that I only added what is stated in the lsl script (when hoverng over the function with the mouse pointer). I don't understand why "If the script isn't physical" is mentioned. Perhaps you could be so good as to explain sometime. Not sorry but confused.
Eddy.
- I don't get in world very often unfortunately... (my main computer died and this one is pretty crappy, the experience isn't fun). My perspective has been: The tooltips are often wrong and should not be trusted. That said, if you find one that is wrong you should open a [jira.secondlife.com jira issue]. In the past LL was really bad about LSL documentation (they still are but they are getting better), both forms they provided (tooltips being one) were often wrong and incomplete; and this was the driving force behind the community creating it's own wiki. This and other things LL did jaded the community. Trust has been a big issue, many of the older scripters have developed a high level of apathy and just don't report bugs. It's a sad state of affairs but generally getting better as LL becomes more responsive. -- Strife (talk|contribs) 20:34, 24 April 2009 (UTC)
- Thanx for the rapid response. Although I really don't know if the tooltip is wrong. My limited experience does not really qualify me to say. I just tested what happened in physical static, physical moving and non physical and the same vector was returned in all 3 cases. I see this as "proof" that the function acts the same way whether in a physical script or not but then my cyber kitty isn't going or a walk as it should and I can't find any good reason why not. So I am perhaps not the best judge of whether this is a JIRA worthy issue. If I KNOW something to be wrong I will report it (as I have) but I really think it would be better for someone with more experience to test this one out before it's brought to the attention of the world wide wiki!! (About my kitty...I am begining to wonder if I have found another bug to be honest. I seem to have a knack for it)
Cheers for now, Eddy.
- I didn't remember it acting differently between physical and non-physical but I was giving you the benefit of the doubt (you might have done original research). It's frowned upon to post something vague like what you did in the documentation, stuff like that should be posted on the discussion page; it just isn't useful to document that there is a difference but not to document what that difference is. It's bad style to post things you haven't verified, it can be disruptive and counter productive. You are new, we understand, you are forgiven. -- Strife (talk|contribs) 21:12, 24 April 2009 (UTC)
Turns out kitty was just being fussy about her vectors. Sometimes the compiler is a little less than specific when it matters eh? Anyway I will watch my additions carefully and be sure to only add what is true, accurate and relevent (of course this would be easier if LL didn't do the oposite in there own scripts). TTFN
Might I draw your attention to llGetLocalRot() ? Within this very wiki.
Another case of "(If the script isn't physical)". I didn't do it!! lolz. Do you or anyone else know why so many tooltips mention this physical script condition/variable?
- The documentation was originally written from the tooltips (I kid you not). (P.S. Please sign your comments with ~~~~ -- Strife (talk|contribs) 20:57, 26 April 2009 (UTC)
Okies. -- Eddy (talk|contribs) 8.29am GMT, 27 April 2009 (What does "UTC" stand for?)
- UTC is almost GMT (see http://en.wikipedia.org/wiki/Coordinated_Universal_Time ). Tho you don't have to do the hard work in manually creating your signature. Just write four tildes (~~~~) and the wiki will automatically convert them into your username and a timestamp. When you'd like to have a custom signature, you can go to Special:Preferences and play around with the Signature option :-) More info on that @ Wikipedia
- Greetz, Lynch (talk|contribs) 08:00, 27 April 2009 (UTC)