Mark Dominus on Mon, 25 Aug 2003 23:23:27 -0400 |
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. - **Majordomo list services provided by PANIX <URL:http://www.panix.com>** **To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**
|
|