Wednesday, December 16, 2009


I've just been see Avatar. This is an unbelievably awesome film. Intensely immersive. It's all filmed in 3D which adds to the immersion, and most of it is computer generated, although the  actors' performances are mapped directly to their digital avatars, so it is entirely believable. The filming technology has been described as a huge directable game engine. It's completely amazing and engrossing.
The film is essentially humans taking resources from aliens. The alien world is a beautiful, holistic, sensual place full of wonder, and nasty creatures on an almost Asher level. The humans are stereo-typically corporate driven and military supported, but their environment is in its own way awesome, with fantastic hover ships, and exo-skeleton infantry. The conflict is epic, and I found, deeply moving.
Again, the effects and sound are amazing, produced by the likes of Weta Workshop, Skywalker Sound, Industrial Light and Magic, a group called The Pixel Liberation Front, and many others.
The acting was generally pretty good I thought. Sigourney Weaver really likes her SF. James Cameron wrote and directed the film, and has been waiting for a long time for the tech to complete his vision. Brilliant work.
The avatar concept in the film, where humans can tele-operate a vat-grown alien body isn't entirely new, (usually done with a synthetic host), but works really well as a device for connecting both the viewer and the film humans with the aliens. It is beautifully done.
Go see this film. See it in 3D too. It's completely amazing.

Monday, December 14, 2009

Virtual Inheritance.

I found a bug recently that was causing a crash only on a Solaris 10 build, but the same code was fine on Win32. I eventually tracked it down to the Sun compiler not generating the correct code for a virtual inheritance situation. It was a multiple inheritance situation, and one of the parents was a pure abstract interface class, so it's not like the design was really ugly, or the situation was particularly complex. There was only one implementation of the virtual method for the class, and the abstract interface was derived virtually. Calling the method on the class worked fine, but calling the method on a const abstract base class reference (where the method was declared) returned fine, but the returned object caused a crash as soon as it was used. The method was there, but the compiler didn't hook it up in the virtual method table. It hooked something up though. Bizarre. I removed the virtual keyword, and everything worked fine.
The Sun compiler is Flakey.

Friday, December 11, 2009

Misspelling: jewlery

This one annoys me. Not only do people often say jewlery (say with a course aussie accent), but they spell it like this as well.
Lets have a look around for this. Here, here, here, here, here.


Tuesday, December 1, 2009


I sure hope we're not overly reliant on the models or data from CRU for our picture of global warming. Because it seems they are both complete crap. See here, here.

[update Dec 2]  While this looks very very bad, it's possible the science coming out of CRU isn't all crap, but there should definitely be some sort of review of their results.
Also there are other sources of good science on this, so lets not lose the plot on climate change altogether.

Crunchpad dies!

So close to going retail. the CrunchPad is dead. It looked exactly like what I'm after.

[update Dec 8] Its back, under the name JooJoo. Pricing set at US$500. That's probably over my threshold. I'm not getting into the politics of who owns what, let the legal action settle first.

[update Dec 14] And the legal action starts.

CERN geeks play D&D

Of course they do. Some interesting tid-bits in this interview with a CERN geek.