Chat log from the meeting on 2023-02-14

From OpenSimulator

Jump to: navigation, search
[11:59 AM PT]  Andrew Hellershanks: Hello, everyone.
[11:59 AM PT]  Orbert.Tatham "Sup, Cuja
[11:59 AM PT]  Lyr Lobo: Greetings!
[11:59 AM PT]  Orbert.Tatham Hello
[12:00 PM PT]  Cuga.Rajal Hi all
[12:01 PM PT]  Andrew Hellershanks: Lyr, You are stuck in a walking animation
[12:01 PM PT]  Lyr Lobo: am I?  I'm seated at the moment
[12:01 PM PT]  Orbert.Tatham Thank you Andrew, I was afraid it was my viewer
[12:01 PM PT]  Lyr Lobo: I'll rebake
[12:01 PM PT]  Cuga.Rajal I see the same
[12:02 PM PT]  Cuga.Rajal that fixed it
[12:02 PM PT]  Andrew Hellershanks: Lyr, that fixed it.
[12:02 PM PT]  Lyr Lobo: great *Grins*
[12:02 PM PT]  Jamie.Jordan now you're still
[12:02 PM PT]  Andrew Hellershanks: Don't want you tiring yourself out. ;)
[12:02 PM PT]  Lyr Lobo: thank you... don't want to be spazzing *grins*
[12:02 PM PT]  Lyr Lobo: so true
[12:03 PM PT]  Cuga.Rajal I was watching a YT video on how they made beer in Mesopotamia
[12:04 PM PT]  Cuga.Rajal it was yellow and totally opaque, like the beer here LOL
[12:04 PM PT]  Lyr Lobo: and strong for making roads and other materials
[12:04 PM PT]  Lyr Lobo: A friend uses that process to build roads in North Dakota
[12:04 PM PT]  Cuga.Rajal :)
[12:04 PM PT]  Lyr Lobo raises her glass
[12:04 PM PT]  Andrew Hellershanks: Making roads out of beer??
[12:05 PM PT]  Lyr Lobo: yes
[12:05 PM PT]  Lyr Lobo: same as in Egyptian days
[12:05 PM PT]  Vincent.Sylvester Land of beer and liquor not milk and honey
[12:05 PM PT]  Orbert.Tatham Ever been near a rroad crew? They definitely make roads out of beer...
[12:05 PM PT]  Vincent.Sylvester Sign me up
[12:05 PM PT]  Vincent.Sylvester Gives miles per gallon a whole different meaning
[12:06 PM PT]  Lyr Lobo: hehe
[12:06 PM PT]  Andrew Hellershanks: sure does
[12:06 PM PT]  Cuga.Rajal *rimshot
[12:06 PM PT]  Andrew Hellershanks: Hello, Selby.
[12:06 PM PT]  Selby.Evans hi everyone.
[12:07 PM PT]  Andrew Hellershanks: Let's start the meeting.
[12:07 PM PT]  Vincent.Sylvester Quite a lot of code changes, just realized
[12:07 PM PT]  Andrew Hellershanks: They are in the dotnet6 branch?
[12:07 PM PT]  Vincent.Sylvester Not exclusively, but yeah that got some attention
[12:08 PM PT]  Andrew Hellershanks: The master branch just has changes for the addition of two new LSL functions.
[12:08 PM PT]  Vincent.Sylvester I been backporting some of it, but spent last four days retoling for dotnet
[12:09 PM PT]  Cuga.Rajal Is it in a stable place? should I update?
[12:09 PM PT]  Vincent.Sylvester Fixed up search for dotnet so it would build as well, you have the pull request sitting on github for that
[12:09 PM PT]  Andrew Hellershanks: Hello, Motoko
[12:09 PM PT]  Motoko.Karu Hihi Andrew, Hihi everyone.. sorry for the late(ness)
[12:10 PM PT]  Cuga.Rajal chatlogger?
[12:10 PM PT]  Andrew Hellershanks: Vincent, I saw that. I don't know what to do with a pull request. I haven't tried building the dotnet6 branch so I don't know if I could test the changes.
[12:11 PM PT]  Lyr Lobo: hi Selby
[12:11 PM PT]  Vincent.Sylvester Mirror OpenSim in creating a dotnet branch would be a good start, Ubit can probably share the setup to have github actions build it
[12:11 PM PT]  Lyr Lobo: Hi Motoko
[12:11 PM PT]  Motoko.Karu heya Lyr... how goes :)
[12:11 PM PT]  Vincent.Sylvester It's not that hard, you can install dotnet with apt and then build much like you would under mono, just different commands
[12:13 PM PT]  Andrew Hellershanks: I hope it doesn't break any other applications. I already have three Windows/mono based programs I can no longer run due to an update to some packages on my system.
[12:13 PM PT]  Vincent.Sylvester Virtual machine or container it, that's what those are for :)
[12:14 PM PT]  Vincent.Sylvester I will do some testing of my own in the coming days, but the changes are mostly cosmetic in nature anyways
[12:14 PM PT]  Vincent.Sylvester Biggest change is prebuild xml to make sure it builds to the correct framework and doesn't add warnings
[12:14 PM PT]  Vincent.Sylvester The actual code changes should behave the same way, just looks different
[12:15 PM PT]  Cuga.Rajal I just built it on Ubuntu last week. The README is pretty easy to follow. Make sure you switch to the dotnet branch first.
[12:16 PM PT]  Cuga.Rajal it has different instructions than the README in master branch
[12:16 PM PT]  Andrew Hellershanks: Yes, I know I would need to switch to the dotnet branch. That's the easy part, Cuga.
[12:17 PM PT]  Cuga.Rajal I had to use apt install for libgdiplus
[12:18 PM PT]  Andrew Hellershanks: I already have that package installed.
[12:19 PM PT]  Cuga.Rajal seems mono and dotnet don't always play together well.
[12:19 PM PT]  Vincent.Sylvester If you have already got a mono build environment it's just a matter of getting dotnet and then you run prebuild and dotnet-build and you are done
[12:21 PM PT]  Cuga.Rajal there is one more step between them
[12:21 PM PT]  Ubit Umarov: (sorry at phone :( )
[12:21 PM PT]  Andrew Hellershanks: I would guess that dotnet-build is part of dotnet-sdk-6.0 or one of its dependencies.
[12:21 PM PT]  Lyr Lobo: yes
[12:21 PM PT]  Lyr Lobo: dotnet6
[12:22 PM PT]  Ubit Umarov: ok finaly... reading
[12:22 PM PT]  Lyr Lobo smiles
[12:22 PM PT]  Ubit Umarov: yes compiler is part of the dotnet SDK
[12:22 PM PT]  Andrew Hellershanks: I hope that dotnet won't mess up mono anymore than some mono(?) related update has. I've already lost the ability to run monodevelop which I find incredibly useful when dealing with the large code base of OpenSim.
[12:23 PM PT]  Ubit Umarov: not sure i want to try mesopotanea beer
[12:23 PM PT]  Cuga.Rajal isnt that whats being served here?
[12:24 PM PT]  Ubit Umarov: Oh you do not what to know what beer this is
[12:24 PM PT]  Andrew Hellershanks: Cuga, The beer has been here for a long time but not that long.
[12:24 PM PT]  Ubit Umarov: like mono, you will want to install dotnet form ms sites
[12:24 PM PT]  Ubit Umarov: not from distros
[12:24 PM PT]  Cuga.Rajal *spits out the beer :)
[12:24 PM PT]  Ubit Umarov: from
[12:25 PM PT]  Ubit Umarov: i only played with github to auto build mastert
[12:26 PM PT]  Ubit Umarov: actualy now harder than to build dotnet6
[12:26 PM PT]  Ubit Umarov: since many now consider mono obsolete
[12:26 PM PT]  Vincent.Sylvester *pours one out for poor old mono
[12:27 PM PT]  Orbert.Tatham Apparently even the mono maintainers consider it obsolete
[12:27 PM PT]  Cuga.Rajal Do you think a note should be added to the readme in master, explaining the current state of branches and the advantages of switching to dotnet?
[12:28 PM PT]  Vincent.Sylvester My plan was to do a large backport of things when dotnet would become master and as one last F U to Microsoft gutting it, not sure that really makes sense though
[12:28 PM PT]  Ubit Umarov: dotnet branch is still experimental for those who know it
[12:28 PM PT]  Ubit Umarov: :)
[12:29 PM PT]  Ubit Umarov: our site could have some info
[12:29 PM PT]  Vincent.Sylvester I maintain before it can become master it should get some tests written for the core functions and security
[12:29 PM PT]  Ubit Umarov: and will possible have..
[12:29 PM PT]  Vincent.Sylvester nunit is still a thing, just changed in syntax a bit
[12:30 PM PT]  Ubit Umarov: well some kinda talk about nuint as obsolete also
[12:30 PM PT]  Ubit Umarov: prefering new things like xunit or whatever
[12:30 PM PT]  Ubit Umarov: or ms own test things
[12:30 PM PT]  Vincent.Sylvester Yeah
[12:30 PM PT]  Vincent.Sylvester Lot more syntax changes in those though
[12:31 PM PT]  Vincent.Sylvester Not easy to convert tests, basically have to write them anew
[12:31 PM PT]  Ubit Umarov: think you did convert from xengine to y no?
[12:31 PM PT]  Ubit Umarov: well and abotu last week code changes
[12:32 PM PT]  Ubit Umarov: guess not much...
[12:32 PM PT]  Vincent.Sylvester Yeah the script engine tests I made copies for Y of the tests there were, fixed some old ones as well
[12:32 PM PT]  Ubit Umarov: i did more changes on the dotnet branch
[12:32 PM PT]  Ubit Umarov: some more of the pure c# code style changes
[12:32 PM PT]  Ubit Umarov: with a few optimizations in the middle
[12:33 PM PT]  Ubit Umarov: on one i did broke get terrain heights :P
[12:33 PM PT]  Ubit Umarov: already fixed :)
[12:33 PM PT]  Vincent.Sylvester lots of sugar heh
[12:33 PM PT]  Ubit Umarov: had also break sensors.. also fixed oops
[12:33 PM PT]  Ubit Umarov: :)
[12:35 PM PT]  Ubit Umarov: made a change on llStatus
[12:35 PM PT]  Ubit Umarov: it does suport a mask definint all things that should be set true or false, as sl spec
[12:36 PM PT]  Ubit Umarov: our code was only doing ONE thing
[12:36 PM PT]  Ubit Umarov: detected on a fixed order.. change phsycis... etc
[12:36 PM PT]  Ubit Umarov: now it do all... ( pray ..)
[12:36 PM PT]  Vincent.Sylvester Also set inlining for the script api both lsl and ossl
[12:37 PM PT]  Ubit Umarov: that change is only on dotnet6
[12:37 PM PT]  Ubit Umarov: on both i did add llLinkSetSoundQueueing and llLinkSetSoundRadius
[12:39 PM PT]  Vincent.Sylvester Probably still some sound functions missing, I recall phil asked me about some years ago, seems the various ways to play with sound requires loads of functions huh
[12:39 PM PT]  Ubit Umarov: yes again on dotnet6 i told JIT to try to full inline the stub methods of the script APIs
[12:40 PM PT]  Ubit Umarov: ( that is method in the same code space of the scritp, that does the real call to the api function )
[12:41 PM PT]  Ubit Umarov: in fact that is no longer needed . that was needed for Appdomains code
[12:41 PM PT]  Cuga.Rajal llSetSoundRadius wasn't already implemented? I thought it was, ok
[12:41 PM PT]  Ubit Umarov: but to remove would mean deep changes to Yengine code generation..
[12:42 PM PT]  Ubit Umarov: see the link part there :p
[12:42 PM PT]  Ubit Umarov: llLinkSetSoundRadius  [12:42 PM PT]  Ubit Umarov: we do have a ossl one that does similar also
[12:42 PM PT]  Cuga.Rajal ahh ok
[12:42 PM PT]  Ubit Umarov: but the ossl one only works per prim
[12:43 PM PT]  Ubit Umarov: this lsl one can call all prims
[12:43 PM PT]  Vincent.Sylvester I have a patch somewhere to make them linkset aware
[12:43 PM PT]  Ubit Umarov: ie we can use the constant like LINK_SET
[12:43 PM PT]  Ubit Umarov: or LINK_CHILD ??? or what is named
[12:44 PM PT]  Vincent.Sylvester Whether you do a get number of prims in a for loop or do it in C# doesn't make much of a difference really, just more convenient
[12:44 PM PT]  Ubit Umarov: kinda.. yes
[12:45 PM PT]  Cuga.Rajal LINK_ALL_CHILDREN
[12:45 PM PT]  Ubit Umarov: that.. ty Cuga.Rajal
[12:45 PM PT]  Ubit Umarov: made also some trivial opt
[12:46 PM PT]  Ubit Umarov: like adding constants LSL_STRING_empyt, LSL_VECTOR_zero, etc
[12:46 PM PT]  Jagga Meredith: kewl
[12:46 PM PT]  Ubit Umarov: this should save useless creation of new c# objects
[12:47 PM PT]  Ubit Umarov: even in same cases with conversion from libomv ones
[12:47 PM PT]  Ubit Umarov: like the LSL_vector did for zero
[12:48 PM PT]  Ubit Umarov: same for lsl_key nuil key and identity rotation ( ie null rotation)
[12:48 PM PT]  Ubit Umarov: so those are now shared things
[12:48 PM PT]  Ubit Umarov: well minor improvements :)
[12:48 PM PT]  Ubit Umarov: but that do add up :)
[12:48 PM PT]  Jagga Meredith: needed
[12:48 PM PT]  Cuga.Rajal may I ask a question re llSetSoundRadius
[12:48 PM PT]  Andrew Hellershanks: go ahead, Cuga
[12:49 PM PT]  Cuga.Rajal If a script that plays a sound also has llSetSoundRadius
[12:49 PM PT]  Vincent.Sylvester Depending on how much you use that with a couple thousand scripts that's a few kb of memory saved
[12:49 PM PT]  Cuga.Rajal do I have to be concerned if it is root, etc, or will that case always work?
[12:49 PM PT]  Ubit Umarov: those kinda "decisions" are viewer side
[12:50 PM PT]  Cuga.Rajal ok, but is working from server side?
[12:50 PM PT]  Ubit Umarov: when you ask something to play, the region tells viewer the uuid and some of that like radius
[12:50 PM PT]  Ubit Umarov: server does nothing but maintain those parameter values
[12:51 PM PT]  Ubit Umarov: if it is a attached sound.. radius.. etc..  viewers do it
[12:51 PM PT]  Ubit Umarov: server only sends back the parameters
[12:51 PM PT]  Cuga.Rajal a hot tub with bubbling sound coming from a child prim
[12:51 PM PT]  Cuga.Rajal script in that prim
[12:51 PM PT]  Ubit Umarov: tha set radius sets the radius of sounds on that prim
[12:52 PM PT]  Cuga.Rajal so that case is already working then?
[12:52 PM PT]  Ubit Umarov: yeap
[12:52 PM PT]  Cuga.Rajal kk thx :)
[12:52 PM PT]  Ubit Umarov: only dif is that you can control that to anyprim from any prim
[12:53 PM PT]  Cuga.Rajal ah yes, with llSetLinkSoundRadius
[12:53 PM PT]  Ubit Umarov: yeap
[12:53 PM PT]  Ubit Umarov: like control everything from root prim
[12:53 PM PT]  Ubit Umarov: in same cases a simpler programing model
[12:54 PM PT]  Ubit Umarov: that going look for scripts inside hidden tiny prims
[12:54 PM PT]  Ubit Umarov: than..
[12:54 PM PT]  Cuga.Rajal I can;t think of cases that would use that. But understand its good to keep paroty with SL
[12:54 PM PT]  Vincent.Sylvester Downside is creating ever larger single scripts
[12:54 PM PT]  Ubit Umarov: juast gave a example :)
[12:54 PM PT]  Ubit Umarov: yeap tradeoffs
[12:55 PM PT]  Ubit Umarov: but better than still controling it on root sending a linkmessage to the respective prim
[12:55 PM PT]  Ubit Umarov: a lot better
[12:55 PM PT]  Cuga.Rajal tru
[12:56 PM PT]  Lyr Lobo smiles
[12:57 PM PT]  Andrew Hellershanks: This hour flew by. Are there any other questions/comments before I start wrapping up this gathering?
[12:57 PM PT]  Cuga.Rajal just curious, would collision sounds be affected with llSetSoundRadius and llSetLink...?
[12:57 PM PT]  Ubit Umarov: think no
[12:57 PM PT]  Jagga Meredith: my bowling alley is set up outside
[12:57 PM PT]  Ubit Umarov: but would need to see on code :)
[12:57 PM PT]  Jagga Meredith: not entirely happy as it needs 11 listeners
[12:58 PM PT]  Vincent.Sylvester I did some retesting the other day after I went experimenting, logged here: Rather strange results
[12:58 PM PT]  Jagga Meredith: but it's for teaching so trying to keep it simple
[12:58 PM PT]  Andrew Hellershanks: Jagga, could you make that ring at the bottom of the pins invisible?
[12:58 PM PT]  Ubit Umarov: strange whenm you forget that all time things are done on script events
[12:58 PM PT]  Ubit Umarov: that for by a queue
[12:59 PM PT]  Ubit Umarov: so with a added latency that depends on engine load
[12:59 PM PT]  Jagga Meredith: physics on linked pins wouldn't work right
[12:59 PM PT]  Ubit Umarov: timer event is a EVENT
[12:59 PM PT]  Ubit Umarov: llSleep is  EVENT
[12:59 PM PT]  Ubit Umarov: etc
[12:59 PM PT]  Vincent.Sylvester That's what confuses me
[12:59 PM PT]  Ubit Umarov: well a normal one.. but also with latency
[12:59 PM PT]  Ubit Umarov: not
[1:00 PM PT]  Ubit Umarov: scripts where not made for time accuracy
[1:00 PM PT]  Ubit Umarov: in fact NO Pc was made for that
[1:00 PM PT]  Vincent.Sylvester I tried using wallclock to figure out if it was actually accurate
[1:01 PM PT]  Ubit Umarov: may not remember how hard it was to synmc lips to images if on diferent source files
[1:01 PM PT]  Cuga.Rajal which is more accurate, llSleep or timer() ?
[1:01 PM PT]  Ubit Umarov: windows native time has 15.6 resolution
[1:01 PM PT]  Ubit Umarov: 15.6ms
[1:02 PM PT]  Cuga.Rajal thats horrible
[1:02 PM PT]  Ubit Umarov: all are queued things
[1:02 PM PT]  Vincent.Sylvester From the tests it seems sleep is better, given it maintains the ten seconds mostly, but that seems strange
[1:03 PM PT]  Ubit Umarov: when sleep time expires the script is placed at end of the exec queue
[1:03 PM PT]  Ubit Umarov: llsleep maybe faster
[1:03 PM PT]  Ubit Umarov: bc it will exce on that point
[1:03 PM PT]  Jagga Meredith: reaity is queued.  our nervous system has latency
[1:03 PM PT]  Ubit Umarov: timer places a event on event queue and the scrip  on the running queue
[1:03 PM PT]  Ubit Umarov: so 2 queues
[1:04 PM PT]  Lyr Lobo grins
[1:04 PM PT]  Ubit Umarov: is region is not doing anything..  identicle
[1:04 PM PT]  Ubit Umarov: if busy.. well..  you got the picture
[1:04 PM PT]  Vincent.Sylvester I used to combat the timer drift by putting a settimerevent at the end of the timer(), which then basically acts like sleep does here I would think
[1:05 PM PT]  Ubit Umarov: no not really vic
[1:05 PM PT]  Vincent.Sylvester Ends up more accurate than leaving the timer running normally, the drift can get pretty big over time
[1:05 PM PT]  Ubit Umarov: llgettime should be better
[1:05 PM PT]  Selby.Evans bye all
[1:05 PM PT]  Ubit Umarov: if called on same event
[1:05 PM PT]  Ubit Umarov: cya Selby.Evans
[1:05 PM PT]  Cuga.Rajal suppose there were multiple llSleep calls, with actions between them. Is that better then timer with some flag to switch actions?
[1:06 PM PT]  Ubit Umarov: in fact getime uses a time base with like 100ns resolution
[1:06 PM PT]  Ubit Umarov: everyhting else has like 1ms on linux, 15.6 on win
[1:07 PM PT]  Ubit Umarov: ( the 15.6 is a reason why a idle  win laptop uses less power than a linux one )
[1:07 PM PT]  Ubit Umarov: ( one can tell windoes to do 1ms also..  burning more cpu )
[1:07 PM PT]  Vincent.Sylvester a while loop like that also gets stuck, you can't easily exit it like setting timer to zero
[1:08 PM PT]  Ubit Umarov: yengine will interrupt you loops after  - 60ms and put the script at the end of the exec queue :P
[1:08 PM PT]  Ubit Umarov: and then will do it every 30ms aprox
[1:09 PM PT]  Ubit Umarov: want to have exact time, buy a watch :p
[1:09 PM PT]  Ubit Umarov: hihihi
[1:09 PM PT]  Vincent.Sylvester Heh
[1:09 PM PT]  Andrew Hellershanks: hehe
[1:09 PM PT]  Ubit Umarov: :)
[1:09 PM PT]  Jagga Meredith: price is coming down on atomic clocks
[1:10 PM PT]  Vincent.Sylvester I just remembered that ticket after working on a color switching thing and ended up using a longer timer with a while loop and sleep, because that ends up using less cpu than running the timer faster
[1:10 PM PT]  Ubit Umarov: even old expensive workstations did not care abotu time
[1:10 PM PT]  Ubit Umarov: you may had read abotu Real Time operating systems
[1:10 PM PT]  Ubit Umarov: special ones to use when timing is critical
[1:11 PM PT]  Ubit Umarov: linux has variants that do it
[1:11 PM PT]  Vincent.Sylvester timers are oddly cpu heavy as of late, or I am just throwing too much at them, also possible
[1:11 PM PT]  Cuga.Rajal color timers are a popular way to make slow color changes, but so cpu wasteful! You can do color changer with texture animation and no script
[1:11 PM PT]  Ubit Umarov: a reason why also some pcs on machines ketp using msdos btw
[1:12 PM PT]  Vincent.Sylvester Surprisingly a while with 0.01 sleep eats no cpu
[1:12 PM PT]  Ubit Umarov: yes i did delete a think kayaker had here ilustrating that
[1:12 PM PT]  Ubit Umarov: ( you did not noticed but i did cleanup a bit )
[1:13 PM PT]  Ubit Umarov: well deleted that
[1:13 PM PT]  Ubit Umarov: lol
[1:13 PM PT]  Vincent.Sylvester So long as the bar doesn't end up gone
[1:13 PM PT]  Andrew Hellershanks: :)
[1:13 PM PT]  Orbert.Tatham Can't have my Mesopotamian beer
[1:13 PM PT]  Ubit Umarov: well last time is actually had it on my pocket lol
[1:13 PM PT]  Cuga.Rajal if anyone wants a scriptless color changer, PM me :)
[1:14 PM PT]  Vincent.Sylvester Gif based is probably best yeah
[1:14 PM PT]  Andrew Hellershanks: scriptless? Intersesting.
[1:14 PM PT]  Cuga.Rajal well, use a script to set the texture animation, then rempove it
[1:14 PM PT]  Cuga.Rajal is persistent
[1:15 PM PT]  Cuga.Rajal set x-repeat to 0.0001
[1:15 PM PT]  Cuga.Rajal use a rainbow texture
[1:15 PM PT]  Cuga.Rajal I coud demo sometime of people inetersted
[1:15 PM PT]  Andrew Hellershanks: Cuga, Nice simple solution.
[1:15 PM PT]  Ubit Umarov: ok i need jump rl for a while
[1:15 PM PT]  Ubit Umarov: cya later
[1:15 PM PT]  Andrew Hellershanks: ok, Ubit.
[1:16 PM PT]  Orbert.Tatham Peace, Ubit
[1:16 PM PT]  Andrew Hellershanks: It is about time to wrap up the meeting. Last call for any final comments/questions.
[1:16 PM PT]  Ubit Umarov: hmm still did not finishe to read war in peace in english
[1:16 PM PT]  Ubit Umarov: :p
[1:16 PM PT]  Ubit Umarov: war and peace..
[1:16 PM PT]  Andrew Hellershanks: I don't see anyone typing so I will call this meeting to a close.
[1:16 PM PT]  Andrew Hellershanks: Thank you all for coming. See you again next week.
[1:17 PM PT]  Ubit Umarov: is kinda big and with no pictures
[1:17 PM PT]  Motoko.Karu Thank you.. :)
Personal tools
About This Wiki