Finger info for

Google Earth:
 Now available for GNU/Linux from

Cars: Radiator Springs Adventures:
 This is shipping now, as a Universal Binary on a hybrid Win/Mac disc.

 PLEASE be aware that this is the kiddie game! It's meant for really young
  kids. It's the sort of thing you see in the Apple retail stores in the
  children's section that you instictively ignore if you're older than 10.
  That being said, if you park your kid in front of one of these Macs while
  you wait at the Genius Bar, then they'll probably have a lot of fun with
  this game. Just be conscious of the target market, and whether you are it.

 The Linux server 1.3 patch got kicked back to me from Activision QA as
  hopelessly broken, I sent in a new build, they kicked it back to me again.
  Discovered that there was a series of unfortunate events that, chained
  together, conspired to cause this screwup:

  - My Windows installation of COD2 was hosed. It was still the 1.2 binaries,
  after a "successful" run of the 1.3 patch program (a second run reported
  that I was all patched up, too) This basically left me with a client
  talking the 1.2 protocol, but having the right pakfiles to pass the
  sv_pure test.

  - The Linux server codebase had a mismerge: the protocol version didn't
  get bumped. This basically left we with a server that would only talk
  to a 1.2 client.

 So there we are, scratching our heads over why Activision is seeing an
  absolute failure to do anything whereas it's working great on my LAN.
  Much time was spent running the server through Valgrind and gdb and
  sniffing packets with Ethereal. Eventually I noticed that my damned
  Windows client said "1.2" in the lower left corner of the main menu.

 A reinstall of the game made it much easier to track down the problem.

 So, back in QA. Assuming I've managed to outgrow my stupidity this time
  around, I'm hoping they'll sign off on it soon. Updates as I have them.

Second Life:
 Cleaning up the dependency hell. Usually I work on games that have one or
  two dependencies (SDL, OpenAL, maybe a statically linked libpng or
  whatever), but Second Life has quite a pile of them, some of which have
  fairly complex dependencies of their own (Mozilla, anyone?) and many that
  depend on each other (all projects grow until they reference zlib, I swear).

 Fortunately, working on Google Earth, also a bit of a middleware magnet,
  taught me a lot about how to manage this sort of thing. Tapdancing around
  misconfigurations and symbol clashes and unnecessary dependencies (oh my!)
  is really a science...or a black, unholy art. If you ever have to make this
  happen yourself, my best advice is this: automate the hell out of it. Write
  a big shell script that builds (and rebuilds, and rebuilds, and rebuilds...)
  every third party library from scratch. This is both because you won't
  remember how you did it in six months when you need to change something, and
  because you won't remember how you did it in five minutes when you are
  iterating yet again to tweak a piece of the build. In some cases I adopted
  the Gentoo Portage mentality (build to a temporary --prefix, then copy the
  bits you actually care about from the installed image), and in some cases I
  wrote a simple shell script that explicitly compiles each file the way I
  want it, bypassing the autotools badness. Time spent on this in the past
  week: pretty much every waking hour, minus the COD2 issues above. For all
  the effort, progress is really incremental (especially when you find out
  your 4-in-the-morning typo makes the Mozilla build die yet again, 30 minutes
  into the painful!)

Other stuff:
 I can't believe how much email I got due to being on the FLOSS Weekly
  podcast! Almost all of it was positive, and some of it was downright

 Also, if you're still looking for a last-minute Subversion repository for
  your Summer of Code work, please drop me a line, as might have
  some resources that'll be of use to you.


When this .plan was written: 2006-06-24 20:40:51
.plan archives for this user are here (RSS here).
Powered by IcculusFinger v2.1.27
Stick it in the camel and go.