This topic this month at the Boston Water Users Group meeting is inferencing.
We'll show you an application called FramerD that uses Water for managing very
large knowledge bases. We'll also go into more detail on Multiples, including
examples of how to use this powerful feature.
The meeting is Tuesday, May 29 at 7:00 PM in Cambridge, MA. We'll show you how
Autoforms work and go through a series of examples. Remember to bring your Water
programs to the meetings! We provide time for users to present or discuss their
active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
This topic this month at the Boston Water Users Group meeting is Autoforms, the
newest Water language feature. Autoforms is simple a way to automatically
generate Ajax-enabled forms for calling a method or editing an object. The
automatic UI controls of Autoforms optimally create the form based on the
context provided in the program.
The meeting is Tuesday, May 29 at 7:00 PM in Cambridge, MA. We'll show you how
Autoforms work and go through a series of examples. Remember to bring your Water
programs to the meetings! We provide time for users to present or discuss their
active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
The monthly Boston Water Users Group meeting is upon us again. We are hoping to
see everyone on Tuesday, April 24 at 7:00 PM in Cambridge, MA. The meeting topic
will Water-related databases. Join us as we dive into the details of the latest
developments, updates, and demos of ICE and the high speed Water Database.
Remember to bring your Water programs to the meetings! We provide time for users
to present or discuss their active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
The monthly Boston Water Users Group meeting will be held this upcoming Tuesday,
March 27 at 7:00 PM in Cambridge, MA. This month we will be discussing and
demonstrating Water Database and Water Query, an extraordinarily simple way to
store and retrieve business objects. The features of this new software include:
* Transparent and natural persistence of business objects
* Natural query language in ConciseXML
o More English-like than SQL
o Does not require explicit joins
* High-performance: 5,000+ reads per second, 1,000+ updates per second
* Open source version to be available for Java, C++, and C#
* Extremely lightweight - 100KB
The following is a complete example that defines a person business object,
creates an instance that is persisted in a database, and retrieves a record via
primary key.
<biz.data person id=req/>
<person "mplusch"/>
person.of.mplusch
The following is Water Query example that returns one matching record.
<find_x where=x.id.<starts_with "m"/> max_results=1/>
Here is the same call by URL
http://localhost:8080/find_x.xml?where=x.id.<starts_with "m"/> &max_results=1
Limitations of version 1.0
* No transactional support
* Limited multi-user access
* Limited indexing
* Limited query optimization
Remember to bring your Water programs to the meetings! We provide time for users
to present or discuss their active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
The monthly Boston Water Users Group meeting will be held this upcoming Tuesday,
February 27 at 7:00 PM in Cambridge, MA. The topic of the meeting will be
demonstrations of new components of the Clear Methods X-Spec project, including
creating software by describing your problem in English language sentences and
outlines. X-Spec is written in Water and creates service-oriented architecture
applications without traditional programming.
Remember to bring your Water programs to the meetings! We provide time for users
to present or discuss their active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
The monthly Boston Water Users Group meeting will be held this upcoming Tuesday,
January 30 at 7:00 PM in Cambridge, MA. The primary topic of this meeting will
be the new WaterWiki, based on a general-purpose Wiki written in Water and
integrated with Subversion (SVN). The WaterWiki is the means for implementing
the collaborative documentation of the Water language. It also makes use of some
of the forthcoming functionality of X-Spec, built on top of Water.
Remember to bring your Water programs to the meetings! We provide time for users
to present or discuss their active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
Hi water-dudes!
(what do you call yourselves? water-ites? water-mongers? :)
Well just joined the group here and thought I'd post a message with
some random thoughts and questions.
I'd stumbled on Mike Plusch's Water book at a bargain bookstore 2-3
years ago and picked it up and had found it interesting but it's
gathered dust till this morning...
Just downloaded the free trial of the Steam IDE.
Question: The "days before expiration" started with -13!? How many
days do I get to try it out? 13? And will it stop working after
that or will it just start doing a nag screen or something?
I mentioned in my registration for the IDE that I work at a very
conservative company when it comes to embracing new tools or
technologies. We're a Java/J2EE/Websphere shop (a publishing
company), and we also use the entire suite of XML technologies
including XML databases and XQuery along with XSLT with Cocoon, JSPs
and Struts and AJAX etc. etc.
Question: There's a mention of using Water for AJAX on the
description of this user group meeting (now past). Is this
information online now? I can't seem to find it if so...
So the potential for streamlining development where I work with
something like Water is real. However it would be political problem
to get it in. The company tends to be a late rather than an early
adopter when it comes to things like this.
The fact that Water can call out to Java is definitely a positive for
us though. This could have possibly allowed me to bring Water
in "under the covers" as a prototyping or testing tool. But only if
it were free/open source.
Question: I'm a little unclear about the licensing model? Would I
be able to use it in this way for free at a commercial company?
Apparently not right? Or is it only the IDE that's not free? But
the language interpreter is free? Is that what it is?
Even if it's free (which would allow me to get it in without a
political fight), it would still raise some eyebrows. e.g. Even with
all the attention and hype over Ruby and Ruby on Rails no one at my
company is even considering it. And of course it's free. Comments
such as "it won't scale" are typical.
Question: Despite the syntax differences, I was thinking a lot about
Ruby as I read about Water. e.g. Ruby can very easily start
a "webrick" web server with just a line or two of code, and it
has "builder" APIs for easily generating XML where you kind of
interweave XML and Ruby code. Have you written anything attempting
to compare Water solutions to Ruby? With regard to the amount of
code required, scalability, performance, etc.?
Regarding the ConciseXML syntax, I have a computer science background
and I'm recognizing Water as a little bit of a "Lisp with angle
brackets" (right :). Unfortunately most of my coworker developers
would not see that as a positive thing as they have limited
experience with non-traditional languages (though some do know Perl,
and of course XSL isn't for the faint of heart either).
But honestly even I've yet to grok the syntax. Things like:
<font size=6 color=<v "r" "g" "b"/>.<random_value/>> Hello World </>
simply look to my eyes like a syntax error at the moment. I've
learned enough languages to know I'll overcome that, but in terms of
politics that adds to making it a hard sell at my company. We work
with XML all the time and most of my coworkers would just immediately
say "wait a minute that's not valid XML there's a problem here!"
Question: Is there any way to automatically convert from the true
XML standards compliant (DOM/SAX parseable) Water syntax to the
abbreviated ConciseXML syntax? And back again? That could actually
be helpful in selling this since so much of what we do does run
through cocoon and XSLs and gets stored in XML databases and stuff.
Even more basic Question: How could/should I explain to my coworkers
the value of this language being an XML-like syntax? This question
is fundamental right.
e.g. We've had this debate within the company with regards to JSP
tags versus template languages like Velocity. i.e. the argument has
been that Velocity not being angle brackets is *easier to read*
because they can clearly distinguish at a glance the scripting logic
from the html markup that's being conditionally/dynamically
generated.
Whereas with JSPs the tags get kind of lost amongst the html markup
such that it becomes harder to read.
I'm finding Water's approach interesting and incredibly outside-the-
box, but I've yet to be entirely clear as to exactly if or why it's
being XML(-like) is such an advantage.
Regarding my question about AJAX, I was also very curious about the
statement that Water can be used directly in the browser. I've heard
about that before but I don't know precisely what that means. Does
it require a browser plugin or something to work? Is that hard for
the end user's to install or is it fully automated? And once there,
does this mean Water can be directly used to manipulate the DOM
representation of the page in lieu of the brwoser's DOM API?
Lastly, is there anywhere I can read about success stories or read a
list of companies who are already using Water?
Thanks and sorry for the long message,
Darren Cruse
The monthly Boston Water Users Group meeting will be Tuesday,
November 28 at 7:00 PM in Cambridge, MA.
During this meeting we will go into more detail on Water's natural
language processing capabilities and work through examples of this in
action. We will also show the latest demonstration of X-Spec, a
business modeling and application development tool that enables
business managers without programming experience to create working
software by simply describing their requirements in natural language
prose. X-Spec is built on Water and is under development by Clear Methods.
Remember to bring your Water programs to the meeting! We provide time
for users to present or discuss their active programs and receive
expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions
and details at: http://www.bostonwater.org/.
Refreshments will be available.
The monthly Boston Water Users Group meeting will be tomorrow, October 31 at
7:00 PM in Cambridge, MA. The topics of this meeting include a demonstration of
the new Water to Java interfacing capability known as Americano. We'll also go
into the package system and as time permits we'll discuss a new Water capability
for providing direct PowerPoint output. The Water PowerPoint output makes use of
the Java to Water interfacing. Fry is also prepared to demonstrate the growing
Water capabilities in understanding natural languages.
Remember to bring your Water programs to the meetings! We provide time for users
to present or discuss their active programs and receive expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and details
at: http://www.bostonwater.org/ . Refreshments are available.
<http://www.bostonwater.org/> Boston Water
[Non-text portions of this message have been removed]
The monthly Boston Water Users Group meeting will be Tuesday,
September 26 at 7:00 PM in Cambridge, MA.
Planned for this meeting is a demonstration and discussion of Water
for deployment in a Grid Computing environment. Water has been used
with GridServer software from Data Synapse for high performance and
high reliability applications. We'll also show a natural language
parser written in Water, enhancements to Water's capabilities in the
areas of SOAP, debugging, database, email, dynamic HTML menu-ing, and
image serving. Fry has also written a music generation program which
he will demonstrate.
Remember to bring your Water programs to the meetings! We provide time
for users to present or discuss their active programs and receive
expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions
and details at: http://www.bostonwater.org/.
Refreshments will be available.
The next meeting of the Boston Water User Group will be September 26.
There will be no meeting in August.
Planned for the agenda are demonstrations of new Water capabilities
including debugging, database, sending email, dynamic HTML menu-ing
capabilities, image serving, and additions based on Ajax for rich
Internet applications.
Keep informed at Bostonwater.org.
The monthly Boston Water Users Group meeting will be tomorrow, Tuesday,
July 25 at 7:00 PM in Cambridge, MA.
Topics this month will include "packages in Water", Water wrappers
for processing English language sentences, a new Water database
browser , new features for XML input and output, image serving, and
additions based on Ajax for rich Internet applications.
Remember to bring your Water programs to the meetings! We provide time
for users to present or discuss their active programs and receive
expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions
and details at: http://www.bostonwater.org/.
Refreshments are available.
The monthly Boston Water Users Group meeting will be next Tuesday,
June 27 at 7:00 PM in Cambridge, MA.
Planned for the agenda are demonstrations of new Water capabilities
including, sending email, dynamic HTML menu-ing capabilities, image
serving, and additions based on Ajax for rich Internet applications.
Remember to bring your Water programs to the meetings! We provide time
for users to present or discuss their active programs and receive
expert help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions
and details at: http://www.bostonwater.org/. Refreshments are available.
The monthlyBoston Water Users Group meeting will be next Tuesday, May 30
at 7:00 PM in Cambridge, MA.
We willdemonstrate methods for combining our previously shown AJAX
technology with Dynamic HTML to rapidlydevelop interfaces using both
subwindows and drag and drop in the browser. Inthe process, we will also
demonstrate an easy method for precise positioning ofcontent on the web
page.
Remember to bring yourWater programs to the meetings! We provide time
for users to present or discusstheir active programs and receive expert
help.
Boston Water meetings are held at One Broadway, 14th Floor, Cambridge,
Massachusetts. On-street parking is free after 6:00 PM. Directions and
details at: http://www.bostonwater.org/ <http://www.bostonwater.org/>
. Refreshments are available.
[Boston Water] <http://www.bostonwater.org/>
[Non-text portions of this message have been removed]
Hi Stemen,
Thanks for your quick solution. It is great.
Best regards
Venkat
----- Original Message -----
From: Merrick Stemen
To: waterlanguage@yahoogroups.com
Sent: Friday, May 12, 2006 8:07 AM
Subject: [Water] Re: How to set my classes into IDE classpath instead of
dropping them into lib/ext
Here's an example I hacked together shortly after you posted the
question. The first part just retrieves the class; the second part
calls a couple of methods in the class.
(My "mjvmBus" class has a "value" field, and simple "setValue"
and "getValue" methods.)
The commented portions in the first part create a new instance of
the class and call the functions to return a value instead of the
class itself.
I'll have to try to write one using the other code I just posted in
the last message.
_Merrick
<!-- Loads a class dynamically -->
<!-- 2006.04.05.01.55 -->
<!-- by Mr. Merrick J. Stemen -->
<set mjvmBus =
<java />.<execute>
java.net.URL[] url_list = new java.net.URL[1];
url_list[0] = new java.net.URL("file:///C:/java/");
the_class = java.net.URLClassLoader.newInstance
(url_list).loadClass("mjvmBus");
return the_class;
// baby = the_class.newInstance();
// baby.setValue( 50 );
// return baby.getValue();
</execute>
/>
mjvmBus
<java
it=mjvmBus.<<get_java_method "Class" "newInstance" /> /> />.<execute
>
it.setValue( 50 );
it.getValue();
</execute>
--- In waterlanguage@yahoogroups.com, "K Venkata Giri Babu"
<venkata.giri@...> wrote:
>
> Hi,
>
> I need help to setclass path for 3rd party jar/classes or own
classes
> without putting them into JRE lib/ext directory.
>
> Please help on this.
>
> Thanks & regards
> Venkat
>
SPONSORED LINKS Basic programming language Computer programming languages
Programming languages
Java programming language
------------------------------------------------------------------------------
YAHOO! GROUPS LINKS
a.. Visit your group "waterlanguage" on the web.
b.. To unsubscribe from this group, send an email to:
waterlanguage-unsubscribe@yahoogroups.com
c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
------------------------------------------------------------------------------
[Non-text portions of this message have been removed]
Here's an example I hacked together shortly after you posted the
question. The first part just retrieves the class; the second part
calls a couple of methods in the class.
(My "mjvmBus" class has a "value" field, and simple "setValue"
and "getValue" methods.)
The commented portions in the first part create a new instance of
the class and call the functions to return a value instead of the
class itself.
I'll have to try to write one using the other code I just posted in
the last message.
_Merrick
<!-- Loads a class dynamically -->
<!-- 2006.04.05.01.55 -->
<!-- by Mr. Merrick J. Stemen -->
<set mjvmBus =
<java />.<execute>
java.net.URL[] url_list = new java.net.URL[1];
url_list[0] = new java.net.URL("file:///C:/java/");
the_class = java.net.URLClassLoader.newInstance
(url_list).loadClass("mjvmBus");
return the_class;
// baby = the_class.newInstance();
// baby.setValue( 50 );
// return baby.getValue();
</execute>
/>
mjvmBus
<java
it=mjvmBus.<<get_java_method "Class" "newInstance" /> /> />.<execute
>
it.setValue( 50 );
it.getValue();
</execute>
--- In waterlanguage@yahoogroups.com, "K Venkata Giri Babu"
<venkata.giri@...> wrote:
>
> Hi,
>
> I need help to setclass path for 3rd party jar/classes or own
classes
> without putting them into JRE lib/ext directory.
>
> Please help on this.
>
> Thanks & regards
> Venkat
>
Here's a link to the Java forum that tells how to add files to the
classpath dynamically. This code should be able to be used in a
<java />.<execute> block to add files to the classpath.
http://forum.java.sun.com/thread.jspa?threadID=300557
_Merrick
--- In waterlanguage@yahoogroups.com, "K Venkata Giri Babu"
<venkata.giri@...> wrote:
>
> Hi,
>
> I need help to setclass path for 3rd party jar/classes or own
classes
> without putting them into JRE lib/ext directory.
>
> Please help on this.
>
> Thanks & regards
> Venkat
>
Hi,
I need help to setclass path for 3rd party jar/classes or own classes
without putting them into JRE lib/ext directory.
Please help on this.
Thanks & regards
Venkat
--- In waterlanguage@yahoogroups.com, "JohnECobo" <johnecobo@y...>
wrote:
>
> When building a web application would it be normal to use the more
> dynamic water based CSS as described in the book or to simply use a
> fixed CSS file (external to the html page) ?
Either works.
>
> If using an external CSS file how do you link pages to it ?
>
send the link tag with the rest of your html code in Water. use an
absolute url.
<link rel="stylesheet"
type="text/css"
href="http://hosturl:port/sheet.css" />
You could define your CSS "external" page in the class connected to
your server.
<defclass skyserver>
<!-- uses the stylesheet method 'getstyle' below -->
<defmethod htm_large>
<html><head><link rel="stylesheet" type="text/css"
href="getstyle?" /></head>
<body>Hello</body>
</html>
</defmethod>
<!-- does not use the stylesheet -->
<defmethod pagetwo>
<body>Pagetwo</body>
</defmethod>
<!-- stylesheet method; returns string -->
<defmethod getstyle>
"body { background:skyblue; }"
</defmethod>
</defclass>
> How does one access add css to the <body> tag. Say if you wanted
to
> give every page a blue background ?
>
great idea. We can redefine the constructor for the <hypertext> tag
so the body tag will have our special style.
hypertext.<defmethod make>
<set
N=<<get_java_method "Misc" "init_for_hypertext_instance" "Record"/>
_new_object
/> />
<if> N._name.<is "body" />
N.<set style="background:skyblue" />
else
N
</if>
</defmethod>
every <body> tag on your server should include "skyblue" by default.
_Merrick
Is Water meant for web applications where one must retain session
paramaters (logged in with user id = xyz, preferences, user role,
etc.) If so, how does one maintain state ? This is normally done
by the web server, but I don't see such a thing in the Water book.
Thanks,
JC
Hi, I am new to Water and just investigating at the moment.
When building a web application would it be normal to use the more
dynamic water based CSS as described in the book or to simply use a
fixed CSS file (external to the html page) ?
If using an external CSS file how do you link pages to it ?
How does one access add css to the <body> tag. Say if you wanted to
give every page a blue background ?
Thanks,
JC
'one "two" three'.<key_of '"'/>
'one "two" three'.<key_of <string>"</string> />
'one "two" three'.<key_of """ />
--- In waterlanguage@yahoogroups.com, "wesisa" <wesisa@y...> wrote:
>
> how do i find the position of a double quote ' " ' using key_of
>
I'm trying to find something analogous to a sleep() function in Water.
I would like to be able to stop processing for a given number of seconds.
Is there something like this in Water? Or do I need to busy wait.
By the way, thanks for all you help so far.
Here's some code using the example you gave:
<!-- Set up web resource -->
<set
x=<web "http://citeseer.ist.psu.edu/Kobayashi00information.html"/> />
<!-- Convert to XHTML and Execute content -->
<set y=x.content.<html_to_xhtml />.<execute /> />
<!-- Extract all 'a' anchor tags one per line (takes several
seconds) -->
y.<get_with_value a_key="_parent" a_value=a returns='all' />.
<join <br /> />
The method 'get_with_value' returns 'all' of the links into a vector
so I can use the links, search them, or whatever. This example
displays the links.
Also, you could chain it all together like this (same code sans
comments):
<web "http://citeseer.ist.psu.edu/Kobayashi00information.html"/>.
content.
<html_to_xhtml />.
<execute />.
<get_with_value a_key="_parent" a_value=a returns='all' />.
<join <br /> />
You could make a method of this and pass a URL as the parameter to
extract links from just about any properly formed web page.
<defmethod extract_links a_url="">
<web a_url />.
content.
<html_to_xhtml />.
<execute />.
<get_with_value a_key="_parent" a_value=a returns='all' />.
<join <br /> />
</defmethod>
<extract_links "http://citeseer.ist.psu.edu/Kobayashi00information.ht
ml" />
<extract_links "http://www.mit.edu/" />
_Merrick
--- In waterlanguage@yahoogroups.com, "skramer072" <skramer072@y...>
wrote:
>
> I see a lot of examples of how to convert Water's HTML objects into
> strings, but I can't find any examples of how to convert a string
of
> HTML into hypertext objects.
Yes, it is natural in Water to convert HTML into Water objects.
In fact, you just execute the string because the HTML tags
are defined already.
"<b> hi </b>".<execute/>
Now, this assumes that the HTML is proper XHTML, and this
is rarely the case. To convert HTML to XHTML, call html_to_xhtml
on the string. It will clean up HTML and make it XHTML.
"<b> hi ".<html_to_xhtml/>
result="<b> hi</b>"
You can then execute the string:
"<b> hi ".<html_to_xhtml/>.<execute/>
result=<b 0="hi"/>
Helpful hint:
Sometimes, it is better to grab a substring of
the page using 'key_of' to locate the start
and end of a section (say one table with data).
Then convert that substring using
the above technique.
<Mike>
----- Original Message -----
From: skramer072
To: waterlanguage@yahoogroups.com
Sent: Thursday, November 10, 2005 6:18 AM
Subject: [Water] Parsing html pages
I see a lot of examples of how to convert Water's HTML objects into
strings, but I can't find any examples of how to convert a string of
HTML into hypertext objects.
I am downloading a web page and trying to parse it. I'm using the
content attribute of the <web/> object to get the contents of the site
as a string. It seems to me that it should be natural in Water to get
the entire webpage I am downloading as objects.
Here's how I download the page:
<set x=<web "http://citeseer.ist.psu.edu/Kobayashi00information.html"/> />
I'm getting the content like so:
x.content
------------------------------------------------------------------------------
YAHOO! GROUPS LINKS
a.. Visit your group "waterlanguage" on the web.
b.. To unsubscribe from this group, send an email to:
waterlanguage-unsubscribe@yahoogroups.com
c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
------------------------------------------------------------------------------
[Non-text portions of this message have been removed]
I see a lot of examples of how to convert Water's HTML objects into
strings, but I can't find any examples of how to convert a string of
HTML into hypertext objects.
I am downloading a web page and trying to parse it. I'm using the
content attribute of the <web/> object to get the contents of the site
as a string. It seems to me that it should be natural in Water to get
the entire webpage I am downloading as objects.
Here's how I download the page:
<set x=<web "http://citeseer.ist.psu.edu/Kobayashi00information.html"/> />
I'm getting the content like so:
x.content