||*-------- At Tonight's Meeting... ------*|| ||*-------- Bozeman Linux User Group Meeting ------*|| ||*-------- January 30, 2003 ------*|| ||*-------- ------*|| ||*-------- Ken Dyke, editor ------*|| ||*-------- ------*|| Howdy folks, and welcome to another edition of "At Tonight's Meeting..." ||*-------- At Tonight's Meeting... ------*|| ||*-------- by Ken Dyke ------*|| Mike Stone, Ryan Gantt, Kyle Cunningham, Chad Armstrong, Ron Newman, Stephen Durbin, Neal Richter, Patrick Pitman, Dustin Lee, Sheri Hall, David Ford, and six others whose names I failed to write down. (That is what happens when we don't have a meeting for so long. :-) ) Thank you to these fine folk for coming and making it a great meeting. ||*-------- The Meeting... ------*|| Since there was a large number of people attending a LUG meeting for the first time Ken went over the book review process (see details regarding this in the "Books Available for Review" section). Then he gave away five books from O'Reilly. These are essentailly 'no strings attached' books. If a receipent wants to write a review that is great and Ken will be happy to forward it to O'Reilly (hint - it will probably make it much easier to get a review copy of a highly desirable book). The BozemanLUG now has a calendar of upcoming meetings. (Yea! Yea!) This is great as it will share the duties around and give everyone plenty of time to be prepared. Which means better quality presentations. (Yea! Yea!) Ken will post the calendar to the site in the next day or two. In the meantime, here is a brief once over: February - Python for Fun and Profit by Dustin Lee March - The (not so) Brief History of Linux by Ken Dyke April - The Zend Engine: Powering PHP by Ryan Gantt May - HtDig: Indexing Websites by Neal Richter June - Web of Trust and Key Signing Party by Ken Dyke Ken then introduced David Ford, local consultant and self-described computer geek, who stated at Bell Labs in 1977. David presented a fast paced "Essential Cryptography". It was fast paced to cover a lot of ground and it was a solid two hours because it was thorough. That's right folks, two highly interesting hours of crypto fun. The highlight was colorful diagraming of interactions between Alice and Bob. The final case study was a walk through of the handshaking between client and server for a Secure Sockets Layer (SSL) session. ||*------ Tool Tip -------*|| ||*------ by Ken Dyke -------*|| `fmt' is a command line tool to format text files. I find it useful for many files I receive from others or when I convert PDF files to text. Basically, any time I have a text file where the line wrap is the wrong length, the file has excessive amounts of blank lines, and similar problems. As always see the man page or info for additional details and usage. ||*------ PHP News -------*|| ||*------ by Ryan Gantt -------*|| [ken_i_m: Please note: Ryan has been writing a regular PHP news page that appears on the BozemanLUG website.] -- PHP News, Week of January 30, 2003 -- Not too many goings on in the php world this week, at least not with the official packages. Even php.net's subprojects saw a bit of a slow down, with no new developments in Smarty, and little activity on the cvs. Pear, as always, saw some action, but no major developments; they are still nursing their 1.0 release wounds. ....:::: Pear Activity, Week of Jan 30, 2003 ::::.... The international editon of the php-magazine (http://www.php-mag.net) has been released. This new issue features an overview of the Pear::MDB class, and an introduction on how to write your own php modules/extensions by Zeev. The Deutsch edition of 'php-magazin' for Jan. 2003 contains an article by Alexander Merz who explains in a useful introduction how to setup, administrate and use PEAR. Hartmut Holzgraefe shows us how to use the PEAR::HTTP_WebDAV_Server and Richard Samar introduces XML databases XPath and XQuery as well as using PEAR::XDB modules, especially the Tamino driver. Note that Alexander Merz now has a permanent column in the magazine (beginning with the 1/03 issue), where he will write about PEAR. :: Points of interest and new packages on the cvs for pear :: ~~ Archive_Tar ~~ -------------------------- This class provides handling of tar files in PHP. It supports creating, listing, extracting and adding to tar files. Gzip support is available if PHP has the zlib extension built-in or loaded. -------------------------- ~~ HTTP_Request ~~ -------------------------- Supports GET/POST/HEAD/TRACE/PUT/DELETE, Basic authentication, Proxy, Proxy Authentication, SSL, redirection etc. -------------------------- ~~ PhpDocumentor ~~ -------------------------- The phpDocumentor tool is a standalone auto-documentor similar to JavaDoc. It differs from PHPDoc in that it is much faster, parses a much wider range of php files, and comes with many customizations including 10 HTML templates, windows help file CHM output, PDF output, and XML DocBook peardoc2 output for use with documenting PEAR. Due to interest from PEAR programmers, there is a new beta-quality XML:DocBook converter with peardoc2 templates. This converter could also generate other DocBook formats, if desired, but does not generate indexing for this release. The PDF Converter has stepped up to beta-quality, is fully templatable, and has most bugs completely fixed. The CHM converter has also taken major strides and is close to beta quality. As predicted, the Smarty template engine is the primary template engine for all converters. For users new to phpDocumentor, phpDocumentor uses an event-driven parser and intermediary data structures that allow it to perform at a level other automatic documentors for PHP cannot achieve: --parsing any php file, with multiple classes and functions in the same file --fully compliant with even the most esoteric php syntax ($string = <<< EOF, for example) --ability to generate multiple output formats --extremely fast parsing --error/warnings by line number and file to allow for debugging of documentation tags --multiple output templates to easily customize the look of generated documentation --extensive documentation of the package, including a detailed specification for tags and the included template engine --open source, GPL -------------------------- That's all for this week, and as usual, you can find all of the info in this document on php.net and it's project subsites. http://www.php.net (PHP) http://gtk.php.net (GUI for GTK) http://chora.php.net (CVS Repos.) http://pear.php.net (Pear Classes) http://bonsai.php.net (Simple CVS) http://smarty.php.net (Smarty Template Engine) http://www.zend.com (Zend Engine) ||*------ Doghouse -------*|| The Shapphire MS-SQL worm ravaged the Internet this past week. Simply blocking outbound connections from database servers (which have zero business being able to connect to the 'net) would have prevented` the collateral damage from this one. In fact, the collateral damage was the only damage done by this particular worm. The folks in the Doghouse are the SysAdmins who don't lock their firewalls down tight and then allow only what is required. ||*----- Book Reviews ------*|| PHP Cookbook - Solutions and Examples for PHP Programmers Sklar, David & Adam Trachtenberg O'Reilly and Associates ISBN 1-56592-681-1 Review by Ryan Gantt First of all, for anyone who doesn't know what PHP is, or what sets it apart from Perl or Python, here is a short introduction: If you come from a Perl background, you might relate PHP to maybe Perl using Mason. If you are coming from Python for CGI, you might think of PHP as Python with easier access to http variables, and without required use of a cgi-bin. As http://www.php.net puts it, "PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML." If that doesn't just about sum it up, then I suggest you do some surfing around PHP.net, because the true meaning of PHP is beyond the scope of this review (shameless reference to a comment in the next paragraph). Second of all, I would like to define what I feel is a good book. A good book is one that is worth it's weight in gold, a book that get's it's edges worn, and it's binding marred by excessive overuse, a book that you see your friend carrying down the street, even though you know for a fact that he's read it a million times. I think that for a book to be useful, it *must* not spoon-feed information, it must not make allusions to "key" concepts and then say something along the lines of, "but this concept is beyond the scope of this book," and then allude to it several more times, even on the same page. If there going to talk about something, they better make it understandable, because I don't ever remember hearing about book reading prerequisites. A good book must give examples to show their meaning, and even in some cases, apply that information to a common problem. PHP Cookbook is a good book. This is one of the most intriguing books I've had the chance to read, because of it's odd nature. It contains all of the qualities of a reference book, while maintaining a small learning curve for those who maybe aren't as 'into' PHP as the author. As a recipe book it is laid out by 'locale origin', the PHP Cookbook is laid out by concepts, such as xml, or databases, and then ordered into 'recipies' that build off of that base concept, and concepts that have been presented in the previous chapters. No allusions are made that can't be referenced back to an earlier point in the book, and even if you have no clue what the recipe is talking about or 'calling for', you rarely finish reading it with a defeated "hoomph" or a quick scratch to the head. The first half of the book is focused on giving easy-to-use, easy-to-apply solutions for everyday (easy-to-solve) PHP problems. After reading some of the solutions, I get the feeling that one or both of the authors has spent many hours scanning PHP forums and mailing list archives to seek out common problems, and incorporate solutions to many of those problems into the book. One of the most concise solutions in the book includes a completely, 100% hands free automated Calendar script, which I'm sure has been/will be utilized by the many of the books' readers. He takes PHP's broad and often dull time functions, and zips them together to create an excellent script. The final half of the book focuses on PHP's more advanced, and less used concepts. Client-Scripting for PHP-GTK? This is a really neat concept, which is hardly mentioned (in depth) in many PHP books, but is covered broadly in the Cookbook. Other concepts include XML, HTTP-Request, XML-RTC, Regular Expressions, and Class/OO Programming in PHP (the author makes it clear that Object Oriented (OO) will be improved in PHP 5, because of Zend's new engine, which shows that the authors really care about getting their information correct, and preparing their readers for eminent (and massively huge) changes). One thing that I found odd was the fact that the author of this book has this really almost 'odd' obsession with the Pear libraries (definitely not a bad thing), and he tends to call them for his examples more often than he ought to. The Pear libraries are good, but sometimes PHP has built-in functions that can do the same tasks (althought perhaps with somewhat less customization) in far less steps. For the beginner or even intermediate coder, this may seem unnatural and even confusing at times, since Pear was only recently taken out of it's baby beta stages, and is generally not even mentioned in PHP tutorial books, and sometimes not even in reference books (heaven forbid). The last chapter of the book (one of the longest) focuses mainly on Pear's application and distribution throughout your scripts. He introduces Pear's database abstraction and error-handling, and many other underutilized concepts in surprising depth. He just makes it look so darn easy. =] As far as experience goes, I would definitely recommend this book only to someone who has done substantially more than a "hello world" script with PHP. Although clear, concise, and down-to-the-point, this book could prove overwhelming for someone new to programming. However, judging from the concepts laid out in the book, I'm sure that anyone with reasonable amounts of previous CGI or almost any kind of programming would have less or perhaps no trouble with it. What this book *isn't* is a regurgitation of the online documentation. The author seems to make sure of that, by implementing concepts not even found in the documentation. Altough sometimes the best reference is to be had at http://www.php.net/FUNCTION_NAME, but even PHP's own documentation falls short at times. Although this book is severely and painfully excellent, and I will no doubt buy the second, third, fourth and all editions thereafter, there is one large quirk that I have with the book; lack of a function reference. There is no function reference in this book. I looked all over the back for it, and in the front, and all locations between, and it's nowhere to be found. Alright, I will admit that probably every single function in the PHP library is used, explained, and applied somewhere in the book, and you can just look up the name of the function in the index, but what if you don't know the name of the function? A good clean function list ordered by category is what I longed for most when reading this book. Oh well, even without the function reference, this is definately one of my top 5 all-time favorite books (it's third only to The Lord of the Rings, and Tom Clancy's Net Force =]... that has to say something about quality, if nothing else in this review). On a final note: this is the most PHP you'll ever find for $39.95, unless you like arguing with disgruntled Perl hackers on PHP.net's function reference comments. =] ||*----- Books Available for Review -----*|| Due to the great response/demand for this feature I have been working with publishers to increase the selection of books available. I have succeeded in establishing a couple of relationships for keeping book reviewers busy. The guidelines given to me by these publishers vary somewhat but the the following outline encompasses behavior that will avoid feelings of abuse and exploitation all around. Please read and follow these guidelines in ordering review copies of books. 1) Limit one book per month. 2) Publish a review before ordering another book. 3) When selecting a book for review choose one that has been published within the past year or so. 4) We are a Linux User Group. Please keep this in mind when selecting titles. (For example, Photoshop does not run on Linux so it would be inappropriate to ask for "Photoshop 7: The Complete Reference") 5) If there were a fifth item it would go here. We have not developed a guide for the review itself so until then you might give Slashdot's book review guide a look see: (slashdot.org/book.review.guidelines.shtml) Send reviews to Ken to be published in the next issue of "At Tonight's Meeting...". Please make the files ascii text only with lines wrapped at 75 characters (to fit an 80 character wide screen). Check out the fmt command. I will use 'fmt -u foo.bar' to format files that do not fit an 80 character screen. This will likely result in mangling of any layout you desire. As noted in the Slashdot guideline, do not fear of making your review too long. You have taken the time to read the book don't wimp out and write a too short a review that does not tell the rest of us fully what you think of the book. The following books are available for review: www.osborne.com www.oreilly.com/catalog/prdindex.html New Riders Press Addison Wesley [ken_i_m: If there is a publisher whose books you have enjoyed for their quality please let me know and I will try to work out an arrangment with them for obtaining review copies.] ||*----- EOF -----*||
previous newsletter || index of newsletters || next newsletter