NERVANA MAIL OUT - MAY 2002
Nervana 0.655 was released in early May. It contained a composite of the features promised in the last mail out. In particular, it contained the breadth of the cognitive visualisation code which shows the Noble Ape brain rotating in a virtual three dimension but the landscape images and the vectored graphs were in the same traditional Nervana Simulation format.
The discussion (monologue?) of the Nervana Simulation graphics made me think about the old Iota 0.4 source. Iota was a many-floating-windows version of the Nervana Simulation released briefly in 1997 and featured on the Project's first CD/CDROM. When I was looking to re-develop the simulation in April 2000, the Iota source was more obscure quite literally. I found a copy of the Nervana 0.32 development source (the precursor to Iota 0.4) and began porting that rather than Iota 0.4. So the Nervana Simulation has resembled the older simulation since the April 2000 development of the Nervana Simulation source.
The graphics development towards optional windows and a number of floating windows all updated simultaneously requires a substantial rewrite of display.c and control.c. It also introduces concepts like graphics and rendering pipes which are better served in a full colour environment.
On the other end of the scale the PalmOS port was proving problematic. I have a lot of code which I would like to store or CVS for the Nervana Simulation development, and in general. This source is very pre-release quality. This is talked about in the Preview discussion below. In December 2001, the Nervana Simulation core was developed so it would run on a 68000 processor. This was effectively back compatibility testing (the original Nervana Simulation ran exclusively on the 68k).
The PalmOS port requires 68k compatible code which means every component of the Simulation from the core through to the platform specific code needs to be long integer checked. The 68k doesn't handle long integers particularly well - double-floating point I am not even touching on! So what I thought would be a trivial digression actually proved a lot more challenging - particularly as the central gui code has developed quite a bit since late-2001. Similarly there are some important components which need to be reproduced over all platforms - simple things like the random number seeding and production. This has proved more challenging as the UNIX-compile of the CLE simulation produces different 'random' values from the same seed. So that proved to be a delay point and something which needs a further detailed investigation in good time.
On Windows porting etc, these are somewhat pressing concerns too. The Carbon port beta is heavily feature-stripped and it would be nice to have a Windows version available by July. This requires a dedicated Windows development environment or at least some compiler time (which may be available over the July timeframe.)
As promised, the biology component of the simulation is progressively being redeveloped. This work was not included in the 0.655 release. More about the biological simulation developments further on in the Mailout.
Since 2000, the Nervana Project has been focused on the development of the Nervana Simulation. From this technology, there have been other sideline developments like nervmake - the Nervana Project's pre-compiler. But there are no separate releases of diverging software. This hasn't been the history of the Nervana Project. Prior to 2000, there was always at least one development as well as the Nervana Simulation.
I have been developing the idea of doing a substantial set of releases in June-July of this year, partially to celebrate 6 years of the Nervana Project and partially to allow continued development of technology dating back before the Nervana Simulation. With this date looming, I have pushed some source onto the Nervana website in the Preview section. The aim of this section is to deliver the source and the development of the source to the broader community of developers. In non-release speak, it also enables me to have access to and develop my source. In recent years, this development has been a far-too-relevant issue.
http://www.nobleape.com/preview/ (Now hosted on the front of the website)
This section of the site contains a number of pieces of source code relating to programs both attached to and diverging from the Nervana Project goals. All are covered by the Nervana Project Open Source License.
Central to the preview of new software is the development of tools that enable the changes made in aspects of the site to be reflected in the main page without any delay. I have developed my own weblog program (/cle/logtrack.c) to track the current evolution of the Nervana Project in a day to day reference. I have been using the developed code, not only to maintain an active weblog, but also to embed daily changes in the front of the website. This idea of living HTML is very powerful and something which I would like to add to the website over time.
You can check out the daily updates on;
(the weblog is actively linked to the main page).
NERVANA 0.656 - work in progress
Nervana 0.656 is currently a wishlist of features evolving through the daily weblogs. The dream is to have a simple multiple window interface together with the other development points discussed last mailout (0.655). Window and Palm versions are still high priorities.
BIOLOGY ON NERVANA
In the last mailout, I talked about restructuring the biology component of the Nervana Simulation. This is a short term solution which will be built into a user-configurable biological model. The original Nervana Simulation has fifteen simulation species which are hard coded into the Simulation. The initial re-development reduces the number of species to eight. From these eight species a more intricate biological simulation model will be developed. The end integration will allow the user to select and create biological systems with any number of plant and animal species.
The logistics of implementing such a change is greatly reduced with only eight competing species. The break down of the species was discussed over the development in the source weblog.
It is a model which will speed the development and implementation process.
The Nervana Project released a program called Ecosim in 1998. It was developed as a spin off from the Nervana Simulation. It took the biological predator/prey model of the Nervana Simulation and applied a graphical front end and interactive component to it. The software was originally developed for high school students studying biological ecosystems.
Ecosim dropped off the Nervana Project development landscape in 1999 and was replaced with the virtual plans development (which shall also be released through the Preview system shortly). I thought I had lost the Ecosim code when I returned from the US in 1998 and found the compressed source stored online had been corrupted. In addition to this, I could not find the backups I had made onto 1.44Mb disks.
Since moving to Cheshire in September 2001, I have received parcels from Australia of my old possessions which had been stored since I left for the US in 1999. In mid-November, I received a collection of disks that included the old Ecosim source. The source was fractured to say the least. The source code online currently;
is not much of an improvement from the original source. However, the scrutiny of the development community can often improve source code rapidly.
The etoy is an electronic toy operating system, character generation system and development environment designed to be run on the simplest micro-controllers up to a desktop computer. The etoy is one of the more ambitious programs for the Nervana Project development model. It's early stages can be found via the preview section of the website;
It has been a busy month. I have covered a lot of what I wanted to discuss briefly. The Nervana website continues to be the best documentation and up-to-the-minute repository of information. I welcome any feedback!
Hope all is well with you all,
Tom Barbalet, 19 May 2002.