From matt.long at matthew-long.com Fri Dec 7 11:02:32 2001 From: matt.long at matthew-long.com (Matthew J. Long) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions Message-ID: <002c01c17f40$f707e9d0$1400a8c0@ebiztech.com> Seems like there's a lot of different modules for creating sessions for a CGI. Can anyone recommend the best way to implement sessions considering that I don't have root access to my web server (hosted)? Thanks. -Matt p.s. Did I miss a meeting yesterday? I don't remember seeing any messages on it. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/archives/pikes-peak-pm/attachments/20011207/121f8b1a/attachment.htm From aksuska at webflyer.com Fri Dec 7 12:46:54 2001 From: aksuska at webflyer.com (Keary Suska) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions In-Reply-To: <002c01c17f40$f707e9d0$1400a8c0@ebiztech.com> Message-ID: On the client side, there are essentially only two methods: cookies and embedded links (or a combination of the two). On the server side, it is simply a matter of storing the session info as a persistent data structure, such as a database or plain file. IMHO, cookies are less work, but you have to consider that some clients will refuse them. Embedded links (i.e. embedding a session identifier in links and forms) are more work for at least the server (there may be modules that automate this process), since they have to parse every page applicable. This not really an issue if all the pages are dynamically generated (from within the CGI), but it can be a pain to maintain. Political considerations (such as allowing users to refuse cookies and still use the site) may give weight to one or the other implementation. None of these require special access to the server system, since you can use /tmp or a designated directory in cgi-bin/ for storing files if you don't have database access. If your are using CGI.pm, cookie handling is built in, so you don't need other modules. There is a method I have used that can be easier to maintain for an "embedded link" implementation using PATH_INFO. When the user first accesses the CGI, say, at /cgi-bin/session.cgi, without a valid session identifier (if they expire), they are redirected to /cgi-bin/session.cgi/session_id. from that point on, all relative links will have /cgi-bin/session.cgi/session_id prepended, so all you have to do is parse the PATH_INFO to get the session id and page that needs to be displayed. The drawback to this approach is that all external files loaded from the page by the client (such as images and .js files) must have absolute path names (unless they are to be routed through the CGI), and to get "out" of the session tracked area an absolute path name is required (or the CGI can recognize the file as external and redirect the client to it). I tend to use mod_unique to get unique session identifiers under Apache, but if that is not available, a base-64 encoded string comprised of the date and time (MMDDYYYYHHMMSS or something like that) plus a randomly generated integer is often sufficient. P.S. I don't think there was a luncheon this time--I didn't hear about one either. Keary Suska Esoteritech, Inc. "Leveraging Open Source for a better Internet" From: "Matthew J. Long" Date: Fri, 7 Dec 2001 10:02:32 -0700 To: "Pikes Peak Perl Mongers" Subject: HTTP Sessions Seems like there's a lot of different modules for creating sessions for a CGI. Can anyone recommend the best way to implement sessions considering that I don't have root access to my web server (hosted)? Thanks. -Matt p.s. Did I miss a meeting yesterday? I don't remember seeing any messages on it. From matt.long at matthew-long.com Fri Dec 7 13:09:25 2001 From: matt.long at matthew-long.com (Matthew J. Long) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions References: Message-ID: <004a01c17f52$b0a8c1a0$1400a8c0@ebiztech.com> It just seems strange to me that there is not a simpler abstraction of this. In PHP4, for instance, you can create a session object and store variables between pages without giving it much thought. This doesn't appear to write a cookie either, so I'm not sure how it works in PHP, but I figured there should be something as simple as this to use with perl. What I'd really like is an interface for writing my own perl objects that can be easily persisted. For instance, something like this would be nice: # create the session my $session = new HTTP::Session(); my $object = new MyObject($session); # sets on the object will update the value in the session object. $object->setName("New MyObject Object"); $session->store(); $session->close(); # use the session later in another CGI my $session = HTTP::Session::getSession(); my $object = new MyObject($session); # session values are assigned to the appropriate instance variables upon instatiation my $name = $object->getName(); print "Content-type: text/html\n\n"; print "The object name is: $name
\n"; print $session->close(); etc..... --------------------------------------------------------- I suppose I could write this, but it would have to use a cookie, I suppose. That's the way I usually implement sessions, anyhow, so no biggie. I just thought that since PHP had something like this, Perl must!! Thanks for your help. -Matt ----- Original Message ----- From: "Keary Suska" To: "Pikes Peak Perl Mongers" Sent: Friday, December 07, 2001 11:46 AM Subject: Re: HTTP Sessions > On the client side, there are essentially only two methods: cookies and > embedded links (or a combination of the two). On the server side, it is > simply a matter of storing the session info as a persistent data structure, > such as a database or plain file. IMHO, cookies are less work, but you have > to consider that some clients will refuse them. Embedded links (i.e. > embedding a session identifier in links and forms) are more work for at > least the server (there may be modules that automate this process), since > they have to parse every page applicable. This not really an issue if all > the pages are dynamically generated (from within the CGI), but it can be a > pain to maintain. Political considerations (such as allowing users to refuse > cookies and still use the site) may give weight to one or the other > implementation. None of these require special access to the server system, > since you can use /tmp or a designated directory in cgi-bin/ for storing > files if you don't have database access. > > If your are using CGI.pm, cookie handling is built in, so you don't need > other modules. There is a method I have used that can be easier to maintain > for an "embedded link" implementation using PATH_INFO. When the user first > accesses the CGI, say, at /cgi-bin/session.cgi, without a valid session > identifier (if they expire), they are redirected to > /cgi-bin/session.cgi/session_id. from that point on, all relative links will > have /cgi-bin/session.cgi/session_id prepended, so all you have to do is > parse the PATH_INFO to get the session id and page that needs to be > displayed. The drawback to this approach is that all external files loaded > from the page by the client (such as images and .js files) must have > absolute path names (unless they are to be routed through the CGI), and to > get "out" of the session tracked area an absolute path name is required (or > the CGI can recognize the file as external and redirect the client to it). > > I tend to use mod_unique to get unique session identifiers under Apache, but > if that is not available, a base-64 encoded string comprised of the date and > time (MMDDYYYYHHMMSS or something like that) plus a randomly generated > integer is often sufficient. > > P.S. I don't think there was a luncheon this time--I didn't hear about one > either. > > Keary Suska > Esoteritech, Inc. > "Leveraging Open Source for a better Internet" > > From: "Matthew J. Long" > Date: Fri, 7 Dec 2001 10:02:32 -0700 > To: "Pikes Peak Perl Mongers" > Subject: HTTP Sessions > > > Seems like there's a lot of different modules for creating sessions for a > CGI. Can anyone recommend the best way to implement sessions considering > that I don't have root access to my web server (hosted)? > > Thanks. > > -Matt > > p.s. Did I miss a meeting yesterday? I don't remember seeing any messages on > it. > > > From evansj at kilnar.com Fri Dec 7 13:25:41 2001 From: evansj at kilnar.com (John Evans) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions In-Reply-To: <002c01c17f40$f707e9d0$1400a8c0@ebiztech.com> Message-ID: On Fri, 7 Dec 2001, Matthew J. Long wrote: > Seems like there's a lot of different modules for creating sessions > for a CGI. Can anyone recommend the best way to implement sessions > considering that I don't have root access to my web server (hosted)? > I've done it two seperate ways: 1) Use the session id as part of the URL and parse it in every page. Creates extra work for the server and is a pain to deal with. You have to make sure that every page has the SID=39hdi0923h (or whatever) string in it. You also have to have a way of storing the session data on the server. I typically use MySQL for that, but a flat file or hashed file should work just fine. 2) Use the HTTP/1.1 header REMOTE_USER variable to determine who they are and build a page accordingly. No session files to worry about. The only problem with this is that every user must be authenticated via HTTP. Not a big deal, but you have to maintain the .htpasswd file and no one can log in anonymously unless you explicitly give them a guest account. After building several sites using both methods, I must say that the REMOTE_USER method was the simplest. All of the sites had a "user manager" screen that the admins could use to add/edit/delete users. The hardest part was getting the .htpasswd file parsed and changed when a user's password was changed. Adding a user was easy and deleting users was easy, but the password change bit was a trick. Once that small hurdle was overcome, the rest of the process was cake. You can also use cookies, but (like Keary said) people can turn those off. To avoid those issues, I don't like to use cookies if I can help it. One note: Regardless of which method you use, make sure you store your sessions file and password file outside the document root so that people can't download it via the web browser. If someone gets the session file, they can hijack other people's sessions and imitate them. > p.s. Did I miss a meeting yesterday? I don't remember seeing any > messages on it. I didn't get any emails on it either. Perhaps next month. -- John Evans http://evansj.kilnar.com/ -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d- s++:- a- C+++>++++ ULSB++++$ P+++$ L++++$ E--- W++ N+ o? K? w O- M V PS+ !PE Y+ PGP t(--) 5-- X++(+++) R+++ tv+ b+++(++++) DI+++ D++>+++ G+ e h--- r+++ y+++ ------END GEEK CODE BLOCK------ From vance at coloradosprings.com Fri Dec 7 13:31:03 2001 From: vance at coloradosprings.com (Vance Dubberly) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions In-Reply-To: <004a01c17f52$b0a8c1a0$1400a8c0@ebiztech.com> Message-ID: PHP 4 stores a cookie in the browser containing a unique session ID with a scope of session, if cookies are disabled it automatically rewrites all your URL's to contain the session ID. It keys that session ID to the name of a tmp file which holds your name=value pairs for your session variables, JSP does the same thing. I would bet that there is a perl module for doing this, but we don't use perl for frontend anymore so I don't know. Possibilities would be CGI.pm or one of it's extensions. Writing a session class is pretty easy though, only thing is if cookies are disabled you'll be hurting, parsing all your URL can really suck depending on how you laid out your architecture. vance -- Vance Dubberly Freedom Interactive Newspapers of Colorado 4575 Galley Road, Suite 400c Colorado Springs, Colorado 80915 tel 719.577.4848 fax 719.577.4420 ------------------------------------------- ColoradoSprings.com, Your Community Connection! Gazette.com, What Do You Want to Know? WOW! Marketing, Inc., Clever. Creative. ------------------------------------------- Of all the beautiful things in the world I believe that which is most beautiful is the man who can see beauty anywhere he looks. On 12/7/01 12:09, "Matthew J. Long" wrote: > It just seems strange to me that there is not a simpler abstraction of this. > In PHP4, for instance, you can create a session object and store variables > between pages without giving it much thought. This doesn't appear to write a > cookie either, so I'm not sure how it works in PHP, but I figured there > should be something as simple as this to use with perl. What I'd really like > is an interface for writing my own perl objects that can be easily > persisted. For instance, something like this would be nice: > > # create the session > my $session = new HTTP::Session(); > > my $object = new MyObject($session); # sets on the object will update the > value in the session object. > > $object->setName("New MyObject Object"); > > $session->store(); > $session->close(); > > # use the session later in another CGI > my $session = HTTP::Session::getSession(); > > my $object = new MyObject($session); # session values are assigned to the > appropriate instance variables upon instatiation > > my $name = $object->getName(); > > print "Content-type: text/html\n\n"; > > print "The object name is: $name
\n"; > > print $session->close(); > > etc..... From aksuska at webflyer.com Fri Dec 7 13:33:43 2001 From: aksuska at webflyer.com (Keary Suska) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions In-Reply-To: <004a01c17f52$b0a8c1a0$1400a8c0@ebiztech.com> Message-ID: > It just seems strange to me that there is not a simpler abstraction of this. > In PHP4, for instance, you can create a session object and store variables > between pages without giving it much thought. This doesn't appear to write a > cookie either, so I'm not sure how it works in PHP, but I figured there > should be something as simple as this to use with perl. There probably is--I was simply describing the internal mechanics. For instance, with PHP, you have two session tracking options: 1) cookies; 2) embedded identifiers. How sessions are handled is determined by a configuration setting, which I believe can be altered at run time. PHP handles all this for you: in option #2, PHP will automatically parse all output for links and append the session identifier to it. I don't recall how or if PHP works on forms in this way. PHP stores session info in a file under /tmp (by default), and handles its own cleanup, for both methods. I would be surprised if there isn't some equivalent in Perl, although I am not aware of any. I was responding to methods for session tracking rather than particular modules for doing so. I personally tend to go for home grown solutions since modules have a tendency to be a "one size fits all" and hence have a tendency to bloat CGI scripts, which is often not desirable in a high-volume web environment with a restricted budget (of which I am accustomed to work in). Maybe this will show something of use: http://search.cpan.org/search?mode=module&query=session Keary Suska Esoteritech, Inc. "Leveraging Open Source for a better Internet" > From: "Matthew J. Long" > Date: Fri, 7 Dec 2001 12:09:25 -0700 > To: "Keary Suska" , "Pikes Peak Perl Mongers" > > Subject: Re: HTTP Sessions > > It just seems strange to me that there is not a simpler abstraction of this. > In PHP4, for instance, you can create a session object and store variables > between pages without giving it much thought. This doesn't appear to write a > cookie either, so I'm not sure how it works in PHP, but I figured there > should be something as simple as this to use with perl. What I'd really like > is an interface for writing my own perl objects that can be easily > persisted. For instance, something like this would be nice: > > # create the session > my $session = new HTTP::Session(); > > my $object = new MyObject($session); # sets on the object will update the > value in the session object. > > $object->setName("New MyObject Object"); > > $session->store(); > $session->close(); > > # use the session later in another CGI > my $session = HTTP::Session::getSession(); > > my $object = new MyObject($session); # session values are assigned to the > appropriate instance variables upon instatiation > > my $name = $object->getName(); > > print "Content-type: text/html\n\n"; > > print "The object name is: $name
\n"; > > print $session->close(); > > etc..... > > --------------------------------------------------------- > > I suppose I could write this, but it would have to use a cookie, I suppose. > That's the way I usually implement sessions, anyhow, so no biggie. I just > thought that since PHP had something like this, Perl must!! Thanks for your > help. > > -Matt > > > > ----- Original Message ----- > From: "Keary Suska" > To: "Pikes Peak Perl Mongers" > Sent: Friday, December 07, 2001 11:46 AM > Subject: Re: HTTP Sessions > > >> On the client side, there are essentially only two methods: cookies and >> embedded links (or a combination of the two). On the server side, it is >> simply a matter of storing the session info as a persistent data > structure, >> such as a database or plain file. IMHO, cookies are less work, but you > have >> to consider that some clients will refuse them. Embedded links (i.e. >> embedding a session identifier in links and forms) are more work for at >> least the server (there may be modules that automate this process), since >> they have to parse every page applicable. This not really an issue if all >> the pages are dynamically generated (from within the CGI), but it can be a >> pain to maintain. Political considerations (such as allowing users to > refuse >> cookies and still use the site) may give weight to one or the other >> implementation. None of these require special access to the server system, >> since you can use /tmp or a designated directory in cgi-bin/ for storing >> files if you don't have database access. >> >> If your are using CGI.pm, cookie handling is built in, so you don't need >> other modules. There is a method I have used that can be easier to > maintain >> for an "embedded link" implementation using PATH_INFO. When the user first >> accesses the CGI, say, at /cgi-bin/session.cgi, without a valid session >> identifier (if they expire), they are redirected to >> /cgi-bin/session.cgi/session_id. from that point on, all relative links > will >> have /cgi-bin/session.cgi/session_id prepended, so all you have to do is >> parse the PATH_INFO to get the session id and page that needs to be >> displayed. The drawback to this approach is that all external files loaded >> from the page by the client (such as images and .js files) must have >> absolute path names (unless they are to be routed through the CGI), and to >> get "out" of the session tracked area an absolute path name is required > (or >> the CGI can recognize the file as external and redirect the client to it). >> >> I tend to use mod_unique to get unique session identifiers under Apache, > but >> if that is not available, a base-64 encoded string comprised of the date > and >> time (MMDDYYYYHHMMSS or something like that) plus a randomly generated >> integer is often sufficient. >> >> P.S. I don't think there was a luncheon this time--I didn't hear about one >> either. >> >> Keary Suska >> Esoteritech, Inc. >> "Leveraging Open Source for a better Internet" >> >> From: "Matthew J. Long" >> Date: Fri, 7 Dec 2001 10:02:32 -0700 >> To: "Pikes Peak Perl Mongers" >> Subject: HTTP Sessions >> >> >> Seems like there's a lot of different modules for creating sessions for a >> CGI. Can anyone recommend the best way to implement sessions considering >> that I don't have root access to my web server (hosted)? >> >> Thanks. >> >> -Matt >> >> p.s. Did I miss a meeting yesterday? I don't remember seeing any messages > on >> it. >> >> >> > > From evansj at kilnar.com Fri Dec 7 13:52:55 2001 From: evansj at kilnar.com (John Evans) Date: Thu Aug 5 00:18:06 2004 Subject: HTTP Sessions In-Reply-To: <004a01c17f52$b0a8c1a0$1400a8c0@ebiztech.com> Message-ID: On Fri, 7 Dec 2001, Matthew J. Long wrote: > It just seems strange to me that there is not a simpler abstraction of > this. In PHP4, for instance, you can create a session object and store > variables between pages without giving it much thought. This doesn't > appear to write a cookie either, so I'm not sure how it works in PHP, > but I figured there should be something as simple as this to use with > perl. What I'd really like is an interface for writing my own perl > objects that can be easily persisted. For instance, something like > this would be nice: PHP builds a session file and puts it in /tmp. I don't like using PHPs built in session code because of the lack of security. If you throw it in /tmp there's a serious chance that another user on the machine could hijack sessions or create sessions of their own on your site. Bad, bad stuff. Look for files that are named something like: /tmp/php.sess* I think you're looking for something like CGI::Persistent. I've never used it, but it appears to be what you're looking for. http://search.cpan.org/search?module=CGI::Persistent A little more looking and I found this module that even more closely matches what PHP can do: http://search.cpan.org/search?module=CGI::Session CGI::Session claims to be a front-end to Apache::Session and that can be found here: http://search.cpan.org/search?module=Apache::Session Hope these links help. Let us know how things turn out! -- John Evans http://evansj.kilnar.com/ -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d- s++:- a- C+++>++++ ULSB++++$ P+++$ L++++$ E--- W++ N+ o? K? w O- M V PS+ !PE Y+ PGP t(--) 5-- X++(+++) R+++ tv+ b+++(++++) DI+++ D++>+++ G+ e h--- r+++ y+++ ------END GEEK CODE BLOCK------ From tbcatwork at yahoo.com Fri Dec 7 18:13:25 2001 From: tbcatwork at yahoo.com (Tim Chambers) Date: Thu Aug 5 00:18:06 2004 Subject: Fw: Newsletter from O'Reilly UG Program, Dec. 6, 2001 Message-ID: <00af01c17f7d$28bd03c0$80441d82@cos.agilent.com> O'Reilly User Group Program NEWSLETTER December 6, 2001 For those in the U.S. who celebrated Thanksgiving, I hope you had a wonderful holiday. I'd gained 5 lbs, then lost it after a visit from the flu. All's well that ends well. It's been a few weeks since you last heard from me, so here goes.... HIGHLIGHTS THIS WEEK Books: - *10* New O'Reilly Titles, See "Book News" News: - Tim O'Reilly on the Early Web - What's in a Nutshell? - An Interview with Nat Torkington and Lorrie LeJeune - The Ties that BIND - Road Testing the Powerbook Ti 667 - Using Python and XML with Microsoft .NET My Services - The Advantages of Oracle RMAN - An Interview with the Creator of Ruby - Dreamweaver Power Combinations Other Stuff: - Looking for speakers? - Call for Papers--We Want YOU - Pesky Reminder ================================================ NEWS FROM O'REILLY & BEYOND ================================================ Spread the word to your members.... GENERAL INTEREST -------------------- TIM O'REILLY ON THE EARLY WEB The Stanford Linear Accelerator Center is hosting a symposium to honor the ten year anniversary of the Web in America. Tim O'Reilly and Dale Dougherty, O'Reilly's vice president of Online Publishing, have been invited to talk about their experiences creating the first Web portal, GNN (Global Network Navigator), in 1992. Tim takes this opportunity to reflect on the innovations O'Reilly & Associates has contributed to the Web's development. http://www.oreillynet.com/cs/weblog/view/wlg/907 WHAT'S IN A NUTSHELL? Ever wonder what O'Reilly requires of a book before it can become a title in our treasured In a Nutshell series? O'Reilly editor Bruce Epstein, defines Nutshell books: http://www.oreilly.com/news/nutshell_1101.html BIOINFORMATICS -------------------- AN INTERVIEW WITH NAT TORKINGTON AND LORRIE LEJEUNE: CO-CHAIRS OF O'REILLY'S UPCOMING BIOINFORMATICS TECHNOLOGY CONFERENCE Learn why bioinformatics is a hot topic, and why it's made O'Reilly's radar: http://bio.oreilly.com/news/bioinfoint_1101.html EARLY BIRD REGISTRATION ENDS TOMORROW, DECEMBER 7th For the O'Reilly Bioinformatics Technology Conference January 28-31, 2002--Tucson, AZ If you register by end of day Friday, you receive a double discount when using the DSUG discount code. Get 20% off Early Bird prices! LINUX -------------------- THE TIES THAT BIND It's possible to support a Windows 2000 environment using a traditional BIND name server, but it requires some special configuration. To learn a number of configuration options, and how to accommodate Windows 2000 with BIND, read this Linux Magazine article by Cricket Liu, coauthor of O'Reilly's "DNS and BIND, 4th Edition." http://www.linux-mag.com/2001-03/bind_01.html MAC/APPLE -------------------- ROAD TESTING THE POWERBOOK Ti 667 Apple's professional Titanium PowerBook has plenty of sex appeal on the outside, but how does it handle the curves in real-world testing? Derrick Story compares the new G4 667 MHz CPU performance with the older PowerBook G3, and looks at the super-wide display, redesigned keyboard, and controversial track pad. http://www.oreillynet.com/pub/a/mac/2001/11/20/titanium667.html .NET -------------------- USING PYTHON AND XML WITH MICROSOFT .NET MY SERVICES Learn how to create a request for the .NET Contacts service using Python and XML on Linux: http://www.oreillynet.com/pub/a/dotnet/2001/12/03/myservices.html ORACLE -------------------- THE ADVANTAGES OF ORACLE RMAN RMAN offers numerous advantages over traditional backup techniques. Here are brief descriptions of several useful ones: http://www.oreillynet.com/pub/a/network/2001/11/27/oraclerman.html RUBY -------------------- AN INTERVIEW WITH THE CREATOR OF RUBY Yukihiro "Matz" Matsumoto talks about Ruby's history, the influence of Perl and Python on Ruby, and his new O'Reilly book, "Ruby in a Nutshell." http://www.oreillynet.com/pub/a/linux/2001/11/29/ruby.html WEB -------------------- DREAMWEAVER POWER COMBINATIONS Heather Williamson discusses four scenarios that will assist you in creating a more interactive site, in less time, using Dreamweaver tools and the Dreamweaver Exchange Web site. Heather is coauthor of O'Reilly's recently released "Dreamweaver in a Nutshell." http://www.oreillynet.com/pub/a/javascript/2001/12/04/dreamweaver.html ================================================ BOOK NEWS ================================================ REVIEW COPIES AVAILABLE, email me for a copy. Press releases available at: http://press.oreilly.com/ SANTA CAME EARLY: Ruby in a Nutshell Order Number: 2149 http://www.oreilly.com/catalog/ruby/ Web Security, Privacy & Commerce, 2nd Edition Order Number: 0456 http://www.oreilly.com/catalog/websec2/ Physics for Game Developers Order Number: 0065 http://www.oreilly.com/catalog/physicsgame/ Dreamweaver in a Nutshell Order Number: 2394 http://www.oreilly.com/catalog/dreamweavernut/ Building Wireless Community Networks Order Number: 2041 http://www.oreilly.com/catalog/wirelesscommnet/ Designing with JavaScript, 2nd Edition Order Number: 360X http://www.oreilly.com/catalog/designjs2/ JavaScript: The Definitive Guide, 4th Edition Order Number: 0480 http://www.oreilly.com/catalog/jscript4/ Learning Oracle PL/SQL Order Number: 1800 http://www.oreilly.com/catalog/learnoracle/ Designing large-Scale LANs Order Number: 1509 http://www.oreilly.com/catalog/lgscalelans/ Java Programming with Oracle JDBC Order Number: 088x http://www.oreilly.com/catalog/jorajdbc/ =============================================== CALL FOR PAPERS =============================================== O'Reilly & Associates invites entrepreneurs, technologists, programmers, business developers, policy-makers, and Internet strategists to lead tutorial and conference sessions at the: O'REILLY EMERGING TECHNOLOGY CONFERENCE Westin Santa Clara April 22-25, 2002--Santa Clara, CA The submission deadline for all proposals is December 12, 2001. Presenters will be notified of selection results by January 22, 2002. For more participation details and to submit proposals, visit: http://conferences.oreillynet.com/cs/et2002/create/e_sess Early reminder: O'Reilly offers UG members 20% discount on conferences, which can be a substantial savings if you register early and take advantage of the double-discount during Early Bird pricing. To be notified when registration opens, go to: http://conferences.oreillynet.com/etcon2002/ =============================================== LOOKING FOR GUEST SPEAKERS? =============================================== ATTENTION NORTHERN CALIFORNIA UGS: If you're in the San Francisco Bay area, Rael Dornfest, O'Reilly Emerging Technolgy Conference program chair, might be able to speak to your group in January. Contact me with your meeting dates, and I'll see what I can arrange. You can view Rael's interesting weblogs at http://conferences.oreillynet.com/etcon2002/ Also, Rob Flickenger, author of O'Reilly's just-released "Building Wireless Community Networks" is ready to talk to UGs located in the San Francisco Bay area. Rob founded the NoCatNet developer's group http://nocat.net/, take a look. O'Reilly also has facilities for meetings. If you're located near Sonoma County, CA, and would like to have a meeting at O'Reilly, we could arrange something. Want to hold a meeting at your local bookstore? Benefits everyone. Let me know, and I'll see if we can work out a venue. =============================================== REMINDER =============================================== I've noticed that many UGs still need to update my contact info for their newsletters sent snailmail. We've moved into new offices, here is the address: Denise Olliffe O'Reilly & Associates 1005 Gravenstein Hwy North Sebastopol, CA 95472 Direct Line: 707-827-7090 800-998-9938 x7090 deniseo@oreilly.com JUST A PHONE CALL AWAY.... If you have an event coming up, and have a timely request, please give me a call instead of email. Sometimes, email isn't the best form of communication when dates are involved. That way, I'm sure to get your message. I've provided an 800# above for your convenience. Hey, besides, it's nice to hear a voice once in a while. Until next week, --Denise From tbcatwork at yahoo.com Fri Dec 7 18:24:33 2001 From: tbcatwork at yahoo.com (Tim Chambers) Date: Thu Aug 5 00:18:06 2004 Subject: what if you didn't call a meeting and nobody noticed? Message-ID: <00b701c17f7e$b6796360$80441d82@cos.agilent.com> Aack! At least Matt, Keary, and John noticed. I'm so embarrassed. Well, there's always next week. How 'bout it? I don't want to miss the opportunity for geek talk this month. Let's set aside next Thursday, December 13th, 11:30 - 1:00. Anyone have suggestions for where to meet? <>< Tim P.S. There are 41 members on the mailing list. Steady growth, but no new faces at the monthly lunches. If anyone would like to share why you haven't been attending, please let me know. I know that we have some out-of-town subscribers, some frequent travelers, and some who just haven't had time to set aside the time. Are the other categories? Is there anything I can do to encourage attendance? (No, I'm not buying your lunch. :-) From jtevans at kilnar.com Sat Dec 8 17:03:59 2001 From: jtevans at kilnar.com (John Evans) Date: Thu Aug 5 00:18:06 2004 Subject: what if you didn't call a meeting and nobody noticed? In-Reply-To: <00b701c17f7e$b6796360$80441d82@cos.agilent.com> Message-ID: On Fri, 7 Dec 2001, Tim Chambers wrote: > At least Matt, Keary, and John noticed. I'm so embarrassed. Well, there's > always next week. How 'bout it? I don't want to miss the opportunity for > geek talk this month. > > Let's set aside next Thursday, December 13th, 11:30 - 1:00. > > Anyone have suggestions for where to meet? > Next week works fine for me. I wouldn't mind meeting at Mollica's. It's a deli on Gardon of the Gods with some of the best sandwhiches in the city (and I'm a big sandwhich man). It's fairly close to where most of us already are. It's about a block west of the firestation that is on Garden of the Gods. -- John Evans http://jtevans.kilnar.com/ -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d- s++:- a- C+++>++++ ULSB++++$ P+++$ L++++$ E--- W++ N+ o? K? w O- M V PS+ !PE Y+ PGP t(--) 5-- X++(+++) R+++ tv+ b+++(++++) DI+++ D++>+++ G+ e h--- r+++ y+++ ------END GEEK CODE BLOCK------ From rhgattis at mtc-inc.com Sun Dec 9 14:43:39 2001 From: rhgattis at mtc-inc.com (rhgattis@mtc-inc.com) Date: Thu Aug 5 00:18:06 2004 Subject: what if you didn't call a meeting and nobody noticed? In-Reply-To: References: <00b701c17f7e$b6796360$80441d82@cos.agilent.com> Message-ID: <3C136A8B.4726.68B792@localhost> Hi all, Thursday 11:30 am at Mollica's sounds good. Bob ADA KMS Project Mgr Meeting the Challenge, Inc. rhgattis@mtc-inc.com Office: (719) 578-8448 Cell #: (719) 310-9658 Fax #: (719) 444-0269 From tbcatwork at yahoo.com Wed Dec 12 14:47:04 2001 From: tbcatwork at yahoo.com (Tim Chambers) Date: Thu Aug 5 00:18:06 2004 Subject: what if you didn't call a meeting and nobody noticed? References: Message-ID: <006401c1834e$28052c80$80441d82@cos.agilent.com> John Evans wrote: > I wouldn't mind meeting at Mollica's. Excellent idea! I'll send out a reminder tomorrow morning. <>< Tim From tbcatwork at yahoo.com Thu Dec 13 08:44:39 2001 From: tbcatwork at yahoo.com (Tim Chambers) Date: Thu Aug 5 00:18:06 2004 Subject: Perl lunch TODAY Message-ID: <002501c183e4$b23849a0$80441d82@cos.agilent.com> WHAT: monthly Pikes Peak Perl Mongers lunch WHERE: Mollica's, 985 Garden Of The Gods Rd # A, 598-1088 WHEN: today (Thursday, 12/13) at 11:30 Please RSVP to me. I'll see if I can reserve a table for "Perl." Hoping to see some new faces in addition to the "regulars." <>< Tim 719.590.5570 (w) 719.651.0116 (cell) From jtevans at kilnar.com Thu Dec 13 12:55:12 2001 From: jtevans at kilnar.com (John Evans) Date: Thu Aug 5 00:18:06 2004 Subject: Perl lunch TODAY In-Reply-To: <002501c183e4$b23849a0$80441d82@cos.agilent.com> Message-ID: On Thu, 13 Dec 2001, Tim Chambers wrote: > WHAT: monthly Pikes Peak Perl Mongers lunch > WHERE: Mollica's, 985 Garden Of The Gods Rd # A, 598-1088 > WHEN: today (Thursday, 12/13) at 11:30 > > Please RSVP to me. I'll see if I can reserve a table for "Perl." > > Hoping to see some new faces in addition to the "regulars." I can't believe that I picked the place and totally forgot about the lunch. I'm not at work anymore (laid off Monday) so I don't check my email until later in the day. I use the email to remind me to show up. Sorry guys! -- John Evans http://jtevans.kilnar.com/ -----BEGIN GEEK CODE BLOCK----- Version: 3.1 GCS d- s++:- a- C+++>++++ ULSB++++$ P+++$ L++++$ E--- W++ N+ o? K? w O- M V PS+ !PE Y+ PGP t(--) 5-- X++(+++) R+++ tv+ b+++(++++) DI+++ D++>+++ G+ e h--- r+++ y+++ ------END GEEK CODE BLOCK------ From tbcatwork at yahoo.com Fri Dec 14 11:47:06 2001 From: tbcatwork at yahoo.com (Tim Chambers) Date: Thu Aug 5 00:18:06 2004 Subject: Fw: Newsletter from O'Reilly UG Program, December 13 Message-ID: <000901c184c7$59bcfa80$80441d82@cos.agilent.com> O'Reilly User Group Program NEWSLETTER December 13, 2001 HIGHLIGHTS THIS WEEK: BOOKS: - Mac OS X: The Missing Manual - Review Copy Guidelines NEWS: - Java Recipe of the Day - Setting Up Your Environment to Develop SQLJ Programs - An Interview with David Flannagan - Transforming XML - Top Ten SAX2 Tips MACWORLD UPDATE: - David Pogue will visit the UG Lounge, and much more CONFERENCES: - Call for Papers Deadline Extended for the O'Reilly Emerging Technology Conference ================================================ BOOK NEWS ================================================ REVIEW COPIES AVAILABLE, email me for a copy. DRUM ROLL PLEASE.... MAC OS X: THE MISSING MANUAL You've been waiting for this title to release, and it's finally here! David Pogue's genius has struck again, with yet another important book that should have been in the box. "Mac OS X: The Missing Manual" promises to help you sort through the completely new OS that has had Mac crowds reeling with questions. http://www.oreilly.com/catalog/macosxmm/ An interview with David can be found at: http://www.oreillynet.com/pub/a/mac/2001/11/09/missingmanual.html For David Pogue's scheduled Macworld engagements, see "Macworld Update" below. REVIEW COPY GUIDELINES ---------------------- We find reviews to be invaluable. Your feedback helps us to continue providing the quality books you've come to expect from O'Reilly. I supply review copies with the hope that a review will be written for O'Reilly, and also passed on to your members through newsletters, group web sites or email mailing lists. We haven't enforced this heavily, however we would like to remind groups requesting copies for review that it's appropriate to write a review in exchange for the books provided. If you would rather post a press release that O'Reilly has written, in lieu of writing a review, let me know. I'm happy to provide you with the link to the press release or email the entire release to you. If you're new to writing product reviews, I found this article from APCUG (Association of Personal Computer Users) to be insightful, hopefully it can help give you some pointers: http://www.apcug.org/reports/apr01/r010428.htm Let me know if you have any questions. ================================================ NEWS FROM O'REILLY & BEYOND ================================================ Spread the word to your members.... JAVA -------------------- JAVA RECIPE OF THE DAY Begin each morning with a fresh programming recipe extracted from the "Java Cookbook" by Ian Darwin. http://www.onjava.com/pub/a/onjava/javacook/solution.html SETTING UP YOUR ENVIRONMENT TO DEVELOP SQLJ PROGRAMS Learn how to set up your environment to develop SQLJ applications in this first installment of Jason Price's Learning SQLJ series. Jason is the author of "Java Programming with Oracle SQLJ." http://www.onjava.com/pub/a/onjava/2001/12/05/learning_sqlj.html AN INTERVIEW WITH DAVID FLANNAGAN We asked David about the state of JavaScript and what's new in the latest version of both the language and his book, "JavaScript: The Definitive Guide, 4th Edition." http://www.oreillynet.com/pub/a/javascript/2001/12/04/flanagan.html XML -------------------- TRANSFORMING XML Bob DuCharme continues his examination of how to control whitespace in XML documents in this month's Transforming XML column. For a complete list of O'Reilly's XML books, visit xml.oreilly.com. http://www.xml.com/pub/a/2001/12/05/whitespace.html TOP TEN SAX2 TIPS David Brownell gives you the top 10 tips at: http://www.xml.com/pub/a/2001/12/05/sax2.html ================================================ MACWORLD UPDATE ================================================ Monday, January 7th Apple User Group University Marriott Hotel, San Francisco, CA O'Reilly is a sponsor for the Apple User Group University--so visit us at the vendor tabletop event. David Pogue will be signing books (bring your favorite Pogue title). I'll be there too, along with the lovely Marsee Henon. I can't wait to meet you and see familiar faces once again. January 8 - 11 Macworld, San Francisco http://www.macworldexpo.com/index.html Visit O'Reilly booth #416, and register to win five O'Reilly books of your choice. David Pogue will be speaking at the O'Reilly booth and other venues--see following shedule for Pogue sightings not to miss: Tuesday, Jan 8 2:30 Autographing & conversation at our Booth #416 4:00 User Group Lounge (See your Macworld schedule for location) Wednesday, Jan 9 9:30 Future Directions of Apple (panel discussion--see your Macworld schedule for location) 2:00 King iMovies (See your Macworld schedule for location) 4:00 Autographing & conversation, O'Reilly booth #416 6:30 Appearance at the Apple Store, 451 University Ave., Palo Alto, CA 94301 (650) 617-9000 Thursday, Jan 10 1:45 PalmPilot talk (panel discussion--see your Macworld schedule for location) 4:00 Book signing at Alladin Booth #1407 Friday, Jan 11 10:00 Best of Mac Secrets (panel discussion--see your Macworld schedule for location) 1:00 Book signing at O'Reilly booth #416 booth =============================================== O'REILLY CONFERENCES =============================================== O'REILLY BIOINFORMATICS TECHNOLOGY CONFERENCE January 28-31, 2002 Tuscon, Arizona KEYNOTE: BUILDING A NATION FROM A LAND OF CITY STATES Speaker: Lincon D. Stein, Cold Spring Harbor Laboratory "Today, the desktop computer has become an indispensable part of the biologist's tool chest," Stein says. Lincoln will discuss the fragmentation of bioinformatics protocols, technologies and standards, that together created a landscape of past and current efforts to reduce fragmentation, and speculates on ways to move past the medieval city-state mentality toward a nation of cooperative bioinformatics services. For an interview with Lincoln Stein, go to: http://www.oreillynet.com/pub/a/network/2001/12/07/stein.html FREE NEWSLETTER SPONSORED BY "THE SCIENTIST" "The Scientist" is a bi-weekly magazine that reports on and analyzes the trends, news, topics, technologies and people that impact the world of life scientists. It provides a forum for its readers to garner information, seek solutions and make decisions. Apply for your free print subscription: www.the-scientist.com REGISTRATION DISCOUNT Registration is filling up fast for this innovative conference. If you register, remember to include the user group DSUG discount code, and receive 20% off conference and tutorial fees. ------------------------- CALL FOR PARTICIPATION O'Reilly & Associates invites entrepreneurs, technologists, programmers, business developers, policy-makers, and Internet strategists to lead tutorial and conference sessions at the: O'REILLY EMERGING TECHNOLOGY CONFERENCE May 13-16, 2002 (New dates) Santa Clara, CA The CFP has been extended to December 31st. http://conferences.oreillynet.com/cs/et2002/create/e_sess POST OUR CONFERENCE BANNER--GET SOME GOODIES Help out the O'Reilly Emerging Technology Conference by posting one of the following banners on your UG web site: http://conferences.oreillynet.com/pub/w/18/banner_ads.html Have the banner link back to: http://conferences.oreillynet.com/etcon2002/ Let me know if you're able to post the banner, and I'll be sure to send you a "goody" of choice--T-Shirt, book, etc. If possible, provide O'Reilly discount information to your members for conferences: UG members receive 20% off when using the DSUG discount code. If members register before "Early Bird" registration ends, they receive a double-discount when using the DSUG code. Until next week, --Denise From ssmythe at docent.com Thu Dec 20 12:33:02 2001 From: ssmythe at docent.com (Steve Smythe) Date: Thu Aug 5 00:18:06 2004 Subject: Find file in search path? Message-ID: Heya guys! It's raining today in California. Cold too. Is there a module that will return the path of a file in the current system search path? I've been looking for something, and haven't found anything. I guess the equivalent of the Unix 'which' command. Thanks, eh? Steve Smythe ssmythe@docent.com (work) ssmythe@fide.org (home) From rhgattis at mtc-inc.com Thu Dec 20 15:09:56 2001 From: rhgattis at mtc-inc.com (Bob Gattis (Meeting the Challenge, Inc.)) Date: Thu Aug 5 00:18:06 2004 Subject: Unix consulting gig Message-ID: <3C21F134.15207.1192357@localhost> Hi, I have posted a description of a Unix consulting gig on the offline job thread that Tim set up last year. The URL is: http://www.quicktopic.com/1/H/NuLK8Ll3CxritWqkut7 Please contact the email address shown in the description for more details. Hope everyone has a wonderful holiday. See you next year, Bob Meeting the Challenge, Inc. rhgattis@mtc-inc.com Office: (719) 578-8448 Cell #: (719) 310-9658 Fax: (719) 444-0269 From cmiltonperl at yahoo.com Thu Dec 20 15:33:24 2001 From: cmiltonperl at yahoo.com (Christopher Milton) Date: Thu Aug 5 00:18:06 2004 Subject: Find file in search path? In-Reply-To: Message-ID: <20011220213324.5271.qmail@web20804.mail.yahoo.com> --- Steve Smythe wrote: > Is there a module that will return the path of a file in > the current system search path? I've been looking > for something, and haven't found anything. > > I guess the equivalent of the Unix 'which' command. http://www.perl.com/language/ppt/src/which/index.html You could also use a combo of Env::Path, File::Find, and/or Psh::Builtins::Which __________________________________________________ Do You Yahoo!? Check out Yahoo! Shopping and Yahoo! Auctions for all of your unique holiday gifts! Buy at http://shopping.yahoo.com or bid at http://auctions.yahoo.com From tbcatwork at yahoo.com Fri Dec 21 10:36:18 2001 From: tbcatwork at yahoo.com (Tim Chambers) Date: Thu Aug 5 00:18:06 2004 Subject: Fw: Newsletter from O'Reilly UG Program, December 20 Message-ID: <000801c18a3d$9eb53b40$80441d82@TC5570P> O'Reilly User Group Program NEWSLETTER December 20, 2001 I'd like to wish you all a joyous holiday--and warm wishes for a bountiful new year. This will be the last newsletter of 2001, as I will be out of the office Dec 21 - Jan 1. I look forward to working with all of you in 2002. HIGHLIGHTS THIS WEEK: BOOK NEWS: - Learning Wireless Java - Python & XML - The Web Design CD Bookshelf NEWS: - oreilly.com Wins Web Business Award - Pulling Stock Quotes into Microsoft Excel - ActionScript for JavaScript Programmers - Learning the Mac OS X Terminal: Part 1 - Bioinformatics Meets Mac OS X - Learning Oracle PL/SQL? Here's What to Expect - Distributed Systems Topologies: Part 1 CONFERENCES: - Call for Papers--O'Reilly Open Source Convention, 2002 ================================================ BOOK NEWS ================================================ REVIEW COPIES AVAILABLE, email me for a copy. OK, I'm a little behind on sending out the review copies--I know. I promise to get caught up after the holiday. LEARNING WIRELESS JAVA Order Number: 2432 "Learning Wireless Java" is for Java developers who want to create applications for the Micro Edition audience using the Connected, Limited Device Configuration and the Mobile Information Device Profile (MIDP). These APIs specifically for devices such as mobile phones and pagers, allowing programmers to create MIDlet applications. This book offers a solid introduction to J2ME and MIDP, including the javax.microedition classes, as well as classes surrounding the features of the various platforms that the J2ME supports http://oreilly.com/catalog/wirelessjava/ Sample Chapter 5: MIDP GUI Programming http://www.oreilly.com/catalog/wirelessjava/chapter/ch05.html PYTHON & XML Order Number: 1282 Python is an ideal language for manipulating XML, and this new volume gives you a solid foundation for using these two languages together. Complete with practical examples that highlight common application tasks, the book starts with the basics then quickly progresses to complex topics, like transforming XML with XSLT and querying XML with XPath. It also explores more advanced subjects, such as SOAP and distributed web services. http://www.oreilly.com/catalog/pythonxml/ Coauthor Article: Using Python and XML with Microsoft .NET My Services http://www.oreillynet.com/pub/a/dotnet/2001/12/03/myservices.html THE WEB DESIGN CD BOOKSHELF Order Number: 2718 Six best selling O'Reilly Animal Guides are now available on CD-ROM, easily accessible and searchable with your favorite web browser: --"HTML & XHTML: The Definitive Guide 4th Edition" --"ActionScript: The Definitive Guide" --"Information Architecture for the World Wide Web" --"Designing Web Audio: RealAudio, MP3, Flash, and Beatnik" --"Web Design In a Nutshell, 2nd Edition" --AND "Cascading Style Sheets: The Definitive Guide" As a bonus, you also get the new paperback version of "Web Design in a Nutshell, 2nd Edition" when you purchase the CD Bookshelf. http://www.oreilly.com/catalog/webcdbk/ Reminder: Your UG discount is 20% when you buy direct from O'Reilly. Use the DSUG discount code when ordering at http://www.oreilly.com/ or when calling 800-998-9938. For a list of what's coming up, go to: http://www.oreilly.com/catalog/new.html To search our entire booklist, go to: http://www.oreilly.com/cgi-bin/productindex ================================================ NEWS FROM O'REILLY & BEYOND ================================================ Spread the word to your members.... GENERAL INTEREST ---------------- OREILLY.COM WINS WEB BUSINESS AWARD CIO.com honors O'Reilly & Associates as one of 50 companies thriving on the Web, despite the dot-com debacle. Creating an online community can be good for business, says CIO.com--if you know what you're doing. http://www.cio.com/archive/120101/people.html PULLING STOCK QUOTES INTO MICROSOFT EXCEL You can keep a spreadsheet up to date by pulling stock quotes from the Web, explains Steve Roman, author of O'Reilly's "Learning Excel Macros" and the upcoming "Access Database Design & Programming, 3rd Edition." http://www.oreillynet.com/pub/a/dotnet/2001/12/10/excelstocks.html JAVASCRIPT ---------------- ACTIONSCRIPT FOR JAVASCRIPT PROGRAMMERS Take advantage of your JavaScript knowledge within Flash's scripting environment by knowing the two languages' similarities and differences. To learn more, check out O'Reilly's "ActionScript: The Definitive Guide." http://www.oreillynet.com/pub/a/javascript/2001/12/07/action.html MAC ---------------- LEARNING THE MAC OS X TERMINAL, PART 1 The Terminal application in Mac OS X provides powerful new benefits to traditional Mac users, and Chris Stone shows you how to get comfortable with the Terminal. To learn more, don't miss David Pogue's "Mac OS X: The Missing Manual." http://www.oreillynet.com/pub/a/mac/2001/12/14/terminal_one.html BIOINFORMATICS MEETS MAC OS X Many of the important bioinformatics applications that previously existed only for Unix platforms are now being ported to the Macintosh, thanks to Mac OS X and its Unix underpinnings. To learn about the latest technologies in bioinformatics, don't miss the upcoming O'Reilly Bioinformatics Technology Conference. http://www.oreillynet.com/pub/a/mac/2001/12/14/macbio.html ORACLE ---------------- LEARNING ORACLE PL/SQL? HERE'S WHAT TO EXPECT Here's an inside look at what will surprise, confuse, delight, and amaze you in Oracle PL/SQL, as revealed by Bill Pribyl, coauthor of O'Reilly's "Learning Oracle PL/SQL." http://oracle.oreilly.com/news/plsql_1201.html PEER-TO-PEER ---------------- DISTRIBUTED SYSTEMS TOPOLOGIES: PART 1 Nelson Minar describes the essential frameworks for distributed networks used today and tells how Gnutella's network differs from Napster's or SETI@Home's. For more on building distributed, Web-based applications, check out O'Reilly's "Programming Web Services with SOAP." http://www.openp2p.com/pub/a/p2p/2001/12/14/topologies_one.html =============================================== CALL FOR PAPERS =============================================== O'REILLY OPEN SOURCE CONVENTION July 22-26, 2002, at the Sheraton San Diego, San Diego, CA. CALL FOR PAPERS Deadline for submission of proposals: March 1, 2002 This unrivaled convention is offering you the chance to have a say in what topics are offered and discussed--so be sure to send in your proposal for consideration. We're especially seeking presentations that invoke open source's innovative, do-more-with-less origins, and address the challenges of today's economic turbulence. What technologies will thrive and help us to thrive in the future? Creating and reinvesting in community is at the core of open source philosophy--what open source initiatives continue to strengthen these values? Help us discover the answers. http://conferences.oreilly.com/ Be well, and celebrate safely. --Denise