Ruby on Rails

classic Classic list List threaded Threaded
27 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Owen Densmore
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




Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Giles Bowkett
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/


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Russell Standish
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
----------------------------------------------------------------------------


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Martin C. Martin


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



Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Douglas Roberts-2
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

Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Russell Standish
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
----------------------------------------------------------------------------


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Douglas Roberts-2
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

Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Russell Standish
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
----------------------------------------------------------------------------


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Douglas Roberts-2
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

Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Owen Densmore
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



Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Owen Densmore
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



Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Robert Holmes-2
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051121/e4fbb120/attachment.htm

Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Giles Bowkett
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/


Reply | Threaded
Open this post in threaded view
|

Python and ABM (was Ruby on Rails)

Stephen Guerin
> 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
http://www.friam.org




Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Roger Critchlow-2
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


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Parks, Raymond
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



Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Russell Standish
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
----------------------------------------------------------------------------


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Martin C. Martin
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
>>    
>>
>
>  
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://redfish.com/pipermail/friam_redfish.com/attachments/20051121/48c02e1a/attachment.htm

Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Russell Standish
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
----------------------------------------------------------------------------


Reply | Threaded
Open this post in threaded view
|

Ruby on Rails

Giles Bowkett
> 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/


12