Open Source Project?

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

Open Source Project?

Owen Densmore
Administrator
Just a poll of sorts:

1 - If you/we were to start an open source project, what would it be?
2 - What open source project would you like to see happen?

     -- Owen

Owen Densmore   http://backspaces.net




Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Phil Henshaw-2
identifying autonomous natural systems in the world by mining the data
sets of change over time for their tell tale dynamics.


Phil Henshaw                       ????.?? ? `?.????
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
680 Ft. Washington Ave
NY NY 10040                      
tel: 212-795-4844                
e-mail: pfh at synapse9.com          
explorations: www.synapse9.com    


> -----Original Message-----
> From: friam-bounces at redfish.com
> [mailto:friam-bounces at redfish.com] On Behalf Of Owen Densmore
> Sent: Saturday, December 30, 2006 12:39 PM
> To: The Friday Morning Applied Complexity Coffee Group
> Subject: [FRIAM] Open Source Project?
>
>
> Just a poll of sorts:
>
> 1 - If you/we were to start an open source project, what
> would it be? 2 - What open source project would you like to
> see happen?
>
>      -- Owen
>
> Owen Densmore   http://backspaces.net
>
>
>
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org
>
>




Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Robert J. Cordingley
In reply to this post by Owen Densmore
My suggestions:

1 - would be two really, a) science and b) comparative religion
education software for the One Laptop per Child (OLPC)
2 - has to be auditable Electoral Voting Machines and Servers - which
should be made a legal requirement, IMO.

Robert C
www.cirrillian.com

Owen Densmore wrote:

>Just a poll of sorts:
>
>1 - If you/we were to start an open source project, what would it be?
>2 - What open source project would you like to see happen?
>
>     -- Owen
>
>Owen Densmore   http://backspaces.net
>
>
>
>============================================================
>FRIAM Applied Complexity Group listserv
>Meets Fridays 9a-11:30 at cafe at St. John's College
>lectures, archives, unsubscribe, maps at http://www.friam.org
>
>
>  
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/friam_redfish.com/attachments/20061230/e528a15b/attachment.html

Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Marcus G. Daniels
In reply to this post by Owen Densmore
Owen Densmore wrote:
> Just a poll of sorts:
>
> 1 - If you/we were to start an open source project, what would it be?
> 2 - What open source project would you like to see happen?
>  
I'd like to see an interactive functional language like Haskell improved
to quickly compile and distribute code across a set of compute nodes,
and to at the same time support either homogeneous or heterogeneous node
architectures while minimizing the cost of using either to the best
extent possible.   I'd like to be able to checkpoint very large
computations with minimal overhead and be confident about the integrity
of live jobs migrated between machines  as well as jobs that were
restarted from hibernation.    I'd like maps over sets, tree searches,
etc. to all parallelize automatically and adaptively depending on the
compute fabric provided.    Basically, I'd like features of Chapel or
X10 reworked into a purely functional type of language and I'd like it
to WORK and not just be an academic exercise.  I'd like a language that
could support use cases like ABM or Genetic Programming such that
evolution of agents and objects was completely natural and very efficient.




Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Owen Densmore
Administrator
In reply to this post by Owen Densmore
> 1 - If you/we were to start an open source project, what would it be?

Well, from our side of the world, obviously a killer simulation  
environment.

This would include a "pipe" or "port" interoperability amongst many  
useful components including the agent modeler, landscape/gis agent  
environment, visualization, graphing/plotting, analysis and  
statistics, inference engine, and more.  And to cap it off, a visual  
composition editor letting you hook all this together with drag 'n  
drop and form based agent behavior.  It would be multi-lingual where  
possible: java for multi-platform and performance, python and other  
agile languages for scripting.

The pipe/port interoperability should have specific goals like being  
able to run on top of Google Earth, for example.

> 2 - What open source project would you like to see happen?

EZ Java: a preprocessor/IDE which makes Java less programmer  
antagonistic .. to remove the "syntactic salt as Steve sez.  It would  
simply preprocess a python/ruby-like front end, but simply be a  
syntax converter .. not another scripting language for the JVM such  
as JRuby, Jython, Groovy etc.  It would be independent of the  
particular version of Java .. thus inherit the improvements within  
Java.  But like Processing, it would remove the absurdities of Java.  
Examples:
   - First class functions, without the need for a class for "main()"
   - Less redundant type declarations: String s = new String() is a  
little noisy.
   - Simple syntax for Functors .. which make easy on-the-fly  
"closures".
   - First class citizens for maps, arrays and strings with very  
flexible literals.  One obvious string improvement, for example, are  
multi-line strings, strings with substitutions, and most of all,  
"raw" strings for regex use.

This could easily be done with ANTLR, I think.  Integrating it into  
Eclipse and other programming editors and IDEs would be important.

     -- Owen

Owen Densmore   http://backspaces.net


On Dec 30, 2006, at 10:39 AM, Owen Densmore wrote:

> Just a poll of sorts:
>
> 1 - If you/we were to start an open source project, what would it be?
> 2 - What open source project would you like to see happen?
>
>      -- Owen
>
> Owen Densmore   http://backspaces.net
>
>
>
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org



Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Marcus G. Daniels
>
> Well, from our side of the world, obviously a killer simulation environment.
I recently watched an interview on the Research Channel with Anders
Hejisberg, inventor of Turbo Pascal and C#.  A former project manager of
his at Borland was talking about their abandoned visual programming
project, Monet, that Anders was involved in before joining Microsoft.  
Anders remarked that sometimes "a single line of code is often worth a
thousand pictures.   You die a slow death of a thousand lines going from
here to there."   [An example of the "lines" being the object/message
connections i.e. MacOS X Interface Builder.]

It's all fine and good to try to lower the cost of entry to ABM, but to
get science done ABMers need a way to say something precise and have it
understood by theorists.   Pretty visual programming systems, GIS, etc.
don't necessarily accomplish that.


Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Owen Densmore
Administrator
> It's all fine and good to try to lower the cost of entry to ABM,  
> but to
> get science done ABMers need a way to say something precise and  
> have it
> understood by theorists.   Pretty visual programming systems, GIS,  
> etc.
> don't necessarily accomplish that.

I totally agree, and indeed we've looked into more analytic tools for  
modeling.  Certainly at the surface level, tools that help you know  
how stable your results are are important (i.e. take the derivative  
of your model, so to speak).  Ditto for good design of experiments  
aids which give good hints at where your model should be studied  
most .. where are the "interesting areas".

And indeed, many of our models could have a more mathematical  
component.  Hmm..that gets me back to the earlier discussion on the  
gap between computing and math.  But in that sphere, one of the  
better talks given at the SFI BusNet was of researchers using both  
modeling and math together, until the math had to "assume a spherical  
cow" so to speak, and plotting their divergence

But the bigger picture of my wish is precisely that: we need to build  
a far broader set of easily integrated tools for ABM.  Far more  
important is the synergy amongst them than their ease of use.

     -- Owen

Owen Densmore   http://backspaces.net


On Dec 31, 2006, at 11:29 PM, Marcus G. Daniels wrote:

>>
>> Well, from our side of the world, obviously a killer simulation  
>> environment.
> I recently watched an interview on the Research Channel with Anders
> Hejisberg, inventor of Turbo Pascal and C#.  A former project  
> manager of
> his at Borland was talking about their abandoned visual programming
> project, Monet, that Anders was involved in before joining Microsoft.
> Anders remarked that sometimes "a single line of code is often worth a
> thousand pictures.   You die a slow death of a thousand lines going  
> from
> here to there."   [An example of the "lines" being the object/message
> connections i.e. MacOS X Interface Builder.]
>
> It's all fine and good to try to lower the cost of entry to ABM,  
> but to
> get science done ABMers need a way to say something precise and  
> have it
> understood by theorists.   Pretty visual programming systems, GIS,  
> etc.
> don't necessarily accomplish that.
>
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org



Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Giles Bowkett
In reply to this post by Owen Densmore
> 1 - If you/we were to start an open source project, what would it be?
> 2 - What open source project would you like to see happen?

I'd like to see simple naive Bayesian classifiers in Ruby for blocking
blog spam. I was going to do something like this but got distracted.
Rails is only getting bigger, and blog spam is a real problem.

There's already an OS blog spamblocker being created, but it's
centralized, rather than decentralized, which I have doubts about,
even though it seems to make sense. The other point of significant
doubt there is that the thing is actually run by a guy who got busted
using Google spam in a huge way.

--
Giles Bowkett
http://www.gilesgoatboy.org
http://gilesbowkett.blogspot.com
http://gilesgoatboy.blogspot.com


Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Marcus G. Daniels
In reply to this post by Owen Densmore
Owen Densmore wrote:
> But the bigger picture of my wish is precisely that: we need to build  
> a far broader set of easily integrated tools for ABM.  Far more  
> important is the synergy amongst them than their ease of use.
>  
My experience with Swarm was that it was not easy to do in an
incremental fashion or with a typical open source approach.  Neither
newcomers nor theory people want to concern themselves with the details
of the technology, and these are the people measuring your progress in a
public/academic funding type scenario.   My impression of toolkits that
have followed is that there still isn't a great deal of community
support at the level of programming.  This is not to say projects
haven't succeeded, but they've succeeded with focused organizational
support, not because of loose community cooperation on improving software.

Still you can be sure that GIS-oriented static modelers will want to use
their familiar ArcView package, and if they can't they won't get that
involved in dynamical modeling.  I'm sure we could make a long list of
important technologies to support from an ABM toolkit, but it takes a
lot of user support to get non-programmers to explore these synergies,
even if it really isn't that hard.   It's quite possible to work very
hard on middleware, and then have a large community of people completely
unwilling or unable to get off the ground with it, even with intensive
support.  (E.g. in Swarm the ability to have the scheduler issue COM
calls or call JavaScript functions -- that stuff was effectively
middleware and had no immediate payoff except for another programmer to
do further development work.  The problem is that all development you do
on a shoestring budget usually needs to become visible relatively quickly.)
 
In spite of all this, I still think technology integration is one of the
most important things.    Software packages have to evolve with the
times and build on other packages, or else user perception will kill
them, if not maintenance burden.

Another important thing is to provide leadership in new directions.  
Scientists are comfortable with this way of doing business and I think
it is more fun anyway.  One way a small open source project could do
this would be to explore a more mathematically tractable language that
at once also provided all new capabilities.   The two new capabilities
I'd like to see are 1) evolvable agent rules, provided at the language
level, not in an ad-hoc way, so that agent behaviors could be inferred
from observed data (sort like what Phil was talking about), and 2) real
scalable parallelism.  




Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Owen Densmore
Administrator
In reply to this post by Giles Bowkett
> I'd like to see simple naive Bayesian classifiers in Ruby .. <snip>

One issue Redfish deals with quite a bit is use of different  
languages within projects.  We'd like Python to talk to Processing  
(Java) and Processing to talk to Blender.

JDK 1.6 took a tiny step: defining a way for Java to talk to other  
"scripting" languages.  But not the reverse .. how to call Java from  
other languages like Python.

So figuring out a good way to manage using different languages  
together, synergistically, is pretty important.

Two ways to do this are simple file/pipe interfaces, and more  
sophisticated network/port stunts.  The problems comes when you want  
high interactivity between the different modules: for example agents  
programed in Python and visualization in Java.  .. i.e. "round-trip"  
interactions rather than serial interactions.

So maybe my wish for what we do is to figure out multi-language,  
multi-toolkit interoperability.  Ruby talking to R, Python talking to  
Java, and so on.

     -- Owen

Owen Densmore   http://backspaces.net


On Jan 1, 2007, at 12:12 PM, Giles Bowkett wrote:

>> 1 - If you/we were to start an open source project, what would it be?
>> 2 - What open source project would you like to see happen?
>
> I'd like to see simple naive Bayesian classifiers in Ruby for blocking
> blog spam. I was going to do something like this but got distracted.
> Rails is only getting bigger, and blog spam is a real problem.
>
> There's already an OS blog spamblocker being created, but it's
> centralized, rather than decentralized, which I have doubts about,
> even though it seems to make sense. The other point of significant
> doubt there is that the thing is actually run by a guy who got busted
> using Google spam in a huge way.
>
> --
> Giles Bowkett
> http://www.gilesgoatboy.org
> http://gilesbowkett.blogspot.com
> http://gilesgoatboy.blogspot.com
>
> ============================================================
> FRIAM Applied Complexity Group listserv
> Meets Fridays 9a-11:30 at cafe at St. John's College
> lectures, archives, unsubscribe, maps at http://www.friam.org



Reply | Threaded
Open this post in threaded view
|

Open Source Project?

Marcus G. Daniels
Owen Densmore wrote:
> So figuring out a good way to manage using different languages  
> together, synergistically, is pretty important.
>  
A datapoint:  Swarm interfaces are declared using an extended version of
Objective C protocols.   These interfaces are parsed into Lisp data
structures and then dumped in whatever form is needed for a given target
language.   For example, COM dumps IDL, Java dumps Java interfaces, etc.
and each dump compilable stubs as appropriate.  The callout and callin
mechanisms of Swarm use the native interface to the respective language
runtimes as needed to make or accept calls, do object reflection, etc.  
None of this requires any pipes or network features, it's all can be
within single process.  By avoiding the need to ever to do direct
assignment in the interfaces, its feasible to have a simulation made up
of many components in many languages and given a sufficiently fast
interconnect (e.g. RPC on Cell processors), it's also possible to span
objects and messaging over processor boundaries.

Another, arguably better, way to do the same thing is to have compilers
for different languages target an intermediate runtime.  Like .NET does,
or to a somewhat lesser extent the JVM.  My favorite example for Java is
Kawa (http://www.gnu.org/software/kawa).

> JDK 1.6 took a tiny step: defining a way for Java to talk to other  
> "scripting" languages.  But not the reverse .. how to call Java from  
> other languages like Python.
>  
One way to do this is with IKVM (http://www.ikvm.net) and IronPython for
Mono/.NET. (http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython).


Reply | Threaded
Open this post in threaded view
|

more on searchable math and functional programming

Marcus G. Daniels
Hi,

I ran across this paper today, and while on the face of it it might seem
perverse, what it achieves may be relevant.
With these approaches, functional programming is possible and concise
using XSLT, and as MathML is a XML dialect, there's the possibility of
doing search and presentation (and algebra) in a unified way,
browser-based or server side.

http://www.idealliance.org/papers/extreme/proceedings/xslfo-pdf/2006/Novatchev01/EML2006Novatchev01.pdf

Also, I offer this "don't mess with C++" URL, which is kind of amazing.

http://www-static.cc.gatech.edu/~yannis/fc++
.