From: Brian Adkins
Subject: Lisp production web development
Date: 
Message-ID: <bT%Hh.12458$68.9947@bignews8.bellsouth.net>
Has anyone here developed an external production web site primarily in 
Lisp? I won't use subjective phrases such as "industrial strength" :) 
But, I would set the minimum bar to be the following:

A public facing, revenue generating web site utilizing SSL.

I don't want to discount anyone's opinion or advice, but the difference 
between theory and practice is much greater in practice than in theory, 
so I'd really like to hear from those that fulfill that reasonable criteria.

If you wouldn't mind sharing some information about your experience, I'd 
be particularly interested in the Lisp implementation you deployed on, 
web frameworks involved, database libraries, database vendor, other 
libraries etc. If you'd be willing to share the URL, that would be great 
- shoot, you may even gain some customers :)

I'm learning Lisp (and loving it) while currently developing Ruby on 
Rails web applications, and I'm trying to gain some knowledge in the 
following areas:

1) Estimated length of time to transition from Ruby on Rails to Lisp and 
(?).
2) Preferred Lisp implementations for deployment.
3) Elements of a web application "stack"
4) Gotchas

As an example, answering the above myself for my transition from Java to 
Ruby would be:

1) I first saw Ruby about a year ago and was able to work it into some 
small projects at the company I worked at. I began developing production 
sites in Ruby for my own company in late October. So, I'd say no more 
than 3 months of full time work tops.

2) Pretty easy - one choice, Ruby from http://www.ruby-lang.org

I do like choice, but it would make life easier for me if there was one 
clear open source choice. I talked to a salesman at Frans this morning, 
and got some price/license info. I'm not opposed to a commercial 
implementation, but I see many advantages to a good open source 
implementation. For some reason, I don't mind the proliferation of Linux 
distros so much, but I do mind the balkanization of open source Lisp 
implementations :(

3) The web framework was easy - one stack, Rails from 
http://www.rubyonrails.com/

But the deployment stack took quite a while. The Rails community seems 
to have gone through quite a few permutations with respect to deployment 
servers (Apache, lighttpd, fast_cgi, Mongrel, etc.), but I think what 
has bubbled up as the preferred setup would clearly be running Apache 
2.2 with mod_proxy_balancer in front of a set of Mongrel (hybrid Ruby/C 
web server) processes. I think you'd be hard pressed to improve on that. 
Rails isn't thread-safe, so a cluster of Mongrel servers is necessary 
for reasonable performance.

I spent a fair amount of time coming to the realization in the previous 
paragraph after trying a few permutations, so if possible, I'd like to 
avoid that with my future Lisp development by learning from the 
experience of others.

Unless there's a compelling reason not to do so, I like the idea of 
continuing to use Apache 2.2 with mod_proxy_balancer to delegate to a 
Lisp web server for the following reasons:

1) Apache handles SSL for me
2) Apache is fast for static content
3) Apache is fairly secure with active bug patches
4) mod_proxy_balancer is a reasonable load balancer
5) I already know how to install & configure Apache with SSL and setup 
mod_proxy_balancer

I think Lisp web development may be closer to Python web development 
than Rails in that there's not just one clear full stack winner - this 
has pros/cons of course.

4) Gotchas for Ruby on Rails include:
* Lack of thread safety in Rails
* Poor performance of Rails (see my "High Active Record CPU Utilization" 
in thread in c.l.ruby)
* Poor performance of Ruby (less of an issue, but can be problematic)


To make an oversimplification, I feel there are two options for Lisp web 
development:

A) The ingredients for a complete web stack already exist in the 
community and I just need to identify the best ones for my needs and 
assemble them and start hacking. This would naturally allow me to get up 
and running quickly.

or

B) All the pieces aren't quite ready. If so, that doesn't bother me. I 
feel I'm fully capable of creating something (with community support) at 
least as effective as Rails and would enjoy doing so; however, this 
would take a great deal of time and effort and would extend my Ruby to 
Lisp transition significantly. The reason I would consider this in Lisp 
is that I think there is evidence that the lifetime of the resulting 
code could be quite long, so a longer term project may be warranted.

Obviously shades of grey exist between the two.

Thanks,
Brian Adkins

From: Steven Haflich
Subject: Re: Lisp production web development
Date: 
Message-ID: <NW3Ih.421$Qw.119@newssvr29.news.prodigy.net>
Brian Adkins wrote:
> Has anyone here developed an external production web site primarily in 
> Lisp? I won't use subjective phrases such as "industrial strength" :) 
> But, I would set the minimum bar to be the following:

www.franz.com is implemented entirely in Lisp using AllegroServe.

> A public facing, revenue generating web site utilizing SSL.

There is a small public store within www.franz.com that uses ssl.  It
doesn't have a lot of traffic, of course.

If you want to see an AllegroServe site that handles a huge amount of
traffic, supporting a huge database with many updates, and all in Lisp,
see http://www.pandorabots.com

Obviously, these sites are implemented on top of Franz products, but
one could certainly implement on top of any of the serious platforms.
There is a portable version of AllegroServe, and other server options.
From: Brian Adkins
Subject: Re: Lisp production web development
Date: 
Message-ID: <3w4Ih.4888$B7.2789@bigfe9>
Steven Haflich wrote:
> Brian Adkins wrote:
>> Has anyone here developed an external production web site primarily in 
>> Lisp? I won't use subjective phrases such as "industrial strength" :) 
>> But, I would set the minimum bar to be the following:
> 
> www.franz.com is implemented entirely in Lisp using AllegroServe.
> 
>> A public facing, revenue generating web site utilizing SSL.
> 
> There is a small public store within www.franz.com that uses ssl.  It
> doesn't have a lot of traffic, of course.
> 
> If you want to see an AllegroServe site that handles a huge amount of
> traffic, supporting a huge database with many updates, and all in Lisp,
> see http://www.pandorabots.com

Can you tell me more about the architecture of this site?

> 
> Obviously, these sites are implemented on top of Franz products, but
> one could certainly implement on top of any of the serious platforms.
> There is a portable version of AllegroServe, and other server options.
From: Edi Weitz
Subject: Re: Lisp production web development
Date: 
Message-ID: <umz2m64o4.fsf@agharta.de>
On Thu, 08 Mar 2007 17:12:26 -0500, Brian Adkins <·················@gmail.com> wrote:

> If you wouldn't mind sharing some information about your experience,
> I'd be particularly interested in the Lisp implementation you
> deployed on, web frameworks involved, database libraries, database
> vendor, other libraries etc. If you'd be willing to share the URL,
> that would be great - shoot, you may even gain some customers :)

I don't have enough time to write long articles, but the Hunchentoot
website links to a few sites which use Hunchentoot.  Two of them are
commercial ones, one uses SSL AFAIK.

  http://weitz.de/hunchentoot/

The ERGO website listed there is based on LispWorks and runs on a
Linux server.  It uses HTML-TEMPLATE and CL-WHO for HTML creation, the
former for the user-visible pages, the latter for an internal content
management system.  All content is served by Hunchentoot which is
sitting behind mod_proxy (because there are other, non-Lisp websites
on the server as well).  Persistent data is stored in text files using
pure Lisp and is synced on a regular basis with the customer's
in-house FileMaker database.  The whole system is written in Common
Lisp except that ImageMagick is used to resize images in the content
management system.

The website actually has multiple different "faces" (different
graphical layouts and different products) for various stores each of
which can be reached through its own URL.

Cheers,
Edi.
From: Marc Battyani
Subject: Re: Lisp production web development
Date: 
Message-ID: <qpudnb82wPtncGzYRVnysQA@giganews.com>
"Brian Adkins" <·················@gmail.com> wrote
> Has anyone here developed an external production web site primarily in 
> Lisp? I won't use subjective phrases such as "industrial strength" :) But, 
> I would set the minimum bar to be the following:
>
> A public facing, revenue generating web site utilizing SSL.

What do you mean by revenue generating?
I've done several complex web applications for banks but they are only used 
internally. The most used one gets up to 5 M requests/day. Though they don't 
generate any revenue (in cash that is, except for me ;-)

The most visible web site I have is the Common Lisp Directory 
http://www.cl-user.net

As for "industrial strength", today cl-user.net has an uptime of 456 days, 
has served 130306440 requests so far and it's still the same Lispworks 
process since the beginning. The other applications all have a similar 
uptime.

> I do like choice, but it would make life easier for me if there was one 
> clear open source choice. I talked to a salesman at Frans this morning, 
> and got some price/license info. I'm not opposed to a commercial 
> implementation, but I see many advantages to a good open source 
> implementation. For some reason, I don't mind the proliferation of Linux 
> distros so much, but I do mind the balkanization of open source Lisp 
> implementations :(

I use Lispworks.
If you are making commercial web sites, you probably need commercial support 
as well. The open sources implementations are very good but people don't 
always have the time and/or will or patience to solve other's problems.

> 3) The web framework was easy - one stack, Rails from 
> http://www.rubyonrails.com/

I use my own web application framework behind Apache+mod_lisp but you can 
find a lot of others there:
http://www.cl-user.net/asp/tags/web-frameworks
http://www.cl-user.net/asp/tags/web-servers
IIRC, some of them, like Hunchentoot and UCW, can be used stand alone or 
behing mod_lisp.

Other lisp web stuff here: http://www.cl-user.net/asp/tags/web

> Unless there's a compelling reason not to do so, I like the idea of 
> continuing to use Apache 2.2 with mod_proxy_balancer to delegate to a Lisp 
> web server for the following reasons:
>
> 1) Apache handles SSL for me
> 2) Apache is fast for static content
> 3) Apache is fairly secure with active bug patches
> 4) mod_proxy_balancer is a reasonable load balancer
> 5) I already know how to install & configure Apache with SSL and setup 
> mod_proxy_balancer

If you want to use Lisp behind Apache, you may have a look at mod_lisp. 
(mod_lisp is not a framework, just a link between Apache and the Lisp 
process)

> 4) Gotchas for Ruby on Rails include:
> * Lack of thread safety in Rails
> * Poor performance of Rails (see my "High Active Record CPU Utilization" 
> in thread in c.l.ruby)
> * Poor performance of Ruby (less of an issue, but can be problematic)

No problem like that with Common Lisp

> To make an oversimplification, I feel there are two options for Lisp web 
> development:
>
> A) The ingredients for a complete web stack already exist in the community 
> and I just need to identify the best ones for my needs and assemble them 
> and start hacking. This would naturally allow me to get up and running 
> quickly.

That's it.

Marc
From: Brian Adkins
Subject: Re: Lisp production web development
Date: 
Message-ID: <deoIh.2403$CS4.1599@bignews1.bellsouth.net>
Marc Battyani wrote:
> "Brian Adkins" <·················@gmail.com> wrote
>> Has anyone here developed an external production web site primarily in 
>> Lisp? I won't use subjective phrases such as "industrial strength" :) But, 
>> I would set the minimum bar to be the following:
>>
>> A public facing, revenue generating web site utilizing SSL.
> 
> What do you mean by revenue generating?

I'll take that as a no :) Thanks for responding even though I was 
inadvisedly narrow in my request.

> I've done several complex web applications for banks but they are only used 
> internally. The most used one gets up to 5 M requests/day. Though they don't 
> generate any revenue (in cash that is, except for me ;-)

That's certainly a healthy amount of traffic and a nice data point. 
Which implementation of Lisp? What type of physical server(s) and 
process configuration?

> The most visible web site I have is the Common Lisp Directory 
> http://www.cl-user.net
> 
> As for "industrial strength", today cl-user.net has an uptime of 456 days, 
> has served 130306440 requests so far and it's still the same Lispworks 
> process since the beginning. The other applications all have a similar 
> uptime.

An average of 3.3 req/s for 456 days in the original process - that is 
impressive. I'd say Lispworks doesn't have a problem with memory leaks 
then. I'm getting pretty good uptime from Mongrel processes, but I have 
to say I'd be surprised if I got 456 days. On the other hand, you should 
probably patch your kernel more often :)

So is it a single Lispworks process? If so, is it multi-threaded then?

That's actually very encouraging because of the commercial 
implementations, it seems that Lispworks has the more attractive licensing.

> I use Lispworks.
> If you are making commercial web sites, you probably need commercial support 
> as well. The open sources implementations are very good but people don't 
> always have the time and/or will or patience to solve other's problems.

I'm totally unfamiliar with the Lisp open source world, but I'd have to 
respectfully disagree with the assertion regarding needing commercial 
support for a commercial web site in general; I've been developing 
commercial web sites for quite a while, and I haven't found commercial 
support to be an advantage - although I can say that when we had 
commercial support, we needed it ;)

>> 3) The web framework was easy - one stack, Rails from 
>> http://www.rubyonrails.com/
> 
> I use my own web application framework behind Apache+mod_lisp but you can 
> find a lot of others there:
> http://www.cl-user.net/asp/tags/web-frameworks
> http://www.cl-user.net/asp/tags/web-servers
> IIRC, some of them, like Hunchentoot and UCW, can be used stand alone or 
> behing mod_lisp.
> 
> Other lisp web stuff here: http://www.cl-user.net/asp/tags/web

Thanks for the links; I'll check 'em out.

>> Unless there's a compelling reason not to do so, I like the idea of 
>> continuing to use Apache 2.2 with mod_proxy_balancer to delegate to a Lisp 
>> web server for the following reasons:
>>
>> 1) Apache handles SSL for me
>> 2) Apache is fast for static content
>> 3) Apache is fairly secure with active bug patches
>> 4) mod_proxy_balancer is a reasonable load balancer
>> 5) I already know how to install & configure Apache with SSL and setup 
>> mod_proxy_balancer
> 
> If you want to use Lisp behind Apache, you may have a look at mod_lisp. 
> (mod_lisp is not a framework, just a link between Apache and the Lisp 
> process)

I haven't heard too many good things about mod_<insert favorite language 
here>, but I have to say that your experience with mod_lisp wrt 
reliability and performance has made me curious to look into it more.

>> To make an oversimplification, I feel there are two options for Lisp web 
>> development:
>>
>> A) The ingredients for a complete web stack already exist in the community 
>> and I just need to identify the best ones for my needs and assemble them 
>> and start hacking. This would naturally allow me to get up and running 
>> quickly.
> 
> That's it.

Excellent. Thanks again for your response.

> Marc
> 
> 
From: Edi Weitz
Subject: Re: Lisp production web development
Date: 
Message-ID: <uy7m5tpwr.fsf@agharta.de>
On Fri, 09 Mar 2007 20:55:25 -0500, Brian Adkins <·················@gmail.com> wrote:

> I haven't heard too many good things about mod_<insert favorite
> language here>, but I have to say that your experience with mod_lisp
> wrt reliability and performance has made me curious to look into it
> more.

Evaluate first before you talk about it.  mod_lisp is not like the
other mod_language thingies because it's just a lightweight bridge
between Apache and another process, there's nothing really
Lisp-specific about it.

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: Rob Warnock
Subject: Re: Lisp production web development
Date: 
Message-ID: <c6idna1Wj9O9BW_YnZ2dnUVZ_uKknZ2d@speakeasy.net>
Edi Weitz  <········@agharta.de> wrote:
+---------------
| Brian Adkins <·················@gmail.com> wrote:
| > I haven't heard too many good things about mod_<insert favorite
| > language here>, but I have to say that your experience with mod_lisp
| > wrt reliability and performance has made me curious to look into it
| > more.
| 
| Evaluate first before you talk about it.  mod_lisp is not like the
| other mod_language thingies because it's just a lightweight bridge
| between Apache and another process, there's nothing really
| Lisp-specific about it.
+---------------

Indeed! Perhaps Marc Battyani should have called it just "mod_sock",
except then it would have lost all of the Lisp-proselytizing benefit.
[Historical note: It's basically a cleaned-up version of "mod_jserv",
which wasn't very Java-specific, either.]


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Tim Bradshaw
Subject: Re: Lisp production web development
Date: 
Message-ID: <esvc1o$icf$2$8300dec7@news.demon.co.uk>
On 2007-03-10 01:55:25 +0000, Brian Adkins <·················@gmail.com> said:

> An average of 3.3 req/s for 456 days in the original process - that is 
> impressive. I'd say Lispworks doesn't have a problem with memory leaks 
> then. I'm getting pretty good uptime from Mongrel processes, but I have 
> to say I'd be surprised if I got 456 days. On the other hand, you 
> should probably patch your kernel more often :)

This is what Linux has done to people's minds.
From: Brian Adkins
Subject: Re: Lisp production web development
Date: 
Message-ID: <%ZIIh.3168$nV1.1385@bignews6.bellsouth.net>
Tim Bradshaw wrote:
> On 2007-03-10 01:55:25 +0000, Brian Adkins <·················@gmail.com> 
> said:
> 
>> An average of 3.3 req/s for 456 days in the original process - that is 
>> impressive. I'd say Lispworks doesn't have a problem with memory leaks 
>> then. I'm getting pretty good uptime from Mongrel processes, but I 
>> have to say I'd be surprised if I got 456 days. On the other hand, you 
>> should probably patch your kernel more often :)
> 
> This is what Linux has done to people's minds.
> 

Are you running an OS that doesn't require security patches?
From: Tim Bradshaw
Subject: Re: Lisp production web development
Date: 
Message-ID: <et1cm5$mjf$1$830fa17d@news.demon.co.uk>
On 2007-03-11 01:31:44 +0000, Brian Adkins <·················@gmail.com> said:

> Are you running an OS that doesn't require security patches?

Not very often to the kernel, no.

(Though to be fair to Linux, I was working at a fairly 
security-conscious Linux place a while ago where we had a big panic 
because various machines' uptime counter wrapped, making it look as if 
they had rebooted.)

--tim
From: Alain Picard
Subject: Re: Lisp production web development
Date: 
Message-ID: <87abyhz82w.fsf@memetrics.com>
Brian Adkins <·················@gmail.com> writes:

> I haven't heard too many good things about mod_<insert favorite
> language here>, but I have to say that your experience with mod_lisp
> wrt reliability and performance has made me curious to look into it
> more.

I would like to chime in and add my .02$ support for mod_lisp -- it
is in use in our server farm, serving millions of requests per day
for our paying customers.  I can't tell you a lot more about it,
except that the underlying lisp is Lispworks and the DB is Postgresql,
used via Xanalys' CommonSQL.

                                --ap
From: Brian Adkins
Subject: Re: Lisp production web development
Date: 
Message-ID: <cjoIh.2407$CS4.1351@bignews1.bellsouth.net>
Marc Battyani wrote:
> As for "industrial strength", today cl-user.net has an uptime of 456 days, 
> has served 130306440 requests so far and it's still the same Lispworks 
> process since the beginning. The other applications all have a similar 
> uptime.

So have you modified the code during the 456 days? If so, can you 
enlighten me a bit. Did you connect to the running Lispworks process 
from another machine? Very curious.
From: Rob Warnock
Subject: Re: Lisp production web development
Date: 
Message-ID: <ZYadnaGhrs-eqm_YnZ2dnUVZ_vWtnZ2d@speakeasy.net>
Brian Adkins  <·················@gmail.com> wrote:
+---------------
| Marc Battyani wrote:
| > As for "industrial strength", today cl-user.net has an uptime of 456 days, 
| > has served 130306440 requests so far and it's still the same Lispworks 
| > process since the beginning. The other applications all have a similar 
| > uptime.
| 
| So have you modified the code during the 456 days? If so, can you 
| enlighten me a bit. Did you connect to the running Lispworks process 
| from another machine? Very curious.
+---------------

Not sure how Marc does it, but on the machines I support that
are running CMUCL-based application servers (behind Apache), the
application server has a REPL listener pending on a Unix-domain
socket (a.k.a. local-domain a.k.a. AF_POSIX). Then I just SSH to
the server host, and once there I Telnet[1] to the REPL socket,
which is protected by both filesystem permissions and a password.
Then I can look at stats, LOAD new versions of functions, etc.


-Rob

[1] Recent BSD-derived "Telnet" supports connecting to Unix-domain
    sockets ["telnet /foo/bar"], though Linux doesn't seem to have
    picked that up yet. On Linux servers I just use Dan Barlow's
    "detachtty/attachtty" on the actual top-level REPL. Same thing.

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Ken Tilton
Subject: Re: Lisp production web development
Date: 
Message-ID: <K8rIh.5649$6J.3479@newsfe12.lga>
Rob Warnock wrote:
> Brian Adkins  <·················@gmail.com> wrote:
> +---------------
> | Marc Battyani wrote:
> | > As for "industrial strength", today cl-user.net has an uptime of 456 days, 
> | > has served 130306440 requests so far and it's still the same Lispworks 
> | > process since the beginning. The other applications all have a similar 
> | > uptime.
> | 
> | So have you modified the code during the 456 days? If so, can you 
> | enlighten me a bit. Did you connect to the running Lispworks process 
> | from another machine? Very curious.
> +---------------
> 
> Not sure how Marc does it, but on the machines I support that
> are running CMUCL-based application servers (behind Apache), the
> application server has a REPL listener pending on a Unix-domain
> socket (a.k.a. local-domain a.k.a. AF_POSIX). Then I just SSH to
> the server host, and once there I Telnet[1] to the REPL socket,
> which is protected by both filesystem permissions and a password.
> Then I can look at stats, LOAD new versions of functions, etc.

Damn. I feel so inadequate. Ten (<gasp> twelve) years of Cells and still 
no update-instance-for-new-cell?! And I call myself a Lispnik?! No more, 
ten more years in the monastery for me.........

kzo

-- 

"As long as algebra is taught in school,
there will be prayer in school." - Cokie Roberts

"Stand firm in your refusal to remain conscious during algebra."
    - Fran Lebowitz

"I'm an algebra liar. I figure two good lies make a positive."
    - Tim Allen

"Algebra is the metaphysics of arithmetic." - John Ray

http://www.theoryyalgebra.com/
From: Ari Johnson
Subject: Re: Lisp production web development
Date: 
Message-ID: <m2ejnx1wrx.fsf@hermes.theari.com>
····@rpw3.org (Rob Warnock) writes:

> Brian Adkins  <·················@gmail.com> wrote:
> +---------------
> | Marc Battyani wrote:
> | > As for "industrial strength", today cl-user.net has an uptime of 456 days, 
> | > has served 130306440 requests so far and it's still the same Lispworks 
> | > process since the beginning. The other applications all have a similar 
> | > uptime.
> | 
> | So have you modified the code during the 456 days? If so, can you 
> | enlighten me a bit. Did you connect to the running Lispworks process 
> | from another machine? Very curious.
> +---------------
>
> Not sure how Marc does it, but on the machines I support that
> are running CMUCL-based application servers (behind Apache), the
> application server has a REPL listener pending on a Unix-domain
> socket (a.k.a. local-domain a.k.a. AF_POSIX). Then I just SSH to
> the server host, and once there I Telnet[1] to the REPL socket,
> which is protected by both filesystem permissions and a password.
> Then I can look at stats, LOAD new versions of functions, etc.

For a while, I did something similar but had a Swank socket listening
only on 127.0.0.1, and then used an ssh tunnel and tramp-over-scp to
be able to use Emacs on my workstation to edit files, load them, and
play with them at the REPL on my server.  A threaded Lisp was
essential.
From: Edi Weitz
Subject: Re: Lisp production web development
Date: 
Message-ID: <utzwttpu0.fsf@agharta.de>
On Fri, 09 Mar 2007 22:41:39 -0600, ····@rpw3.org (Rob Warnock) wrote:

> Not sure how Marc does it, but on the machines I support that are
> running CMUCL-based application servers (behind Apache), the
> application server has a REPL listener pending on a Unix-domain
> socket (a.k.a. local-domain a.k.a. AF_POSIX). Then I just SSH to the
> server host, and once there I Telnet[1] to the REPL socket, which is
> protected by both filesystem permissions and a password.  Then I can
> look at stats, LOAD new versions of functions, etc.

And there's always detachtty:

  http://www.cliki.net/detachtty

-- 

Lisp is not dead, it just smells funny.

Real email: (replace (subseq ·········@agharta.de" 5) "edi")
From: tritchey
Subject: Re: Lisp production web development
Date: 
Message-ID: <1173535381.572500.225710@8g2000cwh.googlegroups.com>
On Mar 8, 5:12 pm, Brian Adkins <·················@gmail.com> wrote:
> Has anyone here developed an external production web site primarily in
> Lisp?

We use Lisp for our web application: <http://paragent.com> and click
on DEMO. It not only involves a public-facing web application, but
also supports thousands of client agents making encrypted connections
on the back-end. We use apache+mod_lisp2 with SBCL as our lisp
implementation. There are a whole host of dependencies involved,
including UCW, CLSQL (using MySQL on the back-end) plus several
others. I wrote up our process of bringing up a server at: <http://
redrome.blogspot.com/2006_11_12_archive.html>.

We are still rolling out significant updates pretty regularly, so I
can't really give you good uptime numbers. There is a very nice
community of developers on #lisp and #ucw at freenode.net that have
been really helpful. UCW is still under pretty active development, and
there is some major refactoring going on. We have taken a wait-and-see
approach and are using an older branch. I've heard very good things
about Hunchentoot as well.
From: Chris Parker
Subject: Re: Lisp production web development
Date: 
Message-ID: <1173576469.203058.294720@n33g2000cwc.googlegroups.com>
On Mar 10, 8:03 am, "tritchey" <········@gmail.com> wrote:
> On Mar 8, 5:12 pm, Brian Adkins <·················@gmail.com> wrote:
>
> > Has anyone here developed an external production web site primarily in
> > Lisp?
>
> We use Lisp for our web application: <http://paragent.com> and click
> on DEMO. It not only involves a public-facing web application, but
> also supports thousands of client agents making encrypted connections
> on the back-end. We use apache+mod_lisp2 with SBCL as our lisp
> implementation. There are a whole host of dependencies involved,
> including UCW, CLSQL (using MySQL on the back-end) plus several
> others. I wrote up our process of bringing up a server at: <http://
> redrome.blogspot.com/2006_11_12_archive.html>.
>
> We are still rolling out significant updates pretty regularly, so I
> can't really give you good uptime numbers. There is a very nice
> community of developers on #lisp and #ucw at freenode.net that have
> been really helpful. UCW is still under pretty active development, and
> there is some major refactoring going on. We have taken a wait-and-see
> approach and are using an older branch. I've heard very good things
> about Hunchentoot as well.

I am using Hunchentoot on a production web application.  It works
really, really well.

I am using:

Hunchentoot, cl-who, cl-emb, clsql (mysql) with sbcl on a Red Hat
Linux box.  I used to use mod_lisp with tbnl, but Hunchentoot is a
really solid web server.  We are not getting the amount of hits you
are (internal application) but I make the application do a whole bunch
of number crunching before it delivers the page.

Works for me.
From: Brian Adkins
Subject: Re: Lisp production web development
Date: 
Message-ID: <iYIIh.3166$nV1.1933@bignews6.bellsouth.net>
Chris Parker wrote:
> On Mar 10, 8:03 am, "tritchey" <········@gmail.com> wrote:
>> On Mar 8, 5:12 pm, Brian Adkins <·················@gmail.com> wrote:
>>
>>> Has anyone here developed an external production web site primarily in
>>> Lisp?
>> We use Lisp for our web application: <http://paragent.com> and click
>> on DEMO. It not only involves a public-facing web application, but
>> also supports thousands of client agents making encrypted connections
>> on the back-end. We use apache+mod_lisp2 with SBCL as our lisp
>> implementation. There are a whole host of dependencies involved,
>> including UCW, CLSQL (using MySQL on the back-end) plus several
>> others. I wrote up our process of bringing up a server at: <http://
>> redrome.blogspot.com/2006_11_12_archive.html>.
>>
>> We are still rolling out significant updates pretty regularly, so I
>> can't really give you good uptime numbers. There is a very nice
>> community of developers on #lisp and #ucw at freenode.net that have
>> been really helpful. UCW is still under pretty active development, and
>> there is some major refactoring going on. We have taken a wait-and-see
>> approach and are using an older branch. I've heard very good things
>> about Hunchentoot as well.
> 
> I am using Hunchentoot on a production web application.  It works
> really, really well.
> 
> I am using:
> 
> Hunchentoot, cl-who, cl-emb, clsql (mysql) with sbcl on a Red Hat
> Linux box.  I used to use mod_lisp with tbnl, but Hunchentoot is a
> really solid web server.  We are not getting the amount of hits you
> are (internal application) but I make the application do a whole bunch
> of number crunching before it delivers the page.

Thanks for the details - very helpful. You must be new...

> Works for me.
> 
From: Chris Parker
Subject: Re: Lisp production web development
Date: 
Message-ID: <1173576644.103787.303020@n33g2000cwc.googlegroups.com>
On Mar 10, 8:03 am, "tritchey" <········@gmail.com> wrote:
> On Mar 8, 5:12 pm, Brian Adkins <·················@gmail.com> wrote:
>
> > Has anyone here developed an external production web site primarily in
> > Lisp?
>
> We use Lisp for our web application: <http://paragent.com> and click
> on DEMO. It not only involves a public-facing web application, but
> also supports thousands of client agents making encrypted connections
> on the back-end. We use apache+mod_lisp2 with SBCL as our lisp
> implementation. There are a whole host of dependencies involved,
> including UCW, CLSQL (using MySQL on the back-end) plus several
> others. I wrote up our process of bringing up a server at: <http://
> redrome.blogspot.com/2006_11_12_archive.html>.
>
> We are still rolling out significant updates pretty regularly, so I
> can't really give you good uptime numbers. There is a very nice
> community of developers on #lisp and #ucw at freenode.net that have
> been really helpful. UCW is still under pretty active development, and
> there is some major refactoring going on. We have taken a wait-and-see
> approach and are using an older branch. I've heard very good things
> about Hunchentoot as well.

I just played around with your app, btw.  Beautiful!
From: tritchey
Subject: Re: Lisp production web development
Date: 
Message-ID: <1173723162.839643.32620@64g2000cwx.googlegroups.com>
On Mar 10, 9:30 pm, "Chris Parker" <··········@gmail.com> wrote:
> I just played around with your app, btw.  Beautiful!

Thank you very much! You just made my day :-).

Lisp was kind of a leap of faith for us. The other programmer was very
familiar with Scheme, and I had played around with Lisp a little bit,
but nothing too serious. We had been doing functional programming
stuff in our current product--a home-grown xml-based language that our
agents talked to each other (yes, yes, it was all greenspun'ed to
death). At the beginning of last year we started looking at moving to
a web-based model. At some point the other programmer  made the
suggestion that we just go ahead and do everything in Lisp. At first,
we were working on the web application while maintaining our P2P
version, but around the June/July time frame made the decision to
switch to the web-based model altogether. I think we had the beta
version ready by October, and had our first formal release in
November. We are going to be showing off a major new revision in May
with integrated remote desktop and help-desk/trouble-ticket
integration. We've also been rolling out minor new features every
couple of weeks on the production server.

This has been with two developers--both somewhat new to Common Lisp,
and one new to the entire Lisp family (me). I still find it amazing
what we have been able to do. Whether we have created a successful
business is of course still to be determined, but from a development
perspective, Lisp has been a clear win.