The mantra for 0.679 was moving towards all thread-able. The processor requirements and the ability to move towards a distributed model for the Simulation produced a substantial set of changes in 0.679. These changes broke the Apple CHUD implementation but were designed to relink with the CHUD source in the medium term (about three or four versions of re-equilibrating.) For more information on the Apple CHUD implementation;

The number of changes that went in to 0.679 escaped me when I offered a delta CHUD version from 0.678 for Rick Altherr at Apple. There is no realistic way to bridge 0.678 to 0.680 and maintain the CHUD functionality. The 0.678 CHUD functionality failed to provide the dramatic speed advantages of the original version for one reason - there has been a lot of additional processor intensive stuff added to the Simulation since the original Apple changes. The Apple thread related changes are now not evenly balanced. Rick identified an additional problem where one thread blocks the other thread, producing atomised processing. Hardly threaded in the true sense.

My priority for 0.680 is to release it sooner rather than later. There have been too many months since the previous version and there have been a number of fixes through the 0.680 cycle. Users like regular releases.

In terms of additional features, Moon Monkeys has not been forgotten. The natural time frame for DigitalSpace and AIR pitches next month as the point to return to the discussion. Both AIR and DigitalSpace are in a cycle of development work that is still in progress.


The Noble Ape tshirts seem to be slowly virally spreading over the globe. The success of the tshirts and manuals purely as good-faith promotional items is an unexpected benefit of Cafepress. Getting freebies out to a wide variety of developers, theorists and generally Noble Ape friendly folks may appear to be a net-loss, but good-faith has been the central commodity of the Noble Ape development.

My update for Spring in the Noble Ape clothing line hasn't been too well placed. I am thinking of more catchy slogans. The success in the Spring release has been the culturally-specific bumper sticker;

Not to be understood (or spelled correctly) outside North America.


It may be beneficial to give a little background history on the brain simulation in Noble Ape.

Before Noble Ape, I wrote a lot of small simulations. As with ALESim, I had great fun with an agar simulator that evolved into the Noble Ape Simulation's brain (aka cognitive) simulation - originally two dimensional. My memory fails when the cognitive simulation became three dimensional, but I remember working on the current visualisation through late-2001 and early-2002. The next big step in the cognitive simulation was the Altivec vector porting by Sanjay Patel and Nathan Slingerland at Apple Computer and an INTEL SSE port of the same code.

A little vector versus scalar 101. Vector means a group of numbers bunched together for some reason. Coordinates in space are a good example of a vector. Scalar means just a single number. Vector in reference to the Noble Ape cognitive simulation means a particular kind of programming that allows sixteen brains to be processed at the same time. This gives a substantial speed improvement.

The introduction of state variables for the brain simulation isn't on the radar in the presented Noble Ape cognitive simulation history primarily because it is beyond the scope of boredom that even this mailout can sustain.

Brain states represent two phenomenon in the real world. The first is sleep. The sleeping brain is not the same as the awake brain. The role of sleep as a detoxification from the day produces a different set of brain function characteristics. This allows the apes to ''dream''. The second effect that brain states enable is the ability for apes to think differently. The automaton that is the Noble Ape need not mean that each ape thinks the same way. ApeScript allows for some of that too.

The diverging brain states produced a problem which I only recognised recently. The vector code requires the same brain state values but this is not tested for or aligned. So potentially sleeping apes have awaking apes brain states applied to them through the current vector code.

The solution I have been working through means that the Simulation will run (on the correct hardware) with both the vector brain processing and scalar brain processing available side by side. The brain traffic controller will take specific instances of brain states that can't be vector grouped and simulate these brain cycles with the scalar brain simulation code.


I recently wrote in the Mailout about doing Noble Ape podcasts for those not receiving their dose through the mailout or the various documentation on the site. I purchased a reasonable quality USB digital voice recorder to improve the generally lack-luster quality I found through other recording devices I owned.

I hope to have the first Noble Ape podcast online by the next Mailout. The idea of an audio mailout to replace this tired text is certainly on the radar.

Hope all is well with you all,

Tom Barbalet, 30 April 2006.

Noble Ape - Mailout Archive