From: David Steuber
Subject: mod_lisp debug page
Date: 
Message-ID: <87n05bjxd2.fsf@david-steuber.com>
Is this generated on the Apache side by mod_lisp or on the Lisp side
by modlisp.lisp?

I keep wondering if I should have a larger subset of Lisp in my head
before trying to get cl-modlisp working for me.  I finally found the
magical incantation needed to get Apache to do something other than
return my error document.  The incantation was burried in a readme
file in the doc directory for cl-modlisp.  How could I be expected to
look there?

(asdf:operate 'asdf:load-op 'modlisp)

That was what I needed.  I had been banging my head trying to figure
out why (require 'modlisp) wasn't doing the job.  And of course
*modules* doesn't change.  It doesn't help that the CLHS says that
require is deprecated without saying what you should use instead.

(BTW, I am rambling about doing this under SBCL on Linux)

Anyway, getting the debug page means that I was able to get Lisp to
hear Apache from the raw sbcl repl even if I didn't get Lisp to send
back a sensible response.  That is a step forward.

Edi Weitz was kind enough to point me to some TBNL code which has a
customized version of modlisp.lisp.  Eduardo Mu�oz was also kind
enough to give me a pointer to a different modlisp.lisp.  My Lisp
comprehension has some serious catchup to do.  The same thing goes for
basic operations of the tools it seems.

Much to learn I still have.

I do have one other insane thought in my head (well, one of many).  If
all the code for generating HTML/XHTML exists in a Lisp image, and the
CPU usage to generate the text isn't too intensive, could dynamic
pages be sent as fast as static content (as timed from receipt of
request to data going back to the user)?  I know the file system will
cache static content in memory if free memory is available.  But the
CPU is way faster than the I/O channel.

-- 
I wouldn't mind the rat race so much if it wasn't for all the damn cats.

From: Harald Hanche-Olsen
Subject: Re: mod_lisp debug page
Date: 
Message-ID: <pcor7umg8g9.fsf@shuttle.math.ntnu.no>
+ David Steuber <·····@david-steuber.com>:

| Is this generated on the Apache side by mod_lisp or on the Lisp side
| by modlisp.lisp?

By "this", I assume you mean the debug page mentioned in the subject.
I haven't got the latest version of mod_lisp, but last time I looked,
the debug page was generated on the Lisp side.  In fact, the mod_lisp
module on the Apache side is truly minimal.  Anything that could
possibly be done on the Lisp side, is done there.

| The incantation was burried in a readme file in the doc directory
| for cl-modlisp.  How could I be expected to look there?
| 
| (asdf:operate 'asdf:load-op 'modlisp)

Welcome to the world of free software.  You have just rediscovered a
fact well known to many, namely that free software is not at all
free.  (Insert the obligatory discussion of free-as-in-speech versus
free-as-in-beer here.)  You may not pay any money for it, but you pay
in time to figure things out.  Of course, there is a time cost in
using proprietary software as well - some times a big one, as many
users of assorted MS product can attest to.  Whether free or
proprietary software is cheaper, boils down to the relative worth of
money and time for you, as well as the quality of the software and its
documentation.  The calculation of cost is complex.  You have now learned
a bit about asdf, and will have an easier time figuring this out the
next time you need to.  Whereas learning where to find a certain menu
option in MS Word does not help you beyond the problem at hand.

| It doesn't help that the CLHS says that require is deprecated
| without saying what you should use instead.

CLHS is getting old.  It isn't the last word on everything Lispy.
This is not to say it is outdated; it is still the law as far as it
goes, but much has happened since it was written.  You could do worse
than browsing www.cliki.net if you're not already doing so.

| Much to learn I still have.

So do we all, Master Yoda.  So do we all.

| I do have one other insane thought in my head (well, one of many).
| If all the code for generating HTML/XHTML exists in a Lisp image,
| and the CPU usage to generate the text isn't too intensive, could
| dynamic pages be sent as fast as static content (as timed from
| receipt of request to data going back to the user)?

I for one wouldn't be surprised, but as always, there is one way to
find the answer:  Profile.  Don't speculate.

-- 
* Harald Hanche-Olsen     <URL:http://www.math.ntnu.no/~hanche/>
- Debating gives most of us much more psychological satisfaction
  than thinking does: but it deprives us of whatever chance there is
  of getting closer to the truth.  -- C.P. Snow
From: David Steuber
Subject: Re: mod_lisp debug page
Date: 
Message-ID: <87n05amj9r.fsf@david-steuber.com>
Harald Hanche-Olsen <······@math.ntnu.no> writes:

> + David Steuber <·····@david-steuber.com>:
> 
> | Is this generated on the Apache side by mod_lisp or on the Lisp side
> | by modlisp.lisp?
> 
> By "this", I assume you mean the debug page mentioned in the subject.
> I haven't got the latest version of mod_lisp, but last time I looked,
> the debug page was generated on the Lisp side.  In fact, the mod_lisp
> module on the Apache side is truly minimal.  Anything that could
> possibly be done on the Lisp side, is done there.

You are correct about "this".  Seeing a debug page generated by Lisp
is actually very good news for me.  It means that I have the correct
configuration for Apache -> mod_lisp.so -> SBCL communications
channel.  Now all I need is something worth saying.

> | The incantation was burried in a readme file in the doc directory
> | for cl-modlisp.  How could I be expected to look there?
> | 
> | (asdf:operate 'asdf:load-op 'modlisp)
> 
> Welcome to the world of free software.  You have just rediscovered a
> fact well known to many, namely that free software is not at all
> free.  (Insert the obligatory discussion of free-as-in-speech versus
> free-as-in-beer here.)  You may not pay any money for it, but you pay
> in time to figure things out.  Of course, there is a time cost in
> using proprietary software as well - some times a big one, as many
> users of assorted MS product can attest to.  Whether free or
> proprietary software is cheaper, boils down to the relative worth of
> money and time for you, as well as the quality of the software and its
> documentation.  The calculation of cost is complex.  You have now learned
> a bit about asdf, and will have an easier time figuring this out the
> next time you need to.  Whereas learning where to find a certain menu
> option in MS Word does not help you beyond the problem at hand.

I was actually being a bit facetious.  The doc is the first thing I
should have looked for.  I have also since discovered (should that be
quoted?) Edi Weitz's "Tutorial for ASDF-INSTALL".  Now there is a
useful document!  (I bet I've been told about it and missed it).

As far as time cost of free software vs proprietary software goes, I
would have to say that is a bit of a red herring.  I fully expect that
examples from each side can be shown to argue in favor of free or
proprietary.  Then there are those packages that are hard to
distinguish.  PostgreSQL vs Oracle for example.  Both are well
documented.  Both are also large enough that you could make a career
out of working with them.  I suspect Oracle would have more job
demands, but that is only because PostgreSQL is so underrated even in
the free software community.

When I live in the Microsoft world, I spent plenty of time digging
through documentation.  Microsoft actually does a very good job with
documentation relative to others.  But as with any complex system, it
takes time to learn and even to find out what you need to learn.

Overall, I think the time cost is more strongly tied to what you are
trying to do rather than the free vs proprietary nature of the system.

> | It doesn't help that the CLHS says that require is deprecated
> | without saying what you should use instead.
> 
> CLHS is getting old.  It isn't the last word on everything Lispy.
> This is not to say it is outdated; it is still the law as far as it
> goes, but much has happened since it was written.  You could do worse
> than browsing www.cliki.net if you're not already doing so.

I have been visiting cliki more frequently since I started playing
with ASDF-INSTALL ;-)

A lot certainly has happened.  I first looked at Lisp back in 1998.  I
didn't get off the ground though.  One of the things that did happen
was that I got into Linux.  This was because of CMUCL.  That is, I
wanted a free Lisp system that was not a toy to play with.  CMUCL was
a good candidate.  CMUCL doesn't run on Windows, so I installed
Linux.  Then I found myself playing with Linux for a while.  There
were other things going on as well, but I didn't learn Lisp back
then.  In spite of that, Lisp has had a major affect on my choice of
software.

Now with such things as SBCL, ASDF-INSTALL, SLIME, etc, etc, I am
finding that it is actually easier to get into the groove of seriously
studying and hacking Lisp.  Sure, there is as much as ever to learn,
but getting a development environment together has probably never been
easier.

Lisp is still big of course.  But I think I just might be getting past
the "hello, world" stage.

-- 
I wouldn't mind the rat race so much if it wasn't for all the damn cats.