Skip to content

2006

Second Life Tech talk @ Google

Saw this incredible video over at Zac Bowling's site. It's a tech talk by the creators of Second Life about their systems. Very high geek content, especially with the prospect of SL switching over to Mono.

I've been staying away from MMORPG's because I just don't need that kind of time-suck in my life, but once you add a compelling programming model on top of that, the temptation is just getting way too strong. So far I resist, but once they have mono integrated, I may have to poke around a bit.

Last time I got sucked into something like this was back in the early 90s, when I started playing around with LambdaMOO which was completely object oriented and user editable. The language I always thought was a variation on Scheme, but Wikipedia claims it a derivative of Algol. Either way, it was a lot of fun to program in and create the world around yourself. But it was addictive. My roommates all got sucked in and at some point you couldn't call our house because someone was always on LambdaMoo (yes, the day of modems... 2400bps modems).

The only thing that makes Second Life less dangerous is that it's build around a thriving economy. So, it's not only conceivable, but an actual reality that you can finance this habit by having the habit and sitting in there coding. I think i'm still going to stay far away for my own sanity.

configSource attribute

I've been using the new tag for .NET 2.0 to store my DB config. I used to just have a custom handler for it before. But hey, it's built in, let's use it. Now i'm putting NUnit in a bunch of projects so they all need to have app.config files. But i don't want them to each have a copy of the strings. Just means sooner or later things get screwed up. Not to mention that having the config file in the source control tree means that my local config gets checked in and i have to modify them on every machine to match environments.

For and my own config handlers, I always had a file attribute to externalize them into a central configuration space. Except doesn't have file, only configSource. At first glimpse it looks like the same thing. Sure, it adds some cool stuff, like being able to reload on change, which file couldn't. But the price you pay is that the new file has to be in the same directory or a subdirectory. So much for using one config for multiple apps. I may be overlooking something, but I can't really find any good reference on the subject.

Fraps, scriptable encoding, multi-angle DVDs

I came up for a non-porn use for the multi-angle feature of DVD. Unfortunately, the lack of adoption of this feature by the major DVD community means that documentation on this is rather sparse. Plus I ran into some other issues that I also found no answers to. Figured I'd post them here, see what comes of it.

Fraps captures w/ anti-aliasing

I'm running P4 3Ghz, nvidia 6600GT and that produces about 92fps for LiveForSpeed. Drops maybe 10 frames if i turn on anti-aliasing. If i use Fraps to capture w/o anti-aliasing it records at the requested FPS, but the moment I turn on any anti-aliasing, the fps drops to about 10-15fps. Is it my card, LFS, fraps? Anything I can do?

Automating encoding from Fraps to DVD

Once captured, I have an avi in the FPS1 codec. I can transcode it with VirtualDub or TsunamMPEG, but both of those tools are GUI and can't be scripted. I tried using ffmpeg, but that doesn't seem to support the current Fraps codec. I was unable to find any scriptable transcoders that can use the codec DLL provided by Fraps.

Automating multi-angle DVD burning

Best tool for automating DVD burning I found was dvdauthor. However it does not support multi-angle burning. Only tools I found that do, are high end DVD authoring packages, all of which are GUI applications.

And even if i found one, i can't even find out what the requirements are for multi-angle. I saw some comments that made it sound like that all angles have to share a single audio track. Is that correct? How about getting the video synced? Got the impresssion that there was some nasty timecode stuff, beyond just getting a couple of video tracks of the same frame count.

Ah, more questions than answers..