User:Which Linden/Office Hours/2008 Dec 11
Jump to navigation
Jump to search
- [11:06] Morgaine Dinova: waves
- [11:06] Which Linden: Hi there
- [11:07] Which Linden: How are you?
- [11:07] Morgaine Dinova: Hehe, Sai usually keeps track of office hours for me, I forgot :-) No Sai today
- [11:07] Which Linden: It's amazing how much that man does
- [11:07] Morgaine Dinova: Fine ta, you seem a bit solitary here today :-(
- [11:08] Which Linden: The crowd that shows up here is pretty variable
- [11:08] Morgaine Dinova: I'm tempted to put a call in on AWG, do you mind?
- [11:09] Which Linden: No, go right aheard
- [11:09] Which Linden: *ahead
- [11:09] Morgaine Dinova: I think Sai normally post the meetings, will do
- [11:09] Which Linden: Hmmm... Ctrl-H doesn't bring up chat history in RC3, that's annoying
- [11:11] Morgaine Dinova: Hmmm, how do you get a slurl into chat?
- [11:12] Lalinda Lovell: slurl into chat, go to map, copy to clipboard, then paste
- [11:12] Which Linden: There's a button on the map window
- [11:12] Which Linden: lalinda beat me to it
- [11:13] Lalinda Lovell: :)
- [11:13] Which Linden: nice hair
- [11:13] Morgaine Dinova: That worked, cool
- [11:13] Lalinda Lovell: 2 million greenfly cant be wrong, you are attractive which!
- [11:14] Which Linden: hello, Your Majesty!
- [11:14] Prospero Linden: Good day
- [11:14] Lalinda Lovell: a King amongst noblemen
- [11:14] Prospero Linden: Actually, just a Duke :)
- [11:14] Prospero Linden: But, having gone to grad school in southern california, I pronounce it "Dude"
- [11:14] Which Linden: LOL!
- [11:15] Morgaine Dinova: For some reason I never got to see the Shakespeare productions here, wish I had.
- [11:15] Lalinda Lovell: i wanted to see the ballet
- [11:15] Prospero Linden: There will be more
- [11:15] Which Linden: There are upcoming shows, right?
- [11:15] Which Linden: weewt
- [11:15] Prospero Linden: Avatar Repertory Theater is doing a "Tempest" in early Februrary
- [11:16] Prospero Linden: in which I will be sharing the role of Ferdinand.
- [11:16] Prospero Linden: (Not Prospero :) )
- [11:16] Morgaine Dinova: Oh excellent
- [11:16] Lalinda Lovell: we need a pantomime in olde english style
- [11:16] Lalinda Lovell: jokers with pig bladders on a stick
- [11:16] Which Linden: How does that work, by the way, do you have a group title that displays your character name?
- [11:17] Lalinda Lovell: probably
- [11:17] Which Linden: Or do you just, uh, act?
- [11:17] Prospero Linden: Just act.
- [11:17] Lalinda Lovell: the one in the dress will be juliet etc
- [11:17] Prospero Linden: With SLSC, we've done it af ew ways
- [11:17] Prospero Linden: Sometimes we've had special avatar acounts named after the character
- [11:17] Morgaine Dinova: I'm not a big Shakespeare fan, but I did love that series of 6 animated plays on UK tv some years ago, each done in a different animation style. Very well done.
- [11:17] Prospero Linden: So, for instance, when we did Act III Scene ii of Hamlet, I logged into the "Hamlet messing" account.
- [11:17] Prospero Linden: When we did "One's a Pawn of Time", we used gropu titles.
- [11:18] Prospero Linden: But for act I of "Twelfth Night", we just acted.
- [11:18] Lalinda Lovell: i have a bit of lady macbeth in me i fancy
- [11:18] Prospero Linden: Have you seen the Macbeth sim?
- [11:18] Prospero Linden: It's amazing
- [11:18] Which Linden: out out damn spot?
- [11:18] Lalinda Lovell: no
- [11:18] Lalinda Lovell: can you show me?
- [11:18] Prospero Linden: Just search for "Macbeth"
- [11:18] Prospero Linden: It's the project of a literature instructor at a univ. in Austrailia
- [11:19] Lalinda Lovell: ah
- [11:20] Morgaine Dinova: I'm surprised there isn't more emphasis on facilities for machinima and puppeteering, seeing as there is so much interest among Lindens too
- [11:20] Which Linden: Well the puppeteering branch is out there
- [11:20] Lalinda Lovell: i would like to run a props dept
- [11:20] Morgaine Dinova: But then, there's a ton of interest in MIDI and music in general, but that never got support either. Just lack of time I guess
- [11:21] Which Linden: That made it very far, before being abandoned due to not having the juice to clear the remaining technical hurdles
- [11:21] Which Linden: Yes, lack of time is a major problem for us
- [11:21] Morgaine Dinova: Hehe, need more juice
- [11:21] Which Linden: Hi aimee
- [11:21] Morgaine Dinova: Hi Aimee
- [11:22] Prospero Linden: Time is a huge problem....
- [11:22] Aimee Trescothick: hullo :) I suggest interleaving extra seconds inbetween every current one
- [11:22] Morgaine Dinova: That's a good idea.
- [11:22] Prospero Linden: cloning
- [11:22] Which Linden: Heh TDMA
- [11:23] Aimee Trescothick: "git clone self"
- [11:23] Morgaine Dinova: Reminds me of the only good ude of UDP in SL: interspersing optional fine-grained positional updates using UDP, in between non-optional positional updates over TCP :-)
- [11:23] Morgaine Dinova: s/ude/use/
- [11:24] Morgaine Dinova: Aimee: don't merge the branches though :-)
- [11:24] Aimee Trescothick: yeah, that could get nasty
- [11:24] Morgaine Dinova: Talking of Git, what happened to the use of Mercurial in LL? Did that project die?
- [11:24] Prospero Linden: Mercurial is another one that's taking a long time because we're so busy
- [11:24] Aimee Trescothick: do wish my life had revision control sometimes though :D
- [11:25] Prospero Linden: It's still likely to happen, I *think*
- [11:25] Prospero Linden: But it's blocked on some people who have lots of other stuff to do
- [11:25] Which Linden: Yeah, I think it's on the way too, but it is gated on the source split-up project
- [11:25] Aimee Trescothick: sucked the whole LL public SVN into her git repository and is living much more happily now
- [11:26] Morgaine Dinova: We were debating what to do about that in Imprudence. It's great that the viewer is getting refactored ... but the trouble is that that means refactoring can't go ahead in third parties, it's blocked by LL tracking.
- [11:26] Which Linden: Has anyone here used both git and mercurial? I keep on seeing much more enthusiasm lavished on git, despite my impression that it's more difficult to use/install than mercurial
- [11:27] Which Linden: hasn't used git though
- [11:27] Aimee Trescothick: I think Hg is better supported on Windows, though I haven't used it
- [11:27] Morgaine Dinova: I've not used Mercurial, but Linus says it's like Git in principle, just slower. But I doubt that .... nothing else could be as unstructured as Git ;-))))
- [11:27] Aimee Trescothick: I'm not really much of an expert on Git either to be able to speak authoritively about it
- [11:28] Aimee Trescothick: Ease of branching is the main thing that seems to get touted in favour of git
- [11:29] Morgaine Dinova: So, any tech topics for today?
- [11:29] Prospero Linden: From what we've heard, branching and all that is supposed to be much easier in Hg than svn.
- [11:29] Prospero Linden: hasn't really looked at Hg seriously himself.
- [11:29] Morgaine Dinova: Aimee: yeah, and speed of operations in particular.
- [11:29] Aimee Trescothick: nods
- [11:29] Which Linden: My impression was that hg was supa-fast as well
- [11:30] Which Linden: Maybe git is faster, but I bet it's on the order of 20% or so, much like the repo size
- [11:30] Morgaine Dinova: Odd. I think Linus said that the only viable alternative after Bitkeeper rotted was Mercurial, but it was massively too slow for kernel-type trees.
- [11:31] Prospero Linden: How long ago was this?
- [11:31] Prospero Linden: I wonder if Hg has evolved
- [11:31] Which Linden: Mercurial just reached 1.0 this year, so maybe it improved
- [11:31] Morgaine Dinova: Not sure when he said it, but it's in the background info on Git. I read it less than 2 months ago, since I'm a newcomer to Git.
- [11:32] Which Linden: 2 years ago, git was much faster: Well, this link crossed my desktop: [1]
- [11:32] Which Linden: noooo
- [11:32] Which Linden: [2]
- [11:33] Which Linden: the silent corruptions link is interesting too
- [11:33] Morgaine Dinova: Hahaha, was wondering what the relevance was :-)
- [11:35] Which Linden: it's very disturbing actually -- the quantity of completely silent errors in modern systems is... problematic
- [11:35] Morgaine Dinova: Wow, so Git is up to 2 orders of magnitude faster than Hg, and even more compared to bzr
- [11:35] Which Linden: again, 2 years ago
- [11:35] Aimee Trescothick: I think the main thing against git on Windows was that you used have to run it under cygwin
- [11:35] Morgaine Dinova: Not quite two
- [11:36] Morgaine Dinova: Ah
- [11:36] Aimee Trescothick: at which point it lost most of the speed advantage
- [11:36] Aimee Trescothick: but lost of it has been rewritten since then
- [11:37] Which Linden: Hm I can't seem to find any more recent performance comparisons
- [11:38] Morgaine Dinova: Is anyone here fighting with the supplied libraries issue in the viewer?
- [11:38] Aimee Trescothick: in what way?
- [11:38] Aimee Trescothick: Kung Fu? Boxing?
- [11:38] Prospero Linden: has not been heavily involved in the "version tracker" discussion, and as such trusts those who decided that Hg was the way to go
- [11:40] Morgaine Dinova: Currently the viewer has two modes of build, either "standalone" which is using the hosts's native libs, and pre-built which uses the prebuilt binaries supplied by LL. The trouble is, Cmake only produces per-architecture build trees, so if you're using a single NFS source repository from two x86 hosts with different local libs, needing different sets of pre-builts, then you're screwed.
- [11:41] Which Linden: NFS?
- [11:41] Morgaine Dinova: Needs duplication of sources and git trees, which is a pain at best
- [11:41] Which Linden: How is that involved?
- [11:41] Morgaine Dinova: Which: using a fileserver to hold the hit tree.
- [11:42] Morgaine Dinova: s/hit/git/
- [11:42] Morgaine Dinova: And a variety of different machines accessing it for building, all different
- [11:42] Which Linden: and the switch between standalone and pre-built is in a config file, or command-line?
- [11:42] Aimee Trescothick: I seem to remember someone at LL, Bos? wrote a book on Hg
- [11:42] Which Linden: yes, he did
- [11:43] Which Linden: that is a primary reason to use hg here: we have someone who knows a *lot* about it
- [11:43] Which Linden: he also wrote a book on haskell: [3]
- [11:43] Aimee Trescothick: nods, well, makes sense when there's no clear advantage to using something else
- [11:44] Aimee Trescothick: I don't suggest porting the viewer to Haskell though
- [11:44] Morgaine Dinova: Either, but the trouble is that the switching is just Yes/No. There's no way of saying on a per-build basis that machine X needs prebuilt libs A,B,C while machine Y needs D,E,F. It;s hardwired into the sources which prebuilts are used when !standalone.
- [11:45] Which Linden: Morgaine: hm, I see
- [11:45] Which Linden: Honestly that sounds like a really hard problem to resolve correctly
- [11:46] Morgaine Dinova: In Imprudence we've got a wiki entry that suggests "Delete prebuilts A,B,C" ... but it's useless, it only works for that particular person's machine.
- [11:46] Which Linden: Linking is such black magic to me
- [11:47] Prospero Linden: Heh
- [11:47] Prospero Linden: I think I understand linking when I run g++ on the command line
- [11:47] Prospero Linden: Yesterday, I was trying to help a student figure out how to specify with which libraries to link using Xcode on his mac
- [11:47] Prospero Linden: I eventually told him, "well, I can tell you how to do it from the command line...."
- [11:47] Aimee Trescothick: why is the build directory being shared?
- [11:47] Morgaine Dinova: Which: not really hard, it just needs the list of prebuilts to be written down in a file somewhere, and allowing the file to be switched. An easy approach would be to change Cmake's default build-tree naming so that it incorporates the machine name too, and then finding the list of prebuilts within that directory
- [11:48] Morgaine Dinova: Aimee: the build directory gets shared when two hosts doing builds happen to have the same arch.
- [11:48] Aimee Trescothick: hmm
- [11:48] Which Linden: ...and you're doing all this building on a network share
- [11:49] Aimee Trescothick: symlink the build directory outside the NFS?
- [11:49] Morgaine Dinova: I'm using NFS, but it would apply identically if done with Samba or anything else.
- [11:49] Which Linden: Here at linden we have NFS homedirs but don't build on them because it's much faster to build on the local disk
- [11:50] Morgaine Dinova: But that's a secondary issue to the main one: even if you have only one machine doing builds, there is no way of specifying which prebuilts to include/exclude.
- [11:50] Aimee Trescothick: yeah, I'd suggest making the build directory in the shared repository a link to somewhere on the local machine
- [11:50] Aimee Trescothick: hmm
- [11:51] Which Linden: JIRA with supplied patch!
- [11:51] Aimee Trescothick: heh
- [11:51] Morgaine Dinova: For example, it's a typical problem that people want to make a standalone build, but their host uses xmlrpc-c, whereas the viewer uses xmlrpc-epi. So, even a totally standalone build needs at least one prebuilt.
- [11:52] Morgaine Dinova: And you can't have both installed on the same box
- [11:52] Which Linden: thinks xmlrpc should go away
- [11:53] Prospero Linden: hopes that xmlrpc eventuallyd oes go away once we have http-in
- [11:53] Prospero Linden: But... I bet it will be a while, because lots of people use xmlrpc
- [11:53] Morgaine Dinova: Yeah, can't get rid of it.
- [11:53] Which Linden: Yeah, we could end up supporting that for a loong time
- [11:54] Which Linden: I think the plan was, 1 year after http-in, possibly 2
- [11:54] Morgaine Dinova: Any idea why -epi is needed specifically though? Almost no distro supports it as native.
- [11:54] Which Linden: though when I say "plan" you should hear "someone once said that it would be a good idea in a jira comment somewhere that only Which remembers now"
- [11:54] Which Linden: no idea
- [11:55] Lalinda Lovell: Lady Macbeth enters stage left.....
- [11:55] Prospero Linden: No battle plan survives contact with the enemy....
- [11:56] Morgaine Dinova: Actually, here's an idea: fork xmlrpc-epi (if license permits), and rename it something else with different namespace or API names or whatever. Then we could install both simultaneously, and LL would need only to change a few reference names.
- [11:57] Which Linden: Is that the only library with that problem?
- [11:58] Morgaine Dinova: Which: yeah, the only one
- [11:58] Which Linden: Well that's nice
- [11:59] Morgaine Dinova: Vicinity chat lag, that's bad. One line from 2 mins ago hasn't come out yet, but a later one has.
- [11:59] Prospero Linden: Woah
- [11:59] Prospero Linden: Vicinity chat lag is pretty rare
- [11:59] Morgaine Dinova: Is anyone here interested in client-side scripting, or alternatively, in HUDs?
- [12:00] Which Linden: Vicinity chat lag happens to me about once per officed hour actually
- [12:00] Aimee Trescothick: my partner reckons she gets local chat lag all the time
- [12:00] Prospero Linden: Hmmm... I have only rarely seen it myself
- [12:01] Prospero Linden: Which, how is vicinity chat processed? Does it go just to the simulator, or does it go through presence servers too?
- [12:01] Aimee Trescothick: personally I think its me that can't keep up with her, and she's assuming it's lag
- [12:01] Morgaine Dinova: Because we were wondering in the UXIG group how to get decent high bandwidth comms between attachments and the viewer. Chat channels are clearly not ideal.
- [12:01] Aimee Trescothick: lol
- [12:01] Prospero Linden: Aimee : I call that "brain lag". I get that a lot
- [12:01] Which Linden: Prospero: I'm not that familiar with it, but it really ought to be just the sim process
- [12:01] Morgaine Dinova: Haha Aimee :-)
- [12:01] Aimee Trescothick: yeah, me too lol
- [12:02] Which Linden: I wonder if it's not chat lag per se but just shitty UDP retry mechanism
- [12:02] Prospero Linden: I wonder what happens near sim boundaries? Because neighboring sims need to know about local chat. There, too, they should just talk to each other
- [12:02] Morgaine Dinova: Yeah
- [12:02] Prospero Linden: Yeah, I wouldn't be surprised if that were it
- [12:02] Prospero Linden: I think the UDP retry system is part of why sims get so lagged when there are lots of avatars (approaching 100) in-sim
- [12:02] Morgaine Dinova: I'm surprised (and I think a lot of people are) that you haven't given UDP the boot yet, except for optional positional updates.
- [12:03] Prospero Linden: Well... changing infrastructure isn't trivial.
- [12:03] Prospero Linden: It's in progress.
- [12:03] Which Linden: There are a lot of knock-on effects from stuff like that
- [12:03] Which Linden: changes the behavior of the system in unexpected ways
- [12:04] Which Linden: also, apparently the viewer didn't reconnect the event queue if it broke, up until the series in RC
- [12:04] Morgaine Dinova: Just layer. Even a low-efficiency "UDP emulation" abstraction run over TCP would get you out of the mess and pain :-)
- [12:04] Which Linden: that's the event queue
- [12:05] Which Linden: once this new viewer gets a lot of adoption, I'd expect to be more confident in using the event queue more heavily
- [12:06] Which Linden: I should go, but cheers to you all, glad to talk to you today
- [12:06] Morgaine Dinova: Which: do you think it'll be so dramatically different that 3rd parties won't be able to merge branches back to it?
- [12:06] Which Linden: Morgaine: what would be different?
- [12:07] Morgaine Dinova: Thanks Which, and Prospero, even if it wasn't really a tech chat.
- [12:07] Which Linden: is that like half-hour chat lag, referring to the source split up?
- [12:07] Morgaine Dinova: Which: we don't know, it's secret what you're refactoring ;-))))
- [12:07] Aimee Trescothick: has to run too
- [12:07] Morgaine Dinova: Cya Aimee
- [12:08] Which Linden: well the source split up would be basically just splitting up, e.g. llcommon into its own tree, and newview into another, something like that *waves hand*
- [12:08] Which Linden: but, again, no hard plans yet
- [12:08] Morgaine Dinova: Is there a triage today?
- [12:08] Aimee Trescothick: :)
- [12:08] Aimee Trescothick: waves
- [12:08] Which Linden: dunno!
- [12:08] Which Linden: gotta run though, catch y'all next week