Mark Dominus on Mon, 25 Aug 2003 23:25:23 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[PLUG] Perl tutorial at U Penn on Tuesday 2 September


This year I wrote three new tutorial classes for conferences, but I
only gave two of them in practice sessions at Penn in the spring.
I've given the new one several times now, so I don't need the
practice, but I thought it would be fun to give it in Philadelphia
anyway.

As usual, I am asking for a (voluntary) donation of $10.  If this
covers my expenses for the class, I will contribute 30% of the surplus
to the EFF, a non-profit legal action group devoted to defending
digital rights.  (See http://www.eff.org/ for details.)

The tutorial is titled:

        "How do I delete a line from a file?"  
        Strategies for Lightweight Databases


                                 WHEN


Tuesday, September 2.

The tutorial will start around 6:30 PM and will last until about
10:00, including a 30-minute break in the middle.

                                 WHAT

Here is the brochure description:

        Many programs need cheap, convenient access to small amounts
        of data. There are two commonly used solutions: Flat text
        files and DBM files. This class will look at these in
        detail. Whether you're looking for a good solution for storage
        of your own data, or you have to deal with data stored in one
        of these formats by another program, this class will equip you
        with valuable tools for solving your problems.

        In the first section, we'll look at techniques for managing
        flat text databases and the systems programming that underlies
        these. We'll examine the tradeoffs of variable
        vs. fixed-length records and sorted vs. unsorted files. In the
        second section, we'll take a detailed look at Tie::File, a new
        standard module that provides easy access to text databases.

        The third section will be an overview of Perl's 'DBM' feature,
        including a comparison of the standard DBM modules. We'll see
        several extremely useful but little-known features of DB_File,
        the only one of these standard modules that doesn't have
        serious defects.

Here's an outline:



     Text Files 
         Rotating log file; deleting a user 
         Copy the File 
              -i.bak 
              Using -i inside a program 
              Problems with -i 
              Atomicity issues 
         Essential problem with files; fundamental operations; seeking 
         Sorted files 
         In-place modification of records 
              Overwriting records 
              Bytes vs. positions 
              Gappy Files 
              Fixed-length records 
              Numeric indices 
              Case study: lastlog 
         Indexing 
              Void fields 
              Generic text indices 
              Packed offsets 
     Tie::File 
         Tie::File Examples 
         delete_user revisited 
         uppercase_username revisited 
         Rotating log file revisited 
         Most important thing to know about Tie::File 
         Indexing with Tie::File 
         Tie::File Internals 
              Caching 
              Record modification 
              Immediate vs. Deferred Writing 
              Autodeferring 
         Miscellaneous Features 
     DBM 
         Common DBM Implementations 
         What DBM Does 
         Small DBMs: ODBM, NDBM, and SDBM 
         GDBM 
         DB_File 
              Indexing revisited 
              Ordered hashes 
              Partial matching 
              Sequential access 
              Multiple values 
              Filters 
              BerkeleyDB 


                               WHARNING

This is NOT an introductory class; it assumes that you have some
familiarity with Perl's basic features.  

                                WHERE

The classes will be held in Wu-Chen auditorium on the first floor of
the new Melvin and Claire Levine Hall at the University of
Pennsylvania.  Levine Hall is located at 3330 Walnut Street in
Philadelphia.

For directions to the University, see

        http://www.facilities.upenn.edu/visitUs/

A map is available at:

        http://www.facilities.upenn.edu/mapsBldgs/view_map.php3?id=407


                                 WHO

My usual bio says:

        Mark-Jason Dominus has been programming in Perl since 1992. He
        is the author of the 'Memoize', 'Text::Template', and
        'Tie::File' modules, the author of the 'perlreftut' man page,
        and an occasional contributor to the Perl core.  He won the
        2001 Larry Wall award for Practical Utility.

For more details about me, see

        http://perl.plover.com/yak/aboutme.html

For more details about classes I teach, see

        http://perl.plover.com/yak/

For more details about this class, see

        http://perl.plover.com/yak/lightweight-db/

                                 WHOW

We have plenty of space, but please make an advance reservation so
that I know how many handouts to bring.  To reserve, please send an
email message to:

        mjd-tpc-practice-lwdb+@plover.com

Please do circulate this notice to any people or mailing lists that
you think might want to see it.

My grateful thanks go to Helen Anderson and Chip Buchholtz of the
University of Pennsylvania School of Engineering and Applied Science
for providing the space and AV equipment for these classes, and to
JoDe Hendrick for setting it up.

                                WHUH?

Questions?  Send me email.


_________________________________________________________________________
Philadelphia Linux Users Group        --       http://www.phillylinux.org
Announcements - http://lists.netisland.net/mailman/listinfo/plug-announce
General Discussion  --   http://lists.netisland.net/mailman/listinfo/plug