Difference between revisions of "User talk:Kira Komarov"

From Second Life Wiki
Jump to navigation Jump to search
m
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
== A word from the shamed ==
== FloatCompare ==


I've been wandering through the Wizardry and Steamworks code. I think what you are doing is a good thing but I want to pass along a cautionary tale I swear to you is true, as it happened to me last week. For years I have scripted in LSL and until recently I was confident in my ability and skill at coding, to the point that I felt I wrote code without syntax errors and that if I spent enough time reviewing the logic I wouldn't ever need to run the code. So in 2008 I expanded the article [[Right Shift]] posting the optimal code for doing an unsigned right shift. Last week someone edited the article saying my code didn't work, I couldn't believe it, I had even included a test script in the article which predicted the correct answer in it's comments. I knew my logic to beyond reproach. I thought it was a bug, some breaking change, I posted a JIRA. A Linden responded asking for more details. Then I ran the test script. I had apparently never ran the test script before. I soon found the problem. It never worked.
Just wanted to say I've finished writing up my (rambling) response to you posts. In short FloatCompare is old, it predates Mono, its crashing because it doesn't support infinity (3.403E+38 is getting rounded up to infinity). Try bigger values for 'c', small values aren't very interesting. I have trouble imagining many situations where FloatCompare would be useful. Typically you just want to look at how close a set of numbers are to each other, not see if they match. It's better to use Float2Hex for this. Anyway I need to get to sleep was a long day. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 23:25, 24 May 2012 (PDT)


What unnerved me so about this was that my logic was flawed. I code in logical building blocks and then I manipulate and optimize them. I love coding, I love the logic, it's one thing to overlook an edge case, it's another thing altogether to be wrong. I am now left questioning all the code I have written in the last 4 if not 5 years. A take it you are someone like me who takes pride their work. Do yourself the favor of testing every bit of code you post, save yourself from having 4 years of shame coming home to roost all at once. When it came to [[Right Shift]] there were only two options, I could either fix the article or revert it to before I had contributed. There was really only one option I had, I had to fix it, if I didn't I would be then denying there were other better ways to solve the problem but fixing it would be admitting I was wrong. If I had only been in the habit of running my code, I would have spotted the flaw, I would have avoided all of this. At any time during the first six months I could have run the code and it wouldn't have hurt so. The code I posted was supposed to help people.
::That's fine. Thanks. You [https://wiki.secondlife.com/wiki/User_talk:Strife_Onizuka/Float_Functions#P.S.|have my answer].
 
::Kira Komarov
Not all the examples on [[Wizardry_and_Steamworks/Full_Spectrum_Re-Channeling]] compile (ignoring that you define functions later in the article). Take my advice on this and you will never be shamed like I was, your pride will be unblemished. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 16:44, 27 November 2011 (PST)
 
P.S. I'm enjoying reading [[Wizardry_and_Steamworks/Full_Spectrum_Re-Channeling]], the issue of having to parse events not intended for the script and discarding them resulting in event-queue backup and eventual dropping of events is a serious problem. I have seen it happen with link_messages, the solution to which is to put your scripts in different prims and then send the message to the specific prim instead of LINK_SET etc. If the simulator is busy it just makes the problem all that much worse.
 
----
 
=A Reply From The Shameless=
 
Yes, I have gone through your activities, probably just as much as you have gone through mine. I have seen the error correction and the exchange of words. I have also barely grazed the surface of how highly you think about yourself.
 
I must say that on that note, we differ greatly! I could give you a similar example of one well-known scientist that committed suicide (and others, for sure) when he found out that his whole life's work was under the question of a simple, yet tricky, argument.
 
I do not take any of your kind of "pride" in my work! That, of course, does not necessarily imply that I do not care about it. However, I always work under the assumption that there is always a bigger, wiser, faster and more intelligent fish and whenever that fish crosses my path and corrects me, instead of committing ritualistic suicide, I smile broadly and correct it.
 
Perhaps if this (an object reference) would not crash every hour or so, nor require a super computer to run, one might have the leniency of accepting debates on professionalism or efficiency. Otherwise, it is pretty funny from where we're standing...
 
Whereas you (sorry, if this is just conjecture, I inferred this phrase from your story following your turmoil about "having to admit it") take pride in the sense that an essential correction to your code shatters your pride (as your comment would imply), we take "pride" in the fact that any correction is an addition to our (and all the other people's) knowledge and see it in our minds as two or more people shaking hands.
 
My suggestion to everybody is to keep an open mind as opposed to being prone to developing a compulsive-obsessive behavior based on the fear that, at some point, you may simply be proven wrong...  Which, you will notice that, down the road it will hamper all your progress and grind you down to a halt, as most compulsive-obsessive behaviors do.
 
That is why I (or the group) never claim to be professional, but instead [WaS] claims to be a think-tank group. We express ideas, they might be flawed, they might not work at all and for sure, they may be further optimized to the maximum possible efficiency of the platform they might be implemented on. For what the group cares, and for what I care, I am sure that somebody accustomed to the specifics (let's pick something, hmm...) of C# and mono-core processors might take those ideas and further optimize them to the brim of that context. That is the difference between industry and research. In research, you work under the assumption that at some point in time you will invariably be proven wrong.
 
Consequently this might be the best answer to your comment about the code in the Full-Spectrum Re-Channeling article which does not compile - except that I already know that and will revisit it later:
 
"Life isn't about finding yourself. Life is about creating yourself."  - Bernard Shaw
 
"Laife isnt abut findng yourslf. Life is about creatin' yerrself."  - Bernard Shaw
 
Do you think that the second phrase is less meaningful because the syntax has been abused?
 
That is where the greatest distinction between syntax and semantics is made. You may worship syntax, but we are more tickled by the semantics.
 
For what I care, I could express the article in pseudo-code! Give me two weeks and I will express it in any language of your choice. Otherwise, the group already thought about writing code in reverse-engineered lso. We just thought that it would be too cool and might make us look too good.
 
That being said, your indignation and assumption that I am in any way shamed is inapplicable and misplaced. Based on the above, I simply do not subscribe to your notion of shame. Thank you for the comment though, we sure could use it as a reference when answering similar comments!
 
That being said, feel free (although you've already corrected the dot to a comma, so you don't need our permission to correct us - making you, similar to us in what regards shamelessness) to correct the code in the Full-Spectrum Re-Channeling article to one that compiles. We would only be thankful! Please though, do not efficentize it too much, it is purposefully expanded so that people tickled by semantics (and who do not know, nor care too much about LSL) may understand it.
 
P.S. If you need any help on what appears to be an attempt at a theoretical approach on states of states, the group will gladly help - we love the title! Until then, let's tone down the ethics and the first-name assumptions about each-other, shall we? ;-)
 
'''EDIT:''' The oldest (in SL age) [WaS] member has been scripting in LSL for less than half of [[User:Kira Komarov|Kira Komarov]]'s age displayed on her profile as opposed to your years and years of LSL scripting. We're just not as good or profound as you, that is why you should perhaps first read the very first section and the numbered list on the Wizardry and Steamworks section so that you won't be considered by us the [http://xkcd.com/386/ perfect example of a person we do not wish to interact with].
 
Kira Komarov 18:54, 27 November 2011 (PST) Signed off by [WaS-K]
 
:You need not worry about me optimizing your articles (or anyone elses), I recognize that it is not always appreciated and I honestly don't have the time or passion for it (once in a while it's fun but not for every random script). The wiki is a teaching resource, and as such {{LSLGC|Examples}} should work and if they don't handle edge cases those edge cases should be documented. I have seen scripts posted that don't work (ignoring syntax errors) because the script is logically flawed. More often than not, those authors have more pride in their skills than in scripting and suggesting there is a problem with the script let alone fixing it for them is contentious. Pride isn't the problem, it's getting them to recognize that the wiki is a collaborative platform where ownership conveys no rights. So I try to relate with them early on and get them to see the folly of their ways, at the risk of misjudging the situation. For that I am sorry.
 
: I agree, there is nothing better than someone taking the time to show a better way to do something. I relish the input of others, to confirm or contradict my work. How else do we improve if not to have the flaws pointed out? In the before mentioned case, while a minor article, it was a pet topic, something I though I was an expert in. It was a shock to be so wrong.
 
:I don't mind fixing syntax or even doing simple optimizations with the understanding that it improves the readability and correctness. I honestly want to help make the content better. Optimizing examples in anything but an article on optimization is counter productive, it makes it harder to read.
 
:*laughs* Oh the dark ages of SL were worse than you know. The client would crash and you would loose your script, the simulator would crash and loose several hours of content... and your script. And almost every session your client would crash. If you wanted to do anything really fancy in LSL you became painfully aware of the 16k script memory space. I didn't get into optimizing LSL because I wanted to. I had projects that required it. *laughs and cries a bit*
 
:Please don't stop posting, your content is unique and novel. I wouldn't give advice if I didn't think so. I saw your redacted comment, if you think a suggestion is beyond the scope of an article please tell me so. However if you would rather I ignore your content, I will. There is quite a bit of content on the wiki I ignore. I don't like to but I don't have the time to read everything. The sea is big, fish swim where they like.
 
:I don't want to end on that note but I must for now, work calls. I will return later and finish this properly. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 11:12, 28 November 2011 (PST)
 
=A Further Reply from The Awed=
 
Whew, the [WaS] group was already gathering money to buy you [http://www.amazon.co.uk/Hemorrhoids-How-cure-Naturally-ebook/dp/B005F7LQBK/ref=sr_1_fkmr1_1?ie=UTF8&qid=1322508695&sr=8-1-fkmr1 some documentation] for Christmas. We still might, if you're going to continue sprouting nonsense - this one sucked more than the last one did. [Was] is glad though, that we are making progress and slowly establishing some respect. We are disappointed though, that we must fight for it.
 
Here are a few points that might jog your interest:
 
* First of all, concerning "Pride isn't the problem, it's getting them to recognize that the wiki is a collaborative platform where ownership conveys no rights." (although I understood pride was the problem in your last story o.O are you Rick Rolling me?) and since you appear to be a wiki-guru, you might want to find out that ownership does very much convey rights on a case by case basis. Do not tell me you have ripped stuff from other wikis you are a member of and reused them without being aware about this... You created a page for yourself on wikipedia (omg, the vanity! Boltzmann, Fermi, Einstein AND Strife) but have you taken the time to click on a file and see that it does have a license provided by the author of that file?
 
On the Second Life wiki, quoted from [[Project:Contribution Agreement]], all work, unless indicated is your work is under a Creative Common license:
 
"By contributing content to the Second Life Wiki, you indicate your agreement to the [[Editing_Guidelines|Editing Guidelines]] for acceptable Wiki content and you license your contributed content under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-Share Alike 3.0 license]."
 
Furthermore, anything a person produces may be licensed under their own license. If I have a (let's say commercial, perhaps that will make the argument stronger for you if you ever were under the delusion that GPLv3, being supplied by a free organization, is less legal) license and post stuff on this wiki, then Linden cannot override that license with another license! Can you fathom what could happen if that were the case? Think about it, hard, and long...
 
It is one of those international laws that has nothing to do with federal laws (the useless ones you waved at [[User:Anylyn Hax|Anylyn Hax]] to patronize her, who is probably German, given her writing style) but rather with copyright laws which, unlike federal jurisdiction, have a global jurisdiction (this is one of the fundamental concepts of the logic you systematically prove you have no clue about).
 
If you do not believe me, try to submit a piece of work to a journal working under your original assumption that content taken from the wiki is subject to "ownership conveys no rights" and watch yourself being torn apart by the following force vector: <reputation, legality, hemorrhoids>. Although hemorrhoids might be an implication thereof, an effect, rather than a cause.
 
Let me also get you up to speed, that, ''even if'' some creator does not explicitly license their work and provided that you will be attempting to reuse that work in some reputable context (ie: your "buds" won't mind if you stole it) you will still be torn apart by the same force vector. Yes, if something doesn't have my name on it, it does not mean that you may steal it, or worse, declare that you are the inventor or creator of it.
 
Similarly, if you put a basket on the street and label it "anybody who dumps stuff here, gives up their rights to it", then it does not mean that if you drop something in it that you will be giving up your rights to it (think about that one - it's interesting, with some political correctness consequences since you dabble in those domains as well).
 
It is shocking to find out that you worked under the the assumption that "ownership conveys no right". It is also why [WaS] prefers not to obtain prizes - well if a true hacker that doesn't use bubble sort wants to give us a compliment or Knuth wants to tap us on the back, we'll blush and gladly accept. :-)
 
It is even more shocking that you are "getting them to recognize" that fact. It is so shocking it is worrying.
 
Here's your first lesson in fundamental logic (contexts):
<pre>
SL |- SL laws, Kentucky state law, USA federal law, international laws
Kentucky |- Kentucky state law, USA federal law, international laws
USA |- USA federal law, international laws
...
Germany |- Germany's laws, international laws
...
China |- China's laws, international laws
...
world |- international laws
</pre>
providing Kentucky (I chose that, because of the chicken, it bears no logic except that it is a state of the USA federation) is the state in which SL is legally registered in.
 
That is, SL has to satisfy a ''stronger condition'', the ''union of all law'' contexts. Not JUST its own laws, JUST the laws of the state it is registered in or JUST USA's federal laws.
 
If you commit genocide, you infringe international law and should be trialled under all the laws contexts that subscribe to the international laws.
 
Conversely, if you infringe SL's local law, by doing something non-TOS, non-EULA or non-TPV compliant, and provided that there is no intersection between those and international laws, the law of the state you're in (if you're in the USA) or USA's federal law (or country if you're not in the USA), you are just being a silly Second Life resident and may at most be subjected to the social "made-up" laws of the local mob running this inefficient frying pan.
 
That is, the FBI won't really care if you infringe the TOS (subset of SL laws) law "Harrassment > User keeps licking finger and touching me". (taken right now from the Singularity viewer).
 
You violated those contexts, when you inferred that:
<pre>
Germany |- USA federal law
</pre>
(which does not hold) and used it to justify your claims when snorting back at [[User:Anylyn Hax|Anylyn Hax]] on the [[Talk:LlGetGender]] page. You also violated that even more when you went rambling on (like John Wayne) about congress when she is most probably not from the USA. You are wrong (on various levels) in all cases where she's not from the USA.
 
Loads of people (and institutions) do not understand fundamental logic. You most certainly have no clue about it (some vague interpretation thereof making it more like a religion in your case). It is also the unique reason why (holy) wars are started.
 
I would be careful, if I were you, with bold declarations about stuff you do not comprehend thoroughly. For starters, I would drop the perpetual patronizing tone.
 
And please, as a personal favor, do not lecture me on logic. :-) (And if you felt the urge to call me "hun", sing me a lullaby instead.)
 
* The [WaS] Category page is synced forward (sometimes backward) between the [WaS] wiki and this one. The problem is not only that your blatant disregard for etiquette (see the force vector mentioned above) might mess-up the sync and we either end up including your fixes on our wiki (thereby having no clue who contributed the "fix" and unable to attribute work) but that we might end up overwriting your own fixes on the SL wiki, thereby involuntarily mucking up your work.
 
Generally, in ALL cases, as a general etiquette rule (although it is true that you do not have to necessarily subscribe), when you are unsure whether to touch other people's stuff, please consider watching the following instructional video from youtube which I think should be either part everybody's elementary education or taught to them later on:
 
<videoflash>wd2Eyumtj4s</videoflash>
 
* Finally, yes... I think that obsessing over optimizations of a CIL language (one that my students could write in a jiffy and make other people break their heads over nonsense like optimizations) that sorts lists by using bubblesort is... a misplaced obsession, albeit amusing. However, that is not the only problem. The other problem is that:
 
<lsl>
if((flag=1)) {
</lsl>
 
will not compile under the OpenSIM platform, whereas:
 
<lsl>
if(1) {
</lsl>
 
will.
 
I hate to send bad news (in case you care) but all the optimizations that you have done and posted on your user page (and perhaps others elsewhere) will hardly compile under OpenSIM (I haven't checked, see, I can be an ignorant hillbilly too), let alone work as expected (as optimized?). Nor do some of my scripts (aaaaah, but you see, here you should not infer that that fact is not intentional ;-) I will not infer that yours isn't, I'm just saying that mine might be.).
 
Generally, in ALL cases, as a general etiquette rule with a global context (perhaps culturally restricted, but we are not all that different from that perspective, you and me), you either watch Maddoxs' video again to figure out what you should do, OR you leave the optimizations up to the compiler. Conversely, reasons derived from the above, are also part of the set of reasons why the linux kernel should be compiled with -Os instead of -O3.
 
To conclude:
 
* You may choose to be a hillbilly and work under the "your seat underneath your gluteus maximus" context. In which case, most of the above will not apply to you and you may even start calling [[User:Anylyn Hax|Anylyn Hax]] "hun", "sweets" or "darling" (you were not far from it given that cheeky, patronizing tone of yours). In which case, everybody will turn a blind eye to your limited scope (perhaps thinking like Napoleon: "these are the soldiers, these are the ones we will march with" - quite a logician that chap, when I ponder that phrase now).
 
or:
 
* You may choose to work on a global scope, take heed of the the above and additionally (we politely plead) learn what a "parser" really is and remove the "parsing states", "parsing events" from your pages because the fact that somebody so clueless corrects us might indeed hurt that "pride" you mentioned even more (provided we subscribe to it, of course). It also makes you more of an amateur scripter rather than a professional amateur scripter. After that, we'll be more than happy to accept your comments.
 
TIP: pssssst (as my favorite pirate once interjected) [[llParseString2List]] shows the "mob" might understand it as little as you do, or at most, as much as they understand copyright - hush hush, wink wink, giggle giggle, say no more, say no more.
 
As a preference of the format of submission of your comments, we would prefer a decent, low-bollox and more happy-happy joy-joy tone. We are not to blame that the little you know makes you consider yourself superior to the people of Second Life, however you will get spanked if if you try that on us and it will not be the way you might like to be spanked. As stated on the [WaS] page, we are inferior to any member, including you. We have never turned our backs on anybody asking us to fix something or create something for them (charging nothing, as the contributions speak for themselves) and to those that even corrected us, where we failed to see the light.
 
If you need proof, check all the change-logs of all articles written by [[User:Kira Komarov|Kira Komarov]]. Those are all mentioned people that had found bugs in the scripts she made. Have you seen any of those people patronizing her as you are failing to do? [[User:Kira Komarov|Kira Komarov]] and the [WaS] group has never been more insulted by your lack of dignity as well as your lack of tact in thanking her, and us, in that cheeky and patronizing tone of yours. Sometimes, it is not what you say, but how you say it - check the merchant FAQ on the wiki to find out more about that.
 
As a consequence of the above, we won't stop posting (but not because you ask us to), we will correct the bugs in that article your like (but not because you are some deity that generates work for us and dictates our schedules), we removed the talk-back from your discussions page (because there is no intention to make you feel or look bad), you are free to contribute independently even to our pages, provided you have thoroughly understood the reasoning above (OpenSIM in mind, optimizations made by compiler, wiki syncing back and forth on the main page and we do have a license, it's the one, the only, in all its splendor, The GNU General Public License Version 3 - not you, not Linden, not the FBI, not the KGB, not the Pope nor all the deities may violate that license unless they are violating our international rights).
 
Last thing, before I have other things to care of as well, if you agree, I, [[User:Kira Komarov|Kira Komarov]] would like to wipe this whole discussion page clean of this ridiculous stuff elementary stuff that just makes me look mean (when I'm, quite contrarily, a true fuzzball, at heart).
 
Kira Komarov 16:16, 28 November 2011 (PST)
 
== Heads up ==
 
I was perusing [[Wizardry_and_Steamworks/Population_Genetics_and_Selection#Communication]] and spotted a significant LSL error that the compiler will silently ignore, produce the wrong code and not tell you (first Caveat on [[jump]]). In this case you lucked out as the second jump to @next is superfluous but since you are using jumps, you may want to check the rest of you code for this bug. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 12:03, 20 January 2012 (PST)
 
== Shaking Heads ==
 
Cool, you like it?
 
<lsl>
default
{
    state_entry()
    {
        jump next;//first jump
@next;
        llOwnerSay("I'm ok...");
        jump next;//second jump - BUG never gets executed
        llOwnerSay("I'm bugged.");
        return;
    }
 
    touch_start(integer total_number)
    {
        llSay(0, "Touched.");
    }
}
</lsl>
 
Output:
<pre>
Object: I'm ok...
Object: I'm ok...
Object: I'm ok...
Object: I'm ok...
Object: I'm ok...
Object: I'm ok...
Object: I'm ok...
Object: I'm ok...
...
</pre>
 
Works fine here, I can supply screenshots. The bug report is bugged. Sort of a circular client-patronage bug. Conventionally denoted as major communication fuckup. It's ok now... Might want to remove that notice... Mind doing the honors? :-)
 
''There ain't no bugs on me! There may be bugs on the rest of you mugs, but there ain't no bugs on me!''
 
<videoflash>C3aFjQ8Emc4</videoflash>
 
Kira Komarov 12:53, 20 January 2012 (PST)
 
== Half Right ==
 
They said they weren't going to fix this *grinds teeth* but at as you point out, they went and fixed. Would you mind testing if they fixed it in LSO as well? Upon review of the LSLWiki [http://lslwiki.net/lslwiki/wakka.php?wakka=KnownBugs KnownBugs] article, it was found to have been fixed in Mono only. I hate bifurcating the documentation but it looks like it's unavoidable in this case. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup> 17:13, 21 January 2012 (PST)

Latest revision as of 14:56, 3 June 2012

FloatCompare

Just wanted to say I've finished writing up my (rambling) response to you posts. In short FloatCompare is old, it predates Mono, its crashing because it doesn't support infinity (3.403E+38 is getting rounded up to infinity). Try bigger values for 'c', small values aren't very interesting. I have trouble imagining many situations where FloatCompare would be useful. Typically you just want to look at how close a set of numbers are to each other, not see if they match. It's better to use Float2Hex for this. Anyway I need to get to sleep was a long day. -- Strife (talk|contribs) 23:25, 24 May 2012 (PDT)

That's fine. Thanks. You my answer.
Kira Komarov