Administrator
|
Has anyone tried Ruby on Rails? I'd be interested in any experiences/
opinions. One interest I have is not just Ruby but the new JVM "agile" systems like Groovy which are building their own Rails systems. Natch Groovy is using Grails as the name! -- Owen Owen Densmore http://backspaces.net - http://redfish.com - http://friam.org |
Ruby on Rails is awesome. I haven't seen Groovy, but there's a similar
thing in Python called TurboGears. On 11/20/05, Owen Densmore <owen at backspaces.net> wrote: > Has anyone tried Ruby on Rails? I'd be interested in any experiences/ > opinions. > > One interest I have is not just Ruby but the new JVM "agile" systems > like Groovy which are building their own Rails systems. Natch Groovy > is using Grails as the name! > > -- Owen > > Owen Densmore > http://backspaces.net - http://redfish.com - http://friam.org > > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org > -- Giles Bowkett = Giles Goat Boy http://www.gilesgoatboy.org/ |
What's it for? The website indicates its for website development, but
unless that's what you do for a living, is it of interest? For instance is it useful for doing simulations? Cheers On Sun, Nov 20, 2005 at 05:06:37PM -0700, Giles Bowkett wrote: > Ruby on Rails is awesome. I haven't seen Groovy, but there's a similar > thing in Python called TurboGears. > > On 11/20/05, Owen Densmore <owen at backspaces.net> wrote: > > Has anyone tried Ruby on Rails? I'd be interested in any experiences/ > > opinions. > > > > One interest I have is not just Ruby but the new JVM "agile" systems > > like Groovy which are building their own Rails systems. Natch Groovy > > is using Grails as the name! > > > > -- Owen > > > > Owen Densmore > > http://backspaces.net - http://redfish.com - http://friam.org > > > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org > > > > > -- > Giles Bowkett = Giles Goat Boy > http://www.gilesgoatboy.org/ > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org -- *PS: A number of people ask me about the attachment to my email, which is of type "application/pgp-signature". Don't worry, it is not a virus. It is an electronic signature, that may be used to verify this email came from me if you have PGP or GPG installed. Otherwise, you may safely ignore this attachment. ---------------------------------------------------------------------------- A/Prof Russell Standish Phone 8308 3119 (mobile) Mathematics 0425 253119 (") UNSW SYDNEY 2052 R.Standish at unsw.edu.au Australia http://parallel.hpc.unsw.edu.au/rks International prefix +612, Interstate prefix 02 ---------------------------------------------------------------------------- |
Russell Standish wrote: >What's it for? The website indicates its for website development, but >unless that's what you do for a living, is it of interest? For >instance is it useful for doing simulations? > >Cheers > > Well, Ruby probably is. Out of curiosity, how many people here do simulations in a high level language (e.g. Java or C++) vs. a very high level language (like Ruby, Python or perl)? - Martin |
C++
--Doug On 11/20/05, Martin C. Martin <martin at metahuman.org> wrote: > > > > Russell Standish wrote: > > >What's it for? The website indicates its for website development, but > >unless that's what you do for a living, is it of interest? For > >instance is it useful for doing simulations? > > > >Cheers > > > > > > Well, Ruby probably is. > > Out of curiosity, how many people here do simulations in a high level > language (e.g. Java or C++) vs. a very high level language (like Ruby, > Python or perl)? > > - Martin > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > -- Doug Roberts 505-455-7333 - Office 505-670-8195 - Cell -------------- next part -------------- An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051120/3ea3f92d/attachment.htm |
In reply to this post by Martin C. Martin
For me its C++, scripted with TCL (gives a best-of-both-worlds
approach). I rarely write a standalone C++ program these days - inevitably, its a plug in module for the EcoLab system. Cheers On Sun, Nov 20, 2005 at 08:46:39PM -0500, Martin C. Martin wrote: > > > Russell Standish wrote: > > >What's it for? The website indicates its for website development, but > >unless that's what you do for a living, is it of interest? For > >instance is it useful for doing simulations? > > > >Cheers > > > > > > Well, Ruby probably is. > > Out of curiosity, how many people here do simulations in a high level > language (e.g. Java or C++) vs. a very high level language (like Ruby, > Python or perl)? > > - Martin > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org -- *PS: A number of people ask me about the attachment to my email, which is of type "application/pgp-signature". Don't worry, it is not a virus. It is an electronic signature, that may be used to verify this email came from me if you have PGP or GPG installed. Otherwise, you may safely ignore this attachment. ---------------------------------------------------------------------------- A/Prof Russell Standish Phone 8308 3119 (mobile) Mathematics 0425 253119 (") UNSW SYDNEY 2052 R.Standish at unsw.edu.au Australia http://parallel.hpc.unsw.edu.au/rks International prefix +612, Interstate prefix 02 ---------------------------------------------------------------------------- |
Mine are "plugins" to MPI.
;-} --Doug On 11/20/05, Russell Standish <r.standish at unsw.edu.au> wrote: > > For me its C++, scripted with TCL (gives a best-of-both-worlds > approach). I rarely write a standalone C++ program these days - > inevitably, its a plug in module for the EcoLab system. > > Cheers > > On Sun, Nov 20, 2005 at 08:46:39PM -0500, Martin C. Martin wrote: > > > > > > Russell Standish wrote: > > > > >What's it for? The website indicates its for website development, but > > >unless that's what you do for a living, is it of interest? For > > >instance is it useful for doing simulations? > > > > > >Cheers > > > > > > > > > > Well, Ruby probably is. > > > > Out of curiosity, how many people here do simulations in a high level > > language (e.g. Java or C++) vs. a very high level language (like Ruby, > > Python or perl)? > > > > - Martin > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > > -- > *PS: A number of people ask me about the attachment to my email, which > is of type "application/pgp-signature". Don't worry, it is not a > virus. It is an electronic signature, that may be used to verify this > email came from me if you have PGP or GPG installed. Otherwise, you > may safely ignore this attachment. > > > ---------------------------------------------------------------------------- > A/Prof Russell Standish Phone 8308 3119 (mobile) > Mathematics 0425 253119 (") > UNSW SYDNEY 2052 R.Standish at unsw.edu.au > Australia http://parallel.hpc.unsw.edu.au/rks > International prefix +612, Interstate prefix 02 > > ---------------------------------------------------------------------------- > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > -- Doug Roberts 505-455-7333 - Office 505-670-8195 - Cell -------------- next part -------------- An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051120/5db2ab72/attachment-0001.htm |
Straight MPI is very low level. EcoLab also supports MPI programming,
where C++ objects can be easily thrown around between processes - it will even automatically migrate your objects to implement dynamic load balancing. Cheers On Sun, Nov 20, 2005 at 07:47:12PM -0700, Douglas Roberts wrote: > Mine are "plugins" to MPI. > > ;-} > > --Doug > > > > On 11/20/05, Russell Standish <r.standish at unsw.edu.au> wrote: > > > > For me its C++, scripted with TCL (gives a best-of-both-worlds > > approach). I rarely write a standalone C++ program these days - > > inevitably, its a plug in module for the EcoLab system. > > > > Cheers > > > > On Sun, Nov 20, 2005 at 08:46:39PM -0500, Martin C. Martin wrote: > > > > > > > > > Russell Standish wrote: > > > > > > >What's it for? The website indicates its for website development, but > > > >unless that's what you do for a living, is it of interest? For > > > >instance is it useful for doing simulations? > > > > > > > >Cheers > > > > > > > > > > > > > > Well, Ruby probably is. > > > > > > Out of curiosity, how many people here do simulations in a high level > > > language (e.g. Java or C++) vs. a very high level language (like Ruby, > > > Python or perl)? > > > > > > - Martin > > > > > > > > > ============================================================ > > > FRIAM Applied Complexity Group listserv > > > Meets Fridays 9a-11:30 at Mission Cafe > > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > http://www.friam.org > > > > -- > > *PS: A number of people ask me about the attachment to my email, which > > is of type "application/pgp-signature". Don't worry, it is not a > > virus. It is an electronic signature, that may be used to verify this > > email came from me if you have PGP or GPG installed. Otherwise, you > > may safely ignore this attachment. > > > > > > ---------------------------------------------------------------------------- > > A/Prof Russell Standish Phone 8308 3119 (mobile) > > Mathematics 0425 253119 (") > > UNSW SYDNEY 2052 R.Standish at unsw.edu.au > > Australia http://parallel.hpc.unsw.edu.au/rks > > International prefix +612, Interstate prefix 02 > > > > ---------------------------------------------------------------------------- > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > http://www.friam.org > > > > > > -- > Doug Roberts > 505-455-7333 - Office > 505-670-8195 - Cell > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org -- *PS: A number of people ask me about the attachment to my email, which is of type "application/pgp-signature". Don't worry, it is not a virus. It is an electronic signature, that may be used to verify this email came from me if you have PGP or GPG installed. Otherwise, you may safely ignore this attachment. ---------------------------------------------------------------------------- A/Prof Russell Standish Phone 8308 3119 (mobile) Mathematics 0425 253119 (") UNSW SYDNEY 2052 R.Standish at unsw.edu.au Australia http://parallel.hpc.unsw.edu.au/rks International prefix +612, Interstate prefix 02 ---------------------------------------------------------------------------- |
Sounds like it would be worth looking at. We have also developed our own API
to MPI which is not so low-level. It is specific to our particular class of agent based simulations, but it has worked for us for about 10 years now. (Long time, I know, but we still use it.) Efficient solutions to load balancing requirements are pretty application-specific, in my experience. I need to look at EcoLab to see what they offer in this regard. Our applications frequently need to move whole chunks of a social network, and not just single agents between distributed processors to effectively load balance the application. Our load balancing parameters include inter-processor bandwidth, cpu load, cpu memory (and cpu memory bandwidth), cpu clock, etc.. --Doug On 11/20/05, Russell Standish <r.standish at unsw.edu.au> wrote: > > Straight MPI is very low level. EcoLab also supports MPI programming, > where C++ objects can be easily thrown around between processes - it will > even automatically migrate your objects to implement dynamic load > balancing. > > Cheers > > On Sun, Nov 20, 2005 at 07:47:12PM -0700, Douglas Roberts wrote: > > Mine are "plugins" to MPI. > > > > ;-} > > > > --Doug > > > > > > > > On 11/20/05, Russell Standish <r.standish at unsw.edu.au> wrote: > > > > > > For me its C++, scripted with TCL (gives a best-of-both-worlds > > > approach). I rarely write a standalone C++ program these days - > > > inevitably, its a plug in module for the EcoLab system. > > > > > > Cheers > > > > > > On Sun, Nov 20, 2005 at 08:46:39PM -0500, Martin C. Martin wrote: > > > > > > > > > > > > Russell Standish wrote: > > > > > > > > >What's it for? The website indicates its for website development, > but > > > > >unless that's what you do for a living, is it of interest? For > > > > >instance is it useful for doing simulations? > > > > > > > > > >Cheers > > > > > > > > > > > > > > > > > > Well, Ruby probably is. > > > > > > > > Out of curiosity, how many people here do simulations in a high > level > > > > language (e.g. Java or C++) vs. a very high level language (like > Ruby, > > > > Python or perl)? > > > > > > > > - Martin > > > > > > > > > > > > ============================================================ > > > > FRIAM Applied Complexity Group listserv > > > > Meets Fridays 9a-11:30 at Mission Cafe > > > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > > http://www.friam.org > > > > > > -- > > > *PS: A number of people ask me about the attachment to my email, which > > > is of type "application/pgp-signature". Don't worry, it is not a > > > virus. It is an electronic signature, that may be used to verify this > > > email came from me if you have PGP or GPG installed. Otherwise, you > > > may safely ignore this attachment. > > > > > > > > > > ---------------------------------------------------------------------------- > > > A/Prof Russell Standish Phone 8308 3119 (mobile) > > > Mathematics 0425 253119 (") > > > UNSW SYDNEY 2052 R.Standish at unsw.edu.au > > > Australia http://parallel.hpc.unsw.edu.au/rks > > > International prefix +612, Interstate prefix 02 > > > > > > > ---------------------------------------------------------------------------- > > > > > > ============================================================ > > > FRIAM Applied Complexity Group listserv > > > Meets Fridays 9a-11:30 at Mission Cafe > > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > > http://www.friam.org > > > > > > > > > > > -- > > Doug Roberts > > 505-455-7333 - Office > > 505-670-8195 - Cell > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > > -- > *PS: A number of people ask me about the attachment to my email, which > is of type "application/pgp-signature". Don't worry, it is not a > virus. It is an electronic signature, that may be used to verify this > email came from me if you have PGP or GPG installed. Otherwise, you > may safely ignore this attachment. > > > ---------------------------------------------------------------------------- > A/Prof Russell Standish Phone 8308 3119 (mobile) > Mathematics 0425 253119 (") > UNSW SYDNEY 2052 R.Standish at unsw.edu.au > Australia http://parallel.hpc.unsw.edu.au/rks > International prefix +612, Interstate prefix 02 > > ---------------------------------------------------------------------------- > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > -- Doug Roberts 505-455-7333 - Office 505-670-8195 - Cell -------------- next part -------------- An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051120/838ca671/attachment.htm |
Administrator
|
In reply to this post by Martin C. Martin
A surprising amount of our modeling is done with netlogo. RePast
used to be used quite a bit but we found that there was nothing we could not do in netlogo, so due to RePast being more difficult to program, we've settled happily on netlogo. It has the happy side effect that more of the folks involved in the simulation can easily read the code as well, and deploys simply in web pages. That said, I should mention that we do quite a bit outside of the model itself. Stephen uses the model data in various visualization packages to make the data far more understandable by clients. We also find ourselves using statistics packages like R to analyze parameter scans done in netlogo. This lets us output simple text formatted data from netlogo and pass it on to more sophisticated systems. Thus our view of simulation and modeling has become one of several systems working in concert rather than a single package like RePast or netlogo or the like. -- Owen Owen Densmore http://backspaces.net - http://redfish.com - http://friam.org On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > > > Russell Standish wrote: > >> What's it for? The website indicates its for website development, but >> unless that's what you do for a living, is it of interest? For >> instance is it useful for doing simulations? >> >> Cheers >> >> > > Well, Ruby probably is. > > Out of curiosity, how many people here do simulations in a high level > language (e.g. Java or C++) vs. a very high level language (like Ruby, > Python or perl)? > > - Martin > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > www.friam.org |
Administrator
|
Oh, and I left out the most important factor: dueling models!
It's so fast to get netlogo models running, we almost always do a "silly" level-0 model that lets us get the algorithms right and then "the real" model .. and with one recent project, two "real models" .. one at a low resolution but with a large scope (zozobra with all of Ft Marcy park) and one at high resolution (zozobra with just the baseball diamond). This two-level approach is often very useful with client interaction as well .. we can show what we're doing and very quickly respond to feedback. Indeed, with the recent Stadium model we did, we weren't really sure which the client would go for until near the end of the project. -- Owen Owen Densmore http://backspaces.net - http://redfish.com - http://friam.org On Nov 21, 2005, at 8:47 AM, Owen Densmore wrote: > A surprising amount of our modeling is done with netlogo. RePast > used to be used quite a bit but we found that there was nothing we > could not do in netlogo, so due to RePast being more difficult to > program, we've settled happily on netlogo. It has the happy side > effect that more of the folks involved in the simulation can easily > read the code as well, and deploys simply in web pages. > > That said, I should mention that we do quite a bit outside of the > model itself. Stephen uses the model data in various visualization > packages to make the data far more understandable by clients. We > also find ourselves using statistics packages like R to analyze > parameter scans done in netlogo. This lets us output simple text > formatted data from netlogo and pass it on to more sophisticated > systems. > > Thus our view of simulation and modeling has become one of several > systems working in concert rather than a single package like RePast > or netlogo or the like. > > -- Owen > > Owen Densmore > http://backspaces.net - http://redfish.com - http://friam.org > > > On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > >> >> >> Russell Standish wrote: >> >>> What's it for? The website indicates its for website development, >>> but >>> unless that's what you do for a living, is it of interest? For >>> instance is it useful for doing simulations? >>> >>> Cheers >>> >>> >> >> Well, Ruby probably is. >> >> Out of curiosity, how many people here do simulations in a high level >> language (e.g. Java or C++) vs. a very high level language (like >> Ruby, >> Python or perl)? >> >> - Martin >> >> >> ============================================================ >> FRIAM Applied Complexity Group listserv >> Meets Fridays 9a-11:30 at Mission Cafe >> Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// >> www.friam.org > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > www.friam.org |
In reply to this post by Owen Densmore
Phew - I was getting anxious that no one had mentioned validating these
things. If you're not doing something with a stats package at the backend, you're not doing it right :-) Robert (Python for the simulation, R for the stats) On 11/21/05, Owen Densmore <owen at backspaces.net> wrote: > > A surprising amount of our modeling is done with netlogo. RePast > used to be used quite a bit but we found that there was nothing we > could not do in netlogo, so due to RePast being more difficult to > program, we've settled happily on netlogo. It has the happy side > effect that more of the folks involved in the simulation can easily > read the code as well, and deploys simply in web pages. > > That said, I should mention that we do quite a bit outside of the > model itself. Stephen uses the model data in various visualization > packages to make the data far more understandable by clients. We > also find ourselves using statistics packages like R to analyze > parameter scans done in netlogo. This lets us output simple text > formatted data from netlogo and pass it on to more sophisticated > systems. > > Thus our view of simulation and modeling has become one of several > systems working in concert rather than a single package like RePast > or netlogo or the like. > > -- Owen > > Owen Densmore > http://backspaces.net - http://redfish.com - http://friam.org > > > On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > > > > > > > Russell Standish wrote: > > > >> What's it for? The website indicates its for website development, but > >> unless that's what you do for a living, is it of interest? For > >> instance is it useful for doing simulations? > >> > >> Cheers > >> > >> > > > > Well, Ruby probably is. > > > > Out of curiosity, how many people here do simulations in a high level > > language (e.g. Java or C++) vs. a very high level language (like Ruby, > > Python or perl)? > > > > - Martin > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > > www.friam.org <http://www.friam.org> > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051121/e4fbb120/attachment.htm |
On the simulation languages thing, I'm just a lowly web developer. I
use mostly scripting languages. The exception is Java, although to be honest, there are times when Java is so pre-designed that it seems like a scripting language too. But I have a question -- if you do your agent simulations in Python, does that mean that there's a NetLogo-like package in Python? (I'm on a Python list that might find that interesting.) On 11/21/05, Robert Holmes <rholmes62 at gmail.com> wrote: > Phew - I was getting anxious that no one had mentioned validating these > things. If you're not doing something with a stats package at the backend, > you're not doing it right :-) > > Robert > > (Python for the simulation, R for the stats) > > > On 11/21/05, Owen Densmore <owen at backspaces.net> wrote: > > A surprising amount of our modeling is done with netlogo. RePast > > used to be used quite a bit but we found that there was nothing we > > could not do in netlogo, so due to RePast being more difficult to > > program, we've settled happily on netlogo. It has the happy side > > effect that more of the folks involved in the simulation can easily > > read the code as well, and deploys simply in web pages. > > > > That said, I should mention that we do quite a bit outside of the > > model itself. Stephen uses the model data in various visualization > > packages to make the data far more understandable by clients. We > > also find ourselves using statistics packages like R to analyze > > parameter scans done in netlogo. This lets us output simple text > > formatted data from netlogo and pass it on to more sophisticated > > systems. > > > > Thus our view of simulation and modeling has become one of several > > systems working in concert rather than a single package like RePast > > or netlogo or the like. > > > > -- Owen > > > > Owen Densmore > > http://backspaces.net - http://redfish.com - http://friam.org > > > > > > On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > > > > > > > > > > > Russell Standish wrote: > > > > > >> What's it for? The website indicates its for website development, but > > >> unless that's what you do for a living, is it of interest? For > > >> instance is it useful for doing simulations? > > >> > > >> Cheers > > >> > > >> > > > > > > Well, Ruby probably is. > > > > > > Out of curiosity, how many people here do simulations in a high level > > > language (e.g. Java or C++) vs. a very high level language (like Ruby, > > > Python or perl)? > > > > > > - Martin > > > > > > > > > > ============================================================ > > > FRIAM Applied Complexity Group listserv > > > Meets Fridays 9a-11:30 at Mission Cafe > > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > > > www.friam.org > > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > > > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > http://www.friam.org > > -- Giles Bowkett = Giles Goat Boy http://www.gilesgoatboy.org/ |
> if you do your agent simulations in Python,
> does that mean that there's a NetLogo-like package in Python? (I'm on > a Python list that might find that interesting.) AFAIK, There is not a Netlogo-like Python package. We've rolled our own in the past but the models tended to be tightly coupled to the projects. As for general purpose python ABM: I saw a Logo tranlation to Python a couple years back (http://pylogo.org/PyLogo.html), but I haven't tried it. RePast has a Python interface to specify a model which, if I remember correctly, gets interpreted to Java source before compilation to byte code. (http://repast.sourceforge.net/repastpy/) SimPy (http://simpy.sourceforge.net/) is out there as a discrete event simulator. PyGame (http://www.pygame.org/) is related to simulation but far enough away that you/we may want to roll our own. On the visualization front, I would like to see a FRIAM effort rolling a decent ABM C-level core with a python scripting layer to something like Blender (http://www.blender.org). Something that allows for license-free deployment in a game-engine like environment while also allowing for offline rendering for higher quality scripted animations. Perhaps we can prototype it all in Python and go down to C for the cpu-intensive bits. -S > -----Original Message----- > From: Giles Bowkett [mailto:gilesb at gmail.com] > Sent: Monday, November 21, 2005 9:59 AM > To: The Friday Morning Applied Complexity Coffee Group > Subject: Re: [FRIAM] Ruby on Rails > > > On the simulation languages thing, I'm just a lowly web developer. I > use mostly scripting languages. The exception is Java, although to be > honest, there are times when Java is so pre-designed that it seems > like a scripting language too. > > But I have a question -- if you do your agent simulations in Python, > does that mean that there's a NetLogo-like package in Python? (I'm on > a Python list that might find that interesting.) > > On 11/21/05, Robert Holmes <rholmes62 at gmail.com> wrote: > > Phew - I was getting anxious that no one had mentioned validating these > > things. If you're not doing something with a stats package at the backend, > > you're not doing it right :-) > > > > Robert > > > > (Python for the simulation, R for the stats) > > > > > > On 11/21/05, Owen Densmore <owen at backspaces.net> wrote: > > > A surprising amount of our modeling is done with netlogo. RePast > > > used to be used quite a bit but we found that there was nothing we > > > could not do in netlogo, so due to RePast being more difficult to > > > program, we've settled happily on netlogo. It has the happy side > > > effect that more of the folks involved in the simulation can easily > > > read the code as well, and deploys simply in web pages. > > > > > > That said, I should mention that we do quite a bit outside of the > > > model itself. Stephen uses the model data in various visualization > > > packages to make the data far more understandable by clients. We > > > also find ourselves using statistics packages like R to analyze > > > parameter scans done in netlogo. This lets us output simple text > > > formatted data from netlogo and pass it on to more sophisticated > > > systems. > > > > > > Thus our view of simulation and modeling has become one of several > > > systems working in concert rather than a single package like RePast > > > or netlogo or the like. > > > > > > -- Owen > > > > > > Owen Densmore > > > http://backspaces.net - http://redfish.com - http://friam.org > > > > > > > > > On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > > > > > > > > > > > > > > > Russell Standish wrote: > > > > > > > >> What's it for? The website indicates its for website development, but > > > >> unless that's what you do for a living, is it of interest? For > > > >> instance is it useful for doing simulations? > > > >> > > > >> Cheers > > > >> > > > >> > > > > > > > > Well, Ruby probably is. > > > > > > > > Out of curiosity, how many people here do simulations in a high level > > > > language (e.g. Java or C++) vs. a very high level language (like Ruby, > > > > Python or perl)? > > > > > > > > - Martin > > > > > > > > > > > > > > ============================================================ > > > > FRIAM Applied Complexity Group listserv > > > > Meets Fridays 9a-11:30 at Mission Cafe > > > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > > > > www.friam.org > > > > > > > > > > > ============================================================ > > > FRIAM Applied Complexity Group listserv > > > Meets Fridays 9a-11:30 at Mission Cafe > > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > http://www.friam.org > > > > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > http://www.friam.org > > > > > > > -- > Giles Bowkett = Giles Goat Boy > http://www.gilesgoatboy.org/ > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at |
In reply to this post by Owen Densmore
I got into it when the Ruby Development Tool was announced for
Eclipse. I installed the RDT into Eclipse, I installed Ruby, I installed the rubygems package management package, I installed the latest ruby on rails, and it crashed into the ruby debugger. I fixed the problem and downloaded several of the open source Rails projects. They mostly didn't work, the one that did was a wiki with many brave new features that I couldn't find amongst the usual wiki features. Rails is basically a web/database portal system built from a few packages. It's main claim to fame appears to be the quick and dirty smalltalkish approach to building these systems which allows a single developer to whip the portals off in no time at all. The principle objection is that that approach won't scale, which remains to be seen. Ruby's claims to fame are the 'catch missing method/object error, construct missing part, and continue' paradigm that Tcl has used for autoloading since it was invented, that it's all objects all the way down to the bits, and that the author, Matz, designed it to bring back the fun in programming. My interest waned when I discovered that I had performance issues and many of the FAQ's had to do with various clever and involved ways to deal with the performance issues. I was a bit piqued that the Rails distribution was broken out of the box, too. Even if it only needed to have one line of code commented out and the stack trace led me directly to the problem line, it still seemed pretty sloppy. All that said, the Eclipse based Ruby IDE is pretty cool, but it illustrates the problems that IDE's for dynamically typed languages have. Namely that it's very hard to provide useful context sensitive help when every object is potentially any of the classes already seen or even one that's going to be dynamically defined at runtime. And I wanted to see it working with JRuby, the ruby implementation that compiles to JVM bytecodes, but that is still a work in progress. -- rec -- On 11/20/05, Owen Densmore <owen at backspaces.net> wrote: > Has anyone tried Ruby on Rails? I'd be interested in any experiences/ > opinions. > > One interest I have is not just Ruby but the new JVM "agile" systems > like Groovy which are building their own Rails systems. Natch Groovy > is using Grails as the name! > > -- Owen |
In reply to this post by Owen Densmore
Owen Densmore wrote:
> A surprising amount of our modeling is done with netlogo. RePast > used to be used quite a bit but we found that there was nothing we > could not do in netlogo, so due to RePast being more difficult to > program, we've settled happily on netlogo. It has the happy side > effect that more of the folks involved in the simulation can easily > read the code as well, and deploys simply in web pages. By a strange concatenation of circumstance, I just saw a demo of an electric power grid simulation with introduced component failures that is programmed using RePast. During the course of the conversation, I discovered that the programmer (actually a power engineer) chose RePast because his counterpart in the National Infrastructure Simulation and Analysis Center (NISAC) used RePast. My colleague seemed to think that RePast is fairly easy to use, but then he's not really taxing it in his model. The NISAC person is apparently using RePast and other models and developing an API/component to glue them together (I know that Owen has asked what Sandia uses). I think the electric grid risk measurement problem counts as complexity. The only current mathematics to determine what electricity will do in the distribution system are load-flow algorithms which provide static answers to a dynamic question. There is a home-grown simulation system here at Sandia, developed by the visualization folks, that is HLA compatible. However, I don't believe that it is an ABM. -- Ray Parks rcparks at sandia.gov IDART Project Lead Voice:505-844-4024 IORTA Department Fax:505-844-9641 http://www.sandia.gov/idart Pager:800-690-5288 |
In reply to this post by Owen Densmore
Indeed - speed of prototyping is a very important issue. But so is
simulation speed. I have so often seen new effects come out of a model when simulations are scaled up to longer runs, or more agents. Quite often ones understanding obtained through the prototyping phase is turned around during production runs. EcoLab does make it substantially easier to implement scalable C++ models (my guesstimate is perhaps by a factor of 4-5 over raw C++). I personally think it is easier to use than Swarm, but this might be my bias showing through. :) It is not as simple to use as say Matlab, or presumably Netlogo (which I haven't used), which are perhaps a factor of 2-3 easier again. However one does it, though I do think it a mistake to skip the production run step altogether. Too often I have seen methodologically unsound results reported due to a prototype not being reimplemented in a high performance environment, and so being limited in its computational testing. Cheers On Mon, Nov 21, 2005 at 09:09:12AM -0700, Owen Densmore wrote: > Oh, and I left out the most important factor: dueling models! > > It's so fast to get netlogo models running, we almost always do a > "silly" level-0 model that lets us get the algorithms right and then > "the real" model .. and with one recent project, two "real models" .. > one at a low resolution but with a large scope (zozobra with all of > Ft Marcy park) and one at high resolution (zozobra with just the > baseball diamond). > > This two-level approach is often very useful with client interaction > as well .. we can show what we're doing and very quickly respond to > feedback. Indeed, with the recent Stadium model we did, we weren't > really sure which the client would go for until near the end of the > project. > > -- Owen > > Owen Densmore > http://backspaces.net - http://redfish.com - http://friam.org > > > On Nov 21, 2005, at 8:47 AM, Owen Densmore wrote: > > > A surprising amount of our modeling is done with netlogo. RePast > > used to be used quite a bit but we found that there was nothing we > > could not do in netlogo, so due to RePast being more difficult to > > program, we've settled happily on netlogo. It has the happy side > > effect that more of the folks involved in the simulation can easily > > read the code as well, and deploys simply in web pages. > > > > That said, I should mention that we do quite a bit outside of the > > model itself. Stephen uses the model data in various visualization > > packages to make the data far more understandable by clients. We > > also find ourselves using statistics packages like R to analyze > > parameter scans done in netlogo. This lets us output simple text > > formatted data from netlogo and pass it on to more sophisticated > > systems. > > > > Thus our view of simulation and modeling has become one of several > > systems working in concert rather than a single package like RePast > > or netlogo or the like. > > > > -- Owen > > > > Owen Densmore > > http://backspaces.net - http://redfish.com - http://friam.org > > > > > > On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > > > >> > >> > >> Russell Standish wrote: > >> > >>> What's it for? The website indicates its for website development, > >>> but > >>> unless that's what you do for a living, is it of interest? For > >>> instance is it useful for doing simulations? > >>> > >>> Cheers > >>> > >>> > >> > >> Well, Ruby probably is. > >> > >> Out of curiosity, how many people here do simulations in a high level > >> language (e.g. Java or C++) vs. a very high level language (like > >> Ruby, > >> Python or perl)? > >> > >> - Martin > >> > >> > >> ============================================================ > >> FRIAM Applied Complexity Group listserv > >> Meets Fridays 9a-11:30 at Mission Cafe > >> Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > >> www.friam.org > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > > www.friam.org > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org -- *PS: A number of people ask me about the attachment to my email, which is of type "application/pgp-signature". Don't worry, it is not a virus. It is an electronic signature, that may be used to verify this email came from me if you have PGP or GPG installed. Otherwise, you may safely ignore this attachment. ---------------------------------------------------------------------------- A/Prof Russell Standish Phone 8308 3119 (mobile) Mathematics 0425 253119 (") UNSW SYDNEY 2052 R.Standish at unsw.edu.au Australia http://parallel.hpc.unsw.edu.au/rks International prefix +612, Interstate prefix 02 ---------------------------------------------------------------------------- |
I agree with the simulation speed idea. Simulations (and other
scientific computing) are different than, say, word processors in that way. But there are often only a few bottlenecks, and they're often not where you think they will be. Donald Knuth has a saying, "premature optimization is the root of all evil." Once you code it up and use a profiler to identify the bottlenecks, you can recode those in something fast like C/Java. It seems overboard to me to pick a language that forces you to specify everything minutely (and largely efficiently). - Martin Russell Standish wrote: >Indeed - speed of prototyping is a very important issue. But so is >simulation speed. I have so often seen new effects come out of a model >when simulations are scaled up to longer runs, or more agents. Quite >often ones understanding obtained through the prototyping phase is >turned around during production runs. > >EcoLab does make it substantially easier to implement scalable C++ >models (my guesstimate is perhaps by a factor of 4-5 over raw C++). I >personally think it is easier to use than Swarm, but this might be my >bias showing through. :) It is not as simple to use as say Matlab, or >presumably Netlogo (which I haven't used), which are perhaps a factor >of 2-3 easier again. > >However one does it, though I do think it a mistake to skip the >production run step altogether. Too often I have seen methodologically >unsound results reported due to a prototype not being reimplemented in >a high performance environment, and so being limited in its >computational testing. > >Cheers > >On Mon, Nov 21, 2005 at 09:09:12AM -0700, Owen Densmore wrote: > > >>Oh, and I left out the most important factor: dueling models! >> >>It's so fast to get netlogo models running, we almost always do a >>"silly" level-0 model that lets us get the algorithms right and then >>"the real" model .. and with one recent project, two "real models" .. >>one at a low resolution but with a large scope (zozobra with all of >>Ft Marcy park) and one at high resolution (zozobra with just the >>baseball diamond). >> >>This two-level approach is often very useful with client interaction >>as well .. we can show what we're doing and very quickly respond to >>feedback. Indeed, with the recent Stadium model we did, we weren't >>really sure which the client would go for until near the end of the >>project. >> >> -- Owen >> >>Owen Densmore >>http://backspaces.net - http://redfish.com - http://friam.org >> >> >>On Nov 21, 2005, at 8:47 AM, Owen Densmore wrote: >> >> >> >>>A surprising amount of our modeling is done with netlogo. RePast >>>used to be used quite a bit but we found that there was nothing we >>>could not do in netlogo, so due to RePast being more difficult to >>>program, we've settled happily on netlogo. It has the happy side >>>effect that more of the folks involved in the simulation can easily >>>read the code as well, and deploys simply in web pages. >>> >>>That said, I should mention that we do quite a bit outside of the >>>model itself. Stephen uses the model data in various visualization >>>packages to make the data far more understandable by clients. We >>>also find ourselves using statistics packages like R to analyze >>>parameter scans done in netlogo. This lets us output simple text >>>formatted data from netlogo and pass it on to more sophisticated >>>systems. >>> >>>Thus our view of simulation and modeling has become one of several >>>systems working in concert rather than a single package like RePast >>>or netlogo or the like. >>> >>> -- Owen >>> >>>Owen Densmore >>>http://backspaces.net - http://redfish.com - http://friam.org >>> >>> >>>On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: >>> >>> >>> >>>>Russell Standish wrote: >>>> >>>> >>>> >>>>>What's it for? The website indicates its for website development, >>>>>but >>>>>unless that's what you do for a living, is it of interest? For >>>>>instance is it useful for doing simulations? >>>>> >>>>>Cheers >>>>> >>>>> >>>>> >>>>> >>>>Well, Ruby probably is. >>>> >>>>Out of curiosity, how many people here do simulations in a high level >>>>language (e.g. Java or C++) vs. a very high level language (like >>>>Ruby, >>>>Python or perl)? >>>> >>>>- Martin >>>> >>>> >>>>============================================================ >>>>FRIAM Applied Complexity Group listserv >>>>Meets Fridays 9a-11:30 at Mission Cafe >>>>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// >>>>www.friam.org >>>> >>>> >>>============================================================ >>>FRIAM Applied Complexity Group listserv >>>Meets Fridays 9a-11:30 at Mission Cafe >>>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// >>>www.friam.org >>> >>> >>============================================================ >>FRIAM Applied Complexity Group listserv >>Meets Fridays 9a-11:30 at Mission Cafe >>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org >> >> > > > An HTML attachment was scrubbed... URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051121/48c02e1a/attachment.htm |
Good point, and partly this is how EcoLab eases the programming
pain. What you do is code a C++ object that implements just your model, and an appropriate set of primitive operations acting on it. EcoLab ensures that this object, and its methods is available within a TCL interpreter. Prototyping then is very quick - TCL scripting is enormously productive to the initiated, and even bog-standard modeling tasks are easy for the novitiate. Once your model tinkering phase is over, you simply write a TCL script that executes the model in a batch environment. Practical experience indicates that the extra overhead of running a TCL interpreter is negligible compared model executaion time. Apart from running a profiler over your code, it really is production ready. Of course this is not to say that TCL is the best tool - presumably Python, or Ruby or whatever have their advantages too - but its what has been deployed with EcoLab for historical reasons. I am playing around with the concept of using RePast (or MASON or whatever) as an interactive framework for exploration of EcoLab coded models - this would save me the effort of creating and maintaining GUI probes and instruments. I would still keep TCL scripting for initialisation and scheduling though, as this seems to me to be vastly superior than RePast's batch environment... Of course what would be nice is to automatically generate web applet demos from your model, but at present I can see no technology capable of doing this that is not fundamentally at odds with running your model at high performance. Sigh...dream on. Cheers On Mon, Nov 21, 2005 at 06:18:19PM -0500, Martin C. Martin wrote: > I agree with the simulation speed idea. Simulations (and other > scientific computing) are different than, say, word processors in that > way. But there are often only a few bottlenecks, and they're often not > where you think they will be. Donald Knuth has a saying, "premature > optimization is the root of all evil." Once you code it up and use a > profiler to identify the bottlenecks, you can recode those in something > fast like C/Java. It seems overboard to me to pick a language that > forces you to specify everything minutely (and largely efficiently). > > - Martin > > Russell Standish wrote: > > >Indeed - speed of prototyping is a very important issue. But so is > >simulation speed. I have so often seen new effects come out of a model > >when simulations are scaled up to longer runs, or more agents. Quite > >often ones understanding obtained through the prototyping phase is > >turned around during production runs. > > > >EcoLab does make it substantially easier to implement scalable C++ > >models (my guesstimate is perhaps by a factor of 4-5 over raw C++). I > >personally think it is easier to use than Swarm, but this might be my > >bias showing through. :) It is not as simple to use as say Matlab, or > >presumably Netlogo (which I haven't used), which are perhaps a factor > >of 2-3 easier again. > > > >However one does it, though I do think it a mistake to skip the > >production run step altogether. Too often I have seen methodologically > >unsound results reported due to a prototype not being reimplemented in > >a high performance environment, and so being limited in its > >computational testing. > > > >Cheers > > > >On Mon, Nov 21, 2005 at 09:09:12AM -0700, Owen Densmore wrote: > > > > > >>Oh, and I left out the most important factor: dueling models! > >> > >>It's so fast to get netlogo models running, we almost always do a > >>"silly" level-0 model that lets us get the algorithms right and then > >>"the real" model .. and with one recent project, two "real models" .. > >>one at a low resolution but with a large scope (zozobra with all of > >>Ft Marcy park) and one at high resolution (zozobra with just the > >>baseball diamond). > >> > >>This two-level approach is often very useful with client interaction > >>as well .. we can show what we're doing and very quickly respond to > >>feedback. Indeed, with the recent Stadium model we did, we weren't > >>really sure which the client would go for until near the end of the > >>project. > >> > >> -- Owen > >> > >>Owen Densmore > >>http://backspaces.net - http://redfish.com - http://friam.org > >> > >> > >>On Nov 21, 2005, at 8:47 AM, Owen Densmore wrote: > >> > >> > >> > >>>A surprising amount of our modeling is done with netlogo. RePast > >>>used to be used quite a bit but we found that there was nothing we > >>>could not do in netlogo, so due to RePast being more difficult to > >>>program, we've settled happily on netlogo. It has the happy side > >>>effect that more of the folks involved in the simulation can easily > >>>read the code as well, and deploys simply in web pages. > >>> > >>>That said, I should mention that we do quite a bit outside of the > >>>model itself. Stephen uses the model data in various visualization > >>>packages to make the data far more understandable by clients. We > >>>also find ourselves using statistics packages like R to analyze > >>>parameter scans done in netlogo. This lets us output simple text > >>>formatted data from netlogo and pass it on to more sophisticated > >>>systems. > >>> > >>>Thus our view of simulation and modeling has become one of several > >>>systems working in concert rather than a single package like RePast > >>>or netlogo or the like. > >>> > >>> -- Owen > >>> > >>>Owen Densmore > >>>http://backspaces.net - http://redfish.com - http://friam.org > >>> > >>> > >>>On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > >>> > >>> > >>> > >>>>Russell Standish wrote: > >>>> > >>>> > >>>> > >>>>>What's it for? The website indicates its for website development, > >>>>>but > >>>>>unless that's what you do for a living, is it of interest? For > >>>>>instance is it useful for doing simulations? > >>>>> > >>>>>Cheers > >>>>> > >>>>> > >>>>> > >>>>> > >>>>Well, Ruby probably is. > >>>> > >>>>Out of curiosity, how many people here do simulations in a high level > >>>>language (e.g. Java or C++) vs. a very high level language (like > >>>>Ruby, > >>>>Python or perl)? > >>>> > >>>>- Martin > >>>> > >>>> > >>>>============================================================ > >>>>FRIAM Applied Complexity Group listserv > >>>>Meets Fridays 9a-11:30 at Mission Cafe > >>>>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > >>>>www.friam.org > >>>> > >>>> > >>>============================================================ > >>>FRIAM Applied Complexity Group listserv > >>>Meets Fridays 9a-11:30 at Mission Cafe > >>>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > >>>www.friam.org > >>> > >>> > >>============================================================ > >>FRIAM Applied Complexity Group listserv > >>Meets Fridays 9a-11:30 at Mission Cafe > >>Wed Lecture schedule, archives, unsubscribe, maps, etc. at > >>http://www.friam.org > >> > >> > > > > > > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org -- *PS: A number of people ask me about the attachment to my email, which is of type "application/pgp-signature". Don't worry, it is not a virus. It is an electronic signature, that may be used to verify this email came from me if you have PGP or GPG installed. Otherwise, you may safely ignore this attachment. ---------------------------------------------------------------------------- A/Prof Russell Standish Phone 8308 3119 (mobile) Mathematics 0425 253119 (") UNSW SYDNEY 2052 R.Standish at unsw.edu.au Australia http://parallel.hpc.unsw.edu.au/rks International prefix +612, Interstate prefix 02 ---------------------------------------------------------------------------- |
> Of course what would be nice is to automatically generate web applet
> demos from your model, but at present I can see no technology capable > of doing this that is not fundamentally at odds with running your > model at high performance. Sigh...dream on. It might be possible to do some kind of "glue language" thing with Python and Blender. I think Steve's already suggested this actually. Blender is a 3d package written and entirely scriptable in Python. Essentially a very powerful visualization library with a strong GUI. You can link up Python with C++ objects, and I believe that Python libraries for the Flash format also exist. C++ objects which run within EcoLab and are available to a Tcl interpreter must have a reasonably predictable structure, and if you can make them available to Tcl, you can probably make them available to Python too. From Python to Blender, and from Blender to Flash, and then you have an output format anybody can use. However, there are lot of steps involved, and this doesn't include any method to preserve the interactivity, which is probably essential to the usefulness of any simulation. If you were like super hardcore gung-ho about it, you could probably do the whole thing with Ajax and Flash Remoting, hosting the simulation code on a server in C or Java and just sending the output to the browser. Flash Remoting is basically just XML-RPC with some added proprietary obfuscation bits. I think it's been reverse-engineered in enough detail to be useful. Python libraries for it already exist, so you could, **theoretically**, set up an Ajax/Flash front end to a low-level simulation package. The architecture is actually the canonical web app architecture, model/view/controller. Most web apps don't have agent-based simulations for the models or Blender-->Flash visualization translators for the views, but the structure is the same. However, it would probably be a nontrivial system. On 11/21/05, Russell Standish <r.standish at unsw.edu.au> wrote: > Good point, and partly this is how EcoLab eases the programming > pain. What you do is code a C++ object that implements just your > model, and an appropriate set of primitive operations acting on > it. EcoLab ensures that this object, and its methods is available > within a TCL interpreter. Prototyping then is very quick - TCL > scripting is enormously productive to the initiated, and even > bog-standard modeling tasks are easy for the novitiate. > > Once your model tinkering phase is over, you simply write a TCL script > that executes the model in a batch environment. Practical experience > indicates that the extra overhead of running a TCL interpreter is > negligible compared model executaion time. Apart from running a > profiler over your code, it really is production ready. > > Of course this is not to say that TCL is the best tool - presumably > Python, or Ruby or whatever have their advantages too - but its what > has been deployed with EcoLab for historical reasons. I am playing > around with the concept of using RePast (or MASON or whatever) as an > interactive framework for exploration of EcoLab coded models - this > would save me the effort of creating and maintaining GUI probes and > instruments. I would still keep TCL scripting for initialisation and > scheduling though, as this seems to me to be vastly superior than > RePast's batch environment... > > Of course what would be nice is to automatically generate web applet > demos from your model, but at present I can see no technology capable > of doing this that is not fundamentally at odds with running your > model at high performance. Sigh...dream on. > > Cheers > > On Mon, Nov 21, 2005 at 06:18:19PM -0500, Martin C. Martin wrote: > > I agree with the simulation speed idea. Simulations (and other > > scientific computing) are different than, say, word processors in that > > way. But there are often only a few bottlenecks, and they're often not > > where you think they will be. Donald Knuth has a saying, "premature > > optimization is the root of all evil." Once you code it up and use a > > profiler to identify the bottlenecks, you can recode those in something > > fast like C/Java. It seems overboard to me to pick a language that > > forces you to specify everything minutely (and largely efficiently). > > > > - Martin > > > > Russell Standish wrote: > > > > >Indeed - speed of prototyping is a very important issue. But so is > > >simulation speed. I have so often seen new effects come out of a model > > >when simulations are scaled up to longer runs, or more agents. Quite > > >often ones understanding obtained through the prototyping phase is > > >turned around during production runs. > > > > > >EcoLab does make it substantially easier to implement scalable C++ > > >models (my guesstimate is perhaps by a factor of 4-5 over raw C++). I > > >personally think it is easier to use than Swarm, but this might be my > > >bias showing through. :) It is not as simple to use as say Matlab, or > > >presumably Netlogo (which I haven't used), which are perhaps a factor > > >of 2-3 easier again. > > > > > >However one does it, though I do think it a mistake to skip the > > >production run step altogether. Too often I have seen methodologically > > >unsound results reported due to a prototype not being reimplemented in > > >a high performance environment, and so being limited in its > > >computational testing. > > > > > >Cheers > > > > > >On Mon, Nov 21, 2005 at 09:09:12AM -0700, Owen Densmore wrote: > > > > > > > > >>Oh, and I left out the most important factor: dueling models! > > >> > > >>It's so fast to get netlogo models running, we almost always do a > > >>"silly" level-0 model that lets us get the algorithms right and then > > >>"the real" model .. and with one recent project, two "real models" .. > > >>one at a low resolution but with a large scope (zozobra with all of > > >>Ft Marcy park) and one at high resolution (zozobra with just the > > >>baseball diamond). > > >> > > >>This two-level approach is often very useful with client interaction > > >>as well .. we can show what we're doing and very quickly respond to > > >>feedback. Indeed, with the recent Stadium model we did, we weren't > > >>really sure which the client would go for until near the end of the > > >>project. > > >> > > >> -- Owen > > >> > > >>Owen Densmore > > >>http://backspaces.net - http://redfish.com - http://friam.org > > >> > > >> > > >>On Nov 21, 2005, at 8:47 AM, Owen Densmore wrote: > > >> > > >> > > >> > > >>>A surprising amount of our modeling is done with netlogo. RePast > > >>>used to be used quite a bit but we found that there was nothing we > > >>>could not do in netlogo, so due to RePast being more difficult to > > >>>program, we've settled happily on netlogo. It has the happy side > > >>>effect that more of the folks involved in the simulation can easily > > >>>read the code as well, and deploys simply in web pages. > > >>> > > >>>That said, I should mention that we do quite a bit outside of the > > >>>model itself. Stephen uses the model data in various visualization > > >>>packages to make the data far more understandable by clients. We > > >>>also find ourselves using statistics packages like R to analyze > > >>>parameter scans done in netlogo. This lets us output simple text > > >>>formatted data from netlogo and pass it on to more sophisticated > > >>>systems. > > >>> > > >>>Thus our view of simulation and modeling has become one of several > > >>>systems working in concert rather than a single package like RePast > > >>>or netlogo or the like. > > >>> > > >>> -- Owen > > >>> > > >>>Owen Densmore > > >>>http://backspaces.net - http://redfish.com - http://friam.org > > >>> > > >>> > > >>>On Nov 20, 2005, at 6:46 PM, Martin C. Martin wrote: > > >>> > > >>> > > >>> > > >>>>Russell Standish wrote: > > >>>> > > >>>> > > >>>> > > >>>>>What's it for? The website indicates its for website development, > > >>>>>but > > >>>>>unless that's what you do for a living, is it of interest? For > > >>>>>instance is it useful for doing simulations? > > >>>>> > > >>>>>Cheers > > >>>>> > > >>>>> > > >>>>> > > >>>>> > > >>>>Well, Ruby probably is. > > >>>> > > >>>>Out of curiosity, how many people here do simulations in a high level > > >>>>language (e.g. Java or C++) vs. a very high level language (like > > >>>>Ruby, > > >>>>Python or perl)? > > >>>> > > >>>>- Martin > > >>>> > > >>>> > > >>>>============================================================ > > >>>>FRIAM Applied Complexity Group listserv > > >>>>Meets Fridays 9a-11:30 at Mission Cafe > > >>>>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > > >>>>www.friam.org > > >>>> > > >>>> > > >>>============================================================ > > >>>FRIAM Applied Complexity Group listserv > > >>>Meets Fridays 9a-11:30 at Mission Cafe > > >>>Wed Lecture schedule, archives, unsubscribe, maps, etc. at http:// > > >>>www.friam.org > > >>> > > >>> > > >>============================================================ > > >>FRIAM Applied Complexity Group listserv > > >>Meets Fridays 9a-11:30 at Mission Cafe > > >>Wed Lecture schedule, archives, unsubscribe, maps, etc. at > > >>http://www.friam.org > > >> > > >> > > > > > > > > > > > > ============================================================ > > FRIAM Applied Complexity Group listserv > > Meets Fridays 9a-11:30 at Mission Cafe > > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org > > -- > *PS: A number of people ask me about the attachment to my email, which > is of type "application/pgp-signature". Don't worry, it is not a > virus. It is an electronic signature, that may be used to verify this > email came from me if you have PGP or GPG installed. Otherwise, you > may safely ignore this attachment. > > ---------------------------------------------------------------------------- > A/Prof Russell Standish Phone 8308 3119 (mobile) > Mathematics 0425 253119 (") > UNSW SYDNEY 2052 R.Standish at unsw.edu.au > Australia http://parallel.hpc.unsw.edu.au/rks > International prefix +612, Interstate prefix 02 > ---------------------------------------------------------------------------- > > ============================================================ > FRIAM Applied Complexity Group listserv > Meets Fridays 9a-11:30 at Mission Cafe > Wed Lecture schedule, archives, unsubscribe, maps, etc. at http://www.friam.org > -- Giles Bowkett = Giles Goat Boy http://www.gilesgoatboy.org/ |
Free forum by Nabble | Edit this page |