[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
intros
From: |
Ginger Booth |
Subject: |
intros |
Date: |
Thu, 14 Dec 95 12:01:37 EST |
Hi, I'm Ginger Booth. Officially, I'm systems manager of a small
HP/Sun/SGI (7-10, depending) Unix computing lab located in the Yale Biology
Dept. Systems manager includes webmaster and assisting all-comers research.
My other hat is as a research programmer implementing simulators for two
professors who are not programmers.
On Swarm, I'm working on an ecosystem simulator, called Gecko. We have
some Web stuff for the last incarnation of this, based on Echo:
http://peaplant.biology.yale.edu:8001/
Our reasons for moving to Swarm were several-fold, one of the most crucial
being that we needed a 2-d floating topology, instead of Echo's 1-d rings, to
model agent interactions, as we found that movement patterns were crucial to
ecosystem stability, thus modeling them in 1-d wasn't sensible. Unlike most
of the current Swarm applications, I don't use lattice/CA topology, so have
built my own--circles scattered across a plain, overlapping arbitrarily. This
is fairly raw yet--just a proof-of-concept. I intend to basically tear it
down and build it right based on what I've learned, after Swarm's statistics
gathering and experiment control mechanisms are in place. In the meantime,
I still have a few more ideas to iron out.
Misc advice for the newcomers:
1. Never ignore a compiler warning. Yes, it's hard to find them as gobs of
messages scroll by.... But read and heed them all.
2. Nelson says the book on NEXTstep Objective-C programming is worth having,
even though it doesn't match our dialect. I got Pinson & Wiener's book. It
hasn't been useful. I learned by monkey-see-monkey-do, but don't recommend it.
3. Protocols are a way of setting up inheritance at the verb rather than noun
level. Like, this class isn't a subclass of that one data-wise, but
behavior-wise. I would have done things differently had I realized earlier
that the language had this feature.
4. To set a message with multiple arguments, for example:
[simActions createActionTo: landRoot
message: $m(feedTree:On:) : plantRoot : (id)plantcycle];
does: [landRoot -feedTree: plantRoot On: plantcycle];
Welcome aboard!
Ginger Booth, Center for Computational Ecology
Yale Institute for Biospheric Studies