Google Earth: Now available for GNU/Linux from http://earth.google.com/ Cars: Radiator Springs Adventures: This is shipping now, as a Universal Binary on a hybrid Win/Mac disc. http://www.macgamestore.com/detail.php?ProductID=583 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. COD2: 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 run...how 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 inspirational. Also, if you're still looking for a last-minute Subversion repository for your Summer of Code work, please drop me a line, as icculus.org might have some resources that'll be of use to you. --ryan.