Thursday, December 3, 2009

In Search of Stupidity or Object Oriented Perl

In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters

Author: Merrill R Chapman

In Search of Stupidity: Over Twenty Years of High-Tech Marketing Disasters, Second Edition is National Lampoon meets Peter Drucker. It's a funny and well-written business book that takes a look at some of the most influential marketing and business philosophies of the last twenty years. Through the dark glass of hindsight, it provides an educational and entertaining look at why these philosophies didn't work for many of the country's largest and best-known high-tech companies.

Marketing wizard Richard Chapman takes you on a hilarious ride in this book, which is richly illustrated with cartoons and reproductions of many of the actual campaigns used at the time. Filled with personal anecdotes spanning Chapman's remarkable career (he was present at many now-famous meetings and events), In Search of Stupidity, Second Edition examines the best of the worst marketing ideas and business decisions in the last twenty years of the technology industry.

The second edition includes new chapters on Google and on how to avoid stupidity, plus the extensive analyses of all chapters from the first edition. You'll want to get a copy because it

  • Features an interesting preface and interview with Joel Spolsky of "Joel on Software"
  • Offers practical advice on avoiding PR disaster
  • Features actual pictures of some of the worst PR and marketing material ever created
  • Is highly readable and funny
  • Includes theme-based cartoons for every chapter
An excellent source of information, analysis and good laughs. It's one of the few industry titles that will give you a large supply of stories to re-tell to other developers over a beer. Chapman's book is also an excellent case study collection of anti-management rules that one should avoid when running a high tech company.

Object Oriented Perl

Author: Damian Conway

Techniques and tricks to master basic and advanced OO Perl for programmers who already have basic to intermediate skills in procedural Perl.


Conway (computer science, Monash U., Melbourne) provides novices and experienced Perl hackers alike with a guide to writing clean, readable, and maintainable Perl programs. The book begins with object orientation and Perl basics, and moves on to topics such as encapsulation, polymorphism, operator overloading, multiple dispatch and persistence. Conway incorporates examples of databases, pattern matching, multiprocessing, encryption, and debugging among others, and he includes transition guides from C++, Java, Eiffel, and Smalltalk. Annotation c. Book News, Inc., Portland, OR (

Development Exchange

Object Oriented Perl is well written and communicates a lot of technical know-how to its readers, both in terms of specific language features and general design concepts. You'll put this book down with more knowledge of modular Perl than you had when you picked it up. Whether object-oriented Perl programming is right for your projects is another question-but there's no better decision helper than Conway's guide.

...a gem of a book...Superbly organized and excellently explained, this is the definitive book on Object Oriented programming with Perl. Judging from the comments of more qualified experts, we agree that this book belongs on the shelf of any serious Perl hacker.

Table of Contents:
    1. What is this book about?
    2. What is object-oriented Perl?
    3. Whom this book is for?
    4. Where to find what you're looking for?

  1. What You Need To Know First (An OO Primer)
    1. The essential elements of OO
      • Abstraction
      • Encapsulation
      • Inheritance
      • Polymorphism
    2. Other OO concepts
      • Genericity
      • Interface vs implementation
      • Class vs type
      • Persistence
    3. A few words about terminology
    4. Where to find out more

  2. What You Need To Know Second (A Perl Refresher)
    1. Essential Perl
      • Scalars
      • Arrays
      • Hashes
      • Subroutines
      • References
      • Packages
    2. Non-essential (but very useful) Perl
      • Modules
      • Autoloading
      • Closures
      • Typeglobs
    3. Where to find out more
      • Books
      • The Perl documentation
      • The Perl Journal
      • Perl on the WWW
      • Newsgroups

  3. Simple Object-Oriented Perl
    1. Three little rules
      • Rule 1: To create a class, build a package
      • Rule 2: To create a method, write a subroutine
      • Rule 3: To create an object, bless a referent
    2. A simple Perl class
      • The code
      • Using the CD::Music class
    3. Making life easier
      • Class modules
      • use strict and the -w flag
      • Automating data member access
      • Documenting a class
    4. Creation and destruction of objects
      • Constructors
      • Destructors
    5. The CD::Music class, compleat

  4. Blessing Variables
    1. What's wrong with a hash?
    2. Blessing an array
      • Reimplementing CD::Music
      • An array-specific example - iterators
      • Where to find out more
    3. Blessing a pseudo-hash
      • A pseudo-what???
      • Limitations of a pseudo-hash
      • Advantages of a pseudo-hash
      • The worst of both worlds?
      • Compile-time support for run-time performance
      • Just how Perl knows at compile-time that a particular
      • Yet another version of CD::Music
      • Where to find out more
    4. Blessing a scalar
      • Why not bless a scalar?
      • An object-oriented password
      • A bit-string class
      • Where to find out more

  5. Blessing Other Things
    1. Blessing a regular expression
      • The qr operator
      • Why an OO regular expression class?
      • Designing a different regular expressions mechanism
      • A closer look at the two classes
      • On the separation of Search and State
      • Where to find out more
    2. Blessing a subroutine
      • So how can a subroutine be an object?
      • Why objectify a subroutine?
      • A lexer object
      • Example: A simple pretty-printer
      • Where to find out more
    3. Blessing a typeglob
      • Paging STDOUT
      • A multiprocess pager class
      • A threaded pager class
      • Where to find out more

  6. Inheritance
    1. How Perl handles inheritance
      • The @ISA array
      • What inheritance means in Perl
      • Where the call goes
      • Constructors and inheritance
      • Destructors and inheritance
    2. Tricks and Traps
      • Naming attributes of derived classes
      • The isa() subroutine
      • The can() subroutine
      • The UNIVERSAL package
      • The SUPER pseudo-package
      • Inheritance and pseudo-hashes
      • Issues related to accessing class data
    3. Example: Inheriting the CD class
      • Applied laziness
      • Class attributes revisited
      • An alternative solution

  7. Polymorphism
    1. Polymorphism in Perl
    2. Example: Polymorphic methods for the Lexer class
    3. The simple pretty-printer objectified
    4. Using interface polymorphism instead

  8. Automating class creation
    1. The Class::Struct module
    2. The Class::MethodMaker module

  9. Operator Overloading
    1. The prob

No comments:

Post a Comment