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.
There was a (never completed) interesting book titled Platform Second Life: Developing Real World Applications that would have been fascinating and useful.Â I’m starting to think that someone needs to write it, even if it did get cancelled.Â What is annoying is that we changed the direction of Scripting Your World a bit to avoid competing directly with it… and then it evaporated well after it was too late to change back.Â So if you were wondering why we had so little in SYW on touching the outside world, now you know why!
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 foo.py worked fine, ./foo.py failed because the engine didn’t recognize the ^M as an EOL on the first line.Â dos2unix foo.py 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.
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
I’ve been converting my sim security “cam” system from using http posts to google forms backed by a spreadsheet to a nice litlle php service writing to a mysql database. The next two interesting next steps to consider are: (1) since the detectors are LSL scripts using sensors, they have limited range and frequency… So I end up with lots of point observations of visitors without any continuity- not a problem, but sometimes I’d like to watch paths not points. So the question is should I keep this information in the database in some form or just regenerate it on the fly when I query. (2) pretty displays: tabular it trivial, but little maps and such would be cool… And not an area I know much about.
Will be checking out BlueMars shortly – should be interesting from a pretty perspective, though it neither looks as general purpose as SL, not is it obviously grid compatible. Pretty darn high hurdles to take market share from SL.
So let’s see: we’re using streamhoster for broadcast services, two MacBooks (one old, one brand spanking new), QuickTime broadcaster, probably mpeg4 for the mainline, H264 for the new, dv/FireWire in (produced for main stream, also backup D8 camcorder).
SL live video is… uh… quirky. I expect to write up my notes on what it takes and post it here in the next few weeks. sigh.
Here’s a little URL giver I wrote last night. Note that is discourages people from messing with the actual code by compressing into the end. Meanwhile, all the settings should be pretty self-explanatory – click on the little icon in the upper right corner that looks a little like [<>].
Continue reading “Simple Free URL giver”