SL Pro!

On Thursday of last week, I had the pleasure of speaking at the 2010 SL Pro! Conference. My talk was on applying RL software development techniques to SL scripting (go HERE for my slides… Please read and comment!). But what I really want to talk about here is the process and experience of participating in this sort of real conference that takes place in a virtual venue.

Impact of SVC-3895: Rezzing Mono scripted object cripples sim FPS

Babbage just said “As of 10 minutes ago, Mono scripts now rez in 100 us instead of 15 ms on my development sim. I will try to get the fix deployed as soon as possible.” This is a really really good thing, as this bug is likely one of the major culprits to why SL has seemed so darn jerky and laggy since shortly after Mono was deployed (29 August 2008).  The problem has been tracked at if you are interested in the gory details.

Continue reading “Impact of SVC-3895: Rezzing Mono scripted object cripples sim FPS”

Tall avatars (and Avatars!)

I had an interesting little email chat with an SL content creator the other day on how to make tall avatars for Na’vi, the indigenous people in the movie Avatar. They are described as being around 3 meters tall. When you accommodate SL’s height inflation (due to an unusually tall set of defaults), I’d want something in the range of 11-14 SL feet. This is well outside the range available using appearance sliders. Worse yet, the usual techniques for making Macros (giant avatars) requires using prims to hide the avatar distortions caused by the animations needed.

Continue reading “Tall avatars (and Avatars!)”

Two rather rough 5-minute machinema in 2.5 hours

On Friday, I had the occasion (read emergency as a result of miscommunication) to make two 5 minute machinema demos of existing content.  The good news is that the build was done, the avatar(s) outfitted, and a rough script was already in place.  Oh, and they didn’t need audio.

End-to-end took about 2.5 hours.  The absolutely critical non-standard bits were Camtasia (for capture, edit, and production) and a 3DConnexion SpaceNavigator to run the flycam.  I needed a bit more free space on disk, too, so I copied raw footage off disk when I wasn’t working on it.

Lessons: you can’t have too detailed a script! rendering takes more time and you’ll need more disk space than you might think.

The joy of suexec

So we were trying to set up a shim web script to connect a MySQL database full of data goodness to a set of LSL scripts. The python script when run from the command line in the development environment but failed utterly when the author tried deploying it to our hosted server. It turns out that there was a whole cascade of problems that may serve as a cautionary tale:

  • The database server didn’t allow connections from outside our campus, so we needed to deploy to an external machine at work instead of our public services to satisfy the need for LSL to reach the server and for the server to reach the database.
  • Check EOLs!  The script was developed on windows and then deployed to Linux – while python worked fine, ./ failed because the engine didn’t recognize the ^M as an EOL on the first line.  dos2unix fixed that. Renamed it foo.cgi and it should work
  • suexec is evil.  It intentionally obscures its settings and (probably unintentionally) emits error messages that are simply wrong.  Our webserver used the standard install, but we use .public_html as the user’s html directories instead of the more common public_html (note the dot!).  Suexec said that it couldn’t get to /home/user, whereas it really couldn’t get to /home/user/public_html.  The hack to get things working was to symlink the two together.

Presto! And suddenly things worked!  Of course, there were multiple edits of apache config along the way, restarts, searching for working user scripts, etc.

llListen/listen borked

Or rather, I suspect that the chat message queue is borked. It used to be that typing “/3” would deliver an empty string on channel 3 to whoever might be listening. No longer. Now such messages are silently dropped. Sigh. SVC-4783