Chat log from the meeting on 2019-11-19
From OpenSimulator
[11:08] Kayaker Magic: BOM! Begining Of Meeting!
[11:09] Kayaker Magic: Gavin, I am addicted to the pre-processor in FireStorm. Does Dayturn support that?
[11:09] Andrew Hellershanks: Hello, everyone.
[11:10] Andrew Hellershanks: I've had a busy day dealing with a client. Just got finished (for now). :)
[11:10] Ubit Umarov: justin and blog?? i did mention it about that tp to same handler, can't be done
[11:10] Ubit Umarov: he also found that the hard way ages ago :)
[11:10] Kayaker Magic: I only recall seeing the pre-processor in FireStorm, do any other viewers support that feature?
[11:10] Ubit Umarov: yes
[11:11] Ubit Umarov: cool VR claims even to suport it safely on opensim
[11:11] Gavin.Hird @grid.xmir.org:8002: I don't even know what the pre-processor is
[11:11] Kayaker Magic: It adds #include, #define, macros, #ifdef, and other features to LSL
[11:11] Andrew Hellershanks: I haven't heard about the pre-processor in quite a while. I forgot it exists in FS.
[11:12] Kayaker Magic: I assume most viewer devs whack it out to make the viewer smaller....
[11:12] Ubit Umarov: and who wants ??
[11:12] Ubit Umarov: gezz
[11:12] Kayaker Magic: I use it EVERY DAY!
[11:12] Ubit Umarov: bad karma
[11:12] Ubit Umarov: those are c++ killers
[11:13] Kayaker Magic: Not writing in C, writing in LSL
[11:13] Andrew Hellershanks: #include might be useful.
[11:13] Ubit Umarov: adn incompatible with other editors
[11:13] Gavin.Hird @grid.xmir.org:8002: I never use Firestorm :-)
[11:13] Ubit Umarov: yeha if you only use one viewer, and do not want to share scripts
[11:13] Kayaker Magic: Isn't Dayturn a branch of FireStorm?
[11:13] Ubit Umarov: what a folish idea
[11:14] Ubit Umarov: but whatevr
[11:14] Gavin.Hird @grid.xmir.org:8002: no, it is not
[11:14] Gavin.Hird @grid.xmir.org:8002: it originalted in Imprudence via Kokua
[11:14] Andrew Hellershanks: It did? I've only ever heard it being mentioned in relation to FS.
[11:15] Gavin.Hird @grid.xmir.org:8002: no, it has certain code sections from FS
[11:15] Gavin.Hird @grid.xmir.org:8002: such as the AO, the profile manager a few more
[11:15] Gavin.Hird @grid.xmir.org:8002: but no, it is not forked from firestorm
[11:16] Kayaker Magic: OK, well if I have to use FireStorm, is there any problem with updating? Which version should I use these days?
[11:16] Gavin.Hird @grid.xmir.org:8002: a large sections of it is modern SL viewer code
[11:16] Kayaker Magic: Bill might be the person to ask that....
[11:17] Gavin.Hird @grid.xmir.org:8002: so what does the pre-processor do?
[11:17] Kayaker Magic: It allows me to #include common pieces of code,
[11:17] Gavin.Hird @grid.xmir.org:8002: ok, ic
[11:17] Kayaker Magic: #ifdef the same code to run on different systems (SL, IW, OpenSim, YEngine)
[11:17] Gavin.Hird @grid.xmir.org:8002: sounds like a good addition
[11:18] Kayaker Magic: #define constansts that can be used in variable declarations, etc.
[11:18] Gavin.Hird @grid.xmir.org:8002: if it is a piece of code that can easily be liften from FS, then maybe
[11:19] Gavin.Hird @grid.xmir.org:8002: lifted*
[11:19] Kayaker Magic: I'm not begging for it, just asking. But if Dayturn had it, I would definately use Dayturn more often.
[11:19] Gavin.Hird @grid.xmir.org:8002: ok
[11:20] Gavin.Hird @grid.xmir.org:8002: looks like it might date back to 2013
[11:20] Kayaker Magic: Funny how few scripters know about the pre-processor. They dropped it in one version, I was the only one missing it, and one of the FS devs at the time also said he had never noticed it before.
[11:21] Andrew Hellershanks: Do you have to enable it via a setting in the viewer?
[11:21] Ubit Umarov: bc it is a BAD idea
[11:21] Ubit Umarov: gezzz
[11:21] Kayaker Magic: Yeah, it is burried in the Firestorm section of the preferences.
[11:22] Andrew Hellershanks: That would be one reason why not that many people know about it.
[11:23] Ubit Umarov: and #defines are really a bad idea
[11:23] Gavin.Hird @grid.xmir.org:8002: LSL preproc from NaCL viewer in 2012
[11:23] Ubit Umarov: as i said make c/c++ a total pain
[11:23] Ubit Umarov: and incompatible btw compilers also
[11:23] Gavin.Hird @grid.xmir.org:8002: it might even have been in Inprudence then
[11:23] Gavin.Hird @grid.xmir.org:8002: Imprudence
[11:23] Kayaker Magic: moving along, a question for Ubit: There was an out-of-heap error in YEngine a month or so ago, you said you knew what the problem was. Has that been fixed?
[11:24] Ubit Umarov: imade a change last days
[11:24] Ubit Umarov: lets see
[11:24] Andrew Hellershanks: Hm... the preprocessor in FS has a setting for switch statements. That's one thing I miss about stock LSL.
[11:24] Ubit Umarov: have a test script actually runing bc tampa told Y leaks memory
[11:25] Kayaker Magic: I recall you saying that it really wasn't out of heap, just some heap accounting error.
[11:25] Ubit Umarov: {
<Ubit> state_entry()
<Ubit> {
<Ubit> llSay(0, "Script running");
<Ubit> llSetTimerEvent(0.1);
<Ubit> }
<Ubit> timer()
<Ubit> {
<Ubit> llSay(0,llGetUsedMemory());
<Ubit> list a = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
<Ubit> string b = "[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1][1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1][1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1][1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]";
<Ubit> llSay(0,llGetUsedMemory());
<Ubit> }
<Ubit> }
[11:25] Ubit Umarov: oops
[11:25] Ubit Umarov: well this scrip
[11:25] Ubit Umarov: yes its Y counting memory usage
[11:26] Ubit Umarov: real leaks are other story
[11:26] Kayaker Magic: I had scripts that had been running for days suddenly get heap errors. Haven't seen it since.
[11:26] Ubit Umarov: another change on scripts both X and Y is div by zero error
[11:27] Ubit Umarov: integers always did it, but no floats, bc that is how C# does
[11:27] Kayaker Magic: Well, I have updated to newer Yeti versions several times since I got that error, and haven't seen heap errors again.
[11:28] Ubit Umarov: in C# a div by zero creates a NaN on infinity and goes on
[11:28] Ubit Umarov: filling everything with NaNs potencially
[11:28] Ubit Umarov: now div and % do stop the script if div by zero ( as sl does )
[11:29] Kayaker Magic: Yeah, forcing everyone to check for div by zero before it can happen.
[11:30] Ubit Umarov: as we always need to
[11:30] Kayaker Magic: Sort of like that permission-to-call patch I submitted for OSSL function.
[11:30] Ubit Umarov: ( at least think if it can happen )
[11:30] Ubit Umarov: oh u didn't forgot that :)
[11:30] Kayaker Magic: LOL
[11:31] Kayaker Magic: You see the utility of testing for 0 before a div, why do you not see the utility of testing for ALLOW before you call an OSSL function?
[11:32] Ubit Umarov: bc that does not inject NaNs all over the simulator :p
[11:33] Object: Script running
[11:33] Object: Script running
[11:34] Kayaker Magic: So Gavin: anything happening on the Raspberry Pi OpenSimulator front? You know why YEngine hangs?
[11:34] Gavin.Hird @grid.xmir.org:8002: I have tested it and it did not hang
[11:34] Kayaker Magic: What did it do?
[11:34] Gavin.Hird @grid.xmir.org:8002: https://www.dayturn.com/viewer/index.php?threads/using-yengine-script-engine-on-the-pi-with-opensim-0-9-1.179/
[11:35] Object: Script running
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Object: 0
[11:35] Object: 956
[11:35] Ubit Umarov: oops
[11:35] Ubit Umarov: that was that test script
[11:36] Kayaker Magic: Gavin: I will grab new binaries and give Yengine another try!
[11:37] Andrew Hellershanks: How long does it take to build OS on a Pi?
[11:37] Kayaker Magic: I have been running YEngine on all my OSGrid regions (except for the Pi) and even found a minor bug in YEngine!
[11:37] Gavin.Hird @grid.xmir.org:8002: 4 minutes
[11:37] Andrew Hellershanks: Really? I was expecting it would be a lot longer than that.
[11:38] Gavin.Hird @grid.xmir.org:8002: why did you expect that?
[11:38] Ubit Umarov: the constants ops bug?
[11:38] Andrew Hellershanks: It doesn't run as fast as a desktop computer.
[11:38] Kayaker Magic: A Pi 4 is a desktop computer!
[11:38] Gavin.Hird @grid.xmir.org:8002: to a large extent it does
[11:38] Gavin.Hird @grid.xmir.org:8002: at least when you are in the command line
[11:38] Ubit Umarov: ( or a floor computer if on the floor)
[11:39] Gavin.Hird @grid.xmir.org:8002: for the desktop, maybe not
[11:39] Andrew Hellershanks: I haven't used my Pi 4 much yet. In general I find performance of my Pi's to be less than that of my desktop.
[11:39] Gavin.Hird @grid.xmir.org:8002: of course it is
[11:39] Gavin.Hird @grid.xmir.org:8002: it runs at 1.5 GHz and not turboing
[11:39] Kayaker Magic: A Pi 4 has 4 cores, runs at 1.5 GHz
[11:39] Kayaker Magic: 4MB of memory
[11:39] Ubit Umarov: MB?
[11:40] Gavin.Hird @grid.xmir.org:8002: memory is quite fast and SSD performance not bad
[11:40] Gavin.Hird @grid.xmir.org:8002: GB
[11:40] Kayaker Magic: GB
[11:40] Kayaker Magic: oops
[11:40] Andrew Hellershanks: 4GB if you get the latest version.
[11:40] Andrew Hellershanks: I held out for the 4GB Pi4.
[11:40] Kayaker Magic: only off by 3 orders of magnitude!
[11:41] Andrew Hellershanks: :)
[11:41] Gavin.Hird @grid.xmir.org:8002: let me put it that way, I have worked with far slower machines
[11:41] Ubit Umarov: so what else is new on opensim?
[11:42] Ubit Umarov: yeah like macs
[11:42] Gavin.Hird @grid.xmir.org:8002: hehe
[11:42] Ubit Umarov hides
[11:42] Gavin.Hird @grid.xmir.org:8002: I have 1.4 Ghz macs
[11:42] Kayaker Magic: Since I was stuck with XEngine in one of my regions, I've been playing with my llKeyframedMotion vehicles crossing back and forth.
[11:42] Gavin.Hird @grid.xmir.org:8002: but they turbo
[11:42] Andrew Hellershanks: It is just under one month until this years Open Simulator Community Conference.
[11:42] Kayaker Magic: Going from X to Y works seamlessly.
[11:42] Kayaker Magic: Going from Y to X recompiles and halts the script.
[11:42] Kayaker Magic: HOWEVER:
[11:43] Kayaker Magic: I can detect that happening, save my own state and I think I can recover, at least with my sailboat.
[11:43] Gavin.Hird @grid.xmir.org:8002: the M68020 without FPU was dead slow
[11:43] Ubit Umarov: yeha i did add to Y code to read X state
[11:43] Gavin.Hird @grid.xmir.org:8002: and Sun used it in their worstations
[11:43] Ubit Umarov: not that simple the other way
[11:44] Gavin.Hird @grid.xmir.org:8002: workstations - or maybe worststations
[11:44] Ubit Umarov: ohh was fast
[11:44] Ubit Umarov: not doing math :p
[11:45] Ubit Umarov: but sad was a 68000 at 10mhz slower than a 8088 at similar clock
[11:45] Ubit Umarov: running same C code
[11:45] Ubit Umarov: ( amiga versus a XT )
[11:46] Andrew Hellershanks: I upgraded my Amiga to a 68030 running at 25MHz.
[11:46] Gavin.Hird @grid.xmir.org:8002: original mac was hand coded 68000 assembly or cross compiled over from the VAX
[11:48] Ubit Umarov: i added more fixes on the Yengines constants operations redutions.. there where a few more bad cases
[11:48] Andrew Hellershanks: Kayaker, I tested the use of KFM to make an object move across region boundaries and found it was no problem. The device crossed the region boundary and came back without any issues.
[11:48] Kayaker Magic: Yes!
[11:49] Ubit Umarov: attachments are now limited to 38, but can all be at same spout
[11:49] Kayaker Magic: It seems to work both ways, and continues to the end of the list even if the script resets on a Y to X crossing!
[11:49] Andrew Hellershanks: I should change my local standalone instances of OS to YEngine.
[11:49] Ubit Umarov: there is a new option WearReplacesAll
[11:50] Kayaker Magic: I'm tempted to try a looped KFM to shuttle messages back and forth between regions.
[11:50] Ubit Umarov: defualt true is as before, if false is as SL, only replaces the older thing on same point
[11:50] Andrew Hellershanks: Ubit, Where is that option specified? The viewers already have a menu entry to replace your entire outfit.
[11:51] Ubit Umarov: its inventory object wear behaviur
[11:51] Andrew Hellershanks: ok
[11:52] Ubit Umarov: login on grid giving a region name now does FULL match
[11:52] Ubit Umarov: if fails, user is sent to a grid default region
[11:52] Gavin.Hird @grid.xmir.org:8002: and it works :-)
[11:53] Ubit Umarov: ie to direct login here you do need to type "dev outreach" fully
[11:53] Ubit Umarov: no more guessing and sending to strange regions
[11:53] Kayaker Magic: case insensitive?
[11:53] Ubit Umarov: yes
[11:53] Andrew Hellershanks: good
[11:53] Gavin.Hird @grid.xmir.org:8002: yes, it saves a lot of grief
[11:53] Ubit Umarov: region names must be case insensitive
[11:54] Ubit Umarov: and should not have accents etc
[11:55] Ubit Umarov: not sure we check that
[11:55] Gavin.Hird @grid.xmir.org:8002: I am sure it only accepts pure ascii
[11:55] Ubit Umarov: i did reduce the max regions size to 4096m
[11:55] Ubit Umarov: 8192 was 2 large
[11:55] Kayaker Magic: ASCII was good enough for Jesus and the Bible, it should be good enough for everyone else!
[11:56] Ubit Umarov: did break terrain edit more..
[11:57] Ubit Umarov: it was still for v1 viewers
[11:57] Kayaker Magic: I try and convince people to keep regions to 1024 or less. They usually don't listen....
[11:57] Ubit Umarov: now updated
[11:57] Ubit Umarov: yeap more than 1024 is bad
[11:57] Ubit Umarov: but i left it 4096 for special cases
[11:58] Gavin.Hird @grid.xmir.org:8002: 1 km sq should do
[11:58] Andrew Hellershanks: I've seen people do a 10x10 var.
[11:58] Ubit Umarov: more than that makes precision erros worse
[11:58] Ubit Umarov: ( has building above 4k meters )
[11:58] Ubit Umarov: as..
[11:59] Andrew Hellershanks: We are at the top of the hour once more. Any last minute questions or comments related to Open Simulator?
[11:59] Ubit Umarov: fixed "go here", if done sitting on a prim
[12:00] Kayaker Magic: No more questions from me! (This week yet)
[12:01] Andrew Hellershanks: ok. :)
[12:02] Andrew Hellershanks: If there is nothing more for today that will conclude todays gathering.
[12:02] Andrew Hellershanks: Thank you all for coming. See you again nex week.