I've given four presentations at YAPC. The first was in 1999 on introducing DBI the second in 2001 on introducing OpenInteract the third in 2003 on a system that generates Java using Perl and some implications for agile development, and the most recent at YAPC 2004 was a 3+-hour tutorial about OpenInteract2.
In 2004 I've given the following presentations:
- Introduction to Mock Objects and general testing practices
- Building Applications with OpenInteract2 the first part of a longer presentation I'll be giving at YAPC::NA 2004 in June.
- Building Applications with OpenInteract2 is the full presentation given at YAPC 2004.
- Workflows in Perl to a local user group in October
In 2003 I talked about:
- Creating a Template Toolkit plugin (brief, Pgh.pm)
- why INI files rock for human-edited configuration (brief, Pgh.pm and YAPC)
- An intro to SPOPS (long, particularly to the attendees; Pgh.pm)
- An intro to Class::Observable (brief, Pgh.pm)
Programming takes up a fair portion of my life, but unfortunately I'm not proficient enough to give back everything to the open source community it has given me. Anything I can do, however, will be here with at least a pointer.
While at intes.net I was the primary architect of the OpenInteract application server. It uses Apache and mod_perl to create a productive rapid application environment for building complex web applications.
Even though I'm no longer at intes.net, I'm still the primary developer on the project. (That's the magic of open source!) In fact, this site runs on OpenInteract. Extra packages I work on, unless they're specific to me (doubtful) will be up on the OI site as well under the file group 'extra_packages'. (Actually, they'll usually show up here first, but that's just for testing...)
As part of many projects, as well as OpenInteract, we found we needed to develop a consistent, easy to use, object persistence scheme. So we put together our experience and to tie it all together thought up a new acronym: SPOPS, which stands for Simple Perl Object Persistence with Security. Bonus: it's also a palindrome!
So, what's different about SPOPS?
- For many objects you don't have to write any code, just a configuration file.
- It includes security that you can apply on a per-object basis.
- It's easy to use: why should we force Perl to conform to the OO idea of accessors and mutators when we have tied hashes?
Older programming projects
Workflow is also available on CPAN. It implements a simple, generic and embeddable workflow system that you can adapt to your own needs. It was spawned from an existing project at Arvato Direct where I helped them take their specific framework into a reusable product.
This is now maintained by Jonas B. Nielsen.
Class::Observable is a fairly simple Perl class that implements the observer/observable pattern. Not surprisingly, it's much easier and more flexible than the Java implementation. It overlaps a bit with Class::Trigger but they use different implementations and interfaces.
This has the somewhat dubious distinction of having been ripped apart (fairly) by MJD for an upcoming book.
In November 2003 I gave a brief presentation about C::O to the Pittsburgh Perlmongers.
Class::Factory is a simple Perl class you can use as a factory. Subclass implementations of a particular interface register themselves (e.g., steelers => 'NFL::Team::Steelers') and you can then ask the parent class for a implementation based on a name ( 'NFL::Team->new( "steelers" )'). Easy stuff, makes a plugin architecture a piece of cake. Very high ratio of docs to code.
This is now maintained by Fred Moyer.
- Installing Gentoo on an old laptop (7-Oct-2003)
- Code Generation for Fun and Profit (24-Sep-2002)
- Side Effects of Decent Design (17-Sep-2002)
- A short guide to setting up SQL Remote between two (or more) Sybase ASE databases
- Paper on Perl and DBI from yapc 99 proceedings (fixed from printed version)
- Paper on mod_perl from presentation to DC Perl Mongers
- Paper on Perl and DBI from presentation to DC Perl Mongers
Also, a few old, non-technical writing items are still around.