|
07/19/2000,
8:45am
to 10:15am
in Serra I & II
-
Presented by Andy Hertzfeld
The personal computer revolution was initially driven by enthusiasts, propelled by their idealism and passion . My talk will compare the early days of the personal computer industry with the current situation of the open source movement. It will focus on my experiences at Apple, describing some of the key people at Apple and how their personalities worked their way into their products, especially dwelling on the development of the Macintosh computer. The talk will discuss the structural problems that ensnared the personal computer industry in the 1980s and articulate how the open source movement can help to resolve them. Finally, it will look at the challenges that lie ahead for the open source movement, emphasizing the crucial issue of usability, discussing what the community can do to make open source software easier to use for mainstream users.
|
| |
|
07/19/2000,
10:45am
to 12:15pm
in Serra I & II
-
Presented by Larry Wall
As threatened in last year's talk, this year Larry will talk about the melody, harmony, and rhythm of Perl culture. If you're lucky, Larry will bring his violin. (If you're extremely lucky, Larry will break his arm in Aikido the week before.) In any event, come and learn why people like to fiddle around with Perl.
Presented by Jon Orwant
Jon has just returned from visiting the year 2039, and brings us grave news of the terrible catastrophe that occurred when the world was plunged into darkness by the Y2038K bug. Fortunately, he says, Perl is helping to rebuild civilization. This talk explains how.
|
| |
|
07/19/2000,
1:30pm
to 3:00pm
in Serra I
-
Presented by Bradley M. Kuhn
perljvm translates Perl code into Java code. Perl data types are represented with Java classes, and the output of perljvm is code to use those classes. Jasmin assembler syntax is used as an intermediate representation.
Presented by Raymond McCrae
PerlCaffeine also translates Perl code to semantically equivalent Java code. The output of PerlCaffeine is Java code that uses equivalent Java classes for scalars, arrays, and hashes.
Presented by Darren Stalder
This paper is intended to demonstrate using tie and XS to manage shared memory between multiple processes related through fork(2). The various approaches are examined and analyzed as to their functionality. This paper is a follow-on to TPC3's "The Digital Anatomist Foundational Model Server."
|
| |
|
07/19/2000,
1:30pm
to 3:00pm
in Serra II
-
Presented by Damian Conway
Perl has never had a case (switch) statement, until now.
Presented by Damian Conway
Perl, like natural languages such as English, relies on positional cues to indicate the meaning of the elements ($maximum = $next is very different in meaning from $next = $maximum). Latin alters words to alter their part of speech ("puer" is boy as a direct object, "pueri" is boy as an indirect object). This module explores the alternate reality of a Perl modelled after Latin.
Presented by Damian Conway, Aaron Wigley
Hypercard was the first program to make it easy for regular folks to make multimedia applications. There are many programs like Hypercard available today, but only LlamaCard is written in Perl and scriptable with Perl. This paper describes the design and implementation of LlamaCard.
|
| |
|
07/19/2000,
1:30pm
to 3:00pm
-
Presented by Will Whittaker
This paper discusses various techniques for auditing perl scripts for security flaws and looks at several ways those techniques can be automated. It shows tools that go beyond auditing by hand, discusses looking for known vulnerabilities with web site CGI scanners, and talks about perl scripts used in contexts other than CGI.
Presented by Kevin Lenzo
Perl is an infobot, a program that sits on an IRC channel and responds to users. It learns facts, and can answer questions. This paper discusses the philosophy, the design, and the community that engages the bot.
|
| |
|
07/19/2000,
1:30pm
to 3:00pm
in Bonzai I
-
Presented by Andy Wardley
The Template Toolkit is a set of Perl modules, freely available from CPAN, which collectively implement a template processing system. This paper demonstrates a number of different ways in which the toolkit modules and associated tools can be used to create and subsequently maintain web content, and build dynamic web applications.
Presented by Robert Davis
This paper describes the major and minor functions of the data processing and conversion activities at the Near Earth Asteroid Rendezvous project's Science Data Center. These activities are unmanned and controlled by Perl programs.
Presented by John Labovitz
Protosim is a network performance testing system which simulates and measures real-world network traffic. By mixing a variety of protocols and requests, Protosim can measure or predict network usage. This talk will discuss the design and implementation of Protosim, which makes heavy use of the POE module.
|
| |
|
07/19/2000,
1:30pm
to 3:00pm
in Bonzai II-III
-
Presented by Adam Turoff
This paper focuses on the importance of data modeling, showing how using Perl's dynamic object model can simplify the translation from XML, POD or raw text inputs into XML, HTML, text and database outputs. In this manner, Perl can sometimes replace conventional DSSSL and XSL stylesheet engines since it handily accepts inputs from non-SGML/XML sources, such as log files and relational databases. In other cases, Perl can work alongside those same stylesheet engines by converting non-SGML/XML formats into SGML/XML for further processing.
Presented by Andrew Bromage
This paper discussses the design and implementation of an Apache/mod_perl intranet portal for Monash University, the largest (40,000 students, 7 campuses, 3 countries) university in Australia. The portal provides everyone in the university community with a fully customisable home page, built using HTML::Mason, NNTP, and XML.
Presented by Brand Hilton
tksort is a program to graphically show the progress and behaviour of various sorting algorithms. The program was written to be as transparent as possible to the algorithm, so that code from "Mastering Algorithms with Perl" can be used with as little modification as possible. The talk will discuss how this was accomplished using ties, overloading, pipes to subprocesses, and the Tk GUI.
|
| |
|
07/19/2000,
1:30pm
to 3:00pm
|
| |
|
07/19/2000,
3:30pm
to 5:00pm
in Serra I
-
Presented by Toby Everett
The why and how of an object-oriented database access system for ASP, ADO, and SQL Server. This shows an application of Class::SelfMethods, which implements Self-like OO behaviour in Perl.
Presented by W. Phillip Moore
This presentation will describe the infrastructure deployed at Morgan-Stanley Dean-Witter, the strategic importance of Perl at one of the world's preeminent financial firms, and discuss the problems encountered over the past few years developing a change management system for open source software used on over 8000 UNIX, 15000 NT, and several OS/390 nodes, distributed globally. Finally, the strategic role of Open Source Software, in particular Perl, at MSDW will be discussed.
Presented by Jan Dubois
This presentation gives an overview of the important new features in PerlScript version 2.0. It will support compilation into native code to produce small and fast components. Interoperability with other scripting languages has been very much improved. For example, it will be possible to inherit from COM objects or to create PerlScript 2.0 objects that can be inherited from by Visual Basic 7. This new eXternal Object (XO) interface technology will be extended to other OS platforms and object architectures in the future.
|
| |
|
07/19/2000,
3:30pm
to 5:00pm
in Serra II
-
Presented by Damian Conway
Design by contract is a software engineering technique in which each module of a software system specifies explicitly what input (or data or arguments) it requires, and what output (or information or results) it guarantees to produce in response. Class::Contract creates classes with contracts and automatic checking of those contracts. This paper discusses the features and implementation of Class::Contract.
Presented by Michael G. Schwern
The Class::DBI module provides a Perl class corresponding to an RDBMS table with one interface, one set of rules, and one set of documentation. This is a discussion of the implementation of the module, touching on practical inheritance, autoloading, lazy persistence, DBI, run-time type inspection, symbol-table hacking, and pseudohashes.
Presented by Darrin T. Husmann
A case study showing the capabilities of Graphviz and Perl in the field of data visualization, showing how applications developed with these tools are currently being used in both industry and the military in everything from network topology to battlefield decision making.
|
| |
|
07/19/2000,
3:30pm
to 5:00pm
in De Anza III
-
Presented by Tom Christiansen
Race conditions are a common security hole, and even seasoned programmers make mistakes which open their programs to exploitation. Tom will explain what race conditions are, demonstrate several unpleasantly common pieces of code that create them, and then show safe replacements.
Presented by Mark Wilcox, Graham Barr
Mark delves into his toolbox and shows some little-known but useful features of Net::LDAP.
Presented by Damian Conway
Most text-reformatting programs or modules aren't smart enough to deal with quoting conventions, nested lists, or indents. Text::Autoformat understands bulleting, numbered paragraphs (even Roman numerals), Internet quoting conventions, and can properly adjust inter-word and inter-paragraph spacing, justify text, and impose various capitalization schemes. This paper explains the features and how each of the three phases (parsing, template generation, and text interpolation) are implemented.
|
| |
|
07/19/2000,
3:30pm
to 5:00pm
in Bonzai I
-
Presented by George Kuetemeyer
This talk discusses a set of Perl modules and scripts that allow NT account administration from generic web servers such as Apache. They provide more granular access to administrative tasks (so that help-desk personnel can change passwords but not create/remove accounts, for example), a link to X 500 directories, and improved logging of the administration activities. The relief of being able to control an NT infrastructure from a Unix box with Perl will also be discussed.
Presented by Diego Zamboni
AAFID (Autonomous Agents for Intrusion Detection) is a distributed hierarchical intrusion detection architecture. The AAFID prototype is an implementation of that architecture, written in Perl. This talk describes the system, the problems Perl caused and solved, and the lessons learned.
Presented by David Parr
SCAMP (Simple, Cheap, Active Monitoring with Perl) is a system that uses open source tools (MySQL, Apache, mod_perl, DBD/DBI, and GIFgraph) to gather data from the operating system and other sources, parse it into a standard format, save it, and render it as a graph. This case study describes the implementation, and the cost-benefit analysis of leveraging open source tools in this fashion.
|
| |
|
07/19/2000,
3:30pm
to 5:00pm
in Bonzai II-III
-
Presented by Randal L. Schwartz
Almost anyone can run your CGI script by simply accessing it with a web browser. They can send any data they like despite your finely tuned HTML form or Javascript validity checking. If you aren't already worried, this course will show you that you should be and what to do about it. This course will cover the basics of CGI script security measures including basic programming strategy and Perl-specific techniques. Some general server features are discussed, although this is a platform-independent course. General knowledge of Perl programming and CGI scripting is assumed.
Presented by David H. Adler
It is not unusual for things that fall under the banner of Open Source to be community driven - this, after all, is the strength of Open Source in the first place. Still, the force of community is particularly strong with Perl. Perl has sparked evangelism, education, socialization and more. This presentation will present the wide range of Perl community activity. A much wider range than many expect.
|
| |
|
07/19/2000,
3:30pm
to 5:00pm
|
| |
|
07/20/2000,
8:45am
to 10:15am
in Serra I & II
-
Presented by Tim O'Reilly
Presented by Gregory Benford
In a unique and riveting Keynote, well known 'hard' science fiction author and physicist Gregory Benford asks the question "Where will cheap chips and servile software take us in a few decades? Building on his experience in constructing devices designed to communicate meaningfully across hundreds of decades (he was part of the team that developed markers for U.S. nuclear waste sites that must last 10,000 years) with his knowledge of technology, Benford looks at the future in terms of fundamental cultural shifts and what they mean. Our future digitized culture will not necessarily share our assumptions or visions. That future will enjoy an ever-attentive urban landscape, one tuned at every turn by ingratiating machines. Products will fare well if they can anticipate how well that culture will accept fine shadings of machine obedience and intrusion into personal lives. How comfy will we get before we object? Much depends upon how we see ourselves.
|
| |
|
07/20/2000,
10:45am
to 12:15pm
-
Presented by Chris Nandor
This presentation will demonstrate many different items in a MacPerl user's toolbox, including integration with the popular text editors BBEdit and Alpha, use of Mac::Glue and AppleScript to control scriptable applications, and MacPerl on the command line with MPW and ToolServer. Following the presentation, users will have a good base of knowledge to go out and make their own lives easier with MacPerl.
Presented by Craig E. Rasmussen
SILOON (Scripting Interface Languages for Object-Oriented Numerics) provides users with the ability to rapidly prototype applications based on components in existing C++ and Fortran 90 libraries. The toolkit parses source code and extracts information regarding the interfaces to functions and class methods. This information is then used to generate glue and skeleton code which, when compiled, provides the run-time support for connecting user scripts with distributed back-end computational engines. Because SILOON (via the Program Database Toolkit) uses a commercial ANSI-compliant parser from the Edison Design Group (distributed freely in binary form only), a unique feature is its ability to support many of the complexities of C++ correctly.
Presented by Christopher C. Armstrong
This talk will discuss how to model web-based Perl applications using UML. This will include mapping extended UML to Perl OO language syntax and how using Perl in various environments affects application architecture. There will be a demonstration of the Rose 2000 Perl Add-In round-trip engineering tool.
|
| |
|
07/20/2000,
10:45am
to 12:15pm
in Serra II
-
Presented by Stephane Barde
This case study, based on experience from General Electric and France Telecom, discusses the use of flat file management tools as a way of implementing quick and efficient solutions to the problems caused by the storing and processing of data in systems like MS Excel or MS Access.
Presented by Clifford C. Nelsen II, John Reinart, Michael Smit
EDGAR, the Electronic Data Gathering, Analysis, and Retrieval system is responsible for the collection and dissemination of all submissions filed by companies and others required by law to do so by the Securities and Exchange Commission (SEC). This paper discusses an on-going project using Perl to provide analysts and customers a flexible tool to access the EDGAR data. The scope of the project is as follows: parse the EDGAR submissions; update remote databases with the parsed metadata; archive the submissions on multiple remote web servers; and provide a web application for users to view, query, print, etc. the submissions from the archive. And, the users needed a working system in 30 days.
Presented by Ade Barkah
The speaker will discuss his experiences in implementing a high performance Web server cluster at Accompany, Inc. The scope of the talk would interest anyone building a medium to large scale object-oriented project with Perl. Topics include logical and physical object design; developing an object-relational database glue layer; transaction processing; architecting an OO component-based CGI framework; defining internal and external Perl APIs; Perl's I18N support, OO performance tuning issues; and lessons learned.
|
| |
|
07/20/2000,
10:45am
to 12:15pm
in De Anza III
-
Presented by Steve Fink
Parse::Vipar is a graphical tool for developing, debugging, and understanding LALR parsers. It is integrated with Parse::Gen, a new Perl-only extended LALR parser generator (similar to Parse::Yapp) that can generate either standalone C or Perl parsers. This talk demonstrates the tool, using it to pinpoint shift/reduce and reduce/reduce conflicts, generate sample token streams that illustrate how the parser arrives at incorrect states, visually step forward and backward through parses to ease debugging, and show the "why" feature which uses Parse::Gen's complete LALR parser engine to explain why the parser performed a given action. Finally, Steve will display the perl5 grammar in Parse::Vipar and show how Parse::Gen can be used to generate perly c without relying on an outdated version of byacc and a set of diffs, as is currently done. This will make it easier to update and maintain Perl's own parser.
Presented by Bill Odom
Solutia Inc. recently used Perl to automate the relocation and reconfiguration of a thousand Windows 95 and NT PCs. This automation effort is estimated to have saved hundreds of thousands of dollars out of an approximately $3 million project. This case study will provide an overview of this automation effort, describing its growth from a set of basic scripts into a suite of advanced tools that use OLE Automation, Win32 API calls, XSUBs, etc., to accomplish a variety of tasks.
Presented by Uri Guttman
|
| |
|
07/20/2000,
10:45am
to 12:15pm
-
Presented by Chip Salzenberg
Topaz is a C++ rewrite of the Perl 5 internals, with a goal of making them easier to modify and extend. Chip will discuss the current state of Topaz, and show Topaz running a simple Perl program.
Presented by Andreas Koenig, Graham Barr, Jarkko Hietaniemi
CPAN is constantly changing. This panel will present new developments in the administration, content, and presentation of CPAN.
|
| |
|
07/20/2000,
10:45am
to 12:15pm
in Bonzai II-III
-
Presented by Ted Gilchrist
IAutoDocCD was written by the Oracle documentation tools group to automate the assembly of online documentation, both for web and CD-ROM distribution. This case study shows how AutoDocCD is a poster child for CPAN and code reuse in Perl: CGI.pm for the front end, IO::Socket hands off intensive processing tasks to other Perl backends, HTTP::Request makes requests for documents from the document repository, Net::FTP transfers ZIP files to the corporate website, and Net::Telnet logs onto the external web machine and unpacks the files. In addition, the talk will also discuss the tools group's development of reusable libraries of Perl code for other tasks.
Presented by John MacDonald
Yes, Virginia it can be done. John will tell you of his experiences encrypting Perl source code with the Filter modules.
Presented by Rex Jakobovits
WIRM is a Perl-based application server that provides a high-level programming environment for building web information systems. WIRM consists of an object-relational database and a suite of Perl interfaces for visualizing and integrating heterogeneous multimedia data. WIRM provides facilities for creating context-sensitive views over a multimedia database, allowing developers to rapidly build dynamic web sites that adapt their content and presentation to multiple classes of end-users.
|
| |
|
07/20/2000,
10:45am
to 12:15pm
|
| |
|
07/20/2000,
1:30pm
to 3:00pm
in Serra I & II
-
Presented by Uri Guttman, Damian Conway
And lo, on the last day, there arose four horsemen. And their names were Uri and Brand and Ronald and Damian. And they rode forth across the Perl Conference, bringing chaos and madness. And in their hands were nine holes of Perl Golf, each more perilous than the last. Against them stood the ten teams of Perldom, armed with the sword of /usr/bin/perl and the shield of -w. Together did they strive to overcome the Nine Questions, each in the least time with the fewest keystrokes, and to contend for the glory of the Bonus Style Points. For all the tribes of the Camel did gather in the Auditorium of Monterey to witness the battle between entropy and line-noise. And they did cry out in many voices, for the battle was furious and the one-liners terrible in their brevity. And the archangel Salzenberg and the ur-demon Nandor did watch over them all, offering blessings or calumny, each according to his kind.
Registration for
the Perl Golf Apocalypse at the Perl Conference is now open! There
are great
prizes from VA Linux, O'Reilly, and others.
Register now!
|
| |
|
07/20/2000,
1:30pm
to 3:00pm
in De Anza III
-
Presented by Dan Klein
Dan will present an entertaining and informative tale of life in the trenches running some web sites with very unique demands. He will discuss the nature of his industry, the technical problems it causes, and how Perl and other open-source tools provided solutions to those problems. You will learn, you will laugh, you will cry, but you won't be bored.
|
| |
|
07/20/2000,
3:30pm
to 5:00pm
in Serra I & II
|
| |