Profile for John A. Suda > Reviews

Browse

John A. Suda's Profile

Customer Reviews: 124
Top Reviewer Ranking: 15,877
Helpful Votes: 2583




Community Features
Review Discussion Boards
Top Reviewers

Guidelines: Learn more about the ins and outs of Your Profile.

Reviews Written by
John A. Suda RSS Feed (Rochester NY)
(VINE VOICE)   

Show:  
Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11-13
pixel
PHP 5 Recipes: A Problem-Solution Approach
PHP 5 Recipes: A Problem-Solution Approach
by Frank M. Kromann
Edition: Paperback
Price: $33.60
58 used & new from $3.02

18 of 20 people found the following review helpful
4.0 out of 5 stars Nice addition to the php 5 literature, November 30, 2005
With all the books being published recently about PHP a new one will need to find and fill a niche to distinguish itself. "PHP 5 Recipes: A Problem-Solution Approach", published by Apress, has done so, in my view. This is an intermediate-level volume exploring PHP 5 using a "recipe" approach where the basics of PHP 5's functionality are expressed systematically but in a "small-topic" by "small-topic" manner. Cookbook style, each topic is relatively autonomous and can be individually selected, as necessary, for information or review, similarly to how many refer to the "Joy of Cooking" for help on a cooking project. It's a source for instant solutions to common PHP-related problems. There are over 200 such recipes presented.

Each of these "recipes" refers to a small element or aspect of PHP 5 and the presentations contain a brief overview of the topic, an explanation of how the code elements work, and where the code is applicable in projects. Overall, the book covers the whole range of PHP 5 functionality where each major element of PHP 5 is addressed in a recipe explaining and illuminating relevant code elements. You can easily get information about a specific PHP 5 element by going directly to the section of the book where it appears. Even better, the code snippets are designed to allow one to copy and paste them into your own applications or development easily and then to configure them as necessary. All of the code snippets are freely available for downloading at the publisher's website at [...].

There are 16 chapters and an index covering a total of 646 pages. The chapters are organized similarly to other PHP primers, covering the basic elements of PHP - data types, operations, arrays, strings, variables, files and directories, dates and times, functions, and regular expressions. The coverage for much of these concepts is relatively mundane and unoriginal. The discussion of dynamic imaging, however, is an exception. The writing throughout, however, is solid and clear. The book emphasizes the most important elements of new PHP 5. The object-oriented programming elements especially are covered - classes, objects, protected class variables, exception handling, interfaces, and the new mysqli database extension. The authors' discussions focus on PHP 5.0.4, MySQL 4.1, and cover Linux and Windows environments.

The book is directed at PHP programmers looking to learn the elements introduced by PHP 5, and for those looking to find fast solutions to coding problems. It assumes a basic knowledge of PHP. Many of the recipes discuss object-oriented programming and these are some of the more advanced sections of the book. I can say that Chapter 2, which introduces the object-oriented concepts is one of the better explanations of the topic that I've read. The chapter covers constructors, destructors, methods and properties, class diagrams and examples of these concepts at work in code snippets. There are a number of interesting segments containing custom coding of classes as reusable templates from which to create "objects".

The book is well-designed and written. The discussion is clear and logical. The code snippets are well-explained. The authors are experienced programmers and developers, and Good and Stephens have authored or co-authored a number of technical books.

A large handful of the recipes contain "projects", usually appearing at the end of the overview and presentation of code snippets covering the basics of the topics. The projects usually deal with the creation of higher-end classes and objects as solutions to common coding problems. The idea here is to show PHP 5 functionality at work providing useful code sections to be dropped into your custom applications. Chapter Five concludes with a sophisticated class dealing with dates and times issues. Other chapters contain constructions of string, file, graphics, and regular expression classes.

The last five chapters deal with using the PHP code in web applications and services. This material covers cookies (including construction of a cookie class), using HTTP headers, sessions, and using query strings. Much of this material has been covered elsewhere in the many primers on PHP already published. There is a chapter on using forms and an interesting chapter on working with markup. The better chapters are on using DOM to generate markup, parsing XML, using RSS feeds, SOAP, and simple XML. The chapter on mysql is basic, except for the section on creating a "wrapper" class. The last chapter deals with communicating with Internet services, like POP, iMap, and FTP. Another project presented here is one creating object-oriented code dealing with a mail class.

This is a useful book to have in a programmer's library.


Essential PHP Security
Essential PHP Security
by Chris Shiflett
Edition: Paperback
Price: $22.16
77 used & new from $0.01

43 of 47 people found the following review helpful
3.0 out of 5 stars Good overview of php security matters, November 2, 2005
This review is from: Essential PHP Security (Paperback)
You would think that with all of the books being published recently about PHP that everyone and his mother is writing PHP code. This may be true, but even if it is not, it is certain that many people and businesses are using PHP code, in concert with other applications like MySQL, to produce dynamic web sites. This is all well and good because PHP is a high-quality coding language especially well-suited to web applications. It is also open-source, meaning well-supported by a community of coders and developers and cost-free. The one problem is that, like all coding languages, poorly designed or written PHP applications can be security risks potentially allowing Internet miscreants to cause damage to web servers, hosts, and users. It appears to be the case that there are many, many instances of insecure PHP code in use, hence, the value in a targeted book on PHP security, like "Essential PHP Security", by Chris Shiflett.

The author is an internationally-known and accomplished expert on PHP security. He is the founder of the PHP Security Consortium, a group of volunteers who help educate the PHP community, and a well-known contributor to the PHP-general mail digest. The book is designed to provide security information and guidelines and explain the most common types of attacks and how to prevent or repel them.

"Essential PHP Security" is a slight volume of only 109 pages, including index. Shiflett wastes no time and immediately jumps into his topic, starting with his opinion on the use of the PHP concept of "register globals", a configuration setting which he recommends against using in favor of "superglobal arrays". He next turns to how to configure your web server setup to properly deal with error reporting, both for the developer's use and to prevent providing clues to any interloper trying to illegally access your site.

The balance of Chapter 1 itemizes general principles of Internet security: Defense in Depth - redundantly using more than one technique to secure your site; Least Privileges - writing code to minimize access to the least needed for any particular user's needs; Simple is Beautiful - the writing of clear, simple code, to make troubleshooting and auditing easier; and Minimize Exposure - taking steps to design and implement programs to eliminate or at least minimize display of sensitive data or code - don't even store credit card information unless absolutely necessary, he suggests.

Next, comes "Best Practices" - balancing risk vs. usability, keeping track of data, filtering of all input, escaping output, and in all cases, distinguishing between filtered and tainted data. These principles and practices are illustrated with short code snippets comparing insecure vs. more secure code.

The next seven chapters deal with specific elements of a website, the types of attacks that can occur with each, and tips and suggestions on how to deal with these attacks. These elements include vulnerabilities in forms and URLs, databases and SQL, sessions and cookies, PHP "include" files, files and commands, authentication and authorization, and shared hosting.

The author credibly describes by examples the types of attacks against forms and URLs - cross-site scripting, cross site request forgeries, spoofing of forms, and insecure Raw HTTP requests. Authentication attacks include dictionary attacks, password sniffing, replay attacks, and cookie stealing. For each, he briefly describes how the attacks work, shows examples of insecure code, and provides examples of secure code.

For each of the elements dealt with, the author follows the same model: describe briefly the types of attacks against each element, show conventionally-used insecure code, and show how to eliminate the insecure parts of the code. Most of the security defenses entail filtering data from outside sources, especially form input, email, and XML documents from other web applications. Other defense techniques include using SSL for encrypted data transmissions, strengthening identification methods, hard-coding file paths, and using token techniques in addition to PHP encryption functions. Interestingly, Schiflett believes it is impossible to achieve a high level of security in a shared hosting situation. He provides suggestions on what security measures will help the most.

What is most useful about this book is the aggregation in one place of descriptions of all of these security attacks, and vulnerabilities in PHP code, along with suggestions on dealing with them. The organization of the material is good, however. I believe the author falls short in his code examples. There appears to be a disconnect between the descriptive text (which is clear enough) and the examples, which are not, at least to me, a novice in PHP. I could not readily follow the detailed code segments, although I could understand in principle what was going on.

Some of the code segments were barely explained and some were inadequately explained. The concepts of the attacking techniques were understandable, but the detailed implementations were not. There are a small handful of illustrations, but I found them too simplistic and inadequate. To be fair, this may be a failure of the reviewer. More experienced PHP folks may not complain about the presentations. For them, this book gives them what they need to know about handling the security aspects of their applications, but my guess is that it is the less accomplished coders who need the most help (although those same people are probably writing the types of applications and sites least likely to be targeted by miscreants.)

There are three short appendices presenting suggestions on how to configure a PHP installation to minimize weaknesses, suggestions about avoiding certain powerful PHP functions, especially system commands, to minimize risk, and a short segment on cryptography features in PHP.


Podcasting Hacks: Tips and Tools for Blogging Out Loud
Podcasting Hacks: Tips and Tools for Blogging Out Loud
by Jack D. Herrington
Edition: Paperback
Price: $19.72
97 used & new from $0.01

15 of 17 people found the following review helpful
5.0 out of 5 stars Great primer!, October 30, 2005
Podcasting appears to be one of the more interesting developments in current culture and technology. It is one of the earliest nonbusiness representations of the value and power of XML (Extensible Markup Language). XML is subtly and quietly being used to link digital documents together, and more significantly, databases, much like the Internet itself linked individual computers into a global network.

The power of XML is yet to be fully recognized, but its expression in podcasting has far-reaching effects and consequences all by itself. Way beyond extending audio distribution over the Internet and providing relatively easy access for creative types to a global distribution channel, podcasting may alter and extend the distribution of content in ways never experienced before, having repercussions for political communication, social expression, and democracy itself.

Podcasting can be considered, in general, a melding of several elements: digital audio, weblogs, radio, Tivo-like recording/playing devices, and RSS (Really Simple Syndication). RSS is the protocol extending XML allowing creators to publish content to audiences who can easily subscribe and partake remotely in both space and time. It is much more than merely an alternative to conventional radio.

Given all of this asserted importance, the new book, "Podcasting Hacks: Tips & Tools for Blogging Out Loud" is perfectly timed to provide guidance on how to find, listen to, and subscribe to podcasts as well as how to create, publish, and market audio and video content. This is a comprehensive introduction to nearly all aspects of podcasting. It covers not only the technological elements but the content and creative elements as well. Much of the later material draws on analog sources like radio and television broadcasting. Many of the content elements are shared across the technology distinctions. Good interviewing techniques and content stylings, for example, are the same regardless of how produced and distributed. The major theme here is how to produce quality audio which can attract audiences via digital distribution over the now ubiquitous Internet.

The book has 11 chapters covering how to find podcasts, starting out in listening and creating podcasts, producing quality sound, using formats, interviewing, blogging, publicity, basic editing, advanced audio, mobility, and video blogging.

The main author is Jack D. Herrington, a software engineer and developer and technology writer and reviewer. There are 20 other contributors to the book, including journalists, multimedia consultants, radio and video producers, web editors, and podcasters themselves, particularly several who have popularized the medium.

The book has two main focuses - how to find and listen to podcasts and how to produce your own. The later focus consumes most of the book and deals with producing the best sound (with the lowest noise), producing interesting content, marketing, getting involved in the community, and even how to get your audio masterpieces into syndication.

Although this book is part of the venerable O'Reilly series of "Hacks", the 75 "hacks" contained here work more like captions for various sub topics under the podcasting rubric. The book is less a collection of individually-packaged solutions to discrete problems or issues, but a primer on the whole of podcasting.

The first two chapters provide a list of the best and most popular podcasts, and directions on how to search directories of podcasts on the web. Apple's iTunes software broadly popularized podcasting only a short while ago by including a built-in directory of podcasts in version 4.9 of iTunes. How to get and use the right podcaster for your interests is explained, as well as some recommendations of specific applications - iPodder gets good reviews. Hack #2 offers a perl script which allows one to aggregate and rebroadcast feeds from other sources. Hacks 3 & 4 also describe perl scripts to build your own podcasts and to import podcasts into iTunes, (both PC and Mac versions.)

Using perl scripts is not for everyone, but the content of this book is fairly broad, having interest and value for a wide range of technological types, from higher level geeks to the person who is only casually interested in this new technology and content. Throughout, when discussing common software applications, the authors pointedly cover each of the main platforms - Windows, Mac OSX, and Linux and both technical production and content. Hack 10, for instance. is a technological hack; it relates how to create your first podcast using the freeware, Audacity. Hack 11 is a content-related hack instructing how to produce the content of a podcast and how to understand the respective roles of producer, writer, engineer, host, editor, and performer.

Surprisingly, one can get started producing podcasts relatively easily using a very modest amount of hardware and a little software, including mostly freeware or modestly-priced applications. The authors go out of their way in many of the hacks to point out how to select and acquire production materials at low cost. They often recommend specific products and services making it as easy as possible for readers to believe they can actively participate in podcasting with relatively modest efforts and budget.

The segments on formats describes what a format is in terms of duration, structure, content, and production elements. Some of the many types of formats are itemized and described - news, story show, personal show, political, mystery science theatre, music, sports, technology, and news. The segments for each of these contains information on important sources for content, examples of use, and tips for producing content. Each type has its own strengths, limitations, and pitfalls. An overly enthusiastic personal show, for example, can get you fired from your job if your boss accesses and hears something he/she doesn't like. (It has happened more than once, according to news resources).

There is an enormous amount of material presented in this book with excellent attention to details. The audio theatre type of format, for example, includes an itemization of the structure of a typical show - the story, script, studio setup, performances (with directorial prompts), mixing and encoding audio, and even how to make your own sound effects. Hack 33 describes techniques professionals use in producing interviews - types of interviews, location considerations, preparing guests, interviewing techniques, using environment sound ambience, and even microphone techniques. A large handful of the contributors make reference to how to use microphones properly emphasizing the need to control wind, voice pops, environmental noises and the like. There is even guidance on training one's voice for audio (Hack #19).

Virtually every possible element of podcasting is noted in this book. Some other topics include: how to record telephone interviews, including Skype conversations (#34); how to podcast using blogs (with examples of HTML and XML coding); how to manage bandwidth (#39); how to use ID3 tags for your audio to facilitate searches (#40); how to market, connect with the community, and even how to make money while podcasting (#48-49).

More advanced topics are handled later in the book. Learn basic editing using the right audio tools in Hacks#50-58. Hack 61 details how to set up a home studio. A very interesting section tells how to be mobile while podcasting including making a small recording rig for travel as well as podcasting directly from your car while driving. (Sounds unsafe to me and illegal in some states, as noted by the authors). Other sections take up, directly and at length, the legalities of podcasting covering copyrights, libel, licensing, and more. An interesting explanation of "Creative Commons" licensing is contained in #67- 68. To cap it all off, there is a useful glossary of digital and analog audio terminology and an index.

As you might expect, given the presence of 21 contributors, not all hacks are as good as some, and there is considerable repetition of some elements, like microphone handling, production concepts, and others. However, these are small quibbles for such an information- packed volume of modest cost.


The Definitive Guide to MySQL 5 (Definitive Guides)
The Definitive Guide to MySQL 5 (Definitive Guides)
by Michael Kofler
Edition: Paperback
Price: $34.10
81 used & new from $0.01

12 of 14 people found the following review helpful
4.0 out of 5 stars Definitely a definitive guide, October 30, 2005
"The Definitive Guide to MySQL5 3rd Edition" certainly deserves its title. It is a large, dense, complete guide to MySQL and updates its predecessor edition by covering new MySQL5 and new auxiliary software including database administration tools and interfaces. MySQL is the open-source database software which has become very popular for web-based database applications now being used by Yahoo, NASA, Slashdot, and other entities.

The author of this book, Michael Kofler, has a Ph.D. degree in computer science and is an accomplished writer of technical books. The audience is intermediate to high-level database designers and programmers. Although the presentation assumes little prior knowledge of MySQL and databases, it does assume a good amount of contact with and knowledge of programming languages. The topic of this book does not lend itself to an easy, flowing writing style. Reading through this complex material is like chewing on heavy New England pound cake. That is not a criticism of the author as he thoroughly presents the topics in a comprehensive, workmanlike, textbook-like manner. The discussions of databases and MySQL features are lightened by numerous table, charts, graphics, and examples of relevant matters.

The updating from the 2nd Edition of "The Definitive Guide" involves the upgrade of MySQL from version 4.1 to 5.0 which now provides support for Unicode, the sub-SELECT and GIS functions, improved authorization features, addition of stored procedures, and other new commands and server options. It also includes discussion of new or updated auxiliary software used with MySQL, like PHPAdmin and new interfaces for Open Office, Star Office, and Apo.NET.

There are six parts with twenty-three chapters and 3 appendices, amounting to 748 pages with index. The parts entail an introduction to MySQL and databases, administrative tools and user interfaces, fundamentals of database design, programming using MySQL, and detailed content references. The appendices include short segments of a glossary, bibliography, and notes about the sample code files available for downloading from the publisher's website at [...]

The beginning chapters introduce the basic concepts of MySQL including its client-server architecture, tables, fields, queries, keys, and the distinction between relational and object-oriented databases. The author focuses the bulk of the book on relational databases. The many features of MySQL are itemized and other matters like licensing and setting up test environments are discussed. A large segment of this early material offers instruction on installing under Windows and Unix/Linux platforms and configuring the installations for function, usability, and security. An introductory example of building an opinion poll application with PHP is provided.

Chapters 4 - 6 cover a number of administrative tools to use with MySQL, including mysqladmin, mysqldump, and PHPAdmin. The author spells out how to install and configure, set up user management and security, create and edit databases, import and export data, and use auxiliary functions, among other things.

The best chapter, in my view, is Chapter 8 on database design. The technical aspects of databases are well-covered, like the various table types and data types, but the more theoretical aspects are noted in some length. There is some art in creating databases and tables which is above the technological. Correct design with related tables is crucial to efficiency, ease of use, accuracy, ability to revise, and consistency. A segment on "tips and tricks" in database design is especially interesting.

The bulk of Part 3 contains a comprehensive presentation of SQL features, syntax, configuration, and security issues, The new functions of version 5 are explored, like GIS and stored procedures and triggers. A section on transactions for advanced users and setups is nicely done. For novice users, mention is made of the "...I-am-a-dummy" option which warns and provides a second chance to avoid inadvertent updating or deleting of a table. Chapter 14 is all about maintenance issues - backing up, importing, logging, and replication.

Part 4 deals with how to combine MySQL with programming languages like PHP, perl, Java, C, Visual Basic, and Visual Basic.NET. Each is treated similarly - detailing features, concepts, syntax, and programming techniques. Most of the attention is given to PHP, which is described as a natural companion to MySQL for use in developing dynamic web applications.

Chapter 21 is a comprehensive SQL reference of operations, functions, data types, variables and constants, and commands. There are a large number of charts and tables to bring order to the dense material. Chapter 23 contains material on the various API's which can interact with MySQL. These include PHP.API, perl.API, JDBC, ADO-net, and C.API.

For those with a need to know, and those with a desire to learn MySQL, this volume contains nearly everything you would want and expect, not only about MySQL itself but about the software that interacts with it or web servers. The author deserves credit for presenting the dense material in a thorough and orderly manner.


Core Web Application Development with PHP and MySQL
Core Web Application Development with PHP and MySQL
by Marc Wandschneider
Edition: Paperback
Price: $38.29
58 used & new from $0.13

39 of 40 people found the following review helpful
4.0 out of 5 stars Nice strategic overview, October 30, 2005
"Core Web Application Development with PHP and MySQL" is an intermediate to advanced-level guide for programmers and developers. It bills itself as "everything one needs to know about building robust database applications". That is a bit of puffery but this is a comprehensive practical guide for designing and building production-quality, database-enabled applications.

The author is an open-source platform expert and software developer. He comes from a background of working with standard desktop Windows-based applications and made the transition to building dynamic web applications. His experience in making the transition informs this book as a comprehensive explanation of how to use the various technologies that go into writing web applications. For those making similar transitions, this is a very fine presentation done by a thoughtful, systematic designer. For those already busy in the PHP/MySQL area, the advanced level of instruction is likely to be valuable.

The emphasis is on open-source applications, particularly PHP5 and MySQL in an XHTML/Javascript environment. But, beyond technologies, the author's focus is on the strategies and systematic approach one needs to design and implement successful web applications. He writes for an advanced audience which is already basically familiar with programming and XHTML. Those writing or planning dynamic web applications will benefit most from the book.

There are 33 chapters in five parts - basics of PHP, database basics, planning web applications, implementation, and sample projects. There are three appendices covering installation and configuration of PHP, MySQL, and other related open-source applications like Apache, a set of charts of database function equivalents among the leading database types - MySQL, Oracle, PostgreSQL, Microsoft SQL Server, and a short list of recommended reading.

This is a large format book of 912 pages, including index. My reviewer's copy is a prepublication version containing grayscale graphics and much white space, especially around the code snippets, making reading easy and comfortable. Although the material is high-level and technical, the writing seems light and casual. Wandschneider's writing style flows easily, never bogs down even with technical details, and the book reads much faster than one might expect.

Although the best part of the book contains the three start-to-finish sample projects at the end - a calendar system, weblog engine, and e-commerce store, the lead-in chapters are nicely done, too. Chapters 1 and 2 are about getting started in PHP. There is a brief comparison to perl and C++, but the bulk is about PHP terminology and programming concepts. Much is made of PHP5's new object-oriented features, but the discussions of that here (and in Chapter 4) was about the only parts which I feel needed more clarity - the rest of the chapters are very clearly stated and contain plenty of good examples.

Chapters 3 - 7 continue with scripting concepts like functions, classes, arrays, strings and characters. The discussion is not designed to instruct comprehensively about PHP itself but works on a higher level of showing how PHP interacts with MySQL and other technologies on an overall basis. You can get detailed PHP coding instructions elsewhere. Chapter 6 contains an unusually good discussion of character sets, usable for global applications, and provides instructions on configuring Unicode and multi-byte support for high-level applications.

Part 2, Chapters 8 - 12, take the same approach to MySQL and databases in general. They include discussion of basic terminology and concepts, designing and creating databases, storing and retrieving data, PHP-to-database connectivity, and advanced topics, like use of "transactions" and advanced querying.

Part 3, Chapters 13 - 17, deal with the server-side matters. Again, the level of presentation is not on comprehensive details of PHP, MySQL, and web services, but present a comprehensive overview to guide planning, design, and implementation. Here the author states overall design considerations of a website noting how to incorporate CSS, HTML, code libraries, user interfaces, and web services into a working dynamic website.

User management and security concerns are noted throughout the book and Chapters 14 - 17 deal specifically with validation, and software and hardware security, including tips on how to secure your server. These passages on security are some of the better and clearest written I've experienced in this area.

Part IV continues the systematic approach to website construction discussing error handling, debugging, cookies, and sessions (again some of the clearest explanations I've read), authorization, and data validation with regular expressions. Chapter 21 is entirely about globalization and localization that is, dealing with the fact that the Internet is global and that there is a need to deal with foreign language sets. There are tips on how to determine users' locations and how to script to account for different language sets, including Unicode.

Chapters 23 and 27 are about XML and are especially useful now that XML and XHTML are becoming the reigning protocols of dynamic web activity. There is an extensive sample of using XML to work with the Google API. Using XML with PHP is an advanced topic and it is only generally covered here, together with XML web services and SOAP. Other chapters cover the use of extensions to PHP, like PEAR, developing a coding "style", creating test suites, configuring PHP.ini, and more. The three working examples are extensively commented and contain complete code examples.

The book comes with a comparison CD-ROM containing all of the sample code, and versions of PHP5, MySQL, and Apache HTTP server.


Watching My Friend Die: The Honest Death of Bob Schwartz (American Catholic Experience)
Watching My Friend Die: The Honest Death of Bob Schwartz (American Catholic Experience)
by Mark Hare
Edition: Paperback
Price: $8.96
35 used & new from $0.01

3 of 3 people found the following review helpful
5.0 out of 5 stars Nicely written book., July 24, 2005
Mark Hare's "Watching My Friend Die: The Honest Death of Bob Schwartz", is a remarkable little book. Ostensibly, this is a story book of a mere 142 pages, well-told, about the lingering death from pancreatic cancer of a well-loved Rochester, NY teacher and songwriter at the tender age of 49. But it is also a story about the author's candid personal reactions to the circumstances of his friend's death and his introspective musings about death, faith, and life choices. The thoughts and questionings expressed are rightly thought by the author as more than just his own but likely to be experienced by others in similar circumstances, hence worthy of being expressed in a book. Hare's introspection results in some positive realizations for him, like the value of hope, community, and his Catholic faith. Hare is liberal enough to believe that these things may or may not be similarly valued by others, but he makes the case that one can learn a great deal about life choices from the experience of death. The book is part of a series published by ACTA Publications of reflections of lay Catholics on what it means to live out the Catholic faith in the midst of life's joys and challenges.

What initially fascinated the author about the death of Bob Schwartz was how Bob refused to die what some would call "the good death"; that is, an accepting, contemplative, deliberate windup of one's life and relationships with others. It implies a quiet expiration where the dying one tries to make the least demands on his care givers.

There was none of this for Bob Schwartz, an ebullient man who cherished life, lived life fully, and did not want to see it end. He refused to accept the inevitability and immanence of his death and acted to the end as if he would never accept it. This attitude placed increased and extraordinary demands on Bob's family, friends, and care givers. It seemed selfish in a way. It was not a "good death" by conventional understanding.

The author's primary theme focuses on a comparison between the so-called "good death" and Bob's type of death. Bob was true to himself, his history, and his nature. For him to do it any other way would have been personally dishonest. For a man who lived a good, community-oriented, selfless life, to give up on that attitude would be difficult and wrong. Hence, the admiration of Bob's way by those who observed his difficult demise, despite the hardships. Bob's death, like his life, was honest, and despite the difficulties of his death process, his way of dying was probably the best choice for him. In his case, an honest death trumped the virtues of the "good death".

For anyone who has experienced closely the lingering death of a relative or friend, it is no surprise to learn of the availability of a huge number of personal memories and journalistic pieces about the experience. It certainly is one of the most impactful, poignant, challenging, and provocative experiences one can have. Hare's description of the honest death of Bob Schwartz involving the tragic alteration of Bob's expectations and wants, the effects on his family and his large community of friends and associates, the gritty details of his physical decline, and the emotional moments of the entire 22-month process would be, all by itself, a worthwhile read.

Hare is a natural storyteller, being a community columnist for the Rochester Democrat & Chronicle newspaper. He writes several columns per week framing stories based on local news, events, and topics relevant to the paper's readership. Like a knowledgeable and experienced photographer who understands he "makes" pictures rather than merely "takes" pictures, a good story writer like Hare "makes" a story, not just by topic selection, but by the shaping of the story, entwining factual elements with more general themes of community history, morals, and values, and relating a message (or messages) for the readership to consider. He has the ability to express himself in very accessible language written for the "average Joe", and has a very economical writing style, using the fewest words and phrases to express ideas and events. Each word and phrase appears to be carefully weighed and chosen to perform its literary function. There is an "Everyman-like" quality of expression to a community of "Everymen" readers.

But beyond the story of Bob's life and death, there is the parallel story of Hare's participation in the process of Bob's dying and how it affected him. The author is unusually frank about his feelings and thoughts during his participation in Bob's lingering death, a man of his same age. He feels compelled to question his own life and expectations about the "good death". He relates his innermost feelings on a variety of the experiences Bob was undergoing and asking himself over and over again, would he, if he was in Bob's position, make the same choices. If not, what choices and whose choices are better? Hare is intellectually honest enough to know that no one can answer those questions for anyone else, but that each individual has to decide for himself.

He comes to a realization that maintenance of honesty and sincerity is more important than the conventional virtues of a "good death". More importantly, Bob's way of dying helps to illuminate a person's understanding of life. Bob's life and his inability or unwillingness to accept death provides lessons for the living. What matters most is how one chooses to live one's life. And, choice is a paramount concept for all of us. You can say that, in effect, Bob chose his own way of dying - an admirable, honest way of dying. Bob also made good choices in his life, proven by the existence of his supportive family, huge number of friends, and acquaintances who believed he was a great person. Obviously, the author was impressed enough to tell Bob's story in this book.

"Watching My Friend Die" is more than the simply- stated stories of Bob's choice of dying and Hare's reactions to it. Barely noticeable among the story lines are slight threads of humanism and existential themes. Hare describes the very human beliefs, emotions, psychology, and physicality of the dying protaganist and those others involved in the experience. People have complex and conflicting responses to their life experiences and the personal responsibility they have in life outcomes including the death experience. There is, maybe, like in Bob's case at his very end, uncertainty and doubts about even the most important things including the existence and nature of God. One tends to develop enhanced recognition of the personal choices in both life and death available to each of us.

Throughout there are questions. There are also answers, at least for Hare. His answer is faith, primarily expressed in Catholic concepts, but in actuality touching upon spirituality in general. He emphasizes the value of his own personal faith in God and in the "Community of Saints" - that group of people both living and dead who provide support for those faced with tragedy and death.

For such a slender book, this work layers the interesting story of Bob's noble death, a story of the author's learning about himself through his experience of Bob's death, and some universal philosophical themes about life and death. The author states that he writes to make some difference - to try to help others in the community to improve their own lives. This well-written, accessible book seems to be an ideal choice for reading lists for educators teaching about such important topics as death, religion, and existential and humanist philosophies.


Spring Into PHP 5
Spring Into PHP 5
by Steve Holzner
Edition: Paperback
Price: $30.16
76 used & new from $0.01

5 of 6 people found the following review helpful
3.0 out of 5 stars Good primer on PHP 5, May 26, 2005
This review is from: Spring Into PHP 5 (Paperback)
"Spring Into PHP 5" is a primer on the latest version of the popular server-based scripting language, PHP. It is part of a new "Spring Into" series of books from Prentice Hall which intend to provide concise, fast-paced tutorials for new and developing technologies primarily for non-professionals and those professionals who need or want a quick and easy way to transition to new technology.

The author, Steven Holzner, is a prolific writer on technology, having penned 88 programming books as well as being a contributor to PC Magazine. His intent here is to make a technological topic like PHP scripting accessible, especially for novices who have little familiarity with web-related language other than HTML. He states an intent to produce "as good a book on PHP as can be". This is a good book but lacks depth and completeness and does not cover many practical uses of PHP. There is minimal discussion of security issues. There are other publications which would complement this book. The examples of PHP scripts are very simple and sometimes not practical.

The structure of the book is represented in nine chapters covering the basics of PHP for web designers. Each chapter is separately divided into "chunks" - bite-sized pieces of material - supported by examples and illustrated code snips. Each chunk is only about 1-2 pages long and is meant to be a self-contained "module", while building upon others in the book. Downloadable code examples are available at (...).

Holzner starts by briefly describing the why and how of PHP and quickly moves to installation issues. The following chapters cover the essentials of using PHP on a modest-sized website. The concepts of PHP are explained first - the terms, operations, syntax, components, and more.

Chapter 3 discusses strings and arrays. Chapter 4 covers functions. Chapter 5 and 6 show how to use PHP to control web pages, web forms and user interactivity. The usefulness of PHP for connecting to and using databases is noted.

Later chapters cover object-oriented programming, file handling, and working with databases. The final chapter skims a handful of useful aspects of PHP programming - using cookies and sessions, the ftp and mail features, and more.

Perhaps the most useful parts of the book are the two appendices. Appendix A is a listing of PHP's language elements. Appendix B is a comprehensive reference of PHP functions.

This is a rather light introduction to PHP, primarily for novices. There are useful tables of string and array functions and illustrations or examples on nearly every page. The illustrations and examples are produced in grayscale instead of full-color, but there is no need for full-color glossy production elements in a book of this type. The cost savings are reflected in the book's price - only $29.95 - less than others covering the same or similar material.


Spring Into HTML and CSS
Spring Into HTML and CSS
by Molly E. Holzschlag
Edition: Paperback
Price: $23.80
82 used & new from $0.01

10 of 11 people found the following review helpful
3.0 out of 5 stars Good intro to standards-compliant web design, May 26, 2005
"Spring Into HTML and CSS" is another in the series of quick primers from Pearson Education, Inc. about contemporary technologies, designed for non-professional website designers and developers. The author is described as one the "top 25 most influential women on the Internet", having 30 books to her credit as well as being an influential thinker.

What is called "HTML" here really means "XHTML" and this book is one of a number currently promoting standards-compliant web design using XHTML and CSS. Like the others in this series, this book is written for quick reading of short 1-2 page "chunks" detailing one of a large handful of topics related to contemporary webpage design promoting adherence to the World Wide Web Consortium standards and will have its most value for less-technically experienced web designers..

Ms. Holzschlag starts right from the top - describing the logical construction of a web page using the now-required "Document Data-Type" header and proceeding through the usual Head section to other page objects. These objects include text paragraphs, links, images, media, and tables which are styled with CSS. Basic CSS concepts are explained and examples of styling include styling text and tables, forms, layouts, positioning and more.

Nearly every page contains sidebars of related items, illustrations, or code examples. Strangely, some of the examples involve color settings for backgrounds, lines and text but the illustrations are all gray-scale color. No matter, as the examples are simple and clear enough. There is appropriate note of browser-compatibility issues and how to work around them.

The 13 chapters are supplemented by long, comprehensive annotated references of XHTML 1.0 and CSS 2.1, containing over 70 pages all together. Downloadable code examples are available at (...).

This is a light introduction to the subject matter with fast-paced writing and is well-populated with examples.


Digital Audio Essentials
Digital Audio Essentials
by Bruce Fries
Edition: Paperback
Price: $26.41
62 used & new from $0.01

9 of 9 people found the following review helpful
3.0 out of 5 stars Good intro to digital audio, May 22, 2005
Like just about everything else, music, radio, and sound are being swept into the digital revolution. Consider the current and recent cultural rages - the iPod, MP3s, podcasting, satellite radio - which all are digitally-based.

Bruce Fries and Marty Fries, in a new book from O'Reilly Media, Inc., "Digital Audio Essentials", describe what is happening now with digital sound, how and why digital formats and transmissions are replacing analog versions, and how consumers and music fans can use and experiment with digital sound and music. In addition, they explain how best not to be subject to a Summons from the recording industry for improper activities with digital music. Downloaders and file-sharers take note!

The authors are technology consultants, with specializations in digital sound. They very broadly cover nearly all aspects of the transformation from analog to digital sound. In five parts and seventeen chapters, this book provides a historical perspective on the technological developments propelling the digital sound revolution, comprehensive coverage about the acquiring, listening to, creating, editing, playing, streaming, organizing, and sharing digital compositions, and mixes in a heavy scoop of material of the evolving rights, duties, and responsibilities arising from the legal system regarding usages of the new technology. I presume the heavy publicity about the recording industry's crackdown on music file-sharing has created a sense of seriousness about this business.

There is a large amount of information being provided in this book about nearly all aspects of digital sound. The topics are covered generally and broadly, without great depth and are written to be easily understood by primarily digital sound novices. Consider the book a primer for listeners, creators, and users of digital sound. For nearly all aspects of the digital transformation, the authors provide some background and history of the changes, some light scientific material about digital technology and the physics of sound, handfuls of helpful tutorials on the use of some of the most popular software applications, and provide some hardware and software purchase/recommendations, while steadily throughout noting the legalities of each aspect.

The software discussions encompass both Mac and PC applications and a number of sections detail enough about programs like iTunes, Music Match, and Media Jukebox, to allow one to create playlists, burn them to CDs or DVDs, and make MP3 files. The discussions about hardware include speaker selections, soundcards, cabling and connector types, as well as how to select a suitable portable music player and accessories.

The most practical material covers how to choose an online music retailer or subscription service, and what features to most consider in purchasing a portable music player and, in Chapter 14, details how to digitalize your record and tape collections. There is guidance on how to even improve sound quality using sound editors to control hiss and noise, and crackle and pops.

I was intrigued by the chapter on setting up your own internet radio station, which appears to be surprisingly easy. The authors note the existence of commercial hosting services and software packages which make things as easy as they can get for a novice internet DJ.

The final chapter is entirely about copyright law and includes, among other things, nine examples of how one can go afoul of the laws of copyright. There is a quick guide to prevailing U.S. copyright laws for your study and a useful glossary of digital sound terms.


Extreme Photoshop CS
Extreme Photoshop CS
by Matt Kloskowski
Edition: Paperback
Price: $34.16
51 used & new from $0.01

10 of 12 people found the following review helpful
5.0 out of 5 stars Wonderful and inspirational!, May 5, 2005
This review is from: Extreme Photoshop CS (Paperback)
Photoshop has been known for years as one of the most capable and powerful software packages available. Each iteration to the present Photoshop CS version has gotten more and more powerful and feature-rich. For many people, Photoshop is frighteningly hard to learn and use beyond mere photo editing - tonal and color adjustment, cropping, retouching, and the like. However, for those who know how to take advantage of its power, it is an amazing tool for creating original images.

Matt Kloskowski, the author of "Extreme Photoshop CS", is one such knowledgeable person. In the small handful of creative exercises contained in the book, he demonstrates how creative and efficient one can be with Photoshop in producing original realistic and photo-realistic images. There are nearly a dozen extended-length exercises in this handsomely-produced, well-illustrated, full-color book of 401 pages (including index). Each exercise is a step-by-step demonstration of the use of some of Photoshop's many tools and features by a master creative artist to make realistic and cartoon and comic book-style images. The book's text and illustrations about Photoshop CS will make sense for both PC and Mac users.

Make no mistake about it, even thorough and expert knowledge of Photoshop itself is insufficient to create such images. Software tools, even great ones, cannot substitute for the "artist's eye" and artistic talent. In one exercise early in the book, the author shows step-by-step how to create a photo-realistic image of a fishbowl illuminated by natural light from a blank canvas using Photoshop tools requiring a bare minimum of what we conventionally think of as artist's skills - drawing, brushing, and texturing. There are 49 steps in creating the finished fish bowl, and even for novice Photoshop users like myself, each and every one seems fairly simple to duplicate. No special manual or advanced graphic software talent seems required. However, taking a step back and comparing the blank canvas starting point to the finished product produces a sense of wonderment. There is no way a novice user like myself could create such a finished product without the actual step-by-step guidance of an accomplished artist. The untrained or unskilled artist-wannabe could hardly perceive, artistically, the structural perspectives, lighting patterns, reflections, refractions, and more - much less produce realistic results even with Photoshop's wonderful tools.

Kloskowski is an established illustrator and graphic designer and an Adobe-certified expert. He has written several design-related books, as well as written columns for the National Association of Photoshop Professionals, Mac Design, and other publications. In this book, he shows how Photoshop can aid those already blessed with an innate or trained "artist's eye" to produce high quality images quickly and efficiently. This book is not meant to be a traditional user's manual on Photoshop. Although a fair number of tools and features are described and explained, there is no thorough exploration of all that Photoshop has to offer. This is also not a book on how to draw or paint or even "see" like an artist. It is more of a blending of these themes to demonstrate how Photoshop is useful for people who have not experienced the power of digital tools.

This book is not intended to make anyone an expert on Photoshop itself. The author merely states what tools, settings, and work flow sequences he uses to make his images. There is more of a demonstrative or inspirational intent here than teaching detailed knowledge of the software.

Instead, the author describes how to use the software to quickly and relatively easily create (for experienced Photoshop users) a variety of image types. For each type, but especially for the realistic and photo-realistic styles, Kloskowski elucidates the traditional artistic elements necessary to make 2D productions which imply 3D scenes. For nature images, for example, he describes the need for perspective (linear and atmospheric), shadows, reflection, depth of field, and color rendition. These are the artistic building blocks of an effective image. From that basis, he demonstrates which tools and features of Photoshop are most relevant for implementing those effects.

A secondary theme is an emphasis on being efficient in building an image. Perhaps it is the author's business and client-related experience which has focused him on the quick and efficient production of images. This is accomplished by planning the construction of images with future editing in mind and the reusability of components of an image, including constructed shapes, patterns, adjustment layers, and more.

"Extreme Photoshop CS" has four parts which detail how to create original art from scratch emphasizing a number of different styles - realistic, photo-realistic, realistic 3D, cartoon and comic book looks, icons and emoticons, silhouette, wireframe illustrations and stylized photo images. The most used tools include the pen to create vector shapes, the brush to add textures, and the blending modes for tonal and color adjustments. When used by an expert, surprisingly few of Photoshop's many tools are needed to create realistic original images.

Part One focuses on tools and techniques to create realism. Complementing the information on the relevant tools and settings is discussion of how to create lifelike scenes on a two-dimensional surface. The key is in the artist's understanding of how to create the illusions of depth, motion, and texture utilizing traditional artistic concepts of perspective, light and shadow, relative spacing, color relationships and the like.

Part Two moves into a different type of realism - cartoon and comic book styles. Here, the intent is not to create "trompe l'oeil" realistic or photo-realistic but to make stylized natural imagery for different looks and effects. Here the most relevant tools are the pencil and various selection tools. The blending of aesthetics and computer is again shown in the extended presentation of what Kloskowski calls the "mathematics of pixel art". Here he shows how to use defined shapes, grids, angles, and layers to precisely structure parts of images and to create custom text.

Chapter Six contains two shorter exercises on how to create anthropomorphic icons and emoticons. In less than two dozen steps each, he creates remarkable images using a small handful of PhotoShop tools. It is the combination of software and artistic skill which is inspiring. Chapter Seven contains descriptions and examples of a variety of cartoon and comic book styles and an extended exercise in creating a manga-style cartoon character.

Part 3 demonstrates advanced illustration techniques using Photoshop. The aesthetic subjects are silhouettes, wire frame, and stylized photographs. Part Four shows how to create retro and vintage art images including art deco, Bauhaus/Constructivist, and pop art -Roy Lichtenstein and Andy Warhol style. The final chapter describes how to build a reusable library of retro design components, such as shapes as building blocks, fonts, patterns, and color palettes.


Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11-13