User:Babbage Linden/Office Hours/2009 09 30

From Second Life Wiki

Second Life Wiki > Babbage Linden/Office Hours/2009 09 30
Jump to: navigation, search

Transcript of Babbge Linden's office hours:

[3:10] Morgaine Dinova: Babbage!!!

[3:10] Panel 3: Freeze of 0.518501s detected (Mono)

[3:10] Panel 3: Freeze of 0.518501s detected (LSO)

[3:10] Morgaine Dinova points

[3:10] Saijanai Kuhn: Babbage sighting...

[3:10] Lillie Yifu: He's on radar

[3:10] Babbage Linden: hello

[3:10] Nock Forager: Hi Babbage!

[3:10] Morgaine Dinova: Incoming Babbage, one per message ...

[3:10] Saijanai Kuhn: its Babbage

[3:10] Morgaine Dinova: Hiya Babbage, welcome back :-))

[3:10] Imaze Rhiano: hi Babbage!

[3:11] Babbage Linden: thanks

[3:11] Morgaine Dinova: Good trip?

[3:11] Panel 3: Freeze of 0.604838s detected (LSO)

[3:11] Panel 3: Freeze of 0.627515s detected (Mono)

[3:11] Babbage Linden: yes

[3:11] Babbage Linden: sorry i didn't communicate better

[3:11] Babbage Linden: xugu suggested i leave a sign here next time

[3:11] Morgaine Dinova: S'ok, we deduced it :-))

[3:11] Babbage Linden: which makes sense

[3:11] Babbage Linden: i didn't really keep it a secret

[3:11] Morgaine Dinova: Hehe

[3:11] Babbage Linden: if you can find twitter or dopplr you can generally find me

[3:12] Latif Khalifa: yeah putting a sign here might have been a good idea ;)

[3:12] Babbage Linden: so, what would you like to talk about today?

[3:12] Morgaine Dinova: Never head of dopplr, what's that, other than an effect of trains or galaxies passing?

[3:12] Babbage Linden: anything come up recently?

[3:12] Raven Haalan: lol Morgaine

[3:12] Morgaine Dinova: Yeah, freezes

[3:13] Babbage Linden: dopplr is a social network site for travellers

[3:13] Igmu Hammerer: Looks like they are slightly out of sync on my viewerm but the idea is still pretty cool

[3:13] Babbage Linden: that tells you if your friends are going to be around when you travel

[3:13] Imaze Rhiano: mono rezzing and teleportation freezes are latest fashion these days

[3:13] Babbage Linden: anyway, freezes?

[3:13] Latif Khalifa: yeah

[3:13] Babbage Linden: (i do actually spend some spare time in SL, but I haven't noticed any)

[3:13] Babbage Linden: what happens?

[3:13] Morgaine Dinova: Ah, no wonder. I'm not into social networks, they're um, non-interesting, except as scaling challanges.

[3:14] Morgaine Dinova: Every times someone zones into a sim, you get a freeze

[3:14] Imaze Rhiano: I think this is JIRA :

[3:15] Babbage Linden: looking

[3:15] Morgaine Dinova: Looks like both the Mono and LSO engines have a blocking path that's activated on sim entry, and to a smaller extend, on sim exit.

[3:15] Panel 3: Freeze of 2.027573s detected (LSO)

[3:15] Panel 3: Freeze of 2.352777s detected (Mono)

[3:15] Panel 3: Freeze of 1.172344s detected (Mono)

[3:15] Panel 3: Freeze of 0.712170s detected (LSO)

[3:15] Panel 3: Freeze of 0.649323s detected (LSO)

[3:15] Panel 3: Freeze of 0.663298s detected (Mono)

[3:15] Morgaine Dinova: There, 2s freeze on both Mono and LSO

[3:15] Latif Khalifa: wish i had those bricks to demonstrate

[3:15] Panel 3: Freeze of 0.505074s detected (LSO)

[3:15] Panel 3: Freeze of 5.351651s detected (LSO)

[3:15] Panel 3: Freeze of 5.372942s detected (Mono)

[3:15] Morgaine Dinova: 5s freeze!

[3:15] Latif Khalifa: it's a full sim freeze

[3:15] Panel 3: Freeze of 1.061030s detected (LSO)

[3:15] Panel 3: Freeze of 1.061030s detected (Mono)

[3:15] Panel 3: Freeze of 0.651182s detected (LSO)

[3:15] Panel 3: Freeze of 0.653643s detected (Mono)

[3:15] Panel 3: Freeze of 0.653535s detected (LSO)

[3:15] Panel 3: Freeze of 0.671256s detected (Mono)

[3:16] Latif Khalifa: looks like rezzing objects with mono scripts in them is order of magnitude slower than lso

[3:16] Babbage Linden: thanks

[3:16] Babbage Linden: i'll take a look at this

[3:17] Babbage Linden: there is definitely more work to do when rezzing a mono script than an LSL one

[3:17] Babbage Linden: but it shouldn't be noticable

[3:17] Imaze Rhiano: Simon Linden suggested in Andrew Lindens office hour that because simulator is trying to do many things in single frame when rezzing objects (like add objects to sim, start scripts, enable physics, etc) - so that could be one thing to look for. He suggested that rezzing task should be multithreaded so that SIM is not blocked.

[3:17] Babbage Linden: yes, either multithreaded or time sliced

[3:17] Morgaine Dinova: Yep, that's a 2nd observation from the tests. Ardy has a particularly good test that shows the vast difference between LSO and Mono overheads.

[3:18] Latif Khalifa: does not explain the difference between mono and lso

[3:18] Babbage Linden: the first time a mono assembly is loaded it is verified

[3:18] Babbage Linden: which takes some time

[3:18] Lillie Yifu: and what does his test reveal?

[3:18] Babbage Linden: but subsequently it should be quick

[3:19] Babbage Linden: so, if you rez many copies of a scripted bullet you should only notice a delay on the first one

[3:19] Morgaine Dinova: Reveals LSO not blinking an eyelid on his challanging test, while Mono almost collapses the sim.

[3:19] Babbage Linden: are those tests linked from the jira?

[3:19] Latif Khalifa: Babbage, deleting 900 prims with 1 mono scripts each freezes the sim for about 2-3s, equiv. lso derez is not noticable on sim performance

[3:19] Lillie Yifu: So a technqiue would be to pre rez a script so that the sim verifies

[3:19] Lillie Yifu: before trying to make many copies

[3:19] Morgaine Dinova: That I'm not sure, Babbage. I'll ask Ardy next time he's in an OH

[3:20] Babbage Linden: thanks

[3:20] Babbage Linden: getting everything linked to the jira would be helpful

[3:20] Morgaine Dinova: But you can test the freezes yourself, hehe

[3:20] Latif Khalifa: <- is this script used for detecting freezes

[3:20] Babbage Linden: there is work planned to attack lag on the simulator

[3:21] Morgaine Dinova: I'll give you a copy of mine, which is just a modified form of Moon's

[3:21] Babbage Linden: as it's the biggest complaint people have

[3:21] Babbage Linden: that will include things like getting rid of all non-trivial blocking operations

[3:21] Latif Khalifa: well "lag" is one thing, but a total freeze of up to 60s is a carastrophy

[3:21] Babbage Linden: right

[3:22] Babbage Linden: there's a new mono scheduler in QA which is going to avoid some problems where mono scripts can run for long periods without yielding

[3:22] Panel 3: Freeze of 0.901960s detected (LSO)

[3:22] Panel 3: Freeze of 1.028142s detected (Mono)

[3:22] Babbage Linden: it would be good to combine them with any other mono timing changes we need to make

[3:22] Morgaine Dinova: Basically that work should be in a different thread, not freezing the main simulation.

[3:23] Latif Khalifa: this is not a problem with mono scripts running, its the rez/derez in a single frame taking very long time

[3:23] Babbage Linden: to avoid people having to retest scripts multiple times

[3:23] Babbage Linden: right, multithreading rez and derez are big projects that go beyond scripting

[3:24] Morgaine Dinova: Freezes up to 15 seconds happen very regularly, several times an hour in busy zones. 60s less common, but happens.

[3:24] Babbage Linden: rezzing complicated non-scripted objects can block the sim for a noticable amount of time too

[3:24] Babbage Linden: are the freezes predictable, for a given script?

[3:25] Babbage Linden: are they always the same length, or do you sometimes get a long freeze?

[3:25] Panel 3: Freeze of 0.949620s detected (Mono)

[3:25] Panel 3: Freeze of 0.890479s detected (LSO)

[3:25] Morgaine Dinova: Aye. So should always be done in a differnet thread. Can't compromize the simulation just because someone has a nasty avatar.

[3:25] Panel 3: Freeze of 1.120791s detected (Mono)

[3:25] Panel 3: Freeze of 1.298563s detected (LSO)

[3:25] Babbage Linden: right

[3:25] Morgaine Dinova: Let the people with the bad avs suffer, not everyone else

[3:25] Morgaine Dinova: They'll soon learn to reduce the load they create :-)

[3:25] Babbage Linden: well, script limits is going to address this to a certain extent

[3:26] Babbage Linden: as it's just not going to be possible to load an av up with a bazillion scripts

[3:26] Babbage Linden: or fill a parcel with a ton of scripts

[3:26] Latif Khalifa: we have been asking for some simple additions that will fix need for the worst offenders

[3:26] Latif Khalifa: like the ability to scale linksets

[3:27] Babbage Linden: yes, i know

[3:27] Latif Khalifa: right now you need to put a script in each prim in order to do that

[3:27] Babbage Linden: we've talked about that a lot

[3:27] Babbage Linden: and it's on our radar

[3:27] Panel 3: Freeze of 0.604167s detected (LSO)

[3:28] Latif Khalifa: implementing script limits, without those additions would be bad imho

[3:28] Morgaine Dinova: Hi Aimee! :-)

[3:28] Babbage Linden: yes, i agree

[3:28] Aimee Trescothick: hey :)

[3:28] Lillie Yifu: We need a way to legally strip scripts form an object

[3:28] Panel 3: Freeze of 0.510200s detected (Mono)

[3:28] Morgaine Dinova considers warming butt on Aimee's flaming freeze detector :-)

[3:29] Lillie Yifu: So that we don't lose acces just because the cotnent creator loaded it up with a million resize scripts

[3:29] Babbage Linden: it does look very nice

[3:29] Aimee Trescothick: lol

[3:29] Panel 3: Freeze of 0.598367s detected (LSO)

[3:29] Panel 3: Freeze of 0.597575s detected (Mono)

[3:29] Aimee Trescothick: heh, ironically it's probably a pretty bad offender in itself

[3:30] Aimee Trescothick: it has a silly amount of scripts

[3:30] Babbage Linden: well, that makes it a good test case

[3:30] Lillie Yifu: I'm going to have to rewrite my keyboards as well

[3:30] Lillie Yifu: they ahve one script per key

[3:30] Babbage Linden: ok, so anything else we should talk about apart from freezes?

[3:31] Xugu Madison: I'd ask about C#, but you'd ask about Moonlight, and I have to admit I have no idea at this point

[3:31] Imaze Rhiano: umm... jumppos? 64 bit server? memory limits?

[3:31] Xugu Madison: 64 bit server!

[3:31] Latif Khalifa: hehe

[3:31] Babbage Linden: hehe

[3:31] Babbage Linden: ok, well i can talk about that

[3:31] Babbage Linden: i met up with miguel in boston

[3:32] Latif Khalifa: oh, cool

[3:32] Babbage Linden: and asked him about that

[3:32] Morgaine Dinova: Oh cool!

[3:32] Panel 3: Freeze of 0.937090s detected (LSO)

[3:32] Panel 3: Freeze of 1.664067s detected (Mono)

[3:32] Panel 3: Freeze of 1.250322s detected (LSO)

[3:32] Babbage Linden: moonlight 2, with the verifier we need is going to be released next month

[3:32] Morgaine Dinova: Switching off noisy detector now that you've seen it.

[3:33] Babbage Linden: and he also has some ideas for mono people who might like to join us at linden

[3:33] Babbage Linden: so, by the end of the year we should be working on c#

[3:33] Latif Khalifa: woot!

[3:33] Babbage Linden: we have a few slots to build a team in brighton

[3:33] Raven Haalan: yay

[3:33] Babbage Linden: and the interviews for those are going well

[3:34] Babbage Linden: so, it's all very exciting

[3:34] Lillie Yifu: a not C++ version of the viewer would be a good idea

[3:34] Babbage Linden: well, that's interesting

[3:34] Xugu Madison is excited :)

[3:34] Latif Khalifa: what version of mono runtime is used for the ims?

[3:34] Latif Khalifa: sims

[3:34] Liandra Ceawlin: lol no doubt. XD

[3:34] Imaze Rhiano: please - don't try to do "compatible" from C# with LSL - fix all bizarre bugs and go fully object oriented. Add somekind support for future version so that you can actually fix bugs without breaking content.

[3:35] Babbage Linden: unity also started embedding mono as a scripting engine

[3:35] Lillie Yifu: hmmm I live in Brighton

[3:35] Babbage Linden: and then ended up having the managed code replace most of the unmanaged...

[3:35] Liandra Ceawlin: ( Did anyone ask if the script delays were still going to be in C#, before I got here? >_> )

[3:35] Xugu Madison: Any thoughts on how the user interface for this will change? Are we going to be compiling scripts on our own computers then uploading?

[3:36] Babbage Linden: there are plans to allow a better development experience once we have C#

[3:36] Babbage Linden: that let you use the C# tools that already exist

[3:36] Xugu Madison: As I understand it LL have a LSL-compatible C# (well, CIL) API already, so it's not like there's any work to be done there, so we'll see the crazy delays as normal, initially

[3:36] Liandra Ceawlin: Drat. D:

[3:36] Lillie Yifu: as in work on a sandbox on our own computers, and then upload when working?

[3:37] Babbage Linden: lillie, yes

[3:37] Babbage Linden: one of the goals is to allow script debugging

[3:37] Liandra Ceawlin: At the risk of being a whiner, unless those delays are dealt with, I dun think C# will be the silver bullet that everyone is expecting. >_>

[3:37] Babbage Linden: which you could do in a test harness on your machine before uploading your script

[3:37] Xugu Madison: So, F#, IronPython etc. support are all freebies as a result?

[3:37] Babbage Linden: liandra. i agree

[3:37] Liandra Ceawlin: Just my 2 cents. Ima quiet down and listen now. ;P

[3:37] Lillie Yifu: We just want to see different bizzare and inexplicable beahvior

[3:37] Lillie Yifu: that's all

[3:37] Babbage Linden: xugu, yes, hopefully

[3:38] Latif Khalifa: Liandra, at least we get to use advanced computer science concepts, such as arrays :P

[3:38] Morgaine Dinova: LOL

[3:38] Babbage Linden: initially we're likely to do compilation on our servers

[3:38] Xugu Madison: Liandra, I hope the idea is to get C# etc. working, and once they have a sane language start moving the API across. Probably two different APIs to target for compilation, I'd imagine

[3:38] Lillie Yifu: Woul this also allow clietn side scripting witn an API to server sides scripts

[3:38] Lillie Yifu: or am I hoping for too much?

[3:38] Babbage Linden: but once we're confident in the verifier we could allow other languages

[3:39] Babbage Linden: lillie, there are plans for that too

[3:39] Xugu Madison: Lillie; I think that's a "later" for LL, although I've heard someone else murmuring about a scriptable client...

[3:39] Liandra Ceawlin: This is true, but I have three projects in progress right now that are severely crippled by the delays. An example being a HUD dungeon crawl game ported from VMS. The actual game runs in 3 scripts. Then it takes 38 more to make the map viewport even remotely interactive. >_>

[3:39] Babbage Linden: but they're going to be worked on by another team

[3:39] Lillie Yifu: kk tht means it is worth it to continue working on the work around and then change when it comes in

[3:40] Babbage Linden: lillie, i think that's generally the best plan

[3:40] Babbage Linden: we'll come along later and smooth over the more horrible workarounds ;-)

[3:41] Morgaine Dinova: It's a bit ironic that the constraints that were put in place to limit resource hogging by a single script, have ended up requiring people to use a ton of scripts instead to overcome the limits, thus not having the original desired effect.

[3:41] Babbage Linden: right, the original restrictions were terrible

[3:41] Lillie Yifu: as in we use up more resources with link messages than single scripts would

[3:42] Babbage Linden: we've done a much better job with script limits

[3:42] Liandra Ceawlin: Quite the opposite in fact. I know I said I was gonna be quiet, but I think we'd see far more efficiency if delay fixage was put higher on the priority list than a new language. >_>

[3:42] Lillie Yifu: whch still gets back to we need a way to scrub objects of scripts

[3:42] Lillie Yifu: I have hair sets wtih 198 prims

[3:42] Lillie Yifu: each one of which has 2 scripts in it

[3:42] Liandra Ceawlin: A legal way, anyway. Lol.

[3:42] Lillie Yifu: which is ummmm.. insane

[3:42] Lillie Yifu: yes coybotting works great

[3:42] Babbage Linden: and when you can request more resources for a single script, you'll be able to avoid the script splitting and messaging overhead

[3:42] Lillie Yifu: and is pretty fast

[3:42] Morgaine Dinova: There must be some new inter-script communication calls that could be defined that are much more efficient than the originals. Even if it's for Mono only, that's OK.

[3:43] Liandra Ceawlin: There's still no way to avoid the primparams delay. That's like, super killer for many, many things.

[3:43] Babbage Linden: the script freezing issues is definitely a higher priority than new languages

[3:43] Morgaine Dinova: Yeah

[3:43] Xugu Madison: (I have to run AFK, sorry all)

[3:43] Morgaine Dinova: Cyu Xugu

[3:44] Lillie Yifu: ugh it is 6:44 am here

[3:44] Babbage Linden: but it may require significant reengineering in the sim

[3:44] Babbage Linden: so is more of a project than a bugfix

[3:44] Latif Khalifa: rez/derez needs to be async eventually... it's a tough one to bite, but it has to be done sooner or later

[3:44] Babbage Linden: yes, and it will get done sooner

[3:44] Imaze Rhiano: how those new script diagnostic tools are coming together? do we see them in next server version?

[3:44] Morgaine Dinova: Yeah, not a simple change, but important.

[3:44] Liandra Ceawlin: Has there been any estimate of when the limits will be testable on the beta grid yet, and what simulator it's likely to go into? >_> I am sorry if these things were discussed before I got here. :x

[3:45] Babbage Linden: the server side of script limits has passed QA and will be in 1.32

[3:45] Liandra Ceawlin: Okies

[3:45] Latif Khalifa: oh that soon

[3:45] Babbage Linden: the viewer side that displays the information still needs doing

[3:45] Babbage Linden: and will be in a future viewer release

[3:45] Latif Khalifa: andrew said 1.32 will be on the main grid in 6 weeks if all goes well

[3:45] Lillie Yifu: so we should be script scrubbing now

[3:45] Babbage Linden: 1.32 will not enfore limits

[3:46] Babbage Linden: but will do the accounting

[3:46] Lillie Yifu: ah

[3:46] Morgaine Dinova: Aha. So people will get a period when they only see warnings, before enforcement is switched in in the next release?

[3:46] Lillie Yifu: beijos I need some sleep

[3:47] Babbage Linden: once the viewer part is released and we have numbers for the actual script allocation amounts there will be 6 months at least where warnings will happen

[3:47] Morgaine Dinova: Beijos Lillie :-)

[3:47] Liandra Ceawlin: Ninis. ^_^

[3:47] Babbage Linden: we don't expect to be enforcing limits until the middle of next year

[3:47] Morgaine Dinova: Very cool

[3:47] Lillie Yifu: suggestion, allow objects to rez with all scripts off

[3:47] Lillie Yifu: so people don't have the catch 22 of

[3:47] Lillie Yifu: needign to rez to clean, and can't rez because it takes up too much script allocaiton

[3:47] Liandra Ceawlin: Pew, that is good. I'll have plenty of time to fix some naughty code then. <_<

[3:48] Babbage Linden: lillie, we may have to do that

[3:48] Morgaine Dinova: While you're at it, let people with no-mod scripts turn them off :-)

[3:48] Lillie Yifu: because it is common for people to go away form SL for a year or so

[3:48] Lillie Yifu: and then come back

[3:48] Lillie Yifu: not having heard anything

[3:48] Babbage Linden: but it will be confusing as you will be able to rez things that will be broken

[3:48] Lillie Yifu: coverage on CNN of SL issues is a triffle sparse

[3:49] Raven Haalan: yeah, it strikes me that things like resizers are better off deactivated than cleaned, esp if the item is no copy

[3:49] Babbage Linden: i'm hoping that sandboxes will be enough to avoid those catch 22

[3:49] Morgaine Dinova: Can't be helped that some people will be confused. Can't stop progress.

[3:49] Liandra Ceawlin: We have found that.....

[3:49] Liandra Ceawlin: Even deactivated scripts seem to take VM memory. They still contribute to sim hangups when they are just deactivated. D:

[3:49] Babbage Linden: the problem with just stopping scripts running is that they still take up memory

[3:49] Babbage Linden: exactly

[3:50] Babbage Linden: they contribute to swapping

[3:50] Babbage Linden: but don't consume CPU

[3:50] Babbage Linden: but swapping is the biggest cause of lag

[3:50] Lillie Yifu: people who buy no mod/no copy objects that resize have painted a large series of concentric circles on their head...

[3:50] Liandra Ceawlin: Since a script maintains state when it is picked up into inventory, would it not be possible to persist the script state to disk when it is disabled and completely remove its VM instance or whatever it is from memory?

[3:50] Raven Haalan: lol Lillie

[3:51] Lillie Yifu: simplest is just "delete all scripts in object"

[3:51] Latif Khalifa: Liandra, scripts don't keep state in inv

[3:51] Lillie Yifu: zap

[3:51] Latif Khalifa: only while rezzed

[3:51] Liandra Ceawlin: No? I could have sworn that my globals stayed set across owner change and inventory transfers.

[3:51] Lillie Yifu: like recompiling or resetting, and it should work if you are the owner, regradless of mod privs

[3:51] Latif Khalifa: oh you mean inside objects?

[3:51] Latif Khalifa: yeah those keep state

[3:51] Lillie Yifu: somet hings do stay even across owner changes

[3:52] Lillie Yifu: that's why you need to reset or catch the change even

[3:52] Babbage Linden: liandra, actually non-running scripts resident in memory shouldn't be too much of a problem

[3:52] Babbage Linden: they will be paged to disk

[3:52] Liandra Ceawlin: Ah, the footprint is tiny, huh?

[3:52] Liandra Ceawlin: Ahh gotcha.

[3:52] Babbage Linden: and then not accessed

[3:52] Babbage Linden: until they are restarted

[3:52] Lillie Yifu: better if they are gone

[3:52] Raven Haalan: they are hard to put back if you delete them by accident

[3:53] Babbage Linden: so, that maybe ok, but you still have the problem of stopping scripts and leaving broken stuff in world

[3:53] Latif Khalifa: Lillie, you mean like llUnloadScript()?

[3:53] Liandra Ceawlin: kernel swapping is fast... I wrote a MUD ages ago that just kept everything in memory and let stuff that was inactive page out, and it worked just fine on a box with 32 megs of ram and 1 G of swap space.

[3:54] Lillie Yifu: exhibit A of why scrubbign is a good idea

[3:54] Raven Haalan: it would be cool if scripts could be tagged with a priority similar to animations - and lowest priority scripts could be deactivated first, automatically

[3:54] Lillie Yifu: there are enough scripts in this hair to run a strip club

[3:54] Latif Khalifa: hahaha

[3:54] Raven Haalan: lol !!!

[3:54] Latif Khalifa: yeah, the linkset scaling problem

[3:55] Babbage Linden: i was amazed at xans numbers for attachment scripts

[3:55] Lillie Yifu: someone on open source scripting ran the security for his sim on his hair

[3:55] Lillie Yifu: 255 prims

[3:55] Lillie Yifu: 200 scripts per prim

[3:55] Babbage Linden: on average avatars had 100 scripts attached

[3:55] Raven Haalan: roflmao

[3:55] Babbage Linden: he's re running the analysis to check the numbers now

[3:55] Liandra Ceawlin: So with the limits not being enforced until the middle of next year, would it be a safe assumption that by that time, we'll have both C# and delay fixage, so I can quit worrying about angry clients attacking me with pitchforks? >_>

[3:56] Aimee Trescothick: I'm amazed it's that low

[3:56] Babbage Linden: we're hoping to have c# in beta by middle of the year

[3:56] Lillie Yifu: having the AO moved to the client would be a big help

[3:56] Lillie Yifu: as does havign radar in client

[3:56] Lillie Yifu: many of the scripts that we have now on avs, could be cleint side

[3:56] Babbage Linden: and i'd hope we'd fix the delay problems by early next year

[3:56] Liandra Ceawlin: Excellent! Pew pew.

[3:56] Babbage Linden: fingers crossed

[3:57] Babbage Linden: ok, i need to head off

[3:57] Lillie Yifu: kk sleep time

[3:57] Lillie Yifu: beijos

[3:57] Babbage Linden: thanks for coming everyone

[3:57] Liandra Ceawlin: Thank you Babbage!

[3:57] Raven Haalan: ty

[3:57] Imaze Rhiano: thanks Babbage

[3:57] Morgaine Dinova: Thanks Babbage, tc :-)

[3:57] Nock Forager: thanks for the meeting.

[3:57] Latif Khalifa: thanks for your time Babbage, and for some excellent news :)
Personal tools