New Member Jack Waugh

3 views
Skip to first unread message

Jack Waugh

unread,
Jan 24, 2008, 8:18:05 PM1/24/08
to flower-web
Well, I'm interested in web applications, both because I think one can
get paid for working on them, and because I think they help the world,
kind of the way the printing press did.

And because Mr. Lord says Flower will be more efficient in terms of
programmer time than the prior art, that draws my interest. I want to
position myself in the future rather than the past, so as not to be
left behind (again).

Furthermore, I have an interest in programming-language fundamentals
and evolution, and it looks like Flower, because it includes a modern
programming language, may occupy another interesting point in that
constellation, along with other innovative programming languages.

Thomas Lord

unread,
Jan 25, 2008, 12:47:31 AM1/25/08
to flowe...@googlegroups.com
Thank you for the introduction.

We are a bit early hear -- I need to send out some invitations
more broadly to join the list.

Noting especially the public interest nature of your work
(at least per Google) I would like to try to engage you in
exploring a search for "not far out, fun, easy, rewarding"
applications of, perhaps, Flower 0.6 (a hypothetical next
release). I am perhaps a day or two behind keeping up in
correspondence so I'll take that up very soon, hopefully,
but after a short delay.

Regards,
-t

Jack Waugh

unread,
Jan 29, 2008, 6:03:36 PM1/29/08
to flower-web
> exploring a search for "not far out, fun, easy, rewarding"
> applications of, perhaps, Flower 0.6 (a hypothetical next

I'm sure these are not "easy", but they're about all I have thought of
so far. Maybe they'll make another reader think of something easier.

- Multiuser dungeon (MUD). Start with nodes and objects copied from
Crowther and Woods.

- Replacement for Meetup, with lower fees or a revenue structure that
doesn't bite the users so hard (e. g., advertising and no fees, or
option between advertising and fees but where no user receives any
incentive to try to collect compensation for fees from another user).

- General-purpose public wiki wiki web.

- System of exchange of opinions and information organized by
contributer and by topic. One can edit or withdraw one's posting on a
given topic. People rank each other on relevance and order of display
is by some aggregate of the rankings.

Jack Waugh

unread,
Jan 31, 2008, 4:23:41 PM1/31/08
to flower-web
How about an economic modeling game? Some players could enter
parameters for models of behavior of individuals and companies in an
economic system. Some players could design national and central-bank
policies. The system would run each proposed set of policies against
a population of simulated actors whose behaviors would be chosen by
the system from the behavior models entered. A Darwinian process
would be simulated to change the numbers of actors following the given
behaviors: actors with more success in accumulating possessions and
money would produce more "offspring" following the same or similar
behaviors. Ultimately the competition would be among the policies;
players could see how they compare to each other in producing desired
economic results (such as fewer people starving, for example).

Thomas Lord

unread,
Jan 31, 2008, 9:36:49 PM1/31/08
to flowe...@googlegroups.com
Jack Waugh wrote:
> How about an economic modeling game?

Ok. If nothing else this can make a useful thought
experiment.


> Some players could enter
> parameters for models of behavior of individuals and companies in an
> economic system. Some players could design national and central-bank
> policies. The system would run each proposed set of policies against
> a population of simulated actors whose behaviors would be chosen by
> the system from the behavior models entered. A Darwinian process
> would be simulated to change the numbers of actors following the given
> behaviors: actors with more success in accumulating possessions and
> money would produce more "offspring" following the same or similar
> behaviors.

So, very roughly:

It's a multi-user system. User's create their own versions of
bank policies or economic actors. A simulation engine can
run from various combinations of the player-supplied rules and
report back results.


* User Accounts and Sessions

One small annoyance is that while Flower contains a skeleton
for user account management, authentication, and sessions
that skeleton will need to be fleshed out. This is a fairly small
obstacle, it needs doing anyway, and the result would be a
re-usable library that could go into (say) Flower 0.7.
(The "Flower 0.6.x" series is reserved for "unplanned"
updates between 0.5 and 0.7)


* Data Model aka Business Logic

Quite easy to do, I think, is the basic "business logic" of
managing the users' simulation rules. In fact, the "document
oriented" view that Flower gives users might come in handy,
making the system easier to learn and use: Each user could
have their own set of "folders," perhaps keeping each
of their rule sets in a separate "file". For example, I
might have a folder "/home/tom/bank-policies" containing
documents like "Target Inflation" and "Bullion Backing".
The results of simulations could be stored as separate files.
With a little bit of care in the design of the XML of all
of those, and perhaps by turning on some indexing in the
underlying DB, it would be simple to give "overviews" that
analyze sets of those files -- such as a "ranking" display
that compares the success of various rules in various simulations.

* User Interface

The user interfaces for viewing and editing those files
is an area that can probably absorb almost as little or
as much work as people care to put into it. A simple,
static, forms-based interface would take fairly little work.
Lavishing the interface with attention and client-side
Javascript would be limited only by how much work people
wanted to put into it.


* Extensibility

Depending on how much trust is put in the users -- or
how much work is put in to protecting the users from one
another -- the interfaces to the various files and reports
are something that the users themselves could be permitted
to improve (or ask a third party to improve). Users could
similarly add their own "business logic" in the back end to
give themselves new ways to manage their files.

This would be one way in which a Flower-based solution
could really "differentiate" itself from more conventional
approaches.


* Things I Don't Know

I don't know anything about this kind of simulation.
In particular, I don't know what a model for individual
actors or central banks is supposed to look like. Is this
just a set of simple parameters (like numbers and boolean
flags) or do users write some form of program? If
there's a program: what should the programming language
look like?

I don't know how the simulation runs. E.g., I don't
know if this is supposed to be a cellular automata, or a
graph automata, or something completely different.
See below about "the hardest part".

I don't know what exactly you mean by a "Darwinian"
component. Is reproduction a form of mating? Can the
rules for agents be understood as the expression of genes
such that reproduction introduces variations? I'm aware
of systems that evolve parameter settings (e.g., Scott Draves'
"Flame" program). I'm aware of systems that try to
evolve programs by introducing heritable variations in
source code. I'm not sure where in this space you are
pointing.

Also, is it static outcomes that are of interest? Or is it
instead or additionally animation / visualization of
the simulation as it runs? Animation or complex
visualization raises the lower-bound on the amount of
UI work one can get by with, of course.


* The Hardest Part?

The hardest part might be the simulation engine itself,
depending on what exactly it's supposed to do.
If there is not a lot of computation in the simulation
then possibly it is something to just code directly in XQuery.
But, from other simulation applications, and from the
desire to see selection at work, I am guessing that the
simulation engine will be computationally quite expensive.
Depending on how expensive, it might be the kind of thing
that is only economical if coded in highly optimized form.
It might be the kind of thing you'd want to run on a cluster,
even.

As a practical matter, a simple way to accomplish that
in Flower is to code the simulation engine as a stand-alone
"service". Flower programs use services for steps such
as database updates and queries. Services are also for
call-outs to externally supplied computations. As an
example of what I mean by "practical": if you happened to have
a working simulation engine already, and the goal here is
to present it via the web and with this database, then
you could bind the engine into Flower much the same way
as you might create a Ruby or PHP binding for some library --
the difference being that the binding looks like a web service
rather than a new procedure or function. (It is also
possible but not recommended, for many reasons, to add new
built-in functions to XQuery. Just don't. I can explain why
if it matters.)

Putting on my "practical research" hat: An add-on
built-in web service to run the simulator would get the job
done and would be recommended to get things going -- but
I would want to give some thought to how best either
to eliminate the need for it, or to generalize it and make
it programmable-on-the-fly by Flower users.

There are lots of problem domains that will not, any time
soon, fall under the category of things that can be written to
run fast and efficiently in XQuery + Flower filters. Some
other examples are: image processing libraries, DSP functionality,
move generators and search algorithms for turn-based games,
and high-performance pattern matching (such as genome search
tools). One of the long-term challenges for the XQVM / Flower
approach is to develop paradigms of how best to bring
services such as those into the web ecology.


> Ultimately the competition would be among the policies;
> players could see how they compare to each other in producing desired
> economic results (such as fewer people starving, for example).
>


Yes, well, none of us who aren't over-leveraged plutocrats
are especially thrilled with The Fed :-) Perhaps simulations
like this could draw on the wisdom of crowds (and the magic
of simulated selection) to devise new policy recommendations.
Perhaps the simulations would be educational and teach about
things like saving.

It's an interesting idea.


-t

Reply all
Reply to author
Forward
0 new messages