M2
Daniel Klein


Website Wizardy with Perl – A Cookbook Approach
Tutorial description in brief: With the proliferation of web sites, the problem of maintenance has become almost untenable. Every web site needs a person to update databases, send and answer mail, handle membership signups (and account expiration), deal with password protection, and so forth. Or do they? This tutorial will show, with numerous real-life examples, how a web site can be largely automated, leaving the site maintainer to handle the exceptional cases, instead of the routine ones.
Taking a cookbook or wish-list approach, we will look at the following topics and see how to
solve some of the problems, using real-life Perl code samples:

- Dynamically creating/expiring user accounts
- Checking for password sharing
- Sending out membership newsletters
- Responding to “remove” requests
- Automatic site updates (images and text)
- Automatic newsgroup posting (e.g., monthly FAQ posting)
- Daily/weekly/monthly reporting
- Referral tracking/reporting
- Link exchanges (and checking for dead links)
- Database synchronization, searching, and up dating
We’ll use web-based modules from the CPAN and explain their interfaces. We will also pay special attention to file locking, synchronization, error checking, reporting, and recovery, and the special needs of the asynchronous environment that the Web provides. For each example, we will present a problem, discuss the conceptual overview, and delve into the code to solve it. Attendees will be able to take these examples how and easily implement their own solutions for their own sites. In all cases, issues of scalability will also be discussed (since some solutions fit well on a site getting 40,000 raw hits a day, while others are more appropriate for site getting 20x or more that many hits). The instructor’s own real-life experience in sites over the entire spectrum will give the attendees the perspective they need to plan for their own needs and projected growth.
Instructor:
Daniel Klein has been teaching a wide variety of Unix-related subjects since 1984, and has been involved with Unix since 1976. His experience covers a broad range of disciplines, including the Internals of almost every Unix kernel released in the past 24 years, real-time process control, compilers and
interpreters, medical diagnostic systems, system security and administration, web-related systems and servers, graphical user interface management systems, and a racetrack betting system. He contributes regularly to the proceedings of the USENIX Association, and is also their tutorial coordinator. He holds a Masters of Applied Mathematics from Carnegie-Mellon University in Pittsburgh, and in his free time is a member of an a capella choir and an improvisational comedy troupe.
Who should attend:
Programmers with moderate experience in Perl and CGI/HTML, who would like to learn more about automating a web site so they can get more done by doingless work. This is “not” a class for nonprogrammers – we will be doing a lot of Perl code-reading.