Re: [AOLSERVER] malloc replacement libraries?

2002-11-07 Thread Zoran Vasiljevic
On Wednesday 06 November 2002 22:12, you wrote:

(on behalf of Rolf Ade)

At least mpatrol has a feature, that seems vaguely to be what you're
want.

From the mpatrol manual:

[...] it is possible to place special buffers(1) on either side of
every memory allocation, and these will be pre-filled with a specified
byte.  Before every mpatrol library call, the library will check the
integrity of every such overflow buffer in order to check for a memory
underwrite or overwrite.

It also has special options to detect heap corrution (beside plenty of
other mem checking options).

In general, I found mpatrol a good and reliable tool - it turned
always out, that there was something wrong, if mpatrol said so.

But I doubt, that mpatrol could help you much. It may help you to
confirm the analysis results, you got with the help of purify, yes.
Although it is possible (for some cases of memory errors), that your
program run without seg fault under mpatrol, I'm afraid that woudn't
buy you much, because mpatrol slow down execution speed - depending of
the used options of course, but especially the overflow buffers are
'expensive' - sometimes dramatically, up to several hundred times. At
the same time, your program will need much more memory.

rolf







 As I've mentioned here before, I have a vendor C library, to which I
 do not have the source, which can corrupt the heap, eventually leading
 to segfaults.  Purify reports the various errors nicely, but there's
 nothing I can do to fix the code other than reporting the problems to
 the vendor.

 What I would really like, is a replacement malloc library which I can
 link in to protect me from the bad vendor code, by doing things like
 padding malloc buffers with extra space.

 This would be useful to me for two reasons:  One, if using this malloc
 band-aid library makes the segfaults go away, that adds additional
 proof that the errors Purify reports in the vendor code really are
 causing the heap corruption and segfaults, which can help convince the
 vendor to fix things.  Two, if the vendor is slow about fixing their
 code, I can just run with the band-aid malloc library, to help
 insulate my application from their errors.

 I've found lots of potentially useful malloc replacements (see below),
 however, it's not at all clear which would meet my needs.  So before I
 go off and start fooling with these, does anyone have any experience
 with this sort of thing?  Advice or recomendations?


 Lists of malloc replacements:

 http://www.cs.colorado.edu/homes/zorn/public_html/MallocDebug.html
 http://www-1.ibm.com/servers/eserver/zseries/os/linux/ldt/whitepaper2.html


 Possibly useful malloc replacemnt libraries:

 http://dmalloc.com/
 http://sourceforge.net/projects/dmalloc/
 http://packages.debian.org/stable/devel/dmalloc.html

 http://fscked.org/proj/njamd.shtml
 http://sourceforge.net/projects/njamd/
 http://packages.debian.org/stable/devel/njamd.html

 http://www.cbmamiga.demon.co.uk/mpatrol/
 http://sourceforge.net/projects/mpatrol/

 http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html

 http://sourceforge.net/projects/clw/
 http://sourceforge.net/projects/libmss/
 http://sourceforge.net/projects/ansimd/
 http://packages.debian.org/stable/devel/fda.html



Re: [AOLSERVER] malloc replacement libraries?

2002-11-07 Thread Dossy
On 2002.11.06, Peter M. Jansson [EMAIL PROTECTED] wrote:
 Unfortunately, I don't have much more to report than Andy did.  I had an
 AOLserver 3.3+ad13 running ACS, and it was periodically crashing.  At
 first, no coredumps, then I figured out how to use coreadm on Solaris, so
 we got the coredumps, and they all showed death inside malloc.  Different
 times of day, different server loads, different uptimes.

What version of Solaris?  2.6?  2.8?

 After I failed to achieve a diagnosis after a while, the customer
 decided not to pursue the matter further.  The customer is bailing on
 AOLserver anyway, with low availability of support being a
 contributing factor; this experience didn' t really help AOLserver's
 case any.

Ouch, that's a shame.  How much traffic does the site get?

 It doesn't seem to be a clock format... either.

Hmm.  Any custom C modules involved?

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)



Re: [AOLSERVER] malloc replacement libraries?

2002-11-07 Thread Dossy
Out of curiousity, I went and installed Valgrind 1.0.3 (1.0.4 is latest,
but I was lazy and used the Debian package and apt-got it).

On my dev. AOLserver instance, just starting it up under Valgrind,
hitting the server 2 or 3 times, then stopping it, Valgrind generated a
slew of errors.  Most of them during the server shutdown portion of the
code.

No real errors are thrown during startup or runtime (which is just one
or two hits).

Surprisingly, on my 1.26 GHz Pentium III, Valgrind runs acceptably fast!
Not nearly as slow as I would have expected from what my friend had
said.

-- Dossy


On 2002.11.06, Dossy [EMAIL PROTECTED] wrote:
 More about Valgrind here:

 http://developer.kde.org/~sewardj/

 At a glance, it's an awesome looking tool.  When I get the time, I
 definitely want to push Tcl and AOLserver through its paces with
 Valgrind.  Probably once the automated test suite for AOLserver tests a
 good amount of functionality, so I can just run the test suite under
 Valgrind ...

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)



Re: [AOLSERVER] malloc replacement libraries?

2002-11-07 Thread Peter M. Jansson
Or in an external database driver.  You can set up a driver where the SQL
 it accepts is whatever you need, and then it returns results in a single
column of a single row.  This works especially well if you want to set up
a pool of them

On Thursday, November 7, 2002, at 04:49 AM, Zoran Vasiljevic wrote:


isolating the
bogus code in the Tcl proxy shell (as Nathan suggested)



Re: [AOLSERVER] malloc replacement libraries?

2002-11-07 Thread Peter M. Jansson
On Wednesday, November 6, 2002, at 11:03 PM, Nathan Folkman wrote:


What are the major differences that would need to be bridged between the
stock 3.5.1 code base and 3.3+ad13


The ACS version of AOLserver has i18n support and changes in the DB
interface to support bind variables for the Oracle driver.  The bind
variable support is roughly equivalent to the stored procedure parameter
support of the Sybase driver, but, of course, implemented differently.
Beyond that, there are a few bug fixes, I think, but I haven't seen a list.
  It's the i18n and bind variables support that prevent ACS users from
using a stock AOLserver.

I think the OpenACS project has refactored a bunch of these changes, and
now has their own distribution of AOLserver, so someone from there (Simon?
  Rob?) may be able to step in and enumerate the changes or provide a
reference list.



Re: [AOLSERVER] 3.3.1+ad13 changes (Was: malloc replacement libraries?)

2002-11-07 Thread Jamie Rasmussen
I'm not 100% sure this is correct, but...

I think the main features missing are related to internationalization.
Arsdigita added some functions to the C and TCL APIs that OpenACS uses.
 (ns_charsets, ns_encodingfortype, ns_encodingforcharset, etc.)
AOLserver 4.0 uses some similar functions internally and makes them
available in the C API, but not in the TCL API.  (Ns_ConnGetEncoding,
Ns_GetCharsetEncoding, etc.)  I think there's less charset support in
3.5.1 than 4.0, though there's been work to forward port the ad13
changes to 3.4 that might be useful.  There hasn't been a lot of
testing, but OpenACS seems to work with 3.5.1 if you aren't using
multiple charsets.
More information here:
http://www.collaboraid.biz/extranet/i18n/forums/message-view?message_id=4034

http://www.collaboraid.biz/extranet/i18n/

There also used to be an issue of additional/patched modules (nsoracle,
nspostgres, nscache, nssha1, ...) but all of these except the updated
nspostgres have been moved into SF I think.  There are a few other minor
differences, like SF patch #474259.

Nathan, could we add discussion of an integration effort to the agenda
for next week's chat?  I can ask the OpenACS people working on i18n to
attend.
Thanks!

Jamie


Nathan Folkman wrote:



What are the major differences that would need to be bridged between the
stock 3.5.1 code base and 3.3+ad13. There seems to be a large amount of
email, bugs, etc. around the ad versions. Would things become easier if
we were all working from a single common code base? ...I know this is a
somewhat loaded question, but I'm curious as to what features are
considered missing from the 3.5.1 code base. Thanks!

- n



Re: [AOLSERVER] 3.3.1+ad13 changes (Was: malloc replacement libraries?)

2002-11-07 Thread Janine Sisk
On Thursday, November 7, 2002, at 07:33 AM, Jamie Rasmussen wrote:


There hasn't been a lot of
testing, but OpenACS seems to work with 3.5.1 if you aren't using
multiple charsets.


I *think* that Jon Griffin had some trouble with file uploads with 3.5,
but I can't find the post at openacs.org where he talked about it.  If
he doesn't see this and chime in, I'll ask him about it.

janine

--
Janine Sisk
President/CEO
furfly.net, LLC
Mont Vernon, NH
Phone: 603-672-1122



[AOLSERVER] Reminder: Weekly Chat Today (Thursday, November 7, 2002)

2002-11-07 Thread Nathan Folkman
What, When,  Where
-

The AOLserver weekly chat takes place today, Thursday, November 7, 2002, at 18:00 UTC, which translates to:

   2 PM US/Eastern
   1 PM US/Central
   12 PM US/Mountain
   11 AM US/Pacific + Arizona

AOL/AIM chatroom: AOLserver on exchange 4: aim:GoChat?RoomName=AOLserver.

Agenda
---

1. Status of AOLserver Core Team
2. Status of documentation effort
3. Adding back Win32 support to 3.6 release
4. 3.5.1 officially released

Getting on AIM
--

You do not need to be an AOL subscriber to use AIM. You simply need an AIM client and an AIM handle.

Windows and Macintosh Users:

You can download the standard AIM client and register for a login here: http://aim.aol.com/. 

Unix/Linux Users:

You can download the TiK AIM client, which requires Tcl/Tk 8.1 or later, here: http://tik.sourceforge.net/. Or you can get a stripped-down version of TiK, called MiniTik, here: http://sourceforge.net/projects/minitik/. Or you can get GAIM, an AIM client written in C using the Gtk+ toolkit, here: http://gaim.sourceforge.net/. Then you can get an AIM handle here: http://aim.aol.com/. 

Getting into the AOLserver Chat Room


You may be able to get into the AOLserver chat room by clicking this link: aim:GoChat?RoomName=AOLserver. 

If that doesn't work, try inviting yourself to the chat room. 

For the Windows or Macintosh client, select People - Send Chat Invitation. You will get a "Chat Invitation" dialog box. Clear out any names in the "Screen names to invite" box and type in your own screen name. Clear out anything in the "Chat room" field and type in "AOLserver". Then click send. 

For the TiK client, try this: in your "Buddy List" window, you should have a button labelled "Chat". Click it. In the "Screen Names to Invite" box, put your own handle and delete any others. In the "Location" or "Name of Buddy Chat Room" box, put "AOLserver". Then click "Send" or "Invite". 

As a last resort if nothing else works, try sending an instant message to quixotus (that's me) or ianmfink asking for an invitation. 

If you're using TiK, then you can add the AOLserver chat room to your menus. Choose Packages/Quick Chat/New Quick Chat from the menu bar. For "Menu Label", put "AOLserver". For "Chat Room", again put "AOLserver". For "Exchange", put 4 (which is the default, so you shouldn't need to change it). Then click "Ok". Now if you pull down the Packages/Quick Chat menu, you should see an item named "AOLserver", which will bring up the AOLserver chat room. 



Re: [AOLSERVER] 3.3.1+ad13 changes (Was: malloc replacement libraries?)

2002-11-07 Thread Nathan Folkman
In a message dated 11/7/2002 10:38:48 AM Eastern Standard Time, [EMAIL PROTECTED] writes:

I *think* that Jon Griffin had some trouble with file uploads with 3.5,
but I can't find the post at openacs.org where he talked about it. If
he doesn't see this and chime in, I'll ask him about it.

janine

We just released 3.5.1 which contains a fix to a big found in the handling of file uploads.

- n


Re: [AOLSERVER] malloc replacement libraries?

2002-11-07 Thread Rob Mayoff
+-- On Nov 7, Peter M. Jansson said:
 On Wednesday, November 6, 2002, at 11:03 PM, Nathan Folkman wrote:

  What are the major differences that would need to be bridged between the
  stock 3.5.1 code base and 3.3+ad13

 The ACS version of AOLserver has i18n support and changes in the DB
 interface to support bind variables for the Oracle driver.

It's the ArsDigita version, not the ACS version.

There were no changes to AOLserver for the sake of bind variables. That
was implemented entirely in the Oracle driver.

Below is the DISTRIBUTION.txt file from 3.3.1+ad13. It lists all the
differences between 3.3.1+ad13 and stock 3.3.1. Since ArsDigita began
moving off of AOLserver after that release (due to the reimplementation
of ACS in Java), I never ported the patches to 3.4. I've never looked at
the code for 3.5 or later.  The character encoding support is the
biggest, ugliest change.

/**/
This is an ArsDigita distribution of AOLserver 3.3.1 (patchlevel 13).
It returns

  Server: AOLserver/3.3.1+ad13

as an HTTP header. It includes the following patches on top of the
standard AOLserver 3.3.1.

 Carried over from 3.2+ad12:

- Patches to support character encodings.  Described in
  encoding-doc.html.

- Add errorminsize to doc/config.txt.

- Added byte range support in fastpath.c and ns_returnfile.

- Added Tcl command ns_db stats poolname, which returns a two-element
  list.  The first element is the maximum number of handles in the pool
  (equal to the connections config parameter).  The second element is
  the number of handles currently available in the pool.

- Reset ADP exception before executing an ADP, in case previous ADP
  called ns_adp_break, etc.

- Ns_QueryToSet will not allow parameters whose names end with .tmpfile.

- Added boolean database parameter WarnEmpty.  If this is set, then
  AOLserver will log a warning when the last handle in a database pool
  is empty, and when a thread tries to get a handle from an empty pool.
  Set this in the ns/db/pool/poolname section.

- Patch to op.c to not crash on bad HTTP request line if nsd.tcl has a
  401 redirect.

- Patch to NsHandleSignals to actually exit on Linux if a SIGSEGV is
  received.

- Patch to ns_sourceproc to cache Tcl pages (including bytecodes) if
  nscache module is installed.

- Set system encoding to ns/server/server1/SystemEncoding (default
  utf-8) in modules/tcl/init.tcl.

- Fix channel memory leak in tclIO.c.

 New in 3.3.1+ad13

- Declare Ns_ConnWriteRawData in ns.h.

- Fix switch statement in ns_choosecharset.

- Import fix for freeing of Tcl TSD from AOLserver 4.0 tree.

- Merged additional i18n support from Henry Minsky, allowing programs
  to translate form data to multiple charsets within a single HTTP request.



[AOLSERVER] AOLserver 3.5.1 Released

2002-11-07 Thread Nathan Folkman
AOLserver 3.5.1 released:
-

The AOLserver team is pleased to announce the 3.5.1 release of 
AOLserver. The 3.5 branches are the first AOLserver releases to use Tcl 
unmodified. More details can be found below and in the ChangeLog file 
distributed with the release. Thanks for submitting your changes and 
bugs, they continue to help improve AOLserver.

Where to get the new release:
---

The AOLserver 3.5.1 source is freely available in open source from 
Sourceforge at:

  http://sourceforge.net/project/showfiles.php?group_id=3152

This web page also contains additional information about the release, 
including new features and notes about installing and compiling the 
release.


For additional information:
-

Please visit the AOLserver web site:

  http://www.aolserver.com

This site contains a variety of information about AOLserver.

Summary of changes since AOLserver 3.5.0:


Here are the main changes in AOLserver 3.5.1. A complete list can be 
found in the ChangeLog file at the root of the source tree included 
with each release.

   * Added man page stubs for core commands in /doc.

   * Added control port logging.

   * Fixed file upload encoding bug.

   * Added ns_getformfile for secure acces to temp files

   * Enabled command line argument passing.

   * Changed behavior of ns_atclose to execute at connection close 
 instead of at end of registered procs.
          NB: This may be incompatible with existing code

Control port logging:


A new option to log control port user and commands has been added. 
Below is an example config section followed by example output. By 
default control port logging is enabled.

Configuration:

ns_section "ns/server/${servername}/module/nscp"
   ns_param cpcmdlogging 1

Sample output:

[04/Nov/2002:22:14:34][617.1008368][-nscp:1-] Notice: nscp: connect: 127.0.0.1
[04/Nov/2002:22:14:37][617.1008368][-nscp:1-] Notice: nscp: logged in: 'nsadmin'
[04/Nov/2002:22:14:41][617.1008368][-nscp:nsadmin:1-] Notice:  1 info commands
[04/Nov/2002:22:14:41][617.1008368][-nscp:nsadmin:1-] Notice:  1 Command Completed.


[AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Gabriel Ricard
I've been tinkering around with AOLServer and decided to run some
benchmarks on it. I've been using 'ab' to do this. I'm using 100BaseT
LAN (hub, not switch) between my powerbook and imac. The imac is the
server (700MHz G4, 768MB).

When I am benchmarking it some strange things happen when I use 20, 70,
and 100 concurrent connections. I'm not 100% if it's ab, or aolserver,
but one of the two just kind of .. stops for a short while. I've tried
it with different settings for the # of active threads (MinThreads is
set to MaxThreads so they're all active at startup) and it always seems
to happen. The lights on the hub stop blinking and the iMac's disk
stops churning. At every other concurrency level I've tried (multiples
of 10 between 10  100) it works fine except for the three concurrency
levels listed before. I've taken a look at nstelemetry.adp while it's
in the stopped state and I can't really make out anything
distinctive, but I don't really know how to read that page well anyways.

This occurs with both 3.3.1+ad13 and 3.5.0. I'm running Mac OS X 10.2.1.

Anyone know what could possibly be happening? Anyone have some tips of
making sense of the data nstelemetry.adp provides?

Thanks,
Gabriel



Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Andrew Piskorski
On Thu, Nov 07, 2002 at 12:25:48PM -0500, Gabriel Ricard wrote:

 When I am benchmarking it some strange things happen when I use 20, 70,
 and 100 concurrent connections. I'm not 100% if it's ab, or aolserver,
 but one of the two just kind of .. stops for a short while. I've tried

 This occurs with both 3.3.1+ad13 and 3.5.0. I'm running Mac OS X 10.2.1.

Perhaps try it with 4.0 as well?

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com



Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Gabriel Ricard
Shall I just grab the CVS tree? I don't see any packaged tarball on the
sf.net site.

On Thursday, November 7, 2002, at 12:30  PM, Andrew Piskorski wrote:


On Thu, Nov 07, 2002 at 12:25:48PM -0500, Gabriel Ricard wrote:


When I am benchmarking it some strange things happen when I use 20,
70,
and 100 concurrent connections. I'm not 100% if it's ab, or aolserver,
but one of the two just kind of .. stops for a short while. I've tried



This occurs with both 3.3.1+ad13 and 3.5.0. I'm running Mac OS X
10.2.1.


Perhaps try it with 4.0 as well?

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com



[AOLSERVER] FW: [SourceForge] Notice of scheduled site/service outages

2002-11-07 Thread Dossy
Just in case anyone tries to access the AOLserver SF project on
11/14/2002 or 11/17/2002 and finds that it's down, this is why:

- Forwarded message from SourceForge. net Team [EMAIL PROTECTED] -

Date: Thu, 07 Nov 2002 09:39:20 -0800
From: SourceForge.net Team [EMAIL PROTECTED]
Subject: [SourceForge] Notice of scheduled site/service outages
To:  [EMAIL PROTECTED]
X-Spam-Status: No, hits=3.6 required=5.5
tests=EXCUSE_1,IN_ACCORDANCE_WITH_LAWS,SPAM_PHRASE_08_13
version=2.43

Greetings,

This message contains vital details regarding two upcoming outages which
will affect the access of you and your developers to the SourceForge.net
site and project resources.  Please read this message carefully.

You are receiving this message because this email address is associated
with the account of a project administrator of a project currently
hosted on SourceForge.net (https://sourceforge.net).  This message has
been sent in accordance with our Guidelines Regarding Notification for
SourceForge.net Site Changes, as found in the Site Docs collection of
SourceForge.net

On 2002-11-14 (Thursday), the SourceForge.net site, project mailing
list services, and the primary download server (which handles the
redirects for all download requests) will be offline for a period of
two to three hours, starting at 16:00 Pacific (GMT-8).

On 2002-11-17 (Sunday), project CVS services, project shell services,
project web services (including all VHOSTs), and project database
services will be offline for a period of up to twelve hours, starting
at 10:00 Pacific (GMT-8).  Project web services will be restored first,
but will be brought up initially with read-only access to project group
directory space.  Static web content will be served correctly during this
time period, but application-driven and database-dependent content and
CGI scripts will not function correctly.  Issues encountered during this
time period SHOULD NOT be reported to SourceForge.net; they are an
expected side-effect of this outage.

Both outages (2002-11-14 at 16:00 for 3 hours, and 2002-11-17 at 10:00
for 12 hours) have been scheduled to permit the relocation of site
hardware by SourceForge.net staff.

All inquiries regarding this outage, SourceForge.net, or your project
on SourceForge.net should be directed to the SourceForge.net team by
submitting a Support Request.  Support IS NOT provided via email.
To submit a Support Request:
https://sourceforge.net/tracker/?func=addgroup_id=1atid=21

Thank you,

SourceForge.net staff

- End forwarded message -

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)



[AOLSERVER] AOLserver Project Update

2002-11-07 Thread Jim Davidson

Dear AOLserver Community Member:

As you may have noticed, we've been making some changes with our management of the AOLserver project here at AOL. Basically, we're applying some lessons learned from other successful OpenSource projects such as Apache to provide better support for you in the community. To help you understand these changes, I'd like to provide you some background on AOLserver including my role in the project.

AOLserver began in 1994 as NaviServer, the server for a web publishing toolkit from a small startup company in Santa Barbara, California called NaviSoft. NaviServer included many innovative features for that time including the ability to publish pages directly from the NaviPress WYSIWYG editor/browser, integrated database connectivity, and the Tcl scripting language.

I joined NaviSoft in the fall of 1994 and took responsibility for the NaviServer project a few months later. Just weeks after I started, NaviSoft was acquired by AOL. While we released NaviServer 1.0 as planned in mid-1995, we began to focus more and more on AOL's specific requirements. Eventually we stopped selling NaviServer, renamed it GNNserver, renamed it again to AOLserver and provided it free for download in binary form (I think all that happened in 1996 but the dates are fuzzy now).

I left the project in the fall of 1996 and moved to Virginia to startup a team working on Digitalcity.com, an AOL venture. The remaining AOLserver team members continued to work on AOLserver, delivering binary-only releases 2.2 and 2.3 and the OpenSource version 3.0. The 3.0 release was a huge effort to simplify and cleanup the code for the benefit of the OpenSource community.

For various internal reasons at AOL, right after the 3.0 release the AOLserver dev team moved on to other projects. Because we were using AOLserver quite a bit at Digital City, I took responsibility for it once again. Truth be told, I was still tinkering with the code and figured it wouldn't be too hard to keep up with any critical bug fixes. This turned out to be true and worked fine over the past few years -- the maintenance burden has been light and we've had great results supporting additional sites on AOLserver including MapQuest.com, Moviefone.com, and Netscape.com.

What hasn't worked as well is the OpenSource project. To date, we haven't been very consistent in our involvement in the project. Bug reports and feature requests which aren't relevant to sites we run at AOL have received very little attention and the documentation is out of date and riddled with lies. Also, the new 4.0 release which I've been working on for quite some time, as time permits, is about a year behind were I expected it to be. I'm sure many in the community wonder what's driving the 4.0 work and what that means for the 3.x code base. Finally, we haven't made it easy for folks to contribute to the code base, leaving much of the maintenance effort (light as it is) on me and other AOL engineers.

So, basically AOLserver has had a long, eight year history and while it has proven useful here at AOL and elsewhere, the OpenSource project isn't as useful as it could be. To address this I've assigned responsibility for the project at AOL to Nathan Folkman ([EMAIL PROTECTED]), a development manager in my group. Nathan has been working with AOLserver in my group since way back in 1996 and has a deep understanding of how large scale sites can be built and operated. Kriston Rehberg, who was a key contact for AOLserver in the past, will be focusing on internal AOL users going forward. I plan to continue as a contributor to the project but Nathan will be your primary contact from AOL.

To get started, Nathan has a few key objectives for the remainder of this year:

- Elect a small, core team that will provide continued guidance for the AOLserver project.

- Prioritize and manage the resolution of all bug fixes and minor updates to the 3.x series.

- Publish the rationale behind the 4.0 version and a roadmap for it's release.

- Refresh the documentation, starting with the 3.x version.

- Update aolserver.com to make it easier to find things.

As before, resources available at AOL are limited so more than ever Nathan will be looking for you to get involved in these efforts. We're also looking for you to continue contributing to the growing list of AOLserver modules and to provide each other support and feedback. I'm confident with your help AOLserver will continue to be a great platform for developing high performance, dynamic web services. Thank you for your continued support!

Jim Davidson
Vice President
Web Services  Publishing
America Online


Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Lamar Owen
On Thursday 07 November 2002 13:21, Jim Davidson wrote:
 As you may have noticed, we've been making some changes with our management
 of the AOLserver project here at AOL.  Basically, we're applying some
 lessons learned from other successful OpenSource projects such as Apache to
 provide better support for you in the community.  To help you understand
 these changes, I'd like to provide you some background on AOLserver
 including my role in the project.
[snip]

As an AOLserver/AOLpress (RIP) user since May 1997, I applaud the new
direction this project is taking.  The moves of the last few weeks are
refreshing to me, and reinforce my decision to continue forward with
AOLserver rather than an Apache/PHP cookie-cutter site for WGCR Radio.  We
are in the midst of a redesign/revamp using OpenACS 4, and the direction the
base server takes or doesn't take is critical in my continued justification
of using a fairly arcane and obscure webserver.  My insistence on using this
particular server has come under fire before because the server isn't as
popular as some.

While I don't feel like I should be on core, I do want to continue helping as
I can with development in the future. As the shape of 4.0 develops, I can
focus on how that will impact the PostgreSQL driver, to the point that I may
be able to maintain that.  Maybe I will have the time I would like to have to
do this.

In all honesty, I was beginning to wonder about the wisdom of continuing to
use AOLserver in this application, but the renewed vigor in this area is
nice.  So, today will be the first chat I will attend, as ramifordistat,
because of this rejuvenation.

Jim, many thanks for the explanation, and I look forward to continuing using
this fine server.
--
Lamar Owen
WGCR Internet Radio
1 Peter 4:11



Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Gabriel Ricard
Ok, got the CVS version, compiled, installed, copied my server config and directory over and then I got an error message:

[07/Nov/2002:13:59:53][5957.1060384][-socks-] Notice: socks: starting
[07/Nov/2002:13:59:53][5957.2684358124][-main-] Error: nssock: failed to listen on 192.168.1.62:80: Permission denied

I don't have another http server running. I checked with netstat and lsof. I assume, based on the error message, that that is not the problem, otherwise it'd complain about binding the socket, right? It doesn't like running it as root either, but I run it with '-u gabe' as root...

Also, AOLServer 4's connection pools and virtual hosts look quite neat. In general, is it possible to change the AOLServer configuration at run time by using the ns_section and ns_param commands?

- Gabriel

On Thursday, November 7, 2002, at 01:36  PM, Nathan Folkman wrote:

In a message dated 11/7/2002 12:38:17 PM Eastern Standard Time, [EMAIL PROTECTED] writes:

Shall I just grab the CVS tree? I don't see any packaged tarball on the
sf.net site.



the latest 4.0 code is on the head version.

Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Dave Siktberg



Thanks 
for the interesting background info, for clearly stating the current situation 
so we know how we fit in, and especially thanks for your clear commitment to 
excellence in this endeavor. I am grateful that AOLserver is available to 
supportour business venture, and look forward to helping the AOLserver 
community as bestI can. We all will benefit from wider use of 
AOLserver and from the agenda items you laid out for the rest of this 
year.

Dave 
Siktberg
Webility Corporation


Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Jim Wilcoxson
 In general, is it possible to change the AOLServer configuration at run
 time by using the ns_section and ns_param commands?

 - Gabriel

No, in general you cannot change an AS config at runtime by fiddling ns_param
commands.  These commands are all processed at startup.  For example, when you
specify the max keepalive connections you want, AS mallocs a bunch of data
structures at startup.  These can't be reconfigured by executing ns_section
or ns_param commands.

Jim



Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Gabriel Ricard
Ah, that makes sense. Thanks.

On Thursday, November 7, 2002, at 02:10  PM, Jim Wilcoxson wrote:


In general, is it possible to change the AOLServer configuration at
run
time by using the ns_section and ns_param commands?

- Gabriel


No, in general you cannot change an AS config at runtime by fiddling
ns_param
commands.  These commands are all processed at startup.  For example,
when you
specify the max keepalive connections you want, AS mallocs a bunch of
data
structures at startup.  These can't be reconfigured by executing
ns_section
or ns_param commands.

Jim



Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Gabriel Ricard
Running on port 8000 instead of port 80 to circumvent the permissions issue...

The CVS version worked just fine. Actually, fine doesn't begin to describe it. It is over twice as fast (in terms of hits per second).

Is 4.0 still in beta mode?

- Gabriel

On Thursday, November 7, 2002, at 01:36  PM, Nathan Folkman wrote:

In a message dated 11/7/2002 12:38:17 PM Eastern Standard Time, [EMAIL PROTECTED] writes:

Shall I just grab the CVS tree? I don't see any packaged tarball on the
sf.net site.



the latest 4.0 code is on the head version.

[AOLSERVER] AOLserver Chat room is full

2002-11-07 Thread Scott S. Goodwin
Title: Message



It seems we're at 
capacity of 22 members.

Those who cannot get 
in can read the log live at

http://empoweringminds.mle.ie/openacs/chatlog/today.html

Room capacity will 
be increased in time for next week.

/s.


Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Dossy
On 2002.11.07, Gabriel Ricard [EMAIL PROTECTED] wrote:
 [07/Nov/2002:13:59:53][5957.1060384][-socks-] Notice: socks: starting
 [07/Nov/2002:13:59:53][5957.2684358124][-main-] Error: nssock: failed
 to listen on 192.168.1.62:80: Permission denied

You said you're on OS X 10.2, right?  Try adding -b 192.168.1.62:80 to
prebind.

-- Dossy

--
Dossy Shiobara   mail: [EMAIL PROTECTED]
Panoptic Computer Network web: http://www.panoptic.com/
  He realized the fastest way to change is to laugh at your own
folly -- then you can let go and quickly move on. (p. 70)



Re: [AOLSERVER] benchmarking aolserver (odd behavior)

2002-11-07 Thread Nathan Folkman
In a message dated 11/7/2002 2:19:10 PM Eastern Standard Time, [EMAIL PROTECTED] writes:

Is 4.0 still in beta mode?

yes - still beta at this point. 3.5.1 is the most recent stable version.


[AOLSERVER] Volunteers Still Needed for Documentation

2002-11-07 Thread Nathan Folkman
Towards the end of this email is a list of the man pages which remain unclaimed, and need people to volunteer to document. Please sign up by file name instead of by API name. A number of the man pages contain multiple API's, example: $TOP/aolserver/doc/ns_sock.n. 

Also, please make sure you are working from the aolserver_v35_bp branch. We need to get the docs completed for 3.5, then we will tackle 4.0. The goal is to have all of the documentation complete for the 3.6 release, which should be ready early December.

To find out what still needs to be documented:

1. Check out the 3.5 code: cvs co -raolserver_v35_bp aolserver

2. Take a look in $TOP/aolserver/doc for man page files:

 - To find which file a particular API is contained within:

- grep API_NAME $TOP/aolserver/doc/*

 - You may need to create a new man page file if one does not exist:

- API_NAME.n = Tcl API's
- API_NAME.3 = C API's

3. Check the "Tasks" area on SourceForge to see what's already been taken:

 - http://sourceforge.net/pm/task.php?group_project_id=7196group_id=3152func=browse

4. Add a new task for the man page file, or send email to [EMAIL PROTECTED] or [EMAIL PROTECTED] with the name of the file and we'll add it for you

5. Once complete, either CVS commit the update to the aolserver_v35_bp, or send the documentation file directly to [EMAIL PROTECTED] or [EMAIL PROTECTED], and we'll commit it for you.

There's been a fair amount of discussion about various ways and formats to use for the documentation. At this point it is more important to simply get the documentation complete and up to date. Therefore the decision was made to go with roff man pages, which is the route the Tcl folks took as well.

Thanks again to everyone who has signed up!

- Nathan

Tcl:
ns_addr.n
ns_at.n
ns_cache.n
ns_checkurl.n
ns_crash.n
ns_env.n
ns_img.n
ns_kill.n
ns_library.n
ns_markfordelete.n
ns_module.n
ns_modulepath.n
ns_parseheader.n
ns_parsequery.n
ns_purgefiles.n
ns_rollfile.n
ns_share.n
ns_shutdown.n
ns_sleep.n
ns_tmp.n
ns_uuencode.n
ns_writefp.n

Binary:
nsd.1

C:
Ns_Adp.3
Ns_Alloc.3
Ns_Auth.3
Ns_Cache.3
Ns_Cond.3
Ns_Config.3
Ns_Conn.3
Ns_ConnCopy.3
Ns_ConnDriver.3
Ns_ConnHeaders.3
Ns_ConnRead.3
Ns_ConnRequest.3
Ns_ConnReturn.3
Ns_ConnSend.3
Ns_ConnWrite.3
Ns_CritSec.3
Ns_DString.3
Ns_Db.3
Ns_DbDriver.3
Ns_DbPool.3
Ns_DbSp.3
Ns_DbUtil.3
Ns_Driver.3
Ns_Encrypt.3
Ns_Exec.3
Ns_ExtDb.3
Ns_Fd.3
Ns_Fetch.3
Ns_Filter.3
Ns_HttpTime.3
Ns_Htuu.3
Ns_Index.3
Ns_InetAddr.3
Ns_Info.3
Ns_IntPrint.3
Ns_List.3
Ns_Location.3
Ns_Log.3
Ns_Master.3
Ns_Mime.3
Ns_Module.3
Ns_Mutex.3
Ns_Nsd.3
Ns_Pathname.3
Ns_Pool.3
Ns_ProcInfo.3
Ns_QuoteHtml.3
Ns_RWLock.3
Ns_Rand.3
Ns_Reentrant.3
Ns_Register.3
Ns_Request.3
Ns_RollFile.3
Ns_Sched.3
Ns_Sema.3
Ns_ServerSpecific.3
Ns_Set.3
Ns_Signal.3
Ns_Sock.3
Ns_SockCallback.3
Ns_SockErrno.3
Ns_SockIO.3
Ns_String.3
Ns_TclConn.3
Ns_TclDbGetHandle.3
Ns_TclFile.3
Ns_TclInit.3
Ns_TclInterp.3
Ns_TclRegister.3
Ns_TclSet.3
Ns_TclThread.3
Ns_Thread.3
Ns_Thread2.3
Ns_ThreadAlloc.3
Ns_Time.3
Ns_Tls.3
Ns_Uid.3
Ns_Url.3
Ns_UrlEncode.3
Ns_UrlSpecific.3
Ns_UrlToFile.3



[AOLSERVER] AOLserver Core Team (ACT)

2002-11-07 Thread Nathan Folkman
We are still accepting nominees for the AOLserver Core Team. 

If you would like to nominate yourself, please send me ([EMAIL PROTECTED]) a brief paragraph or two describing why you think you'd be a good addition to the core team. If there is someone else you feel should be nominated, please let me know who they are and how I can get in touch with them. I'll follow up to make sure the nominees are willing and enable to perform as core team members before posting their names for voting.

I'd like to get the final list of nominee names by Monday morning, and will then post the names and their information on a web site where everyone can cast their votes the following Tuesday and Wednesday. The final core team will then be announced at the next AOLserver chat on Thursday.

Please let me know if there are any questions. Thanks!

- n


Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Steve Manning
Congratulations on this move to include the community and setup the core
team. I feel it gives a very positive vibe for the future of AOLServer.

I just wondering if this new push includes any plans to promote
AOLServer amongst the IT public at large. Its difficult to promote
AOLServer as a solution to a requirement when the response is 'AOL
what?'. Just about everyone has heard of Apache - how can we achieve the
same notoriety?

Steve



--
Steve Manning - Linux Mandrake 9.0 - Gnome 2.0
East Goscote  - Leicester - UK +44 (0)116 260 5457
Reply to [EMAIL PROTECTED] - AIM: verbomania
--
 Only 1 in 10 people understand binary
  - the other one hasn't got a clue.
--



[AOLSERVER] Humorous comment on documentation format discussion

2002-11-07 Thread Jeff Huber
As I was discussing with Alex the merits of various documentation
formats, I reminded myself of this quote from Philip Greenspun:

Consider the situation of two trauma surgeons arriving at an accident
scene. The patient is bleeding profusely. If surgeons were like
programmers, they'd leave the patient to bleed out in order to have a
really satisfying argument over the merits of two different kinds of
tourniquet.



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Scott Goodwin
Good question.  In about six months I expect AOLserver and all of the
modules to be fully tested, documented and clean. At that point, it will
be hard to argue with using AOLserver for any kind of IT project from a
technical or maintenance standpoint. It is the other arguments we will
have to overcome, such as, Tcl? I thought that was obsolete and Isn't
everything going Java and J2EE?

On the popularization front I want to have a self-installing
distribution of AOLserver that will lower the bar to getting a copy of
AOLserver running with a few simple, live applications. We make it easy
for newcomers to run the server and see what it can do without having to
wade through discussion groups and docs trying to figure out how to get
something running themselves. I also plan to write a series of articles
for magazines, update my website, and run naked through the streets if
necessary.

/s.



-Original Message-
From: AOLserver Discussion [mailto:AOLSERVER;LISTSERV.AOL.COM] On Behalf
Of Steve Manning
Sent: Thursday, November 07, 2002 4:21 PM
To: [EMAIL PROTECTED]
Subject: Re: [AOLSERVER] AOLserver Project Update


Congratulations on this move to include the community and setup the core
team. I feel it gives a very positive vibe for the future of AOLServer.

I just wondering if this new push includes any plans to promote
AOLServer amongst the IT public at large. Its difficult to promote
AOLServer as a solution to a requirement when the response is 'AOL
what?'. Just about everyone has heard of Apache - how can we achieve the
same notoriety?

Steve



--
Steve Manning - Linux Mandrake 9.0 - Gnome 2.0
East Goscote  - Leicester - UK +44 (0)116 260 5457
Reply to [EMAIL PROTECTED] - AIM: verbomania
--
 Only 1 in 10 people understand binary
  - the other one hasn't got a clue.
--



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Dave Siktberg
Scott wrote:
 ... lower the bar to getting a copy of AOLserver running ...

To revisit the documentation theme in this context of attracting new users,
I remember the sensory overload of picking up AOLserver / ACS from scratch
18 months ago.  I've been developing software on and off for 38 years
(yikes!), so it's no sweat in theory to pick up a few new languages /
platforms.  But becoming proficient is another story - in the beginning, you
have to look up almost everything - very little is yet committed to memory,
and you are in the blind spot of don't know what you don't know an awful
lot of the time.  In this mode, you want to access documentation differently
than when you are an expert or expert-in-the-making.

For example, you often want to see things organized by function, not
alphabetically -- you don't yet know the name of what you're looking for!
You want to see a function's arguments and their meaning right next to its
overall description for fastest access - not looking in two different
places.  You find it useful to browse among _all_ related commands in a
given functional area to get a full mental picture of what's available, and
start thinking about when to employ each.  A grouping scheme that's fairly
rich helps you build your knowledge this way.

I don't think this requires separate documentation for neophytes, but
perhaps a separate and differently organized set of links into the
documentation.  I created my own high-level crib sheet for the tcl API a
year ago, with links to the online documentation, and used it faithfully for
several months.  But I never fixed the places where my initial understanding
was wrong, or where items were missing, or where I never used functions and
didn't learn about them.  And then when the on-line documentation file
structure changed, I dropped it.  But it could well form a useful starting
point now.  Take a look at it here (no off-page links work):

www.webility.md/aol-tcl-a.htm   (not our AOLserver site)

I'll volunteer to take it further if y'all think it's worth it.

Dave Siktberg



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Jeff Huber
For example, you often want to see things organized by
function, not alphabetically -- you don't yet know the name of
what you're looking for!
snip

I second the idea of organizing commands by function. I think the
current documentation at aolserver.com does a good job of this:
http://www.aolserver.com/docs/devel/tcl/api/

I hope we will still be able to have an overview document dividing
commands up by function after the commands are converted to man pages.

Jeff



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Gabriel Ricard
Speaking from the point of view of a recent convert from the Apache/PHP
world, one thing that will really lower the bar for people like me is a
document (or article) along the lines of AOLServer and Tcl for
Apache/PHP users. From the end user stand point it may be good to have
packaged versions of AOLServer with snazzy front-ends for configuration
and maintenance/status of the server. I'm not a terrific write, but I
think I could maybe crank out something to assist PHP users in getting
acquainted with AOLServer and Tcl. Tcl along with AOLServer's API is
just as powerful and extensible as PHP is. In fact it offers a lot of
things that PHP simply doesn't (pooled DB connections, robust control
over the use of the HTTP protocol: responses codes, headers, mime
types, etc.).

I think the only thing I'm still hung up on is arrays. In PHP it was
ultra-easy to handle database rows using associative arrays,, and
handling large numbers of rows in multi-dimensional arrays. I don't
really know how to emulate that in Tcl, without setting up a separate
API to handle it. Anyone have some tips on that?

- Gabriel

On Thursday, November 7, 2002, at 06:13  PM, Scott Goodwin wrote:


Good question.  In about six months I expect AOLserver and all of the
modules to be fully tested, documented and clean. At that point, it
will
be hard to argue with using AOLserver for any kind of IT project from a
technical or maintenance standpoint. It is the other arguments we will
have to overcome, such as, Tcl? I thought that was obsolete and
Isn't
everything going Java and J2EE?

On the popularization front I want to have a self-installing
distribution of AOLserver that will lower the bar to getting a copy of
AOLserver running with a few simple, live applications. We make it easy
for newcomers to run the server and see what it can do without having
to
wade through discussion groups and docs trying to figure out how to get
something running themselves. I also plan to write a series of articles
for magazines, update my website, and run naked through the streets if
necessary.

/s.



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Andrew Piskorski
On Thu, Nov 07, 2002 at 08:06:37PM -0500, Gabriel Ricard wrote:
 Speaking from the point of view of a recent convert from the Apache/PHP
 world, one thing that will really lower the bar for people like me is a
 document (or article) along the lines of AOLServer and Tcl for
 Apache/PHP users. From the end user stand point it may be good to have

As a real live recent convert, what led you convert?  And what is
better/worse about AOLserver/Tcl vs. Apache/PHP?  I'm personally
curious, but maybe your answers would also be an effective
evangelization document!

 packaged versions of AOLServer with snazzy front-ends for configuration
 and maintenance/status of the server. I'm not a terrific write, but I

snazzy configuration front-ends, yuck!  Well, that was my first
reaction anyway.  If someone really wants to do this, making AOLserver
Tcl or ADP pages for controlling AOLserver should be the right way to
go.  One button out-of-the box install of useful applications sounds
potentially good though.

 I think the only thing I'm still hung up on is arrays. In PHP it was
 ultra-easy to handle database rows using associative arrays,, and
 handling large numbers of rows in multi-dimensional arrays. I don't
 really know how to emulate that in Tcl, without setting up a separate
 API to handle it. Anyone have some tips on that?

I know nothing about PHP's arrays, but it sounds like you're running
into the fact that unlike lists, which may contain other lists, Tcl
arrays can't contain other Tcl arrays, they can only contain named
references to other Tcl arrays.  I know there's been talk in the past
about changing that limitation, but I don't know whether it's
currently on the Tcl core team's agenda, or what they think about it.

In Tcl, if I wanted to get all the rows at once and store them in some
structure, I'd probably use either db_list_of_lists:

  http://openacs.org/api-doc/proc-view?proc=db_list_of_lists

or one of the related OpenACS db or templating procs.  Or, I might
store each row as a list in a Tcl array - as long as you include a
column with a unique id in the list, that works fine.

To store multiple rows each of multiple columns directly in a Tcl
array (without any embedded list structures), you just need to embed
more info into the Tcl array keys.  I've never done that myself, but
it would work, something like what the A simple database page on the
Wiki shows:

  http://mini.net/tcl/1598.html

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Dave Bauer
 I think the only thing I'm still hung up on is arrays. In PHP it was
 ultra-easy to handle database rows using associative arrays,, and
 handling large numbers of rows in multi-dimensional arrays. I don't
 really know how to emulate that in Tcl, without setting up a separate
 API to handle it. Anyone have some tips on that?

Take a look at ns_set

http://www.aolserver.com/docs/devel/tcl/api/general.html#ns_set

Dave



[AOLSERVER] ns_set, Tcl arrays Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Andrew Piskorski
On Thu, Nov 07, 2002 at 08:58:40PM -0500, Dave Bauer wrote:
  I think the only thing I'm still hung up on is arrays. In PHP it was
  ultra-easy to handle database rows using associative arrays,, and
  handling large numbers of rows in multi-dimensional arrays. I don't
  really know how to emulate that in Tcl, without setting up a separate
  API to handle it. Anyone have some tips on that?

 Take a look at ns_set

 http://www.aolserver.com/docs/devel/tcl/api/general.html#ns_set

If you have a lot of data - hundreds rather than just one row - using
an ns_set is a bad choice, as they are implemented as linearly
searched C arrays.  This gets very slow for large datasets.

If you create a huge ns_set (say, in some custom C code), it can be
MUCH faster to immediately convert it to a Tcl array or AOLserver nsv
before further processing in your Tcl code, rather than using the
ns_set directly - if you do lots of key lookups, it definitely will
be.  I know, I tested it.  (And in fact, I left it that way, as I
never did sit down and figure out how to create and populate a Tcl
array in C and then hand it to Tcl.)

AFAIK it's not mentioned anywhere in the docs, but the uses of ns_sets
in AOLserver seem to keep this in mind.  E.g., the database API puts
ONE row of data into the ns_set, not thousands; AOLserver uses ns_sets
for holding HTTP headers because you need to allow duplicate keys, but
you're never going to have that many rows.

I'd say, use an ns_set when these features are either something you
want, or not a problem:

- Key order is preserved.
- Multiple identical keys are allowed.
- Very poor key lookup scalability - slow for large datasets.

Otherwise, use something else, probably a Tcl array, maybe an nsv or
Tcl list.

Oh yeah, and I recomend not using server-wide shared ns_sets either.
Doing so is unusual anyway, but I did for a while (on AOLserver
3.3+ad13), and it caused unexplainable memory leaks, even though I
was always properly freeing the ns_set

--
Andrew Piskorski [EMAIL PROTECTED]
http://www.piskorski.com



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Gabriel Ricard
On Thursday, November 7, 2002, at 08:52  PM, Andrew Piskorski wrote:


On Thu, Nov 07, 2002 at 08:06:37PM -0500, Gabriel Ricard wrote:

Speaking from the point of view of a recent convert from the
Apache/PHP
world, one thing that will really lower the bar for people like me is
a
document (or article) along the lines of AOLServer and Tcl for
Apache/PHP users. From the end user stand point it may be good to
have


As a real live recent convert, what led you convert?  And what is
better/worse about AOLserver/Tcl vs. Apache/PHP?  I'm personally
curious, but maybe your answers would also be an effective
evangelization document!


Curiosity mainly. I work on a fairly large web application at the
office, and I've been researching ways to expand it and ensure its
maintainability in the future. I've been looking into as many different
options as possible for implementing a new version of the application.
PHP is ok, but I wanted to know what my options were. I've looked at
and played with python, ruby, even lisp (after reading about how yahoo!
stores was created/bought). PHP is nice, but it doesn't really seem to
scale that well past a single server, and I'm looking for reliability
as well as performance, so multiple webservers sitting behind a load
balancer seems like the best option. For a few months I spent time
playing with SRM, an application server for PHP. It's a great idea, but
it's not near production quality yet, and work on it is slow.

At some point I ran across Philip Greenspun's book. I think that was
mostly related to hearing about what happened to ArsDigita (damn VCs).
So, I read his book a few times, and absorbed as much else as I could.
At some point I figured I'd give AOLServer a try. I wanted to try PHP
with it as well.

I have to admit, when I first started playing with AOLServer I was
quite dumbfounded. But, after spending a week or so reading as much as
I could about it and Tcl and going to BN and reading through some
books there it seemed rather ok. I've got a growing list of the things
I think make AOLServer/Tcl great:

- AOLServer is multi-threaded. Uses less resources than Apache, and is
considerably more reliable. (Yes, Apache 2 is multi-threaded, and PHP
is thread-safe, but there are still issues with using the two together
and they are not guaranteed to be reliable for production use)

- AOLServer's configuration is considerably easier to understand (at
least for me). Now that I've taught myself Tcl, reading through the
config file is a breeze. Everything makes sense. I can easily locate
where certain configuration parts are. In Apache, PHP's configuration
is usually three different commands in three completely separate
locations (LoadModule, AddModule, and then AddTypes to handle PHP).

- DB connection pooling. Apache is great for running multiple websites,
but for running a single web application, AOLServer, frankly, is the
shit. Yes, in Apache and PHP there are persistent connections, but how
useful is that when they're only available per pre-forked process? It
doesn't save as much time as having a single pool of database
connections open and ready anytime.

- I absolutely *LOVE* the control over URL mapping in AOLserver. So far
as I know, there's no way in Apache to say take any requests for
/cmd/* and process them with this PHP function

- I like the idea of moving the authentication out of the scripts
themselves and into a tcl init script that sets up a bunch of filters.
Less work for the actual scripts to perform, and easier to maintain.

- ADP templating facilities are great. I love being able to create my
own tags and controlling how that tag is processed. That's just not
available in PHP unless you use Smarty (I don't know if it allows for
custom tags) or write it yourself.

   - Note: my only gripe with ADP is that the following does not appear
to work:

   if { [check $something] == 1 } {
   %
   bbreak out of Tcl mode and process some HTML conditionally/b
   %
   }

   In PHP that is perfectly possible.

- Another big bonus for AOLServer/Tcl is the preloading of code
libraries in your server/tcl directory. The closest PHP gets to this is
caching systems like APC and Zend Accelerator. Having all of your
utility code available instantly so it doesn't have to be parsed and
processed for each request.

- the built-in cron-like task scheduling system is great too. makes it
a lot easier to maintain your app when all of its functionality is in
one place. if only there was an MTA system that tied in with AOLServer
too... (is there??)

- stability / reliability. in benchmarking AOLServer and Apache on my
mac at the office, I found that Apache had some reliability issues. out
of 50,000 requests Apache would have about 1,000 failures. AOLServer,
on the other hand, had about 2-6. Also, when I hit Apache really hard
(50 concurrent users or more), it would soak up all availble CPU so my
system's 

Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Peter M. Jansson
On Thursday, November 7, 2002, at 09:27 PM, Gabriel Ricard wrote:


I guess I'm just spoiled by the associative arrays in PHP.


Tcl arrays are associative.  Tcl has pretty much 3 data structures:

   - scalars
   - lists
   - arrays (which are associative)

The trick is that a list is really just a scalar with whitespace between
the elements, unless the element is enclosed by braces, so there's really
only two.

Here's an example of Tcl array usage, outside of the DB context:

   set likes(Bob.color) red
   set likes(Earl.color) blue

Now you can do things like:

   puts $likes(Bob.color)

You can also do this:

   set person Bob
   puts $likes($person.color)

And that's how a lot of the DB stuff I do gets done.  I have this routine
I use that sucks in a DB query into an associative array and gives you
back a list of the primary keys in the array (assuming the primary key is
not a composite key), and then you can do this:

   foreach rowkey $rows {
   ns_puts Person: $rowkey; Favorite color:
$fetchResult(key.$rowkey.column.color)
   }

The only problem with it is that it's pretty painfully slow for large
datasets, but the logic is simple enough that you can probably figure out
how it works just from this description.



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Jeff Huber
- Note: my only gripe with ADP is that the following
does not appear to work:

if { [check $something] == 1 } {
%
bbreak out of Tcl mode and process some HTML
conditionally/b
%
}


Gabriel,

I built an ADP Parser that works like that. I haven't used it since
AOLserver 3.0 though I'd think it'd still work. You can get it here:
http://aolserver.am.net/srccontrib/adp/index.html

Thanks for the PHP comparison.

Jeff



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Gabriel Ricard
Wonderful!

Now my only gripe is the multi-dimensional array issue, hehe. At least
there are lots of solutions for that problem available.

- Gabriel

On Thursday, November 7, 2002, at 09:47  PM, Jeff Huber wrote:


   - Note: my only gripe with ADP is that the following
does not appear to work:

   if { [check $something] == 1 } {
   %
   bbreak out of Tcl mode and process some HTML
conditionally/b
   %
   }



Gabriel,

I built an ADP Parser that works like that. I haven't used it since
AOLserver 3.0 though I'd think it'd still work. You can get it here:
http://aolserver.am.net/srccontrib/adp/index.html

Thanks for the PHP comparison.

Jeff



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Michael A. Cleverly
On Thu, 7 Nov 2002, Gabriel Ricard wrote:

 Wonderful!

 Now my only gripe is the multi-dimensional array issue, hehe. At least
 there are lots of solutions for that problem available.

I'm not at all familiar with PHP.  Could you describe (possibly included
actual PHP code snipets or other pseudo-code) what it is you accomplish
with multi-dimensional arrays? Then we should be able to help flush out
which of the many solutions would be most apropriate.

Michael



Re: [AOLSERVER] AOLserver Project Update

2002-11-07 Thread Patrick Spence
- Original Message -
From: Scott Goodwin [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, November 07, 2002 4:13 PM
Subject: Re: [AOLSERVER] AOLserver Project Update


 Good question.  In about six months I expect AOLserver and all of the
 modules to be fully tested, documented and clean. At that point, it will
 be hard to argue with using AOLserver for any kind of IT project from a
 technical or maintenance standpoint. It is the other arguments we will
 have to overcome, such as, Tcl? I thought that was obsolete and Isn't
 everything going Java and J2EE?

I see one big obstacle... and one I hope can be overcome..there are lots of
third party add ons for apache that would work seemlessly if we had
compatibility with the more popular MODs for apache.  If we had perfect
emulation of (for example) mod_rewrite it would make quite a few packages
that are popular (like gallery from gallery.menalto.com) work much better..
I think one of the best ways to get converts from the top webservers is to
offer them invisible migration.. otherwise we have to limit ourselves to
people willing to convert lots of code or people setting up fresh servers..
and neither of those are large in volume...

Make it apache compatible at the basic level (with add on modules) and it
will be a lot easier to convert them...

 for magazines, update my website, and run naked through the streets if
 necessary.

I want pictures.. :)


--
  Patrick Spence arivenATarivenDOTcom
  www.RandomRamblings.com
  www.Ariven.com



[AOLSERVER] Announcing new utility ... aolserver based postgresql schema comparison

2002-11-07 Thread carl garland
Announcing an launch of a new utility for comparing postgresql
schemas and creating alter scripts for changing one schema into another.
This utility is built using AOLserver and hopefully will introduce some PG
users to the wonders of AOLserver. If you are using postgresql and have a
testing and a development server this utility will be very useful for
migrating the changes. There is a demo server at www.23pools.com:8000 and
the project page with source is at www.sourceforge.net/projects/pgdiff. If
you need help or want a personal walkthru send me an email at
[EMAIL PROTECTED] and we can set up a demonstration. Please test it
out and let me know how I can make it better. The demonstration server
doesn't allow user to input arbitrary sql input for security reasons but if
you have a test case you can also email 2 schema's in files and I can email
you back results or you could download and use utility yourself. Please help
me to make this tool better for the community, Stop by, test demo, try to
find any errors (none reported yet) and please send me some feedback.

Best Regards,
Carl Garland





_
Protect your PC - get McAfee.com VirusScan Online
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963



[AOLSERVER] Other languages (was: Project Update)

2002-11-07 Thread t
- Speaking from the point of view of a recent convert from the Apache/PHP
- world, one thing that will really lower the bar for people like me is a
- document (or article) along the lines of AOLServer and Tcl for
- Apache/PHP users. From the end user stand point it may be good to have
- packaged versions of AOLServer with snazzy front-ends for configuration
- and maintenance/status of the server. I'm not a terrific write, but I
- think I could maybe crank out something to assist PHP users in getting
- acquainted with AOLServer and Tcl. Tcl along with AOLServer's API is
- just as powerful and extensible as PHP is. In fact it offers a lot of
- things that PHP simply doesn't (pooled DB connections, robust control
- over the use of the HTTP protocol: responses codes, headers, mime
- types, etc.).

I think Tcl (or, rather, single language support) is one of the big things
holding AOLserver back.  It's nice that you're all convinced of your
godliness under Tcl ;), but other smart people like other languages, and
they're not going to switch to AOLserver if it means switching to Tcl,
however much you tell them they should.  Less chauvinism on this front
would be much more welcoming, IMO; outright advertising could only help.

As an example, PyWX (Python for AOLserver) fits seamlessly into AOLserver,
and is quite stable; I don't know about PHP and the Tomcat module, but they
exist, at least.  One part of the new effort might publicize these things.

The Python community in particular is a good target population of
programmers for AOLserver, because mod_python for Apache is not very good,
while PyWX works very well.  Once the alloca bug is flushed out of hiding, I'll
start the process of writing up a PyWX tutorial  making a stable 1.0
release.

Personally, I use AOLserver because configuring it is a snap, its internal
code is cleaner than any other C code on the planet, and it has the cleanest
and nicest module interface that I've ever seen.  A big part of configuration
is the Tcl language: Apache suffers *badly* from a shoddy config file format,
or at least it did in 1.x.  The silly process model Apache uses doesn't help,
either.

I've recently been considering switching away from AOLserver because I'm
using Quixote in all my complex Web apps; see

http://www.linuxjournal.com/article.php?sid=6178

for an article about Quixote.  Quixote has support for SCGI (similar to
FastCGI: persistent server process, served by a front-end server), which
in turn is quite clean and can run under any Web server.  For the moment
I'll hang on to AOLserver to see what happens; I'm still committed to
maintaining PyWX, in any case.

cheers,
--titus

P.S. As I hinted, I have run across the alloca problem while benchmarking
AOLserver/PyWX, and it's one of the reasons that I haven't released the
latest (stable, fast, etc.) version of PyWX.



Re: [AOLSERVER] Other languages (was: Project Update)

2002-11-07 Thread Scott Goodwin
-Original Message-
From: AOLserver Discussion [mailto:AOLSERVER;LISTSERV.AOL.COM] On Behalf
Of [EMAIL PROTECTED]
Sent: Friday, November 08, 2002 12:29 AM
To: [EMAIL PROTECTED]
Subject: [AOLSERVER] Other languages (was: Project Update)


 I think Tcl (or, rather, single language support)
 is one of the big things holding AOLserver back.

I thought the same thing two years ago. I'm now convinced Tcl was and is
still the right choice for the core scripting language, and believe it
should remain the core language. It simply wouldn't be AOLserver
otherwise.

But you are correct in that we need to support other languages. That
could be done with modules, and maybe some means of binding to internal
Tcl data structures at the C level could be found so that, say, a java
module can exchange data *directly* with Tcl internally -- maybe some
kind of standard binary format for data interchange (Binary XML?).
Maybe a capability that is similar to comm and db drivers -- a way to
write language drivers that register themselves with the core server.
That's definitely an area for exploration.


 I've recently been considering switching away from
 AOLserver ...

Hang in there...things are changing.


/s.