Chat log from the meeting on 2022-03-22

 This weeks meeting was held in the opensim region of ZetaWorlds due to osgrid being offline.

[11:03] Ubit Umarov:  http://opensimulator.org/wiki/Office_hours#Tuesday_-_Office_Hour [11:04] Kayaker.Magic @grid.kitely.com:8002: Is there a document in the opensimulator wiki with the mysql structure of opensim documented? [11:04] Vincent Sylvester: Try assets or database search terms [11:04] Ubit Umarov: what for?? code is all the code :p [11:04] Ubit Umarov: oops [11:04] Vincent Sylvester: Most of the database schema is documented [11:04] Ubit Umarov: what for?? code is all the documentation :p [11:05] Ubit Umarov: wc andrew.Hellershanks [11:05] Ubit Umarov: no log prim here [11:06] Andrew Hellershanks: np. I didn't expect to see a logging prim. [11:06] Andrew Hellershanks: Hello, everyone. [11:06] Andrew Hellershanks: well, I made it. Took a couple of attempts before the HG TP worked. [11:07] Ubit Umarov: the one at dev outreach uses things made bu bill [11:07] Andrew Hellershanks: I needed to go via the default region then TP to this region. [11:09] Kayaker.Magic @grid.kitely.com:8002: My confusion is that the robust table has a UUID and a hash, but there can be multiple UUIDs for a single hasn. So what is that UUID there? [11:10] Ubit Umarov: each asset has a unique id [11:10] Vincent Sylvester: uuid is the item uuid which is unique to each copy, but if the data is the same it is associated to the same hash [11:10] Vincent Sylvester: That's to reduce the amount of data present and well just no other way of really doing that if you want speed [11:11] Ubit Umarov: but a large hash od its binary contents is used to detect duplication [11:11] Ubit Umarov: so the asset data is stored on a file referenced by that hash [11:11] Ubit Umarov: currently a SHA256 hash [11:12] Kayaker.Magic @grid.kitely.com:8002: Foolish me, I thought the hash was the unique index. [11:12] Andrew Hellershanks: UUIDs are unique. The hash is the hash of the asset blob/file as stored on disk. [11:12] Ubit Umarov: should be almost unique for a binary data set [11:12] Andrew Hellershanks: The hash also needs to be unique. [11:13] Vincent Sylvester: The only key is on the id, hash doesn't have a key [11:13] Ubit Umarov: ofc not absolete unique, but good enouth for purposes [11:13] Kayaker.Magic @grid.kitely.com:8002: I just noticed that [11:13] Ubit Umarov: duhh hasd is used as a id [11:13] Ubit Umarov: duhh hash is used as a id [11:14] Ubit Umarov: asset UUID -> real Data hasd as id _> file with data [11:14] Ubit Umarov: asset UUID -> real Data hash as id -> file with data [11:15] Andrew Hellershanks: inventory UUID -> asset UUID [11:15] Vincent Sylvester: Example would be an inventory item owned by multiple people, multiple uuids, but same hash as the data is the same unless they start editing the asset itself at which point a new hash is made [11:15] Ubit Umarov: as i said assumes the very low collision of SHA256 is uniqueness enough for us [11:16] Ubit Umarov: possible it should be like a c# hashset [11:16] Ubit Umarov: but well [11:17] Vincent Sylvester: How does collision probability behave if you go up to like sha512? [11:18] Ubit Umarov: no idea the numbers [11:19] Ubit Umarov: well and depends on what [11:19] Vincent Sylvester: The chance to a 512-bit hash collision is 1.4×10^77 [11:19] Vincent Sylvester: Whatever that means lol [11:20] Vincent Sylvester: Number so large if it does happen buy a lottery ticket heh [11:20] Andrew Hellershanks: :) [11:21] Ubit Umarov: well crude extimation is just 1/(2^-256) [11:21] Ubit Umarov: versus 1/(2^-512) [11:21] Ubit Umarov: real is worse than that [11:23] Andrew Hellershanks: Not a lot of OpenSim news this week. [11:23] Andrew Hellershanks: There was quite a bit of activity but most of the changes were more code cleanup. [11:23] Vincent Sylvester: And more email stuff [11:23] Ubit Umarov: wel made some more work on llemail support [11:24] Ubit Umarov: made it closer to what it shoud had been since ever [11:24] Andrew Hellershanks: Yup. According to the change log it appears the new email module has replaced the old one. [11:24] Ubit Umarov: its smtp does TLS now, as i said, and had option to remove certificates validation [11:24] Andrew Hellershanks: Ubit, it has only taken how many years? :) [11:24] Ubit Umarov: so the smtp server can use selg signed certs [11:25] Ubit Umarov: self [11:25] Ubit Umarov: guess not many use it, so not many complaint [11:25] Ubit Umarov: also added throttle [11:26] Ubit Umarov: total smtp emails pre day... [11:26] Andrew Hellershanks: Good idea. [11:26] Ubit Umarov: total llemails per prims owner [11:26] Vincent Sylvester: I worry a bit about what people might start doing with email, using opensim as replacement for thunderbird or something crazy like that [11:26] Ubit Umarov: and llemals per object [11:26] Ubit Umarov: all needed sets of limitation [11:27] Andrew Hellershanks: Vincent, it is one of the reasons I added the ability to restrict outgoing email to the address of the object owner. That way they could only spam themselves. [11:27] Vincent Sylvester: Interesting idea [11:28] Misterblue Waves: hello all... took me a while to create a new account here but I made it [11:28] Ubit Umarov: welsome [11:28] Andrew Hellershanks: People could use vendors that email sales data but couldn't abuse it by sending to other people. [11:28] Andrew Hellershanks: Hello, misterblue [11:28] Ubit Umarov: well to just limit sending to a user is.. well very short [11:29] Ubit Umarov: so on standalones, llemail does almost all needed, if you have a smtp server [11:29] Andrew Hellershanks: The mail system didn't even have that sort of restriction before so it could have been more easily abused. [11:29] Ubit Umarov: .. that accepts simple user-password auth [11:30] Ubit Umarov: on grids.. [11:30] Ubit Umarov: still no email to a object on another region [11:30] Ubit Umarov: that needs a grid side module [11:30] Ubit Umarov: and some polling [11:30] Ubit Umarov: in fact smtp MUST be moved to a grdi side module also [11:31] Ubit Umarov: so smtp limits can be grid wide [11:31] Ubit Umarov: like the 100 emails per day many have.. [11:31] Ubit Umarov: of 10000 some payed mailler have.. etc [11:31] Ubit Umarov: or.. [11:32] Ubit Umarov: so.. uff a region side module is needed.. [11:32] Ubit Umarov: **TODO** one day :) [11:33] Vincent Sylvester: At that point I wonder is a osMessage object with a robust module might not be more effective for communication like that, doing that over email seems like added layers you don't need [11:33] Andrew Hellershanks: IIRC, the LSL wiki also specifies a rate limit in terms of hours or minutes. [11:33] Ubit Umarov: yeah this email thing is almost same as grid IMs [11:33] Ubit Umarov: but those are also region to region only nonsense [11:34] Ubit Umarov: no central postoffice [11:34] Misterblue Waves: maybe messages to XMPP or something else to get away from the potentially bad email stuff [11:34] Ubit Umarov: XMPP?? why crap heavy mess?? [11:34] Ubit Umarov: jezz [11:34] Ubit Umarov: ppl love complex nonsense protocols :p [11:35] Misterblue Waves: just pick something that works... email is heavy and a potential pain [11:35] Ubit Umarov: the fact they self claim do be "The universal messaging standard" makes ti any good ;) [11:35] Ubit Umarov: well original smtp was light~ [11:36] Ubit Umarov: i send several emaisl with just telnet :) [11:36] Vincent Sylvester: string destination(regionuuid:objectuuid), string message and then just steal code from IM hehe [11:36] Ubit Umarov: ofc 2 light :) [11:36] Misterblue Waves: UBit, have you tried out the prebuildnet6 stuff? I wish that could be merged into master [11:36] Ubit Umarov: oops [11:36] Ubit Umarov: still didn't :( [11:37] Vincent Sylvester: Now you put the idea in my head lol [11:37] Vincent Sylvester: Time to write my first robust module :D [11:37] Ubit Umarov: xmpp is kinda dead no? [11:37] Misterblue Waves: idon't think it changes anything in normal use [11:39] Ubit Umarov: BOSH BOSH is “Bidirectional-streams Over Synchronous HTTP” [11:39] Ubit Umarov: duhhh [11:40] Ubit Umarov: took so long for ppl to realize that some things already have a name... "UDP" :p [11:40] Ubit Umarov: wel UDP with some more "little" code [11:40] Vincent Sylvester: web3... *barfs* [11:41] Ubit Umarov: btw a viewer dev asked me to support the new cpa for avatar profiles [11:42] Ubit Umarov: they want to remove the lludp protocol on that.. [11:42] Ubit Umarov: i did look [11:42] Ubit Umarov: and im basicly refusing [11:42] Ubit Umarov: that change is just BAD [11:42] Ubit Umarov: replaces fast and working lludp by very expensive http [11:42] Ubit Umarov: without any gain... only big loss of precision [11:43] Vincent Sylvester: Why even fiddle with that, least of the problematic areas [11:43] Ubit Umarov: and increased odds of a single viewer totall DDOS a server [11:43] Misterblue Waves: but it is not on a performance so portability might bebgood [11:43] Vincent Sylvester: Meanwhile groups get no love [11:43] Misterblue Waves: performance path [11:44] Ubit Umarov: that cap joisn 3 diferent requests [11:44] Ubit Umarov: that have 4 diferent grid side services, each with own dbs [11:45] Ubit Umarov: and keeps the http connection open while all that is done [11:45] Ubit Umarov: as oyu can see, a nice path totally exust the max number of open files a sever can have [11:45] Ubit Umarov: adding all the tcp crap, like TIME_WAIT [11:46] Vincent Sylvester: Hm especially if the profile data cannot be found cause the grid no longer exists [11:46] Ubit Umarov: lludp is 3 commands, all async [11:46] Ubit Umarov: serves send bad the information when the have it [11:46] Ubit Umarov: no heavy open tcp while doing that [11:47] Ubit Umarov: see the issues? [11:47] Misterblue Waves: only if you have to do it multiple time a second [11:48] Ubit Umarov: fyi when you look to People->friends_ all friends,  fs asks for profiles ofall your friends, full speed [11:48] Ubit Umarov: thats 250 in my humble case.. [11:48] Vincent Sylvester: I have users with 600+ friends [11:48] Vincent Sylvester: A third of which are dead links [11:48] Ubit Umarov: with lludp that put in a stack, and answer when done [11:49] Misterblue Waves: certainly in that case [11:49] Ubit Umarov: with a htpp capt.. well you already see the movie [11:49] Vincent Sylvester: Most people underestimate the mess some things can make, especially in our environment [11:49] Misterblue Waves is typing slow because i'm holding my 4 day old grand daughter [11:49] Ubit Umarov: ( ofc they also moved from nicely compacted binary protocol to that damm stupid LLSDXML ) [11:50] Ubit Umarov: where 95% of the transfer data is protocol junk [11:50] Ubit Umarov: and no gain at all [11:51] Ubit Umarov: the transfered things are exactly the same [11:51] Ubit Umarov: well that is why im refusing that move [11:51] Vincent Sylvester: Imagine that for groups... [11:52] Ubit Umarov: wel part of the information on that is groups list [11:53] Ubit Umarov: as i said that http conn needs to stay open while code talks with 4 services (?) one of them is groups [11:53] Vincent Sylvester: Oh boy [11:53] Ubit Umarov: that 600 times as soon you users login and look to all friends list :) [11:53] Ubit Umarov: per user [11:54] Ubit Umarov: you may already notice that with lludp already several things do stop [11:54] Ubit Umarov: at a point local chat did stop [11:54] Ubit Umarov: because i was using same sevice thread :p [11:55] Vincent Sylvester: Yeah if I reload our main group it takes a few seconds because over 700 users in it [11:55] Ubit Umarov: yeah welcome to the no limits opensim world :p [11:56] Ubit Umarov: a vatar can be member of 1000 000 groups.. not like that silly sl that limits that [11:56] Ubit Umarov: :P [11:56] Andrew Hellershanks: 700 is a small group. I remember one grid that had a group that (almost) all users were in. It was used to make grid announcements. I had thousands of users. [11:56] Andrew Hellershanks: s/I/It/ [11:56] Ubit Umarov: hmm actually i don't remember current limit we have, if any [11:56] Vincent Sylvester: I started culling ancient users out to get some performance back [11:57] Ubit Umarov: well goups can have thousands users [11:57] Ubit Umarov: that is another big problem, but another problem [11:57] Vincent Sylvester: If I had more time I'd look through groups see if there is any performance to be gained updating the code, but I also doubt there is much that can even be done [11:58] Ubit Umarov: on groups, all that needs a central gird control [11:58] Andrew Hellershanks: Current default in Robust is 42 groups. That was changed when LL changed it to 42. It used to be 50 at one time. Might have even been 100 ages go. [11:58] Andrew Hellershanks: s/go/ago/ [11:58] Ubit Umarov: a postOffice again [11:58] Ubit Umarov: to dispatch messages better [11:58] Ubit Umarov: ofc can be a heavy service [11:58] Ubit Umarov: bta that is how irc works [11:59] Ubit Umarov: and IMs shoud just follow irc model, imo [11:59] Andrew Hellershanks: We are at the top of the hour. Did anyone have a question or topic for today before we wrap up? My cat would like it we finish on time. She has been after me for the last 10 minutes. [11:59] Ubit Umarov: but that is other issue, not the profiles one [11:59] Ubit Umarov: ofc viewer devs not happy with me [11:59] Ubit Umarov: ll wants to remove all lludp code, so they also want [12:00] Vincent Sylvester: SL shooting its own foot, what shocking news lol [12:00] Andrew Hellershanks: :) [12:01] Andrew Hellershanks: Ubit, makes sense. IRC is a proven method for handling messaging amongst many simultaneous users. [12:02] Andrew.Hellershanks: No last minute items for today? [12:03] Ubit Umarov: well but IMs is future thing.. [12:03] Andrew.Hellershanks: With luck osgrid will be back up and running again this time next week and we can meet in our usual location. [12:03] Ubit Umarov: not a easy change now [12:04] Andrew.Hellershanks: I think that the clocks change this coming weekend for our friends in EU so that will make the meeting start one hour earlier for them (local time). [12:04] Ubit Umarov: yeha lets hope it is back next week [12:04] Andrew.Hellershanks: or later depending on how you look at it. [12:04] Ubit Umarov: meanwhile, [12:04] Andrew.Hellershanks: Always gets a bit confusing. [12:04] Ubit Umarov: thanks ZetaWorlds for hosting us [12:04] Andrew.Hellershanks: Still 11AM grid time. [12:04] Vincent Sylvester: Happy to help out :) [12:04] Ubit Umarov: ( next time do serve coffe and cookies.. ) [12:05] Andrew.Hellershanks: Yes. Thank you ZetaWorlds. [12:05] Ubit Umarov: :) [12:05] Andrew.Hellershanks: Maybe next time. This was probably set up a bit last minute. [12:05] Ubit Umarov: well we shoul din fact have meetings on other grids [12:05] Ubit Umarov: now and then [12:05] Ubit Umarov: they are opensim.. [12:05] Vincent Sylvester: I setup this region years ago, don't even remember when [12:06] Andrew.Hellershanks: Good idea but we would need a way to let people know well in advance where we will meet to avoid losing people who regularly attend. [12:06] Andrew.Hellershanks: I like the bushes outside that spell out OPENSIM. [12:07] Vincent Sylvester: Couldn't quite fit the other letters hehe [12:07] Andrew.Hellershanks: You need smaller letters or a larger region. :) [12:07] Ubit Umarov: well dev outreach is our main "base" [12:07] Ubit Umarov: but we shoudl get out more ;) [12:08] Ubit Umarov: well a idea i had for some time, jsut getting dust [12:08] Andrew.Hellershanks nods [12:09] Vincent Sylvester: Unfortunately can't do a web redirect with how opensim handles hg, tried that [12:09] Andrew.Hellershanks: If there is nothing further for today I'll wrap up the meeting before my cat gives up on waiting for me to go play. [12:09] Misterblue Waves: byt all [12:09] Andrew.Hellershanks: Thank you all for coming. See you again next week.