Re: [AOLSERVER] malloc replacement libraries?
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?
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?
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?
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?
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?)
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?)
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)
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?)
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?
+-- 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
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)
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)
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)
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
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
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
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)
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
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)
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)
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)
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
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)
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
- 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
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
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
- 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
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)
- 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)
-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.