Online Chat Sessions

Transcript of AllegroServe

Transcript of AllegroServe

John Foderaro -- (9:48:06 PDT)
Instructions for using this chat are here: http://franz.com/resources/educational_resources/about.chat.php3

John Foderaro -- (9:51:28 PDT)
The chat will begin at 11am PDT. If you want to try a test post or two to make sure you're comfortable with the chat, please go ahead.

Francis Leboutte -- (9:59:20 PDT)
Hello,
Is 11am PDT in a few minutes or 1 hour later?


John Foderaro -- (9:59:58 PDT)
It's one hour from now. Check the timestamp on each message to see what time it is here. Thanks for joining us.

Steve Jacobson -- (10:02:18 PDT)
verifying I'm up...


Rick Wojcik -- (10:04:02 PDT)
Test

Luca Gilardoni -- (10:04:31 PDT)
Verifying I'm up too.

Marek Lugowski -- (10:08:54 PDT)
Checking in from Evanston, IL (Northwestern)



Francis Leboutte -- (10:25:09 PDT)
It's 7.20 p.m here (Belgium). I'm afraid I have to quit
in a few minutes (primary school end fair of my son).
I'll read the transcript of the chat tomorow or when
available.
I don't know what kind of questions are going to be
answered. As I am ignorant regarding WEB application
development, I would be interested in general
information about AServe. Information that could be
useful to present to managers and customers.
For example, how does AServe compare with well known
WEB servers (strength, weakness, application field,
...). What are AServe development plans for future?
Thank you anyway and have fun.


John Foderaro -- (10:25:55 PDT)
thanks for stopping by

Ahmon Dancy -- (10:35:31 PDT)
Greetings


John Foderaro -- (10:36:35 PDT)
While you're waiting for the chat to start you might want to check out the source for this chat program at
chat.cl

We'll have a 'formal release' of this program along with documentation at some point. The code is a bit complex since it supports multiple clusters of separately administered chats. The code to simply support what you see here would be much smaller.


Luca Gilardoni -- (10:37:52 PDT)
Same time (7.30 pm) in Italy - I will be there for a bit
more but I don't know for how long, so I will put forward
a few very direct question.
1) How do AServe compare with CL-HTTP?
2) Is (or will - or is but will not be later) Aserve Open SOurce (GPL/..)?


Joe Fasel -- (10:42:20 PDT)
Joining in from Los Alamos

Bill Davis -- (10:49:29 PDT)
Hi John!

Ahmon Dancy -- (10:49:40 PDT)
Hi Bill!

Bill Davis -- (10:51:15 PDT)
Do we officially start in ~10 minutes?

John Foderaro -- (10:51:44 PDT)
yep.. Hi Bill

Frank Mayfield -- (10:53:51 PDT)
Hello John

Bill Davis -- (10:54:35 PDT)
Hi Frank

Frank Mayfield -- (10:55:07 PDT)
hiya bill - fancy meeting you here

John Foderaro -- (10:55:12 PDT)
Hello Frank, welcome

Harry McElroy -- (10:56:29 PDT)
Hello, everyone. This is Harry from Performigence

Ahmon Dancy -- (10:56:50 PDT)
Hi Harry

Frank Mayfield -- (10:57:05 PDT)
welcome, Harry

John Foderaro -- (10:59:38 PDT)
looks like I found a bug in the chat already... blanking the seconds field doesn't turn off the auto refresh... Oh well, that's easy to fix but too late for this chat.

John Foderaro -- (11:00:15 PDT)
I guess we should get started..

First, thanks for showing up.


Jans Aasman -- (11:00:31 PDT)
Hello everyone, my name is Jans Aasman van KPN Research in the Netherlands

John Foderaro -- (11:01:24 PDT)
Let me answer the question below... why write another web server, why not just use cl-http?

There are a lot of different reasons
1. we have different ideas on how to structure the web server that
we want to explore.
-- minimum size versions for installation in an existing application
-- using separate operating system processes vrs lisp threads in single process
2. We are building lots of support in acl for servers of all kinds
and a web server is test application to build to verify that we've
done things correctly.
3. We need the abilty to synchronize the development of the web
server with our ACL release schedule and to include the code with
our releases. We have no control over the cl-http release schedule
and aren't allowed to redistribute versions of the code.
4. We want to be able to include the webserver in our own
commercial applications and we want our customers to be able
to build commericial web applications. The cl-http license
has issues in this regard.
5. It's good to have independent development of things as it
allows more ideas can be tested. There can also be some
cross-polination. Both web servers are open source so sharing
should occur.





Rick Wojcik -- (11:01:27 PDT)
Hi, I'm Rick Wojcik from Boeing

John Foderaro -- (11:02:57 PDT)
question 2 was
2) Is (or will - or is but will not be later) Aserve Open SOurce (GPL/..)?

the answer is Yes. It is LGPL'ed and will always be.


Steve Jacobson -- (11:03:54 PDT)
I'm interested in hearing more about:

using separate OS processes vs. lisp threads

John Foderaro -- (11:05:09 PDT)
it's an interesting architecture choice....... with separate os threads you can avoid a GC stopping all web serving.... however you don't get the advantage of sharing the lisp address space in the webserver (which is important for this chat program for example)

John Foderaro -- (11:05:46 PDT)
Does anyone feel that it's a bad idea to create yet another web server?

Rick Wojcik -- (11:06:36 PDT)
John, we are ecstatic about it. We have immediate plans to incorporate Allegroserve in our commercial application, the Boeing Simplified English Checker

John Foderaro -- (11:06:41 PDT)
hmm.. maybe that new background is distracting...

Harry McElroy -- (11:07:01 PDT)
I think that it is good to have choices.

Bill Davis -- (11:07:02 PDT)
not a bad idea, but I think folks might be confused about where to put their energy

Bill Davis -- (11:08:06 PDT)
Having a central focus for maintenance, and having a focus on commercial deployment is a huge plus

John Foderaro -- (11:08:40 PDT)
Our goal wasn't to split the lisp webserver market but to grow it... having control of the technology means that we can deliver bullet proof servers which people want for business purposes.

Luca Gilardoni -- (11:09:13 PDT)
I do not personally feel it's a bad idea having
yet another web server. But I suspect the implication
of this is that there will be no more any
serious ACL/CL-HTTP. Bill Davis has a point on
where to put energy .



John Foderaro -- (11:10:15 PDT)
We are continuing to make the cl-http port work... but if there were a cl-http user wanting to take over the acl port we would let them be in charge and would help them any way we could.

John Foderaro -- (11:10:44 PDT)
since we don't use cl-http we don't hear about the bugs until people tell us.

John Foderaro -- (11:11:10 PDT)
Another question was........what are we working on now...

html parser - we have one working, just have to publish it.
proxy - work is being done on that right now.
secure sockets - we're working on getting SSL into the ACL 6.0 streams
and then AllegroServe will have secure sockets.


Rick Wojcik -- (11:11:16 PDT)
In our case, we can't use cl-http because of the licensing issue. Franz has just made their product much more valuable to us.

Kevin Layer -- (11:12:14 PDT)
How many lines of code is this chat program (lisp + aserve)?

Nice dynamic switch of the table....


John Foderaro -- (11:12:21 PDT)
We definitely want people to use allegroserve for commercial purposes, and we want to support people doing that.

Jans Aasman -- (11:12:31 PDT)
Rick, I would like to know more about that, did you explore the possibilities and impossibilities in depth with the cl-http licencing scheme

John Foderaro -- (11:13:00 PDT)
the chat program is 1368 lines.. and aserve is

193 779 5737 authorize.cl
989 3326 27816 client.cl
589 2442 16333 decode.cl
258 721 7313 load.cl
1 3 34 loadonly.cl
87 327 2544 log.cl
125 523 3405 macs.cl
1943 6337 54936 main.cl
675 2468 18120 parse.cl
1387 4501 43661 publish.cl
6247 21427 179899 total

Bill Davis -- (11:13:11 PDT)
Regarding energy: one question we have is what facilities will be /are in AllegroServe vs. what's now in CL-HTTP.
Specifically, we're curious how much ground we have to cover to duplicate the things we now use/take for granted in CLHTTP. One can argue that CLHTTP is bloated, but its nice to have something ready made.
John, can you speak to those "facilities", i.e., those comment macros ("with-table", etc.) that provide some common capabilities?

Rick Wojcik -- (11:13:59 PDT)
No, we didn't want to go near cl-http after we heard about the problems. We had a working solution with Perl CGI scripts. Allegroserve wipes out all our configuration problems with Perl at no extra cost to us. We need to keep our product within reach of people's pocketbooks.

Bill Davis -- (11:15:27 PDT)
(A side note to whoever moderates this transcripts... I would find it very useful to have email links/contracts for the participants; others might like that, too. Just FYI.]

John Foderaro -- (11:15:49 PDT)
for Aserve we provide rock-bottom html generation capaibilities.... very simple but very easy to use and remember.

one could write cl-http like macros but I would discourage their use since one advantage of the aserver html generation macros will been seen when you see what our html parser generates -- namely exactly what is needed by the html macros to generate the html........... having the identical form is great for editing web pages on the fly.

Joe Fasel -- (11:16:13 PDT)
About the HTML parser, is it strictly HTML, or more general
SGML?

John Foderaro -- (11:16:30 PDT)
ok... my email address is jkf@franz.com


Bill Davis -- (11:16:55 PDT)
Rick, I don't want to sideline this AServe discussion, but in a nutshell what are/were the CLHTTP problems? sounds like it was a big $ issue?
(direct me to offline if you prefer)

John Foderaro -- (11:16:59 PDT)
the html parser is strictly html... (and it handles illegal html too)........ we are working on an xml parser too

Bill Davis -- (11:17:05 PDT)
my email is wsdavis@cyntergyllc.com

Jans Aasman -- (11:17:30 PDT)
j.aasman@kpn.com

Bill Davis -- (11:17:44 PDT)
Rick-- I mean "what were the CLHTTP **Licensing** problems..."

Ahmon Dancy -- (11:17:50 PDT)
dancy@dancysoft.com

Harry McElroy -- (11:17:58 PDT)
My email is hmcelroy@performigence.com
phone: 213-743-4036

Steve Jacobson -- (11:18:04 PDT)
sdj@franz.com

Luca Gilardoni -- (11:18:13 PDT)
Correct. gil@quinary.it
Quinary is an italian system integration company.
With roots in lisp since when JKF was a name on the cover
of Franz Lisp, Opus ... old enough.


Joe Fasel -- (11:18:15 PDT)
jhf@lanl.gov

Kevin Layer -- (11:18:20 PDT)
layer@franz.com

Frank Mayfield -- (11:18:27 PDT)
fmayfield@cyntergyllc.com

Fritz Kunze -- (11:18:40 PDT)
fkunze@franz.com


Jim Schmolze -- (11:18:41 PDT)
A few technical questions for a non-cl-http user
but someone who uses Perl CGI scripts with MySQL.
1. Does Allegroserve support sessions easily?
I.e., I would like to create a session over several
HTML Pages by giving only an authorization to a
username and password. In the support of sessions,
I would like to keep arbitrary Lisp structures
around from page to page.
2. Is there any special connection to supported
database systems such as MySQL?


Rick Wojcik -- (11:18:57 PDT)
OK, Bill. But let's discuss this offline.

Rick Wojcik -- (11:19:10 PDT)
richard.h.wojcik@boeing.com


Kevin Layer -- (11:19:14 PDT)
Steve or John, you might want to address the issue of having separate html and xml parsers.

Bill Davis -- (11:19:42 PDT)
kevin, agreed

John Foderaro -- (11:20:12 PDT)
1.. session support -- there's no session support at this point. it's an important item though. For this chat you'll note that I manufactured a session like facility using manufactured strings (see the url for this chat to see)

Jans Aasman -- (11:20:27 PDT)
And I would like to hear when your SSL stuff will be ready

Harry McElroy -- (11:20:29 PDT)
I am also interested in the session issue. We have to maintain dialog in an expert system type of way.

Ahmon Dancy -- (11:20:39 PDT)
built-in session support would be a majoar plus.

John Foderaro -- (11:21:26 PDT)
we have no special connection to databases other than our ODBC code, which works fine in the server. MySQL has MyODBC so it should work fine

Kevin Layer -- (11:21:56 PDT)
Regarding databases... one could use AllegroStore.

John Foderaro -- (11:22:21 PDT)
the easiest way to do authorization for sessions is cookies.. but lots of people hate them.

It's an important issue and we will solve it if some other allegroserve user doesn't beat us to it

Jans Aasman -- (11:22:35 PDT)
does AllegroStore allready run on Linux??

John Foderaro -- (11:22:59 PDT)
this chat is running on Linux...... (in allegroserve obviously)

Kevin Layer -- (11:23:00 PDT)
AllegroStore runs on windows, solaris, hp-ux (both 11.00 and 10.20) and IRIX.

John Foderaro -- (11:23:20 PDT)
oh---- sorry... you said AllegroStore.. I read it wrong

Kevin Layer -- (11:23:28 PDT)
AllegroServe runs on all lisp platforms we support.... in case it wasn't clear

Steve Jacobson -- (11:23:48 PDT)
eXcelon hasn't released a Linux beta for ObjectStore, so we're waiting for that...

Kevin Layer -- (11:24:17 PDT)
for those that don't know, AllegroStore uses objectStore

Steve Jacobson -- (11:24:19 PDT)
(for AllegroStore on Linux)

Bill Davis -- (11:24:23 PDT)
John, it's not clear what you mean by "rock-bottom html generation capaibilities" and the "identical form...for web pages".
I know it sounds like a "you have to see it to understand what I mean" think, but do you have any examples that would elucidate why those "cl-http macros" aren't needed in Aserve?


John Foderaro -- (11:24:49 PDT)
Jans asked about SSL........ we're going to try to get that into ACL 6.0......using the openssl libraries.....


Kevin Layer -- (11:25:47 PDT)
one issue with teh OpenSSL libraries is the platforms we support... we're not sure they run on as many as we do.

Jans Aasman -- (11:25:48 PDT)
about SSL: that would be a very, very strong point if you could make that as transparant as possible

Harry McElroy -- (11:25:51 PDT)
Is there any plans or interest in adding XML generation in addition to parsing for AllegroServe?

John Foderaro -- (11:26:07 PDT)
Bill, have you seen the examples of AllegroServe code? for example this chat program. I'd be curious what you thinking is missing from the html generation code in it that you think would be better done with with-table , etc.

Kevin Layer -- (11:26:37 PDT)
Jans re: SSL: that's our plan.

Bill Davis -- (11:26:59 PDT)
John, haven't seen the examples. Is there a pointer handy to pass out here?

Steve Jacobson -- (11:27:30 PDT)
We plan to do XML generation, though we're not sure if it will be content only or also dtd and other stuff

John Foderaro -- (11:27:44 PDT)
Bill... here's the chat program we're using chat.cl
look for "(html " to see examples


Rick Wojcik -- (11:29:51 PDT)
The XML parser would be extremely useful for us. DTD support would be very helpful.

Steve Jacobson -- (11:30:07 PDT)
suggestions for chat applet enhancments:

1. participant list

2. private messages to a given participant

John Foderaro -- (11:30:11 PDT)
One question people sent in email was -- what about working with Apache and IIS.

The answer there is that most convenient way is to tell those servers to act as a proxy.. sending a certain subset of requests to them to AllegroServe.



Kevin Layer -- (11:30:26 PDT)
Rick: can you describe what type of DTD support you'd like?

Steve Jacobson -- (11:30:48 PDT)
the XML parser will parse DTD's and do entity substitution. It is not currently planned to do validity checking

Rick Wojcik -- (11:30:53 PDT)
I'd also like to be able to save the chat stream to a file and "whisper" to individuals in the chat room.

John Foderaro -- (11:31:04 PDT)
It's very simple to tell Apache to act as a proxy for a subset of the url address space.

Bill Davis -- (11:31:29 PDT)
For those of us who are ignorant would you also define what DTD is? :)


John Foderaro -- (11:31:59 PDT)
Those are good chat suggestions.

Rick Wojcik -- (11:31:59 PDT)
We need to integrate our language checking tool with XML authoring environments. As it is, we generate checker reports in XML according to a rudimentary DTD that we've defined.

John Foderaro -- (11:32:56 PDT)
we will send a complete transcript of this chat to everyone who posted their email address. (or maybe we'll send a pointer to a url containing the complete session).

Steve Jacobson -- (11:33:05 PDT)
DTD: document type declaration

short explanation: it's metadata about the text in the document

Joe Fasel -- (11:33:16 PDT)
I've been away for the last 15 minutes because of a power failure. Did I miss anything? ;-)

Rick Wojcik -- (11:33:19 PDT)
DTD = Document Type Definition. It defines the logical meaning of the tags. Their physical definition is handled by other means.

Bill Davis -- (11:34:12 PDT)
thanks, i understand that, Rick. I've been working preliminarily with vxml for voice-control of a site

Bill Davis -- (11:34:49 PDT)
Joe: set your messages to a large count and your "seconds" to a large number and scroll back through


John Foderaro -- (11:35:16 PDT)
Let me ask a question...... we spent a lot effort open sourcing AllegroServe..

what that time well spent?
Do you care that the source is out there?
Do you ever look at the source, or are you just comforted that you could if you wanted to?



John Foderaro -- (11:35:46 PDT)
(what->was)

Ahmon Dancy -- (11:36:04 PDT)
I'm down w/ open source

Steve Jacobson -- (11:36:19 PDT)
word

Rick Wojcik -- (11:36:37 PDT)
John, Your time was very well spent from our perspective. I don't personally look at or care about the source. We just needed liberation from the CGI monkey. Now we can offer customers a much simpler installation process.

Bill Davis -- (11:37:12 PDT)
For me, it's more comfort to see the open source -- we'd use it to troubleshoot when the documentation isn't clear enough. We also use for programming "inspiration" as an example set.

Harry McElroy -- (11:38:03 PDT)
Open source is helpful to us. We are looking at stylesheet generation and need to know how to fit that in the scheme.

Ahmon Dancy -- (11:38:06 PDT)
I agree with Bill on the inspiration and troubleshooting features of open source

Arturo Medrano -- (11:38:24 PDT)
Hello all, greetings from Mexico

Jans Aasman -- (11:38:32 PDT)
for me it also just an enormous comfort to know that it is open source, and, that if you do a good job, others will add their own improvements to it

John Foderaro -- (11:38:35 PDT)
regarding cgi-bin.....

I did some benchmarks and running apache where it has to fork to run a cgi-bin program (which is stupid, I admit) results in a max hit rate of 97 pages per second (on my home linux machine).
Doing the same thing with allegroserve dynamically generating the page gave me a max rate of 521 hits per second.



Joe Fasel -- (11:38:52 PDT)
I very much appreciate the open sourcing.

John Santore -- (11:39:03 PDT)
I find the source code very useful. I'm in an academic environment
So I don't get the opportunity to see that much well designed code.
Being able to see how things are done is very useful to me since I
too have often found some of the documentation difficult to follow.

Bill Davis -- (11:39:21 PDT)
John: regarding the example file of this chat.cl...
I see what you mean by more direct html -- makes sense now.
Interesting that in clhttp there's always a "stream" argument everywhere being passed around. I don't (at first glance) see this in the chat.cl file. What is the "(html ...)" function actually doing to control the destination of the stream?

John Foderaro -- (11:39:43 PDT)
Well I'm gratified to see that the work to open source it was worthwhile.

Joe Fasel -- (11:40:42 PDT)
I found the html generation in clhttp to be a bit clumsy. Do you think Aserve is an improvement?

Ahmon Dancy -- (11:40:46 PDT)
As a lisp novice, I found allegroserve to be quite nice. I wrote a webmail program in a few days.

John Foderaro -- (11:41:04 PDT)
Bill - if you notice in cl-http code the exact same stream argument is passed from form to form.......that's redundant.

in aserve there is a special variable *html-stream* bound by the with-http-body macro, and that's the default place to send html.

by removing the stream arg the structure of the document is clearer.

John Foderaro -- (11:41:37 PDT)
Joe -- please look at the examples of html generation in AllegroServe and let me know what you think.

Steve Jacobson -- (11:41:52 PDT)
regarding Bill's question about why there are separate HTML & XML parsers:

The HTML parser is much looser because of all the "grandfathered" HTML out there. It's basically two different problems. I guess they come together in XHTML...

Bill Davis -- (11:42:07 PDT)
John: absolutely. So, the with-http-body is the beginning of a "page", then?

Joe Fasel -- (11:42:39 PDT)
John, I think you've answered both Bill's and my question.
The clumsiness is largely to do with the stream parameter.

John Foderaro -- (11:43:16 PDT)
Yes Bill, that's correct.

my goal with aserve was to make simple things simple to do.
If you want to do complex things then you have to work.


Bill Davis -- (11:43:32 PDT)
we could spend all day discussing CLHTTP "clumsiness"

John Foderaro -- (11:44:09 PDT)
I have to demonstrate the chat's ability to put in an image..

Bill Davis -- (11:44:13 PDT)
OK, John can you name a few things that, without that "work", I could do in CLHTTP now that I can't do in AllegroServe now?

John Foderaro -- (11:45:35 PDT)
I'm not a cl-http expert, but I do know that cl-http has a proxy system (ours isn't ready yet).. and a web walker (Kevin Layer wrote one but we just us that internally).


Kevin Layer -- (11:46:06 PDT)
John, I'm curious what you had to do to put the image up...

John Foderaro -- (11:46:17 PDT)
cl-http worries about generating code for different browser versions.
AllegroServe puts that burden on you.


Bill Davis -- (11:46:33 PDT)
what about support for embedding javascript, passing parameters to javascript, etc.

Kevin Layer -- (11:46:44 PDT)
The web walker I wrote will be available with ACL 6.0, source included.

I wrote it to check links on our website.


John Foderaro -- (11:46:52 PDT)
To display an image just put in the url of an image somewhere on the net....... beginning with http and ending with jpg or gif

Kevin Layer -- (11:47:45 PDT)
Btw, I've never run across a link checker anywhere, which surprised me.

John Foderaro -- (11:47:46 PDT)
we don't do anything with javascript generation...... you could insert it in the html as a string.....

is that an important feature of cl-http to you?


John Foderaro -- (11:48:15 PDT)
cl-http's web walker isn't a link checker per se.. but probably could be made to be one.


Joe Fasel -- (11:49:09 PDT)
In fact, I think the javascript generation in clhttp amounts to inserting the string, but in a roundabout way.

Bill Davis -- (11:49:09 PDT)
yes, we use a few javascript routines to simplify the site interaction. We need to get parameters from lisp into javascript & back.

Frank Mayfield -- (11:49:53 PDT)
cl-http also has functionality to pass parameters to and from Java Applets.

John Foderaro -- (11:50:13 PDT)
ok.... I'll have to see what's done with javascript there. Maybe it's something we can add to the html macro

John Foderaro -- (11:50:54 PDT)
Aren't parameters to applets just values of parameters of the applet tag? It could be that we do enough already to support that.

Bill Davis -- (11:52:26 PDT)
our javascript is used to manipulate/populate values in a fillout form, which then cl-http handles and returns to our lisp the form values

Frank Mayfield -- (11:52:34 PDT)
yes, you may. I'm not familiar with AllegroServe - yet

John Foderaro -- (11:53:30 PDT)
I've got some ideas about form generation and usage....... too early to publish yet but I think it would result in easy to publish and process forms.

Ahmon Dancy -- (11:53:30 PDT)
javascript never interacts w/ the web server, as far as I know.. When it comes down to it, data sent to the web server will come from a form field or after the ? in the URL

Marek Lugowski -- (11:54:24 PDT)
John, do you see any usefulness in combining AllegroServe with Java code (through foreign function interface, possibly?) I ask because most of my development is in Java.


John Foderaro -- (11:55:42 PDT)
We will be releasing a nice java interface.... In fact you may want to control your java vm from Lisp after you see this.. This will allow Lisp and Java to interact and will allow you to make use of prebuilt java classes

Bill Davis -- (11:56:16 PDT)
sorry for my ignorance, but does that mean AllegroServe doesn't do much (anything?) to generate & process forms?
I mean, this chat page obviously has some form handling, right?

John Foderaro -- (11:56:30 PDT)
We've also made Lisp appear to be a java servlet to a Java web server..

Ahmon Dancy -- (11:57:22 PDT)
It's very easy to make and process forms w/ allegroserve


John Foderaro -- (11:57:27 PDT)
AllegroServe doesn't have any fancy form code now. You have to write the form using the html macros. We do make it easy to get the form values from the web browser by name (it's as easy as getting something off an assoc list).


Ahmon Dancy -- (11:57:33 PDT)
I'd even go as far as calling it trivial.

John Santore -- (11:57:40 PDT)
Most of you seem to be pretty adept with web servers. However we have a large AI system written in ACL that we would like to put in the web.
Is there any documentation to help someone without too much experience with web servers to quickly setup an Allegroserve webserver to link in an existing lisp program?

Liam -- (11:58:44 PDT)
I would like this too - I have little experience with
web servers, far more with CL

Joe Fasel -- (11:58:57 PDT)
Almon: easier than with cl-http?

John Foderaro -- (11:59:12 PDT)
John - it would be very simple for you to load Allegro Serve into your program and to make it respond to requests from a web server. It would just be a few lines of code (plus whatever function you wanted to run to get the data to display)

John Foderaro -- (12:00:02 PDT)
Please look at the AllegroServe tutorial tutorial.html to see some examples of using AllegoServe

Ahmon Dancy -- (12:00:19 PDT)
Joe, I have no experience w/ cl-http. Email me some sample code and I can compare and give you a definitive yes or no. (dancy@dancysoft.com)

Ahmon Dancy -- (12:00:41 PDT)
(sample cl-http code, that is)

Rick Wojcik -- (12:00:42 PDT)
John and John, It took me only a few minutes to load aserve into the Boeing Simplified English Checker and make it work. It was very easy to do with the examples supplied in the help files.

John Foderaro -- (12:01:10 PDT)
((to people who may have joined us late -- if you post your email address we'll send you a pointer to the final chat transcript))

Harry McElroy -- (12:01:15 PDT)
What about web search functionality? Is there any Lisp code around for that?

John Foderaro -- (12:02:48 PDT)
The client part of allegroserve combined with the html parser (to be published) makes it very easy to scan pages..... it's not a search engine but you could probe search engines and use their results

Ahmon Dancy -- (12:03:03 PDT)
Web search would be a web client thing, wouldn't it? yeah.. what John said.

Frank Mayfield -- (12:03:33 PDT)
For anyone here that is familiar with both cl-http and AllegroServe - how does the the "help" and/or "documentation" compare? Is one better or worse?

John Santore -- (12:03:42 PDT)
jsantore@cse.buffalo.edu

Harry McElroy -- (12:04:32 PDT)
We would like to take advantage of Lisp and do intelligent search beyond the traditional search functionality.

Kevin Layer -- (12:04:42 PDT)
Harry: what type of searching do you want to do?

John Foderaro -- (12:04:56 PDT)
searching on a single page? or searching the whole web?

John Foderaro -- (12:05:30 PDT)
I'm not familiar enough with cl-http's documentation to answer that question (plus i'm too close to aserve's documention)

Harry McElroy -- (12:06:00 PDT)
Actually we would like to confine to the search to certain domains while search the whole web in other instances.

Frank Mayfield -- (12:06:30 PDT)
Of course, that was really meant for the participants.

Kevin Layer -- (12:07:27 PDT)
Harry, sounds like you want to combine a web walker with a Lisp program that does what you want.


Harry McElroy -- (12:07:42 PDT)
We have customers where we could provide value if we could provide improved search capability in there domains.

Luca Gilardoni -- (12:08:20 PDT)
cl-http documentation ... there is some guideline
but the idea behind is that .. the source is there,
please help yourself. Obviously the problem is
in resourcing this. I did not checked if aserve
docs are better (probably anyway not worst).


Kevin Layer -- (12:08:56 PDT)
Harry, I basically see this as a project to reproduce then go beyond the current search engines. cl-http has something there, I've heard.


John Foderaro -- (12:09:08 PDT)
here is one part of the AServe documention... the manual aserve.html I posted a link to the tutorial earlier


Jans Aasman -- (12:09:33 PDT)
Frank, cl-http might have more features at this moment, but, the documentation in aserve is far, far better!

John Foderaro -- (12:09:49 PDT)
and here's the html generation manual ...which can be used separately htmlgen.html

Joe Fasel -- (12:11:08 PDT)
cl-http has a mechanism for extracting doc-strings from the Lisp source and presenting them through the web server. Has something like that been done with aserve?

John Foderaro -- (12:11:08 PDT)
With client access to the web any program can take advantage of search engines and can appear to be very smart.

Frank Mayfield -- (12:11:13 PDT)
I just seem to find myself (too often) digging through CLHTTP source code looking for an answer.

John - Jans seems to like your documentation!

Liam -- (12:11:41 PDT)
CL-HTTP docs are basically nonexistant. There are function docs once you get the thing running. No tutorial. So, aserve is better in this regard.


John Foderaro -- (12:12:02 PDT)
I don't use doc strings much in my programming... so it wouldn't help much for AServe. I prefer to document the user visible aspects of a function in actual written documentation.

Steve Jacobson -- (12:12:05 PDT)
I am signing off to go to an appt. - this was an enjoyable & informative session

Kevin Layer -- (12:12:16 PDT)
John, building on your comment about search engines... Harry, you could use htdig (the gnu search engine) and put an aserve front end on it.

Ahmon Dancy -- (12:12:24 PDT)
Bye Steve!

Frank Mayfield -- (12:12:26 PDT)
Thanks Liam, Luca and Jans

Harry McElroy -- (12:12:45 PDT)
Can anyone familiar with CL-HTTP respond to Kevin's comment on search engines.

Joe Fasel -- (12:13:32 PDT)
John, I agree with you about real documentation as opposed to just doc strings. Maybe some kind of literate programming support would be good, though.

John Foderaro -- (12:14:32 PDT)
one could write a program in Aserve to help you understand things about the lisp in which it is running. That is true.

Harry McElroy -- (12:14:35 PDT)
Kevin, how do I get my hands on htdig?

Ahmon Dancy -- (12:14:55 PDT)
http://www.htdig.org/

Kevin Layer -- (12:15:30 PDT)
Thanks Ahmon.

John Foderaro -- (12:16:10 PDT)
My philsophy is that every lisp application should have a web interface to it. It needn't be the primary interface but it should exist and it can at least give current state information about the application.

Ahmon Dancy -- (12:16:33 PDT)
Oh.. that makes me think of a question. John, let's say I want to spawn a cgi-binish program from aserve. Is that as easy to do as it would be for, say, apache?

Kevin Layer -- (12:16:44 PDT)
A backdoor web. Cool.

Kevin Layer -- (12:17:10 PDT)
I should have added... :)

Harry McElroy -- (12:17:42 PDT)
Thanks Ahmon. I just visited htdig and it looks interesting.

John Foderaro -- (12:17:42 PDT)
Ahmon- that is something that Aserve can't do yet. It should be on the todo list. (you could do it yourself of course, but it would be nice if aserve provided built in functionality)

Kevin Layer -- (12:17:43 PDT)
Gotta go folks. It's been fun.

Rick Wojcik -- (12:18:00 PDT)
John, we agree with your philosophy entirely. Most of our customers want integration with their authoring environments, but our web interface is very popular with some customers. Aserve gives us much more power than we've had in the past to prototype new features in the interface.

John Foderaro -- (12:18:08 PDT)
looks like things are winding down here.

any final quetions?

Hsin-Chi Chang -- (12:18:22 PDT)
hcchang@ktiworld.com

Ahmon Dancy -- (12:19:00 PDT)
Q: So basically, Allegroserve rules, right?

John Foderaro -- (12:19:19 PDT)
A: (I can't answer that!)

Harry McElroy -- (12:19:21 PDT)
No, but I would like to compliment you on the AllegroServe work. It was well thought out and executed.

Rick Wojcik -- (12:19:31 PDT)
Long may it rule. :-)

John Foderaro -- (12:20:42 PDT)
Thanks to everyone for stopping by!

We'll make a transcript available of this chat.


Frank Mayfield -- (12:21:38 PDT)
Thanks for making this chat time available to us, John.

John Foderaro -- (12:22:58 PDT)
You're welcome. Look for improvements in the program in the future.


Jans Aasman -- (12:23:07 PDT)
Bye, oh btw, are you going to do this more often?? greetings, jans

Bill Davis -- (12:23:12 PDT)
And a unique way of demonstrating the product by using it in realtime! :-)

John Foderaro -- (12:24:21 PDT)
I hope we can do it more often. This is a great way to stress test AllegroServe


Ahmon Dancy -- (12:26:02 PDT)
I like that allegroserve logo

John Foderaro -- (12:26:56 PDT)
thanks to chf for that..

well I better leave now.. and start writing the code to generate the transcript.

Good bye all!


Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter