Chat log from the meeting on 2022-02-15

From OpenSimulator

Jump to: navigation, search
[11:01] Kayaker Magic: I didn't see any names on any of these seats!
[11:01] Misterblue Waves: I still receive compensation payment email from the united nations. I would have thought that scam would be over by now
[11:01] Andrew Hellershanks: Hello, everyone.
[11:01] Ubit Umarov: but ypu did sit on yours :)
[11:01] Jamie.Jordan @grid.kitely.com:8002: my bad
[11:02] Ubit Umarov: well and now gavin dones not show up :)
[11:02] Selby.Evans @grid.kitely.com:8002: Hi everyone
[11:02] Ubit Umarov: kiding
[11:02] Misterblue Waves: looks like I'm dancing at the head of the table... better move
[11:04] Michael.Christopher @cc.opensimulator.org:8002: hello everyone
[11:04] Misterblue Waves: hello Michael
[11:05] Misterblue Waves: have been looking at Prebuild... thinking of adding target of "standard20"
[11:06] Ubit Umarov: what is standard20?
[11:06] Ubit Umarov: that is gone
[11:07] Ubit Umarov: acording to ms, all unified in .net5.0 now .net6.0
[11:07] Misterblue Waves: it still exists as an everywhere thing. dotnet standard 2.1 is specific
[11:07] Ubit Umarov: ie there is also core2, 3 3.1 etc
[11:07] Ubit Umarov: a total mess
[11:08] Misterblue Waves: for sure a total mess
[11:08] Ubit Umarov: but as i said, ms says it is now only .net6.0
[11:09] Ubit Umarov: lookied today to a mysql connector maria now recomends
[11:09] Andrew Hellershanks: What has Misterblue in a dancing mood?
[11:09] Kayaker Magic: So Mr Blue, how goes your new viewer project?
[11:09] Ubit Umarov: it complies in 16 variats
[11:09] Ubit Umarov: 8 debug, 8 release
[11:10] Misterblue Waves: yes, but adding standard2.0 to a large project built on Framework4.8 is an easier thing than trying for Dotnet 6
[11:10] Ubit Umarov: the 8 are from 4.5, 4.6.1. 4.7.1, 5. 6.  core3 standart2 etc
[11:10] Andrew Hellershanks: Ubit, 16 variants of a MySQL connector?
[11:10] Ubit Umarov: compiled variants
[11:10] Andrew Hellershanks: oh, I see.
[11:10] Ubit Umarov: pure stupidity now
[11:11] Ubit Umarov: and scary things even
[11:11] Misterblue Waves: I am trying to start a larger viewer discussion
[11:11] Misterblue Waves: so far I've been doing-my-own-thing but I could use more input
[11:11] Michael.Christopher @cc.opensimulator.org:8002: larger?
[11:11] Ubit Umarov: all use system.compilerservices.unsafe
[11:11] Ubit Umarov: also dor .net4.5
[11:12] Ubit Umarov: when documentation tells it is only for .net core
[11:12] Ubit Umarov: at least to things that do suport  ref locals
[11:12] Misterblue Waves: at the moment, I have addon-modules  that convert OS assets to GLTF formats, use the Cesium 3d tile scene definition for a LOD description of the scene, and have a limping browsers viewer
[11:12] Ubit Umarov: well..  C# is just bad now
[11:13] Misterblue Waves: debating how much automatic LOD stuff to do -- browsers need simpliler assets for large scenes
[11:15] Ubit Umarov: what browsers...
[11:15] Ubit Umarov: what viewer...
[11:17] Andrew Hellershanks: Looking at the OS change log this past week most of the changes were related to libOMV.
[11:17] Misterblue Waves: @Ubit, I've been working on a virtual world viewer for a while and am being more public about it
[11:17] Ubit Umarov: ok
[11:18] Misterblue Waves: the current implmentation is ThreeJS in whatever browser (Chrome, Firefox, ...)
[11:18] Andrew Hellershanks: Misterblue, that is a big project. I hope you get some other people to help you out.
[11:18] Selby.Evans @grid.kitely.com:8002: A browser-based viewer
[11:18] Misterblue Waves: although, these days, more work is being done on Babylon rather than ThreeJS
[11:19] Selby.Evans @grid.kitely.com:8002: Should run in all browsers.
[11:19] Ubit Umarov: so to see a static model of a region ?
[11:19] Misterblue Waves: I hope is to have a browser viewer and an other-engine viewer going in a few months. I first thought of Unreal but people don't like that
[11:19] Kayaker Magic: OMG, most commercial WEB pages have trouble running in all browsers!
[11:20] Kayaker Magic: I like Unreal!
[11:20] Misterblue Waves: @Kayaker indeed, the compatibility just using the "standard" stuff is iffy
[11:20] Ubit Umarov: one problem of the real good engines is that that cost $$.. a lot
[11:21] Selby.Evans @grid.kitely.com:8002: Already can convert OAR files to inport into browser-based.
[11:21] Ubit Umarov: unreal just wanted to be payed..
[11:21] Ubit Umarov: none has a "opensource" model like opensim
[11:21] Kayaker Magic: I think Unreal changed that policy for small projects.
[11:21] Ubit Umarov: they are money making things.. no free lunch
[11:22] Misterblue Waves: @Ubit, the protocol is organized in "layers" which can have different message packing and differnet network transports. I currently separate a region's content into static, dynamic (scripted or physical), and avatars.
[11:23] Misterblue Waves: @Selby, yes. I wrote 'Convoar" and those subroutines and used to convert the region assets to GLTF on-the-fly or in batches
[11:23] Andrew Hellershanks: Kayaker, just getting static pages to handle CSS so you get the same appearance across multiple browsers is bad enough without throwing in scripting in to the mix.
[11:23] Kayaker Magic: The advantage of Unreal is their new auto-LOD system. Since we will never convince builders in OpenSim to optimize their mesh, U5 would make all that content work fast.
[11:24] Misterblue Waves: the interesting part of Unreal is their LOD optimizations in the renderer. It architecturally complicates how much LOD to do in the asset generation phase and in the asset rendering phase
[11:24] Selby.Evans @grid.kitely.com:8002: Importing OAR files from OpenSim to Web Worlds: Convoar  --   Importing OAR files from OpenSim to Web Worlds: Convoar
[11:24] Selby.Evans @grid.kitely.com:8002: https://virtualoutworlding.blogspot.com/2018/07/2018-ww-hg-importing-oar-files-from.html
[11:24] Misterblue Waves: otherwise, there are a lot of open-source renderer projects that could be used
[11:26] Misterblue Waves: LOL, what @Kayaker said
[11:26] Selby.Evans @grid.kitely.com:8002: Browser based worlds are getting traction  Decentraland, Mozilla hubs
[11:27] Selby.Evans @grid.kitely.com:8002: here are some:  https://mymetaversehub.com/
[11:27] Michael.Christopher @cc.opensimulator.org:8002: Selby - i've been asking for it long enough :P
[11:28] Kayaker Magic: Lots of people ask for anti-grav cars. That doesn't mean one will ever fly.
[11:28] Andrew Hellershanks: Misterblue, When I hear references to rendering engines for use with OS I start wondering about using the one in Blender. It is more likely to have a licence that doesn't restrict its use unless you pay someone some money.
[11:29] Michael.Christopher @cc.opensimulator.org:8002: steven is using blender, but i just havent taken the time to learn it yet, im still using sketchup and exporting
[11:29] Andrew Hellershanks nods
[11:29] Ubit Umarov: using a picture quality render for real time?  jezz
[11:30] Ubit Umarov: whatever..
[11:30] Misterblue Waves: @Andrew, I haven't looked into that one. Would wonder how it is made available and how efficient it is. Rendering a prototype animation can be different than rendering a high frame-rate scene view
[11:30] Michael.Christopher @cc.opensimulator.org:8002: oh wait you mean live like while in world?
[11:30] Andrew Hellershanks: Blender is a program with many parts to learn. All depends on your use case for it as to how deep you go down the rabbit hole.
[11:30] Kayaker Magic: I would guess that the renderer(s) in Blender were not designed to be used by other systems, while Unreal was designed as an API
[11:30] Misterblue Waves: the are SO MANY browser based "virtual world" projects out there. I seem to find a new one every day
[11:31] Andrew Hellershanks: Misterblue, I forget which one is the current (new) renderer in Blender but either Evee or Cycles are meant to render in real-time.
[11:31] Andrew Hellershanks: Kayaker, I have heard of one of them being used outside Blender.
[11:31] Michael.Christopher @cc.opensimulator.org:8002: kayaker - is it complicated to export from blender to unreal?  we're working in unity still
[11:31] Misterblue Waves: @Andrew, there worth a look
[11:33] Misterblue Waves: once I have the browser one working enough, I want another rendering engine that would make a splash. There is a conservative "right" choice and there is the "crazy" choice  that would make people sit up and look :)
[11:33] Kayaker Magic: I want to go crazy!
[11:33] Andrew Hellershanks: Misterblue: This page covers differences between Cycles and Evee -> https://cgcookie.com/articles/blender-cycles-vs-eevee-15-limitations-of-real-time-rendering
[11:34] Misterblue Waves: @Andrew thanks!
[11:35] Misterblue Waves: of course, everyone has a 3080 in their computer ;-)
[11:35] Andrew Hellershanks: 3080?
[11:36] Ubit Umarov: nahh  that is weak..  3080 ti at least..  most 3090
[11:36] Misterblue Waves: @Andrew that's a top NVidia graphics card
[11:36] Andrew Hellershanks: oh, the newer line of nVidia video cards.
[11:36] Michael.Christopher @cc.opensimulator.org:8002: really? just spent 4k on this and only got the 3080
[11:37] Michael.Christopher @cc.opensimulator.org:8002: would have been another 2k to go to the 3090
[11:37] Andrew Hellershanks: Didn't recognize the number at first without the RTX prefix.
[11:37] Michael.Christopher @cc.opensimulator.org:8002: took me a sec too andrew
[11:37] Ubit Umarov: you do nothing without a rtx3090
[11:37] Andrew Hellershanks: I'm not going to spend that kind of money just on a video card.
[11:37] Misterblue Waves: of course, with a better renderer, we'd need better world content. I remember trying out one of the VR viewers and finding  that the trees and bushed were Really Bad in VR
[11:38] Misterblue Waves: bushes
[11:38] Ubit Umarov: most top games need a 3080
[11:38] Andrew Hellershanks: When a viewer is capable of showing people better content people will start making better content.
[11:38] Ubit Umarov: well whatever..
[11:39] Ubit Umarov: no  there will never be better content
[11:39] Ubit Umarov: the solution to have better content, and viable comercial VR is to close content creation to professioanals
[11:40] Ubit Umarov: like sansar and space do
[11:40] Michael.Christopher @cc.opensimulator.org:8002: hmmm.
[11:40] Andrew Hellershanks: Ubit, do you consider mesh content as no better than what was available before it?
[11:40] Jamie.Jordan @grid.kitely.com:8002: the cards are great but they don't matter if you can't buy them
[11:40] Ubit Umarov: forget. .world is for those who can pay it
[11:41] Ubit Umarov: more and more
[11:41] Michael.Christopher @cc.opensimulator.org:8002: jamie - excellent point.  if people cant really see vr right without a $2000-$3000 graphics card, few ever will
[11:41] Andrew Hellershanks: Closing content creation to "Professionals" is pretty much what Sansar did.
[11:41] Misterblue Waves: my next real reandering problem is avatars. I can take code from Radigast for the base avatar but I'm on my own for the mesh avatars
[11:42] Ubit Umarov: that is what is said andrew
[11:42] Ubit Umarov: and it is the only way to have something that does work
[11:42] Jamie.Jordan @grid.kitely.com:8002: I'd build a new rig tomorrow if I could get parts
[11:42] Ubit Umarov: you can't just let ppl grab things from web and upload
[11:42] Ubit Umarov: that will never work
[11:42] Misterblue Waves: then there are the new avatar formats like VRM
[11:43] Ubit Umarov: no matter how good you make upload optimizers
[11:43] Andrew Hellershanks: It wouldn't help a world to develop if only a relatively small number of people can make content.
[11:43] Ubit Umarov: well that is the gaming industry
[11:43] Ubit Umarov: and movies etc
[11:44] Ubit Umarov: so in fact a lot of good creators there
[11:44] Misterblue Waves: it would be nice to incorporate the avatar format being used by vtubers and VRChat, etc. There are nice, online avatar creation sites these days
[11:44] Ubit Umarov: avatar creation for what?
[11:44] Misterblue Waves: the reason Minecraft and SL are as popular as they are is because of the easy user content creation
[11:45] Ubit Umarov: wlel that was made possible at sl with the prim idea
[11:45] Ubit Umarov: the mesh started going bad.. even considering they are limited 16bit mesh
[11:46] Ubit Umarov: even so,. sl viewer does work on a intel integrated GPU
[11:46] Ubit Umarov: of mid range pcs/laptops
[11:46] Michael.Christopher @cc.opensimulator.org:8002: this takes me back to the subject of standards for avatars so, like our suitcase here, avatars can transition between worlds without re-creating them over and over.
[11:47] Kayaker Magic: Yeah, I'm away from home for a few weeks, and my laptop is working well without the nvidea my desktop has.
[11:47] Michael.Christopher @cc.opensimulator.org:8002: sounds like that would need a layering system so low-poly worlds can display a simpler version and high-poly worlds can show the full complexity
[11:47] Ubit Umarov: well all systems have that michael.Christopher
[11:47] Ubit Umarov: LOD is part of that also
[11:48] Michael.Christopher @cc.opensimulator.org:8002: its part of that walled garden subject
[11:48] Misterblue Waves: today, people create avatars using tools like ReadyPlayerMe (https://readyplayer.me/) and can us it in many different worlds (VRChat, Decentraland, ...)
[11:48] Ubit Umarov: with high definition LOD levels restricted to better hardware
[11:48] Misterblue Waves: should also be in OpenSim
[11:48] Michael.Christopher @cc.opensimulator.org:8002: yes
[11:49] Ubit Umarov: well just add a SL like avatar plugin to that readyplayerme
[11:50] Misterblue Waves: @Ubit, I'm thinking the other way around
[11:50] Ubit Umarov: from what i see that is not one avatar for all games.. it is a avatar "compiled" for this or that game...
[11:50] Ubit Umarov: i know you are.. but does not seem that is that
[11:50] Ubit Umarov: but don't know..
[11:50] Misterblue Waves: everyone names their bones differently, it seems
[11:50] Ubit Umarov: everyone makes its own thing
[11:51] Ubit Umarov: there is no "avatar" standard
[11:51] Michael.Christopher @cc.opensimulator.org:8002: thats what i thought too ubit - it generates an avatar that you can re-upload to ever other world, but if you change the avatar in one world, you would have to re-upload it everywhere else to echo that change
[11:51] Ubit Umarov: just things that do look identical, bc each copies each other ideas
[11:51] Andrew Hellershanks nods
[11:51] Misterblue Waves: @Michael, pretty sure that's how it is
[11:51] Michael.Christopher @cc.opensimulator.org:8002: yes, thats what I was trying to talk about lol
[11:52] Ubit Umarov: so yeah.. want to make opensim vatars with that.. add the module to that :p
[11:52] Andrew Hellershanks: Just under 10 minutes left to go in the hour. I have one question about osForceAttachToOtherAvatarFromInventory().
[11:52] Misterblue Waves: there is no central storage or format  that everyone pulls from. That's also the joke on NFTs, but that's a different topic
[11:52] Michael.Christopher @cc.opensimulator.org:8002: we've got a decent base for what I mean with the suitcase across HG
[11:52] Ubit Umarov: so yeah.. we can talk a lot..
[11:53] Ubit Umarov: but at end of day... concret specs are needed
[11:53] Ubit Umarov: concrete..
[11:53] Michael.Christopher @cc.opensimulator.org:8002: if users have a home world that stores their content, then going elsewhere the avatar can be loaded from home.
[11:53] Ubit Umarov: and evenrything outthere is just a fast moving target..
[11:53] Misterblue Waves: OpenSim has solved a bunch of the HG stuff that the world is trying to figure out (again)
[11:53] Andrew Hellershanks: That OSSL function doesn't work with NPCs. I got as far as seeing it checks passes a UUID to GetScenePresence(). Does GetScenePresence() ignore NPCs?
[11:54] Ubit Umarov: how many times has the wheel been invented :)
[11:54] Ubit Umarov: does not?
[11:54] Andrew Hellershanks: Ubit, many times and it will be invented again many more times.
[11:54] Misterblue Waves: aren't NPCs a different sub-class of ScenePresence? That could mean it implments it differently
[11:55] Michael.Christopher @cc.opensimulator.org:8002: ubit - but the wheel now isnt good enough, we need a better wheel
[11:56] Andrew Hellershanks: Ubit, I've been told that the function doesn't work in forcing attachments on to NPCs.
[11:56] Ubit Umarov: yeah.. that moves the item to the person inventory
[11:56] Ubit Umarov: and npcs do not have it
[11:56] Andrew Hellershanks: Ah, that would explain it.
[11:57] Ubit Umarov: not made for npcs
[11:58] Andrew Hellershanks: ty. I'll relay that information.
[11:58] Selby.Evans @grid.kitely.com:8002: What OpenSimulator/hypergrid needs to qualify as the beginning metaverse. It already has most of the needed features: A meeting in the metaverse.   https://virtualoutworlding.blogspot.com/2022/01/2022-biz-what-opensimulatorhypergrid.html
[11:58] Ubit Umarov: guess none of the script attach code works on npc
[11:59] Andrew Hellershanks: It would be nice to be able to do that, although probably not needed very often.
[12:00] Ubit Umarov: well abotu last week code changes
[12:00] Ubit Umarov: as andrew said, some changes on libopenmetaverse
[12:01] Ubit Umarov: with some speedup on json from OSD serialize  code
[12:01] Ubit Umarov: original was just bad
[12:01] Ubit Umarov: because it uses a library, ( litJson)
[12:02] Ubit Umarov: to send something in json, we need to  create OSD object adding to it things
[12:02] Ubit Umarov: .net things that it stores on new osd objects
[12:03] Ubit Umarov: that is still need, ofc
[12:03] Ubit Umarov: but that original code did went covernt that to that library native objects
[12:03] Ubit Umarov: so a extra ton of temporay .net classes..
[12:04] Ubit Umarov: then used the lib to convert to utf-16 strings
[12:04] Ubit Umarov: and from those to utf-8 byte[]
[12:04] Michael.Christopher @cc.opensimulator.org:8002: :/ got to head out, time to go pick my son up from school.  have a great week and email if you need me!
[12:05] Ubit Umarov: new code, goes directly from OSD objects to byte[] in utf8
[12:05] Andrew Hellershanks: ok, Michael. Thanks for dropping by.
[12:05] Ubit Umarov: that is used in several places like part of robust api
[12:05] Misterblue Waves: take care Michael
[12:05] Ubit Umarov: teleports..
[12:05] Ubit Umarov: etc
[12:06] Ubit Umarov: cya Mi
[12:06] Ubit Umarov: sadly deserialize is still as before..
[12:06] Ubit Umarov: byte[] -> utf16 -> litjson data -> osd -> .net variables
[12:07] Andrew Hellershanks: That's quite a few steps.
[12:07] Ubit Umarov: a perfect example of what opensim so far considered a "good" protocol
[12:07] Ubit Umarov: scary when we read abotu new opensim protocols :P
[12:08] Ubit Umarov: bc this well  you know what i mean :p
[12:09] Ubit Umarov: works fine on regions with like 20ppl all dancing the same dance all the time :p
[12:09] Ubit Umarov: no idea why ppl want to do more than that
[12:09] Ubit Umarov: ;)
[12:09] Misterblue Waves: that sort of thing has gotten us by for a long time
[12:10] Misterblue Waves continues to dance with the 5 people here :)
[12:10] Ubit Umarov: :)
[12:10] Andrew Hellershanks: :)
[12:10] Ubit Umarov: well .net5/6 now has its onw json
[12:10] Ubit Umarov: and own direct utf8
[12:11] Ubit Umarov: but yeachhh...  some code pretty ugly also
[12:11] Misterblue Waves: it's time to upgrade all of OS to Dotnet 6!!
[12:11] Ubit Umarov: im doing it with other code.. in fact like .net 2.0 code
[12:11] Misterblue Waves: convert all the code!
[12:11] Ubit Umarov: that works as fast as that new thins
[12:12] Ubit Umarov: yeah .net5 basicly whats that
[12:12] Ubit Umarov: a proper migration to it, would m,ean 90% rewrite
[12:12] Ubit Umarov: not to mention the lost things
[12:12] Misterblue Waves: what is the reason we can't convert yet? Old systems?
[12:12] Ubit Umarov: like image
[12:13] Ubit Umarov: to start our own site :p
[12:13] Misterblue Waves: ya, Image and Bitmap are real problems
[12:13] Ubit Umarov: then .. all that seems just pretty bad
[12:13] Ubit Umarov: the tasks thing they love
[12:13] Ubit Umarov: its just BAD
[12:14] Ubit Umarov: i tried it on the httpserver
[12:14] Misterblue Waves: that's way I've been liking Standard2.0, a whole bunch of the sub-projects in OS can be converted to that without commiting to a total change yet
[12:14] Ubit Umarov: got a lot more GC fails
[12:14] Ubit Umarov: more memory lost by GC
[12:14] Ubit Umarov: and threads lek
[12:14] Ubit Umarov: leak
[12:14] Ubit Umarov: specially on mono
[12:14] Misterblue Waves: really? Tasks are that bad? Or just how we are using them?
[12:14] Ubit Umarov: and slower
[12:15] Ubit Umarov: w do not use tasks
[12:15] Ubit Umarov: all modern kids do :p
[12:15] Ubit Umarov: not opensim
[12:15] Misterblue Waves: we have wrappers around Threads in the existing code
[12:15] Ubit Umarov: we do use threads
[12:15] Ubit Umarov: not task
[12:16] Ubit Umarov: task is a extra layer around threads
[12:16] Ubit Umarov: tash async wait, even a total code change under the hood
[12:16] Misterblue Waves: I've been using Tasks in my new code but I haven't stressed them hard to see if they break
[12:16] Ubit Umarov: addind static variables and insane state machines
[12:17] Ubit Umarov: ms code is great when not used :p
[12:17] Misterblue Waves: "Insane State Machines" is the name for a rock band
[12:17] Ubit Umarov: :)
[12:17] Ubit Umarov: well on httpserver send i went to the older begin/end
[12:18] Andrew Hellershanks: Misterblue, :)
[12:18] Ubit Umarov: that they actually still used at lower level
[12:18] Ubit Umarov: bc that is what does work best in windows ( overlaped io )
[12:19] Ubit Umarov: and not so bad on linux wrappers
[12:20] Ubit Umarov: opensim code future was a lot work on the days of .netcore
[12:20] Ubit Umarov: until 3.1
[12:20] Selby.Evans @grid.kitely.com:8002: bye all
[12:21] Ubit Umarov: bc the amount of things that did need rewrite where a lot more
[12:21] Ubit Umarov: cya selby
[12:21] Ubit Umarov: 2 late
[12:21] Ubit Umarov: in core3.1  ms understud they wouid need to port a lot more of framework to it
[12:22] Ubit Umarov: just still left a lot out, like the image..
[12:22] Ubit Umarov: well they do have image..   bit,map etc.. windoews only
[12:22] Ubit Umarov: on the .net5.0-windows
[12:22] Ubit Umarov: bahh
[12:23] Ubit Umarov: nad .net6.0-windows ofc
[12:24] Ubit Umarov: oh last week i also did accetp a patch
[12:24] Misterblue Waves: I saw that!!
[12:24] Ubit Umarov: that did add some umanaged libs for rasp pi 64bit cpu
[12:25] Andrew Hellershanks: I noticed that too
[12:25] Ubit Umarov: oh hthat was on the previu week already :)
[12:25] Jamie.Jordan @grid.kitely.com:8002: see yall next week
[12:26] Misterblue Waves: bye Jamie
[12:26] Ubit Umarov: oj and gavin didn't come
[12:26] Ubit Umarov: hope all is ok with him
[12:26] Andrew Hellershanks: One bug fix this past week was to stop some duplicate IMs.
[12:27] Ubit Umarov: yeap a recent one i added :p
[12:27] Ubit Umarov: in case of several regions per instace
[12:27] Andrew Hellershanks: I wonder about Bill as he is seldom seen around these parts.
[12:27] Ubit Umarov: one copy per region :p
[12:27] Ubit Umarov: yeap bill changed to rl grid
[12:27] Andrew Hellershanks: ah, ok. Now the commit message makes more sense.
[12:28] Ubit Umarov: guess its only thing on opensim is running this region
[12:29] Ubit Umarov: his..
[12:29] Andrew Hellershanks: We are into overtime again at half past the hour. Time to call this meeting to a close.
[12:29] Andrew Hellershanks: DId Gavin recently get a new computer? Perhaps it is giving him some headaches.
[12:29] Ubit Umarov: ohh  your forcing MB to stop dancing?
[12:30] Andrew Hellershanks: No, he can keep dancing if he wants.
[12:30] Andrew Hellershanks: Thank you all for coming. See you again next week.
Personal tools
General
About This Wiki