User:Babbage Linden/Office Hours/2009 11 25

From Second Life Wiki
Jump to navigation Jump to search

Transcript of Babbage Linden's office hours:

[3:02] Ardy Lay: Hello

[3:02] Nock Forager: Hi Babbage

[3:02] Babbage Linden: hello!

[3:02] Babbage Linden: thanks for coming

[3:02] Babbage Linden: let's wait to see how many people make it

[3:02] Babbage Linden: ok, problem 1: you can't create objects here...

[3:02] Babbage Linden: ;-)

[3:03] Kaluura Boa: Hello, hello!

[3:03] Babbage Linden: let me fix that

[3:03] Nock Forager: ;-)

[3:04] Liisa Runo: my ALT's still fail to log in to this grid, "check yout password and capslock"

[3:04] Liisa Runo: your*

[3:04] Nock Forager: Account info has not been synced for while...

[3:04] Kaluura Boa: Bleh! All my attachments are not running

[3:10] Kaluura Boa: What are we waiting for?

[3:10] Liisa Runo: Babbage is making the region rez-area

[3:10] lonetorus Habilis: so, what did i miss?

[3:10] lonetorus Habilis: XD

[3:10] Kaluura Boa: Looks like complicate to find the checkbox... hehehe

[3:11] Liisa Runo: you idnt miss anything yet

[3:11] Liisa Runo: didnt*

[3:11] Ardy Lay: Looks like he is joining parcels.

[3:12] Liisa Runo: ah, yea

[3:12] lonetorus Habilis: looks like we should have better parcel tools ;)

[3:12] lonetorus Habilis: ever tried selecting a whole sim, minus a small strip?

[3:13] lonetorus Habilis: hey babbage

[3:13] Babbage Linden: ok, i've owned all the land

[3:13] Kaluura Boa: Yeah... Removing isn't an ption

[3:13] Kaluura Boa: option

[3:13] Babbage Linden: and set it fully permissive

[3:13] Babbage Linden: so you should be able to use it like a sandbox now

[3:13] Babbage Linden: i'll set auto return so it cleans up after itself too

[3:14] Babbage Linden: ok, it autoreturns after 2 hours now

[3:14] T3: BioR BeanBag V1.2: Use cursor keys to change position and to stand either press fly up or the (Stand Up) button on the bottom of your screen. For Infomation on the colouring of the beanbag press fly down.

[3:14] Babbage Linden: thanks for the beanbags :-D

[3:14] lonetorus Habilis: np :)

[3:14] Babbage Linden: so, thanks for coming today

[3:14] lonetorus Habilis: biorythm beanbags XD

[3:15] Babbage Linden: the reason we're here on aditi today is that I'd like you to try out this sim

[3:15] Babbage Linden: it's running a different memory allocator to the one used on production sims

[3:15] Babbage Linden: an allocator called tcmalloc

[3:15] Babbage Linden: the reason we'd like to switch to tcmalloc is that it includes the google perf tools

[3:16] Babbage Linden: which allow us to profile the memory use of sims in production

[3:16] Babbage Linden: a lot of the lag experienced on the main grid is due to simulator swapping

[3:16] Babbage Linden: sometimes we see simulators using 2GB of memory, when we'd like them to be using 800MB

[3:17] Babbage Linden: script limits are one of the ways in which we're going to limit memory usage

[3:17] lonetorus Habilis: lots of detail and graphy goodness here http://goog-perftools.sourceforge.net/doc/tcmalloc.html

[3:17] Babbage Linden: but we need to see which other subsystems are using too much memory

[3:17] Babbage Linden: unfortunately we've been unable to reproduce some of the memory bloating scenarios in the lab

[3:18] Babbage Linden: we can bring up regions that are gobbling up a ton of memory in production

[3:18] Babbage Linden: and see them only use a few hundred MB

[3:18] Babbage Linden: so, we need to be able to do this measurement in production

[3:18] Babbage Linden: luckily there is very little overhead with TCMalloc heap profiling

[3:18] lonetorus Habilis: well, you clean off the avatars when you move it from production ;)

[3:19] Babbage Linden: so we should be able to do it on troublesome regions on the main grid without affecting performance

[3:19] Babbage Linden: even when we test with avatars we don't always see the same bloat

[3:19] Babbage Linden: so the causes may be leaks that accumulate over time

[3:19] Babbage Linden: after many avatar transistions

[3:19] lonetorus Habilis: thats what we have reported indeed

[3:20] lonetorus Habilis: i reboot my sim once a week or so, to regain performance

[3:20] Babbage Linden: so, we need to be able to run these profiling runs for potentially weeks at a time

[3:20] Babbage Linden: on heavily used sims

[3:20] Babbage Linden: so, anyway

[3:20] Babbage Linden: we have switched over to tcmalloc

[3:20] Morgaine Dinova: 'Morning :-)

[3:20] Babbage Linden: and it seems to be working fine in our tests

[3:20] Babbage Linden: hi morgaine

[3:20] lonetorus Habilis: *psst* blue kitty, over here

[3:20] Morgaine Dinova: Scripting is broken here, Babbage. I'm deformed :-(

[3:21] Kaluura Boa: All attachments are non-running

[3:21] Babbage Linden: we'd love you to test this region and let us know if you see any problems

[3:21] Kaluura Boa: Set them back

[3:21] Babbage Linden: or performance differences to the main grid

[3:21] lonetorus Habilis: how do we get it online again, should it crash?

[3:21] Object: Hello, Avatar!

[3:21] Babbage Linden: it should reboot

[3:21] Babbage Linden: as normal

[3:21] Neo Nino: Is this Class 5?

[3:21] lonetorus Habilis: ok

[3:22] Babbage Linden: theres a host set to the tcmalloc-beta channel on aditi

[3:22] Babbage Linden: if a sim crashes it should be brought back online as normal

[3:22] Babbage Linden: but send me an IM if you have any trouble

[3:22] Babbage Linden: I'm going to try leaving this sim as a sandbox

[3:22] Babbage Linden: and have the other 3 run busy regions on the main grid

[3:23] Babbage Linden: i'm going to reach out to some region owners to see if they can compare their regions running here and on agni

[3:23] Babbage Linden: so, there's a problem with attachments?

[3:23] Imaze Rhiano wonders where did she place her 255 prim hair rescale script...

[3:23] Kaluura Boa: Yep... All stopped when I arrived

[3:23] Liisa Runo: my attachments work fine

[3:24] Babbage Linden: did you get here early?

[3:24] lonetorus Habilis: is this on the same code branch as the project that cant be mentioned?

[3:24] Babbage Linden: I had to join all the parcels and set them permissive earlier

[3:24] Kaluura Boa: I just arrived in some sandbox and follwed a TP offer

[3:24] lonetorus Habilis: i seem to be having the same kind of issues here

[3:24] Morgaine Dinova: My tiny HUD is dead, no scripts running, and no deformation anims

[3:24] Babbage Linden: hmm

[3:24] Babbage Linden: let me check the parcel permissions again

[3:25] Becky Pippen: my attachments are not running either

[3:25] Liisa Runo: i was here first, no problem with attachments

[3:25] Kaluura Boa: I set everything to running with the Tools menu and it works now

[3:25] Nock Forager: I saw some alert message at login to aditi.

[3:25] Babbage Linden: hmm, i wonder what might be causing that

[3:25] Neo Nino: My HUDs are running fine too

[3:25] Babbage Linden: looks ok to me

[3:25] Babbage Linden: let me try carbon goggles...

[3:26] Imaze Rhiano: my attachments are working fine

[3:26] Babbage Linden: seems to work

[3:26] Becky Pippen: yes, I can set mine to running as well

[3:26] Babbage Linden: so, they were just stopped on entry, but can be set to running?

[3:26] Kaluura Boa: Yep

[3:27] Ardy Lay: Yes

[3:27] Becky Pippen: yes

[3:27] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:27] Babbage Linden: ok, i'll see if that's an issue in the code we branched from

[3:27] lonetorus Habilis: the beanbags worked fine though

[3:27] Neo Nino: mine didn't stop at all

[3:27] lonetorus Habilis: but i guess they are lsl not mono

[3:27] Babbage Linden: it seems unlikely that it would have been caused by tcmalloc

[3:27] Kaluura Boa: Yep... LSL

[3:27] Saijanai Kuhn: Im oldschool ruthed again, sorta

[3:27] Babbage Linden: my attachments still run on mono ;-)

[3:28] Babbage Linden: i've been digging in to the freezes on rezzing mono scripts

[3:28] Babbage Linden: it's not the signature verification which was my theory before

[3:30] Babbage Linden: strangely it seems to be running the constructor of the script object

[3:30] lonetorus Habilis: ping

[3:30] Aimee Trescothick: h'wo

[3:30] lonetorus Habilis: ah, sim survived

[3:30] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:30] Babbage Linden: let's not freeze the sim while we're talking :-D

[3:30] Saijanai Kuhn: do I appear ruthed to other people?

[3:30] Aimee Trescothick: "Exceeded threshold: 74.553880"

[3:30] lonetorus Habilis: sorry :)

[3:30] Babbage Linden: please wait until we're done

[3:30] Babbage Linden: but, I'd like to have a copy of that object please lonetorus

[3:30] Babbage Linden: for testing

[3:31] Imaze Rhiano: no master Sai - you look fine - for yourself

[3:31] Flaming Freeze Detector v0.8 (Sample and Hold): Exceeded threshold: 7.589238

[3:31] Saijanai Kuhn: that flame hurts my eyes

[3:31] Johan Laurasia: something just crashed me

[3:31] Nock Forager: some peopel crashed ;)

[3:31] Babbage Linden: in my experiments I've seen 256 constructors take 4 seconds

[3:31] lonetorus Habilis: it dd stop the rez though :

[3:31] lonetorus Habilis: [3:29:42] Unable to create item that has caused problems on this region

[3:31] Aimee Trescothick: twas a long freeze, we came back eventually

[3:32] Babbage Linden: when when I empty the constructor

[3:32] Babbage Linden: so, it seems to be a problem with mono

[3:32] T3: BioR BeanBag V1.2: Use cursor keys to change position and to stand either press fly up or the (Stand Up) button on the bottom of your screen. For Infomation on the colouring of the beanbag press fly down.

[3:32] Babbage Linden: I'm trying to put together a repro now

[3:32] T3: BioR BeanBag V1.2: Use cursor keys to change position and to stand either press fly up or the (Stand Up) button on the bottom of your screen. For Infomation on the colouring of the beanbag press fly down.

[3:32] Babbage Linden: I'm going to test it on mono 2.7.x which we now have integrated in to the sim on another branhc

[3:32] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:32] Babbage Linden: to see if it's been fixed there

[3:33] Babbage Linden: it's strange to see, as we haven't upgraded mono since we launched with 1.24

[3:33] Babbage Linden: so I don't understand what has changed to cause mono sim freezes on rez

[3:33] Babbage Linden: as they didn't happen before

[3:34] Babbage Linden: we tested object rezzing a lot and didn't see the pauses we're seeing now

[3:34] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:34] Babbage Linden: anyway, my investigation continues there

[3:34] Imaze Rhiano: maybe it is loading some assembly during constructor that is causing freeze? or assembly context related?

[3:35] Babbage Linden: yes, I think mono is doing something strange under the hood when I first run a method in a loaded assembly

[3:35] Babbage Linden: so, I'm going to statistically profile mono and see where the time is being spent, then talk to the mono folks about it

[3:36] Morgaine Dinova: LOL, I've disappeared

[3:36] Babbage Linden: in other news, I think we finally have all the analysis we need for script limits numbers

[3:36] Imaze Rhiano: scripts are running in their own assembly?

[3:36] Morgaine Dinova: Can anyone see me?

[3:36] Imaze Rhiano: err... assemblycontext

[3:36] Johan Laurasia: you're underground

[3:36] Liisa Runo: your underground morgaine

[3:36] Morgaine Dinova: Oh yeah

[3:36] Johan Laurasia: yeah, you're under the seat Morgaine

[3:36] Kaluura Boa: You're underground, Morgaine

[3:36] Babbage Linden: each script is compiled to a CLI assembly

[3:36] Babbage Linden: scripts share application domains

[3:37] Babbage Linden: the simulator has 2 application domains that it shuffles scripts between

[3:37] Morgaine Dinova: Well it's broken, Babbage ^_^

[3:37] Babbage Linden: when an application domain gets full of unloaded assemblies

[3:37] Imaze Rhiano nods

[3:37] Imaze Rhiano: that is great idea

[3:37] Babbage Linden: we move all the running scripts to the other domain and then unload it

[3:38] Babbage Linden: then create a new one

[3:38] Babbage Linden: so we can garbage collect scripts

[3:38] Imaze Rhiano: I was wondering how you get around that assembly unload problem

[3:38] Babbage Linden: what's broken?

[3:38] Imaze Rhiano: nothing, please go on - about script limits?

[3:38] Morgaine Dinova: Hard to say because this tiny HUD is so complex and no-mod.

[3:38] Babbage Linden: yes, script limits

[3:39] Morgaine Dinova: It's totally broken Imaze

[3:39] Babbage Linden: the last analysis we needed was the distribution of simulator memory footprint - script usage

[3:39] Babbage Linden: as I said before at the top end simulators can end up using 2GB of memory and we're hoping TC malloc will help us find out why

[3:40] Babbage Linden: but, the good news is that 95% of simulators run in less than 800MB of memory, which is our target

[3:40] Babbage Linden: and 95% of simulators use less than 500MB of memory for everything bar scripts

[3:41] Babbage Linden: so, we can allocate 300MB to scripts and still have 95% of simulators running in less than 800MB even when they're fully loaded

[3:41] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:41] Babbage Linden: the next thing to do is look at dividing that 300MB between attachments and parcel scripts

[3:41] Saijanai Kuhn: can you grab the content of a problemantic sim and rez it on a blank slate?

[3:42] Babbage Linden: and then see how many people will be affected by script limits

[3:42] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:42] Babbage Linden: ideally we'd like to have 95+% of people use scripts as they currently do while still having 95+% of simulators running without swapping

[3:43] Babbage Linden: we're trading off script usage for lag

[3:43] Babbage Linden: and want to find the sweet spot

[3:43] Babbage Linden: on the one hand we don't want to set script limits so low that people can't use scripts for legitimate purposes

[3:44] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:44] Babbage Linden: but we don't want to set them so high that simulators regularly start swapping

[3:44] Babbage Linden: now we have the analysis done there will be lots of discussion about where that sweet spot is

[3:44] Kaluura Boa: I hope you won't forget improvements to LSL so we won't need so many scripts... and fit in the limits

[3:44] Morgaine Dinova: How are you going to determine "legitimate"? How are you going to determine the "acceptable" level of UGC breakage?

[3:44] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:44] Babbage Linden: right, we've also been looking in to LSL improvements

[3:45] Babbage Linden: we're hoping to release some "efficient scripts" improvements at the same time as script limits

[3:45] Liisa Runo: exactly what Kaluura said, after we remove some stupid limist in LSL, we can finally start using less scripts, 80% of my scripts are only to beat nonsense limits of LSL

[3:45] Kaluura Boa: Hoping... Hmmm... I don't like that word

[3:45] Babbage Linden: at the moment we're hoping to add an llGetLinkedPrimitiveParams function

[3:46] Morgaine Dinova: The problem isn't our own scripts. The problem is closed scripts in things we bought.

[3:46] Babbage Linden: and an llSetLinkedPrimitiveParamsNoDelay function

[3:46] Kaluura Boa: It will boost the economy to have to replace all old scripts... hehehe

[3:46] Liisa Runo: and remove 0.2 delay from llSetPrimParams

[3:46] Babbage Linden: and add support for setting link text via llSetLinkedPrimitiveParamsNoDelay

[3:46] Kaluura Boa: Hoooo! Good...

[3:46] Johan Laurasia: well, arent scripter wanna-bes who cobble stuff together by throwing 2 or 3 scripts that do very little into a prim to create something that could be done more efficiently with one script part of the problem?

[3:46] Babbage Linden: liisa, the no delay version will have, er, no..delay

[3:47] Liisa Runo: <3

[3:47] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:47] Babbage Linden: so, intead of having to use 100s of scripts to resize objects, you'll be able to write a loop that gets the sizes and positions of each prim and then scales and moves them as appropriate

[3:47] Morgaine Dinova: So I guess Lindens will reimburse the money paid for items containing scripts that are broken, right?

[3:47] Babbage Linden: and just have 1 script

[3:48] Johan Laurasia: lol

[3:48] Morgaine Dinova: We're continually told "No we can't do that because it would break user content". That appears to be a selective excuse.

[3:48] Babbage Linden: morgaine, only people who are wearing multiple attachments with 100s of scripts will end up limited

[3:48] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:48] Babbage Linden: and we're not breaking content, we're just limiting the amount of it where it's problematic

[3:49] Babbage Linden: adding a NoDelay version of llSetLinkedPrimitiveParams is exactly to avoid problems breaking existing content

[3:49] Morgaine Dinova: Babbage: I'm quite happy with you breaking UGC, otherwise you'll stagnate. But I want yout to stop using the excuse of refusing change in order to protect UGC, only when it's convenient to you.

[3:50] Babbage Linden: just removing the delay could break things

[3:50] Babbage Linden: we have to be very careful about breaking things

[3:50] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:50] Liisa Runo: could break badly scripted things* but easy to sold by adding new version of the functions, while keeping the old versions alive

[3:50] Babbage Linden: all the scripting changes I've made have been opt in

[3:51] Liisa Runo: solve*

[3:51] Babbage Linden: lissa, that's exactly what's going to happen

[3:51] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:51] Babbage Linden: unfortunately LSL doesn't have a neat way to select different versions of a library

[3:51] Babbage Linden: so we have to use a cludgy postfix

[3:51] Babbage Linden: but it will work

[3:52] Babbage Linden: also, we're going to have a long period before we enforce script limits

[3:52] Babbage Linden: but where the limits are visible

[3:52] Imaze Rhiano: you are not planning to add combo box to script window that allows to select LSL version?

[3:53] Babbage Linden: so people we be able to see that their resizable prim hair + resizable prim shoes + heavily scripted bling attachments will take them over the limit

[3:53] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:53] Babbage Linden: and be able to plan accordingly

[3:53] Babbage Linden: but, we do need to do this, as lag is our #1 complaint and we need to attack it by making sims not swap

[3:54] Babbage Linden: so, the days of unlimited memory for everyone have to end eventually

[3:54] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:54] Babbage Linden: and, you're right, there will be 6 months when lots of people will be looking to buy more efficiently scripted hair ;-)

[3:55] Kaluura Boa: Do you plans also include giving everybody the tools to see script and memory usage?

[3:55] Babbage Linden: yes

[3:55] Johan Laurasia: that would be great

[3:55] Kaluura Boa: Gooooood

[3:55] Babbage Linden: everyone will be able to see script usage on their land and in their attachments

[3:55] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:55] Morgaine Dinova: Woohoo! for instrumentation

[3:56] Babbage Linden: we're also planning to make it easy to "clean up"

[3:56] Johan Laurasia: even a script cost feature, similar to avatar rendering cost would be nice

[3:56] Babbage Linden: so when you see an object using a lot of memory you can add a beacon to see what it is and then return it

[3:56] Babbage Linden: from the script usage dialog

[3:56] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:56] Babbage Linden: i'm hoping there will be 6 months of spring cleaning in SL

[3:57] Babbage Linden: where people remove lots of scripted objects that aren't really needed

[3:57] Babbage Linden: and are just adding lag

[3:57] Babbage Linden: at the moment their's no incentive to only use the scripts you need

[3:57] Johan Laurasia: right, who honestly needs hair resizing scripted anyways?

[3:57] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:57] Imaze Rhiano: can estate managers see parcel script usages?

[3:57] Xugu Madison: I asked Which about this, but is there a way I can contribute scripts into the Library, given people will probably need replacements soon?

[3:57] Babbage Linden: yes

[3:58] Babbage Linden: parcel owners get to see the scripts on their parcels

[3:58] Morgaine Dinova: Johan, *your* hair clearly doesn't need resizing :-)

[3:58] Johan Laurasia: lol

[3:58] Babbage Linden: region and estate owners get to see all the scripts on the land

[3:58] Babbage Linden: attachment scripts are going to be private for now

[3:58] Johan Laurasia: well, I mean manually editing it isnt that difficult that resizing needs to be scripted

[3:58] Babbage Linden: everyone will have a fixed size pool for attachments anyway

[3:59] Carbon Goggles 0.7: Too many HTTP requests too fast.

[3:59] Xugu Madison: Johan, I believe resizer scripts are used to avoid having to give users modify permissions....

[3:59] Babbage Linden: right

[3:59] Babbage Linden: and as such it's a neat way to have scriptable/configurable permissions

[4:00] Morgaine Dinova: The investment in hair is so immense, you'd better be very careful, or you'll have a class action on your hands.

[4:00] Babbage Linden: ..but I just want it to be implemented more efficiently ;-)

[4:00] Xugu Madison: Possibly a need for separate "Modify object" and "Modify inventory" permissions (as I believe the concern is about scripts being used to copy content)

[4:00] Johan Laurasia: yeah, but still, I wouldnt want to waste resources by using tha many scripts... that's part of the problem, some scripters, and alot more wannabes who cobble stuff together by throwing a bunch of scripts in a prim dont consider resource usage.

[4:00] Morgaine Dinova: Xugu++

[4:01] Imaze Rhiano agrees with Xugu

[4:01] Morgaine Dinova: People need to be able to do a lot more with their owned no-mod scripts.

[4:01] Babbage Linden: morgaine, but if scripts can be used to implement custom "some modification" permissions that's the best solution

[4:02] Babbage Linden: instead of petitioning lindens to add new permission types to an already complex system

[4:02] Babbage Linden: you just write a script that implements rezise/recolour or whatever

[4:02] Babbage Linden: allowing script brokered modifications

[4:03] Kaluura Boa: Yeah... Don't touch the permissions... I see a train of breakage coming...

[4:03] Babbage Linden: as long as you don't have to write a bazillion scripts to do it, it's a pretty neat system

[4:03] Xugu Madison: Don't suppose there's any chance of a "modify unlinked prim" perm for scripts, is there? So color/texture HUDs don't need a receiver script...

[4:03] Babbage Linden: user extendable permissions

[4:03] Babbage Linden: neat

[4:03] Johan Laurasia: that is a good idea

[4:04] Xugu Madison: (just shaking the contents of my head out into chat, don't mind me)

[4:04] Morgaine Dinova: Babbage: the idea of customizing a script you own but can't modify somehow is nice ... but hard to pull off.

[4:04] Babbage Linden: morgaine, i'm talking about having scripts that listen for commands and filter modifications

[4:05] Babbage Linden: "/5 set colour blue" for example

[4:05] Babbage Linden: allows you to have limited modify permissions brokered by the script

[4:05] Babbage Linden: anyway, i need to go

[4:05] Morgaine Dinova: Oh christ, not listening on chat. We need less of that horror. Make a proper user->attachment API.

[4:06] Xugu Madison: See you Babbage, take care!

[4:06] Babbage Linden: please play with this sim and let me know how it performs compared to main grid sims

[4:06] Imaze Rhiano: bye Babbage

[4:06] Johan Laurasia: Thanks Babbage

[4:06] Kaluura Boa: Cya

[4:06] Becky Pippen: Thanks Babbage

[4:06] Morgaine Dinova: Thanks Babbage. Feedback --- it's all broken :-)

[4:06] Babbage Linden: and morgaine, don't worry, there are lots of snazzy scripted ui plans being formed right now...

[4:06] Xugu Madison: Mmmmmm, UI...

[4:06] Morgaine Dinova: hehe

[4:06] Babbage Linden: oh pish morgaine

[4:06] Babbage Linden: you're in danger of being branded a troll

[4:06] Morgaine Dinova: I'm not interested in UI, but in the API behind the UI. UI's change

[4:06] Johan Laurasia: lol

[4:07] Babbage Linden: constructive feedback very welcome

[4:07] Babbage Linden: see you all next time

[4:07] Ardy Lay: Thanks Babbage

[4:07] Morgaine Dinova: Babbage: my kittie HUD doesn't work here, period. Your problem, your sim is broken. Live mith it

[4:07] Nock Forager: will see ya.