~ isle ex ~ HOME MAP NEW CONTACT

WebsideCA - Supporting Information

[Note: Cellsprings, a new applet, has replaced WebsideCA, and much of the information on this page is out of date. No attempt has been made to update this page other than to change the links that point elsewhere on the site to reflect this page's new location. Please see Isle Ex's Java home for current information.]

Description

WebsideCA is a Java applet that allows you to explore the behavior of all the CA rules featured in the CA music section of Isle Ex, and of a great many other 2D CAs besides. (What's a CA? See the CA music background info page.)

The main thing that sets WebsideCA apart from other Java 2D CA-runners (that I know of, as of this writing, etc.) is the great variety of CA rules it lets you define and run. In addition to the usual Moore neighborhood (H9) binary outer totalistic rules, the applet currently supports:

  • von Neumann neighborhood (H5) binary outer totalistic rules
  • arbitrary H5 and H9 binary rules; this puts a mind-boggling number of rules at your disposal
  • cyclic rules (a special class of nonbinary rules)
  • general nonbinary H5 rules of cellsizes 3 and 4 (these can be run but not defined in the current version)
In addition, members of another large class of nonbinary rules can be defined by merely specifying up to 254 refractory decay states for any binary lookup table. (See my CA rule reference for background on the rule definition schemes implemented by Webside.)

Another unique feature of the applet is that it will optionally chart the progress, as the CA updates, of two key demographic variables. (It is such variables that I have mapped to music elsewhere on Isle Ex. Read about it.)

Other features worthy of note include:

  • WebsideCA was written to the Java 1.0 spec and thus should (in theory) run under any browser supporting Java. (But it will run a lot better under some browsers than others. See the performance and problems sections below.)
  • The applet offers a variety of ways to seed orbits "randomly" (density control, regional randomization, perturbation, etc.).
  • The size of the CA universe, which in Webside is always closed, is selectable. Universe size is an often neglected but important codeterminant of the global properties of a finite CA. (See more on CA universes.)
I happened across the Transers rule using a development version of WebsideCA, and there must be many other gems lurking out there in the vastness of rule-space awaiting discovery. Seldom has such a noble calling beckoned the web-surfer with a little time to kill :)

Usage Notes

These notes assume at least a passing familiarity with CA concepts (such as you can obtain elsewhere on the site). Moreover, they don't provide exhaustive documentation of the applet. Instead, I have tried to concentrate on those features that might otherwise require clairvoyance to operate.

Main Panel: Orbit Initialization Subpanel

This bank of controls along the bottom margin of the main panel is for setting a CA rule and initial state. Some of its more obscure features are highlighted below.

<<Reload buttons

These buttons are handy if you've overridden the selected rule or orbit with custom settings and then want to go back to it. (That is, they exist solely to save you from having to do an embarrassing deselect/reselect 8-)

Recall button

Sets the CA rule to the last custom rule applied, in case you have loaded one of the installed rules in the interim. (Custom rules are created in the Rule Parameters Window.)

Synch checkbox

When this is checked, every time you select one of the installed rules, the orbit list is refilled with a set of one or more sample orbits for the new rule. Unchecking the box allows you to set the rule independently of the orbit. When you do this, the current state becomes the seed for the new rule. That way you can seed any rule with any state showing in the display.

State operations subpanel

This nest of five controls on the far right of the orbit init panel, together with their associated Apply>> button, are for seeding the CA interactively (as opposed to loading a file). The five controls are described below, moving clockwise from the upper left.

  1. State operations (SOs) list
    Various algorithms which seed the CA by setting cells in a centered rectangular area of the cell matrix (which area is referred to herein as the "state operation argument" or SOA). If no substate is enabled the SOA is the entire universe. The "perturb" options modify existing contents, whereas the other operations do a replacement. Note that randomizing SOs generate a unique state each time they are applied. (If for some reason you want to run two different rules starting with the same randomly-generated configuration, recover the initial state by pressing the Devolve button and then switch rules with Synch deselected.) Here's what the randomizing SOs do (the others being obvious):
    • @RandBin
      Fills the SOA with random ones and zeros, the percentage of ones being determined by another of the five SO subpanel controls.
    • @MixSeed
      Devolves the orbit (returns to the seed state) and then scrambles the cells in the SOA.
    • @Uniform
      Provides a uniform distribution of cell values - that is, roughly equal densities of each of the C (i.e., cellsize) values. It's especially useful in initializing orbits under certain "egalitarian" nonbinary rules (i.e., rules in which no cell value is "special", such as CyclicCA). Under C=2 rules, of course, it has the same effect as @RandBin/50%.
    • @Perturb+
      Increases the density of 1-valued cells by 1% of the total number of cells in the SOA (or by one cell in small SOAs). The main thing about the perturb operations is that, except for the few random cell replacements, they leave the existing CA state intact. So this is one way to go if you want to see the effect on an orbit of a small alteration in a seed state. (The other way to go would be to operate on a small SOA.)
    • @Perturb+u
      This is a perturb option along the lines of @Uniform. It increases the densities of nonzero-valued cells, rather than just the density of ones. Obviously, the results will only differ from @Perturb+ under a C > 2 rule.
    • @Perturb-
      This perturbs the state in the opposite direction from the above two options - that is, it decreases the density of nonzero cells.
  2. Percentage of 1-cells list
    Choose a density level for the @RandBin operation.
  3. Universe size list
    Choose among a set of universe sizes. The current state operation will be applied in the new universe.
  4. Enable confined operation checkbox
    Enables/disables the next control, the SOA field.
  5. State operation argument (SOA) edit field
    Here you may type in the cell dimensions (number of columns by number of rows) of a substate, formatted as a single string as per the default. If this field is enabled by the preceding checkbox, the current SO will be applied only within a rectangle of the specified size centered on the CA matrix. Note that '1x1' is a legal entry, which allows you to set a "dot" seed.

Main Panel: Status Bar

The far-left field denotes the current CA orbit using the notation Rulename[Seedstate]. A leading '@' symbol in either component designates an item created interactively (as opposed to having been loaded from a file). The left middle field reports the universe size (cols x rows), as well as the "zoom level" of the display, from 100% ("actual size" - i.e., cells are represented by single pixels) to the maximum of 500%.

Main Panel: CA Display

A couple of things to note here: (1) the cells of the CA are displayed using a consistent color map and (2) the entire universe is always shown. The display dimensions of the cells (reported on the Status Bar as a "zoom" level) is auto-adjusted to fit the display space, unless the universe is smaller than 80x48, in which case the display shrinks while the cells remain at 500% magnification.

The Rule Parameters Window

[Note: For necessary background, make sure you check out the CA rule section of the TME Reference, especially its explanation of rule groups.]

This window is actually a stripped-down rule editor. Whenever it is opened, it will be loaded with the current rule's parameters. It is a modeless window, i.e., it can remain open as you work with the main panel. If it is already open when you load a new rule into the applet, it will be updated with the newly loaded rule's parameters and pulled back to the front to display them. (But this may not work in MS IE4, as discussed below.) The idea here is to provide for a sort of "live" rule-reference, where you can easily walk through the installed rules, viewing and comparing their parameters.

But of course that's just the beginning. You can also test your own modifications to the installed rules, or create new rules from scratch. Just press the Apply button to make your custom rule the current rule. Applying a rule also "memorizes" it for later recovery during the session using the main panel Recall button. (Only one rule can be memorized at a time - each Apply overwrites the memory space.)

In the General Binary lookup-table editor, each birth/survival pair of table entries has a unique configuration of neighbor states, which are shown for the currently-selected pair via the neighbor-state checkboxes. If you change the states of these checkboxes, a different entry pair, corresponding to the new neighborhood configuration, is selected. You can also select a new entry pair by clicking on either grid with the mouse. As for table modification, you can manipulate individual entries using the Is Born? and Survives? checkboxes, which mirror the states of the selected entries.

A few words need to be said about rule codes. A numerical encoding, i.e., a conventional packed representation of a rule's lookup table, is implemented for Outer Totalistic tables and 5-hood General Binary tables. (The code formats are documented in the TME Reference.) This feature operates in two directions: the code updates as you alter the table by other means, and the table updates if you enter a new code. (Please note that in the latter case you have to press the Enter key after typing the code for it to take effect.) These codes provide a compact and unambiguous way of referring to and entering particular rules, and also can be used to make systematic changes to a table during editing.

Another feature expected to be quite useful in editing is a bit more subtle. When you change the rule group from Outer Totalistic to General Binary, the OT table is used to initialize the GB table. That is, you get the more diffuse GB representation of the OT rule. This OT to GB expansion facilitates an approach to designing rules in which one makes small nontotalistic modifications to totalistic rules, as, for example, by discriminating between N and S neighbors or between adjacent and opposite neighbor-pairs.

The Demographics Viewer

To record the demographic history of a CA, have the demographics viewer (DV) open when you start the evolution. It need not have focus, however, and in fact the evolution will run faster if the DV is in the background. You can then bring it to the front as desired for viewing. Note that the DV is resizable, and should rescale appropriately if you manually resize it. You can also open the DV at any point into the CA orbit, and it will record from that point on. This is useful if you want to examine a region well into the orbit without having the horizontal scale compressed. Finally, if you change CAs while the DV is open, it will reinitialize in preparation for recording the new orbit.

Keyboard Shortcuts

Main Panel

ButtonEquivalent Key
Go!/Stop] (right square bracket)
Devolve[ (left square bracket)
Apply>>= (equal sign)
Note to MSIE users: It has recently come to my attention that in some versions of IE the above keys won't work if a dropdown list currently has focus (i.e., is highlighted). Clicking somewhere else (such as the button equivalent of the key, or the CA display) will move the focus and re-enable the keys.

Rule Parameters Window

While editing General Binary rules, as long as the table-grids have the focus (click anywhere on the grid), the cursor keys (i.e., the arrow keys and Home, End, PageUp, PageDown) provide another method for getting around the table. As for table modification, the birth or survival state can be toggled for the currently selected neighbor-state position by pressing the B or S key respectively.

Content Notes

[Version 1.01 update: WebsideCA now has 28 CA rules pre-installed for your exploration, including 7 rules that were not in the original installation. I've provided info on the new rules at the end of the section, leaving the preliminary-version discussion largely intact.]

As part of my Transmusical Experiments Reference, I have already posted information on some of the most important of the installed rules, and I won't duplicate that material here. Moreover, the applet itself constitutes a rule-parameter reference, as mentioned above, so there is no need for me to reiterate the bare rule definitions. I would, however, like to make some general comments about some of the rules that aren't listed in the TME Reference.

Transers

In the process of developing WebsideCA, I ran across this terrific rule in the BOT-with-decay family. As far as I know it has not been described elsewhere, but please let me know if I am mistaken. I've never seen a rule with so many distinctive entities that occur "in the wild", with remarkable inter-entity transformations. Besides various sorts of gliders, some of which reflect upon collision, there are an abundance of naturally-occurring glider-stream generators and editors (as I call them...a stream passes in one side and a different stream passes out the other...sometimes it passes out in a different direction.) The degree to which Transers is like a self-organized erector set is amazing. Many of the sorts of objects that people build with great contrivance in Conway's Life occur here for free.

Mind you, unlike many BOTD rules, Transers is not just a pale imitation of Brain, for it is populated with many fixed entities, and in general is less chaotic yet more varied than Brain, with fewer "species" but more "phyla" in its "natural history".

Swirl

[In early 2001 as I update the links to Scott Ladd's site, I hasten to refer the reader to the above disclaimer about the "deprecated" nature of the info on this page. Apropos of the present entry, rules similar to Swirl have been discovered. See especially Pinwheels and Cyclones in my new applet Cellsprings.]

I learned of this intriguing rule at Scott Robert Ladd's site. (His LifeBox applet runs CAs.) Ladd informs me that, as far as he knows, he is the rule's discoverer.

Swirl is unique in my experience for its self-organized rotating structures. While spirals of one kind and another tend to be common in CAs (see the CyclicCAs and Cyclish), Swirl's whirlers seem a breed apart because of their discrete nature - isolated "whirlpools" in an otherwise dead sea. There are two sizes of whirlpools that occur regularly. Ladd calls the smaller the "swirlpool" and the larger the "flamewhirl". Also there is a glider with a flickering tail which Ladd aptly refers to as a fire or flame glider.

The most peculiar object I've seen appear spontaneously in Swirl is one I've been calling the "swirlybird". It's a glider that sends out two mutually annihilating swirlpools with each flap of its "wings". It doesn't last very long in a closed universe, though, because it runs afoul (afowl?) of its own, er, droppings. (It's hard to resist seeing a moral in that.)

The Sierpinski rules

A number of the rules generate various Sierpinski gasket-oids, as discussed in connection with FractalBeads in the TME Reference. Besides FractalBeads, WebsideCA features Springski, Fallski, Simpliski, and the Pinskilator. Simpliski is the only one I actually adapted from a reference, the others were originally generated at random with my DOS software. I subsequently simplified the tables of all except the Pinskilator to their bare essences. I haven't done anything with the Pinskilator, because my software doesn't yet support viewing or manipulating the individual entries of general nonbinary tables.

Cyclic rules

Besides the classic parameter set for the Cyclic CA described in the TME Reference, I've installed two others. The names I've used go "Cyclic<hoodsize><threshold>-<cellsize>". Cyclic51-10 is a trivial variation, chosen in order to get the self-organization to occur in a smaller universe. (Small is good if you're impatient. Watch a few runs in the demographics viewer and see the delta-density soar above 80%. For the 80x48 universe, it usually it ends up at 100%, meaning every cell is changing value on each step. As a consequence, cyclic spells s-l-o-w...in Java, anyway.)

Cyclic93-3 is a very interesting rule in its own right, and another good one for demographics-watching, where its virtues as an oscillator can be easily appreciated.

Fireworks, Cyclish, Slugfest, and all that

These are all "my" rules, but the concepts of the first two are, I think, pretty standard, and Slugfest's table, randomly generated, desperately needs to be cleaned up (please volunteer). Cyclish is of course so named because of its resemblance to the "true" Cyclic CA.

Anneal

This classic rule was discovered by Gérard Vichniac. It is also known in some quarters as "Vote", but it constitutes a rather peculiar election formula in that a slight sub-majority wins over a small majority. This variation helps break down the "gridlock" that occurs with straightforward majority rule. (Here's some fun: change the table in the rule-editor so that a cell strictly follows the state of the neighborhood majority, and note the difference.)

Anneal is a more interesting rule than first meets the eye. Try it with multiple uniformly-distributed starts to better appreciate it. If you're lucky, you might get an orbit with an especially long transient, or one of the even rarer cases with a very long end cycle. These orbits, marked by diagonal banding, can be captured more readily in the small 35x21 universe. (I'm no topologist, but I guess the band is sort of a helix on the surface of the torus - like a barber-pole stripe with one turn, but where the barber "pole" has been bent into a ring.)

Speaking of barber poles, I once saw an orbit in which one of these helicoid structures was not in a fixed position, but instead perpetually rotated around the torus. Unfortunately, I failed to save the initial state, not realizing how rare it was. I've not been able to find another such orbit via manual shuffling. Looks like a job for a search program. Of course, if you were going to take the trouble to write such a program, you might as well equip it to do more extensive state-transition mapping. (More openings for volunteers.)

That's my big-one-that-got-away story. I imagine that anyone who's played with CAs for a while has one.

General nonbinary rules

For a given hoodsize (H) and cellsize (C) there exists an exhaustive tabular representation containing CH entries. WebsideCA currently supports only H5C3 and H5C4 tables, and you can't edit the tables.

There are presently four of these rules installed. Besides Pinskilator, which has already been mentioned in connection with the other Sierpinski rules, there are Wired, Rewrite, and Sisypharm. All of these rules were encountered in my DOS software using its brute table-randomization facilities, and, as such, need to be "cleaned" up, but I haven't yet written a proper table-editor for this rule group.

Version 1.0 additions

Featured in the version 1.0 installation are six rules that were not in the preliminary versions, and many new orbits. Most of the new rules were recently discovered by Mirek Wójtowicz (see annotated link below). For now, I have selected just four of my favorites from among Mirek's many discoveries. These four, itemized below, are all in the totalistic-with-decay class of rules ("Brain family").

As for orbits, in addition to installing various simple seeds as is my wont, I've imported a few patterns of the more "engineered" variety. These patterns shipped with Mirek's Win32 program MCell, and, to give credit where credit is due, the corresponding seed-states in my applet are all named 'MCell' suffixed by a collating number. The descriptions that accompanied the imported patterns attributed their construction to either Mirek himself or, in the case of the two patterns for Conway's Life, to no one. Please be aware that these imported orbits offer but a small taste of the huge number Mirek has assembled.

MirekGro

At the risk of offending devotees, this is what I'm half-seriously calling the rule Mirek dubbed 'Star Wars'. The substitution saves my American ears - which, owing to overexposure to our own fakery, have become hypersensitive - from having to hear myself use a hackneyed Hollywood name to denote a fresh and important CA rule. (Mirek is Polish so he wouldn't have this problem.) If I'm going to contribute to the export of my native market-hype, I'd rather it were with a heavy dose of irony and wordplay. And nothing warlike, if possible - I don't care to add to that particular trade surplus. Anyway, I figure Mirek can't object, since I renamed the rule after him...er, sort of.)

MirekGro is especially suited to "engineering" projects in the tradition of Conway's Life. In particular, it's notable for the abundance, intricacy, and variety of its glider guns, which both occur "naturally" and can be designed to arbitrary specifications. Although still in the dawn of its publicity, MirekGro already seems to have attracted a considerable following, with Mirek and other MCell users busy at work creating extensive pattern libraries for the rule.

Of course, the immortal Brain rule - the intellectual progenitor of other BOTD rules such as MirekGro - abounds in glider guns also, but they are themselves all gliders. Indeed, the cynic might say that a lot of the buzz around MirekGro boils down to the fact that its guns, while Brain-like in other respects, tend to stay where you put them. Diehard Brain fans such as myself may find ourselves vaguely troubled by this partial domestication. If MirekGro is "Brain on meds", then the treatment may, as it often does in the physical case, involve more loss than gain. (Or perhaps more accurately, loss misinterpreted as gain.) One might hazard a hope that someday CA engineers will instead learn to go with Brain's flow, designing novel contraptions made only of interacting glider streams.

However, while I appreciate engineering works, they're not really my cup of tea. I'm more interested in spontaneity, emergence, whatever you want to call it. That is, I'm most intrigued by CAs that do something interesting with a minimum of contrivance. Hence, my own sample orbits tend to begin with either random or simple seeds. From this "something for nothing" perspective, MirekGro is similar to Transers, its close relative. There are, however, important differences, perhaps the most obvious being that MirekGro tends to build shifting skeletal structures. Transers, on the other hand, seems to particularly favor the emergence of "editors" - those tiny widgets that both emit and absorb gliders (or "laser beams"). Also, in general, the self-organized objects in the Transers world seem to be more distinct from one another.

A methodical comparison of these two rules, whether empirical or analytical, might also take note of their undescribed cousins in the family designated by the following matrix.

Birth6=0Birth6=1
Cellsize=4(1) MirekGro(2) [unnamed]
Cellsize=5(3) [unnamed](4) Transers

These four rules are by no means equivalent. Just for example, try running each of them starting with the '2x2ecc' seed. Cool, huh?

Pictures, Nova, Worms

These are the other rules of Mirek's I've added. They are all cool rules, with distinctive features. The first two are especially intriguing. Rather than blabbing on about them here, though, I'll just let the examples speak for themselves in the applet.

Sticks

When I installed this rule I thought it was one of Mirek's, but I now see he attributes it to Rudy Rucker. Anyway, it's also a totalistic-with-decay rule. Its main distinction is that it tends to build a variety of linear structures.

Meteorama

Like Slugfest, this is a rule I encountered some years ago while engaged in the relaxing pastime of rule-table shuffling. Also like Slugfest, it is (1) a Moore general binary (with decay) rule, and (2) badly needs to be "cleaned up".

SediMental

This new rule in the Brain family is included in the version 1.01 installation. I encountered it recently while working on WCA's successor. From a random seed state of 30% ones, it tends to form stable "islands", with active coastlines and fascinating inter-island "commerce". But an orbit's fate is quite sensitive to the starting percentage. Below 25% or so the world remains sparsely Brain-like, whereas somewhere above 30% the islands begin to accrete into larger "landmasses", so that by 40% you nearly always end up with a single huge "continent".

As for simple seeds, they often lead to surprising results. And the rule clearly has great potential from the "engineering" standpoint.

Global content issues

Many of these rules - for example, Brain, Transers, Swirl, and the Cyclic rules - will not have been properly experienced until you have run a number of trials using "random" initial states. A good baseline seed is the 15 or 30 percent 1-cells option, or, for some rules, the uniform distribution option. Experiment!

The sample orbits are something of an unsystematic grab bag - whatever happened to strike my fancy or seemed illustrative of something. The random starts have often (e.g., with Brain, Transers) been selected for the sake of their end results, which may take some waiting. There's a Transers orbit like that, where something happens well after you might figure it's locked in its terminal cycle. Surprise! Now it's done.

The other seed type for which WebsideCA shows a fondness is the "simple" variety, which is a deliberately vague term, but you know it when you see it. The simplest of simple seeds is of course the ever-popular single 1-valued cell (aka Dot). In the case of those rules for which Dot is a font of plenty rather than a bust, I have usually included it among the examples. But again, experiment!

For CA music lovers only: Preliminary tests indicate that many of the rules described in this section have great musical promise, among them Transers, Swirl, and Cyclic93-3.

Performance Benchmarks

[Version 1.0 note: Since the applet's "CA engine" hasn't changed since the first version, this v0.8 material should still be valid. Of course, the browsers have marched on.]

An inadvertent side-benefit of Webside's update speed readout feature is the informal performance measure of your Java environment it can provide. Below I list a few rates achieved on my own modest system, for comparison purposes. As you can see, HotJava is the winner overall, though Netscape equals it for many CAs. As is to be expected, each CA taxes a different mix of resources.

CA Orbit Netscape 4.05HotJava 1.1.4Microsoft 4.01
RuleSeedStep #
LifeGliderGun> 240 36+ Hz 36+ Hz 36+ Hz
Annealc2u0> 200 45-52 Hz 45-52 Hz 40-45 Hz
BrainBrood> 350 24.1-24.4 Hz 24.1-24.4 Hz 15.2-15.3 Hz
Cyclic51-12c12> 160 7.3 Hz 7.3 Hz 3.1-3.2 Hz
Cyclic93-3c3c> 400 14.5-15.3 Hz 22.7-24.4 Hz 13.0-13.5 Hz
Pinskilatorx1y0> 200 8.1 Hz 9.1 Hz 6.1 Hz
System: AMD K5 PR-133, ATI VideoXpression+ 2MB (800x600x24bit mode), Windows 95

Known Problems

[Version 1.0 note: The first several entries were seen under v0.8. Those which haven't been re-encountered are presumed to still occur under the right...or rather, wrong...conditions, since the changes shouldn't have affected them.]

Most of the infelicities of which I'm aware have only been observed under particular Java implementations. No doubt other such implementation-specific bugs will turn up, since I've only been able to test a few OS/browser/version combos. (What doesn't seem to have been adequately anticipated for this otherwise brilliantly conceived language is that its reliability would be at the mercy of sundry 3rd party implementations. However, things are definitely improving on that front, and I for one am rooting for the language, because from the coding standpoint it makes C++ feel almost as clunky as FORTRAN, and I haven't wanted to go back.)

IE4 popup-window issues

Description

(a) The Rule Parameters Window and Demographics Viewer (DV) usually don't move to the front when they're supposed to.

(b) There might be null pointer exceptions when the DV opens while a CA is running. (Not sure about this one because I haven't seen it since I reverted to Sun's Java 1.0 compiler.)

MS's AWT threads seem to take their own sweet time servicing requests and I surmise that these two problems stem from that behavior. (Ideally I would purge any implicit expectations as to AWT timing from my code, but that would involve global restructuring of threaded-execution logic that I'm not inclined to tackle at the moment.)

Work-arounds

(a) You'll have to bring the windows to the front manually using the taskbar (or whatever).

(b) If opening the DV freezes CA evolution, close the DV and in the future only open it when the evolution is paused, at least for fast CAs. Once it's open you can start the evolution going again and bring the DV to the front as desired without having to pause.

Sudden slowness

Description

In IE 3.0 / Win95, if you move the mouse around while the CA is running, it slows down and doesn't speed back up when you stop moving the mouse.

Work-around

If you do want to do something with the mouse, Stop the CA, do your thing, then Go! again. But if you should still inadvertently "enable" the sluggishness, it seems to be curable by Stoping and then Go!ing again.

Rule load failure

Description

This is a Netscape thing. For reasons that are obscure to me at the moment, a few rule files (the general nonbinary rules and sometimes Fallski) don't load properly off the network, but load fine from cache. Assuming you're running the applet from the Isle Ex installation, you'll know this bug has bitten if you get an error box saying that the CAR lookup table size is invalid.

Actually, I've built a work-around into the code that eliminates this problem (from the users perspective) on most systems. But for the infamous Netscape3/Mac Java the fix is only partially successful. If you should encounter this problem using something else, let me know.

Work-around

Press the rule (i.e., leftmost) <<Reload button. The second load attempt will usually work.

Rule parameter window layout

These are minor annoyances. Some early Javas don't size this window as requested (or the demographics viewer either). They come up too big. No big deal. More annoying is another IE3/Win95 thing: for general binary rules, the neighbor labels don't line up directly over their respective checkboxes. However, the problem isn't fatal - you can tell which labels go with which boxes.

Blank CA on startup

So far this has only been reported under the Netscape/Mac Java. The default CA will still run on pressing Go!, however.

Demographics overrun

This problem is an exception to the "implementation specific" rule, but the Isle Ex installation avoids it. I mention it only because some of you may run the applet offline and load your own files. If you do so, one of the things you should know is that the universe size limit for the proper operation of the demographics feature is presently less than that for the rest of the program. For CAs whose demographics you want to track, the GIF files you load shouldn't exceed about 32000 pixels.

CA display "bleeds" outside of canvas

This mysterious problem was reported under Apple's MRJ 2.1.4 (the current version as I write this) - but only when using the standalone Applet Runner, not MSIE. It seems that sometimes after you Apply a custom rule, when you press GO! the new CA's display is messed up, with "cells" straying outside the universe display.

The work-around is to hit the Devolve button. This reportedly fixes the display if it's already messed up, and also acts as a preventative if you click it before pressing GO!.

BTW, the recent MRJ, despite this problem, is by all accounts much the best Mac Java - or maybe I should say that, as far as I've seen, it's the only Mac Java.

Preset-loading "hangs"

Unlike the other entries, this one doesn't have anything to do with the Java environment on the client - it's a server problem. Regrettably, the servers hosting my new domain have so far been spotty in performance at best.

The presenting symptoms are that sometimes when you select a new rule or orbit it seems to hang, while the "LOADING..." message displays in the upper left corner of the main panel (you should also get a "waiting" mouse cursor). This can be a bit disconcerting.

I can only say that anytime this has happened to me, the CA has eventually loaded. You can move the cursor off the applet and do other things, but refrain from clicking applet controls in desperation, tempting though it may be. (I guess I need a cancel function, requiring my own loading thread. Ah, well, maybe next edition.)

Hourglass cursor persists after loading

This was noted using Netscape 4.08 on Windows - I'm not sure what other environments it may apply to. The problem is that the hourglass cursor doesn't revert to the arrow until you move the mouse. The solution is to move the mouse :) Also, take note of the other feedback mechanism, namely the "LOADING..." message at the upper left of the main panel.

Main panel keyboard shortcuts sometimes don't work

This is another IE4 thing just noticed. The dropdown lists seem to hog all the regular keyboard keys when they have the focus, for use in matching items. (Never mind that the character is nowhere in the list, the keypress will still be eaten instead of being passed up the chain.) I may look into a possible work-around at the programming level, but meanwhile, if you click somewhere else to remove the focus from the list you can use the shortcut keys again.

Version History

1.01, November 15, 1999.
Minor maintenance revision.
  • Removed the popup orientation tip, it having just come to my attention that for some visitors the box was popping up repeatedly. Turns out certain browsers reinitialize the applet at a time when only a restart is expected (such as returning to the page via the browser's back button). Anyway, that lame popup would probably be an annoyance for repeat visitors even without the hyperactivity, so I substituted an HTML version of the tip that speaks only when spoken to.
  • Added a new rule, SediMental, to the installation.
  • [6-Dec-99] Today I made some minor changes to the orbit presets, mainly for SediMental and Transers. I also changed the former's name to mixed case, so as to emphasize the allusion to Brain. The applet's executable code hasn't changed.
1.0 beta, September 1, 1999.
Significant revision.
  • Complete overhaul of the rule/state init panel
    • More convenient navigation among rules and sample orbits. The burgeoning number of presets could no longer be accommodated comfortably by the original simple linear list scheme, so I switched to a dendritic organizational model.
    • The controls for setting initial states are both more powerful and more convenient owing to the parallelism afforded by multiple controls (Again, formerly there was just a linear multipurpose list of states and operations.) Of course, things are still a bit clunky, but considering the amount of screen real estate we have to work with, we're doing pretty well. Improvements include:
      • separate universe-size control
      • many more random density levels
      • ability to specify an arbitrary rectangular SOA
      • improved perturbation operations
      • keyboard shortcut
  • Changed the main panel hot keys to avoid conflicts.
  • Added a popup orientation tip that greets you when you load the applet.
  • Enhanced the presets (these are a feature of the installation rather than the applet proper but who's got time for quibbles).
    • Added six new rules (see itemization above).
    • Replaced some sample orbits and installed additional ones.
    • Renamed a couple of the existing rules and many of the states.
0.81, May 2, 1999.
Minor maintenance revision.
  • Packaged the applet's classes, changing a few class names in the process. These changes won't affect end-use, but were needed to properly accommodate future applets and other Java programs.
  • Added a few substate sizes to the SOA drop-down list.
  • Repositioned the 1-valued cell in two of the four 'Dot' states (used for setting the universe size), for consistency with the other two states and with substate positioning (re: the previous item). The seed cell is now always centered according to the famous formula i = (size - 1) / 2, where i is a zero-based index and any remainder of the division is dropped.
  • Made a few other changes too trivial to mention.
0.80, August 16, 1998.
Initial deployment.

Related Links

The following are some annotated links to Web-based CA resources that I have found especially interesting and/or useful. The list is very far from exhaustive, the selection being limited partly by the chaotic trajectory of my own surfing activity. The sites are presented in no particular order.
Exploring Emergence
Mitchel Resnick and Brian Silverman (the discoverer of the immortal Brain rule) have created an excellent Java-based active essay on complexity concepts, which uses several CA rules for illustration. Highly recommended as an accessible hands-on way to quickly build the conceptual background for getting more out of WebsideCA.
Stephen Wolfram's CA Papers
Landmark articles by one of the leading lights in CA research. These are technical treatments, but more accessible than most such. I'm living proof that a non-mathematician can get something from them. Also, Wolfram's well-implemented HTML is an example others would do well to emulate for the format of online research articles.
Alan Hensel's Life applet
For Conway's Life exploration, the conventional wisdom is "the bigger and faster the better". And here's the biggest and the fastest kid on the block, hands down. It's fitted with a rich assortment of cell-patterns, and, though it's geared to Life, it will also run most other rules of the standard H9 BOT persuasion. Very impressive.
Paul's Page of Conway's Life Miscellany
This site features a very convenient catalogue of Java-animated Life patterns that Paul Callahan created from Hensel's collection. Callahan's applet is actually more than just an animator, though - it's an innovative little Life simulator in its own right. And there's much else to interest the CA-tician in his "miscellany".
Scott Robert Ladd's LifeBox applet
This visually appealing CA applet by an expert Java programmer and author is home to the Swirl rule. LifeBox also runs many other rules, specifically, in my parlance, any H9 BOTD rule of cellsize 8 or less. Ladd's site also features a number of other intriguing applets in the complexity studies vein.
Mirek's Cellebration
As I add this link in the summer of '99, Mirek Wójtowicz, using his excellent Win32 program MCell, has been exploring CA rules at a feverish pace. His efforts have yielded some valuable Web resources, including an extensive rule catalogue and a corresponding gallery of representative states. While most of these rules have not been installed into WebsideCA, a goodly number can be entered manually. Rules in Mirek's "Life" and "Generations" groups are particularly straightforward to enter. Fall update: Mirek has recently written an applet. At the moment, its main claim to fame is its very large number of installed rules.
Schaller's CAOS applet
Martin Schaller, a doctoral student at CERN, has posted the best applet I've seen for running one-dimensional CAs. 1-D CAs offer much of the behavioral richness of 2-D CAs in a simpler model, making it possible to view whole CA histories at a glance. But seeing is believing, so load CAOS and set the display to Size=1/Flow=scroll and the rule group to Sites=5/Rule=symmetric, making sure that Init=random. Wow! An extraordinary world of interacting gliders. Now explore other 5-site symmetric rules by toggling rule-bits along the right side (only some of which are enabled, because of the symmetry). You should find some more terrific rules in no time. Great stuff.
The Primordial Soup Kitchen
The website of David Griffeath, an expert on self-organization in CAs and discoverer of the quintessential CA in that regard, the Cyclic CA. Of the sites I've visited, this one takes the "CA central" honors. A huge amount of CA lore reposes here (far more than I myself have found time to examine). Besides providing details, often Java-activated, of Griffeath's own cutting-edge research, the site keeps abreast of sundry CA-oriented developments across the Web.
~ isle ex ~ HOME MAP NEW CONTACT PAGETOP


Page created 16-Aug-1998.  See map for file modification date.