From whatever at davidnicol.com Thu Apr 3 15:55:58 2003 From: whatever at davidnicol.com (david nicol) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Meeting April 8? Message-ID: <1049406958.2017.69.camel@localhost.localdomain> Must... bring .... box ..... of ..... shirts ... -- David Nicol, independent consultant and contractor Start by blocking everything, then allow in what you want. From garrett at scriptpro.com Thu Apr 3 16:42:59 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Meeting April 8? Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CA3@EXCH_MISSION> david nicol wrote: > > Must... bring .... box ..... of ..... shirts ... April 8th, 7PM Planet Sub. I'll be doing an overview of Apache mod_perl. And book reviews of: o Writing Apache Modules with Perl and C o Embedding Perl in HTML with Mason And there is the slightest chance that D. Hageman if he so chooses may give us a teaser on an upcoming presentation on XML::LibXML and XML::LibXSLT. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030403/0a23eedb/attachment.htm From glenn at netmud.com Mon Apr 21 15:02:11 2003 From: glenn at netmud.com (Glenn Crocker) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] April 23rd: Movable Type and Mason Message-ID: Folks, I thought you might be interested in this presentation (this Wednesday), since it's half Mason (Perl HTML template system), half Movable Type (Content Management System for web logs and the like): -glenn The April 23rd (this Wednesday) meeting topic is Movable Type and Mason. Joel Johnson and Randall Munden, of kcgeek will be covering the Movable Type Content Management System, ways to use it, and ways to extend it using Mason, a Perl-based HTML template system. kcgeek has recently switched over to Movable Type and Mason, and they'll cover their experiences in making that transition. These systems are a lot like the PostNuke system we covered a few months ago, but have some different wrinkles. If you're interested in building dynamic sites quickly and enabling a variety of users (including yourself!) to contribute content easily, you'll be interested in Movable Type. If you're interested in building dynamic Perl sites, Mason is one of the best ways to go. This is a presentation with something for everyone! kcgeek is a regional community for technology communication and research in the Kasas City metro area. They participate in a variety of projects including development, industry news & reviews, community-oriented distributed computing, and kcwireless.net. kcgeek is the premiere communication hub for Kansas City technophiles of all sorts. Meetings are from 6:30pm to 8:30pm at Technisource (formerly IntelliMark), 9300 W. 110th St, Suite 460 See you there! Invite a friend who might be interested! http://groups.yahoo.com/group/kc-web -glenn Glenn Crocker Netmud http://www.netmud.com glenn@netmud.com From garrett at scriptpro.com Tue Apr 22 10:55:49 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] distributed session cache Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CE1@EXCH_MISSION> Doug, At the last meeting you mentioned the problem of load balancing apache servers versus per server session caches. I wandered across many references to sticky load balancing solutions that operate in hardware or in apache's rewrite phase... Which I'd be willing to be you're familiar with. But then I ran across a reference to the distcache project. http://distcache.sourceforge.net/ It describes itself as: > supporting clusters of SSL/TLS-enabled servers (eg. secure > webservers) in such a way that they can share a single > network-based sessioncache thought you might be interested... -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030422/55a8a492/attachment.htm From scottk at uclick.com Tue Apr 22 11:44:13 2003 From: scottk at uclick.com (Scott Kahler) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] distributed session cache References: <71BEC0D4E1DED3118F7A009027B12028034C8CE1@EXCH_MISSION> Message-ID: <3EA5715D.30507@uclick.com> Interesting. If I understand correctly (which I usually don't) it is basically a proxied file based sessioning system. Garrett Goebel wrote: > Doug, > > At the last meeting you mentioned the problem of load balancing apache > servers versus per server session caches. I wandered across many > references to sticky load balancing solutions that operate in hardware > or in apache's rewrite phase... Which I'd be willing to be you're > familiar with. But then I ran across a reference to the distcache project. > > http://distcache.sourceforge.net/ > > It describes itself as: > > > supporting clusters of SSL/TLS-enabled servers (eg. secure > > webservers) in such a way that they can share a single > > network-based sessioncache > > thought you might be interested... > > -- > Garrett Goebel > IS Development Specialist > > ScriptPro Direct: 913.403.5261 > 5828 Reeds Road Main: 913.384.1008 > Mission, KS 66202 Fax: 913.384.2180 > www.scriptpro.com garrett at scriptpro dot com > -- Scott Kahler =-=-=-=-=-=-=-=-=-=-=-=-= Perl Geek http://www.uclick.com 816-210-8884 scottk@uclick.com =-=-=-=-=-=-=-=-=-=-=-=-= I would rather spend 10 hours reading someone else's source code than 10 minutes listening to Musak waiting for technical support which isn't. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030422/4c7ce915/attachment.htm From garrett at scriptpro.com Thu Apr 24 13:16:13 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Writing Apache Modules with Perl and C Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CF7@EXCH_MISSION> Writing Apache Modules with Perl and C Authors: Lincoln Stein, Doug MacEachern Publisher: O'Reilly Published: 1999-03 ISBN: 156592567X "Writing Apache Modules with Perl and C" is an excellent introduction to the Apache 1.X API and mod_perl. The book assumes an intermediate understanding of Perl, but only a passing familiarity with the Hyper Text Transfer Protocol (HTTP) and Apache. Though if you choose to read this book you won't have only a passing familiarity for long. By the time you finish reading this book for the first time you will have a thorough understanding of how web servers work in general and Apache API in detail. Then you can go back and read it again and you'll find you're still learning ;) Admittedly the book is written to illustrate the Apache API through mod_perl with much emphasis on "Perl". However reference and commentary on the C API is provided in the appendices. Even though it was published in 1999 the book is still very relevant. "mod_perl Developer's Cookbook" (ISBN: 0672322404, published: 2003-01) which is also highly regarded, recommends "Writing Apache Modules with Perl and C" as being "absolutely indispensable". The book starts with a history of server-side technologies which have shaped and influenced how Apache came to be. It follows with an introduction to Apache walking the reader through the installation, configuration and directives necessary to get up and running with Apache and mod_perl. And of course it provides the gratuitous "hello world" example. During the introduction, the authors do an excellent job of balancing UNIX and Win32, C and Perl. The rest of the book however, gradually slides into an assumption of UNIX and Perl. At this point the authors begin to cover the basics of how HTTP servers work, the Apache process' life cycle: startup, module initialization, child initialization, request loop, child exit, and shutdown, and then continue on with the phases of the request loop. Which assuming success is request, post-read-request, uri translation, header parsing, access control, authentication, authorization, mime-type checking, fixups, response, logging, and cleanup. They then present the Handler API. In short, a handler is a hook which allows a programmer to modify what actually occurs at the particular phase being handled. They proceed to describe how you can provide handlers for each of the request phases provided by the C API and a couple available only to under mod_perl. The authors look in considerable detail at various illustrative scenarios for content generation handlers, maintaining state, and the trinity of access control, authentication, and authorization. Strictly speaking maintaining state isn't a subject tied to the Apache API. But the coverage of session state is valuable in itself and its placement and presentation flow naturally. Throughout the text, the authors illustrate various methods of addressing issues relevant to each phase of the request loop. They highlight relative advantages and disadvantages of various techniques and give the reader advice on when and where each approach is appropriate. This type of advice is absolutely invaluable. For example: when to use cookies versus shared memory or persistent data storage in the context of browser compatibility and security. The problems and code examples may appear to be contrived and/or simplistic, but they server very well to teach you the why's and not just the how's of what you need to know. Also covered are topics such as debugging, subclassing the Apache class, and customizing apache configuration. Throughout the book the authors mention many of the standard Apache modules and many that are not. It is in this area that the book begins to show its age. For instance, the authors mention that Apache::Request will soon be released on CPAN. This module was released back in 1999, and many current Apache modules absolutely can't work without it. I'm not sure whether "Practical mod_perl" which is currently due to be released in May of 2003 is intended to supplant or augment this text. Time will tell. But if this book is the measure, the bar will be very high indeed. I do hope Stein and MacEachern will consider an update. And if they do, I hope they'll add more info on performance tuning and debugging. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030424/a8c7df07/attachment.htm From garrett at scriptpro.com Thu Apr 24 13:20:52 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Embedding Perl in HTML with Mason Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CF8@EXCH_MISSION> Embedding Perl in HTML with Mason Authors: Dave Rolsky, Ken Williams Publisher: O'Reilly Published: 2002_10_01 ISBN: 0596002254 "Embedding Perl in HTML with Mason" (EPIHWM) is as you might guess from the title, a book about creating dynamic websites with the HTML::Mason module. If you're wondering what is HTML::Mason? I don't think it would be unjust to describing it as either a heavyweight templating system or a lightweight application framework. I.e., it falls somewhere between Template::Toolkit and Zope. And like Template::Toolkit, Mason need not be limited to generating websites, but can be used to generate configuration files, static documents, etc. This book however reflects the task Mason is most frequently put to, that of building dynamic websites that are feature rich yet easily maintained and extended. Mason is built around the concept of components as building blocks. I.e., KISS through modularization and the elimination of redundancy. "Components" are similar in nature to packages, but consist of text intermixed with embedded Mason tags that allow you to take full advantage of Perl. These components can call out to or be composed of other components. Components can be implemented procedurally, or using inheritance, methods, attributes, etc. In short, Mason assures that TIMTOWTDI. As someone who is about 5 years behind the times with regard to web development related standards and tools, and working to catch up I choose to read "Embedding Perl in HTML with Mason" because it appeared to be the best all round introduction to a templating system. Had Template::Toolkit had available similar well rounded documentation I might just as easily have started with it. Though I'll admit that the fact that Mason provides pre-rolled solutions for caching and a lot of the management hooks that would otherwise require a good bit of hands-on and trial by fire experience. Though I hope never to make use of it, I also liked that Mason will work under CGI and in a stand-alone mode. In choosing to start with Mason and EPIHWM I was not disappointed. The book assumes intermediate experience with Perl and passing familiarity with HTML, Apache and CGI.pm. By intermediate, I mean that the reader should be comfortable downloading and installing modules from CPAN and have a passing familiarity with using object oriented interfaces. The book is published by O'Reilly under the Open Publication License, and also freely available at the http://www.masonbook.com website. The authors start with an overview of Mason's features, give a short comparison to alternative templating systems, and then move on to a through discussion of the Mason syntax and components. They do a good job illustrating concepts with examples throughout. They steadily work into more advanced topics like Mason's default handlers which are similar to AUTOLOAD in that they allow you to dynamically provide code to handle requests for uri's that don't exist, and autohandlers which allow existent components to easily inherit and share code. An example of a frequent use of autohandlers would be to provide standard headers, footers, and menus. The next few chapters flush out Mason's API, advanced features, give a glance under the hood at how Mason works, and illustrate how Mason can take advantage of Apache mod_perl when it is available. Finally in chapter 8, it all comes together as the authors build a complete site using Mason. It just so happens to be the Perl Apprentice site, which you can visit at http://apprentice.perl.org. The last few chapters cover Mason in the absence of mod_perl, i.e., under CGI. They then hit on scalability issues and provide various recipes for maintaining state, authentication, authorization, and tips on sharing Mason components to generate similar sites and working in shared development environments. It finishes with a tutorial on subclassing and customizing Mason itself. The appendices contain API references, tips on customizing emacs and vim, and plug for Bricolage which is a content management system built using Mason. All in all, the book was a well written introduction to Mason. There were a few typo's and the errata as usual is available at the O'Reilly website. If you're looking to get started with Mason, look no farther. If you're looking for advanced topics, recipes, and under the hood insights head over to http://www.masonhq.com, read the documentation there and consider joining the mason-users mailing list. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030424/e866eee7/attachment.htm From garrett at scriptpro.com Thu Apr 24 13:39:45 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Official Guide to Programming with CGI.pm Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CFA@EXCH_MISSION> Official Guide to Programming with CGI.pm Author: Lincoln Stein Publisher: Wiley Published: 1998 ISBN: 0471247448 The Offical Guide to Programming with CGI is an introductory level text covering Lincoln Stein's CGI.pm module. CGI.pm is the standard perl module for working with CGI. CGI (Common Gateway Interface) is the standard interface by which external programs can interace with web servers. The text assumes the reader has at least a beginner's knowledge of Perl and HTML. For instance, readers are assumed to know how to use modules, but no prior knowledge of object oriented perl is required. Likewise, the reader should have a passing familiarity with HTML tags, forms in particular. This book is particularly beginner friendly. The reader should be able to walk away from the book with the ability to create simple websites which take and respond to user input. The potential CGI.pm programmer will gain a fundamental knowledge of the module, its interface, and how it may be used to generate HTML. The text also includes a very detailed reference guide which may appeal to those people who prefer to hold what they're reading. While the book was published back in 1998, it hasn't become outdated. It is pleasantly surprising that CGI.pm's interface has changed so little. Support for new standards like XHTML have been added since the book was originally published, but have had little net effect on the use of CGI.pm itself. Why CGI? Isn't that the way people used to write dynamic web pages? Yes. And where portability concerns outweigh performance, it still is. Also, if you're a relative novice or don't have an endless supply of round tuits, CGI programming may present the lowest barrier of entry into dynamic web programming. Even if you later move on to one of the newer templating systems a fundamental knowledge of CGI.pm and how it works will still be useful. Not to mention that some of the templating systems for instance HTML::Mason will run on top of CGI, even though most are primarily designed to work with Apache and mod_perl. For those who would appreciate a short description of what mod_perl is, it basically puts a copy of Perl inside the Apache executable making powerful hooks available to perl scripts and avoiding the overhead of executing a separate process for each CGI script. The author of the book, Lincoln Stein, is also the author of the module itself. In the book, Stein takes the reader through a gradual progression of scenarios and solutions. The explanations are thorough and the pace gradually takes the reader into more advanced topics. In short, it is a concise introduction to CGI programming with Perl. Low level details, like how CGI works under the hood and more advanced topics like security, cascading style sheets, javascript, and persistence are touched upon but not covered in particular depth. The author does however provide many timely references to books and websites where the reader can find more information on those topics. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030424/3e901522/attachment.htm From garrett at scriptpro.com Thu Apr 24 13:46:14 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Mastering Algorithms with Perl Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CFB@EXCH_MISSION> Mastering Algorithms with Perl Authors: Jon Orwant, Jarkko Hietaniemi, and John Macdonald Publisher: O'Reilly Published: 1999-10 ISBN: 1565923987 Mastering Algorithms with Perl is an intermediate to advanced text describing traditional algorithms and data structures through Perl. It assumes a basic understanding of Perl. And while the average reader will be able to progress through the better part of the book with no background in computer science, the last third of the book requires at least a passing familiarity with Calculus, advanced mathematical notation, and covers topics from the vantage those already initiated to Probability, Statistics, Cryptology, and Number Theory. That said, the book has something for everyone. Beginner and Intermediate level Perl programmers will find the book's materials information dense but approachable. Advanced programmers will find a well written refresher illustrating familiar concepts in Perl. Given the breadth of the books and the language specific insights, they'll probably learn a thing or two as well. Topics covered include: linked lists, circular linked lists, garbage collection, doubly-linked lists, infinite lists, binary trees, heaps, binary heaps, janus heaps, sorting, searching, sets, matrices, graphs, strings, geometric algorithms, number systems, number theory, cryptography, probability, statistics, and numerical analysis. I've found that while the book is somewhat daunting, it goes down best a little bit at a time: read a chapter, then work through the examples. The first time I attempted to read the book I got about a third of the way through before stopping, scanning the rest, and putting it back on the shelf. A couple months later as I was working on a problem involving graphs and trees, the book came back down. And as interesting and complicated problems present themselves, I often find myself reaching for it. It covers an awful lot in 701 tightly packed pages. Have you ever wondered how regular expressions work? Hashes? Its in there. It is an excellent reference and fills a much needed gap. No other Perl book comes close to the breadth and depth coverage of these materials. That said, the first edition has a tremendous number of errors and typos. If a second edition doesn't materialize soon, I would highly recommend visiting the O'Reilly site to read the errata. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett@scriptpro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030424/c4c5d2a3/attachment.htm From garrett at scriptpro.com Thu Apr 24 14:43:50 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] Book Review: Object Oriented Perl Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CFD@EXCH_MISSION> Object Oriented Perl Author: Damian Conway Publisher: Manning Published: 2000-01 ISBN: 1884777791 OOP is the definitive book on Object Oriented (OO) programming in Perl. It starts out with a very gentle 20 page primer on essential OO concepts, and follows on with a 50 page Perl refresher chapter. The best hardboiled synopsis of essential Perl concepts which this reader has yet read. This is one of those rare books which will thoroughly teach beginners, and yet continue to hold rapt, surprise, and inform more advanced readers as well. The book is a well paced introduction to OO, illustrating and implementing the core concepts of OO in the context of Perl. While the earliest chapters serve as building blocks to those that follow, the later chapters need not be read front to back, but rather as the topic appeals to the reader. Topics covered include: inheritance, polymorphism, ties, operator overloading, encapsulation, genericity, multiple dispatch, and persistent objects. Each topic is introduced along with code which highlights how each technique helps to solve common real world problems. As various tips, tricks, and pitfalls are covered, the reader will often find themselves revisiting and evolving improved solutions to familiar problems. A lot of languages implement a particular flavor of OO. And indeed, OOP shows a variety of the techniques and flavors of OO and how they may be implemented in Perl. -Explaining when and where each may best be used, and trade-offs involved. As a result, the reader comes away from the book with a greater understanding of OO, and not just a single style embraced by a particular language. Conway is well-known and respected throughout the Perl community. His writing is clever, humorous, and while information dense... surprisingly easy to follow. There is a sense of grace and continuity to his writing which made this book a real pleasure to read. -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett at scriptpro dot com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030424/758d12b1/attachment.htm From garrett at scriptpro.com Thu Apr 24 14:45:00 2003 From: garrett at scriptpro.com (Garrett Goebel) Date: Mon Aug 2 21:31:07 2004 Subject: [Kc] apologies on reposting old reviews Message-ID: <71BEC0D4E1DED3118F7A009027B12028034C8CFE@EXCH_MISSION> Apologies for reposting old reviews. I was updating the website to add a reviews section and wanted to make sure I could link in the book reviews from our mail archives... -- Garrett Goebel IS Development Specialist ScriptPro Direct: 913.403.5261 5828 Reeds Road Main: 913.384.1008 Mission, KS 66202 Fax: 913.384.2180 www.scriptpro.com garrett@scriptpro.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/kc/attachments/20030424/1f4b73e2/attachment.htm