Dialogue on Oracle8i New Features Examples from OReilly Media site

  • feed_items
  • block_1

I decided to copy the discussion thread from O'Reilly in case it goes away at some point....

I Don't Like Your Examples!


I have been writing books about the Oracle PL/SQL programming language for
the last five years. In 1999, O'Reilly published my fourth book, Oracle PL/SQL
Programming Guide to Oracle8i Features
, which created a bit of an
uproar among my readership, caused considerable discussion within O'Reilly,
and led to my writing this article.

Why did this book cause a sensation? Consider this excerpt from
Chapter 2:

Let's look at a simple example. Suppose you are responsible for building a
database to keep track of war criminals for the International Court of
Justice. You create a package called wcpkg to keep track of alleged war
criminals. One of the programs in the package registers a new criminal. You
want that register program to always save its changes, even if the calling
program hasn't yet issued a COMMIT. These characters are, after all, fairly
slippery and you don't want them to get away.

The package specification holds no surprises; the transaction type is not
evident here:

    PROCEDURE register (
        culprit IN VARCHAR2, event IN
END wcpkg;

The package body, however, contains that new and wonderful pragma:

    PROCEDURE register (
        culprit IN VARCHAR2, event IN
        INSERT INTO war_criminal (name,
(culprit, event);
END wcpkg;

And now when I call wcpkg.register, I am assured that my changes have been
duly recorded:

    wcpkg.register ('Kissinger', 'Secret Bombing of

Now, I expect it's not every day you pick up a technology text and read
a charge that Henry Kissinger is a war criminal for the secret bombing of
Cambodia. The examples I used in this book, in fact, were dramatically
different from my earlier texts--and from just about any technology book
you can buy. Here are some of the other topics I incorporated into my text:

  • Excessive CEO compensation--and excessive, destructive layoffs
  • Union-busting activities
  • Positive role of unions in society
  • Police brutality
  • NATO bombing of civilian targets in Serbia
  • Managed Care
  • National Rifle Association and gun control
  • The prison industry
  • Slashing social programs to finance tax cuts

I did give my readers ample warning. Here is a section from the preface
titled "About the Examples."

"I've been writing intensively about PL/SQL since 1994, and I have a
great time doing it. At the same time, I must admit that I have
simultaneously grown a little bit bored with using the same set of
examples again and again (yes, those infamous emp/employee and
dept/department tables), and I'm also very concerned about the state of
the world as we approach the end of the twentieth century. Sure, things
could be worse, but things could be a whole lot better (with my
examples and the world).

"Given these twin preoccupations, I have decided to offer examples that
are decidedly different from the usual. I'll be talking about topics
ranging from the state of health care in the United States to the
strength of the gun lobby, from wage structures to environmental
issues. I believe that even if you don't agree with the positions I have on
a particular issue, you will find that this "breath of fresh air" approach
will help you engage with the technical material.

"I would also be very happy to hear from you--whether you agree or
disagree!--and I encourage you to visit my Web site, at www.StevenFeuerstein.com, where you can
read more about my life and viewpoints and can get in touch."

How Fresh is That Air?

Though I thought these examples would be a "breath of fresh air," some of my
readers felt that the air stank. Here are some typical responses:

Dear Mr. Feuerstein,

I, thankfully before buying the book, was able to peruse a copy
of your latest PL/SQL programming book. I think you have
forgotten one basic principle when you planned the examples.
This was supposed to be a book about PL/SQL, not blatant
sociopolitical rantings. If I had bought the book, I would be
returning it immediately for a complete refund.
It doesn't matter whether I agreed or disagreed with your views
(in some cases I agreed, in some cases I strongly disagreed). I
found the examples so distracting that I was unable to get the
information I needed out of the book. Please in the future,
remember that we, the book buyers, are looking for information
about using PL/SQL. I am as tired of the emp and dept tables
as you are, but less distracting examples would have been more

Personally, I am no longer buying your books nor am I
recommending them to my clients as long as they contain the
types of examples you used in your latest books. I cannot, in
good conscience, recommend them as PL/SQL manuals
because the examples removed the books from that category.

I have to admit, getting emails like these has not been fun. Here's another:

I have just been shown a copy of the Guide to
Oracle 8i Features
and to be quite honest am embarrassed
on behalf of the O'Reilly publishing company. It is well-known
throughout the industry that O'Reilly books are said to be the
bibles for technical reference. I am appalled at the liberty
that Feuerstein has taken in imposing his personal
beliefs throughout the text and examples and am even more
appalled that O'Reilly allowed this kind of content to be
published. It is highly offensive regardless of freedom of
speech and Mr. Feuerstein's belief system and to choose such
an unwilling audience is absurd! I will not buy this book and
will tell each and every person I know in the industry to do the
same. I will as well be cautious when purchasing and or
recommending any other O'Reilly technical reference books.
This is not the forum for this kind of content!

You get the idea. Now, I should also mention that:

  • I have received at least an equal amount of emails praising this
    particular book, sometimes for the political content explicitly, sometimes
    simply for the technical content, indicating that my choice of examples was
    not problematic.
  • O'Reilly & Associates reviewed the book's content and its lawyers
    did recommend making a few changes. (They didn't, for example, want me to
    explicitly and blatantly accuse a sitting governor of bribery.)
  • This book became a subject of active debate among O'Reilly editors about
    what limits, if any, should be placed on an author's desire to include
    possibly controversial examples.
  • Tim O'Reilly and I talked about this subject at length and he thought that
    it would make a great topic for public discussion. So here I am!

All the negative--in some cases strongly negative--feedback I got sent me
back to the book to examine the content and ask myself some questions:
Was I wrong to include this content? Why is it so difficult for people,
especially those in the United States, to hear viewpoints that make them
uncomfortable? Would I be willing to put these kinds of examples in my
"bestseller," the foundation of my series, Oracle PL/SQL
, and take a chance at putting off readers? Were my
examples full of opinions or facts? Can I really separate the two? And what
about the examples in all those other books (mine and the several hundred
other Oracle books, and thousands of other technical books)? Are they all
free of political content?

Democracy and Political Discourse

As I work on this article, I am flying back from a week's teaching in the
United Kingdom. As is usual when I spend time outside the United States, and
particularly in the U.K. (where I can understand the language), I am struck by
the open political discourse--and open challenge--in the media and among

It seems to me that one part of having a true and vibrant democracy is the
free flow of ideas and active debate among neighbors on the crucial issues of
our day. Does that go on around you? I sure don't experience it in my neck of
the woods. On the contrary, I find that, in the United States, very few
people are willing to talk "politics." It is, along with the topic of money
and sex, generally veered away from in trepidation. Better to comment on the
weather and sports.

Where would such an attitude come from? Much of any individual's behavior in
society is patterned after what she or he perceives to be acceptable. Most of
us do not want to stand out as different, and certainly not as
"troublemakers." What determines acceptability in our society? To a large
extent, the mass media.

Reflect on the television, radio, and print media reports you receive: How
often do you see real political debate, crossing the entire spectrum, taking
place? How often do you hear a member of the media truly challenge politicians
and business "leaders" to justify their policies and actions? I believe that
very little real debate ever takes place and our journalists, especially the
high-profile ones, treat those in power with kid gloves. Sometimes it seems
like there is a debate going on (within a T.V. program like "Crossfire," for
example), but in fact that debate is missing/ignoring/silencing a large swath
of viewpoints: pretty much anything to the left of Bill Clinton.

As a result, it is very difficult to talk politics in our society--especially
if your politics are anywhere to the left of center. And it is almost
impossible to present an informed, sophisticated critique of the role of
global capitalism in the world today.

Now, you might well say to yourself, "Who cares?" You like global capitalism.
You don't think it's all that bad, or at least you don't care if a few hundred
million people are paid pennies for their labor. And, well, you don't
want to talk politics. That's fine. That's your choice. But I also
believe that almost every technology book we buy and read is full of

The Hidden and Prevailing Ideology

I believe that just about every technical book comes with a body of politics,
an ideology that governs and usually restricts its example set. We don't
notice the political slant because it reflects the dominant viewpoint in our
society and is thus invisible.

After reviewing many books, I feel comfortable in summarizing the vast
majority of texts as having these characteristics:

  • Business-centric: Most examples used in technology books focus on
    how to make business work more efficiently, regardless of its impact on human
    society and the world as a whole. As a result, we constantly read about
    human-resource or personnel systems. And while examples frequently touch on
    education, these applications have more to do with managing students (the
    business side of education) than with improving the quality of education
    those students receive. All of this seems perfectly "natural" since the vast
    majority of technology is used by businesses to make profits. But does it
    have to be that way?
  • Consumer-oriented: Many, many examples promote the perspective
    that the only reason we exist in this world is to buy things. Just about
    every book about the Internet focuses on some aspect of e-commerce, such as
    how to maximize the use of banner ads, how to grab and hold eyeballs, how to
    present product information dynamically.

    In 1999 Addison-Wesley published a truly marvelous book titled Refactoring: Improving the Design of Existing Code, by
    Martin Fowler. In it, Martin offers a systematic method for improving the
    quality of our code without affecting the interface to and behavior of that
    code. To demonstrate his techniques, the author offers a refreshing example:
    video rentals. Yet it still comes down to commerce. We are what we buy,
    not what we think and do with our lives outside of the exchange of items for

  • Humans as numbered entities: This is particularly true in
    database-related books (including my own!). Technology is presented through
    a medium of scenarios that represent--and manipulate--humans as numbers.
    Just about any Oracle text you pick up is dominated by "emp-dept" examples: a
    personnel application that talks about salaries, bonuses, and commissions,
    when you were hired, which department you belong to, the name of an employee
    based on an employee_id, and so on. The message, so clearly presented in this
    dominant theme, is that we are defined primarily as workers and our value in
    life is derived from the contribution we make to our employer.
  • Everything and anything as numbered entities: Hey, it's not just
    people! Technical examples extend the quantification approach to natural
    resources, information, entertainment, etc. Oracle also offers a standard
    demonstration base of tables and data for a sales/order entry system. This,
    of course, makes perfect sense in the world of Oracle--driven by the
    obsessive personality of Larry Ellison to sell, sell, sell software and
    services. (I own shares of Oracle stock and have benefitted directly from
    Larry's obsessions.)

    There are exceptions. Scott Urman's latest book on PL/SQL,
    Oracle8i Advanced PL/SQL Programming, uses a college
    registration system as his example base. Although many American colleges are
    overly focused on preparing young people for a life of drudgery in one job or
    another (and corporations are commercializing higher education to an alarming
    degree), I congratulate Scott on taking a road less traveled.

Breathing Life Into Technical Books

I could go on and on, but I think you get the drift. The bottom line for me
is that books written about technology are written by human beings with
perspectives and beliefs. Some of us center our lives around a particular
technology or around the business applications of that technology. Many of us
see the technology as one part of a rich, complex way of life--and dream of
ways that this technology can transform and improve human society and our
planet. I don't see what any of us gain--writers and readers alike--from the
unwritten but nonetheless rigorously followed rules that technical books must
conform to and further support the status quo in our society.